A few features:
.. this domain appears to have dropped off the internet, but an archive Whim-2399 is available in the Half Bakery: https://wiki.tcl-lang.org/_repo/Whim-2399.tar.bz2
http://whim.linuxsys.net/site/23
April 19, 2009
Whim-2399 was released. See the home page. It has an important bug fix.
April 14, 2009 "More than a Whim" [L1 ] is a light introduction to Whim and related matters.
Dec 16, 2008
George Peter Staplin - Whim-2261 has been released.
Changes include:
http://whim.linuxsys.net/files/Whim-2261.tar.bz2
See the website for an md5sum, if needed.
Dec 13, 2008
George Peter Staplin - Whim-2235 has been released.
Important changes include:
http://whim.linuxsys.net/files/Whim-2235.tar.bz2
Nov 26, 2008
George Peter Staplin - Whim-2193 has been released. Many whimcompmgr (a compositing manager) changes have been made, and several bugs have been fixed in Whim. The compositing manager is now reliable and fast enough that I run it all the time. The CPU usage is also much better.
The source tarball is available from here with a configure.tcl: http://whim.linuxsys.net/
Who wants to create a Desktop Environment with me? :)
We could also use a Whim kiosk edition, and tiny Whim (for embedded devices).
Is there a need for more Starkits? A problem is that Linux binary compatibility (or lack thereof) means that I must build Whim's extensions in a VM on an old version of Linux to have things work for most distributions.
Sep 17, 2008
George Peter Staplin: We're now at Whim beta 2134. This fixes a maximize bug, and eliminates the need for the set.config root_width/root_height knobs.
Get the latest source tarball here: http://whim.linuxsys.net
See also: Ubuntu Installation here: http://whim.linuxsys.net/site/92
Sep 15, 2008
George Peter Staplin: I'm pleased to announce the availability of Whim beta 2128. There have been some changes, and many improvements.
New Features
It has been tested by me with the latest stable Ubuntu with Tcl/Tk 8.5 and 8.6. I normally use 8.6 though.
Please report bugs or feature requests under Issues at http://code.google.com/p/megapkg/
The latest and greatest release is available in an easy to build minimal source tarball from: http://whim.linuxsys.net/site/0
If you're uncertain which files you need to install to build it, try using apt-file (you may need to install it).
Caveat: you may need to use these set.config in your ~/.whim_config (they are for my 1280x1024 display):
$ cat /crypt/gps/.whim_config set.config root_width 1280 set.config root_height 990 on startup { start.applet "digital clock" $::current_desktop }
It's hoped that eventually we will go back to using automatically determined root sizes.
George Peter Staplin Mon Mar 17, 2008 : We have new builds of Whim and Whim2 on http://whim.linuxsys.net
As usual if you want the latest and greatest sources checkout megapkg. There may soon be a small Whim package with sources, and everything needed for a minimal WM, without the need to checkout megapkg. There is also talk of creating several tight variations of Whim that are designed for different types of interactions, for instance in point of sale systems, and general desktop usage.
Whim2 is a new experimental project. It provides a compositing window manager without using some of the newer X extensions to do so. It uses NexTk and megaimage for the display objects. In the future it may use OpenGL, though it's uncertain. Right now it works with an adequate framerate for most applications with software rendering, even with a large 1280x1024 desktop.
escargo - The Whim set site says, "A tarball of binaries built in Ubuntu 7.0.4 (compatible with libc-2.5.so) is available...." Is that supposed to be Ubuntu 7.4? (And it's almost time for 8.4.)
George Peter Staplin - Nope, it's 7.0.4 (old with some patches) :-) I ran into some problems with upgrades, because of my old nvidia cards. So everytime I upgrade the kernel or X.org I have to recompile the nvidia kernel module, because Ubuntu's restricted-driver-manager uses the wrong driver. I don't even use the GNOME stuff, and right now it would be a hassle to upgrade everything. GNU/Linux is generally backwards compatible, but not always forward compatible with C programs, so I'm content using an older glibc/libc.
George Peter Staplin Mon Sep 17, 2007 Whim is actively developed again by myself and Steve. SRIV has sent me some patches and they have been merged into the core of Whim in megapkg. The sources for megapkg are here: http://code.google.com/p/megapkg/
escargo - I now have a Ubuntu box that I use to run Linux, instead of primarily using Cygwin. Will the packaging for Whim make it easy to drop in to existing Linux installations to replace the default window manager? Going to the Google Code repository I see that it's packaged for Ubuntu 7.10. That looks promising.
George Peter Staplin Hi escargo. I'm using Ubuntu these days. I added a newer build that I'm using today. It has better Java Swing hacks: http://code.google.com/p/megapkg/downloads/list Unfortunately Java Awt/Swing apps have problems in general with non-standard WM, so if it doesn't behave correctly it's not Whim's fault. That said I use Java apps and they all work correctly now. See this message for more information about the kind of bugs Java Swing apps have, and what to look for: http://lists.freedesktop.org/archives/xorg/2005-October/010527.html
SRIV Nov 7, 2005 New Whim website located at http://whim.linuxsys.net
This page will get rearranged to maintain user comments and suggestions
Whim is a window manager written in Tcl that utilizes Tk, and optionally Tile.
The core logic is written in Tcl. A small C extension (pwm.so) provides necessary Xlib and Tk C function access.
Whim supports multiple desktops. Each desktop is a canvas, so you can draw many different types of things, easily! You can extend your interface as you like! It's possible to create widgets that are integrated into your desktop, for macros, or common tasks.
Whim comes with the ability to configure its behavior on the fly without editing configuration files. There is a Behavior desktop menu, and an interactive console.
A starkit based on Whim 308-beta-4 for Linux that is known to work with tclkit 8.5 is available here: http://server.linuxsys.net/files/Whim308.4.kit
A multi-platform Tile Starkit that works with Whim is available here: http://prdownloads.sourceforge.net/tktable/tile07.kit?download
To use the Tile Starkit you need to put the tile.kit/tile07.kit into a directory in your $PATH. Whim should find it, and use it.
For an ~/.xinitrc you can use:
tclkit8.5 /path/to/Whim308.4.kit
That should work with startx. It's also possible to start Whim from an xterm as long as an existing WM is not running.
Bugs have been fixed since the last available Starkit, and many new features have been added.
Note: you will probably experience segfaults if you try to run the Starkit with an 8.4 Tclkit, because of the stub incompatibilities.
LES on 2009-Jul-12: All the information available regarding Whim is terribly outdated. The entry/download page offers bz2 packages for download only. Then the documentation says one should run Whim like this: tclkit8.5 Whim433.kit. But where is that .kit file? Nowhere to be seen. I use Tcl myself, and I can't remember anymore how to build a Starkit. So I'll have to research that. How many visitors will be willing to deal with that additional step? How many visitors will even guess that Starkits are relatively easy to build? How many will just give up?
Since I am familiar with Tcl, I know some info can be found here. This wiki page (not the official site) mentions Whim308.4.kit and it is indeed still available, but it dates back to May 18, 2006. More than 3 years! This page still mentions also the sriv.net site, which isn't available anymore. I could find the current location of Steve's stash, but there are only old files there. Even the Whim433.kit file mentioned in the documentation isn't there, the newest is Whim400-3.kit. The Whim file directory [L2 ] has newer files, but no current Starkit. The Known Issues page is also three-years old. Many parts of the site is so outdated no one would be blamed for assuming the site is abandoned.
My suggestion:
gps 2009-July-15: LES, I appreciate your effort to help yourself. The Starkits aren't there, because it is difficult to build a portable Starkit with C extensions that runs correctly and depends on glibc with Linux. It seems that there was often some ABI incompatibility beyond our control. This is not a flaw in the Starkit technology, it's a flaw in GNU, Linux, and the hundreds (thousands?) of distributions. From my perception, this is something beyond our control.
In the past, I have updated some of the documentation, and Steve has as well. If you want the latest, then the tarballs should work best.
It's a difficult and often thankless job to develop OSS/free software. Having other work that must be done also, takes away the free time to experiment, and polish things. In any case, you don't want excuses, and neither do I.
I can understand the desire of something for nothing. Wouldn't it be nice if ... Wouldn't it be better if ... Ideas are often free, or easily gained. Work takes time. Making the do, be done. Yet another excuse...
It's easy to feel entitled to something that is a privilege in this world. Yet another justification...
If you see something that can be improved, and you are capable of producing patches, then you might send them to me or Steve. We might apply them, and things might gradually progress.
At this point, as you might imagine if you put yourself in my shoes, your efforts have had the inverse effect, and will not lead to what you seek. Yet more blame/justification/excuses...
"No one would be blamed for assuming the site is abandoned" -- except me?
Thanks :-)
Feel free to join in the fun, by sending patches or new design ideas.
"All new features must be approved by the Whim Steering Committee" ;)
Bryan Oakley 3 May 2005 - any chance for a MacOSX port? SRIV 3 May 2005 - it should be possible, as long as you only run X apps.
escargo 11 Apr 2005 - I have fond memories of using TkDesk, which provided application launchers and icon bars. I know I've seen independent app launchers out there, but I don't have any bookmarks on this machine for them. Do you know what format your going to be storing your configuration info in? It's worth thinking about now.
George Peter Staplin: At the moment the configuration is stored in several scripts that are evaluated and stored in ::env(HOME). ~/.whim_behavior has the automatically generated set.config commands based on (most) of the Behavior menu. ~/.whim_config is now used for user overrides. ~/.whim_menus contains the menu commands.
escargo 9 Apr 2005 - Here are a few questions.
SRIV 9 Apr 2005 - Answers:
Here is a screenshot of Steve's slightly modified version (he also uses Whim on a 3 monitor display now):
May 3, 2005 SRIV Whim Mini How-To
Download Whim.kit [L3 ] and tile05.kit [L4 ] . These are for Linux-x86.
Create a ~/.xinitrc file to launch Whim such as mine:
# start of .xinitrc X -dpi 100 & LD_ASSUME_KERNEL=2.4.30 Whim.kit mozilla srfiles.kit xterm # The first arg to whim.kit is the name of the app # that gets launched when double-clicking on the desktop. # The 2nd & 3rd args are for button-2 and button-3 # app launching.
place Whim.kit and tile07.kit in your path, chmod +x on each
run startx
D. McC: Nov 7 2005 - This method didn't work on my Mandriva Linux 2006 system; see below for what did work.
George Peter Staplin: IMO the X -dpi 100 stuff that Steve used was never needed, and could be causing problems, and the LD_ASSUME_KERNEL is no longer needed from what I've heard in Linux. I updated the ~/.xinitrc example towards the top of this page.
JMN 2005-09-12 This is a really nice piece of work -thanks for sharing!. I'm running it on FreeBSD and it's both fun & educational to be able to hack at your desktop-behaviour using Tcl :)
I'm wondering though how I would go about making a window switch to another desktop? I've put in a little popup context menu on the titlebar of windows.. but It seems to me that the path of a window is tied to the desktop it was originally created in.. so it needs to be 'reparented' somehow. Any tips?
George Peter Staplin: 2005-09-21 I implemented this. Now you can right-click on a titlebar and move a window to another desktop.
Sometime soon I'd like to make a more prominent announcement for Whim. It's working so well now that I feel better about announcing it to more places.
The desktop applets in recent releases have been a lot of fun. Steve wrote 2 interesting applets that I want to merge. He has one that displays the RSS feed from the Tcler's Wiki on a desktop, and another that is a weathermap that is dynamically updated by downloading the latest map from a government weather site.
I've been working on an IPC method using shared memory and semaphores to possibly improve the speed of applet IPC. However this might be too much of a micro-optimization with little benefit. The choice of using a pipe, shared memory, or sockets and shared arrays goes round a lot. At the moment I like the idea of shared arrays over sockets for extending Whim, because it would mean it's easier to add new applets. Starting applets from a friend's server on my desktop over the network seems like it would be cool too.
In the future we would also like a Whim configuration tool. I want this to run as a separate process, and communicate with send or sockets.
[ANON] 2005-09-12 I just gave it a try as a tickled VNC-Desktop and I must say: "Nice Work!". Then I patched the thelp.kit to use tile and to be used as the main browser on Whim's <Double-1> (instead of mozilla). All works fine, except theme changes are not recognized. Sorry, but is there a global event to be handled by my patched thelp.kit?
George Peter Staplin: Well ANON, the problem is that Tile themes are not globally changed yet. SRIV has a project called Stargus that he's told me will do this. I'm not sure what its status is. Perhaps he will speak up :)
escargo 12 Sep 2005 - I think it would be interesting to add Tequila for your arrays; that would give the possibility of remote control over the desktop. You could even build in desktop sharing if you made some of the right arrays as shared. You would even get persistence in a Metakit backing store if you wanted. SRIV I've done it, but tequila didn't meet my needs. It's geared toward typical client/server configurations, but I'm more interested in a peer-to-peer type of config, so that the host system doesn't have to explicitly start a server. Also, tequila had poor response to network disconnects. After much hacking, I failed to shoehorn tequila into a successful IPC scheme. Using a modified version of Zarutian's shared-array code, I've got a fast, autonegotiating, simulated, peer-to-peer, shared-array system that so far has been very robust. It's still a work in progress.
escargo 13 Sep 2005 - You should share your shared-array code. I would be interested in hearing how your code differs from Tequila.
AM (13 september 2005) Just a thought:
Last week in my newspaper, there was an article about elderly people willing and desiring to work with computers and cellular phones. But as these devices are gaining more and more functions, they soon get lost. They "cry" for a simple machine with just a few functions, clearly accessible. Wouldn't a window manager like Whim be a very suitable platform to achieve that simplicity?
Functions that seem important:
(This page seemed to be a good place to store this ....)
George Peter Staplin: I recall you talked about this earlier in the chat, and your comment did not go on deaf ears :) I think Whim could be an excellent step towards such a system. In fact I wish I could build such a thing for my Grandma. She definitely finds most of the features in MS Word more detrimental to usage than helpful. The current methods of interacting with users are *not* ideal. The Raskin interface/Archy [L5 ] is supposed to aid in situations like this, but I'm not sure how realistic that will be (especially considering that Raskin is now dead).
AMG: "She definitely finds most of the features in MS Word more detrimental to usage than helpful." Your grandma is a very insightful woman. :^) I'm curious. What programs/user interfaces does she like best? Elderly people who use computers can (should!) be a valuable (and valued!) resource for software engineers.
George Peter Staplin: From my observation the applications/websites that work in a way she expects.
D. McC: Nov 7 2005 - Since I got Whim to work today on my Mandriva Linux 2006 system, I'm taking the liberty of deleting some previously posted material about how I couldn't get it to work. Right now I'm using "startx" rather than the graphical login, so I need a ~/.xinitrc file, of which the contents are:
# Here is my IceWM script that works: # wishcom -geometry +0+0 & # exec /usr/X11R6/bin/starticewm # # And here is my Whim script that also works: # Load WISH Command Center to launch apps: wishcom & # Now run Whim: exec /usr/local/bin/tclkit8.5 /usr/local/bin/Whim308.4.kit
IceWM sets my standard for a fast window manager, and my impression is that Whim runs at least as fast as IceWM. I like it! I think I'll use it most of the time instead of IceWM (with the KDE desktop running a distant third). A few other impressions:
SRIV Quick fix: add the following line to the end of your ~/.whim_config
after 1000 [list start.applet taskbar .desktop0]
SRIV Noted ideas. Basically, we are completing features that we want/need first, but, the goal will to be to have many traditional features available to make it work like other popular window managers. I personally have been running Whim since Feb 2005 and It is just the way I like it. Early adopters of Whim will obviously get first crack at having their preferences implemented first. I used to use IceWm exclusively, and comparing development man hours, Whim is quite useful considering how fast it was developed. Re: resize handles, by enabling Steves' Mods, you get resize capability when right clicking on the title-bar and moving the mouse, a feature not found on any other wm.
D. McC: Nov 9 2005 - Early adopter here, with "top three" list of preferences: (1) In addition to the unusual and intriguing right-click-on-titlebar procedure, the common and intuitive left-click-anywhere-on-edge-of-window-and-drag procedure (found on all other wms I can recall) should also be available for resizing windows. (2) Minimize and maximize/restore buttons. (3) Taskbar always on top.
Keep up the good work!
SRIV More details on my idea for resizing: the design is to allow for smooth repetitive size/move operations on windows. I have always found that sizing/moving in Windows and other wm's to be very frustrating, since the target area for a move is large (the titlebar) vs the target for a resize is small (edge or corner). Using my method, the cursor stays fixed on the titlebar (large target) and repetitive resize/move operations never "miss". Its meant to be extremely beneficial to those folks who are caffeine impaired during work hours :)
escargo 9 Nov 2005 - I have been a user of the Blackbox window manager[L6 ] for a long time. It's one of the fast, light window managers. It also has resize handles only on the lower corners of the windows. I have gotten used to that arrangement.
D. McC: Nov 10 2005 - "Handles only on lower corners" could remain as an option for the select few who want it. :o) I tried the "titlebar-as-resize-handle" option, and I liked it--but it disables the standard right-click-on-titlebar menu, which I need for convenient moving of windows between desktops. How about an option to use the *middle* mouse button (or, if available, the wheel) to resize windows? I don't think any other wm has *that* either, and it would be pretty cool to roll the window size bigger or smaller with the wheel. SRIV I have middle-click on titlebar that pops up the menu. George and I are discussing how to map every feature & function to all the binding & menus, so you can easily setup Whim to work just as whacky as you want :)
D. McC: I don't think my "top three" preferences are just personal preferences, though. It seems to me that, when it comes to "traditional features" to make Whim (optionally) "work like other popular window managers," these are the top three that Whim doesn't have yet.
Speaking of features that Whim doesn't have yet--are there some fairly detailed instructions on how to examine the existing code and submit new code? SRIV The source is a combo of c for the X interface extensions and pure tcl/tk for the majority of the functionality. Just unwrap the starkit and look at whim.img, which is the bulk of the code. All the new ideas have forced us to consider some more elaborate internal designs, so I strongly suggest that you collaborate with us on the tclers chat before you get carried away on modifications.
Felipe Voloch It is mentioned somewhere on the top of the page that Whim has been tested with linux ARM. I can only find Tclkit version 8.4 for ARM and Whim requires 8.5. Any suggestions? By the way, will the same Whim kit work for ARM? Thanks.
SRIV Firstly, there is an 8.5 tclkit on the tclkit download page, and I have compiled Whim for ARM on my Zaurus and it worked perfect. I've never had a call for it yet though.
Felipe Voloch Thanks, I found the 8.5 tclkit. So I have to compile Whim? I am also using a Zaurus, so if you could just make your version available, it will be appreciated.
SRIV Done! Grab the Whim308.5-arm.kit from http://whim.linuxsys.net/site/21 . I didnt do much testing or configuring, but it does load up fine.
escargo 10 Nov 2005 - I'd still like to try this on Cygwin; would that be coming anytime soon? SRIV Actually, I just loaded Cygwin on XP the other day. If I can get tcl/tk compiled in it, then Im guessing Whim should work fine. I may try later. Update: I give up, I have no idea yet how to even get tcl & tk to compile in Cygwin, even with my paths set to MinGW binaries. Anyone have any Cygwin notes? escargo - I was afraid it wasn't going be that easy....
VK 28-mar-2006 I just tried building on cygwin and only small quirk was required, see patch at [L7 ]. However I didn't tried with mingw, I tried GCC that comes with cygwin. I beleive mingw should be only "minimal for windows" and will not support X11... Of course I'll provide /opt binaries, if needed...
rdt 2005.11.20: On Nov 7 2005 D. McC showed how he got Whim to work on his Mandriva 2006 system. His xinitrc ends with
exec /usr/local/bin/tclkit8.5 /usr/local/bin/Whim308.4.kit
wouldn't it be nice if there was a "single" kit that contained the complete tcl/tk & whim package setup?
SRIV Nov 22, 2005 Its pretty trivial to convert a .kit into a standalone binary. Theres now one posted on the Whim site here [L8 ] , enjoy.
SEH 20060108 -- On the Whim home site there's a screenshot showing a file manager called petcler. Where can one find this program and is it Tcl-based?
SRIV Jan 8 2006 Petcler is pure tcl/tk. I haven't finished polishing a set of default filetype configs for linux/windows which must be done. There's an ipc mechanism that it uses for copy/paste between instances thats currently undergoing change, once that is tested then I plan on releasing it. It's the only filemanager I use now, so I've got most of the bugs/quirks worked out. Interestingly, I plan on shoe-horning in a mod of your sshvfs so I can manage files on my Linux servers with a cross platform tool.
SEH 20060526 -- Did you ever get around to finishing up Petcler?
RJ Jan 31 - Steve - have a look at Puppy Linux (http://www.puppylinux.org ), a minimal Linux distro with a Tcl bent. They spend a lot of time discussing which WM to distribute with the base distro, and I wonder if Whim might be the Tcl/Tk-based answer they are looking for.
escargo - Where precisely are they having this discussion?
RJ In various wiki pages (link of the main page) and John Murga's forum pages it comes up a lot. But Barry Kauler points it out in his FAQ: http://www.puppylinux.com/faq.htm about half way down "why not 'xyz' WM?" I am going to give Whim a try in my puppy and if successful will make it available as a dotpup package. Never tried either though, so wish me luck.
SRIV May 19, 2006 I uploaded a new Whim starkit to the website [L9 ]. It has 2 new features: It will start X if you run it from a console. So now you can try Whim without messing up your existing window manager configuration. Also, it will copy out default config files into your home directory if they dont exist so you have something to start with.
Also, If you run Whim from inside X WITH another window manager running, it will re-launch itself inside Xnest automatically, so you can try it from inside your existing X setup.
ZB - although didn't try Whim yet - currently I'm using IceWM - I would to ask you about a thing important for users of a desktops of "virtual size" - I mean: does Whim report as "screen size" the entire desktop size (wrong) - or the size of the visible part of the screen (as it should be)? Perhaps I should explain the whole thing:
All of the users of "virtual size" desktops (screen of much larger resolution than graphic adaptor is set to - so only part of such virtual desktop is currently visible on monitor's screen) surely know, how annoying could be the fact, that all(?) procedures used for actual screen size detection are reporting the "virtual resolution" - instead of the real one, I mean: instead of resolution of the graphic adaptor's screen - that visible part - which is just a part of the virtual screen.
As a typical consequence there are f.e. steady problems with java-driven webpages, which are resizing the www-browser's window to whole virtual resolution - and each time it must be "manually" resized to fit the visible part of the desktop, because it covers all of the desktop's contents. Another problem is, that "maximize" buttons are useless, because clicking it makes the same: an application window covers entire virtual screen, not just visible "window". But the main point in using virtual screens is to have all the needed things available - not one on top of another.
It was my "feature request" for Xorg to add a special option to xorg.conf, which can modify the X-server's response (for example: ReportVirtualResolution false - X-server answer gives real resolution, true - virtual res. like it's today) to the functions like getScreenSize() - but the guys from xorg-list told me, that it's wm depending(?). So, I'm asking here, can Whim do this?
George Peter Staplin 2007.09.20 : Hi ZB. I added 2 configuration knobs yesterday -- root_width and root_height. If you add to your ~/.whim_config the following it should work: set.config root_width 1024; set.config root_height 768 (assuming that's the size of your screen). The taskbar applet changes some boundaries, but other than that, the rest works now. So that will limit the maximize. I'm not sure if that will limit Firefox though, when it's not in a maximized state. I'll be happy to fix things for you, or apply patches you think help. The core logic of Whim is written in Tcl.