remove "border_raise_on_focus" config option

buckle up. for the first time in history, a config option is getting removed instead of added.

the reasons for this removal are many, but let's go way back to the beginning and see why it was added:
oh wait, we can't because the commit message (from 2006) is

>>    patches that i said were in - commit. (see my reply emails)

>>    also finish off a TODO item or 2

reading through the TODO items which were also crossed off in that commit, I'm assuming that this was the "option to NOT raise on focus in click to focus" item.

== REASON 1 ==

the problem here is that there's another, BETTER option called "click raises window" (always_click_to_raise) which does the same thing, except it doesn't totally fuck you when you get a random X focus event, which happens more often than you might think.

this means that, to avoid broken behavior which might cause your windows to spastically raise for a few frames in common cases (using winlist...) with click-to-focus, you have to know that this is the default-enabled option that's fucking you, and you have to remember to manually disable it every time. if you DON'T know that this is the option that's fucking you, and you just see windows randomly raising on their own, you'll probably either ignore it or file a bug, when this is supposed to be a "feature" that actually worked in reverse, since it was intended only for disabling.

== REASON 2 ==

there's also auto-raise, which can be set to 0.0s, which is effectively the same thing since it also triggers on focus but can be configured not to fuck your window stack

== REASON 3 ==

aaand finally, this option makes any sort of pointer focus model impossible to use, since your windows will constantly be raising all over as you move the mouse

tl;dr: I'm removing it, e-dealwithit.gif
This commit is contained in:
Mike Blumenkrantz 2013-10-07 06:49:33 +01:00
parent 3c343db349
commit f1a65ee922
12 changed files with 8 additions and 32 deletions

View File

@ -1,3 +1,7 @@
2013-10-07 Mike Blumenkrantz
* removed "raise on focus" config option
2013-10-03 Mike Blumenkrantz 2013-10-03 Mike Blumenkrantz
* Fix filemanager spring window closing when dragging from desktop * Fix filemanager spring window closing when dragging from desktop

1
NEWS
View File

@ -80,6 +80,7 @@ Deprecations:
Removed: Removed:
* e_manager_comp namespace * e_manager_comp namespace
* HAL support for filemanager * HAL support for filemanager
* "raise on focus" config option
Improvements: Improvements:
* mixer shows more channels when using alsa subsystem and correctly disable controls * mixer shows more channels when using alsa subsystem and correctly disable controls

View File

@ -160,7 +160,6 @@ group "E_Config" struct {
value "mouse_accel_denominator" int: 1; value "mouse_accel_denominator" int: 1;
value "mouse_accel_threshold" int: 4; value "mouse_accel_threshold" int: 4;
value "border_raise_on_mouse_action" int: 1; value "border_raise_on_mouse_action" int: 1;
value "border_raise_on_focus" int: 1;
value "desk_flip_wrap" int: 0; value "desk_flip_wrap" int: 0;
value "fullscreen_flip" int: 1; value "fullscreen_flip" int: 1;
value "icon_theme" string: "Tango"; value "icon_theme" string: "Tango";

View File

@ -148,7 +148,6 @@ group "E_Config" struct {
value "mouse_accel_denominator" int: 1; value "mouse_accel_denominator" int: 1;
value "mouse_accel_threshold" int: 4; value "mouse_accel_threshold" int: 4;
value "border_raise_on_mouse_action" int: 1; value "border_raise_on_mouse_action" int: 1;
value "border_raise_on_focus" int: 1;
value "desk_flip_wrap" int: 0; value "desk_flip_wrap" int: 0;
value "fullscreen_flip" int: 1; value "fullscreen_flip" int: 1;
value "icon_theme" string: "Tango"; value "icon_theme" string: "Tango";

View File

@ -149,7 +149,6 @@ group "E_Config" struct {
value "mouse_accel_denominator" int: 1; value "mouse_accel_denominator" int: 1;
value "mouse_accel_threshold" int: 4; value "mouse_accel_threshold" int: 4;
value "border_raise_on_mouse_action" int: 1; value "border_raise_on_mouse_action" int: 1;
value "border_raise_on_focus" int: 0;
value "desk_flip_wrap" int: 0; value "desk_flip_wrap" int: 0;
value "fullscreen_flip" int: 1; value "fullscreen_flip" int: 1;
value "icon_theme" string: "Tango"; value "icon_theme" string: "Tango";

View File

@ -616,7 +616,6 @@ _e_config_edd_init(Eina_Bool old)
E_CONFIG_VAL(D, T, mouse_accel_threshold, INT); E_CONFIG_VAL(D, T, mouse_accel_threshold, INT);
E_CONFIG_VAL(D, T, border_raise_on_mouse_action, INT); E_CONFIG_VAL(D, T, border_raise_on_mouse_action, INT);
E_CONFIG_VAL(D, T, border_raise_on_focus, INT);
E_CONFIG_VAL(D, T, desk_flip_wrap, INT); E_CONFIG_VAL(D, T, desk_flip_wrap, INT);
E_CONFIG_VAL(D, T, fullscreen_flip, INT); E_CONFIG_VAL(D, T, fullscreen_flip, INT);
E_CONFIG_VAL(D, T, multiscreen_flip, INT); E_CONFIG_VAL(D, T, multiscreen_flip, INT);
@ -1325,7 +1324,6 @@ e_config_load(void)
E_CONFIG_LIMIT(e_config->desklock_ask_presentation, 0, 1); E_CONFIG_LIMIT(e_config->desklock_ask_presentation, 0, 1);
E_CONFIG_LIMIT(e_config->desklock_ask_presentation_timeout, 1.0, 300.0); E_CONFIG_LIMIT(e_config->desklock_ask_presentation_timeout, 1.0, 300.0);
E_CONFIG_LIMIT(e_config->border_raise_on_mouse_action, 0, 1); E_CONFIG_LIMIT(e_config->border_raise_on_mouse_action, 0, 1);
E_CONFIG_LIMIT(e_config->border_raise_on_focus, 0, 1);
E_CONFIG_LIMIT(e_config->desk_flip_wrap, 0, 1); E_CONFIG_LIMIT(e_config->desk_flip_wrap, 0, 1);
E_CONFIG_LIMIT(e_config->fullscreen_flip, 0, 1); E_CONFIG_LIMIT(e_config->fullscreen_flip, 0, 1);
E_CONFIG_LIMIT(e_config->icon_theme_overrides, 0, 1); E_CONFIG_LIMIT(e_config->icon_theme_overrides, 0, 1);

View File

@ -257,7 +257,6 @@ struct _E_Config
int mouse_accel_threshold; // GUI int mouse_accel_threshold; // GUI
int border_raise_on_mouse_action; // GUI int border_raise_on_mouse_action; // GUI
int border_raise_on_focus; // GUI
int desk_flip_wrap; // GUI int desk_flip_wrap; // GUI
int fullscreen_flip; // GUI int fullscreen_flip; // GUI
int multiscreen_flip; // GUI int multiscreen_flip; // GUI

View File

@ -1589,7 +1589,6 @@ e_configure_option_init(void)
OPT_ADD(DOUBLE, pointer_warp_speed, _("Speed to move pointer when warping between windows"), _("border"), _("focus"), _("warp"), _("pointer"), _("speed")); OPT_ADD(DOUBLE, pointer_warp_speed, _("Speed to move pointer when warping between windows"), _("border"), _("focus"), _("warp"), _("pointer"), _("speed"));
OPT_MINMAX_STEP_FMT(0.0, 1.0, 0.01, _("%1.2f")); OPT_MINMAX_STEP_FMT(0.0, 1.0, 0.01, _("%1.2f"));
OPT_ADD(BOOL, border_raise_on_mouse_action, _("Windows raise on mouse move/resize"), _("border"), _("raise"), _("focus"), _("mouse"), _("pointer"), _("move"), _("resize")); OPT_ADD(BOOL, border_raise_on_mouse_action, _("Windows raise on mouse move/resize"), _("border"), _("raise"), _("focus"), _("mouse"), _("pointer"), _("move"), _("resize"));
OPT_ADD(BOOL, border_raise_on_focus, _("Windows raise when focused"), _("border"), _("raise"), _("focus"), _("mouse"));
OPT_ADD(DOUBLE_INT, drag_resist, _("Shelf gadget resistance"), _("gadget"), _("resist"), _("drag"), _("shelf")); OPT_ADD(DOUBLE_INT, drag_resist, _("Shelf gadget resistance"), _("gadget"), _("resist"), _("drag"), _("shelf"));
OPT_MINMAX_STEP_FMT(0, 100, 2, _("%2.0f pixels")); OPT_MINMAX_STEP_FMT(0, 100, 2, _("%2.0f pixels"));

View File

@ -39,10 +39,7 @@ e_focus_event_mouse_in(E_Border *bd)
if (e_config->auto_raise_delay == 0.0) if (e_config->auto_raise_delay == 0.0)
{ {
if (!bd->lock_user_stacking) if (!bd->lock_user_stacking)
{ e_border_raise(bd);
if (e_config->border_raise_on_focus)
e_border_raise(bd);
}
} }
else else
bd->raise_timer = ecore_timer_add(e_config->auto_raise_delay, _e_focus_raise_timer, bd); bd->raise_timer = ecore_timer_add(e_config->auto_raise_delay, _e_focus_raise_timer, bd);
@ -99,11 +96,6 @@ e_focus_event_focus_in(E_Border *bd)
e_bindings_wheel_grab(E_BINDING_CONTEXT_WINDOW, bd->win); e_bindings_wheel_grab(E_BINDING_CONTEXT_WINDOW, bd->win);
bd->button_grabbed = 0; bd->button_grabbed = 0;
} }
if (!bd->lock_user_stacking)
{
if (e_config->border_raise_on_focus)
e_border_raise(bd);
}
} }
EAPI void EAPI void

View File

@ -468,12 +468,7 @@ _e_msgbus_window_list_cb(const Eldbus_Service_Interface *iface __UNUSED__,
E_MSGBUS_WIN_ACTION_CB_END E_MSGBUS_WIN_ACTION_CB_END
E_MSGBUS_WIN_ACTION_CB_BEGIN(focus) E_MSGBUS_WIN_ACTION_CB_BEGIN(focus)
e_border_focus_set(bd, 1, 1); e_border_activate(bd, 1);
if (!bd->lock_user_stacking)
{
if (e_config->border_raise_on_focus)
e_border_raise(bd);
}
E_MSGBUS_WIN_ACTION_CB_END E_MSGBUS_WIN_ACTION_CB_END
E_MSGBUS_WIN_ACTION_CB_BEGIN(iconify) E_MSGBUS_WIN_ACTION_CB_BEGIN(iconify)

View File

@ -31,7 +31,6 @@ struct _E_Config_Dialog_Data
double pointer_warp_speed; double pointer_warp_speed;
double auto_raise_delay; double auto_raise_delay;
int border_raise_on_mouse_action; int border_raise_on_mouse_action;
int border_raise_on_focus;
}; };
/* a nice easy setup function that does the dirty work */ /* a nice easy setup function that does the dirty work */
@ -85,7 +84,6 @@ _fill_data(E_Config_Dialog_Data *cfdata)
cfdata->auto_raise_delay = e_config->auto_raise_delay; cfdata->auto_raise_delay = e_config->auto_raise_delay;
cfdata->border_raise_on_mouse_action = cfdata->border_raise_on_mouse_action =
e_config->border_raise_on_mouse_action; e_config->border_raise_on_mouse_action;
cfdata->border_raise_on_focus = e_config->border_raise_on_focus;
} }
static void * static void *
@ -188,7 +186,6 @@ _advanced_apply(E_Config_Dialog *cfd __UNUSED__, E_Config_Dialog_Data *cfdata)
e_config->use_auto_raise = cfdata->use_auto_raise; e_config->use_auto_raise = cfdata->use_auto_raise;
e_config->auto_raise_delay = cfdata->auto_raise_delay; e_config->auto_raise_delay = cfdata->auto_raise_delay;
e_config->border_raise_on_mouse_action = cfdata->border_raise_on_mouse_action; e_config->border_raise_on_mouse_action = cfdata->border_raise_on_mouse_action;
e_config->border_raise_on_focus = cfdata->border_raise_on_focus;
e_border_button_bindings_grab_all(); e_border_button_bindings_grab_all();
e_config_save_queue(); e_config_save_queue();
return 1; /* Apply was OK */ return 1; /* Apply was OK */
@ -210,8 +207,7 @@ _advanced_check_changed(E_Config_Dialog *cfd __UNUSED__, E_Config_Dialog_Data *c
(fabs(e_config->pointer_warp_speed - cfdata->pointer_warp_speed) < DBL_EPSILON) || (fabs(e_config->pointer_warp_speed - cfdata->pointer_warp_speed) < DBL_EPSILON) ||
(e_config->use_auto_raise != cfdata->use_auto_raise) || (e_config->use_auto_raise != cfdata->use_auto_raise) ||
(e_config->auto_raise_delay != cfdata->auto_raise_delay) || (e_config->auto_raise_delay != cfdata->auto_raise_delay) ||
(e_config->border_raise_on_mouse_action != cfdata->border_raise_on_mouse_action) || (e_config->border_raise_on_mouse_action != cfdata->border_raise_on_mouse_action);
(e_config->border_raise_on_focus != cfdata->border_raise_on_focus);
} }
/**--GUI--**/ /**--GUI--**/
@ -295,9 +291,6 @@ _advanced_create(E_Config_Dialog *cfd __UNUSED__, Evas *evas, E_Config_Dialog_Da
ob = e_widget_check_add(evas, _("Raise when starting to move or resize"), ob = e_widget_check_add(evas, _("Raise when starting to move or resize"),
&(cfdata->border_raise_on_mouse_action)); &(cfdata->border_raise_on_mouse_action));
e_widget_framelist_object_append(of, ob); e_widget_framelist_object_append(of, ob);
ob = e_widget_check_add(evas, _("Raise when focusing"),
&(cfdata->border_raise_on_focus));
e_widget_framelist_object_append(of, ob);
e_widget_list_object_append(ol, of, 1, 0, 0.5); e_widget_list_object_append(ol, of, 1, 0, 0.5);
e_widget_toolbook_page_append(otb, NULL, _("Stacking"), ol, e_widget_toolbook_page_append(otb, NULL, _("Stacking"), ol,
1, 0, 1, 0, 0.5, 0.0); 1, 0, 1, 0, 0.5, 0.0);

View File

@ -61,7 +61,6 @@ wizard_page_hide(E_Wizard_Page *pg __UNUSED__)
e_config->winlist_warp_while_selecting = 0; e_config->winlist_warp_while_selecting = 0;
e_config->winlist_warp_at_end = 0; e_config->winlist_warp_at_end = 0;
e_config->winlist_no_warp_on_direction = 1; e_config->winlist_no_warp_on_direction = 1;
e_config->border_raise_on_focus = 1;
} }
else else
{ {
@ -72,7 +71,6 @@ wizard_page_hide(E_Wizard_Page *pg __UNUSED__)
e_config->always_click_to_focus = 0; e_config->always_click_to_focus = 0;
e_config->focus_last_focused_per_desktop = 1; e_config->focus_last_focused_per_desktop = 1;
e_config->pointer_slide = 1; e_config->pointer_slide = 1;
e_config->border_raise_on_focus = 0;
e_config->use_auto_raise = 1; e_config->use_auto_raise = 1;
e_config->auto_raise_delay = 0.5; e_config->auto_raise_delay = 0.5;
} }