Note: As with every wiki page, this is a work in progress and should not be considered comprehensive. Please edit the page yourself to contribute hints, tips, and links or leave some feedback at the forum thread. Thanks.
This entry is aimed at orienting the aspiring theme designer. A look at some user customised CrunchBang screenshots from the forums will give you an idea of how much can be done.
The font used in the #! CrunchBang Linux official logo is 'FreeSans'.
Download your new icon theme and extract the contents to either /usr/share/icons for all users or ~/.icons/ for your own use. Select your new theme from Preferences > User Interface Settings (under the Icon Theme tab, naturally).
In the command line, enter:
update-alternatives --config x-cursor-theme
You should be presented with a list of all the cursor themes you have installed. Enter the number of the theme you want, or press enter to stick with what the current cursors. Then logout/restart to apply.
SVG is the W3C standard vector format for icons on Linux. Inkscape is a vector graphics editor, with capabilities similar to Illustrator, CorelDraw, or Xara X.
Nitrogen (Preferences > Choose Wallpaper) is a background browser and setter for X windows. Copy or move your wallpaper images into ~/images/wallpapers, and then select them from Nitrogen. The wallpapers supplied with CrunchBang are stored in /usr/share/backgrounds.
Although you can create wallpaper artwork in any graphics application, GIMP (the GNU Image Manipulation Program) will probably be the key piece of software in your arsenal. It is a freely distributed piece of software for such tasks as photo retouching, image composition and image authoring.
GDM is a login manager (the splashscreen) that you use to login in, it starts all the desktop processes.
It is possible to configure it with this command:
gksudo gdmsetup &
For example the option to have auto login at startup is under the tab 'Security'
OpenBox is the window manager. It draws the windows and their parts like the close button. It also handles the drawing of the dialog boxes. (Ubuntu uses GNOME and MetaCity)
ObConf (Preferences > Openbox config > GUI Config Tool) installs themes which use the .obt Openbox theme archive format for distribution. Open any .obt theme archive in your file browser, or use the interface provided inside ObConf.
You can also use ObConf to create .obt Openbox theme archives for distributing your own themes.
Conky is an advanced, highly configurable system monitor for X - a widget that draws text information dynamically on the desktop. Read more on the Conky page.
GTK+ is a cross-platform widget toolkit for creating graphical user interfaces. It is one of the most popular toolkits for the X Window System, along with Qt (the widget toolkit for KDE).
You can alter your theme quite easily through the User Interface Settings dialog (lxappearance). To alter the root theme as a distinct visual indicator of root powers, enter:
gksudo lxappearance
One approach to creating a new theme: copy an existing theme to your home .themes directory and experiment from there. To start with the Crunchbang theme:
cp -R /usr/share/themes/CrunchBang ~/.themes/new-theme-name
In place of lxappearance, install gtk-chtheme as an alternative. You can search for gtk engines in the Debian (or Ubuntu) packages to find pre-created themes. I happen to like Crux, so I usually install the gtk2-engines package which includes it. Use gtk-chtheme to switch between and preview the themes on your system.
QGtkStyle is included with Qt 4.5 and later. To use your GTK theme in Qt applications (like VLC), run the QT4Config tool, and change the style to “GTK”
qtconfig-qt4
X handles all the graphics for the window manager Openbox. It handles the communication between the kernel and the various peripherals like the monitor, scanner, mouse etc.
From Wikipedia:
The X Window System (commonly X or X11) is a computer software system and network protocol that provides a graphical user interface (GUI) for networked computers. It implements the X display protocol and provides windowing on raster graphics (bitmap) computer displays and manages keyboard and pointing device control functions. In its standard distribution, it is a complete, albeit simple, display and human interface solution, but also delivers a standard toolkit and protocol stack for building graphical user interfaces on most Unix-like operating systems and OpenVMS, and has been ported to many other contemporary general purpose operating systems. All modern GUIs, such as GNOME, KDE, and Xfce, developed for Linux and other UNIX-like system use the X Window System as a foundation.
tint2 originated as a panel/taskbar for openbox3, light on resources and compliant with freedesktop specifications. It also works with other window managers.
LXPanel, the lightweight X11 desktop panel is the default desktop panel of the LXDE Project
PyPanel is a lightweight panel/taskbar for X11 window managers. It can be easily customized to match any desktop theme or taste.
ADesk Bar is an easy, simple, unobtrusive application launcher.
This is an attractive Mac-style animated taskbar, that is easy on the resources.
Theming Gwibber
Theming Firefox
Add Theming for Slim