forked from enlightenment/enlightenment
e: add a configuration value to group new windows with others from the same app.
We may want to alert the user it appeared though (make it urgent?). See r70370, fixes #40. SVN revision: 73856
This commit is contained in:
parent
75d902e518
commit
d4b871bafd
|
@ -343,6 +343,7 @@ group "E_Config" struct {
|
|||
}
|
||||
}
|
||||
value "window_placement_policy" int: 0;
|
||||
value "window_grouping" int: 0;
|
||||
value "focus_policy" int: 0;
|
||||
value "focus_setting" int: 1;
|
||||
value "pass_click_on" int: 1;
|
||||
|
|
|
@ -22,6 +22,7 @@ group "E_Config" struct {
|
|||
value "use_composite" int: 0;
|
||||
value "language" string: "en_US.UTF-8";
|
||||
value "window_placement_policy" int: 0;
|
||||
value "window_grouping" int: 0;
|
||||
value "focus_policy" int: 0;
|
||||
value "focus_setting" int: 1;
|
||||
value "pass_click_on" int: 1;
|
||||
|
|
|
@ -22,6 +22,7 @@ group "E_Config" struct {
|
|||
value "use_composite" int: 0;
|
||||
value "language" string: "en_US.UTF-8";
|
||||
value "window_placement_policy" int: 0;
|
||||
value "window_grouping" int: 0;
|
||||
value "focus_policy" int: 2;
|
||||
value "focus_setting" int: 3;
|
||||
value "pass_click_on" int: 1;
|
||||
|
|
|
@ -7345,7 +7345,7 @@ _e_border_eval0(E_Border *bd)
|
|||
if (desk) e_border_desk_set(bd, desk);
|
||||
}
|
||||
|
||||
if (0) // keep all windows of one app/group on the same screen/desk
|
||||
if (e_config->window_grouping) // FIXME: We may want to make the border "urgent" so that the user knows it appeared.
|
||||
{
|
||||
E_Border *bdl = NULL;
|
||||
|
||||
|
|
|
@ -672,6 +672,7 @@ e_config_init(void)
|
|||
E_CONFIG_LIST(D, T, path_append_modules, _e_config_path_append_edd); /**/
|
||||
E_CONFIG_LIST(D, T, path_append_backgrounds, _e_config_path_append_edd); /**/
|
||||
E_CONFIG_VAL(D, T, window_placement_policy, INT); /**/
|
||||
E_CONFIG_VAL(D, T, window_grouping, INT); /**/
|
||||
E_CONFIG_VAL(D, T, focus_policy, INT); /**/
|
||||
E_CONFIG_VAL(D, T, focus_setting, INT); /**/
|
||||
E_CONFIG_VAL(D, T, pass_click_on, INT); /**/
|
||||
|
@ -1225,6 +1226,10 @@ e_config_load(void)
|
|||
tcfg->desklock_background = NULL;
|
||||
IFCFGEND;
|
||||
|
||||
IFCFG(0x0152);
|
||||
COPYVAL(window_grouping);
|
||||
IFCFGEND;
|
||||
|
||||
e_config->config_version = E_CONFIG_FILE_VERSION;
|
||||
_e_config_free(tcfg);
|
||||
}
|
||||
|
@ -1249,6 +1254,7 @@ e_config_load(void)
|
|||
E_CONFIG_LIMIT(e_config->show_desktop_icons, 0, 1);
|
||||
E_CONFIG_LIMIT(e_config->edge_flip_dragging, 0, 1);
|
||||
E_CONFIG_LIMIT(e_config->window_placement_policy, E_WINDOW_PLACEMENT_SMART, E_WINDOW_PLACEMENT_MANUAL);
|
||||
E_CONFIG_LIMIT(e_config->window_grouping, 0, 1);
|
||||
E_CONFIG_LIMIT(e_config->focus_policy, 0, 2);
|
||||
E_CONFIG_LIMIT(e_config->focus_setting, 0, 3);
|
||||
E_CONFIG_LIMIT(e_config->pass_click_on, 0, 1);
|
||||
|
|
|
@ -37,7 +37,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 0x0151
|
||||
#define E_CONFIG_FILE_GENERATION 0x0152
|
||||
#define E_CONFIG_FILE_VERSION ((E_CONFIG_FILE_EPOCH << 16) | E_CONFIG_FILE_GENERATION)
|
||||
|
||||
struct _E_Config
|
||||
|
@ -87,6 +87,7 @@ struct _E_Config
|
|||
Eina_List *path_append_backgrounds; // GUI
|
||||
Eina_List *path_append_messages; // GUI
|
||||
int window_placement_policy; // GUI
|
||||
int window_grouping; // GUI
|
||||
int focus_policy; // GUI
|
||||
int focus_setting; // GUI
|
||||
int pass_click_on; // GUI
|
||||
|
|
|
@ -19,6 +19,7 @@ struct _E_Config_Dialog_Data
|
|||
double border_shade_speed;
|
||||
int use_app_icon;
|
||||
int window_placement_policy;
|
||||
int window_grouping;
|
||||
int desk_auto_switch;
|
||||
|
||||
Eina_List *shading_list;
|
||||
|
@ -63,6 +64,7 @@ _create_data(E_Config_Dialog *cfd __UNUSED__)
|
|||
|
||||
cfdata->window_placement_policy =
|
||||
e_config->window_placement_policy;
|
||||
cfdata->window_grouping = e_config->window_grouping;
|
||||
cfdata->desk_auto_switch = e_config->desk_auto_switch;
|
||||
|
||||
cfdata->border_shade_animate = e_config->border_shade_animate;
|
||||
|
@ -83,6 +85,7 @@ static int
|
|||
_basic_apply(E_Config_Dialog *cfd __UNUSED__, E_Config_Dialog_Data *cfdata)
|
||||
{
|
||||
e_config->window_placement_policy = cfdata->window_placement_policy;
|
||||
e_config->window_grouping = cfdata->window_grouping;
|
||||
e_config->move_info_visible = cfdata->move_info_visible;
|
||||
e_config->move_info_follows = cfdata->move_info_follows;
|
||||
e_config->resize_info_visible = cfdata->resize_info_visible;
|
||||
|
@ -101,6 +104,7 @@ static int
|
|||
_basic_check_changed(E_Config_Dialog *cfd __UNUSED__, E_Config_Dialog_Data *cfdata)
|
||||
{
|
||||
return ((e_config->window_placement_policy != cfdata->window_placement_policy) ||
|
||||
(e_config->window_grouping != cfdata->window_grouping) ||
|
||||
(e_config->move_info_visible != cfdata->move_info_visible) ||
|
||||
(e_config->move_info_follows != cfdata->move_info_follows) ||
|
||||
(e_config->resize_info_visible != cfdata->resize_info_visible) ||
|
||||
|
@ -170,6 +174,9 @@ _basic_create(E_Config_Dialog *cfd __UNUSED__, Evas *evas, E_Config_Dialog_Data
|
|||
ow = e_widget_radio_add(evas, _("Place manually with the mouse"),
|
||||
E_WINDOW_PLACEMENT_MANUAL, rg);
|
||||
e_widget_framelist_object_append(of, ow);
|
||||
ow = e_widget_check_add(evas, _("Group with windows of the same application"),
|
||||
&(cfdata->window_grouping));
|
||||
e_widget_framelist_object_append(of, ow);
|
||||
e_widget_list_object_append(ol, of, 1, 1, 0.5);
|
||||
ow = e_widget_check_add(evas, _("Switch to desktop of new window"),
|
||||
&(cfdata->desk_auto_switch));
|
||||
|
|
Loading…
Reference in New Issue