(OT?) Twindy Linux Window Manager Released (now v0.4)


#1

This should probably go in the linux section, but I reckon more people watch this part of the forum…

I’ve got my Tracktion-inspired window manager working :D. It’s not perfect, and this is only really a proof-of-concept release, but the basic functionality’s there. Basically, instead of providing nice window frames to drag windows about, Twindy forces windows into one of two areas - an upper panel which can hold multiple (tabbed) windows, and a lower (‘properties’) panel which holds just one. The idea is that you’d do your main work in the top panel, and use the lower panel for a terminal or a file manager - some program you’d want to keep open while you’re working.

You can see a screenshot here.

I’ve had to modify JUCE slightly (and it’s not the latest version - v1.11 IIRC) in order to be notified when new windows are created, so the download includes the modified version (search for comments beginning Twindy - I think it’s just juce_linux_windowing.cpp, juce_linux_messages.cpp and juce_MessageManager.h I altered). You don’t have to build it separately though - I’ve set up a configure script, so you just do the usual ./configure - make (- make install).

The only real drawback at the moment is that JUCE (well I think it’s JUCE’ fault, and not mine) crashes when you try and open a window in an empty X Server, so you need to kind of ‘bootstrap’ it, like so:

That just opens an xterm which starts Twindy - I’m assuming it’s run in Xnest on display :1.

Download from here.

  • Niall.

#2

wow - the wacky world of window managers! Nice job!


#3

I’ve just uploaded a new version - it’s a lot more stable now and looking more like a full-featured window manager (well, it’s closer to my original idea for it, anyway). The only significant feature missing is the dialogs to edit the colours and application buttons/menus.

Some new features:
[list]You don’t have to start it from an xterm anymore (I fixed this by changing the “wm_Protocols = XInternAtom (display, “WM_PROTOCOLS”, 1);” line to “wm_Protocols = XInternAtom (display, “WM_PROTOCOLS”, False);” in juce_linux_Windowing.cpp).
There are now fourteen user-customisable buttons in the lower right corner.
The lower right buttons can now display popup menus when clicked (if you want them to).
You can set it to launch programs on startup (particularly useful for gnome-settings-daemon).
Clicking the clock switches between displaying the current time, and displaying the date.
It now displays the correct title for all windows (i.e. terminals usually show something like “niall@~” depending on your current path - this is updated correctly now).
A couple of bug fixes to stop it crashing with certain programs (Anjuta, gedit).
Using JUCE v1.14 now.[/list]
I’ve added a couple more screenshots to the webpage as well.

  • Niall.

#4

In case anyone’s interested, I’ve now updated Twindy to v0.3. This version’s mainly cosmetic changes, to make Twindy scale better across different screen resolutions, and generally just look a bit cleaner all round.

  • Niall.

#5

…And another update: it now has a graphical preferences page, workspaces and a tracktionscheme editor (though it doesn’t edit all the colours, since Twindy only uses a small subset).

  • Niall.

#6