From 88486719284e52c4573222ab7eb8d76d976e6b73 Mon Sep 17 00:00:00 2001 From: dakkar Date: Sat, 1 May 2021 11:13:33 +0100 Subject: quiet calls to xscreensaver-command --- lib/App/XScreenSaver/DBus/InhibitSleep.pm | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) (limited to 'lib/App/XScreenSaver/DBus/InhibitSleep.pm') diff --git a/lib/App/XScreenSaver/DBus/InhibitSleep.pm b/lib/App/XScreenSaver/DBus/InhibitSleep.pm index ce205a7..226facf 100644 --- a/lib/App/XScreenSaver/DBus/InhibitSleep.pm +++ b/lib/App/XScreenSaver/DBus/InhibitSleep.pm @@ -4,6 +4,7 @@ use Moo; use experimental qw(signatures postderef); use curry; use Net::DBus; +use IPC::Run; use Log::Any; # VERSION # ABSTRACT: implements the logind "inhibitor locks" protocol @@ -96,16 +97,27 @@ sub _inhibit($self) { sub _going_to_sleep($self,$before) { if ($before) { $self->log->debug('locking'); - system(qw(xscreensaver-command -suspend)); + $self->_xscreensaver_command('-suspend'); $self->log->debug('locked'); $self->_set_inhibit_fd(undef); } else { $self->log->debug('woken up'); - system(qw(xscreensaver-command -deactivate)); + $self->_xscreensaver_command('-deactivate'); $self->_inhibit(); } return; } +sub _xscreensaver_command($self,$command) { + my ($out, $err); + IPC::Run::run( + ['xscreensaver-command',$command], + \undef, \$out, \$err, + ); + $self->log->tracef('xscreensaver-command %s said <%s>',$command,$out); + $self->log->warnf('xscreensaver-command %s errored <%s>',$command,$err) + if $err; +} + 1; -- cgit v1.2.3