Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --- slimlock.cpp.original 2011-06-09 00:43:20.953693574 -0300
- +++ slimlock.cpp 2011-06-09 01:08:44.434283711 -0300
- @@ -21,6 +21,7 @@
- #include <X11/extensions/dpms.h>
- #include <security/pam_appl.h>
- #include <err.h>
- +#include <signal.h>
- #include "cfg.h"
- #include "util.h"
- @@ -47,6 +48,10 @@
- pam_handle_t *pam_handle;
- struct pam_conv conv = {ConvCallback, NULL};
- +CARD16 dpms_standby, dpms_suspend, dpms_off, dpms_level;
- +BOOL dpms_state, using_dpms;
- +unsigned int cfg_dpms_standby, cfg_dpms_off;
- +
- static void
- die(const char *errstr, ...) {
- va_list ap;
- @@ -57,12 +62,34 @@
- exit(EXIT_FAILURE);
- }
- +void
- +terminate(int param)
- +{
- + // Get DPMS stuff back to normal
- + if (using_dpms) {
- + DPMSSetTimeouts(dpy, dpms_standby, dpms_suspend, dpms_off);
- + // turn off DPMS if it was off when we entered
- + if (!dpms_state)
- + DPMSDisable(dpy);
- + }
- +
- + loginPanel->ClosePanel();
- + delete loginPanel;
- +
- + exit(EXIT_FAILURE);
- +}
- +
- int main(int argc, char **argv) {
- if((argc == 2) && !strcmp("-v", argv[1]))
- die("slimlock-"VERSION", © 2010 Joel Burget\n");
- else if(argc != 1)
- die("usage: slimlock [-v]\n");
- + void (*prev_fn)(int);
- +
- + prev_fn = signal(SIGTERM, terminate);
- + if (prev_fn == SIG_IGN) signal(SIGTERM, SIG_IGN);
- +
- // create a lock file to solve mutliple instances problem
- int pid_file = open("/var/tmp/slimlock.pid", O_CREAT | O_RDWR, 0666);
- int rc = flock(pid_file, LOCK_EX | LOCK_NB);
- @@ -71,9 +98,6 @@
- exit(EXIT_FAILURE);
- }
- - CARD16 dpms_standby, dpms_suspend, dpms_off, dpms_level;
- - BOOL dpms_state, using_dpms;
- - unsigned int cfg_dpms_standby, cfg_dpms_off;
- unsigned int cfg_passwd_timeout;
- // Read user's current theme
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement