emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH 5/6] xsmfns: use pre-fetch SM_CLIENT_ID


From: Julien Danjou
Subject: [PATCH 5/6] xsmfns: use pre-fetch SM_CLIENT_ID
Date: Wed, 10 Nov 2010 14:49:55 +0100

Signed-off-by: Julien Danjou <address@hidden>
---
 src/ChangeLog |    5 +++++
 src/xsmfns.c  |    4 ++--
 src/xterm.c   |    3 ++-
 src/xterm.h   |    3 +++
 4 files changed, 12 insertions(+), 3 deletions(-)

diff --git a/src/ChangeLog b/src/ChangeLog
index 13bb320..3975d8b 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,5 +1,10 @@
 2010-11-10  Julien Danjou  <address@hidden>
 
+       * xterm.h (x_display_info): Add SM_CLIENT_ID atom.
+
+       * xsmfns.c (create_client_leader_window): Use SM_CLIENT_ID atom
+       from dpyinfo.
+
        * xterm.c (set_wm_state): Use x_send_client_event rather than
        Fx_send_client_event, using Atom directly.
        (x_ewmh_activate_frame): Ditto.
diff --git a/src/xsmfns.c b/src/xsmfns.c
index 79dccfa..7b82fd4 100644
--- a/src/xsmfns.c
+++ b/src/xsmfns.c
@@ -410,8 +410,8 @@ create_client_leader_window (struct x_display_info 
*dpyinfo, char *client_id)
   XSetClassHint (dpyinfo->display, w, &class_hints);
   XStoreName (dpyinfo->display, w, class_hints.res_name);
 
-  sm_id = XInternAtom (dpyinfo->display, "SM_CLIENT_ID", False);
-  XChangeProperty (dpyinfo->display, w, sm_id, XA_STRING, 8, PropModeReplace,
+  XChangeProperty (dpyinfo->display, w, dpyinfo->Xatom_SM_CLIENT_ID,
+                   XA_STRING, 8, PropModeReplace,
                    (unsigned char *)client_id, strlen (client_id));
 
   dpyinfo->client_leader_window = w;
diff --git a/src/xterm.c b/src/xterm.c
index 36cbb12..e8a7d07 100644
--- a/src/xterm.c
+++ b/src/xterm.c
@@ -10248,7 +10248,8 @@ x_term_init (Lisp_Object display_name, char 
*xrm_option, char *resource_name)
         "_NET_SUPPORTED",  &dpyinfo->Xatom_net_supported,
         "_NET_SUPPORTING_WM_CHECK", &dpyinfo->Xatom_net_supported,
         "_NET_WM_WINDOW_OPACITY", &dpyinfo->Xatom_net_wm_window_opacity,
-        "_NET_ACTIVE_WINDOW", &dpyinfo->Xatom_net_active_window
+        "_NET_ACTIVE_WINDOW", &dpyinfo->Xatom_net_active_window,
+        "SM_CLIENT_ID", &dpyinfo->Xatom_SM_CLIENT_ID
       };
 
     int i;
diff --git a/src/xterm.h b/src/xterm.h
index d9ed120..ed873e6 100644
--- a/src/xterm.h
+++ b/src/xterm.h
@@ -352,6 +352,9 @@ struct x_display_info
   Atom Xatom_net_wm_name, Xatom_net_wm_icon_name;
   /* Frame opacity */
   Atom Xatom_net_wm_window_opacity;
+
+  /* SM */
+  Atom Xatom_SM_CLIENT_ID;
 };
 
 #ifdef HAVE_X_I18N
-- 
1.7.2.3




reply via email to

[Prev in Thread] Current Thread [Next in Thread]