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));

Reply via email to