I. Presentation
Flaxx is a full featured Fluxbox configuration dedicated to Slackware.
II. Requirements
in order to work properly, flaxx requires the following softwares.
Software | Description |
---|---|
The Fluxbox Window Manager. |
|
Generates the menu of installed applications. |
|
Generates the menu of preferred applications. |
|
Updates the applications menus while running Fluxbox, when needed. |
|
A multi-purpose tool dedicated to window managers like fluxbox. |
|
Allows to access storage volumes from a simple menu. |
|
Allows to display Gtk+ dialog boxes from shell scripts. |
III. Package installation
To install flaxx, download the latest package revision
available here,
then, as root, run the command below (replace the tags VERSION
and BUILD
accordingly) :
-
$ upgradepkg --install-new flaxx-<VERSION>-noarch-<BUILD>.tgz
IV. Installing the configuration Flaxx
Once package flaxx is installed, any user can, at any time, (re)install
the provided Fluxbox configuration by running the installer flaxx-install
,
as below :
-
$ flaxx-install --config /usr/share/flaxx/install.conf
V. Directories and files: Overview
After install of the configuration flaxx, the user’s Fluxbox
directory (ie. ~/.fluxbox
) should contain the following file and
folders.
-
apps
The per-application configuration file for Fluxbox.
-
Wrapper script to (re)generate the menus of installed and preferred applications.
Config
:
conf.d/appsmenus-gen.conf
-
conf.d/
The configuration files directory.
-
A GUI to select, from a checklist in a zenity dialog-box, the modules that must be loaded and executed by Fluxbox startup script.
Config
:
conf.d/fb-startup-man.conf
-
A GUI frontend for
fbsetbg
which allows to select the Fluxbox wallpaper from a file-selection dialog.Config
:
conf.d/fbsetbg-gui.conf
-
Display Fluxbox informations in a dialog-box.
-
A GUI to choose, from the list of installed applications, which ones must be accessible from the menu of preferred applications.
Config
:
conf.d/pref-apps-man.conf
-
The Fluxbox resources file in which user defaults are stored.
-
keys
The Fluxbox keyboard shortcuts configuration file.
-
log.d/
Log files directory.
-
menus.d/
The Fluxbox menus directory.
-
overlay
The Fluxbox style overlay file which allows to override some elements of selected style.
-
The Fluxbox startup script.
Config
:
conf.d/startup.conf
-
startup.d/
The startup modules directory.
-
styles/
The Fluxbox user’s styles directory.
-
tmp.d/
Temporary files directory.
VI. Startup modules
A startup module is a simple bash script which is dynamically loaded by Fluxbox startup script, ie. ~/.fluxbox/startup, to execute action(s) before or after starting Fluxbox.
1. Startup modules selection
The selection of startup-modules to execute can be done at any time, in one of the following ways :
-
From the command line, by setting the executable bit of startup-modules accordingly, like in example below :
-
$ cd ~/.fluxbox/startup.d $ chmod +x 020-numlock.sh 090-compton.sh $ chmod +x 999-mozilla-firefox.sh
-
With the GUI fb-startup-man, which looks like this:
2. The included startup-modules
A. The pre-startup modules
1. 010-load-res.sh
Loads user’s Xmodmap and Xresources, when present.
|
: |
|
|
: |
- |
|
: |
disabled |
3. 030-apps-menus.sh
Regenerates applications-menus and starts service to update them during Fluxbox session, when required.
|
: |
|
|
: |
appsmenus-gen, dtfilemon, wmpamgen, xdgmenumaker ( slackbuild for 14.2) |
|
: |
enabled |
4. 040-stovol-menu.sh
Starts wmsvmgen service to access storage volumes under Fluxbox through a menu.
|
: |
|
|
: |
|
|
: |
enabled |
5. 050-dbus.sh
Starts DBUS session bus, when required.
|
: |
- |
|
: |
dbus (comes as part of Slackware) |
|
: |
enabled |
7. 070-pulseaudio.sh
Starts PulseAudio.
|
: |
|
|
: |
PulseAudio (comes as part of Slackware) |
|
: |
enabled |
8. 080-vboxclient.sh
Starts VirtualBox Guest Addition X11 Client.
|
: |
|
|
: |
|
|
: |
disabled |
B. The post-startup modules
1. 010-blueman-applet.sh
Starts blueman-applet, a tray applet for managing bluetooth.
|
: |
|
|
: |
blueman (comes as part of Slackware) |
|
: |
enabled |
2. 020-hplip-systray.sh
Starts the HP system tray service.
|
: |
|
|
: |
hplip (comes as part of Slackware) |
|
: |
enabled |
3. 030-nm-applet.sh
Starts nm-applet, a system-tray applet for managing network connections.
|
: |
|
|
: |
network-manager-applet (comes as part of Slackware) |
|
: |
enabled |
5. 050-xscreensaver.sh
Starts xscreensaver, a screensaver and locker program.
|
: |
|
|
: |
xscreensaver (comes as part of Slackware) |
|
: |
disabled |
7. 060-gkrellm.sh
Starts gkrellm, a system monitor for X.
|
: |
|
|
: |
gkrellm (comes as part of Slackware) |
|
: |
disabled |
8. 070-analog-clock.sh
Launches the cairo-clock or xonclock widget.
|
: |
|
|
: |
cairo-clock (slackbuild: 14.2), xonclock (slackbuild: 14.2) |
|
: |
disabled |
9. 999-audacious.sh
Launches audacious, a media player.
|
: |
|
|
: |
audacious (comes as part of Slackware) |
|
: |
disabled |
10. 999-chromium.sh
Launches chromium Web browser.
|
: |
|
|
: |
|
|
: |
disabled |
11. 999-galculator.sh
Launches galculator, a scientifc calculator.
|
: |
- |
|
: |
galculator (slackbuild: 14.2) |
|
: |
disabled |
13. 999-gimp.sh
Launches gimp, The GNU Image Manipulation Program.
|
: |
|
|
: |
gimp (comes as part of Slackware) |
|
: |
disabled |
16. 999-libreoffice-calc.sh
Launches libreoffice-calc, the spreadsheet component of the LibreOffice suite.
|
: |
|
|
: |
libreoffice (slackbuild: 14.2) |
|
: |
disabled |
17. 999-libreoffice-writer.sh
Launches libreoffice-writer, the word-processor component of the LibreOffice suite.
|
: |
|
|
: |
libreoffice (slackbuild: 14.2) |
|
: |
disabled |
18. 999-mozilla-firefox.sh
Launches Mozilla Firefox Web browser.
|
: |
|
|
: |
mozilla-firefox (comes as part of Slackware) |
|
: |
disabled |
19. 999-mozilla-thunderbird.sh
Launches Mozilla Thunderbird mail application.
|
: |
|
|
: |
mozilla-thunderbird (comes as part of Slackware) |
|
: |
disabled |
20. 999-mplayer.sh
Launches gmplayer, a GUI front ends for mplayer.
|
: |
|
|
: |
MPlayer (comes as part of Slackware) |
|
: |
disabled |
22. 999-thunar.sh
Launches Thunar, a file manager.
|
: |
|
|
: |
Thunar (comes as part of Slackware) |
|
: |
disabled |
23. 999-uxterm.sh
Launches uxterm, an X terminal emulator for Unicode (UTF-8).
|
: |
|
|
: |
xterm (comes as part of Slackware) |
|
: |
disabled |
3. Implementing startup modules
Users who want to implementes their own startup-modules should follow the rules below :
-
The startup-module names should have the following syntax :
-
<rank>-<module-basename>.sh
rank
is a 3 digits number which defines the module loading rank. This can be changed at any time to force a module to be loaded before or after (some) other module(s). -
The startup-modules configuration files should be in
~/.fluxbox/conf.d
and should have the following syntax:-
<module-basename>.module.conf
-
A startup-module should start with an header including :
-
a short description of the module specified using tags
DESC
, like in the following example :-
# DESC:This module is dedicated to run # DESC:the following actions: ...
-
the name of its configuration file, if any, specified using the tag
MCFG
, as in example below :-
# MCFG: sample.module.conf
-
-
Any startup-module which starts a process in the background that must be stopped when Fluxbox exits, must register this process by calling register_process().
-
The startup-modules must do their job as quickly as possible, otherwise user might feel Fluxbox is stuck.
-
The startup-modules must never execute the command exit.
VII. Menus
This configuration comes with the following menus (in menus.d/
).
1. root.menu
This is the Fluxbox root menu. There are many ways to access this menu :
-
OnDesktop:
RightButton
-
WinKey
+RightButton
(anywhere) -
WinKey
+space
Here is a screen-capture of this menu:

2. apps.menu
This menu gives access to :
-
The menu of preferred applications
-
The menu of installed applications
-
The option to run a given command
This menu is part of the Fluxbox root menu and can also be
accessed through the keyboard shortcut: WinKey
+ a
Here is a screen-capture of this menu:

3. fluxbox.menu
This is the menu which allows to configure Fluxbox, select a
style, …. It is part of the Fluxbox root menu
and can also be accessed through the keyboard shortcut: WinKey
+ f
Here is a screen-capture of this menu:

4. layout.menu
This is the windows layout menu. It is part of the menu "Fluxbox"
and can also be accessed through the keyboard shortcut: WinKey
+ l
Here is a screen-capture of this menu:

5. tools.menu
This is the tools menu which gives access to useful tools and options. It
is part of the menu "Fluxbox" and can also be accessed
through the keyboard shortcut: WinKey
+ t
.
Here is a screen-capture of this menu:

6. session.menu
This is the session menu which allows to log out, lock the screen,
suspend, hibernate, reboot, shutdown the system. It is part of the
Fluxbox root menu and can also be accessed through
the keyboard shortcut: WinKey
+ s
.
Here is a screen-capture of this menu:

VIII. Keyboard shortcuts
Below the tables of the keyboard shortcuts defined in configuration
file ~/.fluxbox/keys
.
1. Window focus shortcuts
Action | Shortcut(s) |
---|---|
Focus next window |
|
Focus prev. window |
|
Focus window on left |
|
Focus window on right |
|
Focus window above |
|
Focus window below |
|
2. Window commands shortcuts
Action | Shortcut(s) |
---|---|
Open window menu |
|
Close window |
|
Kill window |
|
Shade/Unshade window |
|
Stick/Unstick window |
|
3. Window tabs shortcuts
Action | Shortcut(s) |
---|---|
Attach/Detach window |
|
Detach current tab |
|
Select a tab |
|
Next tab |
|
Prev tab |
|
Go tab #n |
|
4. Window sizing shortcuts
Action | Shortcut(s) |
---|---|
Minimize window |
|
Maximize window |
|
Maximize window horz. |
|
Maximize window vert. |
|
Fullscreen |
|
Resize |
|
Resize(with grips) |
|
Resize(no focus change) |
|
Resize(keyboard) |
|
5. Window movement shortcuts
Action | Shortcut(s) |
---|---|
Move window |
|
Move window(no focus change) |
|
Move window(keyboard) |
|
6. Window layout shortcuts
Action | Shortcut(s) |
---|---|
Curr. Window on left edge |
|
Curr. Window on right edge |
|
Curr. Window on up edge |
|
Curr. Window on down edge |
|
Arrange windows vert. |
|
Arrange windows horz. |
|
Stack windows left |
|
Stack windows right |
|
Stack windows up |
|
Stack windows down |
|
7. Menus shortcuts
Action | Shortcut(s) |
---|---|
Hide menus |
|
Windows menu |
|
Workspaces menu |
|
Root menu |
|
Applications menu |
|
Fluxbox menu |
|
Layout menu |
|
Tools menu |
|
Session menu |
|
Storage volumes menu |
|
8. Applications shortcuts
Action | Shortcut(s) |
---|---|
xterm |
|
fbrun |
|
htop |
|
9. Workspace shortcuts
Action | Shortcut(s) |
---|---|
Show desktop |
|
Go prev. workspace |
|
Go next workspace |
|
Go workspace #n |
|
Send current window to |
|
Send current window to |
|
Send current window to |
|
Go to prev workspace |
|
Go to next workspace |
|
Go to workspace #n |
|
10. Multimedia shortcuts
These shortcuts work only on system with a multimedia keyboard.
Action | Shortcut(s) |
---|---|
Mute master volume |
|
Lower master volume(5%) |
|
Raise master volume(5%) |
|
11. Fluxbox shortcuts
Action | Shortcut(s) |
---|---|
Exit with confirmation |
|
Restart Fluxbox |
|
Reconfigure Fluxbox |
|
Reload Fluxbox style |
|
12. Tools shortcuts
Action | Shortcut(s) |
---|---|
Full screenshot |
|
Full screenshot(timeout=30s) |
|
Window screenshot |
|
Region screenshot |
|
13. Power shortcuts
Action | Shortcut(s) |
---|---|
Suspend |
|
Hibernate |
|
Reboot |
|
Shutdown |
|
IX. Fluxbox styles
flaxx comes with the following fluxbox styles, which are accessible from root menu > Fluxbox > User Styles.
1. classic-catalina-blue

2. classic-charcoal

3. classic-deepsky

4. classic-manatee

5. classic-mariner

6. classic-matisse

7. classic-polo-blue

8. classic-sanjuan

9. clean-charcoal

10. clean-deepsky

11. clean-manatee

X. Fluxbox issues and Troubleshooting
1. Fluxbox crash
Sometimes, Fluxbox exits abprutly when moving a window to another workspace using the shortcuts Send current window to … and Go to … with current window (see workspace shortcuts).
The only clue about that is the following error message logged in
~/.xsession-errors
:
-
free(): invalid pointer
2. fbsetbg can’t find wallpaper
Sometimes, the following message can be displayed at Fluxbox startup whereas the wallpaper well exist :
-
fbsetbg: Can't find wallpaper <X>
This is mainly encountered when the wallpaper is referenced more
than once in file ~/.fluxbox/lastwallpaper
.
The easiest way to fix that issue is to remove the superfluous occurence(s) of the wallpaper.