From 57af78ce991afb554c95cbfcf686dc7b08ebf55c Mon Sep 17 00:00:00 2001 From: Mikael Magnusson Date: Wed, 27 Feb 2008 16:27:07 +0100 Subject: [PATCH] Save target window across restarts for sendkeyevent. --- obt/prop.c | 1 + obt/prop.h | 1 + openbox/actions/sendkeyevent.c | 7 ++++++- 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/obt/prop.c b/obt/prop.c index 1e324b92..ffd8afd8 100644 --- a/obt/prop.c +++ b/obt/prop.c @@ -189,6 +189,7 @@ void obt_prop_startup(void) CREATE_(OB_WM_ACTION_UNDECORATE); CREATE_(OB_WM_STATE_UNDECORATED); CREATE_(OB_CONTROL); + CREATE_(OB_TARGET_WINDOW); } Atom obt_prop_atom(ObtPropAtom a) diff --git a/obt/prop.h b/obt/prop.h index 22a1ab42..924db52d 100644 --- a/obt/prop.h +++ b/obt/prop.h @@ -210,6 +210,7 @@ typedef enum { OBT_PROP_OB_THEME, OBT_PROP_OB_CONFIG_FILE, OBT_PROP_OB_CONTROL, + OBT_PROP_OB_TARGET_WINDOW, OBT_PROP_NUM_ATOMS } ObtPropAtom; diff --git a/openbox/actions/sendkeyevent.c b/openbox/actions/sendkeyevent.c index 2817882f..129eb501 100644 --- a/openbox/actions/sendkeyevent.c +++ b/openbox/actions/sendkeyevent.c @@ -2,6 +2,8 @@ #include "openbox/client.h" #include "openbox/window.h" #include "obt/display.h" +#include "obt/prop.h" +#include "openbox/openbox.h" #include "gettext.h" typedef struct { @@ -25,6 +27,7 @@ void action_sendkeyevent_startup(void) NULL, NULL, settarget, NULL, NULL); + OBT_PROP_GET32(obt_root(ob_screen), OB_TARGET_WINDOW, WINDOW, (guint32 *)&target); } static KeyCode parse_key(gchar *s) @@ -82,8 +85,10 @@ static gboolean sendkey(ObActionsData *data, gpointer options) /* Always return FALSE because its not interactive */ static gboolean settarget(ObActionsData *data, gpointer options) { - if (data->client) + if (data->client) { target = data->client->window; + OBT_PROP_SET32(obt_root(ob_screen), OB_TARGET_WINDOW, WINDOW, target); + } return FALSE; } -- 2.39.2