Hey all! If you do any gaming on Hyprland, you might be interested in hyprfreeze.

It’s a very simple bash script I made to “freeze” a game process (or any other process) in Hyprland, which you may find useful to:

  • Pause games during unpausable cutscenes
  • Save system resources (CPU and GPU are free, the process is saved in RAM)

Should just work^^TM in most scenarios but my testings can only go so far and any feedback would be very appreciated.

  • Refurbished Refurbisher
    link
    English
    51 year ago

    Does this mean I can pause online games?

    /s

    /us I’m assuming this is like pressing Ctrl+Z in a Terminal window, and then fg to unpause.

    • @Zerodya@lemm.eeOP
      link
      fedilink
      English
      61 year ago

      Haha, yes! Ctrl+Z sends a TSPT signal to a terminal process, while this script sends a STOP signal to every process in a game’s process tree. Both get resumed with a SIGCONT so they’re kinda similar.

  • Presi300
    link
    fedilink
    English
    31 year ago

    Does it work on Wayland compositors that aren’t hyprland?

    • @Zerodya@lemm.eeOP
      link
      fedilink
      English
      31 year ago

      No, it uses hyprctl to get the pid of the current active window. Which compositor are you using? It might be possible to get the pid in a different way.

        • @Zerodya@lemm.eeOP
          link
          fedilink
          English
          11 year ago

          I’m not familiar with qtile, but I’m fairly sure there’s currently no way to get information about the active window on mutter unfortunately.

          Thing with wayland is, each compositor has to implement things their own way, so you’re limited to what your compositor allows you to do.

          For instance, you can get window information in sway with swaymsg. On other compositors you may have to find workarounds.

  • @stepanzak@iusearchlinux.fyi
    link
    fedilink
    English
    21 year ago

    That’s cool! Do you know about any similar solution for KDE Plasma/Kwin by any chance? Also, would it be theoretically possible to save the process to some kind of swapfile on disk so it doesn’t take up space in RAM?