autoproperties 6.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249
  1. /*
  2. Autoproperties. The default template and simple course of autopropping
  3. to help you add your own autoproperties. See the documentation for
  4. more keywords and the rest of what is possible through this file.
  5. First, it's good to note that you can't just make up the property
  6. string, you need to use a program called 'xprop' to show it. Please
  7. conduct the documentation.
  8. Another good tip is to make sure you have an ApplyOn entry. The
  9. autoproperties you define won't do any good if you don't tell pekwm
  10. when to apply them!
  11. Third tip. You can't match a window with more than one property. The
  12. first one that matches will be used, the rest ignored (see the gimp
  13. example).
  14. Note that the default entries are commented out, don't comment out your
  15. own autoproperties. :)
  16. */
  17. Require {
  18. Templates = "True"
  19. }
  20. /*
  21. Group terminal applications
  22. */
  23. # Property = "(term|rxvt),(erm|xvt)" {
  24. # ApplyOn = "New"
  25. # Group = "term" {
  26. # Size = "5"
  27. # FocusedFirst = "True"
  28. # Raise = "True"
  29. # }
  30. # }
  31. /*
  32. Remove decor of customize toolbar window of mozilla firefox.
  33. */
  34. Property = "^(gecko|Gecko|firefox-bin),^Firefox-bin,,^Customize Toolbar\$" {
  35. ApplyOn = "Start New TransientOnly"
  36. Border = "False"
  37. Titlebar = "False"
  38. }
  39. /*
  40. Auto-group up to 10 mozilla download windows to group you call "moz-dl",
  41. using a WM_CLASS and specifying the the download window using the
  42. begining of its title. Make the windows go to the top-left corner of
  43. your workspace and place them under other windows. Do this when new
  44. windows show up, also to so called transient windows.
  45. */
  46. # Property = "^mozilla-bin,^Mozilla-bin,,^Saving" {
  47. # ApplyOn = "New Transient"
  48. # Group = "moz-dl" { Size = "10" }
  49. # FrameGeometry = "+0+0"
  50. # Layer = "Below"
  51. # }
  52. /*
  53. Group together up to two windows that have a WM_CLASS that matches the
  54. property. Start these windows on workspace two.
  55. */
  56. # Property = "^Mozilla,^navigator:browser" {
  57. # ApplyOn = "Start New Workspace"
  58. # Workspace = "2"
  59. # }
  60. /*
  61. Group together an infinite number of windows that match the property.
  62. When new windows are opened to this group, never make them the active
  63. window of the group, but open them in the background. Make these
  64. autoproperties apply on every pekwm start or when a new window is opened.
  65. */
  66. # Property = "^dillo,^Dillo" {
  67. # ApplyOn = "Start New"
  68. # Group = "dillo" { Size = "0"; Behind = "True" }
  69. # }
  70. /*
  71. Put property matching windows under other windows and make the window
  72. appear on every workspace. Do not show matching windows on the pekwm
  73. goto menus, do not include them in frame switching (mod1+tab) and do
  74. not let other windows snap to them. Do this on pekwm start or when new
  75. window is opened, also include transient windows (in the example,
  76. xmms playlist and equalizer are transients).
  77. */
  78. # Property = ".*,^xmms" {
  79. # ApplyOn = "Start New Transient"
  80. # Layer = "Desktop"
  81. # Sticky = "True"
  82. # Skip = "Menus FocusToggle Snap"
  83. # }
  84. /*
  85. Remove Gimp windows from the menus, only show the main toolbox window.
  86. Use the WM_WINDOW_ROLE to tell the difference between gimp windows.
  87. First make sure the toolbox window doesn't get confused with the rest
  88. of the windows. This just tells pekwm to ignore any matches for the
  89. toolbox later on. Without this, the toolbox would match with "the rest
  90. of the windows" and get ignored from the pekwm menus! We don't want that.
  91. */
  92. # Property = "^gimp,^Gimp,gimp-toolbox" {
  93. # ApplyOn = "Start New"
  94. # }
  95. /*
  96. The Crop dialog always gets in the way, put it in the corner but place
  97. it above other windows anyways. Don't show the window in pekwm menus.
  98. */
  99. # Property = "^gimp,^Gimp,gimp-crop-tool" {
  100. # ApplyOn = "Start New"
  101. # Layer = "OnTop"
  102. # FrameGeometry = "+0+0"
  103. # Skip = "Menus"
  104. # }
  105. /*
  106. The rest of the gimp windows should not show in pekwm menus eather.
  107. */
  108. # Property = ".gimp,^Gimp" {
  109. # ApplyOn = "Start New"
  110. # Skip = "Menus";
  111. # }
  112. /*
  113. This should start making sense to you by now.
  114. */
  115. # Property = "^gkrellm,^Gkrellm" {
  116. # ApplyOn = "Start New"
  117. # Sticky = "True"
  118. # Skip = "Menus FocusToggle"
  119. # Layer = "Desktop"
  120. # }
  121. /*
  122. Some useful standard application xclock xload and xbiff. This should
  123. be fairly clear to you. In addition to what you've allready learned,
  124. we make the windows appear without titlebars and borders. We are also
  125. using the geometry in all its glory, defining the windows size in
  126. addition to its position.
  127. */
  128. # Property = "^xclock,^XClock" {
  129. # ApplyOn = "Start New"
  130. # ClientGeometry = "120x137+0-137"
  131. # Border = "False"; Titlebar = "False"
  132. # Sticky = "True"
  133. # Layer = "Desktop"
  134. # Skip = "Menus FocusToggle Snap"
  135. # }
  136. #
  137. # Property = "^xload,^XLoad" {
  138. # ApplyOn = "Start New"
  139. # ClientGeometry = "560x137+120-137"
  140. # Border = "False"; Titlebar = "False"
  141. # Sticky = "True"
  142. # Layer = "Desktop"
  143. # Skip = "Menus FocusToggle Snap"
  144. # }
  145. #
  146. # Property = "^xbiff,^XBiff" {
  147. # ApplyOn = "Start New"
  148. # ClientGeometry = "120x137-120-137"
  149. # Border = "False"; Titlebar = "False"
  150. # Sticky = "True"
  151. # Layer = "Desktop"
  152. # Skip = "Menus FocusToggle Snap"
  153. # }
  154. // End of autoproperties. -------------------------
  155. TypeRules {
  156. INCLUDE = "$_PEKWM_ETC_PATH/autoproperties_typerules"
  157. }
  158. /*
  159. Next, we do some siple window title rewriting.
  160. To make it simple, you can automatically make some windows get their
  161. title edited. Cut out an annoying piece, add text, replace text.
  162. This all happens in it's own section "TitleRules {}".
  163. I don't like the way dillo uses its titlebar, it says "Dillo: webpage".
  164. I want that "Dillo:" part to not show in the beginning, instead I want
  165. to make it show as "webpage - dillo".
  166. Then again, the "webpage - Mozilla Firefox" is too long for my taste.
  167. I shorten it in the second titlerule. And I'll place the shortened text
  168. in the beginning of the title just as a show how.
  169. */
  170. # TitleRules {
  171. # Property = "^dillo,^Dillo" {
  172. # Rule = "/Dillo: (.*)/\\1 - dillo/"
  173. # }
  174. # Property = "^firefox-bin,^Firefox-bin" {
  175. # Rule = "/(.*) - Mozilla Firefox/MF: \\1/"
  176. # }
  177. # }
  178. // End of titlerules. -----------------------------
  179. /*
  180. Then for some harbour ordering done in it's own "Harbour {}" section.
  181. This is simple really, but you might want to check the documentation on
  182. how the positions work.
  183. Obpager is allways the last dockapp, the cpuload application is the
  184. first, and wmnd will get placed in the centre.
  185. */
  186. # Harbour {
  187. # Property = "^obpager,^obpager" {
  188. # Position = "-1"
  189. # }
  190. # Property = ".*,.*cpuload" {
  191. # Position = "1"
  192. # }
  193. # Property = ".*,^wmnd" {
  194. # Position = "0"
  195. # }
  196. # }
  197. // End of harbour order rules. --------------------
  198. /*
  199. Last, if you have a theme that supports it, or you have hacked one up
  200. yourself, you can use the "DecorRules {}" section to make windows show
  201. up with independent decorations.
  202. Here we tell our terminal windows to use the special TERM decoration
  203. section found from your theme. Note that this _needs_ a theme that
  204. supports it.
  205. */
  206. # DecorRules {
  207. # Property = "^term,^xterm" {
  208. # Decor = "TERM"
  209. # }
  210. # }