43 Folders

Back to Work

Merlin’s weekly podcast with Dan Benjamin. We talk about creativity, independence, and making things you love.

Join us via RSS, iTunes, or at 5by5.tv.

”What’s 43 Folders?”
43Folders.com is Merlin Mann’s website about finding the time and attention to do your best creative work.

Open Thread: Developing for Full Screen Mode?

Full Screen Mode is a topic that comes up a lot here and abroad -- it's a way to set a given application to operate with as few menus, panels, and other navigational widgets as possible, claiming the entire screen, and enabling the user to focus exclusively on one task without distraction.

Essentially, it temporarily hobbles your maddeningly versatile Mac into a machine for doing exactly one thing, being whatever is appearing in your single Full Screen window. And you might be amazed what a nice thing that can be sometimes. It's great for writers in particular, so it's perhaps not surprising that writing applications seem to be leading the Full Screen charge. Although you can also get FSM in Firefox using extensions and in Safari with the help of Saft.

So my question, for you Mac developers in the house: I'm curious to learn more about Full Screen mode and how hard it is to make it a part of Cocoa applications. I've gotten the impression that Cocoa has "hooks" in place to hide the Menu Bar and claim all the screen space with a given document's front window, so I'm curious whether it's something that's difficult to implement. I'd love to request it in some favorite applications of mine (Hi, again, Allan!). What do you guys say? Piece of cake or pony?

Zeno's picture

It's actually quite easy to...

It's actually quite easy to do it in Cocoa.... by subclassing NSWindow (playing a bit with its initWithContentRect:styleMask:backing:defer: method); no need to "hide" the menu bar, just set the window's level to something higher than NSMainMenuWindowLevel. This is actually how most 3rd party apps are implementing the FSM. Look for example at VLC: when you're in FSM hit Shift+Command+F11 to actually slow down the Exposé effect and find out that the full screen view is nothing more than a "normal" window. Even Apple apps (DVD Player and QuickTiime Pro Player) use this method; but others (like Keynote.app) use a more "sirius" FSM that can't be exposé-ed.

 
EXPLORE 43Folders THE GOOD STUFF

Popular
Today

Popular
Classics

An Oblique Strategy:
Honor thy error as a hidden intention


STAY IN THE LOOP:

Subscribe with Google Reader

Subscribe on Netvibes

Add to Technorati Favorites

Subscribe on Pageflakes

Add RSS feed

The Podcast Feed

Cranking

Merlin used to crank. He’s not cranking any more.

This is an essay about family, priorities, and Shakey’s Pizza, and it’s probably the best thing he’s written. »

Scared Shitless

Merlin’s scared. You’re scared. Everybody is scared.

This is the video of Merlin’s keynote at Webstock 2011. The one where he cried. You should watch it. »