SourceFiles.org - Use the Source, Luke
Home | Register | News | Forums | Guide | MyLinks | Bookmark

Related Sites

Latest News
  General News
  Reviews
  Press Releases
  Software
  Hardware
  Security
  Tutorials
  Off Topic


Back to files

Xalf (http://www.lysator.liu.se/~astrand/projects/xalf/)

This a utility to provide feedback when starting X11 applications.

Xalf is solving the same problem as Busycursor (also written by me), but in a more reliable and flexible way. The main differences are:

  1. Xalf can reliable detect if newly mapped windows are belonging to a particular launched application. It does this by overloading the Xlib function XMapWindow with a version that signals the tracking xalf process.
  2. Xalf provides (currently) four different types as "indicators", described below.

Invisible Window:
Xalf creates an invisible window, to be used in conjunction with a standard task pager like Gnomes tasklist_applet or the KDE Taskbar. The name of the window is the application name within parenthesis. The small window icon (KWM_WIN_ICON) is set to a small hourglass. This indicator is default.

Splash screen:
An generic splashscreen is displayed during application launch.

Mouse cursor change:
Xalf adds an hourglass symbol to the mousecursor for the root window and the Gnome panel. Note that the cursor is not changed for the Gnome foot-menu windows.

Animated star:
An animated indicator resembling the look of that on SGI/Irix machines (a kind of yellow animated star).

INSTALL

See the file INSTALL.

SUPPORTED PLATFORMS

The main platforms for Xalf are Linux and Solaris. People have reported that Xalf also runs on FreeBSD and Irix. Newer versions are only tested on Linux and Solaris. If you want support for other platforms and are willing to test beta-versions, contact me.

GNOME INTEGRATION

Xalf is included with GNOME 1.4. Xalf also works with earlier GNOME versions if you have Gnome-libs version 1.2.11 or newer.

You can control Xalf via GNOME Control Center (or by editing ~/.gnome/xalf). Note:

You can prepend NO_XALF to desktop entries commandlines to disable Xalf for a specific application. This is especially useful for launching applications that doesn't start new processes but only creates new windows. Gmc works like this, so I recommend change "Exec=gmc" in /usr/share/gnome/apps/Gmc.desktop to "Exec=NO_XALF gmc".

KDE INTEGRATION

KDE has borrowed some Xalf techniques, and integrated them into KDE2. I don't know the current status of this work, though.

USING SAWFISH "Matched Windows"

Beginning with version 0.11, Xalf sets different WM_CLASS names for the different indicators. The class name is always set to "xalf". The instance name is set to "invisiblewindow", "splash" and "anim", depending on the indicator that is used.

This can be used with Sawfish to automatically iconify, for example, the invisible window. This can be done by:

  1. Create and match on Class: xalf/invisiblewindow
  2. Set its state to "Iconified" in the State pane.

THE FUTURE

Xalf needs to do quite many tricks to work. The principle with LD_PRELOAD is not very beautiful and there are many cases when it does not work. These issues were discussed on the Window manager specification mailing list. Most people (including myself) thinks that an Toolkit-based implementation is a better long term solution. Mary Dwyer at Sun Microsystems has begun working on such an implementation.

USAGE

If you are not using GNOME with built-in hooks, prepend xalf to your commandlines. For example, create an desktop icon running: "xalf gnumeric"

COMMANDLINE OPTIONS

   -h, --help               display this help and exit
   -v, --version            output version information and exit
   -t, --timeout nseconds   use a time-out period of nseconds seconds
   -n, --noxalf             do nothing, besides launch application
   -m, --mappingmode        compatibility mode: Do not distinguish between
                            windows. All new mapped windows turns off indicator
   -i, --invisiblewindow    use an invisible window as indicator (default)
                            (for use with Gnome panel, KDE taskbar etc)
   -s, --splash             use splashscreen as indicator
   -c, --cursor             add hourglass to mouse cursor
   -a, --anim               use animated star as indicator

-l, --title titlestring Title to show in the tasklist

Comments and bug-reports are appreciated.

/Peter Åstrand <astrand@lysator.liu.se>


Other Sites

Discussion Groups
  Beginners
  Distributions
  Networking / Security
  Software
  PDAs

About | FAQ | Privacy | Awards | Contact
Comments to the webmaster are welcome.
Copyright 2006 Sourcefiles.org All rights reserved.