diff options
author | Que Quotion | 2015-10-24 03:09:01 +0900 |
---|---|---|
committer | Que Quotion | 2015-10-24 03:09:01 +0900 |
commit | aad01227f0a16562eb95b1ad70072a4b627da84f (patch) | |
tree | 598df5a6e45df1270c0883613bc205d601171d90 | |
download | aur-aad01227f0a16562eb95b1ad70072a4b627da84f.tar.gz |
Pantheon-Lite: Replaces Gala with Openbox and Compton
-rw-r--r-- | .SRCINFO | 46 | ||||
-rw-r--r-- | .gitignore | 54 | ||||
-rw-r--r-- | PKGBUILD | 42 | ||||
-rw-r--r-- | compton-dbus.desktop | 11 | ||||
-rwxr-xr-x | compton-inverter | 68 | ||||
-rwxr-xr-x | obsession | 5 | ||||
-rw-r--r-- | obsession.desktop | 10 | ||||
-rw-r--r-- | openbox-qq-rc.xml | 774 | ||||
-rw-r--r-- | pantheon-openbox.desktop | 7 | ||||
-rw-r--r-- | pantheon-openbox.session | 5 |
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 |