Skip to content

maxerenberg/xidlechain

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

C/C++ CI

xidlechain

This is an idle manager for X. See the man page xidlechain(1) for configuration instructions.

Installation

Compiling from Source

Install dependencies:

  • gtk3
  • libgudev
  • Xext (X11 extensions)
  • pulseaudio
  • scdoc (optional: man pages)
  • g++ >= 8.3.0

On Debian, these can be installed with the following command:

apt install libgtk-3-dev libgudev-1.0-dev libxext-dev libpulse-dev scdoc g++

On Fedora:

dnf install gtk3-devel libgudev-devel libXext-devel pulseaudio-libs-devel scdoc g++

Once the dependencies have been installed, run the following:

make
make install

GUI

There is a simple GUI application in the gui folder to make the configuration easier. On Debian-based systems, installation requires the desktop-file-utils package to be installed. After building the server program from the root directory, run the following:

cd gui
make
make install

Motivation

xss-lock and xautolock are two popular idle managers for X. I found it difficult to use these programs for real-life workflows:

  • xss-lock does not differentiate between inactivity and suspend signals. This means you cannot run a different program for each signal, e.g. we might want to gradually dim the screen after inactivity, but not right before we suspend.
  • xautolock does not listen to the suspend signal at all, so it is impossible to lock the screen right before the system suspends.

xidlechain uses timeouts and systemd signals to run programs in a carefully defined order. Unlike xss-lock and xautolock, which both use the X11 Screensaver extension, xidlechain uses the IDLETIME system sync counter to detect user inactivity (this approach was used by the old power manager for Chromium OS). The advantage is that we do not have to use polling (like xautolock), and we do not need an active screensaver to know when user activity has resumed (like xss-lock).

About

An idle manager for X

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published