Re: startup-notification support for nautilus as a launchee



On Mon, 2005-02-14 at 00:04 -0700, Elijah Newren wrote:
> As you're probably aware, trying to launch nautilus windows has been
> resulting in windows appearing without focus and below the focused
> window.  Further, neither the busy cursor nor an entry in the taskbar
> were being shown while such windows were being launched.  All of this
> was due to nautilus not supporting startup-notification as a launchee.
> 
> So, I wrote a pair of patches in bug 163046 and bug 166242, which I
> have attached to this email as well.  There's probably lots of various
> things to fix up (I haven't written a substantial nautilus patch
> before, I don't grok bonobo, and cutting & pasting always seems to
> cause problems, not to mention the two FIXMEs I put in there...),
> however the patches appear to work and fix the problem in my testing. 
> I'd appreciate any feedback and further testing, in hopes that we can
> a cleaned up version of this in for 2.10.

Since this is clearly better than what we currently do, i committed
this. I removed the leak FIXME and freed startup_id in the
NautilusWindow finalizer, and I fixed up the coding style/indentation to
match Nautilus coding style. Also, I removed the g_warning on launching
without a startup id. This was triggering every time you launch nautilus
from a terminal, which I think is a bit harsh. Do other gnome apps do
this too?

Some questions remain:

on existing window presenting you do this:

end_startup_notification (GTK_WIDGET (existing_window),
			  existing_window->details->startup_id,
			  startup_id);


Is this really right? I'm not totally sure how startup notification
works, but doesn't this re-trigger the startup_id that was originally
used to start nautilus, instead of the new startup (startup_id) that was
requested?

@@ -345,10 +351,12 @@ restore_one_window_callback (const char 
 	if (eel_strlen (location) > 0) {
 		window = nautilus_application_present_spatial_window (shell->details->application, 
 								      NULL,
+								      NULL, /* FIXME: Need startup_id? */
 								      location,
 								      screen);
 	} else {
 		window = nautilus_application_create_navigation_window (shell->details->application,
+									NULL, /* FIXME: Need startup_id? */
 									screen);
 		nautilus_window_go_home (window);
 	}

Does the session launch its processes using startup notification?







[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]