diff src/xterm.c @ 103676:fbdd52a2e830

* xterm.h (struct x_display_info): Add Xatom_net_wm_state_sticky * xterm.c (x_handle_net_wm_state): Also look for sticky. (x_term_init): Initialize Xatom_net_wm_state_sticky. * frame.h: Declare Qsticky.
author Jan Djärv <jan.h.d@swipnet.se>
date Wed, 01 Jul 2009 16:58:05 +0000
parents 1867be80e595
children 6cf0c4de552b
line wrap: on
line diff
--- a/src/xterm.c	Wed Jul 01 16:57:01 2009 +0000
+++ b/src/xterm.c	Wed Jul 01 16:58:05 2009 +0000
@@ -8547,6 +8547,7 @@
   unsigned char *tmp_data = NULL;
   Atom target_type = XA_ATOM;
   Lisp_Object lval;
+  int sticky = 0;
 
   BLOCK_INPUT;
   x_catch_errors (dpy);
@@ -8584,6 +8585,8 @@
         }
       else if (a == dpyinfo->Xatom_net_wm_state_fullscreen_atom)
         value = FULLSCREEN_BOTH;
+      else if (a == dpyinfo->Xatom_net_wm_state_sticky)
+        sticky = 1;
     }
 
   lval = Qnil;
@@ -8604,7 +8607,8 @@
     }
       
   store_frame_param (f, Qfullscreen, lval);
-  
+  store_frame_param (f, Qsticky, sticky ? Qt : Qnil);
+
   if (tmp_data) XFree (tmp_data);
   UNBLOCK_INPUT;
 }
@@ -10295,6 +10299,8 @@
     = XInternAtom (dpyinfo->display, "_NET_WM_STATE_MAXIMIZED_HORZ", False);
   dpyinfo->Xatom_net_wm_state_maximized_vert
     = XInternAtom (dpyinfo->display, "_NET_WM_STATE_MAXIMIZED_VERT", False);
+  dpyinfo->Xatom_net_wm_state_sticky
+    = XInternAtom (dpyinfo->display, "_NET_WM_STATE_STICKY", False);
 
   dpyinfo->cut_buffers_initialized = 0;