discomfitor pushed a commit to branch master.
commit 9a615c1438efc83a6b63cf572477150a22f6c455
Author: Mike Blumenkrantz <[email protected]>
Date: Thu May 30 14:23:13 2013 +0100
new user-requested option for moving the winlist-selected window to the
current desk
---
ChangeLog | 1 +
NEWS | 1 +
src/bin/e_config.c | 1 +
src/bin/e_config.h | 1 +
src/modules/winlist/e_int_config_winlist.c | 12 ++++++++++--
src/modules/winlist/e_winlist.c | 5 +++++
6 files changed, 19 insertions(+), 2 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index 054b6fb..c3efab9 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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
diff --git a/NEWS b/NEWS
index 4b6ff2d..2a5fefd 100644
--- a/NEWS
+++ b/NEWS
@@ -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:
diff --git a/src/bin/e_config.c b/src/bin/e_config.c
index 2db11e3..3a5519e 100644
--- a/src/bin/e_config.c
+++ b/src/bin/e_config.c
@@ -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); /**/
diff --git a/src/bin/e_config.h b/src/bin/e_config.h
index 2369bd3..562bfa0 100644
--- a/src/bin/e_config.h
+++ b/src/bin/e_config.h
@@ -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
diff --git a/src/modules/winlist/e_int_config_winlist.c
b/src/modules/winlist/e_int_config_winlist.c
index 6c3b444..be1df80 100644
--- a/src/modules/winlist/e_int_config_winlist.c
+++ b/src/modules/winlist/e_int_config_winlist.c
@@ -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);
diff --git a/src/modules/winlist/e_winlist.c b/src/modules/winlist/e_winlist.c
index c88a9a8..7eb8240 100644
--- a/src/modules/winlist/e_winlist.c
+++ b/src/modules/winlist/e_winlist.c
@@ -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);
--
------------------------------------------------------------------------------
Introducing AppDynamics Lite, a free troubleshooting tool for Java/.NET
Get 100% visibility into your production application - at no cost.
Code-level diagnostics for performance bottlenecks with <2% overhead
Download for free and get started troubleshooting in minutes.
http://p.sf.net/sfu/appdyn_d2d_ap1