Custom desktop
If the default GNOME or fluxbox desktop is not to your liking, it is relatively simple to set up your own custom desktop. You will need to make sure you have a Debian entry in your /etc/apt/sources.list (see InstallApt) and install the components you want. For this example I installed:
# apt-get install fbpanel openbox rox-filer gtk-theme-switch
Next you need to create a default Xsession for yourself edit/create ~/.Xsession like this:
exec rox -p eye-candy & exec fbpanel & exec openbox
It's the same format as you would use for ~/.xinitrc if you're familiar with launching xsessions using startx. So you can put all your startup items here, remembering to launch the window manager last. Check the manpages for these commands to fine tune them.
Configuring the Desktop
Restart your X session. When you get to the GDM login screen, click on 'Session' and select the 'Default System Session'. Great, you should now be looking at a fairly uninspiring grey background with one sad folder on it and a menu bar at the bottom.
Right-clicking on the grey background brings up various options. Firstly we want a nice background so the 'Backdrop' option gives us a nice drag'n'drop interface, clicking on the solitary folder opens up a ROX window and if nothing better there is usually something in /usr/share/wallpapers that will do the job for now. From the right-click menu you can also get to the ROX options panel and manual, which you will probably need to study to get the best from ROX.
We want to make the menu bar a little bit more exciting, so it it necessary to create or edit a text file called 'default' in your newly created .fbpanel directory. If you don't see one, make one. (You can do all this from ROX btw. ;)
########################################
## fbpanel configuration file for DeMuDi
## ~/.fbpanel/default
########################################
Global {
edge = bottom
allign = left
margin = 0
widthtype = percent
width = 100
heighttype = pixel
height = 28
roundcorners = true
Transparent = true
TintColor = #666666
Alpha = 0
}
Plugin {
type = wincmd
config {
image = /usr/share/fbpanel/images/Desktop2.png
tooltip = Left click to iconify all windows. Middle click to shade them.
}
}
Plugin {
type = menu
config {
# name = Debian menu
image = /usr/share/fbpanel/images/Menu.png
include {
name = /var/lib/fbpanel/menu
}
}
}
Plugin {
type = menu
config {
# name = Custom menu
image = /usr/share/pixmaps/debian-logo.png
item {
image = /usr/share/pixmaps/firefox.png
name = web browser
action = x-www-browser
}
item {
image = /usr/share/pixmaps/gnome-irc.png
name = irc
action = xchat
}
item {
name = synaptic
image = /usr/share/pixmaps/synaptic.png
action = gksu -u root /usr/sbin/synaptic
}
separator {
}
item {
name = terminal
image = /usr/share/fbpanel/images/GNOME-Terminal.png
action = /usr/bin/x-terminal-emulator
}
item {
name = Rox
image = /usr/share/pixmaps/gnome-home.png
action = rox
}
separator {
}
menu {
name = System
image = /usr/share/pixmaps/gnome-computer.png
item {
name = GTK+ 2.0 Theme Switch
image = /usr/share/pixmaps/apple-green.png
action = /usr/bin/switch2
}
item {
name = Update Menus
image = /usr/share/pixmaps/gnome-gmenu.png
action = update-menus
}
item {
name = Restart ALSA
image = /usr/share/pixmaps/alsa.xpm
action = gksu -m "Restart ALSA?" -t "ALSA Restart" -i "/usr/share/pixmaps/alsa.xpm" "/etc/init.d/alsa restart"
}
item {
name = Reboot
image = /usr/share/pixmaps/gnome-computer.png
action = gksu -m "Reboot?" -t "Reboot" -i "/usr/share/pixmaps/gnome-computer.png" "reboot"
}
item {
name = Shut Down
image = /usr/share/pixmaps/other/Shutdown.png
action = gksu -m "Shut Down?" -t "Shut Down" -i "/usr/share/pixmaps/other/Shutdown.png" "halt"
}
}
separator {
}
# Local system menu
# include {
# name = /etc/fbpanel/menu
# }
# User-specific menu -- only enable if all users have a menu file, otherwise
# users without menu files will have their fbpanels crash
# include {
# name = ~/.fbpanel/menu
# }
}
}
Plugin {
type = separator
}
Plugin {
type = launchbar
config {
button {
image = /usr/share/pixmaps/gnome-terminal.png
tooltip = Terminal
action = /usr/bin/x-terminal-emulator
}
button {
image = /usr/share/fbpanel/images/Networking.png
tooltip = Web Browser
action = /usr/bin/x-www-browser
}
button {
image = /usr/share/pixmaps/qjackctl.xpm
tooltip = JACK Control
action = qjackctl -s
}
button {
image = /usr/share/pixmaps/demudi_mixers.xpm
tooltip = Mixer
action = alsamixergui
}
button {
image = /usr/share/pixmaps/no.xpm
tooltip = exit panel
action = killall fbpanel
}
}
}
Plugin {
type = pager
}
Plugin {
type = separator
}
# 'icons' plugin lets you customize window icons.
# these changes applay to entire desktop
Plugin {
type = icons
config {
DefaultIcon = PREFIX/share/fbpanel/images/default.xpm
application {
Image = /usr/share/fbpanel/images/GNOME-Terminal.png
ClassName = XTerm
}
application {
Image = /usr/share/fbpanel/images/GNOME-Terminal.png
ClassName = mlterm
}
application {
Image = /usr/share/fbpanel/images/GNOME-Terminal.png
ClassName = URxvt
}
application {
Image = /usr/share/fbpanel/images/Emacs.png
AppName = emacs
ClassName = Emacs
}
}
}
Plugin {
type = space
#expand = true
config {
size = 20
}
}
Plugin {
type = taskbar
expand = true
config {
ShowIconified = true
ShowMapped = true
ShowAllDesks = false
tooltips = true
IconsOnly = false
MaxTaskWidth = 150
}
}
Plugin {
type = tray
}
# Digital Clock
Plugin {
type = dclock
config {
ClockFmt = %R
TooltipFmt = %A %x
Action = xmessage Please define some command &
}
}
You will probably need to log out and back in before this takes effect. Now install some nice GTK2 themes and start customising!
Have Fun!

