Hi,
this patch adds the option to have windows above fullscreen windows.
This is for example nice to reach the hidden shelves when working with
fullscreen.  For me this behavior could even be the default (without
option) since it is quite irritating to use alt-tab but then the
selected window doesnt appear. 

Regards,
Hannes 
Index: e_config.c
===================================================================
RCS file: /var/cvs/e/e17/apps/e/src/bin/e_config.c,v
retrieving revision 1.242
diff -u -r1.242 e_config.c
--- e_config.c	12 May 2007 22:40:03 -0000	1.242
+++ e_config.c	20 May 2007 22:19:52 -0000
@@ -428,6 +428,7 @@
    E_CONFIG_VAL(D, T, maximize_policy, INT); /**/
    E_CONFIG_VAL(D, T, allow_manip, INT); /**/
    E_CONFIG_VAL(D, T, border_fix_on_shelf_toggle, INT); /**/
+   E_CONFIG_VAL(D, T, allow_above_fullscreen, INT); /**/
    E_CONFIG_VAL(D, T, kill_if_close_not_possible, INT); /**/
    E_CONFIG_VAL(D, T, kill_process, INT); /**/
    E_CONFIG_VAL(D, T, kill_timer_wait, DOUBLE); /**/
@@ -1399,7 +1400,11 @@
    e_config->menu_favorites_show = 1;
    e_config->menu_apps_show = 1;
    IFCFGEND;
-   
+
+   IFCFG(0x0119);
+   e_config->allow_above_fullscreen = 1;
+   IFCFGEND;
+
    e_config->config_version = E_CONFIG_FILE_VERSION;   
      
 #if 0 /* example of new config */
@@ -1462,6 +1467,7 @@
    E_CONFIG_LIMIT(e_config->maximize_policy, E_MAXIMIZE_FULLSCREEN, E_MAXIMIZE_DIRECTION);
    E_CONFIG_LIMIT(e_config->allow_manip, 0, 1);
    E_CONFIG_LIMIT(e_config->border_fix_on_shelf_toggle, 0, 1);
+   E_CONFIG_LIMIT(e_config->allow_above_fullscreen, 0, 1);
    E_CONFIG_LIMIT(e_config->kill_if_close_not_possible, 0, 1);
    E_CONFIG_LIMIT(e_config->kill_process, 0, 1);
    E_CONFIG_LIMIT(e_config->kill_timer_wait, 0.0, 120.0);
Index: e_config.h
===================================================================
RCS file: /var/cvs/e/e17/apps/e/src/bin/e_config.h,v
retrieving revision 1.155
diff -u -r1.155 e_config.h
--- e_config.h	12 May 2007 22:40:03 -0000	1.155
+++ e_config.h	20 May 2007 22:19:52 -0000
@@ -169,6 +169,7 @@
    int         maximize_policy; // GUI
    int         allow_manip; // GUI
    int         border_fix_on_shelf_toggle; // GUI
+   int         allow_above_fullscreen; // GUI
    int         kill_if_close_not_possible;
    int         kill_process;
    double      kill_timer_wait;
Index: e_int_config_window_manipulation.c
===================================================================
RCS file: /var/cvs/e/e17/apps/e/src/bin/e_int_config_window_manipulation.c,v
retrieving revision 1.18
diff -u -r1.18 e_int_config_window_manipulation.c
--- e_int_config_window_manipulation.c	11 Apr 2007 15:37:04 -0000	1.18
+++ e_int_config_window_manipulation.c	20 May 2007 22:19:54 -0000
@@ -28,6 +28,7 @@
    int border_fix_on_shelf_toggle;
    int border_raise_on_mouse_action;
    int border_raise_on_focus;
+   int allow_above_fullscreen; 
 };
 
 /* a nice easy setup function that does the dirty work */
@@ -75,6 +76,7 @@
    cfdata->border_fix_on_shelf_toggle = e_config->border_fix_on_shelf_toggle;
    cfdata->border_raise_on_mouse_action = e_config->border_raise_on_mouse_action;
    cfdata->border_raise_on_focus = e_config->border_raise_on_focus;
+   cfdata->allow_above_fullscreen = e_config->allow_above_fullscreen;
 }
 
 static void *
@@ -125,6 +127,7 @@
    e_config->border_fix_on_shelf_toggle = cfdata->border_fix_on_shelf_toggle;
    e_config->border_raise_on_mouse_action = cfdata->border_raise_on_mouse_action;
    e_config->border_raise_on_focus = cfdata->border_raise_on_focus;
+   e_config->allow_above_fullscreen = cfdata->allow_above_fullscreen;
    e_config_save_queue();
    return 1; /* Apply was OK */
 }
@@ -186,6 +189,8 @@
    e_widget_framelist_object_append(of, ob);
    ob = e_widget_check_add(evas, _("Raise when clicking to focus"), &(cfdata->border_raise_on_focus));
    e_widget_framelist_object_append(of, ob);
+   ob = e_widget_check_add(evas, _("Allow windows to be above fullscreen window"), &(cfdata->allow_above_fullscreen));
+   e_widget_framelist_object_append(of, ob);
    e_widget_table_object_append(ot, of, 1, 0, 1, 1, 1, 1, 1, 1);
    
    of = e_widget_framelist_add(evas, _("Resistance"), 0);
Index: e_border.c
===================================================================
RCS file: /var/cvs/e/e17/apps/e/src/bin/e_border.c,v
retrieving revision 1.590
diff -u -r1.590 e_border.c
--- e_border.c	7 May 2007 18:01:42 -0000	1.590
+++ e_border.c	20 May 2007 22:20:03 -0000
@@ -1990,8 +1990,9 @@
 	bd->client_inset.b = 0;
 
 	/* e_zone_fullscreen_set(bd->zone, 1); */
+        if(!e_config->allow_above_fullscreen)
+	  e_border_layer_set(bd, 200);
 
-	e_border_layer_set(bd, 200);
 	if ((evas_list_count(bd->zone->container->zones) > 1) || (policy == E_FULLSCREEN_RESIZE))
 	  {
 	     e_border_move_resize(bd, bd->zone->x, bd->zone->y, bd->zone->w, bd->zone->h);
-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to