Table of Content

This is a five-parts article. There are few sections here.

Where to Discuss?

Preface

Goal: Explaining Fluxbox Configuration

Table of Content


1: Config Directory

Fluxbox config directory contain a bunch of config files.

$ ls ~/.fluxbox
apps           lastwallpaper  startup
backgrounds    menu           styles
fbrun_history  overlay        windowmenu
init           pixmaps
keys           slitlist

fluxbox Config: directory

Dotfiles Document

Config is available at:


2: Config: init

Consider start with ~/.fluxbox/init file.

You can either edit the init file directly, or you can change using fluxbox menu.

session.screen0.toolbar.autoHide:	true
session.screen0.toolbar.widthPercent:	90

fluxbox Config: Menu Init

You can examine some sub-setting in respective config files.

session.screen0.windowMenu: ~/.fluxbox/windowmenu
session.keyFile:            ~/.fluxbox/keys
session.appsFile:           ~/.fluxbox/apps
session.styleFile:          ~/.fluxbox/styles/exilorate
session.menuFile:           ~/.fluxbox/menu
session.slitlistFile:       ~/.fluxbox/slitlist
session.styleOverlay:       ~/.fluxbox/overlay

Source


3: Config: Startup

Most my ~/.fluxbox/startup file only configure, common non-windowed-application in window manager.

Wallpaper

You can set wallpaper using either fbsetbg, or feh --bgscale, or nitrogen.

fbsetbg -f ~/Pictures/landscape_forest_mountain.jpg &
nitrogen --restore &

Internet

nm-applet &

Other Background Application

If you want, you can add other background application, such as notification, using dunst or else.

compton &
dunst &
parcellite &
mpd &

Complete

#!/bin/sh

nitrogen --restore &
nm-applet &

compton &
# dunst &
parcellite &
mpd &

# And last but not least we start fluxbox.
# Because it is the last app you have to run it with ''exec'' before it.

exec fluxbox

Source


4: Workspace Name

You can have nice workspace name

session.screen0.workspaceNames:	1:α, 2:β, 3:γ, 4:δ,

5: Config: Key Binding

This ~/.fluxbox/keys file is self explanatory. No need to be a wm-hacker to configure.

# change to a specific workspace
Control F1 :Workspace 1
Control F2 :Workspace 2
Control F3 :Workspace 3
Control F4 :Workspace 4

More Custom Key Binding.

Mostly borrowed from my i3 configuration.

# custom keybind
Mod4 Return  :Exec xfce4-terminal
Mod4 d       :Exec i3-dmenu-desktop
Mod4 Mod1 d  :Exec dmenu_run
Mod4 Shift d :Exec rofi -show run -opacity 90
Mod4 Ctrl d  :Exec rofi -show window -opacity 90
Mod4 t       :ToggleDecor

Source

  • [gitlab.com/…/dotfiles/…/keys][dotfiles-keys]

6: Rules

This ~/.fluxbox/apps file, govern each application.

For example, we can set each urxvt to be launched, in the center of the window, with specific width and height, and put it in specific workspace.

[app] (name=urxvt)
  [Position]    (CENTER)    {0 0}
  [Dimensions]  {800 480}
  [Deco]        {NONE}
[end]

Or do automatic grouping.

[group]  (workspace=[current])
  [app] (name=xterm) (class=XTerm)
[end]

Source


7: Panel

Hide Toolbar

Toolbar is not the only option. You can autohide it.

session.screen0.toolbar.autoHide:	true

Other Panel: tint2

You can use other panel as well. For example: double tint2 panel (top and bottom), as figure below.

fluxbox Config: tint2 panel

Please click the screenshot to see the original size.


What’s Next

This is configuration in general, we need to go deep with [ Config: Menu Part ].