by Niall Moody.
Twindy is a window manager influenced by the workflow of the Tracktion (http://www.rawmaterialsoftware.com/tracktion) DAW software for OSX and Windows. The idea with that software (as I see it) is that everything should be on screen at once - there shouldn't be a mass of windows obscuring each other's contents like you get with other sequencers. Twindy is basically the result of me wondering whether you could use the same basic principle to create a window manager (although it maybe departs from the 'everything on one screen' idea with it's use of tabbed windows). If you're not familiar with Tracktion, Twindy's probably closest to Ion in terms of window managers, but with less flexibility in placing windows, and a bit more eye-candy.
Twindy relies heavily on the JUCE (http://www.rawmaterialsoftware.com/juce) library to handle graphics, file loading, and pretty much everything else. The version included here (based on v1.25) has been very slightly modified by me (search for 'Twindy' comments), so that Twindy gets notified when new windows open.
Twindy uses the usual ./configure; make; make install routine. The configure script takes two optional commands (--with-OpenGL and --with-Xinerama), to compile JUCE with OpenGL or Xinerama support, but these won't actually affect Twindy in any way, so it's probably not worth using them.
Either add a .desktop (see the included twindy.desktop example file) file to your /usr/share/xsessions folder if you're using gdm or kdm (well, I think it's the same process for kdm - I also don't know if this only applies to Debian), or run the following in a terminal (assuming you don't already have an X server running at :0): xinit <path>/twindy -- :0 Where <path> is the full path to the twindy executable.
When it's started, Twindy will look for a ~/.twindy folder, which contains a twindyrc file containing a couple of settings, and a Default.tracktionscheme file, used to determine the colours Twindy uses (yes, that's right, you can import colour schemes from Tracktion :D ). If it doesn't find these files, it'll create them for you. I've also included some simple tracktionschemes (DarkBlue, Grey, Milky, Sandy and Sea-ish).
twindyrc keeps track of all of Twindy's options, all of which may now be set using the preferences panel. Hopefully the options are fairly self-explanatory - you can set what programs are run when you click one of the lower left buttons, whether a button should popup a menu (and what goes into that menu), how many workspaces you have, and how they are themed, what programs are run on startup etc. There's also a simple tracktionscheme editor, though it should be noted that it only handles the colours Twindy uses, so any Twindy-created themes will probably look a bit strange if you load them into Tracktion.
Please let me know if you find any bugs or (especially) if you're knowledgable about X programming, and can see a way to make Twindy work better. This is the first window manager I've written, and most of it has involved me stumbling around in the dark, getting things to work by trial and error, so I'm in no way certain that my code is 100% correct.
(email to: email@example.com)