3 A WindowMaker dock applet to make any application dockable.
5 Copyright 2000 by Friedrich Delgado Friedrichs
7 (be sure to read the LICENCE file as well)
9 ===========================================================================
13 I wanted to have coolmail in my Windowmaker dock.
20 untar the sources by typing something along the lines of
22 zcat wmswallow.tar.Z|tar cvf -
26 where platform is currently one out of
27 xfree, solaris, solaris-gcc
29 The xfree target works under linux and freebsd.
31 Linux is tested best, since i'm hacking this stuff under linux (at
32 home). I have access to several Solaris Workstations (some sparcs, and
33 2 pcs) whith quite different Installations which i regularly use, so
34 the solaris target will at least get some attention. Solaris users
35 please read README.solaris for some hints.
37 Other Unices might or might not get happy with the xfree target or
38 some or other... I really think using autoconf/automake for this small
39 app would be overkill. If you devise a proper patch for a different
40 Unix-flavour, i will include it, but i might not be able to test it.
41 (I have currently access to FreeBSD and AIX, in addition to my
44 After compilation put the binary somewhere you like (e.g. in /usr/local/bin)
45 and in case you want to delete the Sourcetree, you might want to copy the
46 README to /usr/doc/wmswallow
50 to get a basic idea how it works.
54 Then some things you might try out are:
59 ------- wmswallow coolmail coolmail
60 (Will make coolmail docked, but it starts an xterm with mailx
61 per default so you will probably want:)
63 ------- wmswallow coolmail coolmail -e "xterm -n mutt -T mutt -e mutt"
65 ------- wmswallow glbiff glbiff
66 (glbiff is really a killer! Try it! (If you have some 3D
67 hardware) :-) Find it at
68 http://www.dgp.toronto.edu/~mac/projects/glbiff.html
70 ------- wmswallow asclock asclock -shape -exe plan
71 (Works with the unpatched "classic" version of asclock)
73 ------- wmswallow oclock oclock -transparent -minute red -bd green
74 (is one of my personal favorites)
76 ------- wmswallow tuXeyes tuXeyes --puppy
77 (a nice alternative to xeyes)
79 ------- wmswallow Lament /usr/local/bin/demos/lament -name Lament -geom 55x57
80 (/usr/local/bin/demos is where my xscreensaver demos are
82 This commandline demonstrates two things:
83 1. You can give a WM_CLASS on the commandline instead of a WM_NAME
84 2. Some applications don't handle resizing well and must get the correct
85 geometry on their commandline, which is always 55x57 for dockapps.)
87 ------- wmswallow xaos xaos
88 (This kinda obsoletes wmmand :-)
90 ------- wmswallow xload xload -nolabel -hl LightSeaGreen -fg LightSeaGreen \
92 (This is like wmload, but there is a frame at the edges which is a
93 little annoying, so wmload is a better choice)
95 ------- wmswallow -focus XTerm
97 1. wmswallow can swallow apps without starting them
98 2. it takes the first it gets
99 3. swallowed apps can take keyboard focus now! (Is that useful? I doubt
100 it, but i could not resist :-))
102 ------- wmswallow -geom 64x64 -getclick "xterm -e top" xeyes xeyes
103 (A more advanced example. The xeyes look better with 64x64 than
104 with the default width/height of 55x57, and since xeyes ignores
105 mouseclicks, we can grab them and execute an xterm on a click.
106 Note that you must poke xeyes right in the eye! :-)
108 ------- wmswallow -noshape -getclick gtop -geom 57x57 xload xload -nolabel \
109 -hl LightSeaGreen -fg LightSeaGreen -bg black -update 5
110 (This looks and behaves a little more like wmload. Executes
111 the "Gnome Systemmonitor" on a mouse click. The -noshape
112 option lets wmswallow ignore any shape the application might
113 have. I thought this would increase performance for some
114 apps, but it doesn't. [It just uses a very slight bit less
116 ------- wmswallow -unmanaged xteddy xteddy
117 (swallows the left ear of an xteddy, that will complain about it...
118 completely useless :-)
119 ------- wmswallow -focus bb xterm -bg black -fg white -T bb -fn "-*-*-*-*-*-*-2-*-*-*-*-*-*-*" -geometry 50x25 -e bb -driver curses
120 (utterly useless as well! :)
124 When should you *not* use wmswallow?
126 - In general, if a special dockapp for that purpose already exists, you
127 should use it, because every instance of wmswallow has a memory
128 footprint of about 600k, and a simple dockapp usually uses less
129 ressources. If the WindowMaker developers will one day choose to
130 implement "swallowing" applications as a feature in the WindowMaker
131 dock, this will probably a much more simple and clean solution.
133 - You should not swallow applications over slow network links.
134 First tests show, that 2 mbit/s are more than enough, but 90kbit/s get
135 terribly hogged if you run wmswallow on a remote hosts over such a
136 link. Note that i am not referring to your hardware, but to the
137 overall throughput that can be acchieved between the two hosts.
139 Have a lot of fun... :-)
143 The following people helped and/or contributed to wmswallow:
145 Dan Piponi <dan@mvfx.com>:
146 Makefile fix for FreeBSD
148 Jason Lowdermilk <lowdermilk@visto.com>:
149 diff to enable wmswallow really to look after the WM_NAME of a
151 Valuable suggestions and code on how to identify the wanted
152 window more reliably.
153 further valuable input
156 Giving me the idea to wmswallow, by constantly nagging that
157 WindowMaker cannot swallow apps :-) Next thing to satisfy this
158 dude, somebody will have to write a pager for WindowMaker
159 (like the one for fvwm) that works *without* gnome... Somebody
160 else will have to do that, since i don't like Pagers :-)