Ion is a tiling (no overlapping windows) window manager which also has PWM-style tabbed frames which can contain multiple client windows.
These features help to keep windows organized and to switch quickly between them. Ion was designed primarily as an efficient and unobtrusive window manager for users who prefer the keyboard.
Ion is not perfect and certainly not for everyone, but neither is any user interface. To ultimately solve usability problems to the extent possible with current technologies, applications should be written independent of their user interfaces and the UIs should be built according to the user's preferences based on a high-level semantic description of commands provided by the application.
Ion is, however, improving all the time and if you take the time to get used to it, you should hardly ever have to touch the mouse again to move between windows. Just remember that not all programs will play nicely with Ion because of presumptions about the window management model and even incompliance to the ICCCM. Terminal programs should work better than ever before, at least.
Here are some key features of "Ion":
- Tiling workspaces with tabbed frames, as discussed above.
- Designed to be primarily used from the keyboard.
- Fully documented configuration and scripting interface on top of the lightweight Lua extension language.
- Modular design. The main binary implements only basic window manager functionality. Actual window management policies are implemented by dynamically loaded workspace and other modules.
- The query module implements a line editor similar to mini buffers in many text editors. It is used to implement many different queries with tab-completion support: show manual page, run program, open SSH session, view file, goto named client window or workspace, etc.
- To run those few particularly badly behaving programs, Ion also supports conventional workspaces of the PWM flavour through the floatws module. This module is also used to implement PWM2 on top of the Ion core library.
- Other modules include the drawing engine, dock module for Window Maker dockapp support, menu module and, of course, the tiled workspaces module.
- Full screen client windows are seen as workspaces on their own. It is possible to switch to a normal workspace while keeping several client windows in full screen state and also switch clients that do not themselves support full screen mode to this state.
- This is a maintenance release fixing a few minor problems.