Window Maker (logo by Klaus Klingmueller)
 FAQ

   SITE MENU...
 
 * know it
introduction  
features  
gallery  
people  

 * learn it
FAQs  
news archive  
documentation  
mailing lists  
IRC forums  

 * grab it
ftp area [http]  
mercurial  

 * use it
projects  
themes  
misc links  

 * code it
development  


   FAQ - CHAPTER 5

Chapter 5: Application Compatibility




5.1  How do I assign gimp an appicon?
You can enter the following line in WMWindowAttributes:

	gimp={Icon="gimp.tiff";};
Window Maker now can assign Icons from within the windowmanager. To do so, right click on the title bar of an app, click on the droplist->Icon and WorkSpace entry, enter the icon file name ( make sure this is in your pixmap path ), click update, apply, and then save.

5.2  How do I get an appicon for XEmacs 20.3+?

Thanks to Michael Hafner for this answer.

You don't need to patch the XEmacs code, just run

	./configure --with-session=yes (in addition to any other options you use)
in your XEmacs 20.3+ sourcedir and rebuild it. Then XEmacs shows an appicon when running and you can easily dock it.

5.3  Where do I get the nifty clock program I always see on people's desktops?

It's called asclock. Once included with Window Maker, it now is available at ftp://ftp.windowmaker.org/pub/contrib/srcs/apps/asclock.tgz

asclock was written by Beat Christen and used to have its own website, which seems to have disappeared. However, references to it exist all over the place, and can be found by searching Google. Beat Christen wrote this awhile back:

"Please note that the asclock-gtk version 2.0 beta 4 (asclock-gtk-2.0b4.tar.gz) does not have the -d switch yet and that the asclock-xlib-2.1b2.tar.gz does not have the shaped asclock builtin."

A wonderful alternative to asclock is Jim Knoble's wmclock. It duplicates asclock and adds some much needed improvements.

5.4  How do you dock asclock?

It is highly recommended that you use the asclock mentioned previously in question 5.3. The asclock that is typically included in AfterStep will not properly dock with Window Maker. At this point, there are at least four or five different versions of asclock floating about.

For older versions such as asclock-classic , use a command line similar to

	asclock -shape -iconic -12 &
For newer versions such as asclock-xlib 2.0 and asclock-gtk use

	asclock -shape -iconic -12 -d &
Drag it from the top right corner of the clock to the dock. Right click on the icon and select autolaunch.

In order to make asclock launch every time you start Window Maker, right click on the outer edge of the border for asclock until a menu appears. Select the "Settings" item and then select the "Lauch this Program Automatically" option then select the "OK" button.

If you get an error such as sh: /dev/console: Permission denied, login as root, cd to /dev/ and run

	./MAKEDEV console

5.5  Where can I get more dockapps?

The Window Maker team got tired of people E-mailing constantly asking where the websites for obscure dockapps disappeared to. So we've created the ultimate dockapps community website. Visit dockapps.org for the latest, up-to-date links, information, and download for Window Maker and related dockapps.

Another large index of dockapp links is available at http://www.bensinclair.com/dockapp . The downside to this is that they're only links, so if someone stops maintaining a dockapp, or their web hosting provider cuts them off, you won't be able to get to it. Still, Ben Sinclair's site was the first big "dockapp warehouse" site, so we give credit where credit is due. :)

5.6  How do I get an appicon for rxvt so I can dock it?

The default rxvt that comes with most distributions is an outdated version of rxvt. The newest development version of rxvt is availible from ftp://ftp.math.fu-berlin.de/pub/rxvt/devel/. As of the time of this writing, the version is 2.4.7 and it natively produces an appicon without a patch.

John Eikenberry has also created an rpm which is available from ftp://ftp.coe.uga.edu/users/jae/windowmaker

5.7  How do I allow Alt+# to work in an rxvt/xterm session?

First, Launch a unique instance of rxvt or xterm. This can be done using the -N option of rxvt.

rxvt -name foo -e irc

Then, go to the Attributes menu ( right click on titlebar -> Attributes) / Advanced Options and enable "Don't Bind Keyboard shortcuts". Click Save and Apply and you should be able to run your session without the shortcuts.

5.8  How do I get different icons for different rxvt's and xterms?

The hint is the -name option for xterm or rxvt. This will allow you to change the exact WM_CLASS in the attributes menu and assign a unique icon.

	rxvt -name foo -title Testing
Then Right click on the title bar to bring up the attributes menu, and you will be able to edit the properties for foo.XTerm (ie: assign a unique icon).

5.9  How do I launch multiple instances of XTerm from one appicon?

Thanks for the update by Sara C. Pickett:

The easiest way to accomplish this is to dock XTerm as normal. Then Go to the Attributes menu -> Application Specific and select no application icon for XTerm.

Then right-click on the docked appicon and select settings. Change the Application Path with arguments section to

	'/bin/sh -c "exec xterm &"'

5.10  Window Maker breaks scilab.

If you refer to the problem of the "graphics" window of scilab not showing up in Window Maker, this is caused by a bug in scilab. You can see the cause of the problem by yourself, by running xprop on the graphic window: WM_NORMAL_HINTS(WM_SIZE_HINTS):
                user specified location: 136679205, 1074468360
                user specified size: 400 by 300
                program specified minimum size: 400 by 300
Now, when scilab opens it's window, Window Maker nicely does exactly what it is told, that is, map the window at position 136679205, 1074468360 which obviously falls outside the screen no matter how big is your monitor ;)

Meanwhile, the workaround for this is to open the window list menu (click on the root window with the middle mouse button) and click on the ScilabGraphic entry. The window should be brought to your reach. Then, open the window commands menu (right click on window's titlebar) and open the Attributes panel. Go to the "Advanced Options" section, check the "Keep inside screen" option and save.

If you can recompile Scilab, this came from a Scilab developer:

replace

 size_hints.flags = USPosition | USSize | PMinSize;
with
 size_hints.flags = /** USPosition |**/ USSize | PMinSize;
in routines/xsci/jpc_SGraph.c

5.11  How do I get a transparent xterm/rxvt/xconsole?

You need a terminal emulator that has support for transparency, like Eterm, the latest rxvt, wterm, aterm or gnome-terminal.

You can find these programs on http://www.freshmeat.net

5.12  How do I dock an arbitrary console application like mutt?

There are two key things to do if you want a program (such as mutt) to be able to start in a terminal window from the Dock or the Clip:

(1) Make the terminal window start the program you want to run instead of a shell. Both xterm and rxvt (and its descendants) are capable of doing this. For example:

        xterm -e mutt
        rxvt -e mutt
	gnome-terminal -e mutt
(2) Convince Window Maker that the resulting terminal window is not a regular terminal window, but rather some other program instance. Both xterm and rxvt are also capable of doing this. Make sure that -e is the last command option. For example:

        xterm -name muttTerm -e mutt 
        rxvt -name muttTerm -e mutt
	gnome-terminal --name=muttTerm -e mutt
This causes the instance of the terminal window that you start to have an <instance-name>.<class-name> pair of `muttTerm.XTerm' (usually rxvt's class is also XTerm; don't know about its descendants, such as wterm and Eterm).

Do not use spaces or periods in the instance name. For example, these are BAD instance names:

       xterm -name mutt.term -e mutt 
       rxvt -name 'mutt term' -e mutt
Window Maker will not like you if you use them.

With a different instance name, you can now do the following:

- Dock the resulting appicon in the dock, or clip it to the Clip.

- Assign a different icon and different window properties to the `special' terminal window running your program (make sure you choose the exact `muttTerm.XTerm' window specification in the Attributes editor).

- Specify different resource settings for muttTerm in your ~/.Xdefaults file (e.g., different default foreground and background colors).

There are a few other non-key things you can do to complete the process:

(3) Tell the terminal window to display a more meaningful or prettier title and icon title than what gets put there due to `-e'. For example:

        rxvt -title 'Mail (mutt)' -n 'Mail' -name muttTerm -e mutt 
Xterm works the same way.

(4) These are getting to be a lot of command-line options. Make a wrapper script to use so you don't have to remember them all:

        mkdir ~/bin
        cat >~/bin/muttTerm <<EOF
        #!/bin/sh
        rxvt -title 'Mail (mutt)' -n 'Mail' -name muttTerm -e mutt
        EOF
        chmod +x ~/bin/muttTerm
Now you can do the same thing as that really long command in [3] above using the simple:

        ~/bin/muttTerm
If you put ~/bin in your PATH, you can use the even simpler:

        muttTerm
(5) If you want to be sly, you can change the docked muttTerm to use your new wrapper script instead of the really long command; then, when you want to change anything in the really long command except for the instance name, you can just change the wrapper script, and it's done. Here's the procedure:

(a) [RightButtonDown] on the muttTerm dock tile

(b) Choose `Settings...'

(c) Replace the text in the `Application path and arguments' field with the following:

              muttTerm
(d) Choose `OK'

Note that Window Maker needs to know that ~/bin is on your PATH for this to work; you may need to exit your X session and start it again.

To change the instance name of the terminal window (e.g., from `muttTerm' to `mailTerm' or `blah' or `terminalWindowRunningMutt'), you need to do the following

(e) Change your muttTerm script (f) Undock your old muttTerm

(g) Run your muttTerm script

(h) Dock the resulting terminal window

(i) Do the stuff in [a] through [d] above again.

Good luck.

Thanks to Jim Knoble for this answer.

5.13  How do I get an appicon for Netscape?

If you are not using one of the latest Navigators, you can

1) Right click on the title bar

2) Click ``Attributes''

3) Select ``Advanced Options'' from the pull down menu

4) Select ``Emulate Application Icon''

5) Click Save

and older netscapes should now produce an application icon.

If you are using a newer rpm from Redhat Linux, try running

	grep irix `which netscape`
This seems to have been introduced in their 4.7 update. Comment out irix-session management restart netscape. Alternatively, you may run either

	/usr/lib/netscape/netscape-communicator
or
	/usr/lib/netscape/netscape-navigator
depending on which rpms you have installed.

5.14  How can I dock an application from a remote machine using ssh?

This answer asumes that you have already set up RSA authentication using ``ssh-keygen''. To be able to launch applications
 without being prompted for the password, you can use ``ssh-agent'' and
``ssh-add'' as follows.

With the addition to ~/.xsession of

	eval `ssh-agent`
	ssh-add /dev/null
just before
	exec wmaker
Then ssh will no longer prompt for the RSA-key passphrase. The ``/dev/null'' argument to ``ssh-add'' causes it to use the ``ssh-askpass'' graphical dialog.

The following procedure shows how to dock a remote xterm using ``ssh''. This procedure should work well for any well-behaved X11 application, including most Dock applets.

1) From a terminal window, start an ssh session with ``xterm'' as the command:

        ssh -a -C -X remote.example.net "xterm -name blah"
(The '-a' switch turns off agent forwarding, for security reasins and the '-X' switch turns on X11 forwarding, required for the remote xterm to run. The -C option turns on compression, very useful for things such as X)

2) When the remote xterm appears, find the appicon. If it's not already in the Clip, drag it there.

3) [RightButtonDown] on the appicon and choose 'Settings...' from the menu. Note that the 'Application path and arguments' field contains only:

        xterm -name blah
Change that to:

        ssh -a -C -X remote.example.net "xterm -name blah"
The backslashes and double quotes are critical. Change the contents of 'Command for files dropped with DND' in the same fashion, putting '%d' inside the double quotes.

If you wish, change the icon so that you can recognize the tile easily. Press 'OK'.

4) [RightButtonDown] on the appicon again and choose 'Keep Icon(s)'.

5) Exit the remote xterm. The new Clip tile should remain, with the three dots at the lower lefthand corner to indicate the app is no longer running.

6) [DoubleClick] on the new Clip tile. You should get the remote xterm again after a short while, depending on the speed of your network and of the remote machine.

7) You may either leave the remote application in the Clip, or drag it to the Dock.

[NOTE: You should be wary of docking something like ``wminet'' or ``wmnet'' in the manner, since you may create a feedback loop by causing additional network traffic, which the program monitors, causing yet more network traffic... ]

5.15  How do you make an omnipresent window not take focus whenever switching workspaces?

Typically, on applications like xmms, they are set to omnipresent so they will appear on every workspace. This causes the app to often get the focus unintentionally when switching workspaces.

To remedy this,

1) Bring up the ``Attributes'' menu. You can do this by [Right Clicking] on the title bar and seletcing ``Attributes''. Alternatively, you may hit 'Control+ESC' at the same time to bring up the title bar menu on apps that do not have a title bar.

2) In the ``Window Attributes'' menu, select ``Skip Window List''

3) Push ``Save'' and then hit the close dialog window icon in the upper right corner of the window frame.

Now the window will not take focus when switching workspaces.

[NOTE: this will also make the window non-focusable via keyboard window switching. The only way to shift focus to the window is via the mouse. ]


 


Window Maker is © [1997 - 2010] Alfredo Kojima
We welcome community feedback related to the project.
Read the disclaimer for licensing information and other details.
 Your Next Window Manager!
The Window Maker window manager is in no way associated with Windowmaker, the world's leading software for windows and doors.