Hyprfreeze is a utility to suspend a game process (and other programs) in Hyprland and Sway.
https://github.com/Zerodya/hyprfreeze/assets/73220426/541318e2-441a-485a-91c5-f58d4f65926a
Useful to:
Note: Running games in gamescope is highly recommended. (See #1)
Hyprfreeze is available in AUR.
hyprland
or sway
) to get the PID of the active windowjq
to parse jsonpsmisc
contains 'pstree' which is required to list child processes
hyprprop
or swayprop
to get the pid of a window by selecting it with your mouse
gamescope
fixes mouse input not working in other XWayland windows after pausing a Wine game. It's also the superior way to game in Wayland anyway.Hyprfreeze is compatible with shell script package manager Basher.
basher install Zerodya/hyprfreeze
Clone this repo and symlink the hyprfreeze
script to a directory in your PATH
:
git clone https://github.com/Zerodya/hyprfreeze.git Hyprfreeze
ln -s $(pwd)/Hyprfreeze/hyprfreeze $HOME/.local/bin
Add a bind in your Hyprland or Sway config to pause the current active window:
# ~/.config/hypr/hyprland.conf
...
# Toggle freeze on active window
bind = , PAUSE, exec, hyprfreeze -a
-h, --help show help message
-a, --active toggle suspend by active window
-p, --pid toggle suspend by process id
-n, --name toggle suspend by process name/command
-r, --prop toggle suspend by clicking on window (hyprprop/swayprop must be installed)
-s, --silent don't send notification
-t, --notif-timeout notification timeout in milliseconds (default 5000)
--info show information about the process
--dry-run doesn't actually suspend/resume a process, useful with --info
--debug enable debug mode
# Pause game by process name
hyprfreeze -n eldenring.exe
# Get info about a process by clicking on its window, without suspending it
hyprfreeze -r --info --dry-run
There is always the risk, although slim, that an application may crash.
This is intrinsically related to modifying running processes and is not something that Hyprfreeze can prevent.
Please make sure to save your data before using hyprfreeze.