dist_rc_DATA = \
data/rc.xml \
+ data/rc-gnome.xml \
+ data/rc-kde.xml \
data/menu.xml
edit = $(SED) \
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!-- 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/4.0/rc">
+
+<resistance>
+ <strength>10</strength>
+ <screen_edge_strength>20</screen_edge_strength>
+</resistance>
+
+<focus>
+ <focusNew>yes</focusNew>
+ <focusLast>yes</focusLast>
+ <followMouse>no</followMouse>
+ <focusDelay>200</focusDelay>
+ <raiseOnFocus>no</raiseOnFocus>
+</focus>
+
+<placement>
+ <policy>Smart</policy>
+ <!-- 'Smart' or 'UnderMouse' -->
+</placement>
+
+<theme>
+ <name>Clearlooks</name>
+ <titleLayout>NLIMC</titleLayout>
+ <titleNumber>yes</titleNumber>
+ <!--
+ avaible characters are NDSLIMC, each can occur at most once.
+ N: window icon
+ L: window label (AKA title).
+ I: iconify
+ M: maximize
+ C: close
+ S: shade (roll up/down)
+ D: omnipresent (on all desktops).
+ -->
+ <keepBorder>yes</keepBorder>
+ <animateIconify>yes</animateIconify>
+ <font place="ActiveWindow">
+ <name>sans</name>
+ <size>8</size>
+ <!-- font size in points -->
+ <weight>bold</weight>
+ <!-- 'bold' or 'normal' -->
+ <slant>normal</slant>
+ <!-- 'italic' or 'normal' -->
+ </font>
+ <font place="InactiveWindow">
+ <name>sans</name>
+ <size>8</size>
+ <!-- font size in points -->
+ <weight>bold</weight>
+ <!-- 'bold' or 'normal' -->
+ <slant>normal</slant>
+ <!-- 'italic' or 'normal' -->
+ </font>
+ <font place="MenuHeader">
+ <name>sans</name>
+ <size>9</size>
+ <!-- font size in points -->
+ <weight>normal</weight>
+ <!-- 'bold' or 'normal' -->
+ <slant>normal</slant>
+ <!-- 'italic' or 'normal' -->
+ </font>
+ <font place="MenuItem">
+ <name>sans</name>
+ <size>9</size>
+ <!-- font size in points -->
+ <weight>normal</weight>
+ <!-- 'bold' or 'normal' -->
+ <slant>normal</slant>
+ <!-- 'italic' or 'normal' -->
+ </font>
+ <font place="OnScreenDisplay">
+ <name>sans</name>
+ <size>9</size>
+ <!-- font size in points -->
+ <weight>bold</weight>
+ <!-- 'bold' or 'normal' -->
+ <slant>normal</slant>
+ <!-- 'italic' or 'normal' -->
+ </font>
+</theme>
+
+<desktops>
+ <!-- this stuff is only used at startup, pagers allow you to change them
+ during a session -->
+ <number>4</number>
+ <firstdesk>1</firstdesk>
+ <names>
+ <name>desktop one</name>
+ <name>desktop two</name>
+ <name>desktop three</name>
+ <name>desktop four</name>
+ </names>
+</desktops>
+
+<resize>
+ <drawContents>yes</drawContents>
+ <popupShow>Nonpixel</popupShow>
+ <!-- 'Always', 'Never', or 'Nonpixel' (xterms and such) -->
+ <popupPosition>Center</popupPosition>
+ <!-- 'Center' or 'Top' -->
+</resize>
+
+<dock>
+ <position>TopLeft</position>
+ <!-- (Top|Bottom)(Left|Right|)|Top|Bottom|Left|Right|Floating -->
+ <floatingX>0</floatingX>
+ <floatingY>0</floatingY>
+ <noStrut>no</noStrut>
+ <stacking>Above</stacking>
+ <!-- 'Above', 'Normal', or 'Below' -->
+ <direction>Vertical</direction>
+ <!-- 'Vertical' or 'Horizontal' -->
+ <autoHide>no</autoHide>
+ <hideDelay>300</hideDelay>
+ <!-- in milliseconds (1000 = 1 second) -->
+ <showDelay>300</showDelay>
+ <!-- in milliseconds (1000 = 1 second) -->
+ <moveButton>Middle</moveButton>
+ <!-- 'Left', 'Middle', 'Right' -->
+</dock>
+
+<keyboard>
+ <chainQuitKey>C-g</chainQuitKey>
+
+ <!-- Keybindings for desktop switching -->
+ <keybind key="C-A-Left">
+ <action name="DesktopLeft"><wrap>no</wrap></action>
+ </keybind>
+ <keybind key="C-A-Right">
+ <action name="DesktopRight"><wrap>no</wrap></action>
+ </keybind>
+ <keybind key="C-A-Up">
+ <action name="DesktopUp"><wrap>no</wrap></action>
+ </keybind>
+ <keybind key="C-A-Down">
+ <action name="DesktopDown"><wrap>no</wrap></action>
+ </keybind>
+ <keybind key="S-A-Left">
+ <action name="SendToDesktopLeft"><wrap>no</wrap></action>
+ </keybind>
+ <keybind key="S-A-Right">
+ <action name="SendToDesktopRight"><wrap>no</wrap></action>
+ </keybind>
+ <keybind key="S-A-Up">
+ <action name="SendToDesktopUp"><wrap>no</wrap></action>
+ </keybind>
+ <keybind key="S-A-Down">
+ <action name="SendToDesktopDown"><wrap>no</wrap></action>
+ </keybind>
+ <keybind key="W-F1">
+ <action name="Desktop"><desktop>1</desktop></action>
+ </keybind>
+ <keybind key="W-F2">
+ <action name="Desktop"><desktop>1</desktop></action>
+ </keybind>
+ <keybind key="W-F3">
+ <action name="Desktop"><desktop>1</desktop></action>
+ </keybind>
+ <keybind key="W-F4">
+ <action name="Desktop"><desktop>1</desktop></action>
+ </keybind>
+ <keybind key="W-d">
+ <action name="ToggleShowDesktop"/>
+ </keybind>
+
+ <!-- Keybindings for windows -->
+ <keybind key="A-F4">
+ <action name="Close"/>
+ </keybind>
+ <keybind key="A-Escape">
+ <action name="Lower"/>
+ <action name="FocusToBottom"/>
+ <action name="Unfocus"/>
+ </keybind>
+ <keybind key="A-space">
+ <action name="ShowMenu"><menu>client-menu</menu></action>
+ </keybind>
+
+ <!-- Keybindings for window switching -->
+ <keybind key="A-Tab">
+ <action name="NextWindow"/>
+ </keybind>
+ <keybind key="A-S-Tab">
+ <action name="PreviousWindow"/>
+ </keybind>
+ <keybind key="C-A-Tab">
+ <action name="NextWindow">
+ <panels>yes</panels><desktop>yes</desktop>
+ </action>
+ </keybind>
+
+ <!-- Keybindings for running applications -->
+ <keybind key="W-e">
+ <action name="Execute">
+ <startupnotify>
+ <enabled>true</enabled>
+ <name>Konqueror</name>
+ </startupnotify>
+ <execute>kfmclient openProfile filemanagement</execute>
+ </action>
+ </keybind>
+</keyboard>
+
+<mouse>
+ <dragThreshold>3</dragThreshold>
+ <!-- number of pixels the mouse must move before a drag begins -->
+ <doubleClickTime>200</doubleClickTime>
+ <!-- in milliseconds (1000 = 1 second) -->
+
+ <context name="Frame">
+ <mousebind button="A-Left" action="Press">
+ <action name="Activate"/>
+ </mousebind>
+ <mousebind button="A-Left" action="Drag">
+ <action name="Move"/>
+ </mousebind>
+
+ <mousebind button="A-Right" action="Press">
+ <action name="Activate"/>
+ </mousebind>
+ <mousebind button="A-Right" action="Drag">
+ <action name="Resize"/>
+ </mousebind>
+
+ <mousebind button="A-Middle" action="Press">
+ <action name="Lower"/>
+ <action name="FocusToBottom"/>
+ <action name="Unfocus"/>
+ </mousebind>
+
+ <mousebind button="A-Up" action="Click">
+ <action name="DesktopPrevious"/>
+ </mousebind>
+ <mousebind button="A-Down" action="Click">
+ <action name="DesktopNext"/>
+ </mousebind>
+ <mousebind button="A-S-Up" action="Click">
+ <action name="SendToDesktopPrevious"/>
+ </mousebind>
+ <mousebind button="A-S-Down" action="Click">
+ <action name="SendToDesktopNext"/>
+ </mousebind>
+ </context>
+
+ <context name="Titlebar">
+ <mousebind button="Left" action="Press">
+ <action name="Activate"/>
+ </mousebind>
+ <mousebind button="Left" action="Drag">
+ <action name="Move"/>
+ </mousebind>
+ <mousebind button="Left" action="DoubleClick">
+ <action name="ToggleMaximizeFull"/>
+ </mousebind>
+
+ <mousebind button="Middle" action="Press">
+ <action name="Lower"/>
+ <action name="FocusToBottom"/>
+ <action name="Unfocus"/>
+ </mousebind>
+
+ <mousebind button="Up" action="Click">
+ <action name="Shade"/>
+ <action name="FocusToBottom"/>
+ <action name="Unfocus"/>
+ </mousebind>
+ <mousebind button="Down" action="Click">
+ <action name="Unshade"/>
+ </mousebind>
+
+ <mousebind button="Right" action="Press">
+ <action name="Activate"/>
+ <action name="ShowMenu"><menu>client-menu</menu></action>
+ </mousebind>
+ </context>
+
+ <context name="Top">
+ <mousebind button="Left" action="Press">
+ <action name="Activate"/>
+ </mousebind>
+ <mousebind button="Left" action="Drag">
+ <action name="Resize"><edge>top</edge></action>
+ </mousebind>
+ </context>
+
+ <context name="Bottom">
+ <mousebind button="Left" action="Press">
+ <action name="Activate"/>
+ </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="Activate"/>
+ <action name="ShowMenu"><menu>client-menu</menu></action>
+ </mousebind>
+ </context>
+
+ <context name="BLCorner">
+ <mousebind button="Left" action="Press">
+ <action name="Activate"/>
+ </mousebind>
+ <mousebind button="Left" action="Drag">
+ <action name="Resize"/>
+ </mousebind>
+ </context>
+
+ <context name="BRCorner">
+ <mousebind button="Left" action="Press">
+ <action name="Activate"/>
+ </mousebind>
+ <mousebind button="Left" action="Drag">
+ <action name="Resize"/>
+ </mousebind>
+ </context>
+
+ <context name="TLCorner">
+ <mousebind button="Left" action="Press">
+ <action name="Activate"/>
+ </mousebind>
+ <mousebind button="Left" action="Drag">
+ <action name="Resize"/>
+ </mousebind>
+ </context>
+
+ <context name="TRCorner">
+ <mousebind button="Left" action="Press">
+ <action name="Activate"/>
+ </mousebind>
+ <mousebind button="Left" action="Drag">
+ <action name="Resize"/>
+ </mousebind>
+ </context>
+
+ <context name="Client">
+ <mousebind button="Left" action="Press">
+ <action name="Activate"/>
+ </mousebind>
+ <mousebind button="Middle" action="Press">
+ <action name="Activate"/>
+ </mousebind>
+ <mousebind button="Right" action="Press">
+ <action name="Activate"/>
+ </mousebind>
+ </context>
+
+ <context name="Icon">
+ <mousebind button="Left" action="Press">
+ <action name="Activate"/>
+ <action name="ShowMenu"><menu>client-menu</menu></action>
+ </mousebind>
+ <mousebind button="Right" action="Press">
+ <action name="Activate"/>
+ <action name="ShowMenu"><menu>client-menu</menu></action>
+ </mousebind>
+ </context>
+
+ <context name="AllDesktops">
+ <mousebind button="Left" action="Press">
+ <action name="Activate"/>
+ </mousebind>
+ <mousebind button="Left" action="Click">
+ <action name="ToggleOmnipresent"/>
+ </mousebind>
+ </context>
+
+ <context name="Shade">
+ <mousebind button="Left" action="Press">
+ <action name="Activate"/>
+ </mousebind>
+ <mousebind button="Left" action="Click">
+ <action name="ToggleShade"/>
+ </mousebind>
+ </context>
+
+ <context name="Iconify">
+ <mousebind button="Left" action="Press">
+ <action name="Activate"/>
+ </mousebind>
+ <mousebind button="Left" action="Click">
+ <action name="Iconify"/>
+ </mousebind>
+ </context>
+
+ <context name="Maximize">
+ <mousebind button="Left" action="Press">
+ <action name="Activate"/>
+ </mousebind>
+ <mousebind button="Middle" action="Press">
+ <action name="Activate"/>
+ </mousebind>
+ <mousebind button="Right" action="Press">
+ <action name="Activate"/>
+ </mousebind>
+ <mousebind button="Left" action="Click">
+ <action name="ToggleMaximizeFull"/>
+ </mousebind>
+ <mousebind button="Middle" action="Click">
+ <action name="ToggleMaximizeVert"/>
+ </mousebind>
+ <mousebind button="Right" action="Click">
+ <action name="ToggleMaximizeHorz"/>
+ </mousebind>
+ </context>
+
+ <context name="Close">
+ <mousebind button="Left" action="Press">
+ <action name="Activate"/>
+ </mousebind>
+ <mousebind button="Left" action="Click">
+ <action name="Close"/>
+ </mousebind>
+ </context>
+
+ <context name="Desktop">
+ <mousebind button="Up" action="Press">
+ <action name="DesktopPrevious"/>
+ </mousebind>
+ <mousebind button="Down" action="Press">
+ <action name="DesktopNext"/>
+ </mousebind>
+
+ <mousebind button="A-Up" action="Press">
+ <action name="DesktopPrevious"/>
+ </mousebind>
+ <mousebind button="A-Down" action="Press">
+ <action name="DesktopNext"/>
+ </mousebind>
+
+ <mousebind button="Left" action="Press">
+ <action name="Activate"/>
+ </mousebind>
+
+ <!-- Menus are disabled since the DE will provide root window menus -->
+ <!--
+ <mousebind button="Middle" action="Press">
+ <action name="ShowMenu"><menu>client-list-combined-menu</menu></action>
+ </mousebind>
+ <mousebind button="Right" action="Press">
+ <action name="ShowMenu"><menu>root-menu</menu></action>
+ </mousebind>
+ -->
+ </context>
+
+ <context name="MoveResize">
+ <mousebind button="Up" action="Press">
+ <action name="DesktopPrevious"/>
+ </mousebind>
+ <mousebind button="Down" action="Press">
+ <action name="DesktopNext"/>
+ </mousebind>
+ <mousebind button="A-Up" action="Press">
+ <action name="DesktopPrevious"/>
+ </mousebind>
+ <mousebind button="A-Down" action="Press">
+ <action name="DesktopNext"/>
+ </mousebind>
+ </context>
+</mouse>
+
+<menu>
+ <!-- You can specify more than one menu file in here and they are all loaded,
+ just don't make menu ids clash or, well, it'll be kind of pointless -->
+
+ <!-- default menu file (or custom one in $HOME/.config/openbox/) -->
+ <file>menu.xml</file>
+ <hideDelay>200</hideDelay>
+ <middle>no</middle>
+ <submenuShowDelay>100</submenuShowDelay>
+ <applicationIcons>yes</applicationIcons>
+</menu>
+
+<!-- this section is commented out.. remove this and the ending comment if you
+ want to use it -->
+<applications>
+ <!-- the name or the class can be set, or both. this is used to match
+ windows when they appear
+
+ role can optionally be set, and only as much as you provide will be
+ checked to see if it matches, eg. if you set role="abc" and the window's
+ role is actually "abcde" it would match.
+ -->
+ <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)">
+
+ <!-- each element can be left out or set to 'default' to specify to not
+ change that attribute of the window -->
+
+ <decor>yes</decor>
+
+ <shade>no</shade>
+
+ <position>
+ <!-- the position is only used if both an x and y coordinate are provided
+ (and not set to 'default') -->
+ <x>center</x>
+ <!-- a number or 'center' to center on screen -->
+ <y>200</y>
+ <!-- a number or 'center' to center on screen -->
+ <monitor>1</monitor>
+ <!-- specifies the monitor in a xinerama setup.
+ 1 is the first head, or 'mouse' for wherever the mouse is -->
+ </position>
+
+ <focus>yes</focus>
+ <!-- if the window should try be given focus when it appears -->
+
+ <desktop>1</desktop>
+ <!-- 1 is the first desktop, 'all' for all desktops -->
+
+ <layer>normal</layer>
+ <!-- 'above', 'normal', or 'below' -->
+
+ <iconic>no</iconic>
+
+ <skip_pager>no</skip_pager>
+ <!-- asks to not be shown in pagers -->
+
+ <skip_taskbar>no</skip_taskbar>
+ <!-- asks to not be shown in taskbars. window cycling actions will also
+ skip past such windows -->
+
+ <fullscreen>yes</fullscreen>
+
+ <maximized>true</maximized>
+ <!-- 'Horizontal', 'Vertical' or boolean (yes/no/on/off/true/false) -->
+ </application>
+</applications>
+ -->
+
+</openbox_config>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!-- 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/4.0/rc">
+
+<resistance>
+ <strength>10</strength>
+ <screen_edge_strength>20</screen_edge_strength>
+</resistance>
+
+<focus>
+ <focusNew>yes</focusNew>
+ <focusLast>yes</focusLast>
+ <followMouse>no</followMouse>
+ <focusDelay>200</focusDelay>
+ <raiseOnFocus>no</raiseOnFocus>
+</focus>
+
+<placement>
+ <policy>Smart</policy>
+ <!-- 'Smart' or 'UnderMouse' -->
+</placement>
+
+<theme>
+ <name>Clearlooks</name>
+ <titleLayout>NLIMC</titleLayout>
+ <titleNumber>yes</titleNumber>
+ <!--
+ avaible characters are NDSLIMC, each can occur at most once.
+ N: window icon
+ L: window label (AKA title).
+ I: iconify
+ M: maximize
+ C: close
+ S: shade (roll up/down)
+ D: omnipresent (on all desktops).
+ -->
+ <keepBorder>yes</keepBorder>
+ <animateIconify>yes</animateIconify>
+ <font place="ActiveWindow">
+ <name>sans</name>
+ <size>8</size>
+ <!-- font size in points -->
+ <weight>bold</weight>
+ <!-- 'bold' or 'normal' -->
+ <slant>normal</slant>
+ <!-- 'italic' or 'normal' -->
+ </font>
+ <font place="InactiveWindow">
+ <name>sans</name>
+ <size>8</size>
+ <!-- font size in points -->
+ <weight>bold</weight>
+ <!-- 'bold' or 'normal' -->
+ <slant>normal</slant>
+ <!-- 'italic' or 'normal' -->
+ </font>
+ <font place="MenuHeader">
+ <name>sans</name>
+ <size>9</size>
+ <!-- font size in points -->
+ <weight>normal</weight>
+ <!-- 'bold' or 'normal' -->
+ <slant>normal</slant>
+ <!-- 'italic' or 'normal' -->
+ </font>
+ <font place="MenuItem">
+ <name>sans</name>
+ <size>9</size>
+ <!-- font size in points -->
+ <weight>normal</weight>
+ <!-- 'bold' or 'normal' -->
+ <slant>normal</slant>
+ <!-- 'italic' or 'normal' -->
+ </font>
+ <font place="OnScreenDisplay">
+ <name>sans</name>
+ <size>9</size>
+ <!-- font size in points -->
+ <weight>bold</weight>
+ <!-- 'bold' or 'normal' -->
+ <slant>normal</slant>
+ <!-- 'italic' or 'normal' -->
+ </font>
+</theme>
+
+<desktops>
+ <!-- this stuff is only used at startup, pagers allow you to change them
+ during a session -->
+ <number>4</number>
+ <firstdesk>1</firstdesk>
+ <names>
+ <name>desktop one</name>
+ <name>desktop two</name>
+ <name>desktop three</name>
+ <name>desktop four</name>
+ </names>
+</desktops>
+
+<resize>
+ <drawContents>yes</drawContents>
+ <popupShow>Nonpixel</popupShow>
+ <!-- 'Always', 'Never', or 'Nonpixel' (xterms and such) -->
+ <popupPosition>Center</popupPosition>
+ <!-- 'Center' or 'Top' -->
+</resize>
+
+<dock>
+ <position>TopLeft</position>
+ <!-- (Top|Bottom)(Left|Right|)|Top|Bottom|Left|Right|Floating -->
+ <floatingX>0</floatingX>
+ <floatingY>0</floatingY>
+ <noStrut>no</noStrut>
+ <stacking>Above</stacking>
+ <!-- 'Above', 'Normal', or 'Below' -->
+ <direction>Vertical</direction>
+ <!-- 'Vertical' or 'Horizontal' -->
+ <autoHide>no</autoHide>
+ <hideDelay>300</hideDelay>
+ <!-- in milliseconds (1000 = 1 second) -->
+ <showDelay>300</showDelay>
+ <!-- in milliseconds (1000 = 1 second) -->
+ <moveButton>Middle</moveButton>
+ <!-- 'Left', 'Middle', 'Right' -->
+</dock>
+
+<keyboard>
+ <chainQuitKey>C-g</chainQuitKey>
+
+ <!-- Keybindings for desktop switching -->
+ <keybind key="C-A-Left">
+ <action name="DesktopLeft"><wrap>no</wrap></action>
+ </keybind>
+ <keybind key="C-A-Right">
+ <action name="DesktopRight"><wrap>no</wrap></action>
+ </keybind>
+ <keybind key="C-A-Up">
+ <action name="DesktopUp"><wrap>no</wrap></action>
+ </keybind>
+ <keybind key="C-A-Down">
+ <action name="DesktopDown"><wrap>no</wrap></action>
+ </keybind>
+ <keybind key="S-A-Left">
+ <action name="SendToDesktopLeft"><wrap>no</wrap></action>
+ </keybind>
+ <keybind key="S-A-Right">
+ <action name="SendToDesktopRight"><wrap>no</wrap></action>
+ </keybind>
+ <keybind key="S-A-Up">
+ <action name="SendToDesktopUp"><wrap>no</wrap></action>
+ </keybind>
+ <keybind key="S-A-Down">
+ <action name="SendToDesktopDown"><wrap>no</wrap></action>
+ </keybind>
+ <keybind key="W-F1">
+ <action name="Desktop"><desktop>1</desktop></action>
+ </keybind>
+ <keybind key="W-F2">
+ <action name="Desktop"><desktop>1</desktop></action>
+ </keybind>
+ <keybind key="W-F3">
+ <action name="Desktop"><desktop>1</desktop></action>
+ </keybind>
+ <keybind key="W-F4">
+ <action name="Desktop"><desktop>1</desktop></action>
+ </keybind>
+ <keybind key="W-d">
+ <action name="ToggleShowDesktop"/>
+ </keybind>
+
+ <!-- Keybindings for windows -->
+ <keybind key="A-F4">
+ <action name="Close"/>
+ </keybind>
+ <keybind key="A-Escape">
+ <action name="Lower"/>
+ <action name="FocusToBottom"/>
+ <action name="Unfocus"/>
+ </keybind>
+ <keybind key="A-space">
+ <action name="ShowMenu"><menu>client-menu</menu></action>
+ </keybind>
+
+ <!-- Keybindings for window switching -->
+ <keybind key="A-Tab">
+ <action name="NextWindow"/>
+ </keybind>
+ <keybind key="A-S-Tab">
+ <action name="PreviousWindow"/>
+ </keybind>
+ <keybind key="C-A-Tab">
+ <action name="NextWindow">
+ <panels>yes</panels><desktop>yes</desktop>
+ </action>
+ </keybind>
+
+ <!-- Keybindings for running applications -->
+ <keybind key="W-e">
+ <action name="Execute">
+ <startupnotify>
+ <enabled>true</enabled>
+ <name>Konqueror</name>
+ </startupnotify>
+ <execute>kfmclient openProfile filemanagement</execute>
+ </action>
+ </keybind>
+</keyboard>
+
+<mouse>
+ <dragThreshold>3</dragThreshold>
+ <!-- number of pixels the mouse must move before a drag begins -->
+ <doubleClickTime>200</doubleClickTime>
+ <!-- in milliseconds (1000 = 1 second) -->
+
+ <context name="Frame">
+ <mousebind button="A-Left" action="Press">
+ <action name="Activate"/>
+ </mousebind>
+ <mousebind button="A-Left" action="Drag">
+ <action name="Move"/>
+ </mousebind>
+
+ <mousebind button="A-Right" action="Press">
+ <action name="Activate"/>
+ </mousebind>
+ <mousebind button="A-Right" action="Drag">
+ <action name="Resize"/>
+ </mousebind>
+
+ <mousebind button="A-Middle" action="Press">
+ <action name="Lower"/>
+ <action name="FocusToBottom"/>
+ <action name="Unfocus"/>
+ </mousebind>
+
+ <mousebind button="A-Up" action="Click">
+ <action name="DesktopPrevious"/>
+ </mousebind>
+ <mousebind button="A-Down" action="Click">
+ <action name="DesktopNext"/>
+ </mousebind>
+ <mousebind button="A-S-Up" action="Click">
+ <action name="SendToDesktopPrevious"/>
+ </mousebind>
+ <mousebind button="A-S-Down" action="Click">
+ <action name="SendToDesktopNext"/>
+ </mousebind>
+ </context>
+
+ <context name="Titlebar">
+ <mousebind button="Left" action="Press">
+ <action name="Activate"/>
+ </mousebind>
+ <mousebind button="Left" action="Drag">
+ <action name="Move"/>
+ </mousebind>
+ <mousebind button="Left" action="DoubleClick">
+ <action name="ToggleMaximizeFull"/>
+ </mousebind>
+
+ <mousebind button="Middle" action="Press">
+ <action name="Lower"/>
+ <action name="FocusToBottom"/>
+ <action name="Unfocus"/>
+ </mousebind>
+
+ <mousebind button="Up" action="Click">
+ <action name="Shade"/>
+ <action name="FocusToBottom"/>
+ <action name="Unfocus"/>
+ </mousebind>
+ <mousebind button="Down" action="Click">
+ <action name="Unshade"/>
+ </mousebind>
+
+ <mousebind button="Right" action="Press">
+ <action name="Activate"/>
+ <action name="ShowMenu"><menu>client-menu</menu></action>
+ </mousebind>
+ </context>
+
+ <context name="Top">
+ <mousebind button="Left" action="Press">
+ <action name="Activate"/>
+ </mousebind>
+ <mousebind button="Left" action="Drag">
+ <action name="Resize"><edge>top</edge></action>
+ </mousebind>
+ </context>
+
+ <context name="Bottom">
+ <mousebind button="Left" action="Press">
+ <action name="Activate"/>
+ </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="Activate"/>
+ <action name="ShowMenu"><menu>client-menu</menu></action>
+ </mousebind>
+ </context>
+
+ <context name="BLCorner">
+ <mousebind button="Left" action="Press">
+ <action name="Activate"/>
+ </mousebind>
+ <mousebind button="Left" action="Drag">
+ <action name="Resize"/>
+ </mousebind>
+ </context>
+
+ <context name="BRCorner">
+ <mousebind button="Left" action="Press">
+ <action name="Activate"/>
+ </mousebind>
+ <mousebind button="Left" action="Drag">
+ <action name="Resize"/>
+ </mousebind>
+ </context>
+
+ <context name="TLCorner">
+ <mousebind button="Left" action="Press">
+ <action name="Activate"/>
+ </mousebind>
+ <mousebind button="Left" action="Drag">
+ <action name="Resize"/>
+ </mousebind>
+ </context>
+
+ <context name="TRCorner">
+ <mousebind button="Left" action="Press">
+ <action name="Activate"/>
+ </mousebind>
+ <mousebind button="Left" action="Drag">
+ <action name="Resize"/>
+ </mousebind>
+ </context>
+
+ <context name="Client">
+ <mousebind button="Left" action="Press">
+ <action name="Activate"/>
+ </mousebind>
+ <mousebind button="Middle" action="Press">
+ <action name="Activate"/>
+ </mousebind>
+ <mousebind button="Right" action="Press">
+ <action name="Activate"/>
+ </mousebind>
+ </context>
+
+ <context name="Icon">
+ <mousebind button="Left" action="Press">
+ <action name="Activate"/>
+ <action name="ShowMenu"><menu>client-menu</menu></action>
+ </mousebind>
+ <mousebind button="Right" action="Press">
+ <action name="Activate"/>
+ <action name="ShowMenu"><menu>client-menu</menu></action>
+ </mousebind>
+ </context>
+
+ <context name="AllDesktops">
+ <mousebind button="Left" action="Press">
+ <action name="Activate"/>
+ </mousebind>
+ <mousebind button="Left" action="Click">
+ <action name="ToggleOmnipresent"/>
+ </mousebind>
+ </context>
+
+ <context name="Shade">
+ <mousebind button="Left" action="Press">
+ <action name="Activate"/>
+ </mousebind>
+ <mousebind button="Left" action="Click">
+ <action name="ToggleShade"/>
+ </mousebind>
+ </context>
+
+ <context name="Iconify">
+ <mousebind button="Left" action="Press">
+ <action name="Activate"/>
+ </mousebind>
+ <mousebind button="Left" action="Click">
+ <action name="Iconify"/>
+ </mousebind>
+ </context>
+
+ <context name="Maximize">
+ <mousebind button="Left" action="Press">
+ <action name="Activate"/>
+ </mousebind>
+ <mousebind button="Middle" action="Press">
+ <action name="Activate"/>
+ </mousebind>
+ <mousebind button="Right" action="Press">
+ <action name="Activate"/>
+ </mousebind>
+ <mousebind button="Left" action="Click">
+ <action name="ToggleMaximizeFull"/>
+ </mousebind>
+ <mousebind button="Middle" action="Click">
+ <action name="ToggleMaximizeVert"/>
+ </mousebind>
+ <mousebind button="Right" action="Click">
+ <action name="ToggleMaximizeHorz"/>
+ </mousebind>
+ </context>
+
+ <context name="Close">
+ <mousebind button="Left" action="Press">
+ <action name="Activate"/>
+ </mousebind>
+ <mousebind button="Left" action="Click">
+ <action name="Close"/>
+ </mousebind>
+ </context>
+
+ <context name="Desktop">
+ <mousebind button="Up" action="Press">
+ <action name="DesktopPrevious"/>
+ </mousebind>
+ <mousebind button="Down" action="Press">
+ <action name="DesktopNext"/>
+ </mousebind>
+
+ <mousebind button="A-Up" action="Press">
+ <action name="DesktopPrevious"/>
+ </mousebind>
+ <mousebind button="A-Down" action="Press">
+ <action name="DesktopNext"/>
+ </mousebind>
+
+ <mousebind button="Left" action="Press">
+ <action name="Activate"/>
+ </mousebind>
+
+ <!-- Menus are disabled since the DE will provide root window menus -->
+ <!--
+ <mousebind button="Middle" action="Press">
+ <action name="ShowMenu"><menu>client-list-combined-menu</menu></action>
+ </mousebind>
+ <mousebind button="Right" action="Press">
+ <action name="ShowMenu"><menu>root-menu</menu></action>
+ </mousebind>
+ -->
+ </context>
+
+ <context name="MoveResize">
+ <mousebind button="Up" action="Press">
+ <action name="DesktopPrevious"/>
+ </mousebind>
+ <mousebind button="Down" action="Press">
+ <action name="DesktopNext"/>
+ </mousebind>
+ <mousebind button="A-Up" action="Press">
+ <action name="DesktopPrevious"/>
+ </mousebind>
+ <mousebind button="A-Down" action="Press">
+ <action name="DesktopNext"/>
+ </mousebind>
+ </context>
+</mouse>
+
+<menu>
+ <!-- You can specify more than one menu file in here and they are all loaded,
+ just don't make menu ids clash or, well, it'll be kind of pointless -->
+
+ <!-- default menu file (or custom one in $HOME/.config/openbox/) -->
+ <file>menu.xml</file>
+ <hideDelay>200</hideDelay>
+ <middle>no</middle>
+ <submenuShowDelay>100</submenuShowDelay>
+ <applicationIcons>yes</applicationIcons>
+</menu>
+
+<!-- this section is commented out.. remove this and the ending comment if you
+ want to use it -->
+<applications>
+ <!-- the name or the class can be set, or both. this is used to match
+ windows when they appear
+
+ role can optionally be set, and only as much as you provide will be
+ checked to see if it matches, eg. if you set role="abc" and the window's
+ role is actually "abcde" it would match.
+ -->
+ <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)">
+
+ <!-- each element can be left out or set to 'default' to specify to not
+ change that attribute of the window -->
+
+ <decor>yes</decor>
+
+ <shade>no</shade>
+
+ <position>
+ <!-- the position is only used if both an x and y coordinate are provided
+ (and not set to 'default') -->
+ <x>center</x>
+ <!-- a number or 'center' to center on screen -->
+ <y>200</y>
+ <!-- a number or 'center' to center on screen -->
+ <monitor>1</monitor>
+ <!-- specifies the monitor in a xinerama setup.
+ 1 is the first head, or 'mouse' for wherever the mouse is -->
+ </position>
+
+ <focus>yes</focus>
+ <!-- if the window should try be given focus when it appears -->
+
+ <desktop>1</desktop>
+ <!-- 1 is the first desktop, 'all' for all desktops -->
+
+ <layer>normal</layer>
+ <!-- 'above', 'normal', or 'below' -->
+
+ <iconic>no</iconic>
+
+ <skip_pager>no</skip_pager>
+ <!-- asks to not be shown in pagers -->
+
+ <skip_taskbar>no</skip_taskbar>
+ <!-- asks to not be shown in taskbars. window cycling actions will also
+ skip past such windows -->
+
+ <fullscreen>yes</fullscreen>
+
+ <maximized>true</maximized>
+ <!-- 'Horizontal', 'Vertical' or boolean (yes/no/on/off/true/false) -->
+ </application>
+</applications>
+ -->
+
+</openbox_config>
# Run GNOME with Openbox as its window manager
export WINDOW_MANAGER="@bindir@/openbox"
+export OPENBOX_CONFIG_NAMESPACE="gnome"
exec gnome-session "$@"
# Run KDE with Openbox as its window manager
export KDEWM="@bindir@/openbox"
+export OPENBOX_CONFIG_NAMESPACE="kde"
exec startkde "$@"
<para><command>&dhpackage;</command> runs a GNOME session with
Openbox as the window manager.</para>
+
+ <para>When running inside GNOME like this, Openbox will use the
+ <literal>rc-gnome.xml</literal> configuration file.</para>
</refsect1>
<refsect1>
<title>SEE ALSO</title>
<para><command>&dhpackage;</command> runs a KDE session with
Openbox as the window manager.</para>
+
+ <para>When running inside KDE like this, Openbox will use the
+ <literal>rc-kde.xml</literal> configuration file.</para>
</refsect1>
<refsect1>
<title>SEE ALSO</title>
.SH "SYNOPSIS"
.PP
-\fBopenbox\fR [\fB\-\-help\fP] [\fB\-\-version\fP] [\fB\-\-replace\fP] [\fB\-\-reconfigure\fP] [\fB\-\-sm-disable\fP] [\fB\-\-config \fITYPE\fR\fP] [\fB\-\-sync\fP] [\fB\-\-debug\fP] [\fB\-\-debug-focus\fP]
+\fBopenbox\fR [\fB\-\-help\fP] [\fB\-\-version\fP] [\fB\-\-replace\fP] [\fB\-\-reconfigure\fP] [\fB\-\-sm-disable\fP] [\fB\-\-sync\fP] [\fB\-\-debug\fP] [\fB\-\-debug-focus\fP]
.SH "DESCRIPTION"
.PP
Openbox is a next generation, highly
You can use the \fBobconf\fR tool to configure Openbox
easily with a graphical interface, however more in-depth configuration
is possible by editing the configuration files by hand. The default
-configuration file is installed in @configdir@/openbox/rc.xml, and the
-user configuration is placed in ~/.config/openbox/rc.xml. You can copy
+configuration files are installed in @configdir@/openbox/, and the
+user configuration is placed in ~/.config/openbox/. You can copy
the default configuration to ~/.config/openbox and edit it to your
liking.
+.PP
+There are 3 default configuration files, \fBrc.xml\fP,
+\fBrc-gnome.xml\fP, and \fBrc-kde.xml\fP. The
+rc-gnome.xml is used when you run
+\fBopenbox-gnome-session\fR and the rc-kde.xml is used when
+you run \fBopenbox-kde-session\fR. The configuration
+files should be named the same in ~/.config/openbox/.
.SH "OPTIONS"
.PP
These are the possible options that \fBopenbox\fR accepts:
reload it's configuration.
.IP "\fB\-\-sm-disable\fP" 10
Do not connect to the session manager.
-.IP "\fB\-\-config\fITYPE\fR\fP" 10
-Specify the configuration profile to use.
.IP "\fB\-\-sync\fP" 10
Run in synchronous mode (for debugging).
.IP "\fB\-\-debug\fP" 10
.PP
Please report bugs to: \fBhttp://bugzilla.icculus.org/
\fP
+<<<<<<< .working
+<<<<<<< .working
.\" created by instant / docbook-to-man, Sun 13 May 2007, 17:59
+=======
+.\" created by instant / docbook-to-man, Sun 13 May 2007, 19:06
+>>>>>>> .merge-right.r6502
+=======
+.\" created by instant / docbook-to-man, Sun 13 May 2007, 19:06
+>>>>>>> .merge-right.r6502
<arg><option>--replace</option></arg>
<arg><option>--reconfigure</option></arg>
<arg><option>--sm-disable</option></arg>
- <arg><option>--config <replaceable>TYPE</replaceable></option></arg>
<arg><option>--sync</option></arg>
<arg><option>--debug</option></arg>
<arg><option>--debug-focus</option></arg>
<para>You can use the <command>obconf</command> tool to configure Openbox
easily with a graphical interface, however more in-depth configuration
is possible by editing the configuration files by hand. The default
- configuration file is installed in @configdir@/openbox/rc.xml, and the
- user configuration is placed in ~/.config/openbox/rc.xml. You can copy
+ configuration files are installed in @configdir@/openbox/, and the
+ user configuration is placed in ~/.config/openbox/. You can copy
the default configuration to ~/.config/openbox and edit it to your
liking.</para>
+ <para>There are 3 default configuration files, <literal>rc.xml</literal>,
+ <literal>rc-gnome.xml</literal>, and <literal>rc-kde.xml</literal>. The
+ rc-gnome.xml is used when you run
+ <command>openbox-gnome-session</command> and the rc-kde.xml is used when
+ you run <command>openbox-kde-session</command>. The configuration
+ files should be named the same in ~/.config/openbox/.</para>
+
</refsect1>
<refsect1>
<title>OPTIONS</title>
<para>Do not connect to the session manager.</para>
</listitem>
</varlistentry>
- <varlistentry>
- <term><option>--config<replaceable>TYPE</replaceable></option></term>
- <listitem>
- <para>Specify the configuration profile to use.</para>
- </listitem>
- </varlistentry>
<varlistentry>
<term><option>--sync</option></term>
<listitem>
if (client && !nomove) {
frame_adjust_focus(client->frame, FALSE);
+ if (client == focus_client)
+ focus_set_client(NULL);
/* focus_set_client has already been called for sure */
client_calc_layer(client);
}
gboolean ob_sm_use = TRUE;
gchar *ob_sm_id = NULL;
gchar *ob_sm_save_file = NULL;
+gchar *ob_config_type = NULL;
static ObState state;
static gboolean xsync = FALSE;
static gint exitcode = 0;
static guint remote_control = 0;
static gboolean being_replaced = FALSE;
-static gchar *config_type = NULL;
static void signal_handler(gint signal, gpointer data);
static void remove_args(gint *argc, gchar **argv, gint index, gint num);
+static void parse_env();
static void parse_args(gint *argc, gchar **argv);
static Cursor load_cursor(const gchar *name, guint fontval);
/* parse the command line args, which can change the argv[0] */
parse_args(&argc, argv);
+ /* parse the environment variables */
+ parse_env();
program_name = g_path_get_basename(argv[0]);
g_set_prgname(program_name);
config_startup(i);
/* parse/load user options */
- if (parse_load_rc(config_type, &doc, &node)) {
+ if (parse_load_rc(ob_config_type, &doc, &node)) {
parse_tree(i, doc, node->xmlChildrenNode);
parse_close(doc);
} else
g_message(_("Unable to find a valid config file, using some simple defaults"));
- if (config_type != NULL)
+ if (ob_config_type != NULL)
PROP_SETS(RootWindow(ob_display, ob_screen),
- ob_config, config_type);
+ ob_config, ob_config_type);
/* we're done with parsing now, kill it */
parse_shutdown(i);
argv = nargv;
}
+ /* we also remove some environment variables, so put them back */
+ if (ob_config_type)
+ setenv("OPENBOX_CONFIG_NAMESPACE", ob_config_type, 1);
+
/* re-run me */
execvp(argv[0], argv); /* try how we were run */
execlp(argv[0], program_name, (gchar*)NULL); /* last resort */
/* free stuff passed in from the command line or environment */
g_free(ob_sm_save_file);
g_free(ob_sm_id);
- g_free(config_type);
+ g_free(ob_config_type);
g_free(program_name);
return exitcode;
g_print(_(" --version Display the version and exit\n"));
g_print(_(" --replace Replace the currently running window manager\n"));
g_print(_(" --sm-disable Disable connection to the session manager\n"));
- g_print(_(" --config TYPE Specify the configuration profile to use\n"));
g_print(_("\nPassing messages to a running Openbox instance:\n"));
g_print(_(" --reconfigure Reload Openbox's configuration\n"));
g_print(_("\nDebugging options:\n"));
*argc -= num;
}
+static void parse_env()
+{
+ /* unset this so we don't pass it on unknowingly */
+ unsetenv("DESKTOP_STARTUP_ID");
+
+ if (getenv("OPENBOX_CONFIG_NAMESPACE"))
+ ob_config_type = g_strdup(getenv("OPENBOX_CONFIG_NAMESPACE"));
+}
+
static void parse_args(gint *argc, gchar **argv)
{
gint i;
remote_control = 2;
*/
}
- else if (!strcmp(argv[i], "--config")) {
+ else if (!strcmp(argv[i], "--config-namespace")) {
if (i == *argc - 1) /* no args left */
- g_printerr(_("--config requires an argument\n"));
+ /* not translated cuz it's sekret */
+ g_printerr("--config-namespace requires an argument\n");
else {
- config_type = g_strdup(argv[i+1]);
- ++i;
+ ob_config_type = g_strdup(argv[i+1]);
+ remove_args(argc, argv, i, 2);
+ --i; /* this arg was removed so go back */
+ ob_debug_type(OB_DEBUG_SM, "--config-namespace %s\n",
+ ob_sm_save_file);
}
}
else if (!strcmp(argv[i], "--sm-save-file")) {
make a new file every time, yay. */
extern gchar *ob_sm_save_file;
extern gboolean ob_replace_wm;
+extern gchar *ob_config_type;
/* The state of execution of the window manager */
ObState ob_state();
static void session_setup_restart_command()
{
gint i;
+ gint num = 4;
- SmPropValue *vals = g_new(SmPropValue, sm_argc + 4);
+ if (ob_config_type) num += 2;
+
+ SmPropValue *vals = g_new(SmPropValue, sm_argc + num);
SmProp prop = {
.name = g_strdup(SmRestartCommand),
.type = g_strdup(SmLISTofARRAY8),
- .num_vals = sm_argc + 4,
+ .num_vals = sm_argc + num,
.vals = vals
};
SmProp *list = ∝
ob_debug_type(OB_DEBUG_SM, " %s\n", vals[i+2].value);
ob_debug_type(OB_DEBUG_SM, " %s\n", vals[i+3].value);
+ if (ob_config_type) {
+ vals[i+4].value = g_strdup("--config-namespace");
+ vals[i+4].length = strlen("--config-namespace") + 1;
+ vals[i+5].value = ob_config_type;
+ vals[i+5].length = strlen(ob_config_type) + 1;
+ ob_debug_type(OB_DEBUG_SM, " %s\n", vals[i+4].value);
+ ob_debug_type(OB_DEBUG_SM, " %s\n", vals[i+5].value);
+ }
+
SmcSetProperties(sm_conn, 1, &list);
g_free(prop.name);
g_free(prop.type);
g_free(vals[i].value);
g_free(vals[i+2].value);
+ if (ob_config_type)
+ g_free(vals[i+4].value);
g_free(vals);
}
#ifndef USE_LIBSN
-void sn_startup(gboolean reconfig) {
- /* unset this so we don't pass it on unknowingly */
- if (!reconfig) unsetenv("DESKTOP_STARTUP_ID");
-}
+void sn_startup(gboolean reconfig) {}
void sn_shutdown(gboolean reconfig) {}
gboolean sn_app_starting() { return FALSE; }
Time sn_app_started(const gchar *id, const gchar *wmclass)