Replace GNOME or Plasma panels on a Linux desktop with a single custom Python shell
Build a cyberpunk-themed rice with matching bar widgets, popups, and nmtui colours
Wire up modal chord menus to fire shell commands when a key combo is released
Chain scripts together with the JSON dialog-pipeline system for guided workflows
You need GTK 3, PyGObject, Cairo, and a working Linux session you are willing to let an unfamiliar shell process drive.
indigoshell is a custom desktop shell for Linux that draws its own status bar, popups, system tray, notifications, and a floating terminal. Instead of using Plasma or GNOME's built-in panels, the user runs a single Python process that owns the bar at the bottom of the screen and all the small windows that go with it. It is written on top of GTK 3 and PyGObject, with Cairo doing the custom drawing for shapes like the beveled corner brackets. Out of the box it ships in what the author calls the INDIGO Cyberpunk palette: hot magenta, electric cyan, neon yellow, violet accents, and a deep blue-violet background. Every colour, font size, spacing value, and per-widget preset lives in a single theme.py file, including a 16-colour palette for the terminals it embeds and a matching colour block for the text-mode network configuration tool nmtui so it looks consistent everywhere. The bar can host a long list of widgets: a workspaces indicator with a blinking ring for urgent windows, CPU, RAM, and temperature meters, a volume slider, a network indicator, a media widget with an audio-spectrum background that pulses to the beat, a clock with battery underline, scrolling lyrics that scramble in sync with the music, and a StatusNotifierItem system tray. Click a widget and it can open a popup with a calendar, a network panel, a hardware history graph, or a terminal-hosted view of tools like fastfetch, sptlrx, spotify-player, or nmtui. A few features stand out. A single keybinding can summon a floating terminal that sits always on top and follows you across workspaces. Modal chord menus appear when you hold a key combination and fire when you let go, with unmapped keys flashing red. Toasts spawn small pop-up windows in the top-right that run a command, grow to fit the output, then run a perimeter-trace countdown before closing. A dialog-pipeline system chains scripts together: each script prints output and a JSON manifest describing the next step, and the orchestrator routes the user through a cascade of menus. The shell also includes a full org.freedesktop.Notifications daemon that can replace dunst. User configuration lives in ~/.config/indigoshell/config.py, which exports a BAR dictionary describing widget layout, window kinds, scripts, and pipelines. A --watch flag reloads the process on file change.
Generated 2026-05-22 · Model: sonnet-4-6 · Verify against the repo before relying on details.