new user-requested option for moving the winlist-selected window to the current desk

This commit is contained in:
Mike Blumenkrantz 2013-05-30 14:23:13 +01:00
parent 952f0275a8
commit 9a615c1438
6 changed files with 19 additions and 2 deletions

View File

@ -1,6 +1,7 @@
2013-05-29 Mike Blumenkrantz
* added e_border_inset utility functions
* new winlist config option for moving selected window to current desk
2013-05-29 Mike Blumenkrantz

1
NEWS
View File

@ -53,6 +53,7 @@ Additions:
* Added support for systemd user session
* Added support for systemd hibernate and suspend
* added support for systemd halt and poweroff
* new winlist config option for moving selected window to current desk
Changes:
Modules:

View File

@ -505,6 +505,7 @@ _e_config_edd_init(Eina_Bool old)
E_CONFIG_VAL(D, T, winlist_list_jump_desk_while_selecting, INT); /**/
E_CONFIG_VAL(D, T, winlist_list_focus_while_selecting, INT); /**/
E_CONFIG_VAL(D, T, winlist_list_raise_while_selecting, INT); /**/
E_CONFIG_VAL(D, T, winlist_list_move_after_select, INT); /**/
E_CONFIG_VAL(D, T, winlist_pos_align_x, DOUBLE); /**/
E_CONFIG_VAL(D, T, winlist_pos_align_y, DOUBLE); /**/
E_CONFIG_VAL(D, T, winlist_pos_size_w, DOUBLE); /**/

View File

@ -140,6 +140,7 @@ struct _E_Config
int winlist_list_jump_desk_while_selecting; // GUI
int winlist_list_focus_while_selecting; // GUI
int winlist_list_raise_while_selecting; // GUI
int winlist_list_move_after_select; // GUI
double winlist_pos_align_x; // GUI
double winlist_pos_align_y; // GUI
double winlist_pos_size_w; // GUI

View File

@ -21,6 +21,7 @@ struct _E_Config_Dialog_Data
int warp_at_end;
int no_warp_on_direction;
int jump_desk;
int move_after_select;
int scroll_animate;
double scroll_speed;
@ -62,6 +63,7 @@ _fill_data(E_Config_Dialog_Data *cfdata)
cfdata->raise = e_config->winlist_list_raise_while_selecting;
cfdata->uncover = e_config->winlist_list_uncover_while_selecting;
cfdata->jump_desk = e_config->winlist_list_jump_desk_while_selecting;
cfdata->move_after_select = e_config->winlist_list_move_after_select;
cfdata->windows_other_desks =
e_config->winlist_list_show_other_desk_windows;
@ -119,6 +121,7 @@ _basic_apply(E_Config_Dialog *cfd __UNUSED__, E_Config_Dialog_Data *cfdata)
DO(list_show_other_screen_windows, windows_other_screens);
DO(list_uncover_while_selecting, uncover);
DO(list_jump_desk_while_selecting, jump_desk);
DO(list_move_after_select, move_after_select);
DO(warp_while_selecting, warp_while_selecting);
DO(warp_at_end, warp_at_end);
DO(no_warp_on_direction, no_warp_on_direction);
@ -152,6 +155,7 @@ _basic_check_changed(E_Config_Dialog *cfd __UNUSED__, E_Config_Dialog_Data *cfda
DO(list_show_other_screen_windows, windows_other_screens);
DO(list_uncover_while_selecting, uncover);
DO(list_jump_desk_while_selecting, jump_desk);
DO(list_move_after_select, move_after_select);
DO(warp_while_selecting, warp_while_selecting);
DO(warp_at_end, warp_at_end);
DO(no_warp_on_direction, no_warp_on_direction);
@ -173,7 +177,7 @@ _basic_check_changed(E_Config_Dialog *cfd __UNUSED__, E_Config_Dialog_Data *cfda
static Evas_Object *
_basic_create(E_Config_Dialog *cfd __UNUSED__, Evas *evas, E_Config_Dialog_Data *cfdata)
{
Evas_Object *otb, *ol, *ob, *iconified, *scroll_animate;
Evas_Object *otb, *ol, *ob, *iconified, *scroll_animate, *ck;
otb = e_widget_toolbook_add(evas, (48 * e_scale), (48 * e_scale));
@ -216,7 +220,11 @@ _basic_create(E_Config_Dialog *cfd __UNUSED__, Evas *evas, E_Config_Dialog_Data
&(cfdata->no_warp_on_direction));
e_widget_disabled_set(ob, e_config->disable_all_pointer_warps);
e_widget_list_object_append(ol, ob, 1, 0, 0.0);
ob = e_widget_check_add(evas, _("Jump to desk"), &(cfdata->jump_desk));
ck = ob = e_widget_check_add(evas, _("Jump to desk"), &(cfdata->jump_desk));
e_widget_list_object_append(ol, ob, 1, 0, 0.0);
ob = e_widget_check_add(evas, _("Move to current desk after switch"), &(cfdata->move_after_select));
e_widget_check_widget_disable_on_checked_add(ck, ob);
e_widget_check_widget_disable_on_checked_add(ob, ck);
e_widget_list_object_append(ol, ob, 1, 0, 0.0);
e_widget_toolbook_page_append(otb, NULL, _("Selecting"), ol,
0, 0, 1, 0, 0.5, 0.0);

View File

@ -269,6 +269,11 @@ e_winlist_hide(void)
if (!bd->lock_user_shade)
e_border_unshade(bd, bd->shade.dir);
}
if (e_config->winlist_list_move_after_select)
{
e_border_zone_set(bd, e_zone_current_get(e_util_container_current_get()));
e_border_desk_set(bd, e_desk_current_get(bd->zone));
}
else if (bd->desk)
{
if (!bd->sticky) e_desk_show(bd->desk);