and now it shoudl be able to change click to focs <-> mouse focus dynamically
and it all shoudl work - i hope. SVN revision: 14870
This commit is contained in:
parent
38ab99da69
commit
3520914ccd
|
@ -4,38 +4,6 @@
|
||||||
#include "e.h"
|
#include "e.h"
|
||||||
|
|
||||||
/* local subsystem functions */
|
/* local subsystem functions */
|
||||||
typedef struct _E_Binding_Mouse E_Binding_Mouse;
|
|
||||||
typedef struct _E_Binding_Key E_Binding_Key;
|
|
||||||
typedef struct _E_Binding_Signal E_Binding_Signal;
|
|
||||||
|
|
||||||
struct _E_Binding_Mouse
|
|
||||||
{
|
|
||||||
E_Binding_Context ctxt;
|
|
||||||
int button;
|
|
||||||
E_Binding_Modifier mod;
|
|
||||||
unsigned char any_mod : 1;
|
|
||||||
char *action;
|
|
||||||
char *params;
|
|
||||||
};
|
|
||||||
|
|
||||||
struct _E_Binding_Key
|
|
||||||
{
|
|
||||||
E_Binding_Context ctxt;
|
|
||||||
char *key;
|
|
||||||
E_Binding_Modifier mod;
|
|
||||||
unsigned char any_mod : 1;
|
|
||||||
char *action;
|
|
||||||
char *params;
|
|
||||||
};
|
|
||||||
|
|
||||||
struct _E_Binding_Signal
|
|
||||||
{
|
|
||||||
E_Binding_Context ctxt;
|
|
||||||
char *sig;
|
|
||||||
char *src;
|
|
||||||
char *action;
|
|
||||||
char *params;
|
|
||||||
};
|
|
||||||
|
|
||||||
static void _e_bindings_mouse_free(E_Binding_Mouse *bind);
|
static void _e_bindings_mouse_free(E_Binding_Mouse *bind);
|
||||||
static void _e_bindings_key_free(E_Binding_Key *bind);
|
static void _e_bindings_key_free(E_Binding_Key *bind);
|
||||||
|
@ -195,7 +163,7 @@ e_bindings_mouse_ungrab(E_Binding_Context ctxt, Ecore_X_Window win)
|
||||||
}
|
}
|
||||||
|
|
||||||
E_Action *
|
E_Action *
|
||||||
e_bindings_mouse_down_event_handle(E_Binding_Context ctxt, E_Object *obj, Ecore_X_Event_Mouse_Button_Down *ev)
|
e_bindings_mouse_down_find(E_Binding_Context ctxt, E_Object *obj, Ecore_X_Event_Mouse_Button_Down *ev, E_Binding_Mouse **bind_ret)
|
||||||
{
|
{
|
||||||
E_Binding_Modifier mod = 0;
|
E_Binding_Modifier mod = 0;
|
||||||
Evas_List *l;
|
Evas_List *l;
|
||||||
|
@ -217,6 +185,21 @@ e_bindings_mouse_down_event_handle(E_Binding_Context ctxt, E_Object *obj, Ecore_
|
||||||
E_Action *act;
|
E_Action *act;
|
||||||
|
|
||||||
act = e_action_find(bind->action);
|
act = e_action_find(bind->action);
|
||||||
|
if (bind_ret) *bind_ret = bind;
|
||||||
|
return act;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
E_Action *
|
||||||
|
e_bindings_mouse_down_event_handle(E_Binding_Context ctxt, E_Object *obj, Ecore_X_Event_Mouse_Button_Down *ev)
|
||||||
|
{
|
||||||
|
E_Action *act;
|
||||||
|
E_Binding_Mouse *bind;
|
||||||
|
|
||||||
|
act = e_bindings_mouse_down_find(ctxt, obj, ev, &bind);
|
||||||
if (act)
|
if (act)
|
||||||
{
|
{
|
||||||
if (act->func.go_mouse)
|
if (act->func.go_mouse)
|
||||||
|
@ -225,7 +208,34 @@ e_bindings_mouse_down_event_handle(E_Binding_Context ctxt, E_Object *obj, Ecore_
|
||||||
act->func.go(obj, bind->params);
|
act->func.go(obj, bind->params);
|
||||||
return act;
|
return act;
|
||||||
}
|
}
|
||||||
return NULL;
|
return act;
|
||||||
|
}
|
||||||
|
|
||||||
|
E_Action *
|
||||||
|
e_bindings_mouse_up_find(E_Binding_Context ctxt, E_Object *obj, Ecore_X_Event_Mouse_Button_Up *ev, E_Binding_Mouse **bind_ret)
|
||||||
|
{
|
||||||
|
E_Binding_Modifier mod = 0;
|
||||||
|
Evas_List *l;
|
||||||
|
|
||||||
|
if (ev->modifiers & ECORE_X_MODIFIER_SHIFT) mod |= E_BINDING_MODIFIER_SHIFT;
|
||||||
|
if (ev->modifiers & ECORE_X_MODIFIER_CTRL) mod |= E_BINDING_MODIFIER_CTRL;
|
||||||
|
if (ev->modifiers & ECORE_X_MODIFIER_ALT) mod |= E_BINDING_MODIFIER_ALT;
|
||||||
|
if (ev->modifiers & ECORE_X_MODIFIER_WIN) mod |= E_BINDING_MODIFIER_WIN;
|
||||||
|
for (l = mouse_bindings; l; l = l->next)
|
||||||
|
{
|
||||||
|
E_Binding_Mouse *bind;
|
||||||
|
|
||||||
|
bind = l->data;
|
||||||
|
if ((bind->button == ev->button) &&
|
||||||
|
((bind->any_mod) || (bind->mod == mod)))
|
||||||
|
{
|
||||||
|
if (_e_bindings_context_match(bind->ctxt, ctxt))
|
||||||
|
{
|
||||||
|
E_Action *act;
|
||||||
|
|
||||||
|
act = e_action_find(bind->action);
|
||||||
|
if (bind_ret) *bind_ret = bind;
|
||||||
|
return act;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -235,26 +245,10 @@ e_bindings_mouse_down_event_handle(E_Binding_Context ctxt, E_Object *obj, Ecore_
|
||||||
E_Action *
|
E_Action *
|
||||||
e_bindings_mouse_up_event_handle(E_Binding_Context ctxt, E_Object *obj, Ecore_X_Event_Mouse_Button_Up *ev)
|
e_bindings_mouse_up_event_handle(E_Binding_Context ctxt, E_Object *obj, Ecore_X_Event_Mouse_Button_Up *ev)
|
||||||
{
|
{
|
||||||
E_Binding_Modifier mod = 0;
|
E_Action *act;
|
||||||
Evas_List *l;
|
|
||||||
|
|
||||||
if (ev->modifiers & ECORE_X_MODIFIER_SHIFT) mod |= E_BINDING_MODIFIER_SHIFT;
|
|
||||||
if (ev->modifiers & ECORE_X_MODIFIER_CTRL) mod |= E_BINDING_MODIFIER_CTRL;
|
|
||||||
if (ev->modifiers & ECORE_X_MODIFIER_ALT) mod |= E_BINDING_MODIFIER_ALT;
|
|
||||||
if (ev->modifiers & ECORE_X_MODIFIER_WIN) mod |= E_BINDING_MODIFIER_WIN;
|
|
||||||
for (l = mouse_bindings; l; l = l->next)
|
|
||||||
{
|
|
||||||
E_Binding_Mouse *bind;
|
E_Binding_Mouse *bind;
|
||||||
|
|
||||||
bind = l->data;
|
act = e_bindings_mouse_up_find(ctxt, obj, ev, &bind);
|
||||||
if ((bind->button == ev->button) &&
|
|
||||||
((bind->any_mod) || (bind->mod == mod)))
|
|
||||||
{
|
|
||||||
if (_e_bindings_context_match(bind->ctxt, ctxt))
|
|
||||||
{
|
|
||||||
E_Action *act;
|
|
||||||
|
|
||||||
act = e_action_find(bind->action);
|
|
||||||
if (act)
|
if (act)
|
||||||
{
|
{
|
||||||
if (act->func.end_mouse)
|
if (act->func.end_mouse)
|
||||||
|
@ -263,11 +257,7 @@ e_bindings_mouse_up_event_handle(E_Binding_Context ctxt, E_Object *obj, Ecore_X_
|
||||||
act->func.end(obj, bind->params);
|
act->func.end(obj, bind->params);
|
||||||
return act;
|
return act;
|
||||||
}
|
}
|
||||||
return NULL;
|
return act;
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return NULL;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* FIXME: finish off key bindings */
|
/* FIXME: finish off key bindings */
|
||||||
|
|
|
@ -26,10 +26,43 @@ typedef enum _E_Binding_Modifier
|
||||||
E_BINDING_MODIFIER_WIN = (1 << 3)
|
E_BINDING_MODIFIER_WIN = (1 << 3)
|
||||||
} E_Binding_Modifier;
|
} E_Binding_Modifier;
|
||||||
|
|
||||||
|
typedef struct _E_Binding_Mouse E_Binding_Mouse;
|
||||||
|
typedef struct _E_Binding_Key E_Binding_Key;
|
||||||
|
typedef struct _E_Binding_Signal E_Binding_Signal;
|
||||||
|
|
||||||
#else
|
#else
|
||||||
#ifndef E_BINDINGS_H
|
#ifndef E_BINDINGS_H
|
||||||
#define E_BINDINGS_H
|
#define E_BINDINGS_H
|
||||||
|
|
||||||
|
struct _E_Binding_Mouse
|
||||||
|
{
|
||||||
|
E_Binding_Context ctxt;
|
||||||
|
int button;
|
||||||
|
E_Binding_Modifier mod;
|
||||||
|
unsigned char any_mod : 1;
|
||||||
|
char *action;
|
||||||
|
char *params;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct _E_Binding_Key
|
||||||
|
{
|
||||||
|
E_Binding_Context ctxt;
|
||||||
|
char *key;
|
||||||
|
E_Binding_Modifier mod;
|
||||||
|
unsigned char any_mod : 1;
|
||||||
|
char *action;
|
||||||
|
char *params;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct _E_Binding_Signal
|
||||||
|
{
|
||||||
|
E_Binding_Context ctxt;
|
||||||
|
char *sig;
|
||||||
|
char *src;
|
||||||
|
char *action;
|
||||||
|
char *params;
|
||||||
|
};
|
||||||
|
|
||||||
EAPI int e_bindings_init(void);
|
EAPI int e_bindings_init(void);
|
||||||
EAPI int e_bindings_shutdown(void);
|
EAPI int e_bindings_shutdown(void);
|
||||||
|
|
||||||
|
@ -37,7 +70,9 @@ EAPI void e_bindings_mouse_add(E_Binding_Context ctxt, int button, E_Bind
|
||||||
EAPI void e_bindings_mouse_del(E_Binding_Context ctxt, int button, E_Binding_Modifier mod, int any_mod, char *action, char *params);
|
EAPI void e_bindings_mouse_del(E_Binding_Context ctxt, int button, E_Binding_Modifier mod, int any_mod, char *action, char *params);
|
||||||
EAPI void e_bindings_mouse_grab(E_Binding_Context ctxt, Ecore_X_Window win);
|
EAPI void e_bindings_mouse_grab(E_Binding_Context ctxt, Ecore_X_Window win);
|
||||||
EAPI void e_bindings_mouse_ungrab(E_Binding_Context ctxt, Ecore_X_Window win);
|
EAPI void e_bindings_mouse_ungrab(E_Binding_Context ctxt, Ecore_X_Window win);
|
||||||
|
EAPI E_Action *e_bindings_mouse_down_find(E_Binding_Context ctxt, E_Object *obj, Ecore_X_Event_Mouse_Button_Down *ev, E_Binding_Mouse **bind_ret);
|
||||||
EAPI E_Action *e_bindings_mouse_down_event_handle(E_Binding_Context ctxt, E_Object *obj, Ecore_X_Event_Mouse_Button_Down *ev);
|
EAPI E_Action *e_bindings_mouse_down_event_handle(E_Binding_Context ctxt, E_Object *obj, Ecore_X_Event_Mouse_Button_Down *ev);
|
||||||
|
EAPI E_Action *e_bindings_mouse_up_find(E_Binding_Context ctxt, E_Object *obj, Ecore_X_Event_Mouse_Button_Up *ev, E_Binding_Mouse **bind_ret);
|
||||||
EAPI E_Action *e_bindings_mouse_up_event_handle(E_Binding_Context ctxt, E_Object *obj, Ecore_X_Event_Mouse_Button_Up *ev);
|
EAPI E_Action *e_bindings_mouse_up_event_handle(E_Binding_Context ctxt, E_Object *obj, Ecore_X_Event_Mouse_Button_Up *ev);
|
||||||
|
|
||||||
EAPI void e_bindings_key_add(E_Binding_Context ctxt, char *key, E_Binding_Modifier mod, int any_mod, char *action, char *params);
|
EAPI void e_bindings_key_add(E_Binding_Context ctxt, char *key, E_Binding_Modifier mod, int any_mod, char *action, char *params);
|
||||||
|
|
|
@ -1379,6 +1379,7 @@ e_border_button_bindings_ungrab_all(void)
|
||||||
E_Border *bd;
|
E_Border *bd;
|
||||||
|
|
||||||
bd = l->data;
|
bd = l->data;
|
||||||
|
e_focus_setdown(bd);
|
||||||
e_bindings_mouse_ungrab(E_BINDING_CONTEXT_BORDER, bd->win);
|
e_bindings_mouse_ungrab(E_BINDING_CONTEXT_BORDER, bd->win);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1394,6 +1395,7 @@ e_border_button_bindings_grab_all(void)
|
||||||
|
|
||||||
bd = l->data;
|
bd = l->data;
|
||||||
e_bindings_mouse_grab(E_BINDING_CONTEXT_BORDER, bd->win);
|
e_bindings_mouse_grab(E_BINDING_CONTEXT_BORDER, bd->win);
|
||||||
|
e_focus_setup(bd);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2448,7 +2450,6 @@ _e_border_cb_mouse_down(void *data, int type, void *event)
|
||||||
e_bindings_mouse_down_event_handle(E_BINDING_CONTEXT_BORDER,
|
e_bindings_mouse_down_event_handle(E_BINDING_CONTEXT_BORDER,
|
||||||
E_OBJECT(bd), ev);
|
E_OBJECT(bd), ev);
|
||||||
}
|
}
|
||||||
if (!bd->cur_mouse_action)
|
|
||||||
e_focus_event_mouse_down(bd);
|
e_focus_event_mouse_down(bd);
|
||||||
}
|
}
|
||||||
if (ev->win != bd->event_win) return 1;
|
if (ev->win != bd->event_win) return 1;
|
||||||
|
@ -2504,6 +2505,7 @@ _e_border_cb_mouse_up(void *data, int type, void *event)
|
||||||
/* ... VERY unlikely though... VERY */
|
/* ... VERY unlikely though... VERY */
|
||||||
/* also we dont pass the same params that went in - then again that */
|
/* also we dont pass the same params that went in - then again that */
|
||||||
/* should be ok as we are just ending the action if it has an end */
|
/* should be ok as we are just ending the action if it has an end */
|
||||||
|
printf("mouse up after grab!\n");
|
||||||
if (bd->cur_mouse_action)
|
if (bd->cur_mouse_action)
|
||||||
{
|
{
|
||||||
if (bd->cur_mouse_action->func.end_mouse)
|
if (bd->cur_mouse_action->func.end_mouse)
|
||||||
|
@ -2656,18 +2658,26 @@ _e_border_cb_mouse_wheel(void *data, int type, void *event)
|
||||||
static int
|
static int
|
||||||
_e_border_cb_grab_replay(void *data, int type, void *event)
|
_e_border_cb_grab_replay(void *data, int type, void *event)
|
||||||
{
|
{
|
||||||
if (type == ECORE_X_EVENT_MOUSE_BUTTON_DOWN)
|
Ecore_X_Event_Mouse_Button_Down *ev;
|
||||||
{
|
if (type != ECORE_X_EVENT_MOUSE_BUTTON_DOWN) return 0;
|
||||||
Ecore_X_Event_Mouse_Button_Down *e;
|
|
||||||
|
|
||||||
e = event;
|
ev = event;
|
||||||
if ((e_config->pass_click_on) ||
|
if ((e_config->pass_click_on) || (e_config->always_click_to_raise))
|
||||||
(e_config->always_click_to_raise))
|
|
||||||
{
|
{
|
||||||
printf("ALLOW PRESS\n");
|
E_Border *bd;
|
||||||
|
|
||||||
|
bd = e_border_find_by_window(ev->event_win);
|
||||||
|
if (bd)
|
||||||
|
{
|
||||||
|
if (bd->cur_mouse_action) return 0;
|
||||||
|
if (ev->event_win == bd->win)
|
||||||
|
{
|
||||||
|
if (!e_bindings_mouse_down_find(E_BINDING_CONTEXT_BORDER,
|
||||||
|
E_OBJECT(bd), ev, NULL))
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -207,7 +207,7 @@ e_config_init(void)
|
||||||
e_config->language = strdup("");
|
e_config->language = strdup("");
|
||||||
e_config->focus_policy = E_FOCUS_MOUSE;
|
e_config->focus_policy = E_FOCUS_MOUSE;
|
||||||
e_config->pass_click_on = 1;
|
e_config->pass_click_on = 1;
|
||||||
e_config->always_click_to_raise = 1;
|
e_config->always_click_to_raise = 0;
|
||||||
e_config->use_auto_raise = 0;
|
e_config->use_auto_raise = 0;
|
||||||
e_config->auto_raise_delay = 0.5;
|
e_config->auto_raise_delay = 0.5;
|
||||||
{
|
{
|
||||||
|
@ -670,7 +670,6 @@ e_config_init(void)
|
||||||
e_config_save_queue();
|
e_config_save_queue();
|
||||||
}
|
}
|
||||||
// e_config->evas_engine_container = E_EVAS_ENGINE_GL_X11;
|
// e_config->evas_engine_container = E_EVAS_ENGINE_GL_X11;
|
||||||
e_config->focus_policy = E_FOCUS_MOUSE;
|
|
||||||
|
|
||||||
E_CONFIG_LIMIT(e_config->menus_scroll_speed, 1.0, 20000.0);
|
E_CONFIG_LIMIT(e_config->menus_scroll_speed, 1.0, 20000.0);
|
||||||
E_CONFIG_LIMIT(e_config->menus_fast_mouse_move_threshhold, 1.0, 2000.0);
|
E_CONFIG_LIMIT(e_config->menus_fast_mouse_move_threshhold, 1.0, 2000.0);
|
||||||
|
|
|
@ -100,6 +100,7 @@ struct _E_Config
|
||||||
double auto_raise_delay;
|
double auto_raise_delay;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* FIXME: all of thsie needs to become eet lumps for enmcode/decode */
|
||||||
struct _E_Config_Module
|
struct _E_Config_Module
|
||||||
{
|
{
|
||||||
char *name;
|
char *name;
|
||||||
|
|
|
@ -30,7 +30,6 @@ e_focus_idler_before(void)
|
||||||
void
|
void
|
||||||
e_focus_event_mouse_in(E_Border* bd)
|
e_focus_event_mouse_in(E_Border* bd)
|
||||||
{
|
{
|
||||||
/* If focus follows mouse */
|
|
||||||
if (e_config->focus_policy == E_FOCUS_MOUSE)
|
if (e_config->focus_policy == E_FOCUS_MOUSE)
|
||||||
e_border_focus_set(bd, 1, 1);
|
e_border_focus_set(bd, 1, 1);
|
||||||
|
|
||||||
|
@ -47,7 +46,6 @@ e_focus_event_mouse_in(E_Border* bd)
|
||||||
void
|
void
|
||||||
e_focus_event_mouse_out(E_Border* bd)
|
e_focus_event_mouse_out(E_Border* bd)
|
||||||
{
|
{
|
||||||
/* If focus follows mouse */
|
|
||||||
if (e_config->focus_policy == E_FOCUS_MOUSE)
|
if (e_config->focus_policy == E_FOCUS_MOUSE)
|
||||||
e_border_focus_set(bd, 0, 1);
|
e_border_focus_set(bd, 0, 1);
|
||||||
|
|
||||||
|
@ -66,6 +64,10 @@ e_focus_event_mouse_down(E_Border* bd)
|
||||||
e_border_focus_set(bd, 1, 1);
|
e_border_focus_set(bd, 1, 1);
|
||||||
e_border_raise(bd);
|
e_border_raise(bd);
|
||||||
}
|
}
|
||||||
|
else if (e_config->always_click_to_raise)
|
||||||
|
{
|
||||||
|
e_border_raise(bd);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
@ -80,7 +82,9 @@ e_focus_event_focus_in(E_Border *bd)
|
||||||
(!e_config->always_click_to_raise))
|
(!e_config->always_click_to_raise))
|
||||||
{
|
{
|
||||||
if (!bd->button_grabbed) return;
|
if (!bd->button_grabbed) return;
|
||||||
|
e_bindings_mouse_ungrab(E_BINDING_CONTEXT_BORDER, bd->win);
|
||||||
ecore_x_window_button_ungrab(bd->win, 1, 0, 1);
|
ecore_x_window_button_ungrab(bd->win, 1, 0, 1);
|
||||||
|
e_bindings_mouse_grab(E_BINDING_CONTEXT_BORDER, bd->win);
|
||||||
bd->button_grabbed = 0;
|
bd->button_grabbed = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -92,7 +96,10 @@ e_focus_event_focus_out(E_Border *bd)
|
||||||
(!e_config->always_click_to_raise))
|
(!e_config->always_click_to_raise))
|
||||||
{
|
{
|
||||||
if (bd->button_grabbed) return;
|
if (bd->button_grabbed) return;
|
||||||
ecore_x_window_button_grab(bd->win, 1, ECORE_X_EVENT_MASK_MOUSE_DOWN, 0, 1);
|
ecore_x_window_button_grab(bd->win, 0,
|
||||||
|
ECORE_X_EVENT_MASK_MOUSE_DOWN |
|
||||||
|
ECORE_X_EVENT_MASK_MOUSE_UP |
|
||||||
|
ECORE_X_EVENT_MASK_MOUSE_MOVE, 0, 1);
|
||||||
bd->button_grabbed = 1;
|
bd->button_grabbed = 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -104,7 +111,10 @@ e_focus_setup(E_Border *bd)
|
||||||
(e_config->always_click_to_raise))
|
(e_config->always_click_to_raise))
|
||||||
{
|
{
|
||||||
if (bd->button_grabbed) return;
|
if (bd->button_grabbed) return;
|
||||||
ecore_x_window_button_grab(bd->win, 1, ECORE_X_EVENT_MASK_MOUSE_DOWN, 0, 1);
|
ecore_x_window_button_grab(bd->win, 0,
|
||||||
|
ECORE_X_EVENT_MASK_MOUSE_DOWN |
|
||||||
|
ECORE_X_EVENT_MASK_MOUSE_UP |
|
||||||
|
ECORE_X_EVENT_MASK_MOUSE_MOVE, 0, 1);
|
||||||
bd->button_grabbed = 1;
|
bd->button_grabbed = 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -113,7 +123,9 @@ void
|
||||||
e_focus_setdown(E_Border *bd)
|
e_focus_setdown(E_Border *bd)
|
||||||
{
|
{
|
||||||
if (!bd->button_grabbed) return;
|
if (!bd->button_grabbed) return;
|
||||||
|
e_bindings_mouse_ungrab(E_BINDING_CONTEXT_BORDER, bd->win);
|
||||||
ecore_x_window_button_ungrab(bd->win, 1, 0, 1);
|
ecore_x_window_button_ungrab(bd->win, 1, 0, 1);
|
||||||
|
e_bindings_mouse_grab(E_BINDING_CONTEXT_BORDER, bd->win);
|
||||||
bd->button_grabbed = 0;
|
bd->button_grabbed = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -736,12 +736,13 @@ _e_ipc_cb_client_data(void *data __UNUSED__, int type __UNUSED__, void *event)
|
||||||
E_IPC_OP_DESKS_GET_REPLY);
|
E_IPC_OP_DESKS_GET_REPLY);
|
||||||
break;
|
break;
|
||||||
case E_IPC_OP_FOCUS_POLICY_SET:
|
case E_IPC_OP_FOCUS_POLICY_SET:
|
||||||
|
e_border_button_bindings_ungrab_all();
|
||||||
if (e_ipc_codec_int_dec(e->data, e->size,
|
if (e_ipc_codec_int_dec(e->data, e->size,
|
||||||
&(e_config->focus_policy)))
|
&(e_config->focus_policy)))
|
||||||
{
|
{
|
||||||
/* FIXME: if going to/from click to focus grab/ungrab */
|
|
||||||
e_config_save_queue();
|
e_config_save_queue();
|
||||||
}
|
}
|
||||||
|
e_border_button_bindings_grab_all();
|
||||||
break;
|
break;
|
||||||
case E_IPC_OP_FOCUS_POLICY_GET:
|
case E_IPC_OP_FOCUS_POLICY_GET:
|
||||||
_e_ipc_reply_int_send(e->client,
|
_e_ipc_reply_int_send(e->client,
|
||||||
|
|
|
@ -88,6 +88,7 @@ e_zone_new(E_Container *con, int num, int x, int y, int w, int h)
|
||||||
evas_object_move(o, x, y);
|
evas_object_move(o, x, y);
|
||||||
evas_object_resize(o, w, h);
|
evas_object_resize(o, w, h);
|
||||||
evas_object_color_set(o, 255, 255, 255, 255);
|
evas_object_color_set(o, 255, 255, 255, 255);
|
||||||
|
evas_object_repeat_events_set(o, 1);
|
||||||
evas_object_show(o);
|
evas_object_show(o);
|
||||||
|
|
||||||
o = edje_object_add(con->bg_evas);
|
o = edje_object_add(con->bg_evas);
|
||||||
|
|
Loading…
Reference in New Issue