A personal-use fork of quickshell-overview, a Quickshell workspace overview for Hyprland.
Overview - Usage - Installation - Configuration - Development
This fork keeps the parts I wanted from quickshell-overview, and removes the things i do not.
It is built to fit with the rest of my Nix-based desktop tooling.
overzicht opens a full-screen workspace switcher for Hyprland. It shows the current workspace group as a grid, draws window previews, and can switch workspaces, focus windows, close windows, or move windows through Hyprland IPC.
What it does:
- Shows a grid of Hyprland workspaces with scaled window previews.
- Opens as a full-screen overlay on every monitor.
- Switches workspaces, focuses windows, closes windows, and moves windows through Hyprland IPC.
- Supports mouse actions, drag-and-drop window moves, and keyboard navigation.
- Reads simple JSON config from
~/.config/overzicht/. - Ships as a Nix flake package, overlay, Home Manager module, and NixOS module.
- Uses the Quickshell IPC target
overviewand layer-shell namespaceoverzicht.
What I removed from upstream:
- Matugen and Caelestia color-source handling.
- Dynamic color template generation.
- Glass mode and the related tint/border/shine settings.
Run it directly:
nix run github:adam01110/overzichtThe wrapper exposes Quickshell IPC:
# Toggle the overview
overzicht ipc call overview toggle
# Open it
overzicht ipc call overview open
# Close it
overzicht ipc call overview closeWhen running from the flake directly, pass IPC arguments after --:
nix run .#overzicht -- ipc call overview toggleKeyboard controls while the overview is open:
| Key | Action |
|---|---|
Left / Right / Up / Down |
Move across the grid |
h / j / k / l |
Vim-style grid movement |
1 to 9 |
Jump to that workspace position |
0 |
Jump to position 10 when available |
Return |
Close the overview |
Escape |
Close the overview |
Mouse controls:
- Click a workspace to switch to it.
- Click a window preview to focus it.
- Middle-click a window preview to close it.
- Drag a window preview onto another workspace to move it there.
Nix is the only supported installation path.
Available flake outputs:
| Output | Purpose |
|---|---|
packages.<system>.overzicht |
Main package |
packages.<system>.default |
Same package as the default output |
overlays.default |
Nixpkgs overlay |
homeModules.default |
Home Manager module |
nixosModules.default |
NixOS module |
{
imports = [ inputs.overzicht.homeModules.default ];
programs.overzicht = {
enable = true;
systemd.enable = true;
settings = {
overview.rows = 2;
overview.columns = 4;
};
colors = {
primary = "#fb4934";
secondary = "#b8bb26";
background = "#3c3836";
};
};
}{
imports = [ inputs.overzicht.nixosModules.default ];
services.overzicht.enable = true;
}Config lives here:
| File | Purpose |
|---|---|
~/.config/overzicht/settings.json |
Layout, previews, behavior, animation timings |
~/.config/overzicht/colors.json |
Palette consumed by common/Appearance.qml |
The Home Manager module can generate both files. Full examples are in EXAMPLE.md.
Useful settings:
overview.rowsandoverview.columnsset the workspace grid shape.overview.hideEmptyRowskeeps the grid compact when a row has no windows.overview.closeOnFocusLosscloses the overlay after outside clicks or focus loss.overview.workspaceMaplets different monitors start at different workspace offsets.overview.previewModecan beliveor event-driven values likeevent/snapshot.appearance.rounding.screenRoundingandappearance.rounding.windowRoundingcontrol overview corner radius. Set them to0for a square UI.windowPreview.showIconscontrols centered app icons on previews.windowPreview.cropToFillcontrols whether full-screen previews crop into the tile.
