On Fri, Mar 16, 2007 at 06:44:41PM +0200, Hisham Mardam Bey wrote: > The other alternative, as mentioned, would be to propagate theme > changes without a restart. We have also discussed this issue before, > and the initial thought was that it was indeed quite complex as it > would require all sorts of recalculations, widget creation, > re-swallowing, etc. It is not really worth the hassle.
Edje will now automatically reswallow any swallows when you call edje_object_file_set(). So, it shoudl just be a matter of running through edje objects, resetting files and resending signals to get to the current state of the widget. Setting font classes *shouldn't* require rebuilding the objects, so I'm not sure why the font dialog triggers a restart at the moment. Anyway, I really think that this is the way to go. Since *most* layout is handled by edje, it will be recalculated automatically as the file is loaded and the swallows are reswallowed. Widgets that do custom layout typically have a configure type call that recalcs layout. So, it would probably just be a matter of adding a call to each widget to re-send the state signals. I think this would be a cleaner route than tracking internal dialogs and re-showing them. As more functionality is added to e, restarting will become more and more of a cost (dbus connections resetting, having to re-query daemon state, etc)... rephorm ------------------------------------------------------------------------- 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