Hey Hannes, thanks for the patch. Would be cleaner if you put a corresponding if for the e_border_layer_set in the e_border_unfullscreen function.
-Sthitha Hannes Janetzek wrote: > 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 > ------------------------------------------------------------------------- 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