summaryrefslogtreecommitdiff
path: root/openbox
diff options
context:
space:
mode:
Diffstat (limited to 'openbox')
-rw-r--r--openbox/action.c59
-rw-r--r--openbox/actions.c5
-rw-r--r--openbox/actions.h2
-rw-r--r--openbox/actions/all.c1
-rw-r--r--openbox/actions/all.h1
-rw-r--r--openbox/actions/execute.c3
-rw-r--r--openbox/client_list_combined_menu.c3
-rw-r--r--openbox/client_list_menu.c3
-rw-r--r--openbox/client_menu.c9
-rw-r--r--openbox/event.c7
-rw-r--r--openbox/focus_cycle.c14
-rw-r--r--openbox/focus_cycle.h8
-rw-r--r--openbox/keyboard.c3
-rw-r--r--openbox/menu.h2
-rw-r--r--openbox/menuframe.c7
-rw-r--r--openbox/menuframe.h2
-rw-r--r--openbox/mouse.c18
-rw-r--r--openbox/startupnotify.c7
-rw-r--r--openbox/startupnotify.h3
19 files changed, 41 insertions, 116 deletions
diff --git a/openbox/action.c b/openbox/action.c
index 0c241b46..7f0cca15 100644
--- a/openbox/action.c
+++ b/openbox/action.c
@@ -318,28 +318,6 @@ void setup_action_desktop_down(ObAction **a, ObUserAction uact)
(*a)->data.desktopdir.wrap = TRUE;
}
-void setup_action_cycle_windows_next(ObAction **a, ObUserAction uact)
-{
- (*a)->data.cycle.inter.any.interactive = TRUE;
- (*a)->data.cycle.linear = FALSE;
- (*a)->data.cycle.forward = TRUE;
- (*a)->data.cycle.dialog = TRUE;
- (*a)->data.cycle.dock_windows = FALSE;
- (*a)->data.cycle.desktop_windows = FALSE;
- (*a)->data.cycle.all_desktops = FALSE;
-}
-
-void setup_action_cycle_windows_previous(ObAction **a, ObUserAction uact)
-{
- (*a)->data.cycle.inter.any.interactive = TRUE;
- (*a)->data.cycle.linear = FALSE;
- (*a)->data.cycle.forward = FALSE;
- (*a)->data.cycle.dialog = TRUE;
- (*a)->data.cycle.dock_windows = FALSE;
- (*a)->data.cycle.desktop_windows = FALSE;
- (*a)->data.cycle.all_desktops = FALSE;
-}
-
void setup_action_movefromedge_north(ObAction **a, ObUserAction uact)
{
(*a)->data.diraction.any.client_action = OB_CLIENT_ACTION_ALWAYS;
@@ -806,16 +784,6 @@ ActionString actionstrings[] =
setup_action_bottom_layer
},
{
- "nextwindow",
- action_cycle_windows,
- setup_action_cycle_windows_next
- },
- {
- "previouswindow",
- action_cycle_windows,
- setup_action_cycle_windows_previous
- },
- {
"movefromedgenorth",
action_movetoedge,
setup_action_movefromedge_north
@@ -1000,18 +968,6 @@ ObAction *action_parse(ObParseInst *i, xmlDocPtr doc, xmlNodePtr node,
} else if (act->func == action_activate) {
if ((n = parse_find_node("here", node->xmlChildrenNode)))
act->data.activate.here = parse_bool(doc, n);
- } else if (act->func == action_cycle_windows) {
- if ((n = parse_find_node("linear", node->xmlChildrenNode)))
- act->data.cycle.linear = parse_bool(doc, n);
- if ((n = parse_find_node("dialog", node->xmlChildrenNode)))
- act->data.cycle.dialog = parse_bool(doc, n);
- if ((n = parse_find_node("panels", node->xmlChildrenNode)))
- act->data.cycle.dock_windows = parse_bool(doc, n);
- if ((n = parse_find_node("desktop", node->xmlChildrenNode)))
- act->data.cycle.desktop_windows = parse_bool(doc, n);
- if ((n = parse_find_node("allDesktops",
- node->xmlChildrenNode)))
- act->data.cycle.all_desktops = parse_bool(doc, n);
} else if (act->func == action_directional_focus) {
if ((n = parse_find_node("dialog", node->xmlChildrenNode)))
act->data.interdiraction.dialog = parse_bool(doc, n);
@@ -1691,21 +1647,6 @@ void action_resize(union ActionData *data)
moveresize_start(c, data->any.x, data->any.y, data->any.button, corner);
}
-void action_cycle_windows(union ActionData *data)
-{
- /* if using focus_delay, stop the timer now so that focus doesn't go moving
- on us */
- event_halt_focus_delay();
-
- focus_cycle(data->cycle.forward,
- data->cycle.all_desktops,
- data->cycle.dock_windows,
- data->cycle.desktop_windows,
- data->cycle.linear, data->any.interactive,
- data->cycle.dialog,
- data->cycle.inter.final, data->cycle.inter.cancel);
-}
-
void action_directional_focus(union ActionData *data)
{
/* if using focus_delay, stop the timer now so that focus doesn't go moving
diff --git a/openbox/actions.c b/openbox/actions.c
index 9a5d193c..b56d834a 100644
--- a/openbox/actions.c
+++ b/openbox/actions.c
@@ -190,7 +190,6 @@ void actions_act_unref(ObActionsAct *act)
static void actions_setup_data(ObActionsData *data,
ObUserAction uact,
- Time time,
guint state,
gint x,
gint y,
@@ -198,7 +197,6 @@ static void actions_setup_data(ObActionsData *data,
struct _ObClient *client)
{
data->uact = uact;
- data->time = time;
data->state = state;
data->x = x;
data->y = y;
@@ -208,7 +206,6 @@ static void actions_setup_data(ObActionsData *data,
void actions_run_acts(GSList *acts,
ObUserAction uact,
- Time time,
guint state,
gint x,
gint y,
@@ -230,7 +227,7 @@ void actions_run_acts(GSList *acts,
ObActionsAct *act = it->data;
gboolean ok = TRUE;
- actions_setup_data(&data, uact, time, state, x, y, con, client);
+ actions_setup_data(&data, uact, state, x, y, con, client);
if (actions_act_is_interactive(act) &&
(!interactive_act || interactive_act->def != act->def))
diff --git a/openbox/actions.h b/openbox/actions.h
index 3db6d792..8e3154b8 100644
--- a/openbox/actions.h
+++ b/openbox/actions.h
@@ -43,7 +43,6 @@ typedef void (*ObActionsInteractiveCancelFunc)(gpointer options);
struct _ObActionsData {
ObUserAction uact;
- Time time;
guint state;
gint x;
gint y;
@@ -79,7 +78,6 @@ void actions_act_unref(ObActionsAct *act);
*/
void actions_run_acts(GSList *acts,
ObUserAction uact,
- Time time,
guint state,
gint x,
gint y,
diff --git a/openbox/actions/all.c b/openbox/actions/all.c
index 141fd12e..d60693b4 100644
--- a/openbox/actions/all.c
+++ b/openbox/actions/all.c
@@ -9,4 +9,5 @@ void action_all_startup()
action_reconfigure_startup();
action_exit_startup();
action_restart_startup();
+ action_cyclewindows_startup();
}
diff --git a/openbox/actions/all.h b/openbox/actions/all.h
index 789cce37..c3ab3a87 100644
--- a/openbox/actions/all.h
+++ b/openbox/actions/all.h
@@ -10,5 +10,6 @@ void action_showdesktop_startup();
void action_reconfigure_startup();
void action_exit_startup();
void action_restart_startup();
+void action_cyclewindows_startup();
#endif
diff --git a/openbox/actions/execute.c b/openbox/actions/execute.c
index 606bb153..8d45aad6 100644
--- a/openbox/actions/execute.c
+++ b/openbox/actions/execute.c
@@ -103,8 +103,7 @@ static gboolean run_func(ObActionsData *data, gpointer options)
/* sets up the environment */
sn_setup_spawn_environment(program, o->sn_name, o->sn_icon,
/* launch it on the current desktop */
- screen_desktop,
- data->time);
+ screen_desktop);
}
if (!g_spawn_async(NULL, argv, NULL,
diff --git a/openbox/client_list_combined_menu.c b/openbox/client_list_combined_menu.c
index af2819bb..60d6e687 100644
--- a/openbox/client_list_combined_menu.c
+++ b/openbox/client_list_combined_menu.c
@@ -94,8 +94,7 @@ static gboolean self_update(ObMenuFrame *frame, gpointer data)
}
static void menu_execute(ObMenuEntry *self, ObMenuFrame *f,
- ObClient *c, guint state, gpointer data,
- Time time)
+ ObClient *c, guint state, gpointer data)
{
if (self->id == -1) {
if (self->data.normal.data) /* it's set to NULL if its destroyed */
diff --git a/openbox/client_list_menu.c b/openbox/client_list_menu.c
index 936c3125..512cb3e8 100644
--- a/openbox/client_list_menu.c
+++ b/openbox/client_list_menu.c
@@ -94,8 +94,7 @@ static gboolean desk_menu_update(ObMenuFrame *frame, gpointer data)
}
static void desk_menu_execute(ObMenuEntry *self, ObMenuFrame *f,
- ObClient *c, guint state, gpointer data,
- Time time)
+ ObClient *c, guint state, gpointer data)
{
if (self->id == -1) {
if (self->data.normal.data) /* it's set to NULL if its destroyed */
diff --git a/openbox/client_menu.c b/openbox/client_menu.c
index 8e29bd7e..e92a772c 100644
--- a/openbox/client_menu.c
+++ b/openbox/client_menu.c
@@ -103,8 +103,7 @@ static gboolean client_menu_update(ObMenuFrame *frame, gpointer data)
}
static void client_menu_execute(ObMenuEntry *e, ObMenuFrame *f,
- ObClient *c, guint state, gpointer data,
- Time time)
+ ObClient *c, guint state, gpointer data)
{
gint x, y;
gulong ignore_start;
@@ -202,8 +201,7 @@ static gboolean layer_menu_update(ObMenuFrame *frame, gpointer data)
}
static void layer_menu_execute(ObMenuEntry *e, ObMenuFrame *f,
- ObClient *c, guint state, gpointer data,
- Time time)
+ ObClient *c, guint state, gpointer data)
{
gulong ignore_start;
@@ -281,8 +279,7 @@ static gboolean send_to_menu_update(ObMenuFrame *frame, gpointer data)
}
static void send_to_menu_execute(ObMenuEntry *e, ObMenuFrame *f,
- ObClient *c, guint state, gpointer data,
- Time time)
+ ObClient *c, guint state, gpointer data)
{
g_assert(c);
diff --git a/openbox/event.c b/openbox/event.c
index 2a12d990..cd66014b 100644
--- a/openbox/event.c
+++ b/openbox/event.c
@@ -1630,7 +1630,7 @@ static gboolean event_handle_menu_keyboard(XEvent *ev)
if (frame->child)
menu_frame_select_next(frame->child);
else if (frame->selected)
- menu_entry_frame_execute(frame->selected, state, ev->xkey.time);
+ menu_entry_frame_execute(frame->selected, state);
}
else if (keycode == ob_keycode(OB_KEY_LEFT) && ev->xkey.state == 0) {
@@ -1700,7 +1700,7 @@ static gboolean event_handle_menu_keyboard(XEvent *ev)
menu_frame_select(frame, found, TRUE);
usleep(50000); /* highlight the item for a short bit so the
user can see what happened */
- menu_entry_frame_execute(found, state, ev->xkey.time);
+ menu_entry_frame_execute(found, state);
} else {
menu_frame_select(frame, found, TRUE);
if (num_found == 1)
@@ -1730,8 +1730,7 @@ static gboolean event_handle_menu(XEvent *ev)
ev->xbutton.y_root)))
{
menu_frame_select(e->frame, e, TRUE);
- menu_entry_frame_execute(e, ev->xbutton.state,
- ev->xbutton.time);
+ menu_entry_frame_execute(e, ev->xbutton.state);
}
else
menu_frame_hide_all();
diff --git a/openbox/focus_cycle.c b/openbox/focus_cycle.c
index a5ac4e68..971f116f 100644
--- a/openbox/focus_cycle.c
+++ b/openbox/focus_cycle.c
@@ -67,15 +67,16 @@ void focus_cycle_stop(ObClient *ifclient)
}
}
-void focus_cycle(gboolean forward, gboolean all_desktops,
- gboolean dock_windows, gboolean desktop_windows,
- gboolean linear, gboolean interactive,
- gboolean dialog, gboolean done, gboolean cancel)
+ObClient* focus_cycle(gboolean forward, gboolean all_desktops,
+ gboolean dock_windows, gboolean desktop_windows,
+ gboolean linear, gboolean interactive,
+ gboolean dialog, gboolean done, gboolean cancel)
{
static ObClient *t = NULL;
static GList *order = NULL;
GList *it, *start, *list;
ObClient *ft = NULL;
+ ObClient *ret = NULL;
if (interactive) {
if (cancel) {
@@ -146,8 +147,7 @@ void focus_cycle(gboolean forward, gboolean all_desktops,
} while (it != start);
done_cycle:
- if (done && focus_cycle_target)
- client_activate(focus_cycle_target, FALSE, TRUE);
+ if (done && !cancel) ret = focus_cycle_target;
t = NULL;
focus_cycle_target = NULL;
@@ -159,7 +159,7 @@ done_cycle:
focus_cycle_popup_hide();
}
- return;
+ return ret;
}
/* this be mostly ripped from fvwm */
diff --git a/openbox/focus_cycle.h b/openbox/focus_cycle.h
index 2e32805f..3fecc9e4 100644
--- a/openbox/focus_cycle.h
+++ b/openbox/focus_cycle.h
@@ -34,10 +34,10 @@ void focus_cycle_startup(gboolean reconfig);
void focus_cycle_shutdown(gboolean reconfig);
/*! Cycle focus amongst windows. */
-void focus_cycle(gboolean forward, gboolean all_desktops,
- gboolean dock_windows, gboolean desktop_windows,
- gboolean linear, gboolean interactive,
- gboolean dialog, gboolean done, gboolean cancel);
+struct _ObClient* focus_cycle(gboolean forward, gboolean all_desktops,
+ gboolean dock_windows, gboolean desktop_windows,
+ gboolean linear, gboolean interactive,
+ gboolean dialog, gboolean done, gboolean cancel);
void focus_directional_cycle(ObDirection dir, gboolean dock_windows,
gboolean desktop_windows, gboolean interactive,
gboolean dialog, gboolean done, gboolean cancel);
diff --git a/openbox/keyboard.c b/openbox/keyboard.c
index ac92f5f9..b12ad53d 100644
--- a/openbox/keyboard.c
+++ b/openbox/keyboard.c
@@ -255,8 +255,7 @@ void keyboard_event(ObClient *client, const XEvent *e)
keyboard_reset_chains(0);
actions_run_acts(p->actions, OB_USER_ACTION_KEYBOARD_KEY,
- e->xkey.time, e->xkey.state,
- e->xkey.x_root, e->xkey.y_root,
+ e->xkey.state, e->xkey.x_root, e->xkey.y_root,
OB_FRAME_CONTEXT_NONE, client);
}
break;
diff --git a/openbox/menu.h b/openbox/menu.h
index f0fc42ba..f4368229 100644
--- a/openbox/menu.h
+++ b/openbox/menu.h
@@ -44,7 +44,7 @@ typedef gboolean (*ObMenuUpdateFunc)(struct _ObMenuFrame *frame,
typedef void (*ObMenuExecuteFunc)(struct _ObMenuEntry *entry,
struct _ObMenuFrame *frame,
struct _ObClient *client,
- guint state, gpointer data, Time time);
+ guint state, gpointer data);
typedef void (*ObMenuDestroyFunc)(struct _ObMenu *menu, gpointer data);
/*! @param x is the mouse x coordinate. on return it should be the x coordinate
for the menu
diff --git a/openbox/menuframe.c b/openbox/menuframe.c
index 4cdf6a37..6a25a9ae 100644
--- a/openbox/menuframe.c
+++ b/openbox/menuframe.c
@@ -1179,7 +1179,7 @@ void menu_entry_frame_show_submenu(ObMenuEntryFrame *self)
menu_frame_show_submenu(f, self->frame, self);
}
-void menu_entry_frame_execute(ObMenuEntryFrame *self, guint state, Time time)
+void menu_entry_frame_execute(ObMenuEntryFrame *self, guint state)
{
if (self->entry->type == OB_MENU_ENTRY_TYPE_NORMAL &&
self->entry->data.normal.enabled)
@@ -1200,11 +1200,10 @@ void menu_entry_frame_execute(ObMenuEntryFrame *self, guint state, Time time)
}
if (func)
- func(entry, frame, client, state, data, time);
+ func(entry, frame, client, state, data);
else
actions_run_acts(acts, OB_USER_ACTION_MENU_SELECTION,
- time, state, -1, -1, OB_FRAME_CONTEXT_NONE,
- client);
+ state, -1, -1, OB_FRAME_CONTEXT_NONE, client);
}
}
diff --git a/openbox/menuframe.h b/openbox/menuframe.h
index 75e03da4..191bcfe8 100644
--- a/openbox/menuframe.h
+++ b/openbox/menuframe.h
@@ -141,6 +141,6 @@ ObMenuEntryFrame* menu_entry_frame_under(gint x, gint y);
void menu_entry_frame_show_submenu(ObMenuEntryFrame *self);
-void menu_entry_frame_execute(ObMenuEntryFrame *self, guint state, Time time);
+void menu_entry_frame_execute(ObMenuEntryFrame *self, guint state);
#endif
diff --git a/openbox/mouse.c b/openbox/mouse.c
index d8813162..493e1000 100644
--- a/openbox/mouse.c
+++ b/openbox/mouse.c
@@ -182,7 +182,7 @@ static ObUserAction mouse_action_to_user_action(ObMouseAction a)
static gboolean fire_binding(ObMouseAction a, ObFrameContext context,
ObClient *c, guint state,
- guint button, gint x, gint y, Time time)
+ guint button, gint x, gint y)
{
GSList *it;
ObMouseBinding *b;
@@ -196,7 +196,7 @@ static gboolean fire_binding(ObMouseAction a, ObFrameContext context,
if (it == NULL) return FALSE;
actions_run_acts(b->actions[a], mouse_action_to_user_action(a),
- time, state, x, y, context, c);
+ state, x, y, context, c);
return TRUE;
}
@@ -228,8 +228,7 @@ void mouse_event(ObClient *client, XEvent *e)
fire_binding(OB_MOUSE_ACTION_PRESS, context,
client, e->xbutton.state,
e->xbutton.button,
- e->xbutton.x_root, e->xbutton.y_root,
- e->xbutton.time);
+ e->xbutton.x_root, e->xbutton.y_root);
/* if the bindings grab the pointer, there won't be a ButtonRelease
event for us */
@@ -293,22 +292,19 @@ void mouse_event(ObClient *client, XEvent *e)
client, e->xbutton.state,
e->xbutton.button,
e->xbutton.x_root,
- e->xbutton.y_root,
- e->xbutton.time);
+ e->xbutton.y_root);
if (click)
fire_binding(OB_MOUSE_ACTION_CLICK, context,
client, e->xbutton.state,
e->xbutton.button,
e->xbutton.x_root,
- e->xbutton.y_root,
- e->xbutton.time);
+ e->xbutton.y_root);
if (dclick)
fire_binding(OB_MOUSE_ACTION_DOUBLE_CLICK, context,
client, e->xbutton.state,
e->xbutton.button,
e->xbutton.x_root,
- e->xbutton.y_root,
- e->xbutton.time);
+ e->xbutton.y_root);
break;
case MotionNotify:
@@ -329,7 +325,7 @@ void mouse_event(ObClient *client, XEvent *e)
break;
fire_binding(OB_MOUSE_ACTION_MOTION, context,
- client, state, button, px, py, e->xmotion.time);
+ client, state, button, px, py);
button = 0;
state = 0;
}
diff --git a/openbox/startupnotify.c b/openbox/startupnotify.c
index 83e8c75b..f1b067c7 100644
--- a/openbox/startupnotify.c
+++ b/openbox/startupnotify.c
@@ -19,6 +19,7 @@
#include "startupnotify.h"
#include "gettext.h"
+#include "event.h"
#include <stdlib.h>
@@ -228,8 +229,7 @@ static gboolean sn_launch_wait_timeout(gpointer data)
}
void sn_setup_spawn_environment(gchar *program, gchar *name,
- gchar *icon_name, gint desktop,
- Time time)
+ gchar *icon_name, gint desktop)
{
gchar *desc;
const char *id;
@@ -247,7 +247,8 @@ void sn_setup_spawn_environment(gchar *program, gchar *name,
sn_launcher_context_set_binary_name(sn_launcher, program);
if (desktop >= 0 && (unsigned) desktop < screen_num_desktops)
sn_launcher_context_set_workspace(sn_launcher, (signed) desktop);
- sn_launcher_context_initiate(sn_launcher, "openbox", program, time);
+ sn_launcher_context_initiate(sn_launcher, "openbox", program,
+ event_curtime);
id = sn_launcher_context_get_startup_id(sn_launcher);
/* 20 second timeout for apps to start */
diff --git a/openbox/startupnotify.h b/openbox/startupnotify.h
index 82b87a58..7c28faba 100644
--- a/openbox/startupnotify.h
+++ b/openbox/startupnotify.h
@@ -36,8 +36,7 @@ gboolean sn_get_desktop(gchar *id, guint *desktop);
/* Get the environment to run the program in, with startup notification */
void sn_setup_spawn_environment(gchar *program, gchar *name,
- gchar *icon_name, gint desktop,
- Time time);
+ gchar *icon_name, gint desktop);
/* Tell startup notification we're not actually running the program we
told it we were