75b552f26b623b757c99583039b43239aae5bb8f
- Layer-shell bars drawn in software with tiny-skia and fontdue - Clock widget centered at the top of the screen - System tray in a top-right notch, acting as the StatusNotifierWatcher, with icons and right-click menus - Live-reloaded TOML config for colors (~/.config/pell/config.toml) - devenv setup for the Rust toolchain and Wayland libraries - README: config, tray behaviour and AI disclosure
Pell
A minimal widget based shell written in Rust, cause I do what I want
Configuration
Pell reads $XDG_CONFIG_HOME/pell/config.toml (or ~/.config/pell/config.toml).
Every key is optional, and changes are applied live, within a second of saving.
[colors]
background = "#1e1e2e" # "#rrggbb" or "#rrggbbaa"
foreground = "#cdd6f4"
System tray
Tray icons show in a notch at the top-right of the screen. Pell acts as the
org.kde.StatusNotifierWatcher itself, so no other tray (like waybar's) can run
alongside it; if one is already running, Pell starts without its tray.
- Left click activates the app (or opens its menu), middle click is the secondary action, right click opens the menu.
- Icons must be PNG (pixel data from the app, or a PNG in the icon theme). Others show as a placeholder dot.
- Submenus are shown inline, indented, rather than as separate popups.
- Apps started before Pell may need a restart to show up.
AI Disclosure
This project makes use of AI assistance. Specifically:
- Optimisation: AI tools are used to suggest performance and readability improvements to existing code.
- Code verification: AI tools are used to review code, spot bugs, and cross-check behaviour against intended design.
All AI-generated or AI-assisted suggestions are reviewed by a human before being merged. The author remains responsible for the content of this repository.
Languages
Rust
99.3%
Nix
0.7%