User:Hendy:FullScreen

From Camino Wiki
Jump to navigation Jump to search

The Bug is 245000, Implement a full-screen browsing mode.


Status

Both Full Screen and Presentation modes are implemented and exposed in UI.

Having both modes may be confusing to the user, so only Presentation mode should be enabled.

We should consider adding a hidden pref to enable chrome in Presentation mode.

Adding a control bezel would be made easy by modifying and incorporating some classes and categories from the Skim project. They are BSD-licensed and would get us 95% of the way there straight off the bat.

Examples

Examples of Mac applications that have a full-screen mode:

Screenshots of the full screen modes of various browsers.

Use cases

I can see two use cases:

  • Gordon is an avid browser of the web. When he is reading his favourite websites and updating his myspace, he wants to make his web browser the only thing he can see. He wants to be free of other distractions, and just focus on his surfing.
  • Alyx is an on-the-go corporate worker. She prefers to use online tools like 280 Slides or Google Docs to produce her slideshow presentations. When she presents them to her boss and coworkers, she wants to show them just the presentation, not browser chrome as well.

Two Modes

Each of the use cases are similar, but distinct. A full-screen mode should have all the same chrome as a normal browser window (according to the user's preferences), but fill the whole screen. The presentation mode will eschew all browser chrome except the scroll bars. In both cases, the menu bar and Dock should both be hidden; the menu bar will still be accessible when the cursor is placed at the top of the screen. Neither mode should interfere with Exposé or Spaces. The window will be placed so the title bar is not visible.

Full-screen

Modeled after the Full Screen mode of NetNewsWire.

  • Keep status bar
  • Maintain the toolbar, bookmarks bar, and tab bar visibilities.

Presentation

Modeled after the Slideshow mode of Preview.app.

  • Hide the status bar, toolbar, and bookmarks bar.
  • Hide the tab bar; rely on keboard shortcuts and Tabsposé.
  • Have a popup bezel at the bottom of the screen, with the four navigation buttons, a Tabsposé button, and an exit button.

UI

Both modes should be accessible from the View menu and the toolbar.

I suggest Cmd+Return for full-screen mode (after NetNewsWire) and Shift+Cmd+Return for presentation. It would be less confusing for the user if they were separate items, rather than alternates. Escape should exit the current mode.

The trickiest bit may be the item titles. Perhaps:

  • Full Screen
  • Exit Full Screen

and

  • Presentation
  • Exit Presentation

Implementation

  • Create both modes
  • Expose in menu bar
  • Create toolbar items
  • Create Presentation bezel

The presentation mode would be usable without the bezel; online slideshows typically use mouse clicks to advance slides, and there isn't much call for tab-switching. A separate bug could be filed for it.