Rename to xssstate and do it right.
parent
177f7d41a4
commit
f91e73ae45
35
Makefile
35
Makefile
|
|
@ -1,15 +1,14 @@
|
||||||
# xgetidle – display the X idle time
|
|
||||||
# See LICENSE file for copyright and license details.
|
# See LICENSE file for copyright and license details.
|
||||||
|
|
||||||
include config.mk
|
include config.mk
|
||||||
|
|
||||||
SRC = xgetidle.c
|
SRC = xssstate.c
|
||||||
OBJ = ${SRC:.c=.o}
|
OBJ = ${SRC:.c=.o}
|
||||||
|
|
||||||
all: options xgetidle
|
all: options xssstate
|
||||||
|
|
||||||
options:
|
options:
|
||||||
@echo xgetidle build options:
|
@echo xssstate build options:
|
||||||
@echo "CFLAGS = ${CFLAGS}"
|
@echo "CFLAGS = ${CFLAGS}"
|
||||||
@echo "LDFLAGS = ${LDFLAGS}"
|
@echo "LDFLAGS = ${LDFLAGS}"
|
||||||
@echo "CC = ${CC}"
|
@echo "CC = ${CC}"
|
||||||
|
|
@ -20,37 +19,37 @@ options:
|
||||||
|
|
||||||
${OBJ}: config.mk
|
${OBJ}: config.mk
|
||||||
|
|
||||||
xgetidle: xgetidle.o
|
xssstate: xssstate.o
|
||||||
@echo CC -o $@
|
@echo CC -o $@
|
||||||
@${CC} -o $@ xgetidle.o ${LDFLAGS}
|
@${CC} -o $@ xssstate.o ${LDFLAGS}
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
@echo cleaning
|
@echo cleaning
|
||||||
@rm -f xgetidle ${OBJ} xgetidle-${VERSION}.tar.gz
|
@rm -f xssstate ${OBJ} xssstate-${VERSION}.tar.gz
|
||||||
|
|
||||||
dist: clean
|
dist: clean
|
||||||
@echo creating dist tarball
|
@echo creating dist tarball
|
||||||
@mkdir -p xgetidle-${VERSION}
|
@mkdir -p xssstate-${VERSION}
|
||||||
@cp -R LICENSE Makefile config.mk \
|
@cp -R LICENSE Makefile config.mk \
|
||||||
xgetidle.1 arg.h ${SRC} xgetidle-${VERSION}
|
xssstate.1 arg.h ${SRC} xssstate-${VERSION}
|
||||||
@tar -cf xgetidle-${VERSION}.tar xgetidle-${VERSION}
|
@tar -cf xssstate-${VERSION}.tar xssstate-${VERSION}
|
||||||
@gzip xgetidle-${VERSION}.tar
|
@gzip xssstate-${VERSION}.tar
|
||||||
@rm -rf xgetidle-${VERSION}
|
@rm -rf xssstate-${VERSION}
|
||||||
|
|
||||||
install: all
|
install: all
|
||||||
@echo installing executable file to ${DESTDIR}${PREFIX}/bin
|
@echo installing executable file to ${DESTDIR}${PREFIX}/bin
|
||||||
@mkdir -p ${DESTDIR}${PREFIX}/bin
|
@mkdir -p ${DESTDIR}${PREFIX}/bin
|
||||||
@cp -f xgetidle ${DESTDIR}${PREFIX}/bin
|
@cp -f xssstate ${DESTDIR}${PREFIX}/bin
|
||||||
@chmod 755 ${DESTDIR}${PREFIX}/bin/xgetidle
|
@chmod 755 ${DESTDIR}${PREFIX}/bin/xssstate
|
||||||
@echo installing manual page to ${DESTDIR}${MANPREFIX}/man1
|
@echo installing manual page to ${DESTDIR}${MANPREFIX}/man1
|
||||||
@mkdir -p ${DESTDIR}${MANPREFIX}/man1
|
@mkdir -p ${DESTDIR}${MANPREFIX}/man1
|
||||||
@sed "s/VERSION/${VERSION}/g" < xgetidle.1 > ${DESTDIR}${MANPREFIX}/man1/xgetidle.1
|
@sed "s/VERSION/${VERSION}/g" < xssstate.1 > ${DESTDIR}${MANPREFIX}/man1/xssstate.1
|
||||||
@chmod 644 ${DESTDIR}${MANPREFIX}/man1/xgetidle.1
|
@chmod 644 ${DESTDIR}${MANPREFIX}/man1/xssstate.1
|
||||||
|
|
||||||
uninstall:
|
uninstall:
|
||||||
@echo removing executable file from ${DESTDIR}${PREFIX}/bin
|
@echo removing executable file from ${DESTDIR}${PREFIX}/bin
|
||||||
@rm -f ${DESTDIR}${PREFIX}/bin/xgetidle
|
@rm -f ${DESTDIR}${PREFIX}/bin/xssstate
|
||||||
@echo removing manual page from ${DESTDIR}${MANPREFIX}/man1
|
@echo removing manual page from ${DESTDIR}${MANPREFIX}/man1
|
||||||
@rm -f ${DESTDIR}${MANPREFIX}/man1/xgetidle.1
|
@rm -f ${DESTDIR}${MANPREFIX}/man1/xssstate.1
|
||||||
|
|
||||||
.PHONY: all options clean dist install uninstall
|
.PHONY: all options clean dist install uninstall
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
# xgetidle version
|
# xssstate version
|
||||||
VERSION = 1.0
|
VERSION = 1.0
|
||||||
|
|
||||||
# Customize below to fit your system
|
# Customize below to fit your system
|
||||||
|
|
|
||||||
27
xgetidle.1
27
xgetidle.1
|
|
@ -1,27 +0,0 @@
|
||||||
.TH XGETIDLE 1 xgetidle\-VERSION
|
|
||||||
.SH NAME
|
|
||||||
xgetidle \- display the current X idle time
|
|
||||||
.SH SYNOPSIS
|
|
||||||
.B xgetidle
|
|
||||||
.RB [ \-s ]
|
|
||||||
.RB [ \-v ]
|
|
||||||
.SH DESCRIPTION
|
|
||||||
.B xgetidle
|
|
||||||
will display the current idle time of X11 given the XScreenSaver extension.
|
|
||||||
.SH OPTIONS
|
|
||||||
.TP
|
|
||||||
.B \-s
|
|
||||||
display the result in seconds
|
|
||||||
.TP
|
|
||||||
.B \-v
|
|
||||||
show version information
|
|
||||||
.SH AUTHORS
|
|
||||||
See the LICENSE file for the authors.
|
|
||||||
.SH LICENSE
|
|
||||||
See the LICENSE file for the terms of redistribution.
|
|
||||||
.SH SEE ALSO
|
|
||||||
.BR slock (1)
|
|
||||||
.BR xlock (1)
|
|
||||||
.SH BUGS
|
|
||||||
Please report them.
|
|
||||||
|
|
||||||
68
xgetidle.c
68
xgetidle.c
|
|
@ -1,68 +0,0 @@
|
||||||
/*
|
|
||||||
* See LICENSE file for copyright and license details.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include <unistd.h>
|
|
||||||
#include <stdlib.h>
|
|
||||||
#include <stdio.h>
|
|
||||||
#include <stdarg.h>
|
|
||||||
#include <stdbool.h>
|
|
||||||
#include <libgen.h>
|
|
||||||
#include <X11/extensions/scrnsaver.h>
|
|
||||||
|
|
||||||
#include "arg.h"
|
|
||||||
|
|
||||||
char *argv0;
|
|
||||||
|
|
||||||
void
|
|
||||||
die(const char *errstr, ...) {
|
|
||||||
va_list ap;
|
|
||||||
|
|
||||||
va_start(ap, errstr);
|
|
||||||
vfprintf(stderr, errstr, ap);
|
|
||||||
va_end(ap);
|
|
||||||
exit(EXIT_FAILURE);
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
|
||||||
usage(void)
|
|
||||||
{
|
|
||||||
die("usage: %s [-sv]\n", basename(argv0));
|
|
||||||
}
|
|
||||||
|
|
||||||
int
|
|
||||||
main(int argc, char *argv[]) {
|
|
||||||
XScreenSaverInfo *info;
|
|
||||||
Display *dpy;
|
|
||||||
int base, errbase;
|
|
||||||
Bool inseconds;
|
|
||||||
|
|
||||||
inseconds = False;
|
|
||||||
|
|
||||||
ARGBEGIN {
|
|
||||||
case 's':
|
|
||||||
inseconds = true;
|
|
||||||
break;
|
|
||||||
case 'v':
|
|
||||||
die("xgetidle-"VERSION", © 2008-2012 xgetidle engineers"
|
|
||||||
", see LICENSE for details.\n");
|
|
||||||
default:
|
|
||||||
usage();
|
|
||||||
} ARGEND;
|
|
||||||
|
|
||||||
if(!(dpy = XOpenDisplay(0)))
|
|
||||||
die("Cannot open display.\n");
|
|
||||||
|
|
||||||
if(!XScreenSaverQueryExtension(dpy, &base, &errbase))
|
|
||||||
die("Screensaver extension not activated.\n");
|
|
||||||
|
|
||||||
info = XScreenSaverAllocInfo();
|
|
||||||
XScreenSaverQueryInfo(dpy, DefaultRootWindow(dpy), info);
|
|
||||||
|
|
||||||
printf("%ld\n", info->idle / ((inseconds)? 1000 : 1));
|
|
||||||
|
|
||||||
XCloseDisplay(dpy);
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
Loading…
Reference in New Issue