Project
Gnomatic
Gnomatic
Gnomatic is a GNOME Shell extension that brings adaptive top bar behavior inspired by modern mobile operating systems like Android and iOS.
On mobile platforms, the notification and status bar naturally adapts to the active app. On GNOME, I could not find an extension that delivered the same experience without heavy configuration or visual compromises. Most existing extensions either apply a static dominant color or expose too many options that require manual tuning.
Gnomatic was built to solve that problem in a minimal and automatic way.
What it does
Gnomatic keeps the GNOME top panel transparent by default.
When a window touches the top bar, usually when maximized, the panel dynamically adapts its color based on the content of the focused window.
When the window is no longer touching the panel, the bar smoothly returns to its transparent state.
The goal is zero configuration, no themes to manage, and behavior that feels native.
Design philosophy
- Minimal by default
- No configuration screens
- Automatic behavior that just works
- Smooth transitions without visual noise
- Respect GNOME design language
Instead of spending 10 to 15 minutes tweaking settings, the extension works out of the box.
How it works
- Listens to window focus and creation events from GNOME Shell
- Detects when a window is maximized and touching the top panel
- Captures a small area from the top region of the focused window using GNOME Screenshot D Bus API
- Computes an averaged dominant color from the captured pixels
- Applies the color to the top panel with a subtle alpha and smooth transition
- Reverts to transparent when no window overlaps the panel
All processing is lightweight and scoped only to focus changes.
Supported environments
GNOME Shell versions supported
45
46
47
48
49
49.1
Works across default GNOME Shell and third party shells.
Tested on
Arch Linux with a third party GNOME shell
Tech stack
Language
JavaScript using GJS
APIs and libraries
GNOME Shell UI API
Gio D Bus
GdkPixbuf
GLib
Why this project
This project exists because I value tools that stay out of the way.
Instead of adjusting sliders and toggles, I wanted an extension that behaves intelligently and feels invisible until you notice how natural it looks.
What started as avoiding a 15 minute configuration turned into a two day deep dive into GNOME Shell internals and extension architecture.
Status
Gnomatic is currently in active development and testing.
The public release will happen once the behavior feels completely polished and consistent across shells.
Source
Planned GitHub repository coming soon