shy
A floating window manager for Hyprland that keeps tiled workspaces clear.
HyprlandLinuxWindow managerCLI
Overview
shy hides floating windows below the screen when a tiled window is focused, then restores them to their saved position when they are needed again. It is built for a Hyprland workflow where floating windows are useful, but should not stay visible all the time.
Tech Stack
RustHyprland IPCUNIX socketsTOML
Timeline
Jul 2026
The problem
Floating windows were useful but kept cluttering tiled workspaces.
Jul 2026
Built shy
Created an event-driven daemon that hides and restores floating windows.
Features
- Hides floating windows when a tiled window receives focus.
- Restores a floating window to its saved position when it is focused again.
- Ignores hover focus so windows do not reappear just from moving the cursor.
- Supports multiple monitors and configurable window-class exclusions.
- Uses Hyprland events instead of polling, so it stays idle when nothing changes.
Challenges
- Keeping track of each window's original position before moving it off-screen.
- Separating intentional focus changes from focus caused by mouse hover.
- Handling window lifecycle and floating-state changes through Hyprland events.
Future Improvements
- → Add more configuration options for different Hyprland workflows.
- → Improve handling for edge cases around newly opened windows and layers.