Skip to content

Conversation

@vaxerski
Copy link
Member

@vaxerski vaxerski commented Nov 27, 2025

This MR adds start-hyprland, a watchdog wrapper, and safe mode.

When launched with start-hyprland, if hyprland crashes after fully initializing (not a "gpu unsupported" type crash) watchdog will restart it in safe mode.

A warning notif will be sent if you are not launching via start-hyprland.

Safe mode:

  • prevents loading config, loads default.
  • pops up a dialog that allows you to load cfg, open crash report dir, or close it and continue troubleshooting.
image

Needs:

  • New hyprlang release
  • nix bump
  • testing
  • point desktop file at start
  • guiutils release for hyprland-run

@alba4k
Copy link
Contributor

alba4k commented Nov 27, 2025

A warning notif will be sent if you are not launching via start-hyprland.

can be disabled, right?

@vaxerski
Copy link
Member Author

can be disabled, right?

No

@vaxerski
Copy link
Member Author

you can now

@RoootTheFox
Copy link
Contributor

RoootTheFox commented Nov 27, 2025

honestly, I think you should be able to disable the warning, as some people might prefer to run hyprland without a watchdog (for whatever reason)

i suggest replacing the warning (if disabled) with a big post-crash message on stdout/stderr, telling the user to try safe mode using a cli flag, e.g.

Hyprland crashed, and you aren't using start-hyprland, so Hyprland wasn't automatically restarted in safe mode.
If you wish, you can do so manually by running Hyprland with the '--safe-mode' flag.

edit: whoops, missed you implementing that

@vaxerski
Copy link
Member Author

I was thinking of adding an --x11 option for the lols but decided not to

@fxzzi
Copy link
Contributor

fxzzi commented Nov 27, 2025

Is there any possibility of having the wrapper start and stop a systemd target so we can launch stuff with graphical-session.target without uwsm

@vaxerski
Copy link
Member Author

uhhh probably but why? its not meant for that

@fxzzi
Copy link
Contributor

fxzzi commented Nov 27, 2025

uhhh probably but why? its not meant for that

i guess its not meant for that but its great QOL which could help move people off of uwsm (as its no longer supported). the main reason i was using uwsm in the first place was because it would start graphical-session.target for me, allowing me to run systemd services as hyprland starts (hyprpaper, hyprsunset, hypridle, etc)

our bundled systemd services on those projects already start with graphical-session.target but this target is never triggered automatically for me (nixos, logging in through tty or tuigreet / greetd)

Instead I just manually write a hyprland-session.target file, and wrapped hyprland to run systemctl --user start and stop before and after hyprland. Whilst this does work it would be nice to have hyprland automatically do it

@github-actions github-actions bot added the hyprpm label Dec 2, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants