Merge branch 'backport' into work
[mikachu/openbox.git] / data / rc.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2
3 <!-- Do not edit this file, it will be overwritten on install.
4         Copy the file to $HOME/.config/openbox/ instead. -->
5
6 <openbox_config xmlns="http://openbox.org/3.4/rc">
7
8 <resistance>
9   <strength>10</strength>
10   <screen_edge_strength>20</screen_edge_strength>
11 </resistance>
12
13 <focus>
14   <focusNew>yes</focusNew>
15   <!-- always try to focus new windows when they appear. other rules do
16        apply -->
17   <followMouse>no</followMouse>
18   <!-- move focus to a window when you move the mouse into it -->
19   <focusLast>yes</focusLast>
20   <!-- focus the last used window when changing desktops, instead of the one
21        under the mouse pointer. when followMouse is enabled -->
22   <underMouse>no</underMouse>
23   <!-- move focus under the mouse, even when the mouse is not moving -->
24   <focusDelay>200</focusDelay>
25   <!-- when followMouse is enabled, the mouse must be inside the window for
26        this many milliseconds (1000 = 1 sec) before moving focus to it -->
27   <raiseOnFocus>no</raiseOnFocus>
28   <!-- when followMouse is enabled, and a window is given focus by moving the
29        mouse into it, also raise the window -->
30 </focus>
31
32 <placement>
33   <policy>Smart</policy>
34   <!-- 'Smart' or 'UnderMouse' -->
35   <center>yes</center>
36   <!-- whether to place windows in the center of the free area found or
37        the top left corner -->
38   <monitor>Any</monitor>
39   <!-- with Smart placement on a multi-monitor system, try to place new windows
40        on: 'Any' - any monitor, 'Mouse' - where the mouse is, 'Active' - where
41        the active window is -->
42 </placement>
43
44 <theme>
45   <name>Clearlooks</name>
46   <titleLayout>NLIMC</titleLayout>
47   <!--
48       available characters are NDSLIMC, each can occur at most once.
49       N: window icon
50       L: window label (AKA title).
51       I: iconify
52       M: maximize
53       C: close
54       S: shade (roll up/down)
55       D: omnipresent (on all desktops).
56   -->
57   <keepBorder>yes</keepBorder>
58   <animateIconify>yes</animateIconify>
59   <font place="ActiveWindow">
60     <name>sans</name>
61     <size>8</size>
62     <!-- font size in points -->
63     <weight>bold</weight>
64     <!-- 'bold' or 'normal' -->
65     <slant>normal</slant>
66     <!-- 'italic' or 'normal' -->
67   </font>
68   <font place="InactiveWindow">
69     <name>sans</name>
70     <size>8</size>
71     <!-- font size in points -->
72     <weight>bold</weight>
73     <!-- 'bold' or 'normal' -->
74     <slant>normal</slant>
75     <!-- 'italic' or 'normal' -->
76   </font>
77   <font place="MenuHeader">
78     <name>sans</name>
79     <size>9</size>
80     <!-- font size in points -->
81     <weight>normal</weight>
82     <!-- 'bold' or 'normal' -->
83     <slant>normal</slant>
84     <!-- 'italic' or 'normal' -->
85   </font>
86   <font place="MenuItem">
87     <name>sans</name>
88     <size>9</size>
89     <!-- font size in points -->
90     <weight>normal</weight>
91     <!-- 'bold' or 'normal' -->
92     <slant>normal</slant>
93     <!-- 'italic' or 'normal' -->
94   </font>
95   <font place="OnScreenDisplay">
96     <name>sans</name>
97     <size>9</size>
98     <!-- font size in points -->
99     <weight>bold</weight>
100     <!-- 'bold' or 'normal' -->
101     <slant>normal</slant>
102     <!-- 'italic' or 'normal' -->
103   </font>
104 </theme>
105
106 <desktops>
107   <!-- this stuff is only used at startup, pagers allow you to change them
108        during a session
109
110        these are default values to use when other ones are not already set
111        by other applications, or saved in your session
112
113        use obconf if you want to change these without having to log out
114        and back in -->
115   <number>4</number>
116   <firstdesk>1</firstdesk>
117   <names>
118     <!-- set names up here if you want to, like this:
119     <name>desktop 1</name>
120     <name>desktop 2</name>
121     -->
122   </names>
123   <popupTime>875</popupTime>
124   <!-- The number of milliseconds to show the popup for when switching
125        desktops.  Set this to 0 to disable the popup. -->
126 </desktops>
127
128 <resize>
129   <drawContents>yes</drawContents>
130   <popupShow>Nonpixel</popupShow>
131   <!-- 'Always', 'Never', or 'Nonpixel' (xterms and such) -->
132   <popupPosition>Center</popupPosition>
133   <!-- 'Center', 'Top', or 'Fixed' -->
134   <popupFixedPosition>
135     <!-- these are used if popupPosition is set to 'Fixed' -->
136
137     <x>10</x>
138     <!-- positive number for distance from left edge, negative number for
139          distance from right edge, or 'Center' -->
140     <y>10</y>
141     <!-- positive number for distance from top edge, negative number for
142          distance from bottom edge, or 'Center' -->
143   </popupFixedPosition>
144 </resize>
145
146 <!-- You can reserve a portion of your screen where windows will not cover when
147      they are maximized, or when they are initially placed.
148      Many programs reserve space automatically, but you can use this in other
149      cases. -->
150 <margins>
151   <top>0</top>
152   <bottom>0</bottom>
153   <left>0</left>
154   <right>0</right>
155 </margins>
156
157 <dock>
158   <position>TopLeft</position>
159   <!-- (Top|Bottom)(Left|Right|)|Top|Bottom|Left|Right|Floating -->
160   <floatingX>0</floatingX>
161   <floatingY>0</floatingY>
162   <noStrut>no</noStrut>
163   <stacking>Above</stacking>
164   <!-- 'Above', 'Normal', or 'Below' -->
165   <direction>Vertical</direction>
166   <!-- 'Vertical' or 'Horizontal' -->
167   <autoHide>no</autoHide>
168   <hideDelay>300</hideDelay>
169   <!-- in milliseconds (1000 = 1 second) -->
170   <showDelay>300</showDelay>
171   <!-- in milliseconds (1000 = 1 second) -->
172   <moveButton>Middle</moveButton>
173   <!-- 'Left', 'Middle', 'Right' -->
174 </dock>
175
176 <keyboard>
177   <chainQuitKey>C-g</chainQuitKey>
178
179   <!-- Keybindings for desktop switching -->
180   <keybind key="C-A-Left">
181     <action name="GoToDesktop"><to>left</to><wrap>no</wrap></action>
182   </keybind>
183   <keybind key="C-A-Right">
184     <action name="GoToDesktop"><to>right</to><wrap>no</wrap></action>
185   </keybind>
186   <keybind key="C-A-Up">
187     <action name="GoToDesktop"><to>up</to><wrap>no</wrap></action>
188   </keybind>
189   <keybind key="C-A-Down">
190     <action name="GoToDesktop"><to>down</to><wrap>no</wrap></action>
191   </keybind>
192   <keybind key="S-A-Left">
193     <action name="SendToDesktop"><to>left</to><wrap>no</wrap></action>
194   </keybind>
195   <keybind key="S-A-Right">
196     <action name="SendToDesktop"><to>right</to><wrap>no</wrap></action>
197   </keybind>
198   <keybind key="S-A-Up">
199     <action name="SendToDesktop"><to>up</to><wrap>no</wrap></action>
200   </keybind>
201   <keybind key="S-A-Down">
202     <action name="SendToDesktop"><to>down</to><wrap>no</wrap></action>
203   </keybind>
204   <keybind key="W-F1">
205     <action name="GoToDesktop"><to>1</to></action>
206   </keybind>
207   <keybind key="W-F2">
208     <action name="GoToDesktop"><to>2</to></action>
209   </keybind>
210   <keybind key="W-F3">
211     <action name="GoToDesktop"><to>3</to></action>
212   </keybind>
213   <keybind key="W-F4">
214     <action name="GoToDesktop"><to>4</to></action>
215   </keybind>
216   <keybind key="W-d">
217     <action name="ToggleShowDesktop"/>
218   </keybind>
219
220   <!-- Keybindings for windows -->
221   <keybind key="A-F4">
222     <action name="Close"/>
223   </keybind>
224   <keybind key="A-Escape">
225     <action name="Lower"/>
226     <action name="FocusToBottom"/>
227     <action name="Unfocus"/>
228   </keybind>
229   <keybind key="A-space">
230     <action name="ShowMenu"><menu>client-menu</menu></action>
231   </keybind>
232
233   <!-- Keybindings for window switching -->
234   <keybind key="A-Tab">
235     <action name="NextWindow">
236       <finalactions>
237         <action name="Focus"/>
238         <action name="Raise"/>
239         <action name="Unshade"/>
240       </finalactions>
241     </action>
242   </keybind>
243   <keybind key="A-S-Tab">
244     <action name="PreviousWindow">
245       <finalactions>
246         <action name="Focus"/>
247         <action name="Raise"/>
248         <action name="Unshade"/>
249       </finalactions>
250     </action>
251   </keybind>
252   <keybind key="C-A-Tab">
253     <action name="NextWindow">
254       <panels>yes</panels><desktop>yes</desktop>
255       <finalactions>
256         <action name="Focus"/>
257         <action name="Raise"/>
258         <action name="Unshade"/>
259       </finalactions>
260     </action>
261   </keybind>
262
263   <!-- Keybindings for running applications -->
264   <keybind key="W-e">
265     <action name="Execute">
266       <startupnotify>
267         <enabled>true</enabled>
268         <name>Konqueror</name>
269       </startupnotify>
270       <command>kfmclient openProfile filemanagement</command>
271     </action>
272   </keybind>
273 </keyboard>
274
275 <mouse>
276   <dragThreshold>8</dragThreshold>
277   <!-- number of pixels the mouse must move before a drag begins -->
278   <doubleClickTime>200</doubleClickTime>
279   <!-- in milliseconds (1000 = 1 second) -->
280   <screenEdgeWarpTime>400</screenEdgeWarpTime>
281   <!-- Time before changing desktops when the pointer touches the edge of the
282        screen while moving a window, in milliseconds (1000 = 1 second).
283        Set this to 0 to disable warping -->
284
285   <context name="Frame">
286     <mousebind button="A-Left" action="Press">
287       <action name="Focus"/>
288       <action name="Raise"/>
289     </mousebind>
290     <mousebind button="A-Left" action="Click">
291       <action name="Unshade"/>
292     </mousebind>
293     <mousebind button="A-Left" action="Drag">
294       <action name="Move"/>
295     </mousebind>
296
297     <mousebind button="A-Right" action="Press">
298       <action name="Focus"/>
299       <action name="Raise"/>
300       <action name="Unshade"/>
301     </mousebind>
302     <mousebind button="A-Right" action="Drag">
303       <action name="Resize"/>
304     </mousebind> 
305
306     <mousebind button="A-Middle" action="Press">
307       <action name="Lower"/>
308       <action name="FocusToBottom"/>
309       <action name="Unfocus"/>
310     </mousebind>
311
312     <mousebind button="A-Up" action="Click">
313       <action name="GoToDesktop"><to>previous</to></action>
314     </mousebind>
315     <mousebind button="A-Down" action="Click">
316       <action name="GoToDesktop"><to>next</to></action>
317     </mousebind>
318     <mousebind button="C-A-Up" action="Click">
319       <action name="GoToDesktop"><to>previous</to></action>
320     </mousebind>
321     <mousebind button="C-A-Down" action="Click">
322       <action name="GoToDesktop"><to>next</to></action>
323     </mousebind>
324     <mousebind button="A-S-Up" action="Click">
325       <action name="SendToDesktop"><to>previous</to></action>
326     </mousebind>
327     <mousebind button="A-S-Down" action="Click">
328       <action name="SendToDesktop"><to>next</to></action>
329     </mousebind>
330   </context>
331
332   <context name="Titlebar">
333     <mousebind button="Left" action="Press">
334       <action name="Focus"/>
335       <action name="Raise"/>
336     </mousebind>
337     <mousebind button="Left" action="Drag">
338       <action name="Move"/>
339     </mousebind>
340     <mousebind button="Left" action="DoubleClick">
341       <action name="ToggleMaximize"/>
342     </mousebind>
343
344     <mousebind button="Middle" action="Press">
345       <action name="Lower"/>
346       <action name="FocusToBottom"/>
347       <action name="Unfocus"/>
348     </mousebind>
349
350     <mousebind button="Up" action="Click">
351       <action name="if">
352         <shaded>no</shaded>
353         <then>
354           <action name="Shade"/>
355           <action name="FocusToBottom"/>
356           <action name="Unfocus"/>
357           <action name="Lower"/>
358         </then>
359       </action>
360     </mousebind>
361     <mousebind button="Down" action="Click">
362       <action name="if">
363         <shaded>yes</shaded>
364         <then>
365           <action name="Unshade"/>
366           <action name="Raise"/>
367         </then>
368       </action>
369     </mousebind>
370
371     <mousebind button="Right" action="Press">
372       <action name="Focus"/>
373       <action name="Raise"/>
374       <action name="ShowMenu"><menu>client-menu</menu></action>
375     </mousebind>
376   </context>
377
378   <context name="Top">
379     <mousebind button="Left" action="Press">
380       <action name="Focus"/>
381       <action name="Raise"/>
382       <action name="Unshade"/>
383     </mousebind>
384     <mousebind button="Left" action="Drag">
385       <action name="Resize"><edge>top</edge></action>
386     </mousebind>
387   </context>
388
389   <context name="Left">
390     <mousebind button="Left" action="Press">
391       <action name="Focus"/>
392       <action name="Raise"/>
393     </mousebind>
394     <mousebind button="Left" action="Drag">
395       <action name="Resize"><edge>left</edge></action>
396     </mousebind>
397   </context>
398
399   <context name="Right">
400     <mousebind button="Left" action="Press">
401       <action name="Focus"/>
402       <action name="Raise"/>
403     </mousebind>
404     <mousebind button="Left" action="Drag">
405       <action name="Resize"><edge>right</edge></action>
406     </mousebind>
407   </context>
408
409   <context name="Bottom">
410     <mousebind button="Left" action="Press">
411       <action name="Focus"/>
412       <action name="Raise"/>
413     </mousebind>
414     <mousebind button="Left" action="Drag">
415       <action name="Resize"><edge>bottom</edge></action>
416     </mousebind>
417
418     <mousebind button="Middle" action="Press">
419       <action name="Lower"/>
420       <action name="FocusToBottom"/>
421       <action name="Unfocus"/>
422     </mousebind>
423
424     <mousebind button="Right" action="Press">
425       <action name="Focus"/>
426       <action name="Raise"/>
427       <action name="ShowMenu"><menu>client-menu</menu></action>
428     </mousebind>
429   </context>
430
431   <context name="BLCorner">
432     <mousebind button="Left" action="Press">
433       <action name="Focus"/>
434       <action name="Raise"/>
435     </mousebind>
436     <mousebind button="Left" action="Drag">
437       <action name="Resize"><edge>bottomleft</edge></action>
438     </mousebind>
439   </context>
440
441   <context name="BRCorner">
442     <mousebind button="Left" action="Press">
443       <action name="Focus"/>
444       <action name="Raise"/>
445     </mousebind>
446     <mousebind button="Left" action="Drag">
447       <action name="Resize"><edge>bottomright</edge></action>
448     </mousebind>
449   </context>
450
451   <context name="TLCorner">
452     <mousebind button="Left" action="Press">
453       <action name="Focus"/>
454       <action name="Raise"/>
455       <action name="Unshade"/>
456     </mousebind>
457     <mousebind button="Left" action="Drag">
458       <action name="Resize"><edge>topleft</edge></action>
459     </mousebind>
460   </context>
461
462   <context name="TRCorner">
463     <mousebind button="Left" action="Press">
464       <action name="Focus"/>
465       <action name="Raise"/>
466       <action name="Unshade"/>
467     </mousebind>
468     <mousebind button="Left" action="Drag">
469       <action name="Resize"><edge>topright</edge></action>
470     </mousebind>
471   </context>
472
473   <context name="Client">
474     <mousebind button="Left" action="Press">
475       <action name="Focus"/>
476       <action name="Raise"/>
477     </mousebind>
478     <mousebind button="Middle" action="Press">
479       <action name="Focus"/>
480       <action name="Raise"/>
481     </mousebind>
482     <mousebind button="Right" action="Press">
483       <action name="Focus"/>
484       <action name="Raise"/>
485     </mousebind>
486   </context>
487
488   <context name="Icon">
489     <mousebind button="Left" action="Press">
490       <action name="Focus"/>
491       <action name="Raise"/>
492       <action name="Unshade"/>
493       <action name="ShowMenu"><menu>client-menu</menu></action>
494     </mousebind>
495     <mousebind button="Right" action="Press">
496       <action name="Focus"/>
497       <action name="Raise"/>
498       <action name="ShowMenu"><menu>client-menu</menu></action>
499     </mousebind>
500   </context>
501
502   <context name="AllDesktops">
503     <mousebind button="Left" action="Press">
504       <action name="Focus"/>
505       <action name="Raise"/>
506       <action name="Unshade"/>
507     </mousebind>
508     <mousebind button="Left" action="Click">
509       <action name="ToggleOmnipresent"/>
510     </mousebind>
511   </context>
512
513   <context name="Shade">
514     <mousebind button="Left" action="Press">
515       <action name="Focus"/>
516       <action name="Raise"/>
517     </mousebind>
518     <mousebind button="Left" action="Click">
519       <action name="ToggleShade"/>
520     </mousebind>
521   </context>
522
523   <context name="Iconify">
524     <mousebind button="Left" action="Press">
525       <action name="Focus"/>
526       <action name="Raise"/>
527     </mousebind>
528     <mousebind button="Left" action="Click">
529       <action name="Iconify"/>
530     </mousebind>
531   </context>
532
533   <context name="Maximize">
534     <mousebind button="Left" action="Press">
535       <action name="Focus"/>
536       <action name="Raise"/>
537       <action name="Unshade"/>
538     </mousebind>
539     <mousebind button="Middle" action="Press">
540       <action name="Focus"/>
541       <action name="Raise"/>
542       <action name="Unshade"/>
543     </mousebind>
544     <mousebind button="Right" action="Press">
545       <action name="Focus"/>
546       <action name="Raise"/>
547       <action name="Unshade"/>
548     </mousebind>
549     <mousebind button="Left" action="Click">
550       <action name="ToggleMaximize"/>
551     </mousebind>
552     <mousebind button="Middle" action="Click">
553       <action name="ToggleMaximize"><direction>vertical</direction></action>
554     </mousebind>
555     <mousebind button="Right" action="Click">
556       <action name="ToggleMaximize"><direction>horizontal</direction></action>
557     </mousebind>
558   </context>
559
560   <context name="Close">
561     <mousebind button="Left" action="Press">
562       <action name="Focus"/>
563       <action name="Raise"/>
564       <action name="Unshade"/>
565     </mousebind>
566     <mousebind button="Left" action="Click">
567       <action name="Close"/>
568     </mousebind>
569   </context>
570
571   <context name="Desktop">
572     <mousebind button="Up" action="Click">
573       <action name="GoToDesktop"><to>previous</to></action>
574     </mousebind>
575     <mousebind button="Down" action="Click">
576       <action name="GoToDesktop"><to>next</to></action>
577     </mousebind>
578
579     <mousebind button="A-Up" action="Click">
580       <action name="GoToDesktop"><to>previous</to></action>
581     </mousebind>
582     <mousebind button="A-Down" action="Click">
583       <action name="GoToDesktop"><to>next</to></action>
584     </mousebind>
585     <mousebind button="C-A-Up" action="Click">
586       <action name="GoToDesktop"><to>previous</to></action>
587     </mousebind>
588     <mousebind button="C-A-Down" action="Click">
589       <action name="GoToDesktop"><to>next</to></action>
590     </mousebind>
591
592     <mousebind button="Left" action="Press">
593       <action name="Focus"/>
594       <action name="Raise"/>
595     </mousebind>
596     <mousebind button="Right" action="Press">
597       <action name="Focus"/>
598       <action name="Raise"/>
599     </mousebind>
600   </context>
601
602   <context name="Root">
603     <!-- Menus -->
604     <mousebind button="Middle" action="Press">
605       <action name="ShowMenu"><menu>client-list-combined-menu</menu></action>
606     </mousebind> 
607     <mousebind button="Right" action="Press">
608       <action name="ShowMenu"><menu>root-menu</menu></action>
609     </mousebind>
610   </context>
611
612   <context name="MoveResize">
613     <mousebind button="Up" action="Click">
614       <action name="GoToDesktop"><to>previous</to></action>
615     </mousebind>
616     <mousebind button="Down" action="Click">
617       <action name="GoToDesktop"><to>next</to></action>
618     </mousebind>
619     <mousebind button="A-Up" action="Click">
620       <action name="GoToDesktop"><to>previous</to></action>
621     </mousebind>
622     <mousebind button="A-Down" action="Click">
623       <action name="GoToDesktop"><to>next</to></action>
624     </mousebind>
625   </context>
626 </mouse>
627
628 <menu>
629   <!-- You can specify more than one menu file in here and they are all loaded,
630        just don't make menu ids clash or, well, it'll be kind of pointless -->
631
632   <!-- default menu file (or custom one in $HOME/.config/openbox/) -->
633   <file>menu.xml</file>
634   <hideDelay>200</hideDelay>
635   <!-- if a press-release lasts longer than this setting (in milliseconds), the
636        menu is hidden again -->
637   <middle>no</middle>
638   <!-- center submenus vertically about the parent entry -->
639   <submenuShowDelay>100</submenuShowDelay>
640   <!-- this one is easy, time to delay before showing a submenu after hovering
641        over the parent entry -->
642   <applicationIcons>yes</applicationIcons>
643   <!-- controls if icons appear in the client-list-(combined-)menu -->
644   <manageDesktops>yes</manageDesktops>
645   <!-- show the manage desktops section in the client-list-(combined-)menu -->
646 </menu>
647
648 <applications>
649 <!--
650   # this is an example with comments through out. use these to make your
651   # own rules, but without the comments of course.
652
653   <application name="first element of window's WM_CLASS property (see xprop)"
654               class="second element of window's WM_CLASS property (see xprop)"
655                role="the window's WM_WINDOW_ROLE property (see xprop)">
656   # the name or the class can be set, or both. this is used to match
657   # windows when they appear. role can optionally be set as well, to
658   # further restrict your matches.
659
660   # the name, class, and role use simple wildcard matching such as those
661   # used by a shell. you can use * to match any characters and ? to match
662   # any single character.
663
664   # when multiple rules match a window, they will all be applied, in the
665   # order that they appear in this list
666
667
668     # each element can be left out or set to 'default' to specify to not 
669     # change that attribute of the window
670
671     <decor>yes</decor>
672     # enable or disable window decorations
673
674     <shade>no</shade>
675     # make the window shaded when it appears, or not
676
677     <position force="no">
678       # the position is only used if both an x and y coordinate are provided
679       # (and not set to 'default')
680       # when force is "yes", then the window will be placed here even if it
681       # says you want it placed elsewhere.  this is to override buggy
682       # applications who refuse to behave
683       <x>center</x>
684       # a number like 50, or 'center' to center on screen. use a negative number
685       # to start from the right (or bottom for <y>), ie -50 is 50 pixels from the
686       # right edge (or bottom).
687       <y>200</y>
688       <monitor>1</monitor>
689       # specifies the monitor in a xinerama setup.
690       # 1 is the first head, or 'mouse' for wherever the mouse is
691     </position>
692
693     <focus>yes</focus>
694     # if the window should try be given focus when it appears. if this is set
695     # to yes it doesn't guarantee the window will be given focus. some
696     # restrictions may apply, but Openbox will try to
697
698     <desktop>1</desktop>
699     # 1 is the first desktop, 'all' for all desktops
700
701     <layer>normal</layer>
702     # 'above', 'normal', or 'below'
703
704     <iconic>no</iconic>
705     # make the window iconified when it appears, or not
706
707     <skip_pager>no</skip_pager>
708     # asks to not be shown in pagers
709
710     <skip_taskbar>no</skip_taskbar>
711     # asks to not be shown in taskbars. window cycling actions will also
712     # skip past such windows
713
714     <fullscreen>yes</fullscreen>
715     # make the window in fullscreen mode when it appears
716
717     <maximized>true</maximized>
718     # 'Horizontal', 'Vertical' or boolean (yes/no)
719   </application>
720
721   # end of the example
722 -->
723 </applications>
724
725 </openbox_config>