galf once more: application launch feedback
- From: Mary Dwyer <Mary Dwyer Sun COM>
- To: altic lysator liu se, hp redhat com, otaylor redhat com, gnome-hackers gnome org, sopwith devserv devel redhat com, mjs eazel com
- Subject: galf once more: application launch feedback
- Date: Wed, 18 Apr 2001 12:04:25 +0100 (BST)
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]