26bd5087 |
1 | (track this down: |
2 | dginn% ./oble -c ~/Downloads/haarcascade_frontalface_alt.xml |
3 | Corrupt JPEG data: 160038 extraneous bytes before marker 0x69 |
4 | ERROR: frame is null...) |
124727d2 |
5 | FOR SCREENSAVER: |
4f219a9f |
6 | * gnome-screensaver-command --poke |
124727d2 |
7 | * find irc channel to ask if my understanding is correct |
8 | * file bug |
9 | * track down bug |
10 | * compile gnome-screensaver |
124727d2 |
11 | |
4dbced6b |
12 | http://coderrr.wordpress.com/2008/04/20/getting-idle-time-in-unix/#comment-1927 |
13 | in c: |
14 | #include <X11/extensions/scrnsaver.h> |
15 | |
16 | main() { |
17 | XScreenSaverInfo *info = XScreenSaverAllocInfo(); |
18 | Display *display = XOpenDisplay(0); |
19 | |
20 | XScreenSaverQueryInfo(display, DefaultRootWindow(display), info); |
21 | printf("%u ms\n", info->idle); |
22 | } |
23 | in ruby inline: |
24 | require 'inline' |
25 | |
26 | class XScreenSaver |
27 | class << self |
28 | inline do |builder| |
29 | builder.add_link_flags '-lXss' |
30 | builder.include '<X11/extensions/scrnsaver.h>' |
31 | builder.c %{ |
32 | double idle_time() { |
33 | static Display *display; |
34 | XScreenSaverInfo *info = XScreenSaverAllocInfo(); |
35 | |
36 | if (!display) display = XOpenDisplay(0); |
37 | if (!display) return -1; |
38 | |
39 | XScreenSaverQueryInfo(display, DefaultRootWindow(display), info); |
40 | |
41 | return info->idle / 1000.0; |
42 | } |
43 | } |
44 | end |
45 | end |
46 | end |
47 | |
48 | if __FILE__ == $0 |
49 | loop { puts XScreenSaver.idle_time; sleep 0.2 } |
50 | end |
51 | |