man ion2 (Commandes) - an X11 window manager
NAME
Ion - an X11 window manager
SYNOPSIS
ion [options]
DESCRIPTION
Ion is a tiling tabbed window manager designed with keyboard users in mind.
OPTIONS
- -display host:display.screen
- X display to manage
- -cfgfile configfile
- Configuration file to use instead of default
- -moduledir dir
- Directory to search for module
- -confdir dir
- Directory to search for configuration files and other scripts
- -oneroot
- On X servers with multiple (traditional non-Xinerama) screens, manage only default screen (root window), not all, as given by the -display option or in the DISPLAY environment variable.
- -sessionname session_name
- Set session name. This option affects where workspace and other save files are put (~/.ion2/session_name if option set).
- -xinerama 0|1
- If Ion was compiled with Xinerama support, this option can be used to enable/disable (1/0) the use of it. The default is to use Xinerama screen information.
- -i18n
- Enable use of multi-byte string routines, actual encoding depending on the locale.
- -help
- Show help on command line options
- -version
- Show version
- -about
- Show about text (version, copyright)
BASIC CONCEPTS
This section is an overview of the types objects that appear on an X display managed by Ion and their relationships in a standard setup. This information is necessary to understand the operations of different key bindings. For a more detailed explanation, needed for writing custom bindings configuration files, see the additional documentation available from the Ion Web page.
The top-level objects that matter are screens and they correspond to physical screens. Screens contain workspaces and client windows put in full screen mode. Only one of these "multiplexed" objects can be viewed at a time.
Two types of workspaces are currently supported; tiled (traditional Ion-style) and floating (PWM-style). Workspaces are not visible objects but rather collections of frames. Frames are the objects with decorations such as tabs and borders and there are two types of these corresponding to the different types of workspaces.
Frames contain (multiplex) client windows, to each of which corresponds a tab in the frame's decoration. Only one client window (or other object) can be shown at a time in each frame. (In a traditional window manager each frame may contain exactly one client window.)
"Queries" are boxes that appear at the bottoms of frames or screens and are used to ask the user for textual input. Most queries support tab-completion.
KEYS
These are the default key bindings. Mod1 depends on your system. On PC:s with XFree86 it is probably bound to the left Alt key (Alt_L). On Suns it is usually bound to the diamond keys (Meta_L, Meta_R). Use xmodmap(1) to find out.
F-keys
- F1
- Show manual page (query, uses ion-man). Tab-completion can be enabled by specifying a list of directories in the variable query_man_path.
- Mod1+F1
- Show Ion manual page.
- F2
- Run an x-terminal-emulator.
- F3
- Run a program (query). Precede the program name with a colon (:) to run in an x-terminal-emulator (ion-runinxterm).
- Mod1+F3
- Open a Lua code query. You can call all the functions listed in the Ion configuration document (see section SEE ALSO) here. The variable "_" is bound to the frame in which the query was opened.
- F4
- Start new SSH session (query, uses ion-ssh). Hosts to tab-complete are read from ~/.ssh/known_hosts.
- F5
- Open a file for editing (query). Uses ion-edit which by default uses run-mailcap.
- F6
- Open a file for viewing (query). Uses ion-view which by default uses run-mailcap.
- F9
- Go to existing workspace or create new (query). If a non-existent workspace was entered, the type of the workspace to be created will be queried as well.
- Mod1+F9
- Create a new workspace (of type controlled with the default_ws_type variable) with a default name formed from the type of the workspace.
- F12
- Main menu
Navigation
- Mod1+n
- Go to n:th workspace (n=1..9, 0)
- Mod1+Right
- Go to next workspace
- Mod1+Left
- Go to previous workspace
- Mod1+Shift+n
- Go to n:th screen (n=1,2)
- Mod1+Shift+Right
- Go to next screen
- Mod1+Shift+Left
- Go to previous screen
- Mod1+G
- Go to client (query; only works in a frame)
- Mod1+K K
- Go to previously active object
- Navigation on tiled workspaces
- Mod1+N
- Go to frame below current frame
- Mod1+P
- Go to frame above current frame
- Mod1+Tab
- Go to frame right of current frame
- Mod1+K Tab
- Go to frame left of current frame
- Navigation on floating workspaces
- Mod1+N
- Raise frame
- Mod1+P
- Lower frame
- Mod1+Tab
- Circulate focus and raise
- Mod1+K Tab
- Back-circulate focus and raise
Closing and destroying objects.
- Mod1+C
- Close active object if possible
- Mod1+K C
- Kill client owning current client window (if any)
- Mod1+K X
- Destroy frame
Frame operations
- Mod1+K N
- Go to next client window within frame
- Mod1+K P
- Go to previous client window within frame
- Mod1+K n
- Go to n:th client window within frame (n=1..9, 0)
- Mod1+A
- Attach named client window in the frame (query)
- Mod1+M
- Frame context menu
- Tags
- Mod1+T
- Toggle current client window's tag state (indicated by a right-angle in the top-right corner of the window's tab)
- Mod1+K T
- Clear all objects' tag state
- Mod1+K A
- Attach all tagged windows to the frame
- Resizing and splitting
- Mod1+K V
- Maximize vertically
- Mod1+K H
- Maximize horizontally
- Mod1+S
- Split vertically (tiled workspaces only)
- Mod1+K S
- Split horizontally (tiled workspaces only)
- Mod1+R
- Enter resize mode
- Resize mode bindings
- Left, Right, Up Down or F, B, P, N
- Grow the frame in the specific direction
- Shift+Left, Right, Up Down or Shift+F, B, P, N
- Shrink the frame in the specific direction
- Mod1+Left, Right, Up Down or Mod1+F, B, P, N
- On floating frame workspaces: move the frame in the specific direction.
Miscellaneous
- Mod1+L
- Broken application resize kludge; try to make that broken application that didn't get it the first time to understand the real size of the active window
- Mod1+K Q
- Send next key press to active client window.
- Mod1+Enter
- Toggle client window full screen mode.
LINE-EDITING KEYS
These keys can be used in the line editor (queries). They are similar to those of the joe(1) editor. Selection works differently, though, while the keys are equivalent.
Movement
- Control+F, Right arrow
- Go forward character
- Control+B, Left arrow
- Go backward character
- Control+E, End
- Go to end of line
- Control+A, Home
- Go to beginning of line
- Control+Z
- Backward skip word
- Control+X
- Forward skip word
Delete
- Control+D, Delete
- Delete next character
- Control+H, Backspace
- Delete previous character
- Control+J
- Delete to end of line
- Control+Y
- Delete whole line
- Control+W
- Delete word
- Control+O
- Backward delete word
Selections
- Control+K B
- Set mark (begin selection)
- Control+K K
- Copy selection
- Control+K Y
- Cut selection
- Control+K C
- Paste
Completion and history
- Tab
- Complete or list possible completions (if available)
- Control+U, Page up
- Scroll completions up
- Control+V, Page down
- Scroll completions down
- Control+P, Up arrow
- Previous history entry
- Control+N, Down arrow
- Next history entry
Cancel, accept
- Control+C, Escape
- Cancel
- Control+M, Enter
- Accept
POINTING DEVICE BUTTONS
The bindings for the two types of frames are again different because not all legacy/floating frame actions are available on tiled frames and thus those buttons have been mapped to other actions.
Tiled frames
- Button1 (left) or Button2 (middle) on tab
- Click: switch client, drag: drag&drop clients between frames
- Button1 (left) on border
- Drag: resize
- Mod1+Button1 (left) or Mod1+Button3 (right)
- Resize.
- Button3 (right) on tab
- Context menu
Floating frames
- Button1 (left)
- Press: raise frame, click tab: switch client, double-click tab: toggle shade mode, drag border: resize, drag elsewhere: move frame
- Button2 (middle) on tab
- Click: switch client, drag: drag&drop clients between frames
- Mod1+Button1 (left)
- Click: raise, drag: move
- Mod1+Button3 (right)
- Click: lower, drag: resize
- Button3 (right) on tab
- Context menu
FILES AND DIRECTORIES
- /etc/X11/ion2/
- System default configuration files
- /etc/X11/ion2/ion.lua
- System default main configuration files
- /etc/X11/ion2/look-*.lua
- Colour scheme configuration files
- ~/.ion2/
- User configuration files
- ~/.ion2/ion.lua
- User default configuration file (overrides system default)
SEE ALSO
The Ion home page, http://iki.fi/tuomov/ion/
The document "Ion: Configuring and extending with Lua" found on the Ion home page and in the ion2-doc package.
/usr/share/doc/ion2/
AUTHOR
Ion was written by Tuomo Valkonen <tuomov at iki.fi>.