Skip to content

Conversation

@MGross21
Copy link

@MGross21 MGross21 commented Nov 9, 2025

Summary

Addresses #3218 by @rmusaev99.

Currently the fullscreen launch of the screensaver will override any former full-screen windows and will not return them to their state upon closing.

Changes:

  • Capture the former window and full-screen status
  • Upon shutdown, revert focus to the prior window and restore full-screen status (1 and 2)
  • Added null-safe jq defaults (//) to try and prevent any errors from launching screensaver from blank workspaces.

Testing

I was able to test the individual commands using my custom instance of Hyprland on a laptop, but I was not able to get an instance of Omarchy running in a VM. Would be very appreciative if someone could test the changes on their own instance. Happy to make whatever tweaks are required to confirm this works on single-monitor and multi-monitor systems as well as small taste-related code changes.

Other Approach

I have also experimented with the idea of forcing the screensaver to run on uniquely-named special workspaces, such as iterating over all monitors and running:

hyprctl dispatch togglespecialworkspace "screensaver-${MONITOR-NAME}"

This way, there is no conflict or need for reverting the state of any former windows on teardown. If this is something that would like to be looked into, I would be happy to make additional changes or open another PR.

@MGross21 MGross21 changed the base branch from master to dev November 9, 2025 21:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant