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.