We may want to alert the user it appeared though (make it urgent?).
See r70370, fixes #40.
SVN revision: 73856
}
}
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;
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;
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;
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;
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); /**/
tcfg->desklock_background = NULL;
IFCFGEND;
+ IFCFG(0x0152);
+ COPYVAL(window_grouping);
+ IFCFGEND;
+
e_config->config_version = E_CONFIG_FILE_VERSION;
_e_config_free(tcfg);
}
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);
/* 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
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
double border_shade_speed;
int use_app_icon;
int window_placement_policy;
+ int window_grouping;
int desk_auto_switch;
Eina_List *shading_list;
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;
_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;
_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) ||
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));