diff --git a/src/winwidget.c b/src/winwidget.c
index f2496947bc15843c966d140ce5b09e9c132a1709..9495c7f6776d6ada03ce5928cc2f50a790a7bbe6 100644
--- a/src/winwidget.c
+++ b/src/winwidget.c
@@ -149,9 +149,11 @@ void winwidget_create_window(winwidget ret, int w, int h)
 	XClassHint *xch;
 	MWMHints mwmhints;
 	Atom prop = None;
+	pid_t pid;
 	int x = 0;
 	int y = 0;
 	char *tmpname;
+	char hostname[HOST_NAME_MAX];
 
 	D(("winwidget_create_window %dx%d\n", w, h));
 
@@ -271,6 +273,18 @@ void winwidget_create_window(winwidget ret, int w, int h)
 				PropModeReplace, (unsigned char *) &prop_fs, 1);
 	}
 
+	pid = getpid();
+	prop = XInternAtom(disp, "_NET_WM_PID", False);
+	XChangeProperty(disp, ret->win, prop, XA_CARDINAL, sizeof(pid_t) * 8,
+			PropModeReplace, (const unsigned char *)&pid, 1);
+
+	if (gethostname(hostname, HOST_NAME_MAX) == 0) {
+		hostname[HOST_NAME_MAX-1] = '\0';
+		prop = XInternAtom(disp, "WM_CLIENT_MACHINE", False);
+		XChangeProperty(disp, ret->win, prop, XA_STRING, sizeof(char) * 8,
+				PropModeReplace, (unsigned char *)hostname, strlen(hostname));
+	}
+
 	XSetWMProtocols(disp, ret->win, &wmDeleteWindow, 1);
 	winwidget_update_title(ret);
 	xch = XAllocClassHint();