A lightweight GTK2 panel for the Linux desktop.
fbpanel draws a configurable panel bar — taskbar, system tray, launcher, clock, pager, resource monitors, and more — built from small, independent plugins loaded at startup. It is a plain X11 application with no desktop environment dependency.
fbpanel was originally written by Anatoly Asviyan
(aanatoly). When
development stalled and the project was abandoned,
eleksir picked it up (~2020) and made
substantial improvements: migrated the build from the old Python 2 autotools
system to CMake, added the batterytext and user plugins, rewrote the
battery backend to use /sys instead of /proc, added pager icon drawing,
fixed a pile of compiler warnings and GLib deprecations, and shipped the
result as v7.2.
This repository imported eleksir's v7.2 as its starting point (v8.0.0), then continued from there with further bug fixes, refactoring, and active maintenance.
| Plugin | Description |
|---|---|
battery |
Battery charge level — icon style |
batterytext |
Battery charge level — text/numeric style |
brightness |
Screen backlight brightness — /sys/class/backlight; scroll-wheel to adjust |
chart |
Scrolling bar-chart base (used by cpu, net, mem2) |
cpu |
CPU usage chart |
cpufreq |
CPU clock frequency label — /sys/devices/system/cpu/cpuN/cpufreq |
dclock |
Digital clock using pixel-art bitmap glyphs |
deskno |
Current virtual desktop number |
deskno2 |
Current virtual desktop name |
diskio |
Disk read/write throughput chart — /proc/diskstats |
diskspace |
Filesystem usage progress bar — statvfs(3) |
genmon |
Generic monitor — runs a command and displays its output |
icons |
Invisible plugin: override per-application window icons |
image |
Static image |
launchbar |
Application launcher bar |
loadavg |
System load average label — /proc/loadavg (1m/5m/15m) |
mem |
Memory usage (progress-bar style) |
mem2 |
Memory usage (chart style) |
menu |
Application menu button ("start menu") |
meter |
Internal base plugin for icon-level meters |
net |
Network traffic monitor |
pager |
Virtual desktop pager (thumbnail miniatures) |
separator |
Visual separator |
space |
Blank spacer |
swap |
Swap usage progress bar — /proc/meminfo; hides when no swap |
taskbar |
One button per open window; raise/iconify/close |
tclock |
Text clock using GTK/Pango (honours the theme font) |
thermal |
CPU/board temperature label — /sys/class/thermal; colour-coded |
tray |
Freedesktop system notification area (system tray) |
user |
User avatar with popup action menu |
wincmd |
"Show Desktop" button |
windowlist |
Popup menu of all open windows; click to raise/focus |
windowtitle |
Active window title label — updates via EWMH _NET_ACTIVE_WINDOW |
xkill |
Click button then click any window to kill its client |
xrandr |
Current display resolution label (e.g. "1920x1080") |
| Audio | |
alsa |
ALSA master volume control — scroll or click to adjust (replaces volume) |
| Keyboard | |
capslock |
Caps Lock / Num Lock / Scroll Lock state indicator |
kbdlayout |
Active XKB keyboard layout label; click to cycle |
| Utilities | |
clipboard |
Clipboard history popup — click to restore an earlier entry |
timer |
Configurable countdown timer; click to start/reset |
Each tagged release publishes pre-built packages on the Releases page.
| Distro | Asset filename |
|---|---|
| Ubuntu 26.04 (Resolute) | fbpanel_<version>_amd64_resolute.deb |
| Ubuntu 24.04 (Noble) | fbpanel_<version>_amd64_noble.deb |
| Ubuntu 22.04 (Jammy) | fbpanel_<version>_amd64_jammy.deb |
| Ubuntu 20.04 (Focal) | fbpanel_<version>_amd64_focal.deb |
| Debian 13 (Trixie) | fbpanel_<version>_amd64_trixie.deb |
| Debian 12 (Bookworm) | fbpanel_<version>_amd64_bookworm.deb |
| Debian 11 (Bullseye) | fbpanel_<version>_amd64_bullseye.deb |
sudo dpkg -i fbpanel_<version>_amd64_<distro>.deb
sudo apt-get install -f # resolve any missing dependencies| Distro | Asset filename |
|---|---|
| Fedora 43 | fbpanel-<version>-1.x86_64_fedora43.rpm |
| Fedora 42 | fbpanel-<version>-1.x86_64_fedora42.rpm |
| Fedora 41 | fbpanel-<version>-1.x86_64_fedora41.rpm |
| Fedora 40 | fbpanel-<version>-1.x86_64_fedora40.rpm |
sudo dnf install fbpanel-<version>-1.x86_64_<distro>.rpmSee INSTALL.md for full build instructions and dependency list. Quick start:
cmake -B build -DCMAKE_INSTALL_PREFIX=/usr
make -C build -j$(nproc)
sudo make -C build installBug reports and pull requests are welcome.
- aanatoly/fbpanel — original repository by the project's author
- eleksir/fbpanel — GTK2 fork that carried the project through v7.2
- fbpanel/fbpanel — another independent GTK2 maintenance fork
- berte/fbpanel3 — GTK3 port of fbpanel
