|Original author(s)||Nick Gravgaard|
1.40 / 4 April 2010
WindowLab is an X window manager for Unix-like systems. It is based on aewm and retains that window manager's lightweight aesthetic. In many aspects, WindowLab has looked to the Amiga's user interface for inspiration without cloning it completely. Its top-level menu bar is accessed by a right click as on the Amiga and it follows Fitts's law of usability in that once the mouse enters the menu area it is constrained there in both the horizontal and vertical directions. Unlike on the Amiga, the menu bar is not controlled by applications; it is a global launcher menu which is populated by a dot file in the user's home directory containing a list of menu titles and commands.
WindowLab follows a click-to-focus but not raise-on-focus policy - when a window is clicked it gets focus, but it is not redrawn to obscure other windows. This allows one, for example, to switch to a terminal to enter commands while keeping documentation visible in a web browser. A compositing window manager will allow this also, with a transparent terminal layered above the browser window, but WindowLab's solution is far less demanding of system resources. A window can be brought to the front in a number of ways; by clicking on a window's title in the taskbar, clicking on the center title bar widget, by cycling through windows with the Alt+Tab key combination, or by double clicking anywhere in the title bar. Open windows may also be cycled by clicking & dragging across the tiles in the taskbar area. The developer states that many users find this faster than Mac OS X's Exposé feature.
An unusual trait of WindowLab is that a window's entire title bar is constrained to the screen; a window can't be partially dragged out of the display area except toward the screen bottom. This keeps the title bar widgets always accessible, and also mimics the Amiga's sliding "screens" functionality. A window may be resized from any edge by holding down the alt key and dragging from either the window's interior (to enlarge) or exterior (to shrink). WindowLab has simplified task switching and app launching and no clock/calendar, status indicators or theming engine (although fonts and colors can be changed via command line options).