I prefer sinac. It's simpler and it leaves every unneeded feature out.
It was posted on dwm mailinglist a few month ago.
using it is very straight forward: sinac -w 10 && slock
/*****************************************************************************
*
* sinac
*
* derived from xautolock supplied by
* Authors: Michel Eyckmans (MCE) & Stefan De Troch (SDT)
*
* --------------------------------------------------------------------------
*
* Copyright 1990,1992-1999,2001-2002 by Stefan De Troch and Michel Eyckmans.
* Copyright 2005 by Stefan Siegl <stesie_AT_brokenpipe.de>
* Copyright 2007 by Christian Dietrich <stettberger_AT_dokucode.de>
*
* Versions 2.0 and above of xautolock are available under version 2 of the
* GNU GPL.
*
* sinac.c -L/usr/X11R6/lib -lX11 -lXss -lXext -o sinac
*
*****************************************************************************/
#include <X11/Xos.h>
#include <X11/Xlib.h>
#include <X11/Xutil.h>
#include <X11/Xatom.h>
#include <X11/Xresource.h>
#include <X11/extensions/scrnsaver.h>
#include <stdio.h>
#define VERSION "0.1.2"
static XScreenSaverInfo* xss_info = 0;
int
seconds_idle(Display *d)
{
if (! xss_info )
xss_info = XScreenSaverAllocInfo();
XScreenSaverQueryInfo(d, DefaultRootWindow(d), xss_info);
return xss_info->idle / 1000;
}
int
main (int argc, char* argv[])
{
Display* d;
Time idleTime;
int wait = 0, i, idle;
for (i = 1; i < argc; i++) {
if ((strcmp(argv[i], "-w") == 0) && (i+1 < argc))
wait = atoi(argv[++i]), idle;
else if (strcmp(argv[i], "-p") == 0)
wait = 0;
else {
fprintf(stderr, "sinac - " VERSION ": %s [-w <seconds>] [-p]\n",
argv[0]);
return 1;
}
}
if (!(d = XOpenDisplay (0))) {
fprintf (stderr, "Couldn't connect to %s\n", XDisplayName (0));
return 1;
}
(void) XSync (d, 0);
if (wait)
while ((idle = seconds_idle(d)) < wait)
usleep(wait - idle);
else
fprintf(stdout, "%ld\n", seconds_idle(d));
return 0;
}
2008/4/21, Neale Pickett <neale_AT_woozle.org>:
> I was inspired by dwm to write a screen saver / locker, and an
> auto-launcher (like xautolock, but mine blocks). I split it up into
> several little programs that each do one thing. You can use the
> programs to build a lot of different kinds of screen savers.
>
> http://woozle.org/~neale/src/xss
>
> I wrote it to run slock after a timeout, using the MIT-SCREEN-SAVER
> extension, because xautolock runs a little loop polling timestamps on
> the keyboard and mouse files and that bothers me. Replace xautolock
> like so:
>
> $ xss slock &
>
> Here's a shell script that does something similar to slock. You could
> modify it to use md5sum or some other "verify I typed in my password"
> program:
>
> #! /bin/sh
> xsswin xkeygrab | (while read l; do
> [ "$l" = "secret" ] && break
> xbell
> done)
>
> I provide a "magic" screensaver hack that you can use to draw pretty
> pictures without sucking CPU cycles. Or you can use any xscreensaver
> hack. You could also use "magic" with xscreensaver if you're happy with
> xscreensaver but unhappy with qix.
>
> I hope someone else thinks this is useful.
>
>
> Neale
>
>
-- http://www.gnuffy.org - Real Community Distro http://www.gnuffy.org/index.php/GnuEm - Gnuffy on Ipaq (Codename Peggy)Received on Mon Apr 21 2008 - 22:35:27 UTC
This archive was generated by hypermail 2.2.0 : Sun Jul 13 2008 - 15:34:54 UTC