/***********************
 * RYUDO CONFIGURATION *
 **********************/

/***************
 * LOOK & FEEL *
 **************/
 
/* Border colors */
#define SBORDERCOL 0x17736C
#define BORDERCOL 0x000000

/* Window sweep border color */
#define GHOSTCOL 0x797979

/* Hold mode border colors -- if you don't use 9term you don't need to
 * care what these are
 */
#define SHOLDCOL 0xC8C8C8
#define HOLDCOL 0x444444

/* Border width in pixels */
#define BORDER 4

/* Gap size, in pixels, for pseudo-tiling. Should be even */
#define GAPSZ 4

/* Menu border width and color */
#define MENUBORDER 0
#define MBORDERCOL 0x000000

/* Normal menu colors */
#define MENUFGCOL 0x797979
#define MENUBGCOL 0x000000

/* Selected menu colors */
#define SMENUFGCOL 0x000000
#define SMENUBGCOL 0x1F9B92

// clang-format off

/* List of fonts to try, in order, for rendering the menus.
 * Remember the backslash at the end of non-terminating lines!
 */

#define FONTLIST {                          \
    "*-lucidatypewriter-medium-*-12-*-75-*",\
    "lucm.latin1.9",                        \
    "blit",                                 \
    "*-lucidatypewriter-bold-*-14-*-75-*",  \
    "9x15bold",                             \
    "fixed",                                \
    "*",                                    \
    0                                       \
  }

/* Names for the virtual desktops. You can define all 12, or only
 * as many as you use.
 * Remember the backslash at the end of non-terminating lines!
 */

#define VIRTUALLIST {\
  "One",             \
  "Two",             \
  "Three",           \
  "Four",            \
  "Five",            \
  "Six",             \
  "Seven",           \
  "Eight",           \
  "Nine",            \
  "Ten",             \
  "Eleven",          \
  "Twelve",          \
  0                  \
}

// clang-format on
  
/************
 * BEHAVIOR *
 ***********/

/* This sets the size ratio for windows spawned via keyboard or
 * center-snapped; CENTERNUM should be >= 2, so use 2/4 instead of 1/2
 */
#define CENTERNUM 2
#define CENTERDEN 3

/* Centered windows should maximize vertically by default?
 * This is the behavior of new windows spawned with the launch shortcut
 * and of centered windows with SHORTCUTMOD + SNAPCENTER_KEY --
 * use SHORTCUTMOD + SHIFT + SNAPCENTER_KEY to get the other behavior.
 */
#define CENTERVMAX

/* Show 'Stick' menuitem? */
//#define SHOWSTICK

/* Notify on virtual desktop switch? */
#define VIRTNOTIFY

/* The summary and message to pass to the notifcation daeomon */
#define VIRTHEADER "virtual"
#define VIRTMSG "[%s]"

// clang-format off

/* List of window classes to spawn as sticky;
 * Class values for currently open windows are conveniently shown in the last
 * column of the 'xshove' command given with no arguments.
 * Remember the backslash at the end of non-terminating lines!
 */

/* You can remove/comment the entire macro to improve performance if you
 * don't use this feature!
 */

#define AUTOSTICK {\
   "XOsview",      \
   "XClock",       \
    0              \
}

// clang-format on

/***************
 * KEYBINDINGS *
 **************/

/* Modifier key and associated modifier bits;
 * Shift = (1<<0)
 * Lock = (1<<1)
 * Control = (1<<2)
 * Mod1 = (1<<3)
 * Mod2 = (1<<4)
 * Mod3 = (1<<5)
 * Mod4 = (1<<6)
 * Mod5 = (1<<7)
 */
 
#define SHORTCUTMOD Mod4Mask
#define MODBITS (1 << 6)

/* Shortcut keys */
/* Any of these can be commented out/omitted if you want to free up
 * your keyboard shortcuts for other things. Alt-tab is always bound.
 */
 
#define MAX_KEY XK_m
#define ICON_KEY XK_i
#define UNHIDE_KEY XK_u
#define MOVE_KEY XK_v
#define RESIZE_KEY XK_r
#define DESTROY_KEY XK_d
#define STICK_KEY XK_s
#define ZOOM_KEY XK_z

#define SNAPLEFT_KEY XK_h
#define SNAPRIGHT_KEY XK_l
#define SNAPTOP_KEY XK_k
#define SNAPBOTTOM_KEY XK_j

#define SNAPTOPLEFT_KEY XK_q
#define SNAPBOTTOMLEFT_KEY XK_w
#define SNAPBOTTOMRIGHT_KEY XK_o
#define SNAPTOPRIGHT_KEY XK_p

#define SNAPCENTER_KEY XK_c

#define NEXTVIRT_KEY XK_Right
#define PREVVIRT_KEY XK_Left

#define LAUNCH_KEY XK_slash

// ignore these for now -- this is a feature in development
#define STICKYTOFRONT_KEY XK_t
#define STICKYTOBACK_KEY XK_b
