Openbox Themes and Apps

From ArchWiki
Jump to navigation Jump to search

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).

Some themes are available for installation with the openbox-themes package in the official repositories.

This package is by no means definitive. You can download more themes at websites such as:

Downloaded themes should be extracted to ~/.themes or ~/.local/share/themes and selected from obconf or lxappearance-obconf. Theme selection can also be done manually by opening rc.xml and changing the <name> key in the <theme> section.

Creating new themes is fairly easy and well-documented. For those who prefer a GUI, obthemeAUR is a very capable editor.

X11 mouse cursors

See Cursor Themes.

GTK themes

See GTK+#Themes.

Desktop icons

Openbox does not provide a means to display icons on the desktop. To provide this function, one can use: || xfdesktop
  • PCManFM — An extremely fast and lightweight file manager used by the LXDE desktop. || pcmanfm
  • ROX — A small and fast file manager which can optionally manage the desktop background and panels, part of the ROX Desktop. || rox
  • IDesk — A simple tool that gives users of minimal wm's (Fluxbox, pekwm, Window Maker, Openbox, etc) icons on their desktop. || idesk
  • Nautilus — The file manager of the GNOME desktop. || nautilus
  • Spacefm — A GTK multi-panel tabbed file manager. || spacefm

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, xorg-xsetroot xsetbg and more advanced choices such as PCmanFM or Xfdesktop.

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

One approach, using hsetroot is possible by placing the following command in autostart:

hsetroot -fill /path/to/image.file

A similar command for feh is:

feh --bg-scale /path/to/image.file

For a simple background colour you can set xsetroot in ~/.config/openbox/autostart:

# White background colour
xsetroot -solid "#ffffff"

Recommended programs

Tango-inaccurate.pngThe factual accuracy of this article or section is disputed.Tango-inaccurate.png

Reason: This is completely subjective, so it likely belongs in a user namespace instead. (Discuss in Talk:Openbox Themes and Apps#)
Note: The main Openbox article has information on installing Openbox, but this additional section details specific lightweight applications you may want to deploy after installing Openbox.

For a more complete choice of applications available on Arch, look at the List of Applications. You can also look at the list recommended on the Openbox wiki, although most overlap with the following suggestions.

Display managers


  • SLiM (Simple Login Manager) — A lightweight and elegant graphical login solution. || slim
  • Qingy — An ultralight and very configurable graphical login independent on X Windows (uses DirectFB). It supports login to either a text console or an X session. || qingy

Desktop compositing || cairo-compmgr-gitAUR
  • Compton — A fork of Xcompmgr containing many fixes. || compton-gitAUR
  • Xcompmgr — A lightweight composite manager capable of rendering drop shadows, fading and simple window transparency within Openbox and other window managers. || xcompmgr xcompmgr-danaAUR xcompmgr_tint2-gitAUR

Desktop utilities

A number of utilities provide panels / taskbars, system trays, or pagers to Openbox:


See the list of taskbars.

You may also find useful:

  • Screenlets — A widget framework that consists of small owner-drawn applications (weather widget, clocks, system monitors, mail checkers, etc.). || screenlets


  • Stalonetray — A stand-alone system tray with minimal dependecies. || stalonetray
  • Trayer — A lightweight GTK2-based systray. || trayer


  • IPager — A configurable pager with transparency, originally developed for Fluxbox. || ipagerAUR
  • Neap — An non-intrusive and light pager that runs in the notification area of your panel. || neapAUR
  • Netwmpager — A NetWM/EWMH compatible pager. || netwmpagerAUR
  • Pager — A highly configurable pager compatible with Openbox Multihead. || pager-multihead-gitAUR

If you wish to set desktop layout without using a pager, try the obsetlayoutAUR package from AUR.

File managers


Three popular lightweight file managers are:

  • PCManFM — An extremely fast and lightweight file manager used by the LXDE desktop. || pcmanfm
  • ROX — A small and fast file manager which can optionally manage the desktop background and panels, part of the ROX Desktop. || rox
  • Thunar — The file manager of the Xfce Desktop with many plugins and features. || thunar

For even lighter options, consider:

  • Gentoo — A lightweight file manager for GTK. || gentooAUR
  • emelFM2 — A file manager that implements the popular two-pane design. || emelfm2
  • Xfe — A Microsoft Explorer-like file manager for X (X File Explorer). || xfe
  • muCommander — A lightweight, cross-platform file manager with a dual-pane interface written in Java. || mucommanderAUR

Alternatively, you may use GNOME's Nautilus as your file manager. It is heavier and slower than the previous solutions, but Nautilus has many helpful features such as virtual file systems, allowing folder access via SSH, FTP, or Samba.

Application launchers


  • gmrun — A lightweight GTK based application launcher, with ability to run programs inside a terminal and other handy features. To enable Alt+F2 functionality add the following to the <keyboard> section:
<keybind key="A-F2">
    <action name="execute"><execute>gmrun</execute></action>
</keybind> || gmrun
  • dmenu — A fast and lightweight dynamic menu for X, which is also useful as an application launcher. To enable Alt+F2 functionality add the following to the <keyboard> section:
<keybind key="A-F2">
    <action name="execute"><execute>dmenu_run</execute></action>
</keybind> || dmenu
  • Bashrun2 — Provides a different, barebones approach to a run dialog, using a specialized Bash session within a small xterm window. To enable Alt+F2 functionality add the following to the <keyboard> section:
<keybind key="A-F2">
    <action name="execute"><execute>bashrun2</execute></action>

To make Bashrun2 act more like a traditional run dialog add the following to the <applications> section:

<application name="bashrun2-run-dialog">
    <decor>no</decor>  # switch to yes if you prefer a bordered window
</application> || bashrun2AUR
  • Kupfer — A launcher inspired by Quicksilver, written in Python. To enable Alt+F2 functionality add the following to the <keyboard> section:
<keybind key="A-F2">
    <action name="execute"><execute>kupfer</execute></action>
</keybind> || kupferAUR
  • Launchy — A less minimalistic approach; it is skinnable and offers more functionality such as a calculator, checking the weather, etc. It is launched with the Ctrl+Space key combination. || launchy
  • LXPanel — A lightweight X11 desktop panel and part of the LXDE DE. The run dialog can be executed with:
$ lxpanelctl run || lxpanel
  • GNOME Panel — The default Gnome panel. The run dialog of the GNOME Panel can be executed with:
$ gnome-panel-control --run-dialog || gnome-panelAUR

Clipboard managers


You may wish to install a clipboard manager for a richer copy/paste experience. The following are the more lightweight options:

  • Clipman — A clipboard manager for Xfce. It keeps the clipboard contents around while it is usually lost when you close an application. It is able to handle text and images, and has a feature to execute actions on specific text selections by matching them against regular expressions. || xfce4-clipman-plugin
  • Glipper — A clipboard manager for GNOME with more features and plugin support. || glipperAUR
  • Parcellite — A lightweight yet feature-rich clipboard manager. || parcellite
  • ClipIt — A fork of Parcellite with additional features and bugfixes. || clipit

Make sure you add your chosen clipboard manager to ~/.config/openbox/autostart.

Volume managers

  • GVolWheel — An audio mixer which lets you control the volume through a tray icon. || gvolwheelAUR
  • GVTray — A master volume mixer for the system tray. || gvtrayAUR
  • PNMixer — A fork of Obmixer. It has many new features such as ALSA channel selection, connect/disconnect detection, shortcuts, etc. || pnmixerAUR
  • Volti — A GTK application for controlling audio volume from system tray with an internal mixer and support for multimedia keys that uses only ALSA. || voltiAUR
  • VolumeIcon — Another volume control for your system tray with channel selection, themes and an external mixer. || volumeicon
  • VolWheel — A little application which lets you control the sound volume easily through a tray icon you can scroll on. || volwheel

Battery and CPU


  • Trayfreq — A light battery monitor and a CPU frequency scaler. || trayfreqAUR

Keyboard layout switchers

  • fbxkb — A NETWM compliant keyboard indicator and switcher. It shows a flag of current keyboard in a systray area and allows you to switch to another one. || fbxkbAUR
  • xxkb — A lightweight keyboard layout indicator and switcher. || xxkb
  • qxkb — A keyboard switcher written in Qt. || qxkbAUR
  • X Neural Switcher — A text analyser, it detects the language of the input and corrects the keyboard layout if needed. || xneurAUR, gxneurAUR (GUI)

Logout dialog

A few simple shutdown managers are available:

  • exitx — A logout dialog for Openbox that uses Sudo. || exitxAUR
  • exitx-polkit — A GTK logout dialog for Openbox with PolicyKit support. || exitx-polkit-gitAUR
  • exitx-systemd — A GTK logout dialog for Openbox with systemd support. || exitx-systemd-gitAUR
  • obshutdown — A great GTK/Cairo based shutdown manager for Openbox and other window managers. || obshutdownAUR

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 exit-menu as the id and Exit as the label in a local systemd-logind user session:

<menu id="exit-menu" label="Exit">
	<item label="Log Out">
		<action name="Execute">
			<command>openbox --exit</command>
	<item label="Shutdown">
		<action name="Execute">
			<command>systemctl poweroff</command>
	<item label="Restart">
		<action name="Execute">
		        <command>systemctl reboot</command>
	<item label="Suspend">
		<action name="Execute">
		        <command>systemctl suspend</command>
	<item label="Hibernate">
		<action name="Execute">
		        <command>systemctl hibernate</command>

Add this to your ~/.config/openbox/menu.xml, then later in your menu or pipemenu of choice add:

<menu id="exit-menu"/>

If you would like to bind this to a key, simply add this example keybind to the <keyboard> section:

<keybind key="XF86PowerOff">
  <action name="ShowMenu">

This will bind it to your power button, if you prefer otherwise change XF86PowerOff to your preferred key.