How amanhex/ukishima works
Ukishima is a Quickshell widget shell for Hyprland. Its main interaction is a user opening a surface through Quickshell IPC; the shell presents the requested control, which reads or updates shared state and, where needed, interacts with desktop services. The README documents the capabilities and IPC entry point, while sampled source covers only selected utilities, so uncertain internal dispatch and integration wiring is omitted.
Main entry points: shell.qml IPC Shell · Singletons Shell State · Wallpaper.qml Wallpaper · Dyn.qml Dynamic Theme
Components 19
Shell UI
- IPC Shell
shell.qml - Dynamic Pill
Pill.qml - Dock
components/DockBar.qml
User Surfaces
- Launcher
surfaces/Launcher.qml - Wallpaper
surfaces/Wallpaper.qml - Settings
surfaces/Appearance.qml - Media Controls
surfaces/Media.qml - System Controls
surfaces/Power.qml - Notifications
surfaces/Toast.qml - Lock Screen
lockscreen/shell.qml
Shared State
- Shell State
Singletons - Configuration
Singletons/Config.qml - Dynamic Theme
Singletons/Dyn.qml
Desktop Integration
- Palette Generator
scripts/wallcolors.py - Monitor Utilities
lib/monitors.js
Other components
- User
- Hyprland
- Wallpaper Tools
- Quickshell IPC
Connections 22
- User → Quickshell IPC: invokes IPC
- Quickshell IPC → IPC Shell: dispatches to
- IPC Shell → Dynamic Pill: presents
- IPC Shell → Launcher: opens
- IPC Shell → Wallpaper: opens
- IPC Shell → Settings: opens
- IPC Shell → Media Controls: opens
- IPC Shell → System Controls: opens
- IPC Shell → Notifications: opens
- Dynamic Pill → Shell State: reads state
- Dock → Shell State: reads state
- Settings → Configuration: updates settings
- Wallpaper → Shell State: uses wallpaper state
- Media Controls → Shell State: uses player state
- System Controls → Shell State: uses system state
- Wallpaper → Palette Generator: generates palette
- Palette Generator → Dynamic Theme: writes palette data
- Dynamic Theme → Dynamic Pill: provides theme
- Dynamic Theme → Dock: provides theme
- Lock Screen → Hyprland: locks session
- Monitor Utilities → Hyprland: parses monitor data
- Wallpaper → Wallpaper Tools: uses wallpaper services