Advertisement
Guest User

config.def.h

a guest
Aug 4th, 2013
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.32 KB | None | 0 0
  1. /* see LICENSE [<0;75;28Mfor 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 TILE
  19. #define ATTACH_ASIDE True
  20. #define FOLLOW_WINDOW True
  21. #define FOLLOW_MOUSE True
  22. #define CLICK_TO_FOCUS True
  23. #define FOCUS_BUTTON Button3
  24. #define BORDER_WIDTH 3
  25. #define FOCUS "#181818"
  26. #define UNFOCUS "#141414"
  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. { "dwb", -1, True, True },
  38. { "mplayer2", -1, True, False },
  39. { "pcmanfm", -1, True, True },
  40. { "nitrogen", -1, True, True },
  41. { "scratchpad", -1, False, True },
  42. };
  43.  
  44. /* helper for spawning shell commands */
  45. #define SHCMD(cmd) {.com = (const char*[]){"/bin/sh", "-c", cmd, NULL}}
  46.  
  47. /**
  48. * custom commands
  49. * must always end with ', NULL };'
  50. */
  51. static const char *menucmd[] = { "interrobang", NULL};
  52. static const char *gtkmenucmd[] = { "mygtkmenu", "/home/stephan/bin/.menu", NULL };
  53. static const char *filecmd[] = { "pcmanfm", NULL };
  54. static const char *termcmd[] = { "termite", NULL };
  55. static const char *webcmd[] = { "dwb", NULL };
  56. static const char *voldowncmd[] = { "dvol", "-d", "2", NULL };
  57. static const char *volupcmd[] = { "dvol", "-i", "2", NULL };
  58.  
  59. #define STR_EXPAND(tok) #tok
  60. #define STR(tok) STR_EXPAND(tok)
  61.  
  62. /* PRNTS: file name syntax
  63. * PRNTF: fullscreen print command
  64. * PRNTW: window print command */
  65. #define PRNTS "/home/stephan/monsterwm-$(date +'%H:%M-%d-%m-%Y').png, notify-send 'Screenshot taken'"
  66. #define PRNTF "ffcast -x "STR(DEFAULT_MONITOR)" % scrot -g %wx%h+%x+%y "PRNTS
  67. #define PRNTW "scrotwin "PRNTS
  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. /* modifierkey function argument */
  78. { MOD1, XK_p, spawn, {.com = menucmd}},
  79. { MOD1, XK_1, spawn, {.com = webcmd}},
  80. { MOD1, XK_3, spawn, {.com = filecmd}},
  81. { MOD1, XK_dead_acute, spawn, {.com = volupcmd}},
  82. { MOD1, XK_plus, spawn, {.com = voldowncmd}},
  83. { MOD1|SHIFT, XK_Return, spawn, {.com = termcmd}},
  84. { MOD1, XK_b, togglepanel, {NULL}},
  85. { MOD1, XK_BackSpace, focusurgent, {NULL}},
  86. { MOD1|SHIFT, XK_c, killclient, {NULL}},
  87. { MOD1, XK_j, next_win, {NULL}},
  88. { MOD1, XK_k, prev_win, {NULL}},
  89. { MOD1, XK_h, resize_master, {.i = -10}}, /* decrease size in px */
  90. { MOD1, XK_l, resize_master, {.i = +10}}, /* increase size in px */
  91. { MOD1, XK_o, resize_stack, {.i = -10}}, /* shrink size in px */
  92. { MOD1, XK_i, resize_stack, {.i = +10}}, /* grow size in px */
  93. { MOD1|CONTROL, XK_h, rotate, {.i = -1}},
  94. { MOD1|CONTROL, XK_l, rotate, {.i = +1}},
  95. { MOD1|SHIFT, XK_h, rotate_filled, {.i = -1}},
  96. { MOD1|SHIFT, XK_l, rotate_filled, {.i = +1}},
  97. { MOD1, XK_Tab, last_desktop, {NULL}},
  98. { MOD1, XK_m, swap_master, {NULL}},
  99. { MOD1|SHIFT, XK_j, move_down, {NULL}},
  100. { MOD1|SHIFT, XK_k, move_up, {NULL}},
  101. { MOD1|SHIFT, XK_t, switch_mode, {.i = TILE}},
  102. { MOD1|SHIFT, XK_m, switch_mode, {.i = MONOCLE}},
  103. { MOD1|SHIFT, XK_b, switch_mode, {.i = BSTACK}},
  104. { MOD1|SHIFT, XK_g, switch_mode, {.i = GRID}},
  105. { MOD1|SHIFT, XK_f, switch_mode, {.i = FLOAT}},
  106. { MOD1|CONTROL, XK_r, quit, {.i = 0}}, /* quit with exit value 0 */
  107. { MOD1|CONTROL, XK_q, quit, {.i = 1}}, /* quit with exit value 1 */
  108. { CONTROL, XK_Down, moveresize, {.v = (int []){ 0, 40, 0, 0 }}}, /* move down*/
  109. { CONTROL, XK_Up, moveresize, {.v = (int []){ 0, -40, 0, 0 }}}, /* move up */
  110. { CONTROL, XK_Right, moveresize, {.v = (int []){ 40, 0, 0, 0 }}}, /* move right */
  111. { CONTROL, XK_Left, moveresize, {.v = (int []){ -40, 0, 0, 0 }}}, /* move left */
  112. { MOD5,XK_k, moveresize, {.v = (int []){ 0, 0, 0, 40 }}}, /* height grow */
  113. { MOD5,XK_i, moveresize, {.v = (int []){ 0, 0, 0, -40 }}}, /* height shrink */
  114. { MOD5,XK_l, moveresize, {.v = (int []){ 0, 0, 40, 0 }}}, /* width grow */
  115. { MOD5,XK_j, moveresize, {.v = (int []){ 0, 0, -40, 0 }}}, /* width shrink */
  116. DESKTOPCHANGE( XK_F1, 0)
  117. DESKTOPCHANGE( XK_F2, 1)
  118. DESKTOPCHANGE( XK_F3, 2)
  119. { MOD1|SHIFT, XK_Print, spawn, SHCMD(PRNTF) },
  120. { MOD1, XK_Print, spawn, SHCMD(PRNTW) },
  121. { MOD5, XK_F10, togglefullscreen, {NULL}},
  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