summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--cpanfile1
-rw-r--r--xscreensaver-logind17
2 files changed, 18 insertions, 0 deletions
diff --git a/cpanfile b/cpanfile
index 4a55c0a..ea63bbb 100644
--- a/cpanfile
+++ b/cpanfile
@@ -3,6 +3,7 @@
requires 'Net::DBus';
requires 'experimental';
requires 'Moo';
+requires 'Log::Any';
requires 'curry';
requires 'parent';
requires 'perl','>= 5.32.0';
diff --git a/xscreensaver-logind b/xscreensaver-logind
index e12ed26..c205693 100644
--- a/xscreensaver-logind
+++ b/xscreensaver-logind
@@ -19,6 +19,7 @@ package SleepInhibit {
use experimental 'signatures';
use curry;
use Net::DBus;
+ use Log::Any '$log';
has bus => ( is => 'lazy', builder => sub { Net::DBus->system() } );
has logind_srv => (
@@ -50,15 +51,19 @@ package SleepInhibit {
'delay',
)
);
+ $log->debugf('got logind inhibit fd %d',$self->inhibit_fd);
return;
}
sub going_to_sleep($self,$before) {
if ($before) {
+ $log->debug('locking');
system(qw(xscreensaver-command -suspend));
+ $log->debug('locked');
$self->_set_inhibit_fd(undef);
}
else {
+ $log->debug('woken up');
system(qw(xscreensaver-command -deactivate));
$self->inhibit();
}
@@ -98,6 +103,7 @@ package Saver {
use Moo;
use experimental 'signatures';
use curry;
+ use Log::Any '$log';
has reactor => ( is => 'ro', required => 1 );
has bus => ( is => 'lazy', builder => sub { Net::DBus->session() } );
@@ -150,6 +156,10 @@ package Saver {
} until !exists $self->_inhibits->{$cookie};
$self->_inhibits->{$cookie} = [ $name, $reason ];
+ $log->debugf(
+ '<%s> stops screensaver for <%s> (cookie %d)',
+ $name, $reason, $cookie,
+ );
$self->reactor->toggle_timeout($self->_prod_id, 1);
return $cookie;
@@ -159,6 +169,11 @@ package Saver {
my $inhibit = delete $self->_inhibits->{$cookie}
or return;
+ $log->debugf(
+ '<%s> resumed screensaver for <%s> (cookie %d)',
+ @$inhibit, $cookie,
+ );
+
$self->reactor->toggle_timeout($self->_prod_id, 0)
unless $self->_inhibits->%*;
@@ -166,11 +181,13 @@ package Saver {
}
sub prod_screensaver($self) {
+ $log->debug('prodding xscreensaver');
system(qw(xscreensaver-command -deactivate));
}
};
use Net::DBus::Reactor;
+use Log::Any::Adapter Stdout => ( log_level => 'debug' );
my $reactor = Net::DBus::Reactor->main();