forked from enlightenment/enlightenment
add edge binding config option to enable edge bindings on multihead
ticket #906 SVN revision: 73262
This commit is contained in:
parent
86274c429b
commit
ba64e79b7c
|
@ -803,6 +803,7 @@ e_config_init(void)
|
|||
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);
|
||||
|
||||
E_CONFIG_VAL(D, T, icon_theme, STR);
|
||||
E_CONFIG_VAL(D, T, icon_theme_overrides, UCHAR);
|
||||
|
|
|
@ -36,7 +36,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 0x0149
|
||||
#define E_CONFIG_FILE_GENERATION 0x0150
|
||||
#define E_CONFIG_FILE_VERSION ((E_CONFIG_FILE_EPOCH << 16) | E_CONFIG_FILE_GENERATION)
|
||||
|
||||
struct _E_Config
|
||||
|
@ -230,6 +230,7 @@ struct _E_Config
|
|||
int border_raise_on_focus; // GUI
|
||||
int desk_flip_wrap; // GUI
|
||||
int fullscreen_flip; // GUI
|
||||
int multiscreen_flip; // GUI
|
||||
|
||||
const char *icon_theme; // GUI
|
||||
unsigned char icon_theme_overrides; // GUI
|
||||
|
|
|
@ -992,10 +992,10 @@ e_zone_edge_new(E_Zone_Edge edge)
|
|||
E_Zone *zone;
|
||||
int cw, ch;
|
||||
|
||||
// explicitly disallow edge bindings when we have more than 1 root
|
||||
// configurably disallow edge bindings when we have more than 1 root
|
||||
// window (ie pure old multihead) since we don't know which direction
|
||||
// other root windows are in
|
||||
if (eina_list_count(e_manager_list()) > 1) return;
|
||||
if ((!e_config->multiscreen_flip) && (eina_list_count(e_manager_list()) > 1)) return;
|
||||
EINA_LIST_FOREACH(e_manager_list(), l, man)
|
||||
{
|
||||
EINA_LIST_FOREACH(man->containers, ll, con)
|
||||
|
|
|
@ -81,6 +81,7 @@ struct _E_Config_Dialog_Data
|
|||
const char *params;
|
||||
|
||||
int fullscreen_flip;
|
||||
int multiscreen_flip;
|
||||
|
||||
E_Config_Dialog *cfd;
|
||||
};
|
||||
|
@ -144,6 +145,7 @@ _fill_data(E_Config_Dialog_Data *cfdata)
|
|||
}
|
||||
|
||||
cfdata->fullscreen_flip = e_config->fullscreen_flip;
|
||||
cfdata->multiscreen_flip = e_config->multiscreen_flip;
|
||||
}
|
||||
|
||||
static void *
|
||||
|
@ -200,6 +202,7 @@ _basic_apply_data(E_Config_Dialog *cfd __UNUSED__, E_Config_Dialog_Data *cfdata)
|
|||
E_FREE(bi);
|
||||
}
|
||||
|
||||
e_config->multiscreen_flip = cfdata->multiscreen_flip;
|
||||
EINA_LIST_FOREACH(cfdata->binding.edge, l, bi2)
|
||||
{
|
||||
bi = E_NEW(E_Config_Binding_Edge, 1);
|
||||
|
@ -296,6 +299,8 @@ _basic_create_widgets(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cf
|
|||
of = e_widget_framelist_add(evas, _("General Options"), 0);
|
||||
ob = e_widget_check_add(evas, _("Allow binding activation with fullscreen windows"), &(cfdata->fullscreen_flip));
|
||||
e_widget_framelist_object_append(of, ob);
|
||||
ob = e_widget_check_add(evas, _("Allow binding activation with multiple screens (DANGEROUS!)"), &(cfdata->multiscreen_flip));
|
||||
e_widget_framelist_object_append(of, ob);
|
||||
e_widget_list_object_append(o, of, 1, 0, 0.5);
|
||||
|
||||
_update_edge_binding_list(cfdata);
|
||||
|
|
Loading…
Reference in New Issue