galf once more: application launch feedback



hi

I've added galf (Gnome Application Launch Feedback) as a module to Gnome CVS in 
order to let people have a look at it. The README and TODO files should provide 
an explanation of how galf works.

There has also been some discussion on this alias regarding galf - for 
background/design information and a look at some of the arguments for and 
against galf the following email thread is a good starting point:
http://mail.gnome.org/archives/gnome-hackers/2001-March/msg00261.html

I'm hoping that the availability of the code together with the background 
information will make for clearer evaluation, and I'd appreciate any 
feedback/criticism etc


Running galf - some caveats:

1.  Activating server:
    As I pointed out before, I've had problems integrating with OAF (I'd
    appreciate some pointers on what I'm doing wrong). 
    As a hack for demo purposes I've used "#define IOR" in the client and server
    files (src/feedback-client.c and src/feedback-server.c). This allows the
    server to write an ior to a file, and the client to read the ior from that
    file.
    For this reason, you should start the server and client manually from within 
    your copy of the source, eg
    $./src/galf-server
    ex$./src/galf netscape

2.  gtk+ patch:
    galf will run correctly for non-gtk+ applications (such as netscape in the
    above example). For gtk+ applications you need a gtk+2.0 patch (see attached
    diff file).

3.  Location of plugin library:
    If you install galf then galf will locate the plugin library at 
    <install-dir/lib/galf/
    
    If you don't want to install galf then you need to add a file called "galf"
    to you $HOME/.gnome directory. This file should have the following entry,
    (substituting location of your copy of the source for <src-path>):
    
    [plugin]
    plugin_name=/<src-path>/galf/plugins/task-window/.libs/libgalf-default.so


cheers
Mary



~ I speak for myself, not for my employer ~
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Mary Dwyer
Desktop Applications & Middleware Grp
Sun Microsystems Ireland
Tel: +353-1-8199222 (xt 19222)
Fax: +353-1-8199078
email: mary dwyer ireland sun com
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Index: gdkwindow-x11.c
===================================================================
RCS file: /cvs/gnome/gtk+/gdk/x11/gdkwindow-x11.c,v
retrieving revision 1.112
diff -u -r1.112 gdkwindow-x11.c
--- gdkwindow-x11.c	2001/04/01 22:29:25	1.112
+++ gdkwindow-x11.c	2001/04/18 10:15:21
@@ -318,9 +318,9 @@
   XWMHints wm_hints;
   XClassHint *class_hint;
   int x, y, depth;
-  
   unsigned int class;
   char *title;
+  gchar *desktop_launch_id=NULL;  
   int i;
   
   g_return_val_if_fail (attributes != NULL, NULL);
@@ -562,7 +562,22 @@
 	   	   wm_client_leader_atom,
 		   XA_WINDOW, 32, PropModeReplace,
 		   (guchar*) &gdk_leader_window, 1);
-  
+ 
+  /* Needed for Application Launch Feedback mechanism: if
+     the environmental variable DESKTOP_LAUNCH_ID is set,
+     then the property _NET_WM_LAUNCH_ID is set with the 
+     value of DESKTOP_LAUNCH_ID. */
+  desktop_launch_id= g_strdup(getenv("DESKTOP_LAUNCH_ID"));
+  if (desktop_launch_id) {
+	XChangeProperty(GDK_WINDOW_XDISPLAY(window), 
+		 GDK_WINDOW_XID(window),
+		 gdk_atom_intern("_NET_WM_LAUNCH_ID", FALSE),
+		 XA_STRING, 8,
+		 PropModeReplace, (guchar *)desktop_launch_id,
+		 strlen(desktop_launch_id));
+	g_free(desktop_launch_id);
+  }
+ 
   if (attributes_mask & GDK_WA_TITLE)
     title = attributes->title;
   else


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