1 | Xalf (http://www.lysator.liu.se/~astrand/projects/xalf/) |
---|
2 | -------------------------------------------------------- |
---|
3 | |
---|
4 | This a utility to provide feedback when starting X11 applications. |
---|
5 | |
---|
6 | Xalf is solving the same problem as Busycursor (also written by me), |
---|
7 | but in a more reliable and flexible way. The main differences are: |
---|
8 | |
---|
9 | 1) Xalf can reliable detect if newly mapped windows are belonging to a |
---|
10 | particular launched application. It does this by overloading the Xlib |
---|
11 | function XMapWindow with a version that signals the tracking xalf |
---|
12 | process. |
---|
13 | |
---|
14 | 2) Xalf provides (currently) four different types as "indicators", |
---|
15 | described below. |
---|
16 | |
---|
17 | Invisible Window: |
---|
18 | Xalf creates an invisible window, to be used in conjunction with a |
---|
19 | standard task pager like Gnomes tasklist_applet or the KDE |
---|
20 | Taskbar. The name of the window is the application name within |
---|
21 | parenthesis. The small window icon (KWM_WIN_ICON) is set to a small |
---|
22 | hourglass. This indicator is default. |
---|
23 | |
---|
24 | Splash screen: |
---|
25 | An generic splashscreen is displayed during application launch. |
---|
26 | |
---|
27 | Mouse cursor change: |
---|
28 | Xalf adds an hourglass symbol to the mousecursor for the root window |
---|
29 | and the Gnome panel. Note that the cursor is not changed for the Gnome |
---|
30 | foot-menu windows. |
---|
31 | |
---|
32 | Animated star: |
---|
33 | An animated indicator resembling the look of that on SGI/Irix |
---|
34 | machines (a kind of yellow animated star). |
---|
35 | |
---|
36 | |
---|
37 | INSTALL |
---|
38 | ------- |
---|
39 | See the file INSTALL. |
---|
40 | |
---|
41 | |
---|
42 | SUPPORTED PLATFORMS |
---|
43 | ------------------- |
---|
44 | The main platforms for Xalf are Linux and Solaris. People have |
---|
45 | reported that Xalf also runs on FreeBSD and Irix. Newer versions are |
---|
46 | only tested on Linux and Solaris. If you want support for other |
---|
47 | platforms and are willing to test beta-versions, contact me. |
---|
48 | |
---|
49 | |
---|
50 | GNOME INTEGRATION |
---|
51 | ----------------- |
---|
52 | Xalf is included with GNOME 1.4. Xalf also works with earlier GNOME |
---|
53 | versions if you have Gnome-libs version 1.2.11 or newer. |
---|
54 | |
---|
55 | You can control Xalf via GNOME Control Center (or by editing |
---|
56 | ~/.gnome/xalf). Note: |
---|
57 | |
---|
58 | You can prepend NO_XALF to desktop entries commandlines to disable |
---|
59 | Xalf for a specific application. This is especially useful for |
---|
60 | launching applications that doesn't start new processes but only |
---|
61 | creates new windows. Gmc works like this, so I recommend change |
---|
62 | "Exec=gmc" in /usr/share/gnome/apps/Gmc.desktop to "Exec=NO_XALF gmc". |
---|
63 | |
---|
64 | |
---|
65 | KDE INTEGRATION |
---|
66 | --------------- |
---|
67 | KDE has borrowed some Xalf techniques, and integrated them into |
---|
68 | KDE2. I don't know the current status of this work, though. |
---|
69 | |
---|
70 | |
---|
71 | USING SAWFISH "Matched Windows" |
---|
72 | ------------------------------- |
---|
73 | Beginning with version 0.11, Xalf sets different WM_CLASS names for |
---|
74 | the different indicators. The class name is always set to "xalf". The |
---|
75 | instance name is set to "invisiblewindow", "splash" and "anim", |
---|
76 | depending on the indicator that is used. |
---|
77 | |
---|
78 | This can be used with Sawfish to automatically iconify, for example, |
---|
79 | the invisible window. This can be done by: |
---|
80 | |
---|
81 | 1) Create and match on Class: xalf/invisiblewindow |
---|
82 | 2) Set its state to "Iconified" in the State pane. |
---|
83 | |
---|
84 | |
---|
85 | THE FUTURE |
---|
86 | ---------- |
---|
87 | Xalf needs to do quite many tricks to work. The principle with |
---|
88 | LD_PRELOAD is not very beautiful and there are many cases when it does |
---|
89 | not work. These issues were discussed on the Window manager |
---|
90 | specification mailing list. Most people (including myself) thinks that |
---|
91 | an Toolkit-based implementation is a better long term solution. Mary |
---|
92 | Dwyer at Sun Microsystems has begun working on such an |
---|
93 | implementation. |
---|
94 | |
---|
95 | |
---|
96 | USAGE |
---|
97 | ----- |
---|
98 | If you are not using GNOME with built-in hooks, prepend xalf to your |
---|
99 | commandlines. For example, create an desktop icon running: |
---|
100 | "xalf gnumeric" |
---|
101 | |
---|
102 | |
---|
103 | COMMANDLINE OPTIONS |
---|
104 | ------------------- |
---|
105 | -h, --help display this help and exit |
---|
106 | -v, --version output version information and exit |
---|
107 | -t, --timeout nseconds use a time-out period of nseconds seconds |
---|
108 | -n, --noxalf do nothing, besides launch application |
---|
109 | -m, --mappingmode compatibility mode: Do not distinguish between |
---|
110 | windows. All new mapped windows turns off indicator |
---|
111 | -i, --invisiblewindow use an invisible window as indicator (default) |
---|
112 | (for use with Gnome panel, KDE taskbar etc) |
---|
113 | -s, --splash use splashscreen as indicator |
---|
114 | -c, --cursor add hourglass to mouse cursor |
---|
115 | -a, --anim use animated star as indicator |
---|
116 | -l, --title titlestring Title to show in the tasklist |
---|
117 | |
---|
118 | Comments and bug-reports are appreciated. |
---|
119 | |
---|
120 | /Peter Åstrand <astrand@lysator.liu.se> |
---|
121 | |
---|