Difference between revisions of "Openbox Themes and Apps"

From ArchWiki
Jump to: navigation, search
m (renamed autostart.sh)
(no need to delete, redirect)
(61 intermediate revisions by 20 users not shown)
Line 1: Line 1:
[[Category:Stacking WMs]]
#REDIRECT [[Openbox]]
[[it:Openbox Themes and Apps]]
[[ru:Openbox Themes and Apps]]
[[zh-CN:Openbox Themes and Apps]]
{{Note|This article is a supplement to the main [[Openbox]] article.
This wiki article deals with customizing the appearance of Openbox in Arch Linux. Helper programs such as panels and trays are also explained.
== Themes and appearance ==
With the exception of the Openbox Themes topic, the following section is intended for users who have configured Openbox to run as a standalone desktop, without the assistance of GNOME, KDE or Xfce.
=== Openbox themes ===
Openbox themes control the appearance of window borders, including the titlebar and titlebar buttons. They also determine the appearance of the application menu and on-screen display (OSD). 
Additional themes are available from the standard repositories:
# pacman -S openbox-themes
This package is by no means definitive. You can download more themes at websites such as:
*[http://www.box-look.org/index.php?xcontentmode=7402 box-look.org]
*[http://customize.org/browse/tags/openbox customize.org]
Downloaded themes should be extracted to {{ic|~/.themes}} and can be installed or selected with the [[Openbox#Preferences|ObConf]] tool.
Creating new themes is fairly easy and again [http://openbox.org/wiki/Help:Themes well-documented].
For a GUI theme editor, take a look at [http://xyne.archlinux.ca/info/obtheme ObTheme].
=== X11 appearance ===
:''Main article: [[Xdefaults]]''
If you are running Openbox as a standalone, you will need to configure .Xdefaults file.
Save a copy to ~/.Xdefaults and /root/.Xdefaults for windows opened as Root.
Xdefaults is a user-level configuration dotfile, typically located at ~/.Xdefaults. When present, it is parsed by the xrdb (Xorg resource database) program automatically when Xorg is started, and can be used to set or override preferences for X and X applications. It can do many operations, including:
* defining terminal colours
* configuring terminal preferences
* setting DPI, antialiasing, hinting and other X font settings
* changing the Xcursor theme
* theming xscreensaver
* altering preferences on low-level X applications (xclock, xpdf, etc.)
=== X11 mouse cursors ===
Extract the desired Xcursor theme to either {{ic|/usr/share/icons}} (system-wide access) or {{ic|~/.icons}} (local user access). There are also a limited amount of themes available in the [community] repository that can be installed using pacman.
Add this to {{ic|~/.Xresources}}:
Xcursor.theme:  [name-of-cursor-theme]
where {{ic|[name-of-cursor-theme]}} is the name of the cursor theme directory. For example:
Xcursor.theme: Vanilla-DMZ-AA
To change the size:
Xcursor.size: [size]
Sometimes it is required to symlink the icon directory into each user directory to make the window manager use them:
$ mkdir ~/.icons
$ ln -s /usr/share/icons/[name-of-cursor-theme] ~/.icons/default
For more information read the Arch Wiki: [[X11_Cursors]]
=== GTK themes ===
==== GTK2/ GTK+ ====
First, extract the desired theme to {{ic|/usr/share/themes}} (system-wide access) or {{ic|~/.themes}} (local user access), then:
GTK+ themes can be managed easily with the '''[[LXDE | lxappearance]]''', '''gtk-chtheme''', or '''switch2''' utilities. To install, run:
# pacman -S lxappearance
# pacman -S gtk-chtheme
# pacman -S gtk-theme-switch2
Now you can simply run {{ic|lxappearance}}, {{ic|gtk-chtheme}} or {{ic|switch2}} to set the desired theme.
If you have {{ic|gnome-settings-daemon}}, it can avoid you from changing the gtk theme and reverting back to original theme. By default, the {{ic|autostart}} file provided by Openbox runs it. So, make sure that you do not have it running.
==== GTK1 ====
For legacy GTK1 themes, install the {{AUR|gtk-theme-switch}} package:
Then run {{ic|switch}} to select a desired theme.
==== GTK fonts ====
To manually change the type and size of your fonts, add the following to {{ic|~/.gtkrc.mine}}:
style "user-font"
font_name = "[font-name] [size]"
widget_class "*" style "user-font"
gtk-font-name = "[font-name] [size]"
where {{ic|[font-name] [size]}} is the desired font and point size. For example:
style "user-font"
font_name = "DejaVu Sans 8"
widget_class "*" style "user-font"
gtk-font-name = "DejaVu Sans 8"
Both {{ic|font_name}} and {{ic|gtk-font-name}} fields are required for backwards compatibility.
You can also use '''gtk-chtheme''' or '''lxappearance''' to set GTK font settings. Please refer to the above section.
==== GTK icons ====
First, extract the desired icon theme to {{ic|/usr/share/icons}} (system-wide access) or {{ic|~/.icons}} (local user access), then:
Add the following to {{ic|~/.gtkrc.mine}}:
gtk-icon-theme-name = "[name-of-icon-theme]"
where {{ic|[name-of-icon-theme]}} is the name of the icon theme directory. For example:
gtk-icon-theme-name = "Tango"
Ensure {{ic|~/.gtkrc-2.0}} is configured to parse {{ic|~/.gtkrc.mine}}:
# ~/.gtkrc-2.0
include "/usr/share/themes/Rezlooks-Gilouche/gtk-2.0/gtkrc"
include "/home/username/.gtkrc.mine"
You can use '''lxappearance''' to choose GTK icon themes. Please refer to the above section.
You can also use [https://aur.archlinux.org/packages.php?ID=39339 lxappearance2-git] from the AUR to handle the Mouse Cursor, GTK Theme and Icon Theme and Colour Scheme. If you also install the optional [https://aur.archlinux.org/packages.php?ID=40223 lxappearance-obconf-git] as well, you can configure Openbox's Window Decoration settings from lxappearance as well.
=== Desktop icons ===
Openbox does not provide a means to display icons on the desktop. Xfdesktop, PcmanFM, [http://rox.sourceforge.net ROX], [[Idesk|iDesk]], or even Nautilus (and the gnome-settings-daemon) can provide this function.
ROX and PCmanFM have the additional advantage of being lightweight file managers.
=== Desktop wallpaper ===
Openbox itself does not include a way to change the wallpaper. This can be done easily with programs like [[Feh]] or [[Nitrogen]].  Other options include ImageMagick, hsetroot and xsetbg. Or Pcmanfm and Xfdesktop can do it too.
You can disable the wallpaper loading in gnome-settings-daemon like this:
$ gconftool-2 --set /apps/gnome_settings_daemon/plugins/background/active --type bool False
In Gnome 3 use:
$ gsettings set org.gnome.desktop.background draw-background false
Lightweight approach: using {{pkg|hsetroot}} for example, in commandline or place it in {{ic|autostart}}:
$ hsetroot -fill filepath
== Recommended programs ==
{{Note|The <u>main</u> [[Openbox]] article has information on installing Openbox.
This <u>supplemental</u> wiki article details specific applications you may want to deploy after installing Openbox.
There is a [[Lightweight Applications|list of Lightweight Software]] at Arch's wiki; most of it nicely fits with Openbox.
=== Login managers ===
[http://slim.berlios.de/ SLiM] is a light graphical login manager. It works for standalone Openbox configurations. Refer to Arch's [[SLiM]] wiki for instructions.
[http://qingy.sourceforge.net/ Qingy] is a light, highly-configurable graphical login manager. It supports login to either a text console or an X session. It uses [http://www.directfb.org DirectFB]. Qingy does not start an X session unless you choose a session that uses X Windows. See the article about [[Qingy]] at Arch's wiki.
=== Compositing the desktop view ===
[[Xcompmgr]] is a lightweight composite manager capable of rendering drop shadows, fading and simple window transparency within Openbox and other window managers.
(It's worth noting that xcompmgr is no longer developed, and so any issues are unlikely to be fixed)
(Developed an issue with tint2 0.9, the systray icons have a tendency to corrupt)
[[Cairo Compmgr | Cairo Composite Manager]] -- A versatile and extensible composite manager which uses cairo for rendering, is an alternative.
=== Panels, trays, pagers ===
A number of utilities provide panels/ taskbars, system trays, or pagers to Openbox:
==== Panels ====
{| border="0" <!-- non-breaking spaces used here, sorry -->
 [[Avant Window Navigator| Avant window navigator]]                <br>
  [http://nsf.110mb.com/bmpanel/ BMPanel]                          <br>
  [[Cairo-Dock]]    <br>
  [http://fbpanel.sourceforge.net Fbpanel]                          <br>
  [http://freshmeat.net/projects/fspanel/ Fspanel]
    [http://live.gnome.org/GnomePanel/ Gnome-panel]                <br>
    [http://www.gnomefiles.org/app.php/LXPanel LXPanel]            <br>
    [http://www.failedprojects.de/pancake/ Pancake]                <br>
    [http://freshmeat.net/projects/perlpanel/ PerlPanel]            <br>
   [[PyPanel| PyPanel]]
      [http://www.screenlets.org/ Screenlets]                      <br>
     [[tint2| Tint2]]                                              <br>
      [http://code.google.com/p/wbar/ Wbar]                        <br>
      [http://docs.xfce.org/xfce/xfce4-panel/start Xfce4-panel]      <br>
==== Trays ====
*[http://download.gna.org/fvwm-crystal/trayer/1.0/ Trayer]
==== Pagers ====
  [http://useperl.ru/ipager/index.en.html IPager]                  <br>
  [http://code.google.com/p/neap/ Neap]                            <br>
  [https://aur.archlinux.org/packages.php?ID=17563 Netwmpager]      <br>
  [https://aur.archlinux.org/packages.php?ID=51536 pager-multihead] <br>
If you wish to set desktop layout without using a pager, try [https://aur.archlinux.org/packages.php?ID=34376 obsetlayout], a packaged version of the setlayout tool.
=== File managers ===
Two popular lightweight file managers are:
* [[Thunar]]  Thunar supports auto-mount features and other plugins.
* [http://rox.sourceforge.net ROX]  ROX provides a set of file/desktop icons.
# pacman -S thunar
# pacman -S rox
* [http://pcmanfm.sourceforge.net PCManFM] carries a bit more heft.
# pacman -S pcmanfm  #  PcManFM package also provides desktop icons.
# pacman -S ntfs-3g  #  Allows PCManFM to access NTFS drives.
For even lighter options, consider  [http://www.obsession.se/gentoo/ Gentoo]  or  [http://emelfm2.net/ emelFM2.].  These programs implement a typical two-pane layout. Other file managers are  [http://sourceforge.net/projects/xfe/ xfe]  and  [http://www.mucommander.com/ muCommander.]
Alternatively, you may use Gnome's Nautilus as your file manager. It is heavier and slower than previous solutions, but Nautilus supports [http://en.wikipedia.org/wiki/Virtual_file_system virtual file systems,] allowing folder access via SSH, FTP, or Samba. This is an advantage.
=== Application launchers ===
==== Dmenu ====
Set up dmenu as described in the [[dmenu]] wiki article. Then add the following entry to the <keyboard> section {{ic|~/.config/openbox/rc.xml}} to enable a shortcut to launch dmenu:
    <keybind key="W-space">
      <action name="Execute">
==== Gmrun ====
[http://sourceforge.net/projects/gmrun gmrun] provides an excellent Run dialog box, similar to the {{Keypress|Alt+F2}} features found in GNOME and KDE:
# pacman -S gmrun
For details regarding Gmrun, see the [[Gmrun]] wiki article.
Add the following entry to the <keyboard> section {{ic|~/.config/openbox/rc.xml}} to enable {{Keypress|Alt+F2}} functionality:
<keybind key="A-F2">
<action name="execute"><execute>gmrun</execute></action>
==== Bashrun2 ====
[http://bashrun.sourceforge.net bashrun2] provides a different, barebones approach to a run dialog, using a specialized Bash session within a small xterm window. It is available in the [[Arch User Repository|AUR]] as {{AUR|bashrun2}} and can be launched through the {{Keypress|Alt+F2}} style approach mentioned previously. To make bashrun2 act more like a traditional run dialog, add the following entry to the <applications> section {{ic|~/.config/openbox/rc.xml}}:
    <application name="bashrun2-run-dialog">
      <decor>no</decor>  # switch to yes if you prefer a bordered window
==== Kupfer ====
{{AUR|kupfer}} is a launcher inspired by Quicksilver, written in Python.
"You use it to summon an application or document quickly by typing the first parts of its name. It can also do more than getting at something quickly: there are different plugins for accessing more objects and running custom commands."
==== Launchy ====
[http://www.launchy.net/ Launchy] is a less minimalistic approach; it is skinnable and offers more functionality such as a calculator, checking the weather, etc. Originally for Windows, similar to GNOME Do. Install the {{pkg|launchy}} package which is available in the [[Official Repositories|official repositories]].
It is launched with the {{Keypress|Ctrl+Space}} key combination.
==== LXPanel ====
The LXPanel run dialog can be executed with
lxpanelctl run
==== Gnome-panel ====
The gnome-panel run dialog can be executed with
gnome-panel-control --run-dialog
=== Clipboard managers ===
You may wish to install a clipboard manager for a richer copy/paste experience.
'''xfce4-clipman-plugin, parcellite,''' or '''glipper-old''' can be installed via pacman. Add the clipboard manager to your  '''{{ic|autostart}}.
=== Volume managers ===
==== Gvolwheel, gvtray ====
Gvolwheel is an audio mixer which lets you control the volume through a tray icon. [https://aur.archlinux.org/packages.php?ID=25502 gvolwheel] at AUR.
Gvtray is a master volume mixer for the system tray. [https://aur.archlinux.org/packages.php?ID=6362 gvtray] at AUR.
==== Obmixer, PNMixer ====
Obmixer is an applet written in C. It intends to be a lighter alternative to Gnome's volume control. [https://aur.archlinux.org/packages.php?ID=31131 obmixer] at AUR. Obmixer is no longer maintained.
PNMixer is a fork of Obmixer with a number of additions. [https://aur.archlinux.org/packages.php?ID=48899 PNMixer] at AUR.
==== Volti ====
Volti is a GTK+ application for controlling audio volume from the system tray/ notification area. [https://aur.archlinux.org/packages.php?ID=33525 volti] at AUR.
==== Volumeicon, volwheel ====
Volumeicon is a volume control for the system tray. [https://aur.archlinux.org/packages.php?ID=35793 volumeicon] at AUR.
Volwheel is a tray icon which changes volume via mouse wheel. [http://www.archlinux.org/packages/community/any/volwheel/ volwheel] at AUR.
=== Battery & CPU ===
==== Trayfreq ====
[[Trayfreq]] is a light battery monitor and a cpu frequency scaler.
=== Keyboard layout switchers ===
==== Fbxkb, xxkb, axkb ====
Keyboard indicator and switcher [https://aur.archlinux.org/packages.php?ID=3458 fbxkb] at AUR.
Keyboard layout switcher/ layout indicator [http://www.archlinux.org/packages/community/i686/xxkb/ xxkb] at AUR.
QT4 keyboard layout switcher [https://aur.archlinux.org/packages.php?ID=25555 axkb] at AUR.
==== xneur ====
X neural switcher is a text analyzer. It detects the language of input and corrects it if needed. [https://aur.archlinux.org/packages.php?ID=9750 aneur] at AUR.
=== Logout dialog ===
[https://aur.archlinux.org/packages.php?ID=36982 exitx] and [https://aur.archlinux.org/packages.php?ID=47005 exitx-polkit] are available in AUR as logout dialogs which use sudo and PolicyKit, respectively.
{{AUR|obshutdown}} is great openbox shutdown manager.
Alternatively, you can also use openbox's menus to create a simple dialog. Which can also be binded to a key for easy access.
An example with {{ic|exit-menu}} as the id and Exit as the label(using PolicyKit/Dbus):
<pre style='overflow:auto'>
<menu id="exit-menu" label="Exit">
<item label="Log Out">
<action name="Execute">
<command>openbox --exit</command>
<item label="Shutdown">
<action name="Execute">
<command>dbus-send --system --print-reply --dest="org.freedesktop.ConsoleKit" /org/freedesktop/ConsoleKit/Manager org.freedesktop.ConsoleKit.Manager.Stop</command>
<item label="Restart">
<action name="Execute">
<command>dbus-send --system --print-reply --dest="org.freedesktop.ConsoleKit" /org/freedesktop/ConsoleKit/Manager org.freedesktop.ConsoleKit.Manager.Restart</command>
<item label="Suspend">
<action name="Execute">
<command>dbus-send --system --print-reply --dest="org.freedesktop.UPower" /org/freedesktop/UPower org.freedesktop.UPower.Suspend</command>
<item label="Hibernate">
<action name="Execute">
<command>dbus-send --system --print-reply --dest="org.freedesktop.UPower" /org/freedesktop/UPower org.freedesktop.UPower.Hibernate</command>
Add this to your menu.xml, then later in your menu or pipemenu of choice call:
<menu id="exit-menu"/>
If you would like to bind this to a key, simply add this example keybind to the keyboard section your rc.xml:
<keybind key="XF86PowerOff">
  <action name="ShowMenu">
This will bind it to your power button, if you prefer otherwise change XF86PowerOff to your preferred key.

Latest revision as of 10:05, 2 December 2013

Redirect to: