Package: workrave
Version: 1.8.3-1
Severity: normal

Hi,

unfortunately workrave uses a bogus check to detect which screensaver
locking command to use:

frontend/common/src/System.cc:
  if (is_kde() && (lock = g_find_program_in_path("kdesktop_lock")))
    {
      xlock = g_strdup_printf("%s --display \"%s\" --forcelock",
                              lock, display);
    }
  else if ((lock = g_find_program_in_path("xscreensaver-command")))
    {
      xlock = g_strdup_printf("%s --display \"%s\" -lock",
                              lock, display);
    }
  else if ((lock = g_find_program_in_path("xlock")))
    {
      xlock = g_strdup_printf("%s -display \"%s\"",
                              lock, display);
    }
  else if ((lock = g_find_program_in_path("gnome-screensaver-command")))
    {
      xlock = g_strdup_printf("%s --lock", lock);
    }

This works correctly for KDE users as `kdesktop_lock' is invoked. But it
does not work for Gnome users when xscreensaver is installed.
`xscreensaver-command' does just bail out with the failure that no
xscreensaver is active on the current desktop[1]. No further xlock command
is tried, because only one is set within System::init(...).

IMHO the order should be changed so that xlock is last (as a fallback if
nothing else works) and the various commands should be tried in order
until the first exit code is zero.

Kind regards,
Philipp Kern
Debian Developer

[1] xscreensaver-command: no screensaver is running on display :0.0



-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to