From: Tony H. <h...@re...> - 2008-04-27 14:39:55
|
Almost every time I boot up I seem to have to replace one or more panel applets which have gone missing since last time I used the computer. Usually it's DevTray, but other applets aren't immune. One one occasion every single applet had gone missing and I was left with just the static icons. I guess the cause is that at shutdown some applets get killed before ROX-Filer and the latter has time to save its state with those applets removed before it in turn gets killed. But this happens even when using ROX-Session's new gdm shutdown feature ie it sends a message to gdm to ask it to shutdown at logout, then logs out. I think we need a way to stop this happening even when shutting down by hitting the power button (so much easier than shutting down with the GUI when using a laptop) instead of logging out cleanly, which doesn't seem to be so clean after all, as per previous para. What do you think would be the best way to achieve this? I haven't checked the source, but I presume ROX-Filer can check the exit code of applets to determine whether they quit abnormally. One option would be to not update the saved state when applets crash. But there is a potential problem that it would be very difficult for users to deal with rogue applets which for some reason can't be made to quit with EXIT_SUCCESS. A second option would be to pop up a dialog: "xyz has exited abnormally. [Restart it now] [Restart it at next session] [Don't restart it]" (may need some work on the wording). I think that's the better plan, but it does have a potential problem that at shutdown it could result in dialogs flashing up which the user doesn't have time to read before the desktop disappears. It might be possible to avoid that by delaying the appearance of the dialog with g_idle_add() and/or even g_timeout_add(). -- TH * http://www.realh.co.uk |