And then you ask yourself, "Well, what does Fluxbox look like". See for yourself by clicking on the links below. The screeshots I have posted are actualy screen captures I took of Fluxbox running on my YDL 6 installation on my PS3.
Screen capture of the Fluxbox Menu.
http://farm4.static.flickr.com/3136/2494372403_ed305135a2_o.png
Screen capture of the file manager Thunar and music player Audacious.
http://farm4.static.flickr.com/3296/2494373005_70425e0ae9_o.png
As you can see from my screen captures that Fluxbox takes a very minimal approach. No desktop icons and a very minimal toolbar.
So lets talk a little on the basic usage of Fluxbox. To bring up the menu, you simply right click on the desktop. You can navigate the menu with either your mouse or keyboard. At the bottom of the screen you can see the toolbar which indicates that I am using the first workspace and have my media player Audacious minimized to the toolbar. I also have my toolbar configured to display the date and time in an easy to read format. Managing windows is very similar to that in Gnome and other environments. Right clicking on the window decorator will bring up a menu with additional options such as sending the selected window to another workspace.
Before we get to the installation and configuration of Fluxbox, I'll list some links to documentation and themes for Fluxbox.
Documentation on the configuration of Fluxbox can be found at the two links below.
Fluxbox Documentation at Sourceforge
Fluxbox Wiki
Themes for Fluxbox called Styles can be found here.
Box-Look.org
Now we will get Fluxbox installed and get you going with some basics on the configuration of Fluxbox. I'm not going to get to deep into the configuration of Fluxbox here since everything you will need to now is already documented in the links I posted above. Here we will concentrate on installing Fluxbox along with a few other addition applications and work through some example configuration files taken from my own YDL 6 installation. So lets install it already. Just use whatever method you are comfortable installing applications with. Here I will be using yum from the command line. In your terminal as your root user, lets install Fluxbox along with the file manager used in XFCE called Thunar, eterm for setting our desktop wallpaper and the music player Audacious.
Update 5-30-08. Fixed typo for package name Thunar.
- Code: Select all
yum install fluxbox Thunar eterm audacious
Before we get carried away editing our configuration files, lets first back them up. All of the configuration files for Fluxbox are stored in a hidden directory located in your users Home directory called .fluxbox. In your terminal as your normal user run....
- Code: Select all
cp -r ~/.fluxbox ~/.fluxbox.backup
Now that we have our original Fluxbox configuration files backed up, we can start playing around with setting up our Fluxbox menu and shortcut keys file. We are going to start off by using some configuration files taken from my system. Before we log out of our current desktop environment and log into Fluxbox, lets set up a few things first so we will have a good base to start with. Lets start off with grabbing a few Fluxbox themes (Styles) from http://www.box-look.org and get them installed to the proper location so that we have them available to use after we log into Fluxbox. After downloaded a few Styles just extract the files you downloaded using your file manager and place the new Styles in your .fluxbox/styles directory.
Next lets get on with setting up our Fluxbox menu. The configuration file for the Fluxbox menu is located in .fluxbox/menu. The configuration file for the menu is very easy to read and you will probably be able to figure out how to edit the menu just by reading the code in the file. You can find information on editing the menu here. To make things a little easier to begin with, lets copy the contents of my .fluxbox/menu file onto your system. You can always edit this file later or create your own menu file. Open up your .fluxbox/menu file with Gedit and delete all of the original text. Now copy and past the contents of my menu file listed below into Gedit.
Update 5-27-08. I have edited my menu file to include options for Boot-Game-OS and system shutdown.
Update 9-07-08. Major cleanup of menu file.
- Code: Select all
[begin] (Fluxbox)
[exec] (Firefox) {firefox}
[exec] (Terminal) {gnome-terminal}
[exec] (Thunar) {thunar}
[exec] (Nautilus) {nautilus --no-desktop}
[exec] (Audacious) {/usr/bin/audacious}
[exec] (Rhythmbox) {/usr/bin/rhythmbox}
# [exec] (Beep Media Player) {/usr/bin/beep-media-player}
# [exec] (Streamtuner) {streamtuner}
[exec] (VLC) {/usr/bin/vlc}
[separator]
[submenu] (Apps) {}
[submenu] (Editors) {}
[exec] (AbiWord Word Processor) {/usr/bin/abiword}
[exec] (Gedit) {/usr/bin/gedit}
# [exec] (OpenOffice Writer) {/usr/bin/oowriter}
[end]
[submenu] (Graphics) {}
[exec] (Gnome Screenshot Tool) {/usr/bin/gnome-panel-screenshot}
[exec] (The GIMP) {/usr/bin/gimp}
[exec] (Gthumb Image Viewer) {gthumb}
# [exec] (xsane) {/usr/bin/xsane}
[end]
[submenu] (Math) {}
[exec] (Calculator) {/usr/bin/gcalctool}
# [exec] (OpenOffice.org Calc) {/usr/bin/oocalc}
# [exec] (OpenOffice.org Math) {/usr/bin/oomath}
[end]
[submenu] (Net) {}
[exec] (Bittorrent) {/usr/bin/bittorrent}
[exec] (Firefox Web Browser) {firefox}
[exec] (Pidgin) {/usr/bin/gaim}
[exec] (XChat) {/usr/bin/xchat-gnome}
# [exec] (GFTP) {/usr/bin/gftp-gtk}
[end]
# [submenu] (Programming) {}
# [exec] (Nvu) {/usr/bin/nvu} </usr/share/pixmaps/nvu.xpm>
# [end]
[submenu] (Shells) {}
[exec] (Aterm) {/usr/bin/aterm} <>
[exec] (Gnome Terminal) {/usr/bin/gnome-terminal}
[exec] (XTerm) {xterm} <>
# [exec] (Bash) { x-terminal-emulator -T "Bash" -e /bin/bash --login} <>
# [exec] (Dash) { x-terminal-emulator -T "Dash" -e /bin/dash -i} <>
# [exec] (Sh) { x-terminal-emulator -T "Sh" -e /bin/sh --login} <>
[end]
[submenu] (Sound & Video) {}
# [exec] (Banshee) {/usr/bin/banshee}
# [exec] (Beep Media Player) {/usr/bin/beep-media-player}
# [exec] (Easytag) {/usr/bin/easytag}
# [exec] (Gtkpod) {/usr/bin/gtkpod}
# [exec] (K3B) {/usr/bin/k3b}
[exec] (Listen) {/usr/bin/listen}
[exec] (Mplayer) {/usr/bin/gmplayer}
[exec] (Rhythmbox) {/usr/bin/rhythmbox}
[exec] (Streamtuner) {streamtuner}
# [exec] (Video::DVDRip) {/usr/bin/dvdrip}
[exec] (VLC) {/usr/bin/vlc}
# [exec] (XMMS) {/usr/bin/xmms}
[exec] (Xine) {/usr/bin/gxine}
[end]
[submenu] (System) {}
[exec] (Gnome Control Center) {gnome-control-center}
# [exec] (GTK Theme Switcher) {/usr/bin/gtk-chtheme}
# [exec] (YDL Package Manager) {/usr/bin/gksu -u root /usr/sbin/pirut}
[end]
[submenu] (Text) {}
[exec] (Dictionary) {/usr/bin/gnome-dictionary}
[end]
[submenu] (Viewers) {}
[exec] (Evince) {/usr/bin/evince}
[exec] (GThumb Image Viewer) {/usr/bin/gthumb}
[end]
[end]
[submenu] (Games) {}
[exec] (Atari 2600) {stella}
[exec] (Neo Geo) {/usr/bin/xgngeo}
[exec] (NES) {/usr/bin/gfceu}
[exec] (SNES) {/usr/bin/snes9express}
[exec] (Sega Genesis) {/usr/bin/xe}
[exec] (TurboGrafx-16) {/usr/bin/xe}
# [exec] (GameBoy Advance) {/usr/bin/gvba}
[end]
[submenu] (Fluxbox)
[config] (Configuration)
[submenu] (Styles) {}
# [stylesdir] (/usr/share/fluxbox/styles)
[stylesdir] (~/.fluxbox/styles)
[end]
[submenu] (Backgrounds)
[submenu] (Walls)
[wallpapers] (/home/kris/Wallpaper)
[end]
[end]
[workspaces] (Workspaces)
[exec] (Fbrun) {fbrun}
[restart] (Restart)
[end]
# [reconfig] (Reconfigure)
[exec] (Lock Screen) {xlock -mode blank}
[exec] (Boot Game OS) {/usr/bin/ps3-boot-game-os}
[exec] (Shutdown) {/usr/bin/halt -p}
[exit] (Exit)
[end]
If you page down near the bottom of the menu file you will see some code defining the path to or desktop wallpapers. It looks like this
- Code: Select all
[submenu] (Backgrounds)
[submenu] (Walls)
[wallpapers] (/home/kris/Wallpaper)
[end]
We can see that the path on my system is /home/kris/Wallpaper. Just edit this line to point to the location of your desktop wallpapers. Now save and close the file.
Now we will move onto a file that defines how certain aspects such as the width and size of the toolbar are set. Open .fluxbox/init and delete all of the original text and place the contents of my init file into your init file.
- Code: Select all
session.screen0.tabs.intitlebar: true
session.screen0.tabs.maxOver: false
session.screen0.iconbar.wheelMode: Screen
session.screen0.iconbar.iconTextPadding: 10l
session.screen0.iconbar.mode: Workspace
session.screen0.iconbar.usePixmap: true
session.screen0.iconbar.alignment: Relative
session.screen0.iconbar.deiconifyMode: Follow
session.screen0.iconbar.iconWidth: 70
session.screen0.menu.alpha: 255
session.screen0.toolbar.onhead: 0
session.screen0.toolbar.alpha: 255
session.screen0.toolbar.visible: true
session.screen0.toolbar.height: 0
session.screen0.toolbar.maxOver: false
session.screen0.toolbar.autoHide: false
session.screen0.toolbar.layer: Top
session.screen0.toolbar.widthPercent: 80
session.screen0.toolbar.tools: workspacename, iconbar, systemtray, clock
session.screen0.toolbar.onTop: False
session.screen0.toolbar.placement: BottomCenter
session.screen0.window.focus.alpha: 255
session.screen0.window.unfocus.alpha: 255
session.screen0.titlebar.left: Stick
session.screen0.titlebar.right: Minimize Maximize Close
session.screen0.overlay.lineWidth: 1
session.screen0.overlay.lineStyle: LineSolid
session.screen0.overlay.joinStyle: JoinMiter
session.screen0.overlay.capStyle: CapNotLast
session.screen0.tab.width: 64
session.screen0.tab.rotatevertical: True
session.screen0.tab.placement: TopLeft
session.screen0.tab.alignment: Left
session.screen0.tab.height: 16
session.screen0.slit.alpha: 255
session.screen0.slit.layer: Dock
session.screen0.slit.onhead: 0
session.screen0.slit.autoHide: false
session.screen0.slit.onTop: False
session.screen0.slit.maxOver: false
session.screen0.slit.direction: Vertical
session.screen0.slit.placement: BottomRight
session.screen0.windowMenu:
session.screen0.focusModel: ClickFocus
session.screen0.menuMode: Delay
session.screen0.edgeSnapThreshold: 0
session.screen0.resizeMode: Bottom
session.screen0.fullMaximization: false
session.screen0.clickRaises: true
session.screen0.rootCommand: fbsetbg -l
session.screen0.menuDelay: 0
session.screen0.reversewheeling: false
session.screen0.demandsAttentionTimeout: 500
session.screen0.windowScrollAction:
session.screen0.userFollowModel: Follow
session.screen0.workspaces: 4
session.screen0.workspacewarping: true
session.screen0.autoRaise: false
session.screen0.tabFocusModel: ClickToTabFocus
session.screen0.opaqueMove: true
session.screen0.antialias: true
session.screen0.workspaceNames: one,two,three,four,
session.screen0.strftimeFormat: %b %d %l:%M
session.screen0.decorateTransient: false
session.screen0.rowPlacementDirection: LeftToRight
session.screen0.colPlacementDirection: TopToBottom
session.screen0.windowScrollReverse: false
session.screen0.allowRemoteActions: false
session.screen0.focusLastWindow: true
session.screen0.followModel: Ignore
session.screen0.imageDither: false
session.screen0.showwindowposition: true
session.screen0.menuDelayClose: 0
session.screen0.windowPlacement: RowSmartPlacement
session.screen0.defaultDeco: NORMAL
session.screen0.focusNewWindows: true
session.screen0.desktopwheeling: true
session.doubleClickInterval: 250
session.ignoreBorder: false
session.focusTabMinWidth: 0
session.tabPadding: 0
session.slitlistFile: ~/.fluxbox/slitlist
session.forcePseudoTransparency: false
session.autoRaiseDelay: 250
session.styleOverlay: ~/.fluxbox/overlay
session.modKey: Mod1
session.configVersion: 1
session.menuFile: ~/.fluxbox/menu
session.tabsAttachArea: Window
session.imageDither: True
session.colorsPerChannel: 4
session.tabs: true
session.cacheMax: 200
session.cacheLife: 5
session.keyFile: ~/.fluxbox/keys
session.numLayers: 13
session.groupFile: ~/.fluxbox/groups
session.styleFile: /home/kris/.fluxbox/styles/darkmystic
session.appsFile: ~/.fluxbox/apps
session.opaqueMove: False
The init file can be edited by hand or from the Fluxbox menu by right clicking on the desktop to bring up the menu and selecting Fluxbox > Configuration. Now save and close the init file.
Lets move onto the configuration file that defines the keyboard shortcuts in Fluxbox called .fluxbox/keys. This is were Fluxbox really shines. You can edit this file to define a specific key binding to bring up the Fluxbox menu or launch an application. You can find information on editing this file here. Lets take a look at my .fluxbox/keys file.
- Code: Select all
!mouse actions added by fluxbox-update_configs
OnDesktop Mouse1 :hideMenus
OnDesktop Mouse2 :workspaceMenu
OnDesktop Mouse3 :rootMenu
OnDesktop Mouse4 :nextWorkspace
OnDesktop Mouse5 :prevWorkspace
Mod1 Tab :NextWindow
Mod1 Shift Tab :PrevWindow
Mod1 F1 :ExecCommand firefox
Mod1 F2 :ExecCommand gnome-terminal
Mod1 F3 :ExecCommand thunar
Mod1 F4 :ExecCommand vmware
Mod1 F5 :ExecCommand xmms
Mod1 F6 :ExecCommand streamtuner
Mod1 F7 :ExecCommand xchat-gnome
Mod1 F8 :Workspace 8
Mod1 F9 :Workspace 9
Mod1 F10 :Workspace 10
Mod1 F11 :Workspace 11
Mod1 F12 :Workspace 12
Mod1 Right :NextWorkspace
Mod1 Left :PrevWorkspace
Mod1 Up :RootMenu
#Mod1 Down :ShowDesktop
Mod1 Control Down :Minimize
Mod1 refers to the Alt key on the keyboard. As you can see, we can switch desktops by pressing Alt + Right arrow key or Alt + Left arrow key. You can bring up the Fluxbox menu by pressing Alt + Up arrow on the keyboard. We can also quickly launch Firefox by pressing Alt + F1. You can edit this file to suite your own taste. After you have finished with any changes you would like to make to your keys file, save the file and we will move onto the configuration file that sets fonts and font sized used by Fluxbox.
This file is called .fluxbox/overlay.
- Code: Select all
menu.frame.font:
menu.title.font: Bitstream Vera Sans-12
toolbar.clock.font: Bitstream Vera Sans-12
toolbar.workspace.font: Bitstream Vera Sans-12
toolbar.iconbar.focused.font: Bitstream Vera Sans-12
toolbar.iconbar.unfocused.font: Bitstream Vera Sans-12
window.font: Bitstream Vera Sans-12
Here we can set the font used for the menu, window title and toolbar. The font size listed here (12) is what I use on my 720p television, so if you are using a higher screen resolution, you may want to increase the font size.
We only have one more file left to configure and then we are done. This last file is called .gtkrc-2.0 and is found in your /home/username directory. This file sets the GTK theme used for GTK applications such as Firefox and Thunar, the icon theme used and the font type and size. Lets take a look at it.
- Code: Select all
gtk-font-name = "Bitstream Vera Sans 12"
gtk-theme-name = "SlicknesS"
gtk-icon-theme-name = "black-white_2-Style"
We can see that my GTK applications will be set with a Bitstream Vera Sans font with a font size of 12. The GTK theme used will be "SlicknesS" and the icon theme used will be "black-white_2-Style". For practice lets set up or system with these themes.
You can download the GTK theme SlicknesS from here. Extract the file you download using your file manager. You will need to extract it two times on this one. Now copy the directory SlicknesS to your .themes directory.
- Code: Select all
cp -r ~/SlicknesS ~/.themes
You can download and copy any GTK+2 theme that you would like to use to your .themes directory. Now lets download and install the icon theme black-white_2-Style. You can grab it here. Again, you will need to extract this one 2 times since the actual directory we need that contains the font theme is located in a sub directory. Now copy the directory black-white_2-Style to your .icons directory.
- Code: Select all
cp -r ~/black-white_2-Style ~/.icons
Thats it. What we have done so far should give us a good starting point for using Fluxbox. We can finally log out of our current working environment and select Fluxbox from the Sessions menu located in the login manager (GDM). Now login and enjoy some lightning fast speed. Did you notice how much faster Fluxbox started after you logged in compared to that of Gnome or XFCE? Now right click on the desktop to bring up the menu and open the file manager. The file manager started up pretty fast didn't it?
I hope that this guide helped explain as easily as possible, how to get Fluxbox installed and get a basic configuration going. Again, I strongly recommend that new users to Fluxbox read through the documentation that I linked to at the begining of this guide. Have fun, and I hope that you come to love Fluxbox as much as I do.