Advertisement
Y99drasil

monsterwm/config.h

Mar 1st, 2013
128
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
VIM 6.40 KB | None | 0 0
  1. /* see LICENSE for copyright and license */
  2.  
  3. #ifndef CONFIG_H
  4. #define CONFIG_H
  5.  
  6. /** modifiers **/
  7. #define MOD1            Mod1Mask
  8. #define MOD4            Mod4Mask
  9. #define MOD5            Mod5Mask
  10. #define CONTROL         ControlMask
  11. #define SHIFT           ShiftMask
  12.  
  13. /** generic settings **/
  14. #define MASTER_SIZE     0.76
  15. #define SHOW_PANEL      True
  16. #define TOP_PANEL       True
  17. #define PANEL_HEIGHT    16
  18. #define DEFAULT_MODE    GRID  
  19. #define ATTACH_ASIDE    True
  20. #define FOLLOW_WINDOW   False
  21. #define FOLLOW_MOUSE    False
  22. #define CLICK_TO_FOCUS  True
  23. #define FOCUS_BUTTON    Button3
  24. #define BORDER_WIDTH    1
  25. #define FOCUS           "#6B6B6B"
  26. #define UNFOCUS         "#444444"
  27. #define MINWSZ          50
  28. #define DEFAULT_DESKTOP 0
  29. #define DESKTOPS        4
  30.  
  31. /**
  32.  * open applications to specified desktop with specified mode.
  33.  * if desktop is negative, then current is assumed
  34.  */
  35. static const AppRule rules[] = { \
  36.     /*  class     desktop  follow  float */
  37.     { "URxvt",      0,     True,   False },
  38.     { "Pidgin",     1,     False,  True  },
  39.     { "Gimp",       3,     False,  True  },
  40.     { "Firefox",    1,     True,   False },
  41.     { "mplayer",    0,     True,   False },
  42.     { "Thunar",    -1,     True,   True  },
  43.     { "PSX",        3,     True,   True  },
  44.     { "nitrogen",  -1,     True,   True  },
  45.     { "wine",       3,     True,   True  },
  46.     { "winecfg",   -1,     True,   True  },
  47.     { "Steam",      3,     False,  True  },
  48.     { "hl2_linux",  3,     False,  True  },
  49.     { "scratchpad", -1,    False,  True  },
  50. };
  51.  
  52. /* helper for spawning shell commands */
  53. #define SHCMD(cmd) {.com = (const char*[]){"/bin/sh", "-c", cmd, NULL}}
  54.  
  55. /**
  56.  * custom commands
  57.  * must always end with ', NULL };'
  58.  */
  59. static const char *menucmd[]       = { "dmenu_run", "-fn", "anorexia-9", NULL};
  60. static const char *gtkmenucmd[]    = { "mygtkmenu", "/home/shn/.menu", NULL };
  61. static const char *filecmd[]       = { "thunar", NULL };
  62. static const char *termcmd[]       = { "urxvt", NULL };
  63. static const char *webcmd[]    = { "firefox", NULL };
  64. static const char *lolicmd[]       = { "lolictrl", NULL };
  65. static const char *mpdcmd[]        = { "lolimpdnu", NULL };
  66. static const char *voldowncmd[]    = { "dvol", "-d", "2", NULL };
  67. static const char *volupcmd[]      = { "dvol", "-i", "2", NULL };
  68.  
  69. #define DESKTOPCHANGE(K,N) \
  70.     {  MOD1,             K,              change_desktop, {.i = N}}, \
  71.     {  MOD1|ShiftMask,   K,              client_to_desktop, {.i = N}},
  72.  
  73. /**
  74.  * keyboard shortcuts
  75.  */
  76. static Key keys[] = {
  77.     /* modifier     key            function           argument */
  78.     {  CONTROL,         XK_d,          spawn,             {.com = lolicmd}},
  79.     {  CONTROL,         XK_l,          spawn,             {.com = mpdcmd}},
  80.     {  MOD1,            XK_r,          spawn,             {.com = menucmd}},
  81.     {  MOD1,            XK_w,          spawn,             {.com = webcmd}},
  82.     {  MOD1,            XK_t,          spawn,             {.com = filecmd}},
  83.     {  MOD1,            XK_p,          spawn,             {.com = volupcmd}},
  84.     {  MOD1,            XK_n,          spawn,             {.com = voldowncmd}},
  85.     {  MOD1|SHIFT,      XK_Return,     spawn,             {.com = termcmd}},
  86.     {  MOD1,            XK_b,          togglepanel,       {NULL}},
  87.     {  MOD1,            XK_BackSpace,  focusurgent,       {NULL}},
  88.     {  MOD1|SHIFT,      XK_c,          killclient,        {NULL}},
  89.     {  MOD1,            XK_j,          next_win,          {NULL}},
  90.     {  MOD1,            XK_k,          prev_win,          {NULL}},
  91.     {  MOD1,            XK_h,          resize_master,     {.i = -10}}, /* decrease size in px */
  92.     {  MOD1,            XK_l,          resize_master,     {.i = +10}}, /* increase size in px */
  93.     {  MOD1,            XK_o,          resize_stack,      {.i = -10}}, /* shrink   size in px */
  94.     {  MOD1,            XK_i,          resize_stack,      {.i = +10}}, /* grow     size in px */
  95.     {  MOD1|CONTROL,    XK_h,          rotate,            {.i = -1}},
  96.     {  MOD1|CONTROL,    XK_l,          rotate,            {.i = +1}},
  97.     {  MOD1|SHIFT,      XK_h,          rotate_filled,     {.i = -1}},
  98.     {  MOD1|SHIFT,      XK_l,          rotate_filled,     {.i = +1}},
  99.     {  MOD1,            XK_Tab,        last_desktop,      {NULL}},
  100.     {  MOD1,            XK_m,          swap_master,       {NULL}},
  101.     {  MOD1|SHIFT,      XK_j,          move_down,         {NULL}},
  102.     {  MOD1|SHIFT,      XK_k,          move_up,           {NULL}},
  103.     {  MOD1|SHIFT,      XK_t,          switch_mode,       {.i = TILE}},
  104.     {  MOD1|SHIFT,      XK_m,          switch_mode,       {.i = MONOCLE}},
  105.     {  MOD1|SHIFT,      XK_b,          switch_mode,       {.i = BSTACK}},
  106.     {  MOD1|SHIFT,      XK_g,          switch_mode,       {.i = GRID}},
  107.     {  MOD1|SHIFT,      XK_f,          switch_mode,       {.i = FLOAT}},
  108.     {  MOD1|CONTROL,    XK_r,          quit,              {.i = 0}}, /* quit with exit value 0 */
  109.     {  MOD1|CONTROL,    XK_q,          quit,              {.i = 1}}, /* quit with exit value 1 */
  110.     {  CONTROL,         XK_Down,       moveresize,        {.v = (int []){   0,  40,   0,   0 }}}, /* move down*/
  111.     {  CONTROL,         XK_Up,         moveresize,        {.v = (int []){   0, -40,   0,   0 }}}, /* move up */
  112.     {  CONTROL,         XK_Right,      moveresize,        {.v = (int []){  40,   0,   0,   0 }}}, /* move right */
  113.     {  CONTROL,         XK_Left,       moveresize,        {.v = (int []){ -40,   0,   0,   0 }}}, /* move left  */
  114.     {  MOD5,        XK_k,          moveresize,        {.v = (int []){   0,   0,   0,  40 }}}, /* height grow   */
  115.     {  MOD5,        XK_i,          moveresize,        {.v = (int []){   0,   0,   0, -40 }}}, /* height shrink */
  116.     {  MOD5,        XK_l,          moveresize,        {.v = (int []){   0,   0,  40,   0 }}}, /* width grow    */
  117.     {  MOD5,        XK_j,          moveresize,        {.v = (int []){   0,   0, -40,   0 }}}, /* width shrink  */
  118.        DESKTOPCHANGE(   XK_1,                      0)
  119.        DESKTOPCHANGE(   XK_2,                      1)
  120.        DESKTOPCHANGE(   XK_3,                      2)
  121.        DESKTOPCHANGE(   XK_4,                      3)
  122. };
  123.  
  124. /**
  125.  * mouse shortcuts
  126.  */
  127. static Button buttons[] = {
  128.     {  MOD1,    Button1,     mousemotion,   {.i = MOVE}},
  129.     {  MOD1,    Button3,     mousemotion,   {.i = RESIZE}},
  130.     {  CONTROL, Button3,     spawn,         {.com = gtkmenucmd}},
  131. };
  132. #endif
  133.  
  134. /* vim: set expandtab ts=4 sts=4 sw=4 : */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement