From 81aaed2bf86d5ad6ef11b43a0091489fd787ab29 Mon Sep 17 00:00:00 2001 From: Tamas TEVESZ Date: Thu, 1 Apr 2010 03:26:30 +0200 Subject: [PATCH] Tidy comms between external apps and wm a bit - one instance of this left in setstyle, it will follow later --- WPrefs.app/WPrefs.c | 5 +---- src/event.c | 17 ++++++++++++++++- 2 files changed, 17 insertions(+), 5 deletions(-) diff --git a/WPrefs.app/WPrefs.c b/WPrefs.app/WPrefs.c index 328791d6..231a3ef9 100644 --- a/WPrefs.app/WPrefs.c +++ b/WPrefs.app/WPrefs.c @@ -116,7 +116,6 @@ static void save(WMWidget * w, void *data) WMPropList *p1, *p2; WMPropList *keyList; WMPropList *key; - char *msg = "Reconfigure"; XEvent ev; /* puts("gathering data"); */ @@ -157,10 +156,8 @@ static void save(WMWidget * w, void *data) ev.xclient.message_type = XInternAtom(WMScreenDisplay(WMWidgetScreen(w)), "_WINDOWMAKER_COMMAND", False); ev.xclient.window = DefaultRootWindow(WMScreenDisplay(WMWidgetScreen(w))); ev.xclient.format = 8; + strncpy(ev.xclient.data.b, "Reconfigure", sizeof(ev.xclient.data.b)); - for (i = 0; i <= strlen(msg); i++) { - ev.xclient.data.b[i] = msg[i]; - } XSendEvent(WMScreenDisplay(WMWidgetScreen(w)), DefaultRootWindow(WMScreenDisplay(WMWidgetScreen(w))), False, SubstructureRedirectMask, &ev); XFlush(WMScreenDisplay(WMWidgetScreen(w))); diff --git a/src/event.c b/src/event.c index 633f58e2..6f51a76e 100644 --- a/src/event.c +++ b/src/event.c @@ -926,7 +926,22 @@ static void handleClientMessage(XEvent * event) } } else if (event->xclient.message_type == _XA_WINDOWMAKER_COMMAND) { - wDefaultsCheckDomains(NULL); + char *command; + size_t len; + + len = sizeof(event->xclient.data.b) + 1; + command = wmalloc(len); + memset(command, 0, len); + strncpy(command, event->xclient.data.b, sizeof(event->xclient.data.b)); + + if (strncmp(command, "Reconfigure", sizeof("Reconfigure")) == 0) { + wwarning(_("Got Reconfigure command")); + wDefaultsCheckDomains(NULL); + } else { + wwarning(_("Got unknown command %s"), command); + } + + wfree(command); } else if (event->xclient.message_type == _XA_WINDOWMAKER_WM_FUNCTION) { WApplication *wapp; -- 2.11.4.GIT