Archive for August, 2011

Fullscreen editing

I find myself doing more and more coding in (some kind of) fullscreen mode. One reason is the omnipresence of 16:10 or 16:9 screens, and that most applications are still pretty wasteful with vertical space (think Thunderbird). Title bar, menu bar, tool bar, tab bar, status bar, window panel, whoops, an estimated 10-15% less space for coding. This is especially painful on smaller notebook and netbook screens. I also like to avoid distractions, I don’t really need to look at the clock, check the battery, or read incoming mail subjects while doing something else.

Before window-based systems became mainstream on home computers in the mid 90s, fullscreen editing was the norm. Poor DOS users couldn’t even run more than one program at a time. Window managers and higher resolutions lead to much more sophisticated coding environments, increasing both usability and visual clutter.

A few years back, tiling window managers appeared. They no longer manage applications in arbitrarily sized and positioned windows, but instead use tiles on the desktop for a semi-automatic layout process. Some of the ideas trickled down to traditional window managers as well: Windows 7 lets users expand windows to either half of the desktop, Compiz Grid and Ubuntu’s Unity achieve a similar effect on Linux. Personally I like these less extreme approaches, given enough screen estate windows are just inherently accessible and no tiling algorithm will work for all applications.

Some of my fullscreen candidates are (or were):

  • Firefox/Chrome: F11 to toggle between fullscreen and windowed mode. Unfortunately, there are slight issues in both browsers (there is no feedback whether a new page is loading, the URL bars can be a bit quirky).
  • Netbeans IDE: View –> Full Screen (don’t press the default short cut on linux). Also reduces the clutter of the already very clean Netbeans layout by removing the toolbar.
  • IntelliJ IDEA: unfortunately the full screen mode was kicked out of IDEA 10, at least on Linux. You can remove the toolbar, status bar, and the docked windows panels, leaving you with a menu and the editor window.
  • vim: there’s a native plugin, gvimfullscreen_win32, for Windows that basically works but struggles when the window layout changes. For Linux I just use (grid-) maximized console windows.
  • Gnome Terminal: F11 toggles between fullscreen and windowed mode, too.
The main problem I keep running into is that current desktops don’t tend to work well with fullscreen applications at all (perhaps unavoidably so). As long as I have one monitor for each program I work with at a time this is not an issue, but even one additional program breaks usability, leaving the alt-tabbing user in agony. Recently I started using Ubuntu’s Unity at work, and (for all its flaws) I like the basic ideas – thinking in applications (versus application windows), encouraging keyboard navigation, optimizing desktop space usage (combined menu/title bars in a global menu). But sometimes having just one application on the screen, one thing to concentrate on, helps so much that I wonder if the classic desktop metaphor can actually be fixed.

Comments (1)