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
This commit is contained in:
Carsten Haitzler 2018-04-01 14:29:38 +09:00
parent cc17ff17e6
commit ab88e01afa
9 changed files with 37 additions and 17 deletions

View File

@ -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";

View File

@ -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";

View File

@ -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;
}
}

View File

@ -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";

View File

@ -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;
}
}

View File

@ -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";

View File

@ -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;
}
}

View File

@ -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)

View File

@ -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!!!!!