summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorQue Quotion2015-10-24 03:09:01 +0900
committerQue Quotion2015-10-24 03:09:01 +0900
commitaad01227f0a16562eb95b1ad70072a4b627da84f (patch)
tree598df5a6e45df1270c0883613bc205d601171d90
downloadaur-aad01227f0a16562eb95b1ad70072a4b627da84f.tar.gz
Pantheon-Lite: Replaces Gala with Openbox and Compton
-rw-r--r--.SRCINFO46
-rw-r--r--.gitignore54
-rw-r--r--PKGBUILD42
-rw-r--r--compton-dbus.desktop11
-rwxr-xr-xcompton-inverter68
-rwxr-xr-xobsession5
-rw-r--r--obsession.desktop10
-rw-r--r--openbox-qq-rc.xml774
-rw-r--r--pantheon-openbox.desktop7
-rw-r--r--pantheon-openbox.session5
10 files changed, 1022 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..bce126484eeb
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,46 @@
+pkgbase = pantheon-lite
+ pkgdesc = Pantheon Lite Session (replaces Gala with Openbox & Compton)
+ pkgver = 2
+ pkgrel = 3
+ url = https://bbs.archlinux.org/viewtopic.php?pid=1402016#p1402016
+ arch = i686
+ arch = x86_64
+ license = GPL3
+ depends = openbox
+ depends = compton
+ depends = pantheon-workarounds
+ depends = gnome-settings-daemon
+ depends = gnome-settings-daemon-compat
+ depends = gnome-session
+ depends = plank
+ depends = cerbere
+ depends = wingpanel-bzr
+ optdepends = obconf: openbox configuration utility
+ optdepends = indicator-powersave: On the fly power savings and performance toggles
+ optdepends = wingpanel-indicator-ayatana-bzr: Tray applet
+ optdepends = wingpanel-indicator-bluetooth-bzr: Tray applet
+ optdepends = wingpanel-indicator-datetime-bzr: Tray applet
+ optdepends = wingpanel-indicator-network-bzr: Tray applet
+ optdepends = wingpanel-indicator-power-bzr: Tray applet
+ optdepends = wingpanel-indicator-slingshot-bzr: Tray applet
+ optdepends = wingpanel-indicator-sound-bzr: Tray applet
+ optdepends = xscreensaver-dbus-screenlock: xscreensaver locker for gnome-derivative desktops
+ optdepends = elementary-os-openbox: Elementary theme for Openbox
+ provides = pantheon-lite
+ source = pantheon-openbox.desktop
+ source = pantheon-openbox.session
+ source = compton-dbus.desktop
+ source = compton-inverter
+ source = obsession
+ source = obsession.desktop
+ source = openbox-qq-rc.xml
+ sha512sums = 6c48a8b49efe2df87b7bdc4e4c315c788270eb5c3cba4fd14493f389257e9d307268834d7c35945ff45654c248e0c874f01f80d78fa4c8a9b52aa23b20896273
+ sha512sums = 7346a04b891a53a315eab6ec161b2d10b427e9c88f5d38c6734dcf50ce83a0c0563d1a7d75bfea573509ed11f45acd9087ce024d2da98a7a4817f65dd3d728c7
+ sha512sums = 0917b70b9811e8f4a61a5f962f9103c378385d58f2b5b62c770ed0d3f75874aa0678be468270c370248f5e24279208c38fabbff704da1ed9b67c07d8cb0becc2
+ sha512sums = 8696b95b4f6b37c9edddcdbef95300d0651d56b12cf1238204874aa625a37c84a30b324b08bdfbe67735785eea2c448e09ad3e2028c0f6058b02b7d4cf665e7c
+ sha512sums = 29003ab93d6ddded6503b8686764ef269bd3f93c14d92a9998c6504e2cde6bc6a71f4c8bedcb5ccb2b94cea776a7ba57e2ffa360b949b99c44dedd7d3e5ad254
+ sha512sums = c70588c4d844c8916a97c61fae40dab2a38527fa0d31c7261700766f2e784d642edccb1a64544b9dfdc0655dd5a6b872e9bf323029091656ae45b0924d15ea0e
+ sha512sums = 581ebce75d6b7915d586ae0b34fd4ed4620c3f3dd0ab5d3e8516f03d286a09d0b66141193a8178845c853dbb86d986de906555598133210ba946e4dd54eba60e
+
+pkgname = pantheon-lite
+
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 000000000000..e08ca2112f65
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,54 @@
+# Compiled source #
+###################
+*.com
+*.class
+*.dll
+*.exe
+*.o
+*.so
+
+# Packages #
+############
+# it's better to unpack these files and commit the raw source
+# git has its own built in compression methods
+*.7z
+*.dmg
+*.gz
+*.iso
+*.jar
+*.rar
+*.tar
+*.zip
+*.xz
+
+# Archlinux Packaging #
+#######################
+*.tar
+*.tar.*
+*.zip
+*.tgz
+*.log
+*.log.*
+*.sig
+pkg/
+src/
+
+# Logs and databases #
+######################
+*.log
+*.sql
+*.sqlite
+
+# OS generated files #
+######################
+.DS_Store
+.DS_Store?
+._*
+.Spotlight-V100
+.Trashes
+ehthumbs.db
+Thumbs.db
+*~
+
+# Particulars #
+###############
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..fe10072d13a9
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,42 @@
+# Maintainer: Que Quotion <quequotion@bugmenot.org>
+# Contributor: Maxime Gauduin <alucryd@archlinux.org>
+# Contributor: Ner0 <darkelfdarkelf666@yahoo.co.uk>
+
+pkgname=pantheon-lite
+pkgver=2
+pkgrel=3
+pkgdesc='Pantheon Lite Session (replaces Gala with Openbox & Compton)'
+arch=('i686' 'x86_64')
+url='https://bbs.archlinux.org/viewtopic.php?pid=1402016#p1402016'
+license=('GPL3')
+depends=('openbox' 'compton' 'pantheon-workarounds'
+ gnome-{settings-daemon{,-compat},session}
+ 'plank' 'cerbere' 'wingpanel-bzr')
+optdepends=("obconf: openbox configuration utility"
+ "indicator-powersave: On the fly power savings and performance toggles"
+ wingpanel-indicator-{ayatana,bluetooth,datetime,network,power,slingshot,sound}-bzr": Tray applet"
+ "xscreensaver-dbus-screenlock: xscreensaver locker for gnome-derivative desktops"
+ "elementary-os-openbox: Elementary theme for Openbox")
+provides=("pantheon-lite")
+conflicts=()
+source=(pantheon-openbox.{desktop,session}
+ compton-{dbus.desktop,inverter}
+ obsession{,.desktop}
+ openbox-qq-rc.xml)
+sha512sums=('6c48a8b49efe2df87b7bdc4e4c315c788270eb5c3cba4fd14493f389257e9d307268834d7c35945ff45654c248e0c874f01f80d78fa4c8a9b52aa23b20896273'
+ '7346a04b891a53a315eab6ec161b2d10b427e9c88f5d38c6734dcf50ce83a0c0563d1a7d75bfea573509ed11f45acd9087ce024d2da98a7a4817f65dd3d728c7'
+ '0917b70b9811e8f4a61a5f962f9103c378385d58f2b5b62c770ed0d3f75874aa0678be468270c370248f5e24279208c38fabbff704da1ed9b67c07d8cb0becc2'
+ '8696b95b4f6b37c9edddcdbef95300d0651d56b12cf1238204874aa625a37c84a30b324b08bdfbe67735785eea2c448e09ad3e2028c0f6058b02b7d4cf665e7c'
+ '29003ab93d6ddded6503b8686764ef269bd3f93c14d92a9998c6504e2cde6bc6a71f4c8bedcb5ccb2b94cea776a7ba57e2ffa360b949b99c44dedd7d3e5ad254'
+ 'c70588c4d844c8916a97c61fae40dab2a38527fa0d31c7261700766f2e784d642edccb1a64544b9dfdc0655dd5a6b872e9bf323029091656ae45b0924d15ea0e'
+ '581ebce75d6b7915d586ae0b34fd4ed4620c3f3dd0ab5d3e8516f03d286a09d0b66141193a8178845c853dbb86d986de906555598133210ba946e4dd54eba60e')
+
+package() {
+ install -Dm655 {,"${pkgdir}"/usr/share/xsessions/}pantheon-openbox.desktop
+ install -Dm655 {,"${pkgdir}"/usr/share/gnome-session/sessions/}pantheon-openbox.session
+ install -Dm655 {,"${pkgdir}"/usr/share/applications/}compton-dbus.desktop
+ install -Dm655 {,"${pkgdir}"/usr/bin/}compton-inverter
+ install -Dm655 {,"${pkgdir}"/usr/bin/}obsession
+ install -Dm655 {,"${pkgdir}"/usr/share/applications/}obsession.desktop
+}
+
diff --git a/compton-dbus.desktop b/compton-dbus.desktop
new file mode 100644
index 000000000000..3a4b45a9cad5
--- /dev/null
+++ b/compton-dbus.desktop
@@ -0,0 +1,11 @@
+[Desktop Entry]
+Version=1.0
+Type=Application
+Name=compton
+GenericName=X compositor
+Comment=A X compositor
+Categories=Utility;
+TryExec=compton
+Exec=compton --dbus
+# Icon=xcompmgr
+# Thanks to quequotion for providing this file!
diff --git a/compton-inverter b/compton-inverter
new file mode 100755
index 000000000000..8a57037b3d74
--- /dev/null
+++ b/compton-inverter
@@ -0,0 +1,68 @@
+#!/bin/sh
+
+# === Verify `compton --dbus` status ===
+
+if [ -z "$(dbus-send --session --dest=org.freedesktop.DBus --type=method_call --print-reply /org/freedesktop/DBus org.freedesktop.DBus.ListNames | grep compton)" ]; then
+ echo "compton DBus interface unavailable"
+ if [ -n "$(pgrep compton)" ]; then
+ echo "compton running without dbus interface"
+ #killall compton & # Causes all windows to flicker away and come back ugly.
+ #compton --dbus & # Causes all windows to flicker away and come back beautiful
+ else
+ echo "compton not running"
+ fi
+ exit 1;
+fi
+
+# === Setup sed ===
+
+if [ -z "$SED" ]; then
+ SED="sed"
+ command -v gsed > /dev/null && SED="gsed"
+fi
+
+# === Get connection parameters ===
+
+dpy=$(echo -n "$DISPLAY" | tr -c '[:alnum:]' _)
+
+if [ -z "$dpy" ]; then
+ echo "Cannot find display."
+ exit 1;
+fi
+
+service="com.github.chjj.compton.${dpy}"
+interface="com.github.chjj.compton"
+compton_dbus="dbus-send --print-reply --dest="${service}" / "${interface}"."
+type_win='uint32'
+type_enum='uint16'
+
+# === Color Inversion ===
+
+# Get window ID of window to invert
+if [ -z "$1" -o "$1" = "selected" ]; then
+ window=$(xwininfo -frame | sed -n 's/^xwininfo: Window id: \(0x[[:xdigit:]][[:xdigit:]]*\).*/\1/p') # Select window by mouse
+elif [ "$1" = "focused" ]; then
+ # Ensure we are tracking focus
+ ${compton_dbus}opts_set string:track_focus boolean:true &
+ window=$(${compton_dbus}find_win string:focused | $SED -n 's/^[[:space:]]*'${type_win}'[[:space:]]*\([[:digit:]]*\).*/\1/p') # Query compton for the active window
+elif echo "$1" | grep -Eiq '^([[:digit:]][[:digit:]]*|0x[[:xdigit:]][[:xdigit:]]*)$'; then
+ window="$1" # Accept user-specified window-id if the format is correct
+else
+ echo "$0" "[ selected | focused | window-id ]"
+fi
+
+# Color invert the selected or focused window
+if [ -n "$window" ]; then
+ invert_status="$(${compton_dbus}win_get "${type_win}:${window}" string:invert_color | $SED -n 's/^[[:space:]]*boolean[[:space:]]*\([[:alpha:]]*\).*/\1/p')"
+ if [ "$invert_status" = true ]; then
+ invert=0 # Set the window to have normal color
+ else
+ invert=1 # Set the window to have inverted color
+ fi
+ ${compton_dbus}win_set "${type_win}:${window}" string:invert_color_force "${type_enum}:${invert}" &
+else
+ echo "Cannot find $1 window."
+ exit 1;
+fi
+exit 0;
+
diff --git a/obsession b/obsession
new file mode 100755
index 000000000000..6706ec99da0e
--- /dev/null
+++ b/obsession
@@ -0,0 +1,5 @@
+#!/bin/bash
+#An additional script for setting certain options; not necessarily limited to openbox sessions
+
+#Default, empty background comes out gray. Black is cooler.
+hsetroot -solid "#000000"
diff --git a/obsession.desktop b/obsession.desktop
new file mode 100644
index 000000000000..32b7a891bc0f
--- /dev/null
+++ b/obsession.desktop
@@ -0,0 +1,10 @@
+[Desktop Entry]
+Type=Application
+Name=Openbox Session Settings
+Exec=obsession
+Icon=openbox
+NoDisplay=true
+# name we put on the WM spec check window
+X-GNOME-WMName=Openbox
+# gnome-session autostart
+X-GNOME-Autostart-Phase=WindowManager
diff --git a/openbox-qq-rc.xml b/openbox-qq-rc.xml
new file mode 100644
index 000000000000..d4e0619f6025
--- /dev/null
+++ b/openbox-qq-rc.xml
@@ -0,0 +1,774 @@
+<?xml version="1.0"?>
+<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>elementary-os-openbox</name>
+ <titleLayout>CLM</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>10</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>10</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>12</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>12</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>12</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>12</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>
+ <name>Front</name>
+ <name>Right</name>
+ <name>Back</name>
+ <name>Left</name>
+ </names>
+ <popupTime>600</popupTime>
+ <!-- The number of milliseconds to show the popup for when switching
+ desktops. Set this to 0 to disable the popup. -->
+ </desktops>
+ <resize>
+ <drawContents>no</drawContents>
+ <popupShow>Always</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>Bottom</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>Horizontal</direction>
+ <!-- 'Vertical' or 'Horizontal' -->
+ <autoHide>yes</autoHide>
+ <hideDelay>250</hideDelay>
+ <!-- in milliseconds (1000 = 1 second) -->
+ <showDelay>250</showDelay>
+ <!-- in milliseconds (1000 = 1 second) -->
+ <moveButton>Middle</moveButton>
+ <!-- 'Left', 'Middle', 'Right' -->
+ </dock>
+ <keyboard>
+ <chainQuitKey>C-g</chainQuitKey>
+ <keybind key="C-A-Left">
+ <action name="GoToDesktop">
+ <to>previous</to>
+ </action>
+ </keybind>
+ <keybind key="C-A-Right">
+ <action name="GoToDesktop">
+ <to>next</to>
+ </action>
+ </keybind>
+ <keybind key="C-A-Up">
+ <action name="GoToDesktop"/>
+ </keybind>
+ <keybind key="C-A-Down">
+ <action name="GoToDesktop"/>
+ </keybind>
+ <keybind key="S-A-Left">
+ <action name="SendToDesktop">
+ <desktop>1</desktop>
+ </action>
+ </keybind>
+ <keybind key="S-A-Right">
+ <action name="SendToDesktop">
+ <desktop>1</desktop>
+ </action>
+ </keybind>
+ <keybind key="S-A-Up">
+ <action name="SendToDesktop">
+ <desktop>1</desktop>
+ </action>
+ </keybind>
+ <keybind key="S-A-Down">
+ <action name="SendToDesktop">
+ <desktop>1</desktop>
+ </action>
+ </keybind>
+ <keybind key="W-F1">
+ <action name="GoToDesktop"/>
+ </keybind>
+ <keybind key="W-F2">
+ <action name="GoToDesktop"/>
+ </keybind>
+ <keybind key="W-F3">
+ <action name="GoToDesktop"/>
+ </keybind>
+ <keybind key="W-F4">
+ <action name="GoToDesktop"/>
+ </keybind>
+ <keybind key="W-d">
+ <action name="ToggleShowDesktop"/>
+ </keybind>
+ <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>
+ <keybind key="A-Tab">
+ <action name="NextWindow">
+ <dialog>no</dialog>
+ <raise>yes</raise>
+ <allDesktops>yes</allDesktops>
+ <linear>yes</linear>
+ <finalactions>
+ <action name="Focus"/>
+ <action name="Raise"/>
+ <action name="Unshade"/>
+ </finalactions>
+ </action>
+ </keybind>
+ <keybind key="A-S-Tab">
+ <action name="PreviousWindow">
+ <dialog>no</dialog>
+ <raise>yes</raise>
+ <allDesktops>yes</allDesktops>
+ <linear>yes</linear>
+ <finalactions>
+ <action name="Focus"/>
+ <action name="Raise"/>
+ <action name="Unshade"/>
+ </finalactions>
+ </action>
+ </keybind>
+ <keybind key="C-A-Tab">
+ <action name="NextWindow">
+ <dialog>none</dialog>
+ <panels>yes</panels>
+ <desktop>yes</desktop>
+ </action>
+ </keybind>
+ <keybind key="W-S-Right">
+ <action name="DirectionalCycleWindows"/>
+ </keybind>
+ <keybind key="W-S-Left">
+ <action name="DirectionalCycleWindows"/>
+ </keybind>
+ <keybind key="W-S-Up">
+ <action name="DirectionalCycleWindows"/>
+ </keybind>
+ <keybind key="W-S-Down">
+ <action name="DirectionalCycleWindows"/>
+ </keybind>
+ <keybind key="W-e">
+ <action name="Execute">
+ <command>kfmclient openProfile filemanagement</command>
+ <startupnotify>
+ <enabled>yes</enabled>
+ <name>Konqueror</name>
+ </startupnotify>
+ </action>
+ </keybind>
+ <keybind key="A-W-n">
+ <action name="Execute">
+ <command>compton-inverter.sh focused</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 action="Press" button="A-Left">
+ <action name="Focus"/>
+ <action name="Raise"/>
+ </mousebind>
+ <mousebind action="Click" button="A-Left">
+ <action name="Unshade"/>
+ </mousebind>
+ <mousebind action="Drag" button="A-Left">
+ <action name="Move"/>
+ </mousebind>
+ <mousebind action="Press" button="A-Right">
+ <action name="Focus"/>
+ <action name="Raise"/>
+ <action name="Unshade"/>
+ </mousebind>
+ <mousebind action="Drag" button="A-Right">
+ <action name="Resize"/>
+ </mousebind>
+ <mousebind action="Press" button="A-Middle">
+ <action name="Lower"/>
+ <action name="FocusToBottom"/>
+ <action name="Unfocus"/>
+ </mousebind>
+ <mousebind action="Click" button="A-Up">
+ <action name="Execute">
+ <command>compton-trans -c +5</command>
+ </action>
+ </mousebind>
+ <mousebind action="Click" button="A-Down">
+ <action name="Execute">
+ <command>compton-trans -c -5</command>
+ </action>
+ </mousebind>
+ <mousebind action="Click" button="C-A-Up">
+ <action name="GoToDesktop">
+ <to>previous</to>
+ </action>
+ </mousebind>
+ <mousebind action="Click" button="C-A-Down">
+ <action name="GoToDesktop">
+ <to>next</to>
+ </action>
+ </mousebind>
+ <mousebind action="Click" button="A-S-Up">
+ <action name="SendToDesktop">
+ <to>previous</to>
+ </action>
+ </mousebind>
+ <mousebind action="Click" button="A-S-Down">
+ <action name="SendToDesktop">
+ <to>next</to>
+ </action>
+ </mousebind>
+ </context>
+ <context name="Titlebar">
+ <mousebind action="Drag" button="Left">
+ <action name="Move"/>
+ </mousebind>
+ <mousebind action="DoubleClick" button="Left">
+ <action name="ToggleMaximize"/>
+ </mousebind>
+ </context>
+ <context name="Titlebar Top Right Bottom Left TLCorner TRCorner BRCorner BLCorner">
+ <mousebind action="Press" button="Left">
+ <action name="Focus"/>
+ <action name="Raise"/>
+ <action name="Unshade"/>
+ </mousebind>
+ <mousebind action="Press" button="Middle">
+ <action name="Lower"/>
+ <action name="FocusToBottom"/>
+ <action name="Unfocus"/>
+ </mousebind>
+ <mousebind action="Press" button="Right">
+ <action name="Focus"/>
+ <action name="Raise"/>
+ <action name="ShowMenu">
+ <menu>client-menu</menu>
+ </action>
+ </mousebind>
+ </context>
+ <context name="Top">
+ <mousebind action="Drag" button="Left">
+ <action name="Resize">
+ <edge>top</edge>
+ </action>
+ </mousebind>
+ </context>
+ <context name="Left">
+ <mousebind action="Drag" button="Left">
+ <action name="Resize">
+ <edge>left</edge>
+ </action>
+ </mousebind>
+ </context>
+ <context name="Right">
+ <mousebind action="Drag" button="Left">
+ <action name="Resize">
+ <edge>right</edge>
+ </action>
+ </mousebind>
+ </context>
+ <context name="Bottom">
+ <mousebind action="Drag" button="Left">
+ <action name="Resize">
+ <edge>bottom</edge>
+ </action>
+ </mousebind>
+ <mousebind action="Press" button="Right">
+ <action name="Focus"/>
+ <action name="Raise"/>
+ <action name="ShowMenu">
+ <menu>client-menu</menu>
+ </action>
+ </mousebind>
+ </context>
+ <context name="TRCorner BRCorner TLCorner BLCorner">
+ <mousebind action="Press" button="Left">
+ <action name="Focus"/>
+ <action name="Raise"/>
+ <action name="Unshade"/>
+ </mousebind>
+ <mousebind action="Drag" button="Left">
+ <action name="Resize"/>
+ </mousebind>
+ </context>
+ <context name="Client">
+ <mousebind action="Press" button="Left">
+ <action name="Focus"/>
+ <action name="Raise"/>
+ </mousebind>
+ <mousebind action="Press" button="Middle">
+ <action name="Focus"/>
+ <action name="Raise"/>
+ </mousebind>
+ <mousebind action="Press" button="Right">
+ <action name="Focus"/>
+ <action name="Raise"/>
+ </mousebind>
+ </context>
+ <context name="Icon">
+ <mousebind action="Press" button="Left">
+ <action name="Focus"/>
+ <action name="Raise"/>
+ <action name="Unshade"/>
+ <action name="ShowMenu">
+ <menu>client-menu</menu>
+ </action>
+ </mousebind>
+ <mousebind action="Press" button="Right">
+ <action name="Focus"/>
+ <action name="Raise"/>
+ <action name="ShowMenu">
+ <menu>client-menu</menu>
+ </action>
+ </mousebind>
+ </context>
+ <context name="AllDesktops">
+ <mousebind action="Press" button="Left">
+ <action name="Focus"/>
+ <action name="Raise"/>
+ <action name="Unshade"/>
+ </mousebind>
+ <mousebind action="Click" button="Left">
+ <action name="ToggleOmnipresent"/>
+ </mousebind>
+ </context>
+ <context name="Shade">
+ <mousebind action="Press" button="Left">
+ <action name="Focus"/>
+ <action name="Raise"/>
+ </mousebind>
+ <mousebind action="Click" button="Left">
+ <action name="ToggleShade"/>
+ </mousebind>
+ </context>
+ <context name="Iconify">
+ <mousebind action="Press" button="Left">
+ <action name="Focus"/>
+ <action name="Raise"/>
+ </mousebind>
+ <mousebind action="Click" button="Left">
+ <action name="Iconify"/>
+ </mousebind>
+ </context>
+ <context name="Maximize">
+ <mousebind action="Press" button="Left">
+ <action name="Focus"/>
+ <action name="Raise"/>
+ <action name="Unshade"/>
+ </mousebind>
+ <mousebind action="Press" button="Middle">
+ <action name="Focus"/>
+ <action name="Raise"/>
+ <action name="Unshade"/>
+ </mousebind>
+ <mousebind action="Press" button="Right">
+ <action name="Focus"/>
+ <action name="Raise"/>
+ <action name="Unshade"/>
+ </mousebind>
+ <mousebind action="Click" button="Left">
+ <action name="ToggleMaximize"/>
+ </mousebind>
+ <mousebind action="Click" button="Middle">
+ <action name="ToggleMaximize">
+ <direction>vertical</direction>
+ </action>
+ </mousebind>
+ <mousebind action="Click" button="Right">
+ <action name="ToggleMaximize">
+ <direction>horizontal</direction>
+ </action>
+ </mousebind>
+ </context>
+ <context name="Close">
+ <mousebind action="Press" button="Left">
+ <action name="Focus"/>
+ <action name="Raise"/>
+ <action name="Unshade"/>
+ </mousebind>
+ <mousebind action="Click" button="Left">
+ <action name="Close"/>
+ </mousebind>
+ </context>
+ <context name="Desktop">
+ <mousebind action="Click" button="Up">
+ <action name="GoToDesktop">
+ <to>previous</to>
+ </action>
+ </mousebind>
+ <mousebind action="Click" button="Down">
+ <action name="GoToDesktop">
+ <to>next</to>
+ </action>
+ </mousebind>
+ <mousebind action="Click" button="A-Up">
+ <action name="GoToDesktop">
+ <to>previous</to>
+ </action>
+ </mousebind>
+ <mousebind action="Click" button="A-Down">
+ <action name="GoToDesktop">
+ <to>next</to>
+ </action>
+ </mousebind>
+ <mousebind action="Click" button="C-A-Up">
+ <action name="GoToDesktop">
+ <to>previous</to>
+ </action>
+ </mousebind>
+ <mousebind action="Click" button="C-A-Down">
+ <action name="GoToDesktop">
+ <to>next</to>
+ </action>
+ </mousebind>
+ <mousebind action="Press" button="Left">
+ <action name="Focus"/>
+ <action name="Raise"/>
+ </mousebind>
+ <mousebind action="Press" button="Right">
+ <action name="Focus"/>
+ <action name="Raise"/>
+ </mousebind>
+ </context>
+ <context name="Root">
+ <!-- Menus -->
+ <mousebind action="Press" button="Middle">
+ <action name="ShowMenu">
+ <menu>client-list-combined-menu</menu>
+ </action>
+ </mousebind>
+ <mousebind action="Press" button="Right">
+ <action name="ShowMenu">
+ <menu>root-menu</menu>
+ </action>
+ </mousebind>
+ </context>
+ <context name="MoveResize">
+ <mousebind action="Click" button="Up">
+ <action name="GoToDesktop">
+ <to>previous</to>
+ </action>
+ </mousebind>
+ <mousebind action="Click" button="Down">
+ <action name="GoToDesktop">
+ <to>next</to>
+ </action>
+ </mousebind>
+ <mousebind action="Click" button="A-Up">
+ <action name="GoToDesktop">
+ <to>previous</to>
+ </action>
+ </mousebind>
+ <mousebind action="Click" button="A-Down">
+ <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/) -->
+ <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>
+ <application name="super-wingpanel">
+ <desktop>all</desktop>
+ </application>
+ <application class="Gnome-control-center">
+ <decor>no</decor>
+ </application>
+ <application class="Pantheon-*">
+ <decor>no</decor>
+ </application>
+ <application class="Audience">
+ <decor>no</decor>
+ </application>
+ <application class="Gedit">
+ <decor>no</decor>
+ </application>
+ <application class="Noise*">
+ <decor>no</decor>
+ </application>
+ <application class="File-roller">
+ <decor>no</decor>
+ </application>
+ <application class="Gnome-tweak-tool">
+ <decor>no</decor>
+ </application>
+ <application class="Popcorn-Time">
+ <decor>no</decor>
+ </application>
+ <application class="PCSXR">
+ <decor>no</decor>
+ </application>
+ <application class="Shotwell">
+ <decor>no</decor>
+ </application>
+ <application class="Files">
+ <decor>no</decor>
+ </application>
+ <!--
+ # 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
+-->
+ </applications>
+</openbox_config>
diff --git a/pantheon-openbox.desktop b/pantheon-openbox.desktop
new file mode 100644
index 000000000000..1ddd7d0c6cdb
--- /dev/null
+++ b/pantheon-openbox.desktop
@@ -0,0 +1,7 @@
+[Desktop Entry]
+Name=Pantheon Lite
+Comment=This session provides elementary-lite experience
+Exec=/usr/bin/pantheon-session lite
+TryExec=openbox
+Icon=/usr/share/pixmaps/openbox.png
+Type=Application
diff --git a/pantheon-openbox.session b/pantheon-openbox.session
new file mode 100644
index 000000000000..d39ebd45f55b
--- /dev/null
+++ b/pantheon-openbox.session
@@ -0,0 +1,5 @@
+[GNOME Session]
+Name=Pantheon
+RequiredComponents=openbox;compton-dbus;obsession;
+FallbackSession=openbox
+DesktopNames=Pantheon