For what operating system?
In linux you should be able to do something similar to
#!/usr/bin/perl
#gnome
my $cmd = "dbus-monitor --session \"type='signal',interface='org.gnome.ScreenSaver',member='SessionIdleChanged'\"";
#kde
my $cmd = "dbus-monitor --session \"type='signal',interface='org.freedesktop.ScreenSaver',member='ActiveChanged'\"";
my $interface = <DEFINE INTERFACE HERE>
open (IN, "$cmd |");
while (<IN>) {
if (m/^\s+boolean true/) {
#when screensaver activates, run the following commands
system("/sbin/ifdown $interface");
} elsif (m/^\s+boolean false/) {
#when screensaver deactivates, run the following commands
system("/sbin/ifup $interface");
}
}
save it as something memorable to /etc/rc.d
make it executable with
chmod +x
Original Script