0
Fork 0
mirror of https://github.com/swaywm/swayidle.git synced 2026-10-01 18:16:12 +00:00
Idle management daemon for Wayland
  • C 87.1%
  • Meson 11.3%
  • Shell 1.6%
Find a file
Brian Farris a959e59c64 Drain the sd-bus queue in the check pass
sd-bus queues messages internally, and a synchronous sd_bus_call_method()
queues every unrelated message it reads while waiting for its own reply.
The fd is not readable while messages sit in that queue, so poll() never
wakes the event loop, and a Session.Lock signal received during the
SetIdleHint call is not dispatched until later bus traffic arrives.

Drain the queue in the wl_event_source_check() pass, as display_event()
already does for the Wayland display.

Fixes: https://github.com/swaywm/swayidle/issues/204
History 2026-08-27 16:31:39 +02:00
.builds ci: Add Arch to build logind codepath 2025-08-07 14:13:05 +02:00
completions build: split completions into separate file 2022-12-04 17:03:44 +01:00
.editorconfig Add editorconfig 2021-11-18 16:59:23 +01:00
.gitignore Add .gitignore 2019-01-12 09:21:34 -05:00
LICENSE MIT license 2019-01-12 09:21:08 -05:00
log.h Improve log messages 2021-12-03 10:59:10 +01:00
main.c Drain the sd-bus queue in the check pass 2026-08-27 16:31:39 +02:00
meson.build build: bump version to 1.9.0 2025-11-06 10:05:20 +01:00
meson_options.txt meson: add a logind feature 2019-01-24 23:35:39 +01:00
README.md Drop support for KDE's idle protocol 2023-06-23 12:31:16 +02:00
swayidle.1.scd Add missing period in a config path 2024-10-08 12:46:45 +02:00

swayidle

This is sway's idle management daemon, swayidle. It is compatible with any Wayland compositor which implements the ext-idle-notify protocol. See the man page, swayidle(1), for instructions on configuring swayidle.

Release Signatures

Releases are signed with 34FF9526 and published on GitHub. swayidle releases are managed independently of sway releases.

Installation

From Packages

Swayidle is available in many distributions. Try installing the "swayidle" package for yours.

Compiling from Source

Install dependencies:

  • meson *
  • wayland
  • wayland-protocols *
  • scdoc (optional: man pages) *
  • git *

* Compile-time dependency

Run these commands:

meson build/
ninja -C build/
sudo ninja -C build/ install