On Thu, Dec 14, 2006 at 08:36:35AM -0600, Ravenlock wrote: > On 12/14/2006 03:43, Christopher Michael wrote: > >Ravenlock wrote: > >>On 12/13/2006 23:00, Ravenlock wrote: > >>>Hello, > >>> > >>>I wanted a slightly different behavior than what was available, so > >>>I've changed it up a bit on my copy, and wanted others opinions as to > >>>whether the change might be suitable for the general population. > >>> > >I applaud the effort, but can you provide a patch that others can > >use/try ? Sometimes ideas have a better chance if they come with > >examples :) > > K. Try the attached. Do you (the e-developers) have a preferred diff > format? If you have trouble with the diff let me know.
usually cvs diff -u is preferred. > > > > >>>Please excuse me if I am getting my terminology (screens vs desks) > >>>mixed up. > >>> > >>>Presently in e17.037... > >>>when you iconify a window, you can choose whether you want to have > >>>them enumerated in the window list or not. If you choose not to, > >>>then they are not present at all. If you wish to see them, you see > >>>*all* iconified windows on the same screen. Therefore, if you have > >>>only one screen like myself, and you switch to one of your other > >>>virtual desks... you see them *all* in the list. > >>> > >>>I would prefer them to not be there. I prefer to use each virtual > >>>desk as entirely separate from the others. > >>> > >Others may also... > >>>Presently in my patched version... > >>>I have created options in the Configuration Panel -> Advanced -> > >>>Window List -> Window List Settings dialog which read: > >>> - Show iconified windows (<- This was already present) > >>> - Show iconified windows from other desks > >>> - Show iconified windows from other screens > >>> > >>>and modified the winlist_border_add function with the following rule: > >>> if (bd->iconic) > >>> { > >>> if (!e_config->winlist_list_show_iconified) ok = 0; > >>> if ((bd->zone != zone) && > >>> (!e_config->winlist_list_show_other_screen_iconified)) ok = > >>>0; > >>> if ((bd->desk != desk) && > >>> (!e_config->winlist_list_show_other_desk_iconified)) ok = 0; > >>> } > >>> > >>>This allows me more flexibility over what I see in the window list. > >>>If I do not want to see those windows which are iconified on desk0 > >>>*from* desk1, then I can uncheck the "Show iconified windows from > >>>other desks". > >> > >>[Forgot to mention] > >>This matches (I think) the functionality of the ibox, in a sense. The > >>icon boxes can show (!or not!) windows from other screens and desks. > >> > >>>I have given the following default values > >>> winlist_list_show_iconified = 1 > >>> winlist_list_show_other_desk_iconified = 1 > >>> winlist_list_show_other_screen_iconified = 0 > >>>as I think these represent the original behavior before the changes. > >>> > >>>One thing I am aware of that I *did not* do (which may need > >>>addressing)... I did not modify the IPC_Handlers in any way. I was > >>>hoping for comments on that. Is it necessary? Adding something to > >>>e_int_config_winlist.h looks, well.... painful. > >>> > >It's general practice that when new config properties get created, they > >should be put into enlightenment_remote ipc calls, yes. In the future, > >the ipc code is going to get a much-needed cleaning, but for now your > >option should go in. > > ok. I started down this road. May have even completed it, though I > haven't built it yet. So I backed it out for the diff attached. How > would I go about testing them? using enlightenment_remote? I've never > used that nor do I have any idea what its for (aside from what the name > implies). I'll look into it. > > > > >>>Your thoughts? Would anyone be interested in this functionality? > >>> > >>>Regards, > >>>-R > > > >Cheers, > >dh > > > > diff -u /home/ravenlock/MyDocs/MyProjects/E/e17.0/apps/e/src/bin/e_config.c > ./e_config.c > --- /home/ravenlock/MyDocs/MyProjects/E/e17.0/apps/e/src/bin/e_config.c > Mon Nov 13 01:26:14 2006 > +++ ./e_config.c Wed Dec 13 19:48:38 2006 > @@ -397,6 +397,8 @@ > E_CONFIG_VAL(D, T, winlist_scroll_animate, INT); /**/ > E_CONFIG_VAL(D, T, winlist_scroll_speed, DOUBLE); /**/ > E_CONFIG_VAL(D, T, winlist_list_show_iconified, INT); /**/ > + E_CONFIG_VAL(D, T, winlist_list_show_other_desk_iconified, INT); /**/ > + E_CONFIG_VAL(D, T, winlist_list_show_other_screen_iconified, INT); /**/ > E_CONFIG_VAL(D, T, winlist_list_show_other_desk_windows, INT); /**/ > E_CONFIG_VAL(D, T, winlist_list_show_other_screen_windows, INT); /**/ > E_CONFIG_VAL(D, T, winlist_list_uncover_while_selecting, INT); /**/ > @@ -601,6 +603,8 @@ > e_config->winlist_scroll_animate = 1; > e_config->winlist_scroll_speed = 0.1; > e_config->winlist_list_show_iconified = 1; > + e_config->winlist_list_show_other_desk_iconified = 1; > + e_config->winlist_list_show_other_screen_iconified = 0; > e_config->winlist_list_show_other_desk_windows = 0; > e_config->winlist_list_show_other_screen_windows = 0; > e_config->winlist_list_uncover_while_selecting = 0; > @@ -1314,6 +1318,8 @@ > E_CONFIG_LIMIT(e_config->winlist_scroll_animate, 0, 1); > E_CONFIG_LIMIT(e_config->winlist_scroll_speed, 0.0, 1.0); > E_CONFIG_LIMIT(e_config->winlist_list_show_iconified, 0, 1); > + E_CONFIG_LIMIT(e_config->winlist_list_show_other_desk_iconified, 0, 1); > + E_CONFIG_LIMIT(e_config->winlist_list_show_other_screen_iconified, 0, 1); > E_CONFIG_LIMIT(e_config->winlist_list_show_other_desk_windows, 0, 1); > E_CONFIG_LIMIT(e_config->winlist_list_show_other_screen_windows, 0, 1); > E_CONFIG_LIMIT(e_config->winlist_list_uncover_while_selecting, 0, 1); > diff -u /home/ravenlock/MyDocs/MyProjects/E/e17.0/apps/e/src/bin/e_config.h > ./e_config.h > --- /home/ravenlock/MyDocs/MyProjects/E/e17.0/apps/e/src/bin/e_config.h > Wed Nov 15 05:40:27 2006 > +++ ./e_config.h Wed Dec 13 19:37:06 2006 > @@ -148,6 +148,8 @@ > int winlist_scroll_animate; // GUI > double winlist_scroll_speed; // GUI > int winlist_list_show_iconified; // GUI > + int winlist_list_show_other_desk_iconified; // GUI > + int winlist_list_show_other_screen_iconified; // GUI > int winlist_list_show_other_desk_windows; // GUI > int winlist_list_show_other_screen_windows; // GUI > int winlist_list_uncover_while_selecting; // GUI > diff -u > /home/ravenlock/MyDocs/MyProjects/E/e17.0/apps/e/src/bin/e_int_config_winlist.c > ./e_int_config_winlist.c > --- > /home/ravenlock/MyDocs/MyProjects/E/e17.0/apps/e/src/bin/e_int_config_winlist.c > Sun Oct 8 03:04:18 2006 > +++ ./e_int_config_winlist.c Wed Dec 13 21:04:31 2006 > @@ -13,6 +13,8 @@ > int warp_at_end; > int scroll_animate; > int list_show_iconified; > + int list_show_other_desk_iconified; > + int list_show_other_screen_iconified; > int list_show_other_desk_windows; > int list_show_other_screen_windows; > int list_uncover_while_selecting; > @@ -65,6 +67,8 @@ > cfdata->scroll_animate = e_config->winlist_scroll_animate; > cfdata->scroll_speed = e_config->winlist_scroll_speed; > cfdata->list_show_iconified = e_config->winlist_list_show_iconified; > + cfdata->list_show_other_desk_iconified = > e_config->winlist_list_show_other_desk_iconified; > + cfdata->list_show_other_screen_iconified = > e_config->winlist_list_show_other_screen_iconified; > cfdata->list_show_other_desk_windows = > e_config->winlist_list_show_other_desk_windows; > cfdata->list_show_other_screen_windows = > e_config->winlist_list_show_other_screen_windows; > cfdata->list_uncover_while_selecting = > e_config->winlist_list_uncover_while_selecting; > @@ -101,6 +105,8 @@ > _basic_apply_data(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata) > { > e_config->winlist_list_show_iconified = cfdata->list_show_iconified; > + e_config->winlist_list_show_other_desk_iconified = > cfdata->list_show_other_desk_iconified; > + e_config->winlist_list_show_other_screen_iconified = > cfdata->list_show_other_screen_iconified; > e_config->winlist_list_show_other_desk_windows = > cfdata->list_show_other_desk_windows; > e_config->winlist_list_show_other_screen_windows = > cfdata->list_show_other_screen_windows; > e_config->winlist_list_uncover_while_selecting = > cfdata->list_uncover_while_selecting; > @@ -125,6 +131,10 @@ > of = e_widget_framelist_add(evas, _("General Settings"), 0); > ob = e_widget_check_add(evas, _("Show iconified windows"), > &(cfdata->list_show_iconified)); > e_widget_framelist_object_append(of, ob); > + ob = e_widget_check_add(evas, _("Show iconified windows from other > desks"), &(cfdata->list_show_other_desk_iconified)); > + e_widget_framelist_object_append(of, ob); > + ob = e_widget_check_add(evas, _("Show iconified windows from other > screens"), &(cfdata->list_show_other_screen_iconified)); > + e_widget_framelist_object_append(of, ob); > ob = e_widget_check_add(evas, _("Show windows from other desks"), > &(cfdata->list_show_other_desk_windows)); > e_widget_framelist_object_append(of, ob); > ob = e_widget_check_add(evas, _("Show windows from other screens"), > &(cfdata->list_show_other_screen_windows)); > @@ -161,6 +171,8 @@ > _advanced_apply_data(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata) > { > e_config->winlist_list_show_iconified = cfdata->list_show_iconified; > + e_config->winlist_list_show_other_desk_iconified = > cfdata->list_show_other_desk_iconified; > + e_config->winlist_list_show_other_screen_iconified = > cfdata->list_show_other_screen_iconified; > e_config->winlist_list_show_other_desk_windows = > cfdata->list_show_other_desk_windows; > e_config->winlist_list_show_other_screen_windows = > cfdata->list_show_other_screen_windows; > e_config->winlist_list_uncover_while_selecting = > cfdata->list_uncover_while_selecting; > diff -u /home/ravenlock/MyDocs/MyProjects/E/e17.0/apps/e/src/bin/e_winlist.c > ./e_winlist.c > --- /home/ravenlock/MyDocs/MyProjects/E/e17.0/apps/e/src/bin/e_winlist.c > Thu Oct 26 21:49:05 2006 > +++ ./e_winlist.c Wed Dec 13 20:53:51 2006 > @@ -401,7 +401,9 @@ > { > if (!e_config->winlist_list_show_iconified) ok = 0; > if ((bd->zone != zone) && > - (!e_config->winlist_list_show_other_screen_windows)) ok = 0; > + (!e_config->winlist_list_show_other_screen_iconified)) ok = 0; > + if ((bd->desk != desk) && > + (!e_config->winlist_list_show_other_desk_iconified)) ok = 0; > } > else > { > @@ -948,4 +950,3 @@ > _e_winlist_show_active(); > _e_winlist_activate(); > } > - > ------------------------------------------------------------------------- > Take Surveys. Earn Cash. Influence the Future of IT > Join SourceForge.net's Techsay panel and you'll get the chance to share your > opinions on IT & business topics through brief surveys - and earn cash > http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV > _______________________________________________ > enlightenment-devel mailing list > enlightenment-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel -- Aleksej Struk Master Degree Student Free University of Bozen-Bolzano Faculty of Computer Science phone: +39-0471-061749 cell phone: +39-3204627049 +370-61278908 [EMAIL PROTECTED] [EMAIL PROTECTED] - http://astruk.googlepages.com/home ------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys - and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV _______________________________________________ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel