A modern Fluxbox-based window manager for Essora Linux with GTK3-driven theming, an integrated panel, native XDG autostart, Essora menu integration and refined window management.
Based on Fluxbox 1.3.7 · Current version: 1.7.3 · Maintained by josejp2424
Fluxbox2-Essora is a maintained fork of Fluxbox 1.3.7 created for the Essora desktop. It keeps the speed and small footprint of Fluxbox while modernizing the parts that normally require a collection of external tools, old Fluxbox styles or separate session helpers.
The window manager still keeps the traditional Fluxbox executable and configuration layout:
/usr/bin/fluxbox
~/.fluxbox
/usr/share/fluxbox
The visual side is different from classic Fluxbox: GTK3 is now the only visual
theme source for window decorations and native Fluxbox menus. Fluxbox style files
are no longer used to select the appearance of the desktop. The active GTK3 theme is
read through XSETTINGS/xsettingsd, with ~/.config/gtk-3.0/settings.ini as a fallback.
Fluxbox2-Essora currently targets X11 and XLibre. It is not a native Wayland window manager.
Fluxbox2-Essora can be used as a standalone window manager, but for the best Essora desktop experience it is recommended to use it together with ROX-Filer2.
The two projects are designed to complement each other:
- Fluxbox2-Essora provides the window manager, integrated panel, application menu, global shortcuts and session integration.
- ROX-Filer2 provides the desktop layer, wallpaper, desktop icons, storage-device icons, Trash integration and file management.
Fluxbox2-Essora also includes specific integration for the ROX-Filer2 desktop so that actions such as Show Desktop hide application windows without minimizing or hiding the desktop itself.
For a complete lightweight Essora desktop environment, the recommended combination is:
Fluxbox2-Essora + ROX-Filer2
For users who prefer a graphical interface, the recommended configuration tool is Fluxbox2 Config.
Fluxbox2 Config is a GTK3 companion utility designed specifically for Fluxbox2-Essora. It provides a visual interface for configuring the window manager and its integrated panel without requiring users to edit configuration files by hand.
It can manage settings such as:
- Workspaces and window behavior.
- Focus and window placement.
- Edge snapping and move/resize behavior.
- Titlebar and tab integration.
- Super/Windows key menu behavior.
- XDG autostart integration.
- Integrated panel position, size and behavior.
- Taskbar, system tray, clock and battery.
.desktoplaunchers and manual panel buttons.- Exact panel item ordering.
- GTK3 panel color integration.
Fluxbox2 Config edits the same Fluxbox2-Essora configuration stored under
~/.fluxbox, including the integrated panel configuration in:
~/.fluxbox/panelrc
It does not require tint2conf and does not move the panel configuration to
~/.config/tint2.
Fluxbox2-Essora remains fully usable without the configurator, but Fluxbox2 Config is the recommended way to manage it graphically.
Fluxbox2-Essora no longer relies on the classic Fluxbox style system for its visual appearance.
- Window frames and titlebars are generated from the active GTK3 theme.
- Close, maximize, minimize and other title buttons are rendered from GTK3 assets/CSS.
- Native Fluxbox menus use colors and visual states derived from the same GTK3 theme.
- XSETTINGS/xsettingsd is the primary source for live GTK theme changes.
~/.config/gtk-3.0/settings.iniis used as a fallback when XSETTINGS is unavailable.- Changing the GTK3 theme updates Fluxbox2-Essora without requiring a new Fluxbox style file.
Legacy SetStyle/style commands are kept only for compatibility and reload the GTK3
visual theme instead of switching to an old Fluxbox style.
GTK3-rendered decoration assets are cached per theme under:
~/.fluxbox/cache/gtk3/<theme>/
The cache is validated using the active theme, font, monitor scale and renderer revision. A valid cache is reused immediately. If the cache is missing, cleaned or obsolete, Fluxbox2-Essora regenerates it automatically.
This avoids rendering GTK3 title buttons again for every new window while still allowing live theme changes.
Fluxbox2-Essora includes a panel engine derived from tint2, but it is not launched as a separate tint2 process. The panel is integrated directly into the Fluxbox process and shares its X11 event loop.
Its user configuration is:
~/.fluxbox/panelrc
Important advantages:
- No separate tint2 process is required.
- No
~/.config/tint2configuration is used by Fluxbox2-Essora. - No tint2conf dependency is required.
- Taskbar, launcher, clock, system tray, battery, buttons and panel objects are provided by the integrated panel engine.
- Multi-monitor panel behavior remains available.
- The panel reserves its real screen area so maximized and normally placed windows do not cover it.
strut_policy = follow_sizekeeps the reserved work area synchronized with the physical panel size.
The panel can be reloaded without restarting Fluxbox:
fluxbox-remote "RefreshPanel"With:
use_gtk_colors = 1
only the panel RGB palette follows the GTK3 theme announced by xsettingsd/XSETTINGS.
The tint2-derived renderer still keeps the values from panelrc for alpha, borders,
radius, padding, geometry and other layout details.
This allows the panel to visually follow the desktop theme without losing its own carefully configured structure.
The Essora application menu is included in the same source/package and is installed as a private companion executable rather than being linked directly into the Fluxbox binary.
Public entry point:
ShowMenuRemote command:
fluxbox-remote "ShowMenu"/usr/bin/pymenu remains as a compatibility entry point.
The menu receives the real geometry of the integrated panel from Fluxbox2-Essora, so it opens next to the panel on the correct monitor and supports top, bottom, left and right panel layouts.
A tap of the Super/Windows key by itself opens the Essora menu by default, while Super combined with another key remains available for normal shortcuts.
Relevant settings:
session.superKeyTap: true
session.superKeyCommand: ShowMenu
Fluxbox2-Essora replaces the old Python menu/profile helpers with native tools. Private helper binaries are installed under the Fluxbox multiarch directory, for example on Debian/Devuan amd64:
/usr/lib/x86_64-linux-gnu/fluxbox/
This directory contains components such as:
fluxbox-pymenu
fluxbox-pymenu-config
essora-profile
essora-menu-gen
fluxbox-xbindkeys
The native menu generator uses libxml2, the PyMenu configurator uses GTK3/json-c, and the menu no longer depends on Python 3 or pyxdg.
User-editable menu data remains below ~/.fluxbox.
Fluxbox2-Essora bundles xbindkeys 1.8.7 as a private helper, so users do not need to install a separate system xbindkeys package for the default Essora shortcuts.
Global application shortcuts:
~/.fluxbox/xbindkeysrc
Window-manager context bindings:
~/.fluxbox/keys
Keeping both types separate allows Fluxbox-native window commands and global application launch shortcuts to coexist cleanly.
Fluxbox2-Essora launches XDG autostart entries natively after the window manager and integrated panel are ready.
It reads:
~/.config/autostart
/etc/xdg/autostart
Supported desktop-entry behavior includes Exec, Hidden, TryExec, OnlyShowIn,
NotShowIn, Path and localized Name values.
The feature is enabled by default:
session.xdgAutostart: true
An X11 root-window marker prevents the same XDG applications from being launched a second time when only Fluxbox2-Essora is restarted inside the same X session.
Fluxbox2-Essora keeps Fluxbox's lightweight window-management model while changing several defaults for a more conventional desktop experience.
- Normal new windows use
CenterPlacementby default. - Transient dialogs are centered over their parent window.
- Windows can be resized from every edge and corner.
- Tabs are always integrated into the titlebar in Fluxbox2-Essora 1.7.2.
- Old configurations containing
session.screen0.tabs.intitlebar: falseare migrated automatically. - Desktop, dock, menu and toolbar infrastructure is excluded from normal application placement rules.
- Show Desktop protects real desktop windows instead of minimizing them with normal applications.
- Rox-Filer2/ROX Desktop is additionally recognized through its registered
_ROX_DESKTOP_WINDOWX11 property. - Workspace switching, window grouping/tabbing, Alt-Tab and the traditional Fluxbox window actions remain available.
Default desktop behavior starts with two workspaces and can be expanded later.
Useful commands include:
fluxbox --version
fluxbox --about
fluxbox --info
fluxbox-remote "Reconfigure"
fluxbox-remote "RefreshPanel"
fluxbox-remote "ShowMenu"
ShowMenuFluxbox2-Essora can restrict general remote actions while still allowing selected
safe integration commands such as Reconfigure, RefreshPanel and ShowMenu.
The main user configuration remains together under:
~/.fluxbox/
Important files include:
~/.fluxbox/init
~/.fluxbox/keys
~/.fluxbox/panelrc
~/.fluxbox/xbindkeysrc
~/.fluxbox/pymenu.json
~/.fluxbox/essora-menu.xml
~/.fluxbox/face
~/.fluxbox/locale
This keeps Fluxbox2-Essora self-contained and avoids spreading its panel and menu configuration across unrelated directories.
Fluxbox2-Essora deliberately preserves important Fluxbox paths and commands so that existing lightweight Linux workflows can continue to use it:
/usr/bin/fluxbox
~/.fluxbox
/usr/share/fluxbox
The Debian package also provides x-window-manager and fluxbox, while conflicting
with/replacing the distribution Fluxbox package to avoid two implementations owning
the same files.
Typical build commands:
./autogen.sh
./configure --prefix=/usr --enable-librsvg
make -j$(nproc)
make installFluxbox2-Essora requires the normal X11 development stack plus GTK3 3.24 or newer. The integrated components also use GLib/GObject, Cairo, Pango, Imlib2, XRender, XRandR, Xinerama, XComposite, XDamage, json-c and libxml2. librsvg is used for SVG icon support when enabled.
For Debian/Devuan packaging the source includes:
./build-deb.shFluxbox2-Essora is intentionally a lightweight X11/XLibre desktop component. The project focuses on keeping Fluxbox fast while reducing the number of separate programs needed for a complete Essora session.
It is not intended to become a large desktop environment and it currently does not provide a native Wayland compositor/backend.
Fluxbox2-Essora contains code from projects with different compatible licensing requirements, so the original notices are preserved.
- Combined Fluxbox2-Essora core and integrated tint2-derived panel: GNU GPL v2 (GPL-2.0-only).
- Original Fluxbox-derived code: original MIT notices are preserved.
- Essora PyMenu companion program: GPL-3.0-or-later.
- Bundled xbindkeys helper: retains the upstream xbindkeys license/notice.
The repository should keep the corresponding license files, including the main
LICENSE (GPL v2), LICENSE.MIT/COPYING.FLUXBOX, COPYING.TINT2,
COPYING.PYMENU and COPYING.XBINDKEYS where applicable.
Fluxbox2-Essora would not exist without the work of the projects it builds upon.
- Fluxbox — original window manager and code base.
- Blackbox — historical code inherited through Fluxbox.
- tint2 contributors — panel engine used as the basis of the integrated Essora panel.
- xbindkeys contributors — global shortcut helper.
- josejp2424 — Fluxbox2-Essora continuation, GTK3 integration, panel integration, Essora menu integration and current project maintenance.
Original copyright and license notices remain part of the source tree.



