Spleet – organize your wide screen desktop

A couple of weeks ago Jeff Atwood of Coding Horror wrote about the paradox of large displays. He mentioned two tools that helped him manage the overlapped windows on his giant monitors, WinSplit Revolution and GridMove. I tried both and neither had the feature I wanted most – splitters I could drag to resize the windows relative to each other.

I too use a couple of 19″ monitors and although they are plain old 4×3, I still Spleetoften have the feeling that I’m underutilizing my screen space. This issue has been on my mind for the longest time. There’s some code on my HD called TidyDesktop that I wrote about 4 years ago. The idea was to turn the desktop into something akin to modern IDE’s, with floating windows, dock points and most importantly splitters – those narrow bars you drag to change the relative size of windows. I was doing it in C at the time, playing around with windows hooks and message loops and it was going very slowly. I did get to a point where a single window could be dragged to the edge of the screen and it would dock there, but didn’t have the time to see it through.

I was thinking about this yesterday, and it suddenly dawned on me that I was going about this the wrong way. Instead of trying to bring the splitters to the desktop, I could try to put the windows within a large container window, a general purpose IDE if you’d like.

Turns out you can change the parent of an application’s window and attach it to another window. Not only that, but when you maximize the inner window, it stays within the borders of the container window.

Based on this idea I’ve build a wxPython application that can host other applications’ windows and it looks like this:

Spleet screenshot

As you can see in the screenshot, I’ve arranged Firefox, Notepad and a command prompt in a nice way that allows me to use all of them at once. You can also use this technique when you watch online movies and want to jot down some notes or when you’re playing the guitar and need both the chords and the lyrics alongside on the screen.

This should really boost productivity, but don’t take my word for it,
try it out and let me know how it goes.

20 Comments on “Spleet – organize your wide screen desktop”

By Michael. August 25th, 2007 at 04:52

Thanks, this is great!

Feature request: when the splitter is moved all the way to one side, I want some way to move it back.

By Pau. August 25th, 2007 at 09:52

Are you willing to post the source code? I’d love to have it running on my linux box.

Seems very nice!

By gooli. August 25th, 2007 at 09:59

It’s a bug. I’ve uploaded a fix.

Unfortunately it involves some black magic with Win32 API and can’t be ported anywhere. I’m not even sure it works correctly on Vista :).

By Pau. August 25th, 2007 at 11:27

If you ported it to gnome I think it would be a very good addition to any desktop, some of us are still stick to multi-gnome-terminal only for this feature :)

Thanks for you answer

By Robin Munn. August 25th, 2007 at 16:15

I clicked on the “paradox of large displays” link expecting to be taken to Jeff Atwood’s article, and instead discovered that the link points to a .PNG of the Spleet logo. Any idea how this could have happened?

By gooli. August 25th, 2007 at 17:54

I guess that’s what happens when you try to post at 3AM :). Thanks for the heads up, the link now points where it is supposed to.

By Just another WordPress weblog. August 26th, 2007 at 21:46

[...] Eli Golovinsky: Spleet – organize your wide screen deskop [...]

By Sean. August 27th, 2007 at 14:44

Wow… very neat! This reminds me of another app that I really wanted someone to write… so I’ll pass along my idea. :)

I’d like to be able to create regions on my desktop for my shortcuts. Almost just like Spleet works, but for icons instead. In the top right I would keep my gaming icons (just drag to that area, and let it auto arrange them), in the bottom right would be misc files, excel docs, etc… working documents. At the top would be my applications, etc. Thats the best way I know to describe it. I guess there would be an “unsorted” area as well. How possible do you think something like that is?

Anyhow, Spleet is very cool… like it a lot so far. :)

By Sean. August 27th, 2007 at 14:46

Ooh, I just thought of an idea – sorry for the second post… it would be GREAT if you could have tabs for each “area” in Spleet. For example, on my right monitor I have Outlook running. I’d like to also put Thunderbird in the same area and tab between Outlook and Thunderbird.

By gooli. August 27th, 2007 at 14:50

Thanks for the nice words. Spleet needs a bit more polishing, but after it’s more stable I might get into organizing the icons on the desktop. As for tabs in each part – I’m already on it. Stay tuned :).

By Kevin Smith. August 27th, 2007 at 17:20

Awesome. I’ve been looking for something like this for years.

By Ido Schacham. August 29th, 2007 at 16:56

Cool stuff dude!

By Kevin. August 30th, 2007 at 04:19

Nice job and neat app. Are you using the SetParent API to make the windows a child window of your app’s? Were there any issues due to the fact that they are separate processes?

I’m interested to see how it develops. Thanks for sharing it. :)

By gooli. August 30th, 2007 at 07:38

Yes, I’m using SetParent and there are some issues. I think I’ll have to resort to some advances API injection techniques like the ones described at http://www.codeproject.com/system/hooksys.asp.

By hanan yehuai. September 25th, 2007 at 13:14

i think in your subconscious you miis the Split control. Gilad will be flatered.

By Some Nice Software :) at Artistik Intelligence Agency. November 28th, 2007 at 01:03

[...] gooli.org – Spleet – organize your wide screen desktopWinSplit Revolution (**** – Free REVCENT & French DEV)GridMove (****) [...]

By 3 Bon manager de frenetre pour grand écran de la concurence pour win titles plus « simple, usefull , efficicente TIC. November 28th, 2007 at 01:12

[...] Bon manager de frenetre pour grand écran de la concurence pour win titles plus gooli.org – Spleet – organize your wide screen desktopWinSplit Revolution (**** – Free REVCENT & French DEV)GridMove [...]

By Peter. December 2nd, 2007 at 15:37

This is a very potent tool!

Is there a way to have my entire desktop into the big left pane?
I think this functionality will improve your application significantly.

Thanks, Peter
The Netherlands

By IleneNorman27. March 7th, 2010 at 05:25

Don’t you understand that it’s correct time to receive the personal loans, which will make you dreams real.

By Oren P. October 4th, 2010 at 20:25

Great Idea! Keep it up.