Day 22 - Jedi Window Dock
Tonights application allows you to dock any number of applications inside of a tabbed window. You can dock all your putty sessions together, put all of your instant message conversations on tabs, or perhaps you manage a ton of remote desktop sessions... All of these windows need not take up space on your taskbar any longer! Software Jedi to the rescue.
Any application, with the exception of console apps, can be docked. Some strange behavior has been reported with a couple of apps but it works fine for most.
After docking, you can right click the active tab and close the application - or undock it, which pops it out of the tabbed frame.
This app goes into my top 5 list for sure! For the new visitors, be sure to download the .NET Framework 2.0 first. Most of my applications require it!
Download the source here
Modded version (credit to DaemonCollector and dharh):
Fixed some huge bugs(not restoring window on popout and some smaller ones) added drag and drop tab control and added the ability to change the tab alignment
Also added some functions to the WinAPI thing in the utils librarary to make these work.

30 Comments:
It's called using the Windows feature to group similiar windows. This is your most retarded app yet.
i love this app and the group similiar is so not the same this is much better but is there a way to change the title bar i mean to like ims and so on in a setting i cant code but i would think it would be a simple add but i couldent do it if i tryed i done have any way to compile
This is so very cool
Thanks
Nice.
Doesn't re-focus the window if you select any part of it, need to select the title bar.
This thing crashed for me. It says the memory was corrupt???
Really cool! :) It would be great with the possibility to put the tab bar in the bottom of the window.
This thing is really awesome Jedi :) Too bas I couldn't make it to the chat last night.
-atomicSpatule
really good. All it needs now is a close button, so you don't have to do it using right click.
is any of the source for your apps available through krugle?
Very cool app. I just wanted to know, for this post, I saved it in Google Notebook so the direct links and everything were copied. After you finish the 30 apps in 30 days, are you going to remove the links from this blog and kill the links, or will they remain just the way they are (will they remain working)?
I saw a digg comment saying that it was broken on x64 systems. I noticed you are using SetWindowLong. From the MSDN documentation, it says you should use SetWindowLongPtr for compatibility with both 32-bit and 64-bit.
Yes, a close button or close on middle click a la firefox would be cool.
if i choose to popout an app, the title bar is gone. anyone else experiencing this?
Weird doesnt work at all for me, just closes as soon as I click add to tab :-(
anonomous at 4:02 am.. probably one of the most foolish things i could hear from somebody . Tabs are FAR superior to the window clustering. please don't random bash when you don't know what the hell you're talking about.. danke.
Hello!
There is a similar utility for console apps:
http://www.jpsoft.com/tcides.htm
(TCI = Tabbed Console Interface)
Cheers, Roman
I added a tab, clicked on it, and got "Error: attempted to read or write protected memory. This is often an indication that other memory is corrupt."
This was using a release build of the modded version.
When I built in debug, and ran from the debugger, no issues occurred.
Running outside the debugger causes the same issues.
build warnings:
C:\src\anappaday\JediWindowDockMod\AnAppADay.JediWindowDock.WinApp\MainForm.cs(52,17): warning CS1690: Accessing a member on 'AnAppADay.JediWindowDock.WinApp.AppWrapperControl._info' may cause a runtime exception because it is a field of a marshal-by-reference class
c:\src\anappaday\JediWindowDockMod\AnAppADay.Utils\bin\Debug\AnAppADay.Utils.dll: (Related file)
C:\src\anappaday\JediWindowDockMod\AnAppADay.JediWindowDock.WinApp\MainForm.cs(53,49): warning CS0197: Passing 'AnAppADay.JediWindowDock.WinApp.AppWrapperControl._info' as ref or out or taking its address may cause a runtime exception because it is a field of a marshal-by-reference class
c:\src\anappaday\JediWindowDockMod\AnAppADay.Utils\bin\Debug\AnAppADay.Utils.dll: (Related file)
Fixing it right now...I think I know what the issue is.
Wow. Very cool app. Where the heck is my paypal account info? This will really help me clean up my desktop. Coolest app so far, Dana!
Fixed the memory access problems, required a couple of changes. I have sent the new version to Dana, hopfully he'll update it soon.
DaemonCollector, newbie question - how do I run your version? I see all the source code, but the only app I see is in the Debug folder, so naturally I'm hesitant to run it.
This application is excellent, and very useful. I am constantly running 10 or 12 things, and it is very nice to be able to group these utility application together all in one.
thanks jedi :)
now openoffice is on tabbed interface because of your program :)
that was my request before u started your quest...
though i would love it more without .NET 2.0 coz i have .NET 1.1 for other program too...dang :p
I have another mod of this available. The mod is based off of DaemonCollector's, but it includes the ability to turn the dock into a tray icon when minimized. You can add and remove programs to the tray icon by selecting them from the menu. There's also a few other minor improvements.
Download the Mod
This is great! (as long as you don't tab a tabbed window. It doesn't play well with other mdi applications. not redrawing properly)
it does't play well with NotePad++ and YM too, can't type a word in tabbed NotePad++ or once tabbled YM
Hi, Blueshift...
the mod link u gave has a broken zip file... even that i download it from your website
please fix it
As I use the same programs over and over (x infinity) do you think a save function that could save those windows and launch them when needed? I will be using this everyday now. I love it!!
How do i compile the modded version...?
Post a Comment
<< Home