#session #hyprland #tool

app hyprsession

Saves hyprland sessions

4 releases

0.1.3 May 30, 2024
0.1.2 May 29, 2024
0.1.1 May 23, 2024
0.1.0 May 21, 2024

#777 in Command line utilities

Download history 280/week @ 2024-05-20 263/week @ 2024-05-27 13/week @ 2024-06-03

556 downloads per month

GPL-3.0 license

23KB
170 lines

Hyprsession

Overview

Implements session persistance for Hyprland. While the program is running it periodicly saves the command, workspace and other properties of running clients found by hyprctl clients. These are then saved to a file formatted as a Hyprland config file which can then be sourced so that the session is restored when Hyprland is restarted.

Installation

As root run the command

cargo install --root /usr/local hyprsession

Or install as a user by replacing /usr/local with your home directory. Then add the following line to your Hyprland config file (Usually at ~/.config/hypr/hyprland.conf)

exec_once = hyprsession

If you want to save a session that is already running then run

hyprsession --mode save-only &

or

hyprsession --mode save-and-exit

Options

Various options can be used to modify the behavior of Hyprsession.

--mode

Sets the mode the program runs in

  • Default - Loads the session at startup the saves the current session at regular intervals.
  • SaveOnly - As above but skips loading the session
  • LoadAndExit - Load the saved session then immediatly exit
  • SaveAndExit - Save the current session then exit

--save-interval n

This sets the interval in seconds between session saves. The default is 60 seconds.

--session-path

This allows the user to save the session config in an alternative directory, by default its ~/.local/share/hyprsession.

TODO

  • Create and use a rules file for alternative handling of applications (i.e. do not reload, ignore parameters, additional parameters etc).
  • Handle application that create windows in forked processes by creating temporary window rules.

Change log

0.1.1

  • Changed --session-path option to point at base directory of session file

0.1.2

  • Fixed bug which would crash program if no session file existed

0.1.3

  • Fix fatal bug on Hyprland 0.4 that crashed the program while saving the session

Dependencies

~8–19MB
~227K SLoC