You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

87 lines
3.7 KiB

18 years ago
  1. /* (C)opyright MMVI-MMVII Anselm R. Garbe <garbeam at gmail dot com>
  2. * See LICENSE file for license details.
  3. */
  4. #define TAGS \
  5. const char *tags[] = { "1", "2", "3", "4", "5", "6", "7", "8", "9", NULL };
  6. #define DEFMODE dotile /* dofloat */
  7. #define FLOATSYMBOL "><>"
  8. #define TILESYMBOL "[]="
  9. #define FONT "-*-fixed-medium-r-normal-*-13-*-*-*-*-*-*-*"
  10. #define NORMBORDERCOLOR "#dddddd"
  11. #define NORMBGCOLOR "#eeeeee"
  12. #define NORMFGCOLOR "#222222"
  13. #define SELBORDERCOLOR "#ff0000"
  14. #define SELBGCOLOR "#006699"
  15. #define SELFGCOLOR "#ffffff"
  16. #define MASTER 600 /* per thousand */
  17. #define MODKEY Mod1Mask
  18. #define NMASTER 1 /* clients in master area */
  19. #define SNAP 20 /* pixel */
  20. #define KEYS \
  21. static Key key[] = { \
  22. /* modifier key function argument */ \
  23. { MODKEY|ShiftMask, XK_Return, spawn, { .cmd = "exec xterm" } }, \
  24. { MODKEY, XK_Tab, focusnext, { 0 } }, \
  25. { MODKEY|ShiftMask, XK_Tab, focusprev, { 0 } }, \
  26. { MODKEY, XK_Return, zoom, { 0 } }, \
  27. { MODKEY, XK_g, resizemaster, { .i = 15 } }, \
  28. { MODKEY, XK_s, resizemaster, { .i = -15 } }, \
  29. { MODKEY, XK_i, incnmaster, { .i = 1 } }, \
  30. { MODKEY, XK_d, incnmaster, { .i = -1 } }, \
  31. { MODKEY|ShiftMask, XK_0, tag, { .i = -1 } }, \
  32. { MODKEY|ShiftMask, XK_1, tag, { .i = 0 } }, \
  33. { MODKEY|ShiftMask, XK_2, tag, { .i = 1 } }, \
  34. { MODKEY|ShiftMask, XK_3, tag, { .i = 2 } }, \
  35. { MODKEY|ShiftMask, XK_4, tag, { .i = 3 } }, \
  36. { MODKEY|ShiftMask, XK_5, tag, { .i = 4 } }, \
  37. { MODKEY|ShiftMask, XK_6, tag, { .i = 5 } }, \
  38. { MODKEY|ShiftMask, XK_7, tag, { .i = 6 } }, \
  39. { MODKEY|ShiftMask, XK_8, tag, { .i = 7 } }, \
  40. { MODKEY|ShiftMask, XK_9, tag, { .i = 8 } }, \
  41. { MODKEY|ControlMask|ShiftMask, XK_1, toggletag, { .i = 0 } }, \
  42. { MODKEY|ControlMask|ShiftMask, XK_2, toggletag, { .i = 1 } }, \
  43. { MODKEY|ControlMask|ShiftMask, XK_3, toggletag, { .i = 2 } }, \
  44. { MODKEY|ControlMask|ShiftMask, XK_4, toggletag, { .i = 3 } }, \
  45. { MODKEY|ControlMask|ShiftMask, XK_5, toggletag, { .i = 4 } }, \
  46. { MODKEY|ControlMask|ShiftMask, XK_6, toggletag, { .i = 5 } }, \
  47. { MODKEY|ControlMask|ShiftMask, XK_7, toggletag, { .i = 6 } }, \
  48. { MODKEY|ControlMask|ShiftMask, XK_8, toggletag, { .i = 7 } }, \
  49. { MODKEY|ControlMask|ShiftMask, XK_9, toggletag, { .i = 8 } }, \
  50. { MODKEY|ShiftMask, XK_c, killclient, { 0 } }, \
  51. { MODKEY, XK_space, togglemode, { 0 } }, \
  52. { MODKEY|ShiftMask, XK_space, togglefloat, { 0 } }, \
  53. { MODKEY, XK_0, view, { .i = -1 } }, \
  54. { MODKEY, XK_1, view, { .i = 0 } }, \
  55. { MODKEY, XK_2, view, { .i = 1 } }, \
  56. { MODKEY, XK_3, view, { .i = 2 } }, \
  57. { MODKEY, XK_4, view, { .i = 3 } }, \
  58. { MODKEY, XK_5, view, { .i = 4 } }, \
  59. { MODKEY, XK_6, view, { .i = 5 } }, \
  60. { MODKEY, XK_7, view, { .i = 6 } }, \
  61. { MODKEY, XK_8, view, { .i = 7 } }, \
  62. { MODKEY, XK_9, view, { .i = 8 } }, \
  63. { MODKEY|ControlMask, XK_1, toggleview, { .i = 0 } }, \
  64. { MODKEY|ControlMask, XK_2, toggleview, { .i = 1 } }, \
  65. { MODKEY|ControlMask, XK_3, toggleview, { .i = 2 } }, \
  66. { MODKEY|ControlMask, XK_4, toggleview, { .i = 3 } }, \
  67. { MODKEY|ControlMask, XK_5, toggleview, { .i = 4 } }, \
  68. { MODKEY|ControlMask, XK_6, toggleview, { .i = 5 } }, \
  69. { MODKEY|ControlMask, XK_7, toggleview, { .i = 6 } }, \
  70. { MODKEY|ControlMask, XK_8, toggleview, { .i = 7 } }, \
  71. { MODKEY|ControlMask, XK_9, toggleview, { .i = 8 } }, \
  72. { MODKEY|ShiftMask, XK_q, quit, { 0 } }, \
  73. };
  74. /* Query class:instance:title for regex matching info with following command:
  75. * xprop | awk -F '"' '/^WM_CLASS/ { printf("%s:%s:",$4,$2) }; /^WM_NAME/ { printf("%s\n",$2) }' */
  76. #define RULES \
  77. static Rule rule[] = { \
  78. /* class:instance:title regex tags regex isfloat */ \
  79. { "Firefox.*", "2", False }, \
  80. { "Gimp.*", NULL, True }, \
  81. };