summaryrefslogtreecommitdiffstats
path: root/core/modules/openbox
diff options
context:
space:
mode:
authorSebastian2016-04-25 12:01:08 +0200
committerSebastian2016-04-25 12:01:08 +0200
commit5acda3eaeabae9045609539303a8c12c4ce401f1 (patch)
tree7e71975f8570b05aafe2ea6ec0e242a8912387bb /core/modules/openbox
parentinitial commit (diff)
downloadmltk-5acda3eaeabae9045609539303a8c12c4ce401f1.tar.gz
mltk-5acda3eaeabae9045609539303a8c12c4ce401f1.tar.xz
mltk-5acda3eaeabae9045609539303a8c12c4ce401f1.zip
merge with latest dev version
Diffstat (limited to 'core/modules/openbox')
-rw-r--r--core/modules/openbox/data/etc/xdg/openbox/menu.xml29
-rw-r--r--core/modules/openbox/data/etc/xdg/openbox/rc.xml756
-rw-r--r--core/modules/openbox/data/etc/xdg/openbox/rc.xml.safe426
-rw-r--r--core/modules/openbox/data/usr/share/icons/hicolor/48x48/apps/openbox.pngbin0 -> 1528 bytes
-rw-r--r--core/modules/openbox/data/usr/share/xsessions/openbox.desktop9
-rw-r--r--core/modules/openbox/module.build36
-rw-r--r--core/modules/openbox/module.conf11
-rw-r--r--core/modules/openbox/module.conf.debian15
-rw-r--r--core/modules/openbox/module.conf.fedora11
-rw-r--r--core/modules/openbox/module.conf.opensuse13
-rw-r--r--core/modules/openbox/module.conf.ubuntu15
-rw-r--r--core/modules/openbox/module.conf.zypper11
12 files changed, 1332 insertions, 0 deletions
diff --git a/core/modules/openbox/data/etc/xdg/openbox/menu.xml b/core/modules/openbox/data/etc/xdg/openbox/menu.xml
new file mode 100644
index 00000000..866969f6
--- /dev/null
+++ b/core/modules/openbox/data/etc/xdg/openbox/menu.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<openbox_menu xmlns="http://openbox.org/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://openbox.org/
+ file:///usr/share/openbox/menu.xsd">
+
+<menu id="root-menu" label="Openbox 3">
+ <item label="Terminal">
+ <action name="Execute"><execute>xterm</execute></action>
+ </item>
+ <item label="VM Chooser">
+ <action name="Execute"><execute>vmchooser -c /etc/openslx/vmchooser/vmchooser.conf</execute></action>
+ </item>
+ <!-- This requires the presence of the 'menu' package to work -->
+ <menu id="/Debian" />
+ <separator />
+ <menu id="client-list-menu" />
+ <separator />
+ <item label="Restart">
+ <action name="Restart" />
+ </item>
+ <separator />
+ <item label="Exit">
+ <action name="Exit" />
+ </item>
+</menu>
+
+</openbox_menu>
diff --git a/core/modules/openbox/data/etc/xdg/openbox/rc.xml b/core/modules/openbox/data/etc/xdg/openbox/rc.xml
new file mode 100644
index 00000000..6498a7ff
--- /dev/null
+++ b/core/modules/openbox/data/etc/xdg/openbox/rc.xml
@@ -0,0 +1,756 @@
+<?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/3.4/rc"
+ xmlns:xi="http://www.w3.org/2001/XInclude">
+
+<resistance>
+ <strength>10</strength>
+ <screen_edge_strength>20</screen_edge_strength>
+</resistance>
+
+<focus>
+ <focusNew>yes</focusNew>
+ <!-- always try to focus new windows when they appear. other rules do
+ apply -->
+ <followMouse>no</followMouse>
+ <!-- move focus to a window when you move the mouse into it -->
+ <focusLast>yes</focusLast>
+ <!-- focus the last used window when changing desktops, instead of the one
+ under the mouse pointer. when followMouse is enabled -->
+ <underMouse>no</underMouse>
+ <!-- move focus under the mouse, even when the mouse is not moving -->
+ <focusDelay>200</focusDelay>
+ <!-- when followMouse is enabled, the mouse must be inside the window for
+ this many milliseconds (1000 = 1 sec) before moving focus to it -->
+ <raiseOnFocus>no</raiseOnFocus>
+ <!-- when followMouse is enabled, and a window is given focus by moving the
+ mouse into it, also raise the window -->
+</focus>
+
+<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>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, '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>
+ <name>Clearlooks</name>
+ <titleLayout>NLIMC</titleLayout>
+ <!--
+ available 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="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 -->
+ <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
+
+ these are default values to use when other ones are not already set
+ by other applications, or saved in your session
+
+ use obconf if you want to change these without having to log out
+ and back in -->
+ <number>4</number>
+ <firstdesk>1</firstdesk>
+ <names>
+ <!-- set names up here if you want to, like this:
+ <name>desktop 1</name>
+ <name>desktop 2</name>
+ -->
+ </names>
+ <popupTime>875</popupTime>
+ <!-- The number of milliseconds to show the popup for when switching
+ desktops. Set this to 0 to disable the popup. -->
+</desktops>
+
+<resize>
+ <drawContents>yes</drawContents>
+ <popupShow>Nonpixel</popupShow>
+ <!-- 'Always', 'Never', or 'Nonpixel' (xterms and such) -->
+ <popupPosition>Center</popupPosition>
+ <!-- 'Center', 'Top', or 'Fixed' -->
+ <popupFixedPosition>
+ <!-- these are used if popupPosition is set to 'Fixed' -->
+
+ <x>10</x>
+ <!-- positive number for distance from left edge, negative number for
+ distance from right edge, or 'Center' -->
+ <y>10</y>
+ <!-- positive number for distance from top edge, negative number for
+ distance from bottom edge, or 'Center' -->
+ </popupFixedPosition>
+</resize>
+
+<!-- You can reserve a portion of your screen where windows will not cover when
+ they are maximized, or when they are initially placed.
+ Many programs reserve space automatically, but you can use this in other
+ cases. -->
+<margins>
+ <top>0</top>
+ <bottom>0</bottom>
+ <left>0</left>
+ <right>0</right>
+</margins>
+
+<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="GoToDesktop"><to>left</to><wrap>no</wrap></action>
+ </keybind>
+ <keybind key="C-A-Right">
+ <action name="GoToDesktop"><to>right</to><wrap>no</wrap></action>
+ </keybind>
+ <keybind key="C-A-Up">
+ <action name="GoToDesktop"><to>up</to><wrap>no</wrap></action>
+ </keybind>
+ <keybind key="C-A-Down">
+ <action name="GoToDesktop"><to>down</to><wrap>no</wrap></action>
+ </keybind>
+ <keybind key="S-A-Left">
+ <action name="SendToDesktop"><to>left</to><wrap>no</wrap></action>
+ </keybind>
+ <keybind key="S-A-Right">
+ <action name="SendToDesktop"><to>right</to><wrap>no</wrap></action>
+ </keybind>
+ <keybind key="S-A-Up">
+ <action name="SendToDesktop"><to>up</to><wrap>no</wrap></action>
+ </keybind>
+ <keybind key="S-A-Down">
+ <action name="SendToDesktop"><to>down</to><wrap>no</wrap></action>
+ </keybind>
+ <keybind key="W-F1">
+ <action name="GoToDesktop"><to>1</to></action>
+ </keybind>
+ <keybind key="W-F2">
+ <action name="GoToDesktop"><to>2</to></action>
+ </keybind>
+ <keybind key="W-F3">
+ <action name="GoToDesktop"><to>3</to></action>
+ </keybind>
+ <keybind key="W-F4">
+ <action name="GoToDesktop"><to>4</to></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>
+ <!-- Take a screenshot of the current window with gnome-screenshot when Alt+Print are pressed -->
+ <keybind key="A-Print">
+ <action name="Execute"><command>gnome-screenshot -w</command></action>
+ </keybind>
+
+ <!-- Keybindings for window switching -->
+ <keybind key="A-Tab">
+ <action name="NextWindow">
+ <finalactions>
+ <action name="Focus"/>
+ <action name="Raise"/>
+ <action name="Unshade"/>
+ </finalactions>
+ </action>
+ </keybind>
+ <keybind key="A-S-Tab">
+ <action name="PreviousWindow">
+ <finalactions>
+ <action name="Focus"/>
+ <action name="Raise"/>
+ <action name="Unshade"/>
+ </finalactions>
+ </action>
+ </keybind>
+ <keybind key="C-A-Tab">
+ <action name="NextWindow">
+ <panels>yes</panels><desktop>yes</desktop>
+ <finalactions>
+ <action name="Focus"/>
+ <action name="Raise"/>
+ <action name="Unshade"/>
+ </finalactions>
+ </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">
+ <startupnotify>
+ <enabled>true</enabled>
+ <name>Konqueror</name>
+ </startupnotify>
+ <command>kfmclient openProfile filemanagement</command>
+ </action>
+ </keybind>
+ <!-- Launch gnome-screenshot when Print is pressed -->
+ <keybind key="Print">
+ <action name="Execute"><command>gnome-screenshot</command></action>
+ </keybind>
+</keyboard>
+
+<mouse>
+ <dragThreshold>1</dragThreshold>
+ <!-- number of pixels the mouse must move before a drag begins -->
+ <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">
+ <action name="Focus"/>
+ <action name="Raise"/>
+ </mousebind>
+ <mousebind button="A-Left" action="Click">
+ <action name="Unshade"/>
+ </mousebind>
+ <mousebind button="A-Left" action="Drag">
+ <action name="Move"/>
+ </mousebind>
+
+ <mousebind button="A-Right" action="Press">
+ <action name="Focus"/>
+ <action name="Raise"/>
+ <action name="Unshade"/>
+ </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="GoToDesktop"><to>previous</to></action>
+ </mousebind>
+ <mousebind button="A-Down" action="Click">
+ <action name="GoToDesktop"><to>next</to></action>
+ </mousebind>
+ <mousebind button="C-A-Up" action="Click">
+ <action name="GoToDesktop"><to>previous</to></action>
+ </mousebind>
+ <mousebind button="C-A-Down" action="Click">
+ <action name="GoToDesktop"><to>next</to></action>
+ </mousebind>
+ <mousebind button="A-S-Up" action="Click">
+ <action name="SendToDesktop"><to>previous</to></action>
+ </mousebind>
+ <mousebind button="A-S-Down" action="Click">
+ <action name="SendToDesktop"><to>next</to></action>
+ </mousebind>
+ </context>
+
+ <context name="Titlebar">
+ <mousebind button="Left" action="Drag">
+ <action name="Move"/>
+ </mousebind>
+ <mousebind button="Left" action="DoubleClick">
+ <action name="ToggleMaximize"/>
+ </mousebind>
+
+ <mousebind button="Up" action="Click">
+ <action name="if">
+ <shaded>no</shaded>
+ <then>
+ <action name="Shade"/>
+ <action name="FocusToBottom"/>
+ <action name="Unfocus"/>
+ <action name="Lower"/>
+ </then>
+ </action>
+ </mousebind>
+ <mousebind button="Down" action="Click">
+ <action name="if">
+ <shaded>yes</shaded>
+ <then>
+ <action name="Unshade"/>
+ <action name="Raise"/>
+ </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"/>
+ <action name="Raise"/>
+ <action name="ShowMenu"><menu>client-menu</menu></action>
+ </mousebind>
+ </context>
+
+ <context name="Top">
+ <mousebind button="Left" action="Drag">
+ <action name="Resize"><edge>top</edge></action>
+ </mousebind>
+ </context>
+
+ <context name="Left">
+ <mousebind button="Left" action="Drag">
+ <action name="Resize"><edge>left</edge></action>
+ </mousebind>
+ </context>
+
+ <context name="Right">
+ <mousebind button="Left" action="Drag">
+ <action name="Resize"><edge>right</edge></action>
+ </mousebind>
+ </context>
+
+ <context name="Bottom">
+ <mousebind button="Left" action="Drag">
+ <action name="Resize"><edge>bottom</edge></action>
+ </mousebind>
+
+ <mousebind button="Right" action="Press">
+ <action name="Focus"/>
+ <action name="Raise"/>
+ <action name="ShowMenu"><menu>client-menu</menu></action>
+ </mousebind>
+ </context>
+
+ <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"/>
+ </mousebind>
+ </context>
+
+ <context name="Client">
+ <mousebind button="Left" action="Press">
+ <action name="Focus"/>
+ <action name="Raise"/>
+ </mousebind>
+ <mousebind button="Middle" action="Press">
+ <action name="Focus"/>
+ <action name="Raise"/>
+ </mousebind>
+ <mousebind button="Right" action="Press">
+ <action name="Focus"/>
+ <action name="Raise"/>
+ </mousebind>
+ </context>
+
+ <context name="Icon">
+ <mousebind button="Left" action="Press">
+ <action name="Focus"/>
+ <action name="Raise"/>
+ <action name="Unshade"/>
+ <action name="ShowMenu"><menu>client-menu</menu></action>
+ </mousebind>
+ <mousebind button="Right" action="Press">
+ <action name="Focus"/>
+ <action name="Raise"/>
+ <action name="ShowMenu"><menu>client-menu</menu></action>
+ </mousebind>
+ </context>
+
+ <context name="AllDesktops">
+ <mousebind button="Left" action="Press">
+ <action name="Focus"/>
+ <action name="Raise"/>
+ <action name="Unshade"/>
+ </mousebind>
+ <mousebind button="Left" action="Click">
+ <action name="ToggleOmnipresent"/>
+ </mousebind>
+ </context>
+
+ <context name="Shade">
+ <mousebind button="Left" action="Press">
+ <action name="Focus"/>
+ <action name="Raise"/>
+ </mousebind>
+ <mousebind button="Left" action="Click">
+ <action name="ToggleShade"/>
+ </mousebind>
+ </context>
+
+ <context name="Iconify">
+ <mousebind button="Left" action="Press">
+ <action name="Focus"/>
+ <action name="Raise"/>
+ </mousebind>
+ <mousebind button="Left" action="Click">
+ <action name="Iconify"/>
+ </mousebind>
+ </context>
+
+ <context name="Maximize">
+ <mousebind button="Left" action="Press">
+ <action name="Focus"/>
+ <action name="Raise"/>
+ <action name="Unshade"/>
+ </mousebind>
+ <mousebind button="Middle" action="Press">
+ <action name="Focus"/>
+ <action name="Raise"/>
+ <action name="Unshade"/>
+ </mousebind>
+ <mousebind button="Right" action="Press">
+ <action name="Focus"/>
+ <action name="Raise"/>
+ <action name="Unshade"/>
+ </mousebind>
+ <mousebind button="Left" action="Click">
+ <action name="ToggleMaximize"/>
+ </mousebind>
+ <mousebind button="Middle" action="Click">
+ <action name="ToggleMaximize"><direction>vertical</direction></action>
+ </mousebind>
+ <mousebind button="Right" action="Click">
+ <action name="ToggleMaximize"><direction>horizontal</direction></action>
+ </mousebind>
+ </context>
+
+ <context name="Close">
+ <mousebind button="Left" action="Press">
+ <action name="Focus"/>
+ <action name="Raise"/>
+ <action name="Unshade"/>
+ </mousebind>
+ <mousebind button="Left" action="Click">
+ <action name="Close"/>
+ </mousebind>
+ </context>
+
+ <context name="Desktop">
+ <mousebind button="Up" action="Click">
+ <action name="GoToDesktop"><to>previous</to></action>
+ </mousebind>
+ <mousebind button="Down" action="Click">
+ <action name="GoToDesktop"><to>next</to></action>
+ </mousebind>
+
+ <mousebind button="A-Up" action="Click">
+ <action name="GoToDesktop"><to>previous</to></action>
+ </mousebind>
+ <mousebind button="A-Down" action="Click">
+ <action name="GoToDesktop"><to>next</to></action>
+ </mousebind>
+ <mousebind button="C-A-Up" action="Click">
+ <action name="GoToDesktop"><to>previous</to></action>
+ </mousebind>
+ <mousebind button="C-A-Down" action="Click">
+ <action name="GoToDesktop"><to>next</to></action>
+ </mousebind>
+
+ <mousebind button="Left" action="Press">
+ <action name="Focus"/>
+ <action name="Raise"/>
+ </mousebind>
+ <mousebind button="Right" action="Press">
+ <action name="Focus"/>
+ <action name="Raise"/>
+ </mousebind>
+ </context>
+
+ <context name="Root">
+ <!-- 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="Click">
+ <action name="GoToDesktop"><to>previous</to></action>
+ </mousebind>
+ <mousebind button="Down" action="Click">
+ <action name="GoToDesktop"><to>next</to></action>
+ </mousebind>
+ <mousebind button="A-Up" action="Click">
+ <action name="GoToDesktop"><to>previous</to></action>
+ </mousebind>
+ <mousebind button="A-Down" action="Click">
+ <action name="GoToDesktop"><to>next</to></action>
+ </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/) -->
+ <!-- system menu files on Debian systems -->
+ <file>/var/lib/openbox/debian-menu.xml</file>
+ <file>menu.xml</file>
+ <hideDelay>200</hideDelay>
+ <!-- if a press-release lasts longer than this setting (in milliseconds), the
+ menu is hidden again -->
+ <middle>no</middle>
+ <!-- center submenus vertically about the parent entry -->
+ <submenuShowDelay>100</submenuShowDelay>
+ <!-- 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 -->
+</menu>
+
+<applications>
+<!--
+ # this is an example with comments through out. use these to make your
+ # own rules, but without the comments of course.
+ # 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.
+
+ # the type is one of: normal, dialog, splash, utility, menu, toolbar, dock,
+ # or desktop
+
+ # when multiple rules match a window, they will all be applied, in the
+ # order that they appear in this list
+
+
+ # each rule element can be left out or set to 'default' to specify to not
+ # change that attribute of the window
+
+ <decor>yes</decor>
+ # enable or disable window decorations
+
+ <shade>no</shade>
+ # make the window shaded when it appears, or not
+
+ <position force="no">
+ # the position is only used if both an x and y coordinate are provided
+ # (and not set to 'default')
+ # when force is "yes", then the window will be placed here even if it
+ # says you want it placed elsewhere. this is to override buggy
+ # 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). 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.
+ # 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
+ # restrictions may apply, but Openbox will try to
+
+ <desktop>1</desktop>
+ # 1 is the first desktop, 'all' for all desktops
+
+ <layer>normal</layer>
+ # 'above', 'normal', or 'below'
+
+ <iconic>no</iconic>
+ # make the window iconified when it appears, or not
+
+ <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>
+ # make the window in fullscreen mode when it appears
+
+ <maximized>true</maximized>
+ # 'Horizontal', 'Vertical' or boolean (yes/no)
+ </application>
+
+ # end of the example
+-->
+<application role="browser">
+<maximized>yes</maximized>
+</application>
+</applications>
+
+</openbox_config>
diff --git a/core/modules/openbox/data/etc/xdg/openbox/rc.xml.safe b/core/modules/openbox/data/etc/xdg/openbox/rc.xml.safe
new file mode 100644
index 00000000..fb392461
--- /dev/null
+++ b/core/modules/openbox/data/etc/xdg/openbox/rc.xml.safe
@@ -0,0 +1,426 @@
+<?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/3.4/rc"
+ xmlns:xi="http://www.w3.org/2001/XInclude">
+
+<resistance>
+ <strength>10</strength>
+ <screen_edge_strength>20</screen_edge_strength>
+</resistance>
+
+<focus>
+ <focusNew>yes</focusNew>
+ <!-- always try to focus new windows when they appear. other rules do
+ apply -->
+ <followMouse>no</followMouse>
+ <!-- move focus to a window when you move the mouse into it -->
+ <focusLast>yes</focusLast>
+ <!-- focus the last used window when changing desktops, instead of the one
+ under the mouse pointer. when followMouse is enabled -->
+ <underMouse>no</underMouse>
+ <!-- move focus under the mouse, even when the mouse is not moving -->
+ <focusDelay>200</focusDelay>
+ <!-- when followMouse is enabled, the mouse must be inside the window for
+ this many milliseconds (1000 = 1 sec) before moving focus to it -->
+ <raiseOnFocus>no</raiseOnFocus>
+ <!-- when followMouse is enabled, and a window is given focus by moving the
+ mouse into it, also raise the window -->
+</focus>
+
+<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>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, '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>
+ <name>Clearlooks</name>
+ <titleLayout>NLIMC</titleLayout>
+ <!--
+ available 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="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 -->
+ <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
+
+ these are default values to use when other ones are not already set
+ by other applications, or saved in your session
+
+ use obconf if you want to change these without having to log out
+ and back in -->
+ <number>1</number>
+ <firstdesk>1</firstdesk>
+ <names>
+ <!-- set names up here if you want to, like this:
+ <name>desktop 1</name>
+ <name>desktop 2</name>
+ -->
+ </names>
+ <popupTime>875</popupTime>
+ <!-- The number of milliseconds to show the popup for when switching
+ desktops. Set this to 0 to disable the popup. -->
+</desktops>
+
+<resize>
+ <drawContents>yes</drawContents>
+ <popupShow>Nonpixel</popupShow>
+ <!-- 'Always', 'Never', or 'Nonpixel' (xterms and such) -->
+ <popupPosition>Center</popupPosition>
+ <!-- 'Center', 'Top', or 'Fixed' -->
+ <popupFixedPosition>
+ <!-- these are used if popupPosition is set to 'Fixed' -->
+
+ <x>10</x>
+ <!-- positive number for distance from left edge, negative number for
+ distance from right edge, or 'Center' -->
+ <y>10</y>
+ <!-- positive number for distance from top edge, negative number for
+ distance from bottom edge, or 'Center' -->
+ </popupFixedPosition>
+</resize>
+
+<!-- You can reserve a portion of your screen where windows will not cover when
+ they are maximized, or when they are initially placed.
+ Many programs reserve space automatically, but you can use this in other
+ cases. -->
+<margins>
+ <top>0</top>
+ <bottom>0</bottom>
+ <left>0</left>
+ <right>0</right>
+</margins>
+
+<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>
+ <!-- Take a screenshot of the current window with gnome-screenshot when Alt+Print are pressed -->
+ <!-- Keybindings for window switching -->
+ <keybind key="A-Tab">
+ <action name="NextWindow">
+ <finalactions>
+ <action name="Focus"/>
+ <action name="Raise"/>
+ <action name="Unshade"/>
+ </finalactions>
+ </action>
+ </keybind>
+ <keybind key="A-S-Tab">
+ <action name="PreviousWindow">
+ <finalactions>
+ <action name="Focus"/>
+ <action name="Raise"/>
+ <action name="Unshade"/>
+ </finalactions>
+ </action>
+ </keybind>
+ <keybind key="C-A-Tab">
+ <action name="NextWindow">
+ <panels>yes</panels><desktop>yes</desktop>
+ <finalactions>
+ <action name="Focus"/>
+ <action name="Raise"/>
+ <action name="Unshade"/>
+ </finalactions>
+ </action>
+ </keybind>
+
+ <!-- Keybindings for running applications -->
+</keyboard>
+
+<mouse>
+ <dragThreshold>1</dragThreshold>
+ <!-- number of pixels the mouse must move before a drag begins -->
+ <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">
+ </context>
+
+ <context name="Titlebar">
+ </context>
+
+ <context name="Titlebar Top Right Bottom Left TLCorner TRCorner BRCorner BLCorner">
+ </context>
+
+ <context name="Top">
+ </context>
+
+ <context name="Left">
+ </context>
+
+ <context name="Right">
+ </context>
+
+ <context name="Bottom">
+ </context>
+
+ <context name="TRCorner BRCorner TLCorner BLCorner">
+ </context>
+
+ <context name="Client">
+ </context>
+
+ <context name="Icon">
+ </context>
+
+ <context name="AllDesktops">
+ </context>
+
+ <context name="Shade">
+ </context>
+
+ <context name="Iconify">
+ </context>
+
+ <context name="Maximize">
+ </context>
+
+ <context name="Close">
+ </context>
+
+ <context name="Desktop">
+ </context>
+
+ <context name="Root">
+ </context>
+
+ <context name="MoveResize">
+ </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/) -->
+ <!-- system menu files on Debian systems -->
+ <file>/var/lib/openbox/debian-menu.xml</file>
+ <file>menu.xml</file>
+ <hideDelay>200</hideDelay>
+ <!-- if a press-release lasts longer than this setting (in milliseconds), the
+ menu is hidden again -->
+ <middle>no</middle>
+ <!-- center submenus vertically about the parent entry -->
+ <submenuShowDelay>100</submenuShowDelay>
+ <!-- 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 -->
+</menu>
+
+<applications>
+<!--
+ # this is an example with comments through out. use these to make your
+ # own rules, but without the comments of course.
+ # 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.
+
+ # the type is one of: normal, dialog, splash, utility, menu, toolbar, dock,
+ # or desktop
+
+ # when multiple rules match a window, they will all be applied, in the
+ # order that they appear in this list
+
+
+ # each rule element can be left out or set to 'default' to specify to not
+ # change that attribute of the window
+
+ <decor>yes</decor>
+ # enable or disable window decorations
+
+ <shade>no</shade>
+ # make the window shaded when it appears, or not
+
+ <position force="no">
+ # the position is only used if both an x and y coordinate are provided
+ # (and not set to 'default')
+ # when force is "yes", then the window will be placed here even if it
+ # says you want it placed elsewhere. this is to override buggy
+ # 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). 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.
+ # 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
+ # restrictions may apply, but Openbox will try to
+
+ <desktop>1</desktop>
+ # 1 is the first desktop, 'all' for all desktops
+
+ <layer>normal</layer>
+ # 'above', 'normal', or 'below'
+
+ <iconic>no</iconic>
+ # make the window iconified when it appears, or not
+
+ <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>
+ # make the window in fullscreen mode when it appears
+
+ <maximized>true</maximized>
+ # 'Horizontal', 'Vertical' or boolean (yes/no)
+ </application>
+
+ # end of the example
+-->
+<application role="browser">
+<maximized>yes</maximized>
+<decor>no</decor>
+</application>
+</applications>
+
+</openbox_config>
diff --git a/core/modules/openbox/data/usr/share/icons/hicolor/48x48/apps/openbox.png b/core/modules/openbox/data/usr/share/icons/hicolor/48x48/apps/openbox.png
new file mode 100644
index 00000000..70d1f074
--- /dev/null
+++ b/core/modules/openbox/data/usr/share/icons/hicolor/48x48/apps/openbox.png
Binary files differ
diff --git a/core/modules/openbox/data/usr/share/xsessions/openbox.desktop b/core/modules/openbox/data/usr/share/xsessions/openbox.desktop
new file mode 100644
index 00000000..359d4f7e
--- /dev/null
+++ b/core/modules/openbox/data/usr/share/xsessions/openbox.desktop
@@ -0,0 +1,9 @@
+[Desktop Entry]
+Encoding=UTF-8
+Name=Linux 4: Openbox
+Comment=Log in using the Openbox window manager (without a session manager)
+Comment[pt_BR]=Use esta sessãpara executar o Openbox como o seu ambiente de trabalho
+Exec=/usr/bin/openbox --startup /usr/bin/xterm
+TryExec=/usr/bin/openbox
+Icon=/usr/share/icons/hicolor/48x48/apps/openbox.png
+Type=XSession
diff --git a/core/modules/openbox/module.build b/core/modules/openbox/module.build
new file mode 100644
index 00000000..0cd6aaad
--- /dev/null
+++ b/core/modules/openbox/module.build
@@ -0,0 +1,36 @@
+fetch_source() {
+ :
+}
+
+build() {
+ COPYLIST="list_dpkg_output"
+ [ -e "$COPYLIST" ] && rm "$COPYLIST"
+
+ list_packet_files >> "$COPYLIST"
+ # FIXME: Hack: openSUSE's rpm -ql lilsts non-existant pango.modules, which makes
+ # tarcopy fail. We probably can't fix that, so remove it using grep....
+ tarcopy "$(cat "$COPYLIST" | grep -v 'pango\.modules$' | sort -u)" "${MODULE_BUILD_DIR}"
+
+ return 0
+}
+
+post_copy() {
+ [ ! -d "$TARGET_BUILD_DIR/etc/pango" ] && mkdir -p "$TARGET_BUILD_DIR/etc/pango"
+
+ # little Workaround, as under e.g. 64bit Suse the binary is called
+ # pango-querymodules-64, not pango-querymodules.
+ which pango-querymodules 2>/dev/null 1>&2
+ ERR=$?
+ if [[ "$ERR" -eq 0 ]]; then
+ PANGO_QUERYMODULES_ARCH=pango-querymodules
+ else
+ which pango-querymodules-64 2>/dev/null 1>&2
+ ERR=$?
+ if [[ "$ERR" -eq 0 ]]; then
+ PANGO_QUERYMODULES_ARCH=pango-querymodules-64
+ else
+ perror "Could not find either pango-querymodules or pango-querymodules-64!"
+ fi
+ fi
+ $PANGO_QUERYMODULES_ARCH > "$TARGET_BUILD_DIR/etc/pango/pango.modules"
+}
diff --git a/core/modules/openbox/module.conf b/core/modules/openbox/module.conf
new file mode 100644
index 00000000..8a816b97
--- /dev/null
+++ b/core/modules/openbox/module.conf
@@ -0,0 +1,11 @@
+REQUIRED_BINARIES="
+ openbox
+ openbox-session
+"
+REQUIRED_FILES="
+ /usr/share/xsessions/openbox.desktop
+"
+REQUIRED_DIRECTORIES="
+ /etc
+ /usr/share/themes/Clearlooks
+"
diff --git a/core/modules/openbox/module.conf.debian b/core/modules/openbox/module.conf.debian
new file mode 100644
index 00000000..b10bd40d
--- /dev/null
+++ b/core/modules/openbox/module.conf.debian
@@ -0,0 +1,15 @@
+REQUIRED_INSTALLED_PACKAGES="
+ openbox
+ libpango1.0-0
+ libpango1.0-dev
+ libdbus-1-dev
+"
+REQUIRED_CONTENT_PACKAGES="
+ openbox
+ libpango1.0-0
+ libpango1.0-dev
+ libdbus-1-dev
+"
+REQUIRED_DIRECTORIES+="
+ /usr/lib
+"
diff --git a/core/modules/openbox/module.conf.fedora b/core/modules/openbox/module.conf.fedora
new file mode 100644
index 00000000..f919f3b3
--- /dev/null
+++ b/core/modules/openbox/module.conf.fedora
@@ -0,0 +1,11 @@
+REQUIRED_INSTALLED_PACKAGES="
+ openbox
+ pango
+"
+REQUIRED_CONTENT_PACKAGES="
+ openbox
+ pango
+"
+REQUIRED_DIRECTORIES+="
+ /usr/$LIB64
+"
diff --git a/core/modules/openbox/module.conf.opensuse b/core/modules/openbox/module.conf.opensuse
new file mode 100644
index 00000000..c06a89b2
--- /dev/null
+++ b/core/modules/openbox/module.conf.opensuse
@@ -0,0 +1,13 @@
+REQUIRED_INSTALLED_PACKAGES="
+ openbox
+ libpango-1_0-0
+ pango-tools
+"
+REQUIRED_CONTENT_PACKAGES="
+ openbox
+ libpango-1_0-0
+ pango-tools
+"
+REQUIRED_DIRECTORIES+="
+ /usr/$LIB64
+"
diff --git a/core/modules/openbox/module.conf.ubuntu b/core/modules/openbox/module.conf.ubuntu
new file mode 100644
index 00000000..b10bd40d
--- /dev/null
+++ b/core/modules/openbox/module.conf.ubuntu
@@ -0,0 +1,15 @@
+REQUIRED_INSTALLED_PACKAGES="
+ openbox
+ libpango1.0-0
+ libpango1.0-dev
+ libdbus-1-dev
+"
+REQUIRED_CONTENT_PACKAGES="
+ openbox
+ libpango1.0-0
+ libpango1.0-dev
+ libdbus-1-dev
+"
+REQUIRED_DIRECTORIES+="
+ /usr/lib
+"
diff --git a/core/modules/openbox/module.conf.zypper b/core/modules/openbox/module.conf.zypper
new file mode 100644
index 00000000..1d0b68c5
--- /dev/null
+++ b/core/modules/openbox/module.conf.zypper
@@ -0,0 +1,11 @@
+REQUIRED_INSTALLED_PACKAGES=" openbox
+ libpango-1_0-0"
+REQUIRED_CONTENT_PACKAGES=" openbox
+ libpango-1_0-0"
+REQUIRED_BINARIES=" openbox
+ openbox-session"
+REQUIRED_FILES=" /usr/share/xsessions/openbox.desktop"
+REQUIRED_DIRECTORIES=" /etc
+ /usr/$LIB64
+ /usr/share/themes/Clearlooks"
+