raster pushed a commit to branch master.

http://git.enlightenment.org/core/enlightenment.git/commit/?id=ab88e01afad6da37479d2674fd69b0db9e05e5a4

commit ab88e01afad6da37479d2674fd69b0db9e05e5a4
Author: Carsten Haitzler (Rasterman) <[email protected]>
Date:   Sun Apr 1 14:29:38 2018 +0900

    edge flip while dragging with alt - fix to work again
    
    this fixes when you drag a wqindow to screen edge and it flips if you
    use alt+drag as opposed to just dragging titlebar around without alt.
    it fixes it by updating your config to allow "any modifier" for edge
    flips which is actually correct.
    
    @fix
---
 config/default/e.src           |  2 +-
 config/mobile/e.src            |  2 +-
 config/mobile/e_bindings.src   |  8 ++++----
 config/standard/e.src          |  2 +-
 config/standard/e_bindings.src |  8 ++++----
 config/tiling/e.src            |  2 +-
 config/tiling/e_bindings.src   |  8 ++++----
 src/bin/e_config.c             | 20 ++++++++++++++++++++
 src/bin/e_config.h             |  2 +-
 9 files changed, 37 insertions(+), 17 deletions(-)

diff --git a/config/default/e.src b/config/default/e.src
index 6c601c5d3..4a64f0394 100644
--- a/config/default/e.src
+++ b/config/default/e.src
@@ -1,5 +1,5 @@
 group "E_Config" struct {
-  value "config_version" int: 1000014;
+  value "config_version" int: 1000025;
   value "config_type" uint: 0; // this profile seems to just be super 
minimalist
   value "show_splash" int: 0;
   value "desktop_default_name" string: "%i-%i";
diff --git a/config/mobile/e.src b/config/mobile/e.src
index d5039a4b1..f0c706c8c 100644
--- a/config/mobile/e.src
+++ b/config/mobile/e.src
@@ -1,5 +1,5 @@
 group "E_Config" struct {
-    value "config_version" int: 1000014;
+    value "config_version" int: 1000025;
     value "config_type" uint: 1;
     value "show_splash" int: 1;
     value "desktop_default_name" string: "%i-%i";
diff --git a/config/mobile/e_bindings.src b/config/mobile/e_bindings.src
index 2580381c0..77e165605 100644
--- a/config/mobile/e_bindings.src
+++ b/config/mobile/e_bindings.src
@@ -545,7 +545,7 @@ group "E_Config_Bindings" struct {
             value "modifiers" int: 0;
             value "action" string: "desk_flip_in_direction";
             value "edge" uchar: 1;
-            value "any_mod" uchar: 0;
+            value "any_mod" uchar: 1;
             value "delay" float: 0.3000000119209289550781250;
         }
         group "E_Config_Binding_Edge" struct {
@@ -553,7 +553,7 @@ group "E_Config_Bindings" struct {
             value "modifiers" int: 0;
             value "action" string: "desk_flip_in_direction";
             value "edge" uchar: 2;
-            value "any_mod" uchar: 0;
+            value "any_mod" uchar: 1;
             value "delay" float: 0.3000000119209289550781250;
         }
         group "E_Config_Binding_Edge" struct {
@@ -561,7 +561,7 @@ group "E_Config_Bindings" struct {
             value "modifiers" int: 0;
             value "action" string: "desk_flip_in_direction";
             value "edge" uchar: 3;
-            value "any_mod" uchar: 0;
+            value "any_mod" uchar: 1;
             value "delay" float: 0.3000000119209289550781250;
         }
         group "E_Config_Binding_Edge" struct {
@@ -569,7 +569,7 @@ group "E_Config_Bindings" struct {
             value "modifiers" int: 0;
             value "action" string: "desk_flip_in_direction";
             value "edge" uchar: 4;
-            value "any_mod" uchar: 0;
+            value "any_mod" uchar: 1;
             value "delay" float: 0.3000000119209289550781250;
         }
     }
diff --git a/config/standard/e.src b/config/standard/e.src
index f43f1933a..cd7e696ba 100644
--- a/config/standard/e.src
+++ b/config/standard/e.src
@@ -1,5 +1,5 @@
 group "E_Config" struct {
-    value "config_version" int: 1000014;
+    value "config_version" int: 1000025;
     value "config_type" uint: 3;
     value "show_splash" int: 1;
     value "desktop_default_name" string: "%i-%i";
diff --git a/config/standard/e_bindings.src b/config/standard/e_bindings.src
index 4d7d7fb6d..5719d8558 100644
--- a/config/standard/e_bindings.src
+++ b/config/standard/e_bindings.src
@@ -433,7 +433,7 @@ group "E_Config_Bindings" struct {
             value "modifiers" int: 0;
             value "action" string: "desk_flip_in_direction";
             value "edge" uchar: 1;
-            value "any_mod" uchar: 0;
+            value "any_mod" uchar: 1;
             value "delay" float: 0.3000000119209289550781250;
         }
         group "E_Config_Binding_Edge" struct {
@@ -441,7 +441,7 @@ group "E_Config_Bindings" struct {
             value "modifiers" int: 0;
             value "action" string: "desk_flip_in_direction";
             value "edge" uchar: 2;
-            value "any_mod" uchar: 0;
+            value "any_mod" uchar: 1;
             value "delay" float: 0.3000000119209289550781250;
         }
         group "E_Config_Binding_Edge" struct {
@@ -449,7 +449,7 @@ group "E_Config_Bindings" struct {
             value "modifiers" int: 0;
             value "action" string: "desk_flip_in_direction";
             value "edge" uchar: 3;
-            value "any_mod" uchar: 0;
+            value "any_mod" uchar: 1;
             value "delay" float: 0.3000000119209289550781250;
         }
         group "E_Config_Binding_Edge" struct {
@@ -457,7 +457,7 @@ group "E_Config_Bindings" struct {
             value "modifiers" int: 0;
             value "action" string: "desk_flip_in_direction";
             value "edge" uchar: 4;
-            value "any_mod" uchar: 0;
+            value "any_mod" uchar: 1;
             value "delay" float: 0.3000000119209289550781250;
         }
     }
diff --git a/config/tiling/e.src b/config/tiling/e.src
index eff658c80..9fe89bdb9 100644
--- a/config/tiling/e.src
+++ b/config/tiling/e.src
@@ -1,5 +1,5 @@
 group "E_Config" struct {
-    value "config_version" int: 1000014;
+    value "config_version" int: 1000025;
     value "config_type" uint: 3;
     value "show_splash" int: 1;
     value "desktop_default_name" string: "%i-%i";
diff --git a/config/tiling/e_bindings.src b/config/tiling/e_bindings.src
index fcdd098d0..f20327e93 100644
--- a/config/tiling/e_bindings.src
+++ b/config/tiling/e_bindings.src
@@ -433,7 +433,7 @@ group "E_Config_Bindings" struct {
             value "modifiers" int: 0;
             value "action" string: "desk_flip_in_direction";
             value "edge" uchar: 1;
-            value "any_mod" uchar: 0;
+            value "any_mod" uchar: 1;
             value "delay" float: 0.3000000119209289550781250;
         }
         group "E_Config_Binding_Edge" struct {
@@ -441,7 +441,7 @@ group "E_Config_Bindings" struct {
             value "modifiers" int: 0;
             value "action" string: "desk_flip_in_direction";
             value "edge" uchar: 2;
-            value "any_mod" uchar: 0;
+            value "any_mod" uchar: 1;
             value "delay" float: 0.3000000119209289550781250;
         }
         group "E_Config_Binding_Edge" struct {
@@ -449,7 +449,7 @@ group "E_Config_Bindings" struct {
             value "modifiers" int: 0;
             value "action" string: "desk_flip_in_direction";
             value "edge" uchar: 3;
-            value "any_mod" uchar: 0;
+            value "any_mod" uchar: 1;
             value "delay" float: 0.3000000119209289550781250;
         }
         group "E_Config_Binding_Edge" struct {
@@ -457,7 +457,7 @@ group "E_Config_Bindings" struct {
             value "modifiers" int: 0;
             value "action" string: "desk_flip_in_direction";
             value "edge" uchar: 4;
-            value "any_mod" uchar: 0;
+            value "any_mod" uchar: 1;
             value "delay" float: 0.3000000119209289550781250;
         }
     }
diff --git a/src/bin/e_config.c b/src/bin/e_config.c
index 5b7d9ddb0..1feb31bbc 100644
--- a/src/bin/e_config.c
+++ b/src/bin/e_config.c
@@ -1505,6 +1505,26 @@ e_config_load(void)
                if (!elm_config_profile_exists(_e_config_profile))
                  elm_config_profile_save(_e_config_profile);
             }
+          CONFIG_VERSION_CHECK(25)
+            {
+               Eina_List *l;
+               E_Config_Binding_Edge *ebe;
+
+               EINA_LIST_FOREACH(e_bindings->edge_bindings, l, ebe)
+                 {
+                    if ((ebe->context == E_BINDING_CONTEXT_ZONE) &&
+                        (ebe->modifiers == 0) &&
+                        (ebe->edge >= 1) && (ebe->edge <= 4) &&
+                        (!ebe->any_mod) &&
+                        (ebe->action) &&
+                        (!strcmp(ebe->action, "desk_flip_in_direction")))
+                      {
+                         ebe->any_mod = 1;
+                      }
+                 }
+               CONFIG_VERSION_UPDATE_INFO(25);
+               e_config_save_queue();
+            }
      }
    elm_config_profile_set(_e_config_profile);
    if (!e_config->remember_internal_fm_windows)
diff --git a/src/bin/e_config.h b/src/bin/e_config.h
index 3ed61b004..a4af30c5c 100644
--- a/src/bin/e_config.h
+++ b/src/bin/e_config.h
@@ -46,7 +46,7 @@ typedef enum
 /* 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 24
+#define E_CONFIG_FILE_GENERATION 25
 #define E_CONFIG_FILE_VERSION    ((E_CONFIG_FILE_EPOCH * 1000000) + 
E_CONFIG_FILE_GENERATION)
 
 #define E_CONFIG_BINDINGS_VERSION 0 // DO NOT INCREMENT UNLESS YOU WANT TO 
WIPE ALL BINDINGS!!!!!

-- 


Reply via email to