Merge branch 'master' of git.omp.am:/home/omp/git/conky
authorCesare Tirabassi <norsetto@ubuntu.com>
Tue, 14 Jul 2009 16:47:00 +0000 (18:47 +0200)
committerCesare Tirabassi <norsetto@ubuntu.com>
Tue, 14 Jul 2009 16:47:00 +0000 (18:47 +0200)
1  2 
src/x11.c

diff --cc src/x11.c
+++ b/src/x11.c
@@@ -669,31 -668,21 +668,31 @@@ void get_x11_desktop_info(Display *curr
  
        //Check if we initialise else retrieve changed property
        if (atom == 0) {
-         atom_current = XInternAtom(display, "_NET_CURRENT_DESKTOP", True);
-         atom_number  = XInternAtom(display, "_NET_NUMBER_OF_DESKTOPS", True);
-         atom_names   = XInternAtom(display, "_NET_DESKTOP_NAMES", True);
-         get_x11_desktop_current(display, root, atom_current);
-         get_x11_desktop_number(display, root, atom_number);
-         get_x11_desktop_names(display, root, atom_names);
+         atom_current = XInternAtom(current_display, "_NET_CURRENT_DESKTOP", True);
+         atom_number  = XInternAtom(current_display, "_NET_NUMBER_OF_DESKTOPS", True);
+         atom_names   = XInternAtom(current_display, "_NET_DESKTOP_NAMES", True);
+         get_x11_desktop_current(current_display, root, atom_current);
+         get_x11_desktop_number(current_display, root, atom_number);
+         get_x11_desktop_names(current_display, root, atom_names);
          get_x11_desktop_current_name(current_info->x11.desktop.all_names);
 +
 +        //Set the PropertyChangeMask on the root window, if not set
 +        XWindowAttributes window_attributes;
 +        XGetWindowAttributes(display, root, &window_attributes);
 +        if (!(window_attributes.your_event_mask & PropertyChangeMask)) {
 +          XSetWindowAttributes attributes;
 +          attributes.event_mask = window_attributes.your_event_mask | PropertyChangeMask;
 +          XChangeWindowAttributes(display, root, CWEventMask, &attributes);
 +          XGetWindowAttributes(display, root, &window_attributes);
 +        }
        } else {
          if (atom == atom_current) {
-           get_x11_desktop_current(display, root, atom_current);
+           get_x11_desktop_current(current_display, root, atom_current);
            get_x11_desktop_current_name(current_info->x11.desktop.all_names);
          } else if (atom == atom_number) {
-           get_x11_desktop_number(display, root, atom_number);
+           get_x11_desktop_number(current_display, root, atom_number);
          } else if (atom == atom_names) {
-           get_x11_desktop_names(display, root, atom_names);
+           get_x11_desktop_names(current_display, root, atom_names);
            get_x11_desktop_current_name(current_info->x11.desktop.all_names);
          }
        }