From 66b167670d669ad8f98153351cea588c1000cb6a Mon Sep 17 00:00:00 2001
From: Jan D <jan.h.d@swipnet.se>
Date: Sun, 7 Nov 2010 12:25:55 +0100
Subject: [PATCH] * src/xfns.c (set_machine_and_pid_properties): Let X set
 WM_CLIENT_MACHINE.

---
 src/ChangeLog |  2 ++
 src/xfns.c    | 20 +++-----------------
 2 files changed, 5 insertions(+), 17 deletions(-)

diff --git a/src/ChangeLog b/src/ChangeLog
index 92675fce0cf..5a0d859ac27 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,5 +1,7 @@
 2010-11-07  Jan Djärv  <jan.h.d@swipnet.se>
 
+	* xfns.c (set_machine_and_pid_properties): Let X set WM_CLIENT_MACHINE.
+
 	* xdisp.c (note_mode_line_or_margin_highlight): Initialize
 	Cursor to No_Cursor for HAVE_WINDOW_SYSTEM also.
 
diff --git a/src/xfns.c b/src/xfns.c
index 8ef9c92523e..576ab3f0ef1 100644
--- a/src/xfns.c
+++ b/src/xfns.c
@@ -3078,25 +3078,11 @@ If FRAME is nil, use the selected frame.  */)
 static void
 set_machine_and_pid_properties (struct frame *f)
 {
-  /* See the above comment "Note: Encoding strategy".  */
-  XTextProperty text;
-  int bytes, stringp;
-  int do_free_text_value = 0;
   long pid = (long) getpid ();
 
-  text.value = x_encode_text (Vsystem_name,
-                              Qcompound_text, 0, &bytes, &stringp,
-                              &do_free_text_value);
-  text.encoding = (stringp ? XA_STRING
-                   : FRAME_X_DISPLAY_INFO (f)->Xatom_COMPOUND_TEXT);
-  text.format = 8;
-  text.nitems = bytes;
-  XSetWMClientMachine (FRAME_X_DISPLAY (f),
-                       FRAME_OUTER_WINDOW (f),
-                       &text);
-  if (do_free_text_value)
-    xfree (text.value);
-
+  /* This will set WM_CLIENT_MACHINE and WM_LOCALE_NAME.  */
+  XSetWMProperties (FRAME_X_DISPLAY (f), FRAME_OUTER_WINDOW (f), NULL, NULL,
+                    NULL, 0, NULL, NULL, NULL);
   XChangeProperty (FRAME_X_DISPLAY (f),
                    FRAME_OUTER_WINDOW (f),
                    XInternAtom (FRAME_X_DISPLAY (f),
-- 
2.39.5