App::XScreenSaver::DBus::Saver - implements the "idle inhibition" protocol
version 1.0.5
use Net::DBus::Reactor; use App::XScreenSaver::DBus::InhibitSleep; my $reactor = Net::DBus::Reactor->new; my $s = App::XScreenSaver::DBus::Saver->new(reactor => $reactor); $s->start; $reactor->run;
reactor
the event loop
bus
the DBus session bus
dbus_srv
the DBus manager DBus service
dbus_obj
the DBus manager DBus object
service
the DBus service we export
paths
the paths at which we export our DBus object
there's two of them because different applications expect this object at different paths
log
a logger
start
Exports our object to the session bus, and starts listening for NameOwnerChanged events.
NameOwnerChanged
Those events are emitted when a client attaches or detaches from the bus. A client may die before releasing the idle inhibition, so we want to be notified when that happens, and release that inhibition.
Gianni Ceccarelli <dakkar@thenautilus.net>
This software is Copyright (c) 2021 by Gianni Ceccarelli <dakkar@thenautilus.net>.
This is free software, licensed under:
The GNU Affero General Public License, Version 3, November 2007
To install App::XScreenSaver::DBus, copy and paste the appropriate command in to your terminal.
cpanm
cpanm App::XScreenSaver::DBus
CPAN shell
perl -MCPAN -e shell install App::XScreenSaver::DBus
For more information on module installation, please visit the detailed CPAN module installation guide.