Skip to content

About

Omarchy/Quickshell Hyprland bar plugin that snapshots your window layout and restores it on demand - each app back to its exact workspace, position, and floating/fullscreen state. Fork addition : supports grouped windows and scratchpad workspaces

Resources

Stars

1 star

Watchers

0 watching

Forks

 
 

Repository files navigation

ko-fi Workspace Restore


Workspace Restorer

An Omarchy shell plugin (Quickshell) for Hyprland that snapshots your window layout and brings it back on demand as named profiles.

This is a fork of Davedes83/workspace-restorer, with additional features (window grouping, snapshot notes, theme/plugin-sharing on restore, and various fixes) not yet merged upstream. Use the install instructions below to get this fork rather than the original.

Features

  • Snapshot — Capture every open window: app, workspace, screen position, size, floating/fullscreen state, and working directory
  • Restore — Re-launch missing apps directly onto the exact workspace they were on; move already-running windows back to the right workspace
  • Conflict Detection — Avoids duplicate spawns; repositions existing windows instead of relaunching them
  • Layout Restoration — Restores floating and fullscreen state for matched and spawned windows
  • Window Grouping — Captures which windows were tabbed together and reforms the same groups on restore (best-effort; most reliable for floating window groups)
  • Snapshot Notes — Add an optional multiline note when saving, shown as a preview under each profile in the list
  • Sharing — Snapshots capture your current Omarchy theme and enabled third-party plugins; restore applies what it can locally and offers to install whatever's missing (theme, plugins, or AUR packages the shell needs) so a shared profile can look and work right elsewhere. A "Copy" action per profile copies its file path for sharing.
  • Desktop Notifications — Feedback on snapshot/save/restore/delete actions

Installation

omarchy plugin add https://github.com/cognominal/workspace-restorer.git --enable

Then add the plugin to your ~/.config/omarchy/shell.json:

{
  "bar": {
    "layout": {
      "right": [
        { "id": "davedes.workspace-restorer" }
      ]
    }
  }
}

Restart the shell:

omarchy restart shell

Remove

omarchy plugin remove davedes.workspace-restorer

(The id stays davedes.workspace-restorer regardless of which fork you installed from — it's set in manifest.json, not tied to the GitHub repo.)

Usage

  1. Click the bar widget to open the panel
  2. Click Take Snapshot to capture your current window layout
  3. Enter a name for the profile (e.g., "coding", "media")
  4. Click a profile name to restore that layout
  5. Click the delete action to remove a profile

How It Works

  • Snapshots are saved as JSON profiles in ~/.config/omarchy/workspace-restorer/
  • State is captured via hyprctl -j clients and hyprctl -j monitors
  • Command line and working directory are read per-process from /proc/<pid> (keyed by PID, so window data never misaligns)
  • Restore uses the Omarchy Lua bridge (hl.dsp.* dispatchers) via hyprctl dispatch to move windows and workspaces, since plain Hyprland command syntax is unavailable through the bridge
  • Missing windows are launched by focusing their target workspace first, then starting the app — so each opens directly where it belongs
  • A detached safety pass re-checks spawned windows and corrects any that ignore the focused workspace, without delaying the restore notification

Requirements

  • Omarchy Linux
  • Hyprland compositor
  • Quickshell (for the shell framework)

License

MIT

About

Omarchy/Quickshell Hyprland bar plugin that snapshots your window layout and restores it on demand - each app back to its exact workspace, position, and floating/fullscreen state. Fork addition : supports grouped windows and scratchpad workspaces

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages