summaryrefslogtreecommitdiff
path: root/desktop/wmclock/wmclock_nopolling.patch
diff options
context:
space:
mode:
Diffstat (limited to 'desktop/wmclock/wmclock_nopolling.patch')
-rw-r--r--desktop/wmclock/wmclock_nopolling.patch77
1 files changed, 0 insertions, 77 deletions
diff --git a/desktop/wmclock/wmclock_nopolling.patch b/desktop/wmclock/wmclock_nopolling.patch
deleted file mode 100644
index a5a338f784..0000000000
--- a/desktop/wmclock/wmclock_nopolling.patch
+++ /dev/null
@@ -1,77 +0,0 @@
---- wmclock.c.orig 2008-09-28 17:41:49.000000000 +0200
-+++ wmclock.c 2008-09-28 20:33:59.000000000 +0200
-@@ -20,6 +20,7 @@
- * with the software or the use or other dealings in the software.
- */
-
-+#include <sys/select.h>
- #include <sys/types.h>
- #include <sys/wait.h>
- #include <sys/time.h>
-@@ -141,7 +142,8 @@
- Display *dpy;
- Window rootWindow;
- int screen;
--/* int xFd; */
-+int xFd;
-+fd_set xFdSet;
- int displayDepth;
- XSizeHints sizeHints;
- XWMHints wmHints;
-@@ -801,6 +803,7 @@
- XTextProperty wmName;
- XClassHint classHint;
- Pixmap shapeMask;
-+ struct timeval nextEvent;
-
- /* Parse command line options */
- progName = extractProgName(argv[0]);
-@@ -849,7 +852,7 @@
- screen = DefaultScreen(dpy);
- rootWindow = RootWindow(dpy, screen);
- displayDepth = DefaultDepth(dpy, screen);
-- /* xFd = XConnectionNumber(dpy); */
-+ xFd = XConnectionNumber(dpy);
-
- /* Icon Daten nach XImage konvertieren */
- GetXpms();
-@@ -1049,14 +1052,32 @@
- poll((struct poll *) 0, (size_t) 0, 50); /* 5/100 sec */
- }
- #else
-- if (enableYearDisplay)
-- {
-- usleep(200000L); /* 1/5 sec */
-- }
-+ //We compute the date of next event, in order to avoid polling
-+ if (enableBlinking)
-+ {
-+ gettimeofday(&nextEvent,NULL);
-+ nextEvent.tv_sec = 0;
-+ nextEvent.tv_usec = 1000000-nextEvent.tv_usec;
-+ }
- else
-- {
-- usleep(50000L); /* 5/100 sec */
-- }
-+ {
-+ if (enableYearDisplay)
-+ {
-+ nextEvent.tv_sec = 86400-actualTime%86400;
-+ nextEvent.tv_usec = 0;
-+ }
-+ else
-+ {
-+ nextEvent.tv_sec = 60-actualTime%60;
-+ nextEvent.tv_usec = 0;
-+ }
-+ }
-+ printf("xFd %d\n", xFd);
-+ FD_ZERO(&xFdSet);
-+ FD_SET(xFd,&xFdSet);
-+ printf("debut select %d\n", nextEvent.tv_sec);
-+ select(FD_SETSIZE,&xFdSet,NULL,NULL,&nextEvent);
-+ printf("fin select\n");
- #endif
- }
- return(0);