when opening the client menu with a key, open it at the window's top left corner. is this clever or dumb?
This commit is contained in:
parent
eb2a0feb01
commit
20f4d7fd44
2 changed files with 13 additions and 5 deletions
|
@ -1013,7 +1013,7 @@ ObAction *action_parse(ObParseInst *i, xmlDocPtr doc, xmlNodePtr node,
|
||||||
}
|
}
|
||||||
|
|
||||||
void action_run_list(GSList *acts, ObClient *c, ObFrameContext context,
|
void action_run_list(GSList *acts, ObClient *c, ObFrameContext context,
|
||||||
guint state, guint button, gint x, gint y, Time time,
|
guint state, gint button, gint x, gint y, Time time,
|
||||||
gboolean cancel, gboolean done)
|
gboolean cancel, gboolean done)
|
||||||
{
|
{
|
||||||
GSList *it;
|
GSList *it;
|
||||||
|
@ -1621,8 +1621,16 @@ void action_exit(union ActionData *data)
|
||||||
void action_showmenu(union ActionData *data)
|
void action_showmenu(union ActionData *data)
|
||||||
{
|
{
|
||||||
if (data->showmenu.name) {
|
if (data->showmenu.name) {
|
||||||
menu_show(data->showmenu.name, data->any.x, data->any.y,
|
gint x, y;
|
||||||
data->showmenu.any.c);
|
ObClient *c = data->showmenu.any.c;
|
||||||
|
if (data->any.button == -1 && c) {
|
||||||
|
x = c->frame->area.x + c->frame->size.left;
|
||||||
|
y = c->frame->area.y + c->frame->size.top;
|
||||||
|
} else {
|
||||||
|
x = data->any.x;
|
||||||
|
y = data->any.y;
|
||||||
|
}
|
||||||
|
menu_show(data->showmenu.name, x, y, c);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -212,7 +212,7 @@ ObAction* action_copy(const ObAction *a);
|
||||||
affects interactive actions, but should generally always be FALSE.
|
affects interactive actions, but should generally always be FALSE.
|
||||||
*/
|
*/
|
||||||
void action_run_list(GSList *acts, struct _ObClient *c, ObFrameContext context,
|
void action_run_list(GSList *acts, struct _ObClient *c, ObFrameContext context,
|
||||||
guint state, guint button, gint x, gint y, Time time,
|
guint state, gint button, gint x, gint y, Time time,
|
||||||
gboolean cancel, gboolean done);
|
gboolean cancel, gboolean done);
|
||||||
|
|
||||||
#define action_run_mouse(a, c, n, s, b, x, y, t) \
|
#define action_run_mouse(a, c, n, s, b, x, y, t) \
|
||||||
|
@ -222,7 +222,7 @@ void action_run_list(GSList *acts, struct _ObClient *c, ObFrameContext context,
|
||||||
action_run_list(a, c, OB_FRAME_CONTEXT_NONE, s, 0, -1, -1, t, n, d)
|
action_run_list(a, c, OB_FRAME_CONTEXT_NONE, s, 0, -1, -1, t, n, d)
|
||||||
|
|
||||||
#define action_run_key(a, c, s, x, y, t) \
|
#define action_run_key(a, c, s, x, y, t) \
|
||||||
action_run_list(a, c, OB_FRAME_CONTEXT_NONE, s, 0, x, y, t, FALSE, FALSE)
|
action_run_list(a, c, OB_FRAME_CONTEXT_NONE, s, -1, x, y, t, FALSE, FALSE)
|
||||||
|
|
||||||
#define action_run(a, c, s, t) \
|
#define action_run(a, c, s, t) \
|
||||||
action_run_list(a, c, OB_FRAME_CONTEXT_NONE, s, 0, -1, -1, t, FALSE, FALSE)
|
action_run_list(a, c, OB_FRAME_CONTEXT_NONE, s, 0, -1, -1, t, FALSE, FALSE)
|
||||||
|
|
Loading…
Reference in a new issue