Hi all.
I have posted this patch before but I did not hear anything back. From more
information please see my previous post on 09/27/05 "Usabilty hack as
enlightenment_remote options [patch]". I made this patch after reading "Two
usability hacks... specially for CLICK focus model." on 09/27/05 writen to the
list by Ivan Hernandez. The patch should be checked (of course) to see if I
got every thing and I'm not sure this is how you would want to do it but... its
here I guess. It seams to work fine on my system. :-)
The patch adds these:
-winlist-list-raise-while-selecting-set 1=default
-winlist-list-raise-while-selecting-get
-winlist-list-focus-while-selecting-set 1=default
-winlist-list-focus-while-selecting-get
four command line options(flags) to enlightenment_remote.
anyway thank for all your hard work again.
Frederick
Index: apps/e/src/bin/e_config.c
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_config.c,v
retrieving revision 1.104
diff -u -r1.104 e_config.c
--- apps/e/src/bin/e_config.c 27 Sep 2005 11:22:46 -0000 1.104
+++ apps/e/src/bin/e_config.c 27 Sep 2005 22:11:50 -0000
@@ -307,6 +307,8 @@
E_CONFIG_VAL(D, T, winlist_list_show_other_screen_windows, INT); /**/
E_CONFIG_VAL(D, T, winlist_list_uncover_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_raise_while_selecting, 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); /**/
@@ -428,6 +430,8 @@
e_config->winlist_list_show_other_screen_windows = 0;
e_config->winlist_list_uncover_while_selecting = 0;
e_config->winlist_list_jump_desk_while_selecting = 0;
+ e_config->winlist_list_focus_while_selecting = 1;
+ e_config->winlist_list_raise_while_selecting = 1;
e_config->winlist_pos_align_x = 0.5;
e_config->winlist_pos_align_y = 0.5;
e_config->winlist_pos_size_w = 0.5;
Index: apps/e/src/bin/e_config.h
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_config.h,v
retrieving revision 1.54
diff -u -r1.54 e_config.h
--- apps/e/src/bin/e_config.h 27 Sep 2005 11:22:46 -0000 1.54
+++ apps/e/src/bin/e_config.h 27 Sep 2005 22:11:50 -0000
@@ -50,7 +50,7 @@
* defaults for e to work - started at 100 when we introduced this config
* versioning feature
*/
-#define E_CONFIG_FILE_VERSION 125
+#define E_CONFIG_FILE_VERSION 126
#define E_EVAS_ENGINE_DEFAULT 0
#define E_EVAS_ENGINE_SOFTWARE_X11 1
@@ -125,6 +125,8 @@
int winlist_list_show_other_screen_windows;
int winlist_list_uncover_while_selecting;
int winlist_list_jump_desk_while_selecting;
+ int winlist_list_focus_while_selecting;
+ int winlist_list_raise_while_selecting;
double winlist_pos_align_x;
double winlist_pos_align_y;
double winlist_pos_size_w;
Index: apps/e/src/bin/e_ipc_handlers.h
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_ipc_handlers.h,v
retrieving revision 1.82
diff -u -r1.82 e_ipc_handlers.h
--- apps/e/src/bin/e_ipc_handlers.h 27 Sep 2005 16:36:14 -0000 1.82
+++ apps/e/src/bin/e_ipc_handlers.h 27 Sep 2005 22:11:55 -0000
@@ -6099,3 +6099,86 @@
#elif (TYPE == E_REMOTE_IN)
#endif
#undef HDL
+
+/****************************************************************************/
+
+#define HDL E_IPC_OP_WINLIST_LIST_FOCUS_WHILE_SELECTING_SET
+#if (TYPE == E_REMOTE_OPTIONS)
+ OP("-winlist-list-focus-while-selecting-set", 1, "Set winlist (alt+tab) focus while selecting policy", 0, HDL)
+#elif (TYPE == E_REMOTE_OUT)
+ REQ_INT(atoi(params[0]), HDL);
+#elif (TYPE == E_WM_IN)
+ START_INT(policy, HDL);
+ e_config->winlist_list_focus_while_selecting = policy;
+ E_CONFIG_LIMIT(e_config->winlist_list_focus_while_selecting, 0, 1);
+ SAVE;
+ END_INT;
+#elif (TYPE == E_REMOTE_IN)
+#endif
+#undef HDL
+
+/****************************************************************************/
+#define HDL E_IPC_OP_WINLIST_LIST_FOCUS_WHILE_SELECTING_GET
+#if (TYPE == E_REMOTE_OPTIONS)
+ OP("-winlist-list-focus-while-selecting-get", 0, "Get winlist (alt+tab) focus while selecting policy", 1, HDL)
+#elif (TYPE == E_REMOTE_OUT)
+ REQ_NULL(HDL);
+#elif (TYPE == E_WM_IN)
+ SEND_INT(e_config->winlist_list_focus_while_selecting, E_IPC_OP_WINLIST_LIST_FOCUS_WHILE_SELECTING_GET_REPLY, HDL);
+#elif (TYPE == E_REMOTE_IN)
+#endif
+#undef HDL
+
+/****************************************************************************/
+#define HDL E_IPC_OP_WINLIST_LIST_FOCUS_WHILE_SELECTING_GET_REPLY
+#if (TYPE == E_REMOTE_OPTIONS)
+#elif (TYPE == E_REMOTE_OUT)
+#elif (TYPE == E_WM_IN)
+#elif (TYPE == E_REMOTE_IN)
+ START_INT(policy, HDL);
+ printf("REPLY: POLICY=%d\n", policy);
+ END_INT;
+#endif
+#undef HDL
+
+
+/****************************************************************************/
+
+#define HDL E_IPC_OP_WINLIST_LIST_RAISE_WHILE_SELECTING_SET
+#if (TYPE == E_REMOTE_OPTIONS)
+ OP("-winlist-list-raise-while-selecting-set", 1, "Set winlist (alt+tab) raise while selecting policy", 0, HDL)
+#elif (TYPE == E_REMOTE_OUT)
+ REQ_INT(atoi(params[0]), HDL);
+#elif (TYPE == E_WM_IN)
+ START_INT(policy, HDL);
+ e_config->winlist_list_raise_while_selecting = policy;
+ E_CONFIG_LIMIT(e_config->winlist_list_raise_while_selecting, 0, 1);
+ SAVE;
+ END_INT;
+#elif (TYPE == E_REMOTE_IN)
+#endif
+#undef HDL
+
+/****************************************************************************/
+#define HDL E_IPC_OP_WINLIST_LIST_RAISE_WHILE_SELECTING_GET
+#if (TYPE == E_REMOTE_OPTIONS)
+ OP("-winlist-list-raise-while-selecting-get", 0, "Get winlist (alt+tab) raise while selecting policy", 1, HDL)
+#elif (TYPE == E_REMOTE_OUT)
+ REQ_NULL(HDL);
+#elif (TYPE == E_WM_IN)
+ SEND_INT(e_config->winlist_list_raise_while_selecting, E_IPC_OP_WINLIST_LIST_RAISE_WHILE_SELECTING_GET_REPLY, HDL);
+#elif (TYPE == E_REMOTE_IN)
+#endif
+#undef HDL
+
+/****************************************************************************/
+#define HDL E_IPC_OP_WINLIST_LIST_RAISE_WHILE_SELECTING_GET_REPLY
+#if (TYPE == E_REMOTE_OPTIONS)
+#elif (TYPE == E_REMOTE_OUT)
+#elif (TYPE == E_WM_IN)
+#elif (TYPE == E_REMOTE_IN)
+ START_INT(policy, HDL);
+ printf("REPLY: POLICY=%d\n", policy);
+ END_INT;
+#endif
+#undef HDL
Index: apps/e/src/bin/e_ipc_handlers_list.h
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_ipc_handlers_list.h,v
retrieving revision 1.26
diff -u -r1.26 e_ipc_handlers_list.h
--- apps/e/src/bin/e_ipc_handlers_list.h 27 Sep 2005 16:36:14 -0000 1.26
+++ apps/e/src/bin/e_ipc_handlers_list.h 27 Sep 2005 22:11:55 -0000
@@ -287,3 +287,10 @@
#define E_IPC_OP_ALWAYS_CLICK_TO_FOCUS_SET 279
#define E_IPC_OP_ALWAYS_CLICK_TO_FOCUS_GET 280
#define E_IPC_OP_ALWAYS_CLICK_TO_FOCUS_GET_REPLY 281
+
+#define E_IPC_OP_WINLIST_LIST_FOCUS_WHILE_SELECTING_SET 282
+#define E_IPC_OP_WINLIST_LIST_FOCUS_WHILE_SELECTING_GET 283
+#define E_IPC_OP_WINLIST_LIST_FOCUS_WHILE_SELECTING_GET_REPLY 284
+#define E_IPC_OP_WINLIST_LIST_RAISE_WHILE_SELECTING_SET 285
+#define E_IPC_OP_WINLIST_LIST_RAISE_WHILE_SELECTING_GET 286
+#define E_IPC_OP_WINLIST_LIST_RAISE_WHILE_SELECTING_GET_REPLY 287
Index: apps/e/src/bin/e_winlist.c
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_winlist.c,v
retrieving revision 1.32
diff -u -r1.32 e_winlist.c
--- apps/e/src/bin/e_winlist.c 22 Sep 2005 12:47:45 -0000 1.32
+++ apps/e/src/bin/e_winlist.c 27 Sep 2005 22:11:56 -0000
@@ -553,9 +553,9 @@
if (!animator)
animator = ecore_animator_add(_e_winlist_animator, NULL);
}
- if (!ww->border->lock_user_stacking)
+ if ((!ww->border->lock_user_stacking) && (e_config->winlist_list_raise_while_selecting))
e_border_raise(ww->border);
- if (!ww->border->lock_focus_out)
+ if ((!ww->border->lock_focus_out) && (e_config->winlist_list_focus_while_selecting))
e_border_focus_set(ww->border, 1, 1);
}
edje_object_part_text_set(bg_object, "title_text", e_border_name_get(ww->border));