#!/usr/bin/env perl

my $cmd = "dbus-monitor --session \"type='signal',interface='org.gnome.ScreenSaver',member='SessionIdleChanged'\"";

open (IN, "$cmd |");

while (<IN>) {
    if (m/^\s+boolean true/) {
        # session is idle
        system ("gdmflexiserver -s");
    } elsif (m/^\s+boolean false/) {
        # session is no longer idle
    }
}
