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 2013-05-29 Mike Blumenkrantz
* added e_border_inset utility functions * added e_border_inset utility functions
* new winlist config option for moving selected window to current desk
2013-05-29 Mike Blumenkrantz 2013-05-29 Mike Blumenkrantz

1
NEWS
View File

@ -53,6 +53,7 @@ Additions:
* Added support for systemd user session * Added support for systemd user session
* Added support for systemd hibernate and suspend * Added support for systemd hibernate and suspend
* added support for systemd halt and poweroff * added support for systemd halt and poweroff
* new winlist config option for moving selected window to current desk
Changes: Changes:
Modules: 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_jump_desk_while_selecting, INT); /**/
E_CONFIG_VAL(D, T, winlist_list_focus_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_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_x, DOUBLE); /**/
E_CONFIG_VAL(D, T, winlist_pos_align_y, DOUBLE); /**/ E_CONFIG_VAL(D, T, winlist_pos_align_y, DOUBLE); /**/
E_CONFIG_VAL(D, T, winlist_pos_size_w, 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_jump_desk_while_selecting; // GUI
int winlist_list_focus_while_selecting; // GUI int winlist_list_focus_while_selecting; // GUI
int winlist_list_raise_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_x; // GUI
double winlist_pos_align_y; // GUI double winlist_pos_align_y; // GUI
double winlist_pos_size_w; // GUI double winlist_pos_size_w; // GUI

View File

@ -21,6 +21,7 @@ struct _E_Config_Dialog_Data
int warp_at_end; int warp_at_end;
int no_warp_on_direction; int no_warp_on_direction;
int jump_desk; int jump_desk;
int move_after_select;
int scroll_animate; int scroll_animate;
double scroll_speed; double scroll_speed;
@ -62,6 +63,7 @@ _fill_data(E_Config_Dialog_Data *cfdata)
cfdata->raise = e_config->winlist_list_raise_while_selecting; cfdata->raise = e_config->winlist_list_raise_while_selecting;
cfdata->uncover = e_config->winlist_list_uncover_while_selecting; cfdata->uncover = e_config->winlist_list_uncover_while_selecting;
cfdata->jump_desk = e_config->winlist_list_jump_desk_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 = cfdata->windows_other_desks =
e_config->winlist_list_show_other_desk_windows; 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_show_other_screen_windows, windows_other_screens);
DO(list_uncover_while_selecting, uncover); DO(list_uncover_while_selecting, uncover);
DO(list_jump_desk_while_selecting, jump_desk); 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_while_selecting, warp_while_selecting);
DO(warp_at_end, warp_at_end); DO(warp_at_end, warp_at_end);
DO(no_warp_on_direction, no_warp_on_direction); 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_show_other_screen_windows, windows_other_screens);
DO(list_uncover_while_selecting, uncover); DO(list_uncover_while_selecting, uncover);
DO(list_jump_desk_while_selecting, jump_desk); 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_while_selecting, warp_while_selecting);
DO(warp_at_end, warp_at_end); DO(warp_at_end, warp_at_end);
DO(no_warp_on_direction, no_warp_on_direction); 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 * static Evas_Object *
_basic_create(E_Config_Dialog *cfd __UNUSED__, Evas *evas, E_Config_Dialog_Data *cfdata) _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)); 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)); &(cfdata->no_warp_on_direction));
e_widget_disabled_set(ob, e_config->disable_all_pointer_warps); e_widget_disabled_set(ob, e_config->disable_all_pointer_warps);
e_widget_list_object_append(ol, ob, 1, 0, 0.0); 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_list_object_append(ol, ob, 1, 0, 0.0);
e_widget_toolbook_page_append(otb, NULL, _("Selecting"), ol, e_widget_toolbook_page_append(otb, NULL, _("Selecting"), ol,
0, 0, 1, 0, 0.5, 0.0); 0, 0, 1, 0, 0.5, 0.0);

View File

@ -269,6 +269,11 @@ e_winlist_hide(void)
if (!bd->lock_user_shade) if (!bd->lock_user_shade)
e_border_unshade(bd, bd->shade.dir); 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) else if (bd->desk)
{ {
if (!bd->sticky) e_desk_show(bd->desk); if (!bd->sticky) e_desk_show(bd->desk);