The Magic of Dynamic Island. Reborn for CachyOS & Linux.
A fluid, morphing topbar floating effortlessly on your Wayland desktop. Handcrafted in pure C++20 with double-buffered Cairo graphics — delivering instant 60 FPS micro-animations at under 20 MB RAM.
#include <wayland-client.h>
#include <wlr-layer-shell-unstable-v1.h>
// Native double-buffered Cairo graphics to wl_shm
void render_island(cairo_t* cr, IslandState state) {
cairo_set_source_rgba(cr, 0.05, 0.05, 0.07, 0.95);
cairo_rounded_pill(cr, x, y, width, height, radius);
}
Every Feature. Fluidly Animated.
Scroll down to watch the 3D model rotate and the Island dynamically morph across real native CachyOS modules.
Dynamic Workspaces & Adaptive Width
Never get blinded by cropped window titles. The Island connects directly to Hyprland's UNIX domain socket (.socket2.sock) to track current workspaces in a fluid 3-window sliding view ([1, 2, 3]), while recalculating text boundaries using subpixel Pango-Cairo layout measurement.
Media Player with Centered Controls
Seamlessly integrates with Spotify, browser YouTube playback, and local mpv. Expanding the Island reveals high-res album thumbnail, centered track title & artist name with auto-ellipsis, live animated equalizer bars, and responsive playback controls.
Centered Precision Audio & Brightness OSD
When volume or backlight keys are pressed, the Island springs into action with centered title typography and real-time level fill via wpctl and brightnessctl. Zero race condition, zero early collapse, and full mouse-wheel adjustment support.
4-Bar Real-Time System Monitor
Keep tabs on your CachyOS machine with 4 distinct horizontal visual bars: CPU % (green), RAM % (blue), ZRAM / Swap % (purple), and GPU % (yellow for Radeon Vega or discrete GPUs). Smoothed by Exponential Moving Average (EMA) and multi-sampled to eliminate jitter.
Battery Status & CachyOS Power Profile
Directly reads Linux sysfs power supplies (/sys/class/power_supply/BAT*). Animates a charging lightning bolt when plugged in, and flashes a high-visibility danger red indicator when battery drops below 20%.
Desktop Notifications & Quick Controls
Receive notifications without bloated background daemons via dynamic-island notify "App" "Message". Automatically expands with elastic physics and collapses after 4.5 seconds. Includes quick hardware toggle matrix for WiFi SSID, Bluetooth, Audio Mute, and Night Light.
Live Wayland Desktop Simulator.
Experience Apple-Grade fluid morphing directly on a simulated CachyOS & Hyprland desktop. Test real Wayland states, interactive sliders, music controls, and instant system telemetry.
cachyos@desktop
----------------------
OS: CachyOS Linux x86_64
Kernel: 6.12.8-cachyos-bore (sched-ext)
Compositor: Hyprland 0.42.0 (Wayland)
Island Daemon: dynamic-island --daemon [active]
Cairo Renderer: 60.00 FPS • double-buffered wl_shm
Memory Footprint: 19.2 MB RSS / 16.0 GB RAM
void commit_surface_frame() {
// Native double-buffered Cairo draw
cairo_t* cr = cairo_create(shm_surf);
draw_dynamic_island(cr, current_state);
wl_surface_attach(wl_surf, wl_buffer, 0, 0);
wl_surface_commit(wl_surf); // 60 FPS VSync
}
Native Wayland Layer Shell Overlay
Notice how the Dynamic Island hovers cleanly in the OVERLAY layer with exclusive_zone = 0. Even during fullscreen gaming, video streaming, or presentation, notifications and OSD pop smoothly without focus interruption or compositor stutter.
Engineered for Extreme Efficiency.
No Electron bloat. No Chromium engine. Built from scratch for hardware lovers who count every megabyte of RAM and every CPU cycle.
Native Protocol & Overlay Layer
Communicates directly with the Hyprland Wayland compositor using the native Layer Shell protocol. Floating in the OVERLAY layer with exclusive_zone = 0, the Dynamic Island stays visible seamlessly over full-screen gaming, video playback, and tiled windows without stutter.
zwlr_layer_surface_v1_set_exclusive_zone(surface, 0); // Non-blocking overlay
~18 MB RSS RAM
Traditional web-based topbars consume 300 to 500 MB. CachyOS Dynamic Island stays lean between 18 MB and 22 MB even under active animation.
0.0% Idle CPU
Driven strictly by Wayland frame callbacks (wl_surface_frame). Once animations complete, rendering halts completely, letting your CPU enter deep C-states.
Zero-Flicker Subpixel Rendering
Antialiased pill geometry and typography are drawn directly onto shared memory buffers (wl_shm). Compositor reads buffers zero-copy, guaranteeing zero tearing and pristine render quality at 60Hz and 144Hz displays.
How Events Become Pixels in <1ms.
The event-driven pipeline connecting Hyprland, Linux kernel sysfs, and Wayland layer shell.
Hyprland Socket2 Push Event
When you change workspaces or focus a different window, Hyprland immediately pushes a message down its domain socket ($XDG_RUNTIME_DIR/hypr/.../socket2.sock). The C++ core wakes from epoll_wait() in 0.05ms without polling.
Adaptive Pango-Cairo Layout
The engine measures exact string widths and animates island geometry using cubic ease-out curves at 60 FPS. Contents are rendered to an offline double-buffered Cairo surface with subpixel antialiasing.
Wayland SHM Buffer Commit
The rendered surface is committed directly to the compositor via POSIX shared memory file descriptor (wl_shm_pool). No GPU PCIe bus transfer overhead and zero buffer duplication.
Monitor VSync Sync & Instant Kernel Sleep
Compositor presents the overlay aligned with your display's vertical blanking interval. Once the animation finishes, frame callbacks are unregistered and CPU activity drops immediately to 0.0%.
Measured on Real Hardware.
Tested on an energy-efficient AMD Ryzen 3 3200U with Radeon Vega 3 graphics and 4GB RAM running CachyOS Linux.
| Performance Metric | CachyOS Dynamic Island | Qt Quick / QML / GTK4 | Electron / Web Engine |
|---|---|---|---|
| RAM Consumption (RSS) | ~18 MB – 22 MB | 60 MB – 120 MB | 300 MB – 500 MB |
| CPU Usage (Idle State) | 0.0% (Kernel Poll Sleep) | 0.8% – 3.0% | 3.0% – 12.0% |
| GPU Load (Radeon Vega 3) | Zero / Extremely Light | Medium (OpenGL/Vulkan) | High (Chromium Compositor) |
| Startup Time | < 5 milliseconds | 500 ms – 1.0 s | 1.5 s – 3.0 s |
| Binary Footprint | 378 KB (180 KB stripped) | 30 MB+ | 150 MB+ |
| Wayland Protocol | Native zwlr_layer_shell_v1 | Requires Extension / Plugin | Non-native / Hacky X11 Bridge |
Installation & Setup.
Everything you need is already packaged in the CachyOS and Arch Linux repositories.
The installer automatically builds the C++20 binary, creates configs in ~/.config/dynamic-island/, and configures auto-launch in hyprland.conf.
config.json)
{
"position": "top-center",
"margin_top": 8,
"idle_width": 260,
"idle_height": 34,
"corner_radius": 17,
"animation_duration_ms": 220,
"layer": "overlay",
"adaptive_width": true,
"colors": {
"background": "#111111",
"accent_blue": "#0a84ff",
"accent": "#38ef7d"
}
}
Bring Apple's Best Interface to Your Linux Machine.
Ultra-low RAM, zero idle CPU consumption, and instant 60 FPS feedback. Clone the repo and run it today.