remove "border_raise_on_focus" config option
authorMike Blumenkrantz <m.blumenkran@samsung.com>
Mon, 7 Oct 2013 05:49:33 +0000 (06:49 +0100)
committerMike Blumenkrantz <m.blumenkran@samsung.com>
Mon, 7 Oct 2013 05:49:33 +0000 (06:49 +0100)
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

12 files changed:
ChangeLog
NEWS
config/default/e.src
config/mobile/e.src
config/standard/e.src
src/bin/e_config.c
src/bin/e_config.h
src/bin/e_configure_option.c
src/bin/e_focus.c
src/bin/e_msgbus.c
src/modules/conf_window_manipulation/e_int_config_focus.c
src/modules/wizard/page_060.c

index 3815b9bdd933892abf6d5e7a81d0be6d1e5e684e..86c6cff430c9d7b5040ee968e7b4e6596f623c9b 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2013-10-07 Mike Blumenkrantz
+
+        * removed "raise on focus" config option
+
 2013-10-03 Mike Blumenkrantz
 
         * Fix filemanager spring window closing when dragging from desktop
diff --git a/NEWS b/NEWS
index ea07223c863d8a2758ea9b92ca314c57b59669bb..dcb8ec5090292442a6afd935b178a2c450135fc3 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -80,6 +80,7 @@ Deprecations:
 Removed:
     * e_manager_comp namespace
     * HAL support for filemanager
+    * "raise on focus" config option
 
 Improvements:
     * mixer shows more channels when using alsa subsystem and correctly disable controls
index 43c91ec2afaf25b4952408cb912fcbbd7231b782..458f643c1a89022219197d23c644b4efa7803b68 100644 (file)
@@ -160,7 +160,6 @@ group "E_Config" struct {
   value "mouse_accel_denominator" int: 1;
   value "mouse_accel_threshold" int: 4;
   value "border_raise_on_mouse_action" int: 1;
-  value "border_raise_on_focus" int: 1;
   value "desk_flip_wrap" int: 0;
   value "fullscreen_flip" int: 1;
   value "icon_theme" string: "Tango";
index ff0302487245e576a7f578f5ee7779866f27a3ee..a60c517058868930d0e19c2fbf71282d5055992c 100644 (file)
@@ -148,7 +148,6 @@ group "E_Config" struct {
     value "mouse_accel_denominator" int: 1;
     value "mouse_accel_threshold" int: 4;
     value "border_raise_on_mouse_action" int: 1;
-    value "border_raise_on_focus" int: 1;
     value "desk_flip_wrap" int: 0;
     value "fullscreen_flip" int: 1;
     value "icon_theme" string: "Tango";
index f6d6e38fd1e940a73bfdef61b50c33b9480f755d..d834c8a28eab65c7017282b7cb38e7f3149e4b62 100644 (file)
@@ -149,7 +149,6 @@ group "E_Config" struct {
     value "mouse_accel_denominator" int: 1;
     value "mouse_accel_threshold" int: 4;
     value "border_raise_on_mouse_action" int: 1;
-    value "border_raise_on_focus" int: 0;
     value "desk_flip_wrap" int: 0;
     value "fullscreen_flip" int: 1;
     value "icon_theme" string: "Tango";
index 90c6290636107d975a16518d9cd4b4a69d542241..e08fe03ffa8e655a9e1bbef09378c525389df451 100644 (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, 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, fullscreen_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_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_focus, 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->icon_theme_overrides, 0, 1);
index 562bfa038e3fc60cc4a2157b1e9a63953e94ba1f..b339be4b819975c699d55bad426694393d825abb 100644 (file)
@@ -257,7 +257,6 @@ struct _E_Config
    int                       mouse_accel_threshold; // GUI
 
    int                       border_raise_on_mouse_action; // GUI
-   int                       border_raise_on_focus; // GUI
    int                       desk_flip_wrap; // GUI
    int                       fullscreen_flip; // GUI
    int                       multiscreen_flip; // GUI
index 12ff6300233f7d0fa0bcf02793a55e13f952eeb6..c65c15dc6cef92497df00d25c02f41fb51ed8efb 100644 (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_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_focus, _("Windows raise when focused"), _("border"), _("raise"), _("focus"), _("mouse"));
 
    OPT_ADD(DOUBLE_INT, drag_resist, _("Shelf gadget resistance"), _("gadget"), _("resist"), _("drag"), _("shelf"));
    OPT_MINMAX_STEP_FMT(0, 100, 2, _("%2.0f pixels"));
index c04c738c0355cb2c06f4373404cf219955ce9038..24cc3e9d5b0cd82f9488309ec270ef4d23e45c25 100644 (file)
@@ -39,10 +39,7 @@ e_focus_event_mouse_in(E_Border *bd)
         if (e_config->auto_raise_delay == 0.0)
           {
              if (!bd->lock_user_stacking)
-               {
-                  if (e_config->border_raise_on_focus)
-                    e_border_raise(bd);
-               }
+               e_border_raise(bd);
           }
         else
           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);
         bd->button_grabbed = 0;
      }
-   if (!bd->lock_user_stacking)
-     {
-        if (e_config->border_raise_on_focus)
-          e_border_raise(bd);
-     }
 }
 
 EAPI void
index 722724a44208915b599278753509f3c574c43eb6..47402ec6a0cb243b825ef7c3d3a8b9bff5923e53 100644 (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_BEGIN(focus)
- e_border_focus_set(bd, 1, 1);
- if (!bd->lock_user_stacking)
-   {
-      if (e_config->border_raise_on_focus)
-        e_border_raise(bd);
-   }
+ e_border_activate(bd, 1);
  E_MSGBUS_WIN_ACTION_CB_END
 
   E_MSGBUS_WIN_ACTION_CB_BEGIN(iconify)
index fe448d38a37c51295ef7e72f29d6a9d9b1e8a5cf..0a07209b23ea3d60c6b71228295db9f104b3759f 100644 (file)
@@ -31,7 +31,6 @@ struct _E_Config_Dialog_Data
    double pointer_warp_speed;
    double auto_raise_delay;
    int    border_raise_on_mouse_action;
-   int    border_raise_on_focus;
 };
 
 /* 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->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 *
@@ -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->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_focus = cfdata->border_raise_on_focus;
    e_border_button_bindings_grab_all();
    e_config_save_queue();
    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) ||
           (e_config->use_auto_raise != cfdata->use_auto_raise) ||
           (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_focus != cfdata->border_raise_on_focus);
+          (e_config->border_raise_on_mouse_action != cfdata->border_raise_on_mouse_action);
 }
 
 /**--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"),
                            &(cfdata->border_raise_on_mouse_action));
    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_toolbook_page_append(otb, NULL, _("Stacking"), ol,
                                  1, 0, 1, 0, 0.5, 0.0);
index 524992e8bc9006ee5eef22411680d94f0826815f..6580d28a823a57078f1ec66b40488af07a4b259f 100644 (file)
@@ -61,7 +61,6 @@ wizard_page_hide(E_Wizard_Page *pg __UNUSED__)
         e_config->winlist_warp_while_selecting = 0;
         e_config->winlist_warp_at_end = 0;
         e_config->winlist_no_warp_on_direction = 1;
-        e_config->border_raise_on_focus = 1;
      }
    else
      {
@@ -72,7 +71,6 @@ wizard_page_hide(E_Wizard_Page *pg __UNUSED__)
         e_config->always_click_to_focus = 0;
         e_config->focus_last_focused_per_desktop = 1;
         e_config->pointer_slide = 1;
-        e_config->border_raise_on_focus = 0;
         e_config->use_auto_raise = 1;
         e_config->auto_raise_delay = 0.5;
      }