From 770582b9465ebace697ff8401ff397c1142bee01 Mon Sep 17 00:00:00 2001 From: Nicola <73220426+Zerodya@users.noreply.github.com> Date: Sat, 10 Feb 2024 22:48:08 +0100 Subject: [PATCH] Update README.md --- README.md | 33 ++++++++++++++++++--------------- 1 file changed, 18 insertions(+), 15 deletions(-) diff --git a/README.md b/README.md index 450df23..fe7f61c 100644 --- a/README.md +++ b/README.md @@ -2,18 +2,24 @@ Hyprfreeze is a utility to suspend a game process (and other programs) in Hyprland. Useful to: -- Pause single-player games that can't be paused (like Dark Souls) -- Pause during cutscenes to read the subtitles or when something urgent comes up +- Pause single-player games that can't normally be paused (Elden Ring, Baldur's Gate 3, ...) +- Pause cutscenes to read the subtitles or if you suddenly need to leave your desk - Save system resources (excluding RAM) if you need them for another computer task, or if the game's pause menu uses too many +Note: Running games in [gamescope](https://github.com/ValveSoftware/gamescope) is highly recommended. (See [#1](https://github.com/Zerodya/hyprfreeze/issues/1)) + ## Installation ### Arch Linux Hyprfreeze is available in [AUR](https://aur.archlinux.org/packages/hyprfreeze-git). ### Dependencies -- hyprland (to get the pid of the active window with hyprctl) -- jq (to parse json) -- hyprprop (to get the pid of a window by selecting it with your mouse) +- `hyprland` to get the pid of the active window with hyprctl +- `jq` to parse json +- `psmisc` contains 'pstree' which is required to list child processes + ### Optional +- [`hyprprop`](https://github.com/vilari-mickopf/hyprprop) to get the pid of a window by selecting it with your mouse + ### Highly Recommended +- [`gamescope`](https://github.com/ValveSoftware/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. ### Manual Clone this repo and symlink the `hyprfreeze` script to a directory in your `PATH`: @@ -36,14 +42,17 @@ bind = , PAUSE, exec, hyprfreeze -a ### Available flags ``` -h, --help show help message --a, --active suspend/resume active window --p, --pid suspend/resume by process id --n, --name suspend/resume by process name/command --r, --prop suspend/resume by clicking on window + +-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 + -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 ``` ### Examples: ``` @@ -60,9 +69,3 @@ 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. - -## Known issues -- Pausing Wine/Proton games will cause mouse input to not work inside XWayland windows [#1](https://github.com/Zerodya/hyprfreeze/issues/2) - - Workaround 1: Run the game in `gamescope` - - Workaround 2: Pause the game from a terminal `hyprfreeze -n eldenring.exe` -- Pausing Linux native games (e.g. Minecraft) may cause sound to stop in other apps [#2](https://github.com/Zerodya/hyprfreeze/issues/2)