projects
/
dana
/
openbox.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (from parent 1:
a1908e0
)
pass the targeted window's PID (if available) and WINDOW_ID to the environment of...
author
Dana Jansens
<danakj@orodu.net>
Sat, 1 Mar 2008 05:18:33 +0000
(
00:18
-0500)
committer
Dana Jansens
<danakj@orodu.net>
Sat, 1 Mar 2008 05:18:33 +0000
(
00:18
-0500)
openbox/actions/execute.c
patch
|
blob
|
history
diff --git
a/openbox/actions/execute.c
b/openbox/actions/execute.c
index
fd9625c
..
69690fa
100644
(file)
--- a/
openbox/actions/execute.c
+++ b/
openbox/actions/execute.c
@@
-1,6
+1,7
@@
#include "openbox/actions.h"
#include "openbox/event.h"
#include "openbox/startupnotify.h"
#include "openbox/actions.h"
#include "openbox/event.h"
#include "openbox/startupnotify.h"
+#include "openbox/client.h"
#include "openbox/prompt.h"
#include "openbox/screen.h"
#include "obt/paths.h"
#include "openbox/prompt.h"
#include "openbox/screen.h"
#include "obt/paths.h"
@@
-155,6
+156,26
@@
static gboolean run_func(ObActionsData *data, gpointer options)
screen_desktop);
}
screen_desktop);
}
+ if (data->client && data->client->pid) {
+ gchar *pid;
+
+ pid = g_strdup_printf("%u", data->client->pid);
+ setenv("PID", pid, TRUE);
+ g_free(pid);
+ }
+ else
+ unsetenv("PID");
+
+ if (data->client) {
+ gchar *wid;
+
+ wid = g_strdup_printf("%u", data->client->window);
+ setenv("WINDOW_ID", wid, TRUE);
+ g_free(wid);
+ }
+ else
+ unsetenv("WINDOW_ID");
+
if (!g_spawn_async(NULL, argv, NULL,
G_SPAWN_SEARCH_PATH | G_SPAWN_DO_NOT_REAP_CHILD,
NULL, NULL, NULL, &e))
if (!g_spawn_async(NULL, argv, NULL,
G_SPAWN_SEARCH_PATH | G_SPAWN_DO_NOT_REAP_CHILD,
NULL, NULL, NULL, &e))
@@
-168,6
+189,9
@@
static gboolean run_func(ObActionsData *data, gpointer options)
if (o->sn)
unsetenv("DESKTOP_STARTUP_ID");
if (o->sn)
unsetenv("DESKTOP_STARTUP_ID");
+ unsetenv("PID");
+ unsetenv("WINDOW_ID");
+
g_free(program);
g_strfreev(argv);
}
g_free(program);
g_strfreev(argv);
}