commit 0a97e9f5423551e58ad5f52f2ced6574b42829da
parent ce9c5c2adf67b8ed7eb190530c7a056865b361f5
Author: Kris Maglione <kris@suckless.org>
Date: Thu, 27 May 2010 17:37:50 -0400
Don't call getpid() for every window creation.
Diffstat:
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/lib/libstuff/x11/windows/createwindow_visual.c b/lib/libstuff/x11/windows/createwindow_visual.c
@@ -6,6 +6,7 @@
#include <unistd.h>
static char hostname[HOST_NAME_MAX + 1];
+static long pid;
Window*
createwindow_visual(Window *parent, Rectangle r,
@@ -37,7 +38,10 @@ createwindow_visual(Window *parent, Rectangle r,
if(class != InputOnly)
w->gc = XCreateGC(display, w->xid, 0, nil);
- changeprop_ulong(w, "_NET_WM_PID", "CARDINAL", (ulong[1]){ getpid() }, 1);
+ if(pid == 0)
+ pid = getpid();
+ changeprop_long(w, "_NET_WM_PID", "CARDINAL", &pid, 1);
+
if(!hostname[0])
gethostname(hostname, sizeof(hostname) - 1);
if(hostname[0])