Skip to content

A bridge between org.freedesktop.ScreenSaver and Wayland's idle inhibit

License

Notifications You must be signed in to change notification settings

vjoki/wscreensaver-bridge

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DEPRECATED

I no longer use nor need this, and will use https://wiki.hyprland.org/Hypr-Ecosystem/hypridle/ instead. Still useful with Sway.

wscreensaver-bridge

This is a D-Bus server that implements org.freedesktop.ScreenSaver and forwards the calls to the Wayland idle-inhibit protocol of your Wayland compositor and/or the systemd-logind D-Bus interface.

Why?

It's a bit of a mess how idleness is inhibited in Linux. There are mechanisms such as systemd-inhibit, and the two mentioned here. The Wayland native way appears to be through this idle inhibit protocol, which is great, but not all client programs support this.

Some of them use this, and rather than track down all the programs that do and ask them to rewrite their screensaver inhibitors, I figure there may as well be a bridge/adapter.

Install/build

To build, just install rust and run cargo build --release.

Use

Just run it when your session starts, e.g. in hyprland.conf:

exec-once wscreensaver-bridge

Or write a systemd user unit for it:

~/.config/systemd/user/wscreensaver-bridge.service:

[Unit]
Description=Wayland Screensaver Bridge

[Service]
ExecStart=/usr/bin/wscreensaver-bridge
Restart=always

[Install]
WantedBy=default.target

Then enable it with systemctl --user enable wscreensaver-bridge.service.

Other similar utils

  • inhibit-bridge - Utility for bridging org.freedesktop.ScreenSaver to systemd-logind written in Go.
  • sd-inhibit-bridge - Utility for bridging org.freedesktop.ScreenSaver to systemd-logind written in C.

About

A bridge between org.freedesktop.ScreenSaver and Wayland's idle inhibit

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Rust 100.0%