<!-- Do not edit this file, it will be overwritten on install.
Copy the file to $HOME/.config/openbox/ instead. -->
-<openbox_config xmlns="http://openbox.org/3.4/rc">
+<openbox_config xmlns="http://openbox.org/3.4/rc"
+ xmlns:xi="http://www.w3.org/2001/XInclude">
<resistance>
<strength>10</strength>
<placement>
<policy>Smart</policy>
<!-- 'Smart' or 'UnderMouse' -->
- <center>yes</center>
- <!-- whether to place windows in the center of the free area found or
- the top left corner -->
- <monitor>Any</monitor>
+ <monitor>Primary</monitor>
<!-- with Smart placement on a multi-monitor system, try to place new windows
on: 'Any' - any monitor, 'Mouse' - where the mouse is, 'Active' - where
- the active window is -->
+ the active window is, 'Primary' - only on the primary monitor -->
+ <primaryMonitor>1</primaryMonitor>
+ <!-- The monitor where Openbox should place popup dialogs such as the
+ focus cycling popup, or the desktop switch popup. It can be an index
+ from 1, specifying a particular monitor. Or it can be one of the
+ following: 'Mouse' - where the mouse is, or
+ 'Active' - where the active window is -->
</placement>
<theme>
<slant>normal</slant>
<!-- 'italic' or 'normal' -->
</font>
- <font place="OnScreenDisplay">
+ <font place="ActiveOnScreenDisplay">
+ <name>sans</name>
+ <size>9</size>
+ <!-- font size in points -->
+ <weight>bold</weight>
+ <!-- 'bold' or 'normal' -->
+ <slant>normal</slant>
+ <!-- 'italic' or 'normal' -->
+ </font>
+ <font place="InactiveOnScreenDisplay">
<name>sans</name>
<size>9</size>
<!-- font size in points -->
</action>
</keybind>
+ <!-- Keybindings for window switching with the arrow keys -->
+ <keybind key="W-S-Right">
+ <action name="DirectionalCycleWindows">
+ <direction>right</direction>
+ </action>
+ </keybind>
+ <keybind key="W-S-Left">
+ <action name="DirectionalCycleWindows">
+ <direction>left</direction>
+ </action>
+ </keybind>
+ <keybind key="W-S-Up">
+ <action name="DirectionalCycleWindows">
+ <direction>up</direction>
+ </action>
+ </keybind>
+ <keybind key="W-S-Down">
+ <action name="DirectionalCycleWindows">
+ <direction>down</direction>
+ </action>
+ </keybind>
+
<!-- Keybindings for running applications -->
<keybind key="W-e">
<action name="Execute">
</keyboard>
<mouse>
- <dragThreshold>8</dragThreshold>
+ <dragThreshold>1</dragThreshold>
<!-- number of pixels the mouse must move before a drag begins -->
- <doubleClickTime>200</doubleClickTime>
+ <doubleClickTime>500</doubleClickTime>
<!-- in milliseconds (1000 = 1 second) -->
<screenEdgeWarpTime>400</screenEdgeWarpTime>
<!-- Time before changing desktops when the pointer touches the edge of the
screen while moving a window, in milliseconds (1000 = 1 second).
Set this to 0 to disable warping -->
+ <screenEdgeWarpMouse>false</screenEdgeWarpMouse>
+ <!-- Set this to TRUE to move the mouse pointer across the desktop when
+ switching due to hitting the edge of the screen -->
<context name="Frame">
<mousebind button="A-Left" action="Press">
</context>
<context name="Titlebar">
- <mousebind button="Left" action="Press">
- <action name="Focus"/>
- <action name="Raise"/>
- </mousebind>
<mousebind button="Left" action="Drag">
<action name="Move"/>
</mousebind>
<action name="ToggleMaximize"/>
</mousebind>
- <mousebind button="Middle" action="Press">
- <action name="Lower"/>
- <action name="FocusToBottom"/>
- <action name="Unfocus"/>
- </mousebind>
-
<mousebind button="Up" action="Click">
<action name="if">
<shaded>no</shaded>
</then>
</action>
</mousebind>
+ </context>
+
+ <context name="Titlebar Top Right Bottom Left TLCorner TRCorner BRCorner BLCorner">
+ <mousebind button="Left" action="Press">
+ <action name="Focus"/>
+ <action name="Raise"/>
+ <action name="Unshade"/>
+ </mousebind>
+
+ <mousebind button="Middle" action="Press">
+ <action name="Lower"/>
+ <action name="FocusToBottom"/>
+ <action name="Unfocus"/>
+ </mousebind>
<mousebind button="Right" action="Press">
<action name="Focus"/>
</context>
<context name="Top">
- <mousebind button="Left" action="Press">
- <action name="Focus"/>
- <action name="Raise"/>
- <action name="Unshade"/>
- </mousebind>
<mousebind button="Left" action="Drag">
<action name="Resize"><edge>top</edge></action>
</mousebind>
</context>
<context name="Left">
- <mousebind button="Left" action="Press">
- <action name="Focus"/>
- <action name="Raise"/>
- </mousebind>
<mousebind button="Left" action="Drag">
<action name="Resize"><edge>left</edge></action>
</mousebind>
</context>
<context name="Right">
- <mousebind button="Left" action="Press">
- <action name="Focus"/>
- <action name="Raise"/>
- </mousebind>
<mousebind button="Left" action="Drag">
<action name="Resize"><edge>right</edge></action>
</mousebind>
</context>
<context name="Bottom">
- <mousebind button="Left" action="Press">
- <action name="Focus"/>
- <action name="Raise"/>
- </mousebind>
<mousebind button="Left" action="Drag">
<action name="Resize"><edge>bottom</edge></action>
</mousebind>
- <mousebind button="Middle" action="Press">
- <action name="Lower"/>
- <action name="FocusToBottom"/>
- <action name="Unfocus"/>
- </mousebind>
-
<mousebind button="Right" action="Press">
<action name="Focus"/>
<action name="Raise"/>
</mousebind>
</context>
- <context name="BLCorner">
- <mousebind button="Left" action="Press">
- <action name="Focus"/>
- <action name="Raise"/>
- </mousebind>
- <mousebind button="Left" action="Drag">
- <action name="Resize"><edge>bottomleft</edge></action>
- </mousebind>
- </context>
-
- <context name="BRCorner">
- <mousebind button="Left" action="Press">
- <action name="Focus"/>
- <action name="Raise"/>
- </mousebind>
- <mousebind button="Left" action="Drag">
- <action name="Resize"><edge>bottomright</edge></action>
- </mousebind>
- </context>
-
- <context name="TLCorner">
+ <context name="TRCorner BRCorner TLCorner BLCorner">
<mousebind button="Left" action="Press">
<action name="Focus"/>
<action name="Raise"/>
<action name="Unshade"/>
</mousebind>
<mousebind button="Left" action="Drag">
- <action name="Resize"><edge>topleft</edge></action>
- </mousebind>
- </context>
-
- <context name="TRCorner">
- <mousebind button="Left" action="Press">
- <action name="Focus"/>
- <action name="Raise"/>
- <action name="Unshade"/>
- </mousebind>
- <mousebind button="Left" action="Drag">
- <action name="Resize"><edge>topright</edge></action>
+ <action name="Resize"/>
</mousebind>
</context>
<middle>no</middle>
<!-- center submenus vertically about the parent entry -->
<submenuShowDelay>100</submenuShowDelay>
- <!-- this one is easy, time to delay before showing a submenu after hovering
- over the parent entry -->
- <applicationIcons>yes</applicationIcons>
+ <!-- time to delay before showing a submenu after hovering over the parent
+ entry.
+ if this is a negative value, then the delay is infinite and the
+ submenu will not be shown until it is clicked on -->
+ <submenuHideDelay>400</submenuHideDelay>
+ <!-- time to delay before hiding a submenu when selecting another
+ entry in parent menu
+ if this is a negative value, then the delay is infinite and the
+ submenu will not be hidden until a different submenu is opened -->
+ <showIcons>yes</showIcons>
<!-- controls if icons appear in the client-list-(combined-)menu -->
<manageDesktops>yes</manageDesktops>
<!-- show the manage desktops section in the client-list-(combined-)menu -->
<!--
# this is an example with comments through out. use these to make your
# own rules, but without the comments of course.
-
- <application name="first element of window's WM_CLASS property (see xprop)"
- class="second element of window's WM_CLASS property (see xprop)"
- role="the window's WM_WINDOW_ROLE property (see xprop)"
- type="the window's _NET_WM_WINDOW_TYPE (if unspecified, then
- it is dialog for child windows)">
- # the name or the class can be set, or both. this is used to match
- # windows when they appear. role can optionally be set as well, to
- # further restrict your matches.
-
- # the name, class, and role use simple wildcard matching such as those
+ # you may use one or more of the name/class/role/title/type rules to specify
+ # windows to match
+
+ <application name="the window's _OB_APP_NAME property (see obxprop)"
+ class="the window's _OB_APP_CLASS property (see obxprop)"
+ groupname="the window's _OB_APP_GROUP_NAME property (see obxprop)"
+ groupclass="the window's _OB_APP_GROUP_CLASS property (see obxprop)"
+ role="the window's _OB_APP_ROLE property (see obxprop)"
+ title="the window's _OB_APP_TITLE property (see obxprop)"
+ type="the window's _OB_APP_TYPE property (see obxprob)..
+ (if unspecified, then it is 'dialog' for child windows)">
+ # you may set only one of name/class/role/title/type, or you may use more
+ # than one together to restrict your matches.
+
+ # the name, class, role, and title use simple wildcard matching such as those
# used by a shell. you can use * to match any characters and ? to match
# any single character.
# order that they appear in this list
- # each element can be left out or set to 'default' to specify to not
+ # each rule element can be left out or set to 'default' to specify to not
# change that attribute of the window
<decor>yes</decor>
# applications who refuse to behave
<x>center</x>
# a number like 50, or 'center' to center on screen. use a negative number
- # to start from the right (or bottom for <y>), ie -50 is 50 pixels from the
- # right edge (or bottom).
+ # to start from the right (or bottom for <y>), ie -50 is 50 pixels from
+ # the right edge (or bottom). use 'default' to specify using value
+ # provided by the application, or chosen by openbox, instead.
<y>200</y>
<monitor>1</monitor>
# specifies the monitor in a xinerama setup.
- # 0 is the first head, or 'mouse' for wherever the mouse is
+ # 1 is the first head, or 'mouse' for wherever the mouse is
</position>
+ <size>
+ # the size to make the window.
+ <width>20</width>
+ # a number like 20, or 'default' to use the size given by the application.
+ # you can use fractions such as 1/2 or percentages such as 75% in which
+ # case the value is relative to the size of the monitor that the window
+ # appears on.
+ <height>30%</height>
+ </size>
+
<focus>yes</focus>
# if the window should try be given focus when it appears. if this is set
# to yes it doesn't guarantee the window will be given focus. some