commit f3d353fd1efbd14c97a67cc442c429d25483fd4b
parent 321326f23e818950ae5272c174d901507aae35be
Author: Ed van Bruggen <edvb54@gmail.com>
Date: Thu, 9 Oct 2014 21:33:20 -0700
OpenBox: Add OpenBox autostart, menu, and rc files
Diffstat:
3 files changed, 1465 insertions(+), 0 deletions(-)
diff --git a/config/openbox/autostart b/config/openbox/autostart
@@ -0,0 +1,82 @@
+## Openbox autostart.sh
+## ====================
+## When you login to your CrunchBang Openbox session, this autostart script
+## will be executed to set-up your environment and launch any applications
+## you want to run at startup.
+##
+## Note*: some programs, such as 'nm-applet' are run via XDG autostart.
+## Run '/usr/lib/openbox/openbox-xdg-autostart --list' to list any
+## XDG autostarted programs.
+##
+## More information about this can be found at:
+## http://openbox.org/wiki/Help:Autostart
+##
+## If you do something cool with your autostart script and you think others
+## could benefit from your hack, please consider sharing it at:
+## http://crunchbang.org/forums/
+##
+## Have fun & happy CrunchBangin'! :)
+
+screen.sh &
+
+## GNOME PolicyKit and Keyring
+eval $(gnome-keyring-daemon -s --components=pkcs11,secrets,ssh,gpg) &
+
+## Set root window colour
+hsetroot -solid "#2E3436" &
+
+## Group start:
+## 1. nitrogen - restores wallpaper
+## 2. compositor - start
+## 3. sleep - give compositor time to start
+## 4. tint2 panel
+(\
+nitrogen --restore && \
+cb-compositor --start && \
+sleep 2s && \
+tint2 \
+) &
+
+## Volume control for systray
+(sleep 2s && pnmixer) &
+
+## Volume keys daemon
+xfce4-volumed &
+
+## Enable power management
+xfce4-power-manager &
+
+## Start Thunar Daemon
+thunar --daemon &
+
+## Detect and configure touchpad. See 'man synclient' for more info.
+if egrep -iq 'touchpad' /proc/bus/input/devices; then
+ synclient VertEdgeScroll=1 &
+ synclient TapButton1=1 &
+fi
+
+## Start xscreensaver
+xscreensaver -no-splash &
+
+## Start Clipboard manager
+(sleep 3s && clipit) &
+
+## Set keyboard settings - 250 ms delay and 25 cps (characters per second) repeat rate.
+## Adjust the values according to your preferances.
+xset r rate 250 25 &
+
+## Turn on/off system beep
+xset b off &
+
+## cb-fortune - have Waldorf say a little adage
+(sleep 120s && cb-fortune) &
+
+## Run the conky
+conky -q &
+
+## Run firefox
+firefox &
+
+## Start terminal for dotfiles
+gnome-terminal --maximize --title="Dotfiles" -e "mux s dot" &
+
diff --git a/config/openbox/menu.xml b/config/openbox/menu.xml
@@ -0,0 +1,436 @@
+<?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="Run Program">
+ <action name="Execute">
+ <command>
+ gmrun
+ </command>
+ </action>
+ </item>
+ <separator/>
+ <menu id="accessories" label="Accessories">
+ <item label="Catfish File Search">
+ <action name="Execute">
+ <command>
+ catfish
+ </command>
+ </action>
+ </item>
+ <item label="Archive Manager">
+ <action name="Execute">
+ <command>
+ file-roller
+ </command>
+ </action>
+ </item>
+ <item label="Geany Text Editor">
+ <action name="Execute">
+ <command>
+ geany
+ </command>
+ </action>
+ </item>
+ </menu>
+ <menu id="graphics" label="Graphics">
+ <item label="GIMP">
+ <action name="Execute">
+ <command>
+ gimp
+ </command>
+ </action>
+ </item>
+ <item label="Viewnior Image Viewer">
+ <action name="Execute">
+ <command>
+ viewnior
+ </command>
+ </action>
+ </item>
+ <menu id="graphicsScreenshots" label="Take Screenshot">
+ <item label="Screenshooter">
+ <action name="Execute">
+ <command>
+ xfce4-screenshooter
+ </command>
+ </action>
+ </item>
+ <separator label="scrot"/>
+ <item label="Now">
+ <action name="Execute">
+ <command>
+ scrot '%Y-%m-%d--%s_$wx$h_scrot.png' -e 'mv $f ~/images/ & viewnior ~/images/$f'
+ </command>
+ </action>
+ </item>
+ <item label="In 5 Seconds...">
+ <action name="Execute">
+ <command>
+ scrot -d 5 '%Y-%m-%d--%s_$wx$h_scrot.png' -e 'mv $f ~/images/ & viewnior ~/images/$f'
+ </command>
+ </action>
+ </item>
+ <item label="In 10 Seconds...">
+ <action name="Execute">
+ <command>
+ scrot -d 10 '%Y-%m-%d--%s_$wx$h_scrot.png' -e 'mv $f ~/images/ & viewnior ~/images/$f'
+ </command>
+ </action>
+ </item>
+ <item label="Selected Area... (click & drag mouse)">
+ <action name="Execute">
+ <command>
+ scrot -s '%Y-%m-%d--%s_$wx$h_scrot.png' -e 'mv $f ~/images/ & viewnior ~/images/$f'
+ </command>
+ </action>
+ </item>
+ </menu>
+ </menu>
+ <menu id="multimedia" label="Multimedia">
+ <item label="VLC Media Player">
+ <action name="Execute">
+ <command>
+ vlc
+ </command>
+ </action>
+ </item>
+ <item label="Volume Control">
+ <action name="Execute">
+ <command>
+ pavucontrol
+ </command>
+ </action>
+ </item>
+ <item label="Xfburn">
+ <action name="Execute">
+ <command>
+ xfburn
+ </command>
+ </action>
+ </item>
+ </menu>
+ <menu id="network" label="Network">
+ <menu execute="cb-x-www-browser-pipemenu" id="wwwbrowsers" label="WWW Browsers"/>
+ <item label="gFTP Client">
+ <action name="Execute">
+ <command>
+ gftp
+ </command>
+ </action>
+ </item>
+ <item label="Transmission BitTorrent Client">
+ <action name="Execute">
+ <command>
+ transmission-gtk
+ </command>
+ </action>
+ </item>
+ <item label="XChat IRC Client">
+ <action name="Execute">
+ <command>
+ xchat
+ </command>
+ </action>
+ </item>
+ <item label="Remote Filesystems">
+ <action name="Execute">
+ <command>
+ gigolo
+ </command>
+ </action>
+ </item>
+ <menu execute="cb-remote-desktop-pipemenu" id="remotedesktop" label="Remote Desktop"/>
+ <menu execute="cb-sshconfig-pipemenu" id="sshconfig" label="SSH"/>
+ </menu>
+ <menu id="office" label="Office">
+ <menu id="libreoffice" label="LibreOffice" execute="cb-libreoffice-pipemenu" />
+ <item label="Calculator">
+ <action name="Execute">
+ <command>
+ galculator
+ </command>
+ </action>
+ </item>
+ <item label="Evince PDF Viewer">
+ <action name="Execute">
+ <command>
+ evince
+ </command>
+ </action>
+ </item>
+ </menu>
+ <separator/>
+ <menu id="settings" label="Settings">
+ <menu execute="cb-compositor" id="CompositingPipeMenu" label="Compositor"/>
+ <menu id="conkyconfig" label="Conky">
+ <item label="Edit .conkyrc">
+ <action name="Execute">
+ <command>
+ geany ~/.conkyrc
+ </command>
+ </action>
+ </item>
+ <item label="Restart Conky">
+ <action name="Execute">
+ <command>
+ conkywonky
+ </command>
+ </action>
+ </item>
+ <separator label="Help?"/>
+ <item label="man page">
+ <action name="Execute">
+ <command>
+ terminator --command="man conky"
+ </command>
+ </action>
+ </item>
+ <item label="Wiki Page">
+ <action name="Execute">
+ <command>
+ x-www-browser http://crunchbanglinux.org/wiki/conky
+ </command>
+ </action>
+ </item>
+ </menu>
+ <menu id="dmenuconfig" label="dmenu">
+ <item label="Edit start-up script">
+ <action name="Execute">
+ <command>
+ geany ~/.config/dmenu/dmenu-bind.sh
+ </command>
+ </action>
+ </item>
+ <separator label="Help?"/>
+ <item label="man page">
+ <action name="Execute">
+ <command>
+ terminator --command="man dmenu"
+ </command>
+ </action>
+ </item>
+ </menu>
+ <menu id="gmrunconfig" label="gmrun">
+ <item label="Edit config file">
+ <action name="Execute">
+ <command>
+ geany ~/.gmrunrc
+ </command>
+ </action>
+ </item>
+ <separator label="Help?"/>
+ <item label="man page">
+ <action name="Execute">
+ <command>
+ terminator --command="man gmrun"
+ </command>
+ </action>
+ </item>
+ </menu>
+ <menu id="obConfig" label="Openbox">
+ <item label="Edit menu.xml">
+ <action name="Execute">
+ <command>
+ geany ~/.config/openbox/menu.xml
+ </command>
+ </action>
+ </item>
+ <item label="Edit rc.xml">
+ <action name="Execute">
+ <command>
+ geany ~/.config/openbox/rc.xml
+ </command>
+ </action>
+ </item>
+ <item label="Edit autostart">
+ <action name="Execute">
+ <command>
+ geany ~/.config/openbox/autostart
+ </command>
+ </action>
+ </item>
+ <separator/>
+ <item label="GUI Menu Editor">
+ <action name="Execute">
+ <command>
+ obmenu
+ </command>
+ </action>
+ </item>
+ <item label="GUI Applications Settings Editor">
+ <action name="Execute">
+ <command>
+ obapps
+ </command>
+ </action>
+ </item>
+ <item label="GUI Config Tool">
+ <action name="Execute">
+ <command>
+ obconf
+ </command>
+ </action>
+ </item>
+ <separator/>
+ <item label="Reconfigure">
+ <action name="Reconfigure"/>
+ </item>
+ <item label="Restart">
+ <action name="Restart"/>
+ </item>
+ </menu>
+ <menu id="terminatorconfig" label="Terminator">
+ <item label="Edit config file">
+ <action name="Execute">
+ <command>
+ geany ~/.config/terminator/config
+ </command>
+ </action>
+ </item>
+ <separator label="Help?"/>
+ <item label="man page">
+ <action name="Execute">
+ <command>
+ terminator --command="man terminator_config"
+ </command>
+ </action>
+ </item>
+ </menu>
+ <menu id="tint2config" label="tint2">
+ <item label="Edit config file">
+ <action name="Execute">
+ <command>
+ geany ~/.config/tint2/tint2rc
+ </command>
+ </action>
+ </item>
+ <item label="Restart tint2">
+ <action name="Execute">
+ <command>
+ tint2restart
+ </command>
+ </action>
+ </item>
+ <separator label="Help?"/>
+ <item label="man page">
+ <action name="Execute">
+ <command>
+ terminator --command="man tint2"
+ </command>
+ </action>
+ </item>
+ <item label="Online Help">
+ <action name="Execute">
+ <command>
+ x-www-browser http://code.google.com/p/tint2/wiki/Welcome
+ </command>
+ </action>
+ </item>
+ </menu>
+ <menu id="DisplaySettings" label="Display Settings">
+ <item label="ARandR Screen Layout Editor">
+ <action name="Execute">
+ <command>
+ arandr
+ </command>
+ </action>
+ </item>
+ <separator label="Help?"/>
+ <item label="man xrandr">
+ <action name="Execute">
+ <command>
+ terminator --command="man xrandr"
+ </command>
+ </action>
+ </item>
+ </menu>
+ <menu id="Notifications" label="Notifications">
+ <item label="settings">
+ <action name="Execute">
+ <command>xfce4-notifyd-config</command>
+ </action>
+ </item>
+ </menu>
+ <item label="Edit Default Applications">
+ <action name="Execute">
+ <command>
+ terminator --command="sudo update-alternatives --all"
+ </command>
+ </action>
+ </item>
+ <item label="User Interface Settings">
+ <action name="Execute">
+ <command>
+ lxappearance
+ </command>
+ </action>
+ </item>
+ <item label="Power Management">
+ <action name="Execute">
+ <command>
+ xfce4-power-manager-settings
+ </command>
+ </action>
+ </item>
+ <item label="Screensaver">
+ <action name="Execute">
+ <command>
+ xscreensaver-demo
+ </command>
+ </action>
+ </item>
+ <item label="Choose Wallpaper">
+ <action name="Execute">
+ <command>
+ nitrogen ~/images/wallpapers/
+ </command>
+ </action>
+ </item>
+ </menu>
+ <menu id="system" label="System">
+ <menu execute="cb-printing-pipemenu" id="PrintingPipeMenu" label="Printers"/>
+ <item label="GParted">
+ <action name="Execute">
+ <command>
+ gksudo gparted
+ </command>
+ </action>
+ </item>
+ <item label="Synaptic Package Manager">
+ <action name="Execute">
+ <command>
+ gksudo synaptic
+ </command>
+ </action>
+ </item>
+ <item label="User Login Settings">
+ <action name="Execute">
+ <command>
+ gksudo slimconf
+ </command>
+ </action>
+ </item>
+ </menu>
+ <!--<menu id="help" label="Help" execute="cb-help-pipemenu" />-->
+ <separator/>
+ <item label="Lock Screen">
+ <action name="Execute">
+ <command>
+ cb-lock
+ </command>
+ </action>
+ </item>
+ <item label="Exit">
+ <action name="Execute">
+ <command>
+ cb-exit
+ </command>
+ </action>
+ </item>
+ </menu>
+</openbox_menu>
diff --git a/config/openbox/rc.xml b/config/openbox/rc.xml
@@ -0,0 +1,947 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<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>UnderMouse</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>Mouse</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>Turquoise Nights Ob</name>
+ <titleLayout>DSLMC</titleLayout>
+ <!--
+ avaible characters are NDSLIMC, each can occur at most once.
+ N: window icon
+ L: window label (AKA title).
+ I: iconify
+ M: maximize
+ C: close
+ S: shade (roll up/down)
+ D: omnipresent (on all desktops).
+ -->
+ <keepBorder>yes</keepBorder>
+ <animateIconify>yes</animateIconify>
+ <font place="ActiveWindow">
+ <name>Liberation 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>Liberation Sans</name>
+ <size>10</size>
+ <!-- font size in points -->
+ <weight>Normal</weight>
+ <!-- 'bold' or 'normal' -->
+ <slant>Normal</slant>
+ <!-- 'italic' or 'normal' -->
+ </font>
+ <font place="MenuHeader">
+ <name>Liberation Sans</name>
+ <size>10</size>
+ <!-- font size in points -->
+ <weight>Normal</weight>
+ <!-- 'bold' or 'normal' -->
+ <slant>Normal</slant>
+ <!-- 'italic' or 'normal' -->
+ </font>
+ <font place="MenuItem">
+ <name>Liberation Sans</name>
+ <size>10</size>
+ <!-- font size in points -->
+ <weight>Normal</weight>
+ <!-- 'bold' or 'normal' -->
+ <slant>Normal</slant>
+ <!-- 'italic' or 'normal' -->
+ </font>
+ <font place="ActiveOnScreenDisplay">
+ <name>Liberation Sans</name>
+ <size>10</size>
+ <!-- font size in points -->
+ <weight>Normal</weight>
+ <!-- 'bold' or 'normal' -->
+ <slant>normal</slant>
+ <!-- 'italic' or 'normal' -->
+ </font>
+ <font place="InactiveOnScreenDisplay">
+ <name>Liberation Sans</name>
+ <size>10</size>
+ <!-- font size in points -->
+ <weight>Normal</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>2</number>
+ <firstdesk>1</firstdesk>
+ <names>
+ <name>1</name>
+ <name>2</name>
+ <name>3</name>
+ <name>4</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' or 'Top' -->
+ <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>1</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-h">
+ <action name="GoToDesktop">
+ <to>left</to>
+ <wrap>no</wrap>
+ </action>
+ </keybind>
+ <keybind key="C-A-l">
+ <action name="GoToDesktop">
+ <to>right</to>
+ <wrap>no</wrap>
+ </action>
+ </keybind>
+ <keybind key="C-A-k">
+ <action name="GoToDesktop">
+ <to>up</to>
+ <wrap>no</wrap>
+ </action>
+ </keybind>
+ <keybind key="C-A-j">
+ <action name="GoToDesktop">
+ <to>down</to>
+ <wrap>no</wrap>
+ </action>
+ </keybind>
+ <keybind key="C-A-S-h">
+ <action name="SendToDesktop">
+ <to>left</to>
+ <wrap>no</wrap>
+ </action>
+ </keybind>
+ <keybind key="C-A-S-l">
+ <action name="SendToDesktop">
+ <to>right</to>
+ <wrap>no</wrap>
+ </action>
+ </keybind>
+ <keybind key="C-A-S-k">
+ <action name="SendToDesktop">
+ <to>up</to>
+ <wrap>no</wrap>
+ </action>
+ </keybind>
+ <keybind key="C-A-S-j">
+ <action name="SendToDesktop">
+ <to>down</to>
+ <wrap>no</wrap>
+ </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>
+ <keybind key="Print">
+ <action name="Execute">
+ <command>xfce4-screenshooter</command>
+ </action>
+ </keybind>
+ <keybind key="A-Print">
+ <action name="Execute">
+ <command>scrot '%Y-%m-%d--%s_$wx$h_scrot.png' -e 'mv $f ~/images/ & viewnior ~/images/$f'</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-l">
+ <action name="DirectionalCycleWindows">
+ <direction>right</direction>
+ </action>
+ </keybind>
+ <keybind key="W-S-h">
+ <action name="DirectionalCycleWindows">
+ <direction>left</direction>
+ </action>
+ </keybind>
+ <keybind key="W-S-k">
+ <action name="DirectionalCycleWindows">
+ <direction>up</direction>
+ </action>
+ </keybind>
+ <keybind key="W-S-j">
+ <action name="DirectionalCycleWindows">
+ <direction>down</direction>
+ </action>
+ </keybind>
+ <!-- Keybindings for running applications -->
+ <keybind key="W-z">
+ <action name="Execute">
+ <startupnotify>
+ <enabled>true</enabled>
+ <name>Run Program</name>
+ </startupnotify>
+ <command>gmrun</command>
+ </action>
+ </keybind>
+ <keybind key="A-F3">
+ <action name="Execute">
+ <startupnotify>
+ <enabled>true</enabled>
+ <name>dmenu-bind</name>
+ </startupnotify>
+ <command>~/.config/dmenu/dmenu-bind.sh</command>
+ </action>
+ </keybind>
+ <keybind key="W-f">
+ <action name="Execute">
+ <startupnotify>
+ <enabled>true</enabled>
+ <name>thunar</name>
+ </startupnotify>
+ <command>thunar</command>
+ </action>
+ </keybind>
+ <keybind key="W-t">
+ <action name="Execute">
+ <startupnotify>
+ <enabled>true</enabled>
+ <name>Terminal</name>
+ </startupnotify>
+ <command>gnome-terminal</command>
+ </action>
+ </keybind>
+ <keybind key="W-w">
+ <action name="Execute">
+ <startupnotify>
+ <enabled>true</enabled>
+ <name>Web Browser</name>
+ </startupnotify>
+ <command>firefox</command>
+ </action>
+ </keybind>
+ <keybind key="W-l">
+ <action name="Execute">
+ <startupnotify>
+ <enabled>true</enabled>
+ <name>Lock screen</name>
+ </startupnotify>
+ <command>cb-lock</command>
+ </action>
+ </keybind>
+ <keybind key="W-e">
+ <action name="Execute">
+ <startupnotify>
+ <enabled>true</enabled>
+ <name>Editor</name>
+ </startupnotify>
+ <command>geany</command>
+ </action>
+ </keybind>
+ <keybind key="W-m">
+ <action name="Execute">
+ <startupnotify>
+ <enabled>true</enabled>
+ <name>Mediaplayer</name>
+ </startupnotify>
+ <command>vlc</command>
+ </action>
+ </keybind>
+ <keybind key="W-v">
+ <action name="Execute">
+ <startupnotify>
+ <enabled>true</enabled>
+ <name>Volume</name>
+ </startupnotify>
+ <command>pavucontrol</command>
+ </action>
+ </keybind>
+ <keybind key="W-x">
+ <action name="Execute">
+ <startupnotify>
+ <enabled>true</enabled>
+ <name>Logout</name>
+ </startupnotify>
+ <command>cb-exit</command>
+ </action>
+ </keybind>
+ <keybind key="W-Tab">
+ <action name="ShowMenu">
+ <menu>client-list-combined-menu</menu>
+ </action>
+ </keybind>
+ <keybind key="W-space">
+ <action name="ShowMenu">
+ <menu>root-menu</menu>
+ </action>
+ </keybind>
+ <keybind key="A-C-q">
+ <action name="ShowMenu">
+ <menu>root-menu</menu>
+ </action>
+ </keybind>
+ <!-- A bit of tiling -->
+ <keybind key="W-Right">
+ <action name="GrowToEdgeEast"/>
+ </keybind>
+ <keybind key="W-Left">
+ <action name="GrowToEdgeWest"/>
+ </keybind>
+ <keybind key="W-Down">
+ <action name="GrowToEdgeSouth"/>
+ </keybind>
+ <keybind key="W-Up">
+ <action name="GrowToEdgeNorth"/>
+ </keybind>
+ <keybind key="W-A-Left">
+ <action name="Execute">
+ <command>cb-aerosnap --left</command>
+ </action>
+ </keybind>
+ <keybind key="W-A-Right">
+ <action name="Execute">
+ <command>cb-aerosnap --right</command>
+ </action>
+ </keybind>
+ </keyboard>
+ <mouse>
+ <dragThreshold>8</dragThreshold>
+ <!-- number of pixels the mouse must move before a drag begins -->
+ <doubleClickTime>200</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="Press">
+ <action name="Focus"/>
+ <action name="Raise"/>
+ </mousebind>
+ <mousebind button="Left" action="Drag">
+ <action name="Move"/>
+ </mousebind>
+ <mousebind button="Left" action="DoubleClick">
+ <action name="ToggleMaximize"/>
+ </mousebind>
+ <mousebind button="Middle" action="Press">
+ <action name="Lower"/>
+ <action name="FocusToBottom"/>
+ <action name="Unfocus"/>
+ </mousebind>
+ <mousebind button="Up" action="Click">
+ <action name="if">
+ <shaded>no</shaded>
+ <then>
+ <action 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>
+ <mousebind button="Right" action="Press">
+ <action name="Focus"/>
+ <action name="Raise"/>
+ <action name="ShowMenu">
+ <menu>client-menu</menu>
+ </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="Press">
+ <action name="Focus"/>
+ <action name="Raise"/>
+ <action name="Unshade"/>
+ </mousebind>
+ <mousebind button="Left" action="Drag">
+ <action name="Resize">
+ <edge>top</edge>
+ </action>
+ </mousebind>
+ </context>
+ <context name="Left">
+ <mousebind button="Left" action="Press">
+ <action name="Focus"/>
+ <action name="Raise"/>
+ </mousebind>
+ <mousebind button="Left" action="Drag">
+ <action name="Resize">
+ <edge>left</edge>
+ </action>
+ </mousebind>
+ </context>
+ <context name="Right">
+ <mousebind button="Left" action="Press">
+ <action name="Focus"/>
+ <action name="Raise"/>
+ </mousebind>
+ <mousebind button="Left" action="Drag">
+ <action name="Resize">
+ <edge>right</edge>
+ </action>
+ </mousebind>
+ </context>
+ <context name="Bottom">
+ <mousebind button="Left" action="Press">
+ <action name="Focus"/>
+ <action name="Raise"/>
+ </mousebind>
+ <mousebind button="Left" action="Drag">
+ <action name="Resize">
+ <edge>bottom</edge>
+ </action>
+ </mousebind>
+ <mousebind button="Middle" action="Press">
+ <action name="Lower"/>
+ <action name="FocusToBottom"/>
+ <action name="Unfocus"/>
+ </mousebind>
+ <mousebind button="Right" action="Press">
+ <action name="Focus"/>
+ <action name="Raise"/>
+ <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>
+ </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>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 -->
+ <applicationIcons>yes</applicationIcons>
+ <!-- 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)"
+ 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).
+ <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>
+
+ <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 name="gmessage">
+ <decor>no</decor>
+ <shade>no</shade>
+ <skip_pager>yes</skip_pager>
+ <skip_taskbar>yes</skip_taskbar>
+ <fullscreen>no</fullscreen>
+ <maximized>no</maximized>
+ </application>
+ <application class="Gimp" name="gimp" role="gimp-toolbox" type="utility">
+ <maximized>vertical</maximized>
+ </application>
+ <application class="Gimp" name="gimp" role="gimp-dock" type="utility">
+ <maximized>vertical</maximized>
+ </application>
+ <application class="Gimp" name="gimp" role="gimp-image-window" type="normal">
+ <position force="no">
+ <x>center</x>
+ <y>center</y>
+ </position>
+ </application>
+ <application class="Gimp" name="gimp-2.8" role="gimp-toolbox" type="utility">
+ <maximized>vertical</maximized>
+ </application>
+ <application class="Gimp" name="gimp-2.8" role="gimp-dock" type="utility">
+ <maximized>vertical</maximized>
+ </application>
+ <application class="Gimp" name="gimp-2.8" role="gimp-image-window" type="normal">
+ <position force="no">
+ <x>center</x>
+ <y>center</y>
+ </position>
+ </application>
+ </applications>
+</openbox_config>