Why not become a lifetime supporting member of the site with a one-time donation of any amount? Your donation entitles you to a ton of additional benefits, including access to exclusive discounts and downloads, the ability to enter monthly free software drawings, and a single non-expiring license key for all of our programs.

You must sign up here before you can post and access some areas of the site. Registration is totally free and confidential.

I would love to find out if any of you readers knows of a tool which can fullscreen any arbitrary application. By that I mean that it maximizes an app to the point where only the window's client area is visible, with the window's caption/title/border and the Windows taskbar being hidden or off-screen. My main desire for this is to turn a number of my favourite apps into distraction free tools, especially my favourite editor (Vim), much like the recently reviewed Dark Room and Writer tools. BTW, I'm running on WindowsXP. I know there are some nice solutions under Linux (a number of window managers support this directly) and probably Mac too...

Not bad (good find! my Googling did not turn it up), but a bit pricy for such a simple function. The project looks totally "doable" in AutoHotKey... that's probably the way I'll go, although I am currently a complete AHK noob (well, an AHK keyboard remap for a single game doesn't really count). Can any AHK pros here offer any suggestions on how to go about it? (BTW, I love GridMove! For the first time it made me realized the full power of AHK...) I fielded a similar question on the AHK forums, but if the local experts can offer anything beyond that, by all means, I need all the help I can get!

This works perfectly for my purposes. Fullscreens currently active app on Win-F keypress, unless one has already been fullscreened earlier, in which case it restores the old window dimensions. Any AHK stylistic/efficiency remarks quite welcome though... it's my first nontrivial script...

Oh no, Fullscreen is not simple! Try starting Outlook Express and Alt-LeftClick in the message window. Now the message window fills the screen, but if you move the mouse to any screen edge, that hidden part is automatically revealed! It's just amazing!

Oh no, Fullscreen is not simple! Try starting Outlook Express and Alt-LeftClick in the message window. Now the message window fills the screen, but if you move the mouse to any screen edge, that hidden part is automatically revealed! It's just amazing!

Sorry, that came out wrong: I meant that the functionality of it that I needed (i.e., just a simple fullscreen) is what was simple. Clearly the Fullscreen app you mentioned can do tons more. In my case I am fairly sure I wouldn't end up using the rest of the features in the long term... (I am finding I am most productive with my tools when I K.I.S.S. [Keep It Simple, Stupid].)

I see a pixel or two on screen 2 (right border) edit: ahh one of the two variables (padding to 0 solves it

add WinSet, Redraw,,%ID% before end of subroutine to prevent screen redrawing options on vista!

Yes, I totally ignored multi-monitor setup in that script, mostly because I don't use one most of the time. It also made the script simple; with a multi-monitor setup where you potentially can have a fullscreened app on each monitor, you're going to have to get more fancy: not only do you have to memorize which app is fullscreened on which screen, but you also have to work out what an un-fullscreen keystroke is to do (i.e., there are a number of "logical" ways to interpret such a keystroke then).

Interesting about "padding". I used it to eliminate some extra "glare" around the screen border... if I set padding=0 and fullscreen a dark background window, then the around the edge of the screen I'll get a bright outline 1- or 2-pixels wide. Hence "padding=2", which actually I meant to call "anti-padding". But if you say that this causes the window to stick out onto the next screen, then... I see, I guess just stripping the window border and titlebar leaves the window's client area still in some sort of container window which shows through by 1- or 2-pixels around the client area. I wonder what a clean way of getting rid of that would be. That extra border is annoying, especially considering that the whole point of fullscreening the app, at least for me, is to eliminate any visually distracting elements...

I'll have to look up that Redraw bit you mentioned. I'm running on WinXP SP2, hence haven't run into the issue. Actually, speaking of redraws, I wish there was a way to tell AHK/Windows to "freeze" the window display untill all the operations (stripping of window parts, moving, resizing) are done, to avoid the "repainting"/flashing effect that such a quick succession of operations produces...

[copy or print]hwnd:=WinExist("A")DllCall("SetWindowRedraw",UInt,hwnd,UInt,1)

Skrommel

If I understand this correctly, it prevents repaints to the window's client area, right? I misworded my intention: I was wondering about getting Window's to freeze display of the WHOLE window. Currently, I can see the window lose its border, then caption, then move and resize, all steps seperate but in quick succession; instead I would like to have the window go directly from its initial configuration to its final look DIRECTLY. Not sure how doable it is with just AHK though...

Actually, it turns out that the SetWindowRedraw() approach wasn't working at all (DllCall() resulted in an ErrorLevel of -4, i.e., function not found), hence why I was so quick to dismiss your suggestion... I've since found that DllCall("LockWindowUpdate", ...) works instead:

Perhaps a difference of OSes? I am using WinXP... I think this does the same thing. Even though it freezes the client area only, it actually makes a huge difference! Thanks for pointing me down this road, skrommel!

ace and mackal,so what's the verdict? does the ahk script work well yet?when it's ready perhaps we can convince you to make a little .ahk/precompiled-exe zip file for easy download?

Well, it works well enough for me, although I've encountered the same problem as Justice, and was wondering how to implement options; but skrommel's solution sounds pretty good, I will try it out. Other than that, I don't think I'll be babying/tweaking this script further, since it meets > 95% of my requirements. I can put out an .ahk, but not sure how to convert to .exe...