forked from enlightenment/enlightenment
add config option for disabling pointer warp when performing directional focus change in winlist, patch by David H. Bronke
ticket #2098 SVN revision: 82409
This commit is contained in:
parent
bede9e08bf
commit
31e2299a67
|
@ -1,3 +1,7 @@
|
|||
2013-01-08 David H. Bronke
|
||||
|
||||
* Added new config option for disabling pointer warping when performing directional focus changes using winlist
|
||||
|
||||
2013-01-08 Thanatermesis
|
||||
|
||||
* "System Default" language in wizard now displays which language it is and no longer removes language from list
|
||||
|
|
1
NEWS
1
NEWS
|
@ -18,6 +18,7 @@ Additions:
|
|||
Config:
|
||||
* Added option for disabling icons in menus
|
||||
* Added option for doing desklock, blanking or dimming even when showing fullscreen windows.
|
||||
* Added option for disabling pointer warping when performing directional focus changes using winlist
|
||||
|
||||
|
||||
Deprecations:
|
||||
|
|
|
@ -711,6 +711,7 @@ e_config_init(void)
|
|||
E_CONFIG_VAL(D, T, geometry_auto_move, INT); /**/
|
||||
E_CONFIG_VAL(D, T, winlist_warp_while_selecting, INT); /**/
|
||||
E_CONFIG_VAL(D, T, winlist_warp_at_end, INT); /**/
|
||||
E_CONFIG_VAL(D, T, winlist_no_warp_on_direction, INT); /**/
|
||||
E_CONFIG_VAL(D, T, winlist_warp_speed, DOUBLE); /**/
|
||||
E_CONFIG_VAL(D, T, winlist_scroll_animate, INT); /**/
|
||||
E_CONFIG_VAL(D, T, winlist_scroll_speed, DOUBLE); /**/
|
||||
|
@ -1126,6 +1127,7 @@ e_config_load(void)
|
|||
E_CONFIG_LIMIT(e_config->geometry_auto_resize_limit, 0, 1);
|
||||
E_CONFIG_LIMIT(e_config->winlist_warp_while_selecting, 0, 1);
|
||||
E_CONFIG_LIMIT(e_config->winlist_warp_at_end, 0, 1);
|
||||
E_CONFIG_LIMIT(e_config->winlist_no_warp_on_direction, 0, 1);
|
||||
E_CONFIG_LIMIT(e_config->winlist_warp_speed, 0.0, 1.0);
|
||||
E_CONFIG_LIMIT(e_config->winlist_scroll_animate, 0, 1);
|
||||
E_CONFIG_LIMIT(e_config->winlist_scroll_speed, 0.0, 1.0);
|
||||
|
|
|
@ -38,7 +38,7 @@ typedef struct _E_Event_Config_Icon_Theme E_Event_Config_Icon_Theme;
|
|||
/* increment this whenever a new set of config values are added but the users
|
||||
* config doesn't need to be wiped - simply new values need to be put in
|
||||
*/
|
||||
#define E_CONFIG_FILE_GENERATION 2
|
||||
#define E_CONFIG_FILE_GENERATION 3
|
||||
#define E_CONFIG_FILE_VERSION ((E_CONFIG_FILE_EPOCH * 1000000) + E_CONFIG_FILE_GENERATION)
|
||||
|
||||
struct _E_Config
|
||||
|
@ -111,6 +111,7 @@ struct _E_Config
|
|||
int geometry_auto_resize_limit; // GUI
|
||||
int winlist_warp_while_selecting; // GUI
|
||||
int winlist_warp_at_end; // GUI
|
||||
int winlist_no_warp_on_direction; // GUI
|
||||
double winlist_warp_speed; // GUI
|
||||
int winlist_scroll_animate; // GUI
|
||||
double winlist_scroll_speed; // GUI
|
||||
|
@ -346,7 +347,7 @@ struct _E_Config
|
|||
double dim; // GUI
|
||||
double transition; // GUI
|
||||
double timer; // GUI
|
||||
const char *sysdev; // GUI
|
||||
const char *sysdev; // GUI
|
||||
unsigned char idle_dim; // GUI
|
||||
E_Backlight_Mode mode; /* not saved, display-only */
|
||||
} backlight;
|
||||
|
|
|
@ -1605,6 +1605,8 @@ e_configure_option_init(void)
|
|||
|
||||
OPT_ADD(BOOL, winlist_warp_while_selecting, _("Winlist moves pointer to currently selected window while selecting"), _("border"), _("winlist"), _("focus"), _("warp"), _("pointer"));
|
||||
OPT_ADD(BOOL, winlist_warp_at_end, _("Winlist moves pointer to currently selected window after winlist closes"), _("border"), _("winlist"), _("focus"), _("warp"), _("pointer"));
|
||||
OPT_ADD(BOOL, winlist_no_warp_on_direction, _("Disable pointer warping on winlist directional focus change"), _("border"), _("winlist"), _("focus"), _("warp"), _("pointer"));
|
||||
OPT_HELP("This option, when enabled, disables pointer warping only when switching windows using a directional winlist action (up/down/left/right)");
|
||||
OPT_ADD(DOUBLE, winlist_warp_speed, _("Winlist pointer warp speed while selecting"), _("border"), _("winlist"), _("focus"), _("warp"), _("pointer"), _("speed"));
|
||||
OPT_MINMAX_STEP_FMT(0.0, 1.0, 0.01, "%1.2f");
|
||||
OPT_ADD(BOOL, winlist_scroll_animate, _("Enable winlist scroll animation"), _("border"), _("winlist"), _("animate"));
|
||||
|
|
|
@ -22,6 +22,7 @@ struct _E_Config_Dialog_Data
|
|||
int focus, raise, uncover;
|
||||
int warp_while_selecting;
|
||||
int warp_at_end;
|
||||
int no_warp_on_direction;
|
||||
double warp_speed;
|
||||
int jump_desk;
|
||||
|
||||
|
@ -82,6 +83,7 @@ _fill_data(E_Config_Dialog_Data *cfdata)
|
|||
|
||||
cfdata->warp_while_selecting = e_config->winlist_warp_while_selecting;
|
||||
cfdata->warp_at_end = e_config->winlist_warp_at_end;
|
||||
cfdata->no_warp_on_direction = e_config->winlist_no_warp_on_direction;
|
||||
cfdata->warp_speed = e_config->winlist_warp_speed;
|
||||
|
||||
cfdata->scroll_animate = e_config->winlist_scroll_animate;
|
||||
|
@ -130,6 +132,7 @@ _basic_apply(E_Config_Dialog *cfd __UNUSED__, E_Config_Dialog_Data *cfdata)
|
|||
DO(list_jump_desk_while_selecting, jump_desk);
|
||||
DO(warp_while_selecting, warp_while_selecting);
|
||||
DO(warp_at_end, warp_at_end);
|
||||
DO(no_warp_on_direction, no_warp_on_direction);
|
||||
DO(warp_speed, warp_speed);
|
||||
DO(scroll_animate, scroll_animate);
|
||||
DO(scroll_speed, scroll_speed);
|
||||
|
@ -163,6 +166,7 @@ _basic_check_changed(E_Config_Dialog *cfd __UNUSED__, E_Config_Dialog_Data *cfda
|
|||
DO(list_jump_desk_while_selecting, jump_desk);
|
||||
DO(warp_while_selecting, warp_while_selecting);
|
||||
DO(warp_at_end, warp_at_end);
|
||||
DO(no_warp_on_direction, no_warp_on_direction);
|
||||
DO(warp_speed, warp_speed);
|
||||
DO(scroll_animate, scroll_animate);
|
||||
DO(scroll_speed, scroll_speed);
|
||||
|
@ -225,6 +229,10 @@ _basic_create(E_Config_Dialog *cfd __UNUSED__, Evas *evas, E_Config_Dialog_Data
|
|||
&(cfdata->warp_at_end));
|
||||
e_widget_on_change_hook_set(ob, _warp_changed, cfdata);
|
||||
e_widget_list_object_append(ol, ob, 1, 0, 0.0);
|
||||
ob = e_widget_check_add(evas, _("Disable mouse warp on directional focus change"),
|
||||
&(cfdata->no_warp_on_direction));
|
||||
e_widget_on_change_hook_set(ob, _warp_changed, cfdata);
|
||||
e_widget_list_object_append(ol, ob, 1, 0, 0.0);
|
||||
ob = e_widget_check_add(evas, _("Jump to desk"), &(cfdata->jump_desk));
|
||||
e_widget_list_object_append(ol, ob, 1, 0, 0.0);
|
||||
e_widget_toolbook_page_append(otb, NULL, _("Selecting"), ol,
|
||||
|
@ -361,7 +369,8 @@ _warp_changed(void *data, Evas_Object *obj __UNUSED__)
|
|||
Evas_Object *o;
|
||||
Eina_Bool disabled;
|
||||
|
||||
disabled = ((!cfdata->warp_while_selecting) && (!cfdata->warp_at_end));
|
||||
disabled = ((!cfdata->warp_while_selecting) && (!cfdata->warp_at_end)
|
||||
&& (!cfdata->no_warp_on_direction));
|
||||
EINA_LIST_FOREACH(cfdata->gui.disable_warp, l, o)
|
||||
e_widget_disabled_set(o, disabled);
|
||||
}
|
||||
|
|
|
@ -341,7 +341,7 @@ e_winlist_hide(void)
|
|||
|
||||
e_object_unref(E_OBJECT(bd));
|
||||
}
|
||||
|
||||
|
||||
e_border_idler_before();
|
||||
|
||||
ecore_x_window_free(_input_window);
|
||||
|
@ -501,14 +501,16 @@ e_winlist_left(E_Zone *zone)
|
|||
|
||||
_old_warp_x = _old_warp_y = INT_MAX;
|
||||
}
|
||||
|
||||
ecore_x_pointer_xy_get(zone->container->win, &_warp_x, &_warp_y);
|
||||
_win = &zone->container->win;
|
||||
_warp_to = 1;
|
||||
if (!_warp_timer)
|
||||
_warp_timer = ecore_timer_add(0.01, _e_winlist_warp_timer, NULL);
|
||||
if (!_animator)
|
||||
_animator = ecore_animator_add(_e_winlist_animator, NULL);
|
||||
if (!e_config->winlist_no_warp_on_direction)
|
||||
{
|
||||
ecore_x_pointer_xy_get(zone->container->win, &_warp_x, &_warp_y);
|
||||
_win = &zone->container->win;
|
||||
_warp_to = 1;
|
||||
if (!_warp_timer)
|
||||
_warp_timer = ecore_timer_add(0.01, _e_winlist_warp_timer, NULL);
|
||||
if (!_animator)
|
||||
_animator = ecore_animator_add(_e_winlist_animator, NULL);
|
||||
}
|
||||
|
||||
if ((!_bd_next->lock_user_stacking) &&
|
||||
(e_config->winlist_list_raise_while_selecting))
|
||||
|
@ -623,14 +625,16 @@ e_winlist_down(E_Zone *zone)
|
|||
|
||||
_old_warp_x = _old_warp_y = INT_MAX;
|
||||
}
|
||||
|
||||
ecore_x_pointer_xy_get(zone->container->win, &_warp_x, &_warp_y);
|
||||
_win = &zone->container->win;
|
||||
_warp_to = 1;
|
||||
if (!_warp_timer)
|
||||
_warp_timer = ecore_timer_add(0.01, _e_winlist_warp_timer, NULL);
|
||||
if (!_animator)
|
||||
_animator = ecore_animator_add(_e_winlist_animator, NULL);
|
||||
if (!e_config->winlist_no_warp_on_direction)
|
||||
{
|
||||
ecore_x_pointer_xy_get(zone->container->win, &_warp_x, &_warp_y);
|
||||
_win = &zone->container->win;
|
||||
_warp_to = 1;
|
||||
if (!_warp_timer)
|
||||
_warp_timer = ecore_timer_add(0.01, _e_winlist_warp_timer, NULL);
|
||||
if (!_animator)
|
||||
_animator = ecore_animator_add(_e_winlist_animator, NULL);
|
||||
}
|
||||
|
||||
if ((!_bd_next->lock_user_stacking) &&
|
||||
(e_config->winlist_list_raise_while_selecting))
|
||||
|
@ -745,14 +749,16 @@ e_winlist_up(E_Zone *zone)
|
|||
|
||||
_old_warp_x = _old_warp_y = INT_MAX;
|
||||
}
|
||||
|
||||
ecore_x_pointer_xy_get(zone->container->win, &_warp_x, &_warp_y);
|
||||
_win = &zone->container->win;
|
||||
_warp_to = 1;
|
||||
if (!_warp_timer)
|
||||
_warp_timer = ecore_timer_add(0.01, _e_winlist_warp_timer, NULL);
|
||||
if (!_animator)
|
||||
_animator = ecore_animator_add(_e_winlist_animator, NULL);
|
||||
if (!e_config->winlist_no_warp_on_direction)
|
||||
{
|
||||
ecore_x_pointer_xy_get(zone->container->win, &_warp_x, &_warp_y);
|
||||
_win = &zone->container->win;
|
||||
_warp_to = 1;
|
||||
if (!_warp_timer)
|
||||
_warp_timer = ecore_timer_add(0.01, _e_winlist_warp_timer, NULL);
|
||||
if (!_animator)
|
||||
_animator = ecore_animator_add(_e_winlist_animator, NULL);
|
||||
}
|
||||
|
||||
if ((!_bd_next->lock_user_stacking) &&
|
||||
(e_config->winlist_list_raise_while_selecting))
|
||||
|
@ -867,14 +873,16 @@ e_winlist_right(E_Zone *zone)
|
|||
|
||||
_old_warp_x = _old_warp_y = INT_MAX;
|
||||
}
|
||||
|
||||
ecore_x_pointer_xy_get(zone->container->win, &_warp_x, &_warp_y);
|
||||
_win = &zone->container->win;
|
||||
_warp_to = 1;
|
||||
if (!_warp_timer)
|
||||
_warp_timer = ecore_timer_add(0.01, _e_winlist_warp_timer, NULL);
|
||||
if (!_animator)
|
||||
_animator = ecore_animator_add(_e_winlist_animator, NULL);
|
||||
if (!e_config->winlist_no_warp_on_direction)
|
||||
{
|
||||
ecore_x_pointer_xy_get(zone->container->win, &_warp_x, &_warp_y);
|
||||
_win = &zone->container->win;
|
||||
_warp_to = 1;
|
||||
if (!_warp_timer)
|
||||
_warp_timer = ecore_timer_add(0.01, _e_winlist_warp_timer, NULL);
|
||||
if (!_animator)
|
||||
_animator = ecore_animator_add(_e_winlist_animator, NULL);
|
||||
}
|
||||
|
||||
if ((!_bd_next->lock_user_stacking) &&
|
||||
(e_config->winlist_list_raise_while_selecting))
|
||||
|
|
|
@ -59,6 +59,7 @@ wizard_page_hide(E_Wizard_Page *pg __UNUSED__)
|
|||
e_config->pointer_slide = 0;
|
||||
e_config->winlist_warp_while_selecting = 0;
|
||||
e_config->winlist_warp_at_end = 0;
|
||||
e_config->winlist_no_warp_on_direction = 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue