
Welcome to Ion!

If you have never used Ion before, it is highly recommended that you study 
the Ion manual page before proceeding further. It is reproduced below, but 
you can also access it later on, for example, by pressing <F1> and then 
<Enter> or, by running 'man ion3' in a terminal. All this supposing that 
you have installed Ion in a standard location so that the system commands
can find the manual page.

If you are too eager to try out Ion and against all recommendation want to
skip reading the manual page, you should at least know that pressing <F2> 
should start a terminal emulator (xterm) and that the main menu can be 
accessed with <F12>.

When you feel ready to write customized configuration files (you're going
to do that in any case), please see the configuration manual available from
the Ion webpage listed at the end of the user manual below. It may, however,
be beneficial to become well acquainted with Ion before delving into this 
so that you have grasped the basic concepts necessary to understand the
binding configuration files.


---- Manual page follows ----


ION(1)                      General Commands Manual                     ION(1)



[1mNAME[0m
       Ion - an X11 window manager

[1mSYNOPSIS[0m
       [1mion3 [4m[22m[options][0m

[1mDESCRIPTION[0m
       Ion is a tiling tabbed window manager designed with keyboard users in
       mind.


[1mOPTIONS[0m
       [1m-display host:display.screen[0m
              X display to manage

       [1m-conffile configfile[0m
              Configuration file to use instead of default

       [1m-searchdir dir[0m
              Directory to search for configuration files and other scripts

       [1m-oneroot[0m
              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.

       [1m-session session_name[0m
              Set session name. This option affects where workspace and other
              save files are put (~/.ion3/session_name if option set).

       [1m-help  [22mShow help on command line options

       [1m-version[0m
              Show version

       [1m-about [22mShow about text (version, author, license)


[1mBASIC CONCEPTS[0m
       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 and
       availability of the different key bindings explained below. 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 in the case at hand are [1mscreens[22m.
       They correspond to physical screens. Screens contain [1mworkspaces [22m(which
       are a kind of [1mgroup[22m), and [1mclient windows [22mput into full screen mode.
       These objects are [1mmultiplexed [22min the sense that only one can be
       displayed at a time.

       Workspaces themselves may contain [1mtilings [22mand detached/floating [1mframes[22m.
       Tilings themselves contain [1mframes [22mtiled to fill the screen, and
       possibly a statusbar or dock. Akin to screens, frames multiplex other
       objects, but in this case mostly client window [1mgroups[22m. Most of the
       time, frames are the only trace of Ion you see on the screen. Frames
       may have border decorations, and they have a [1mtab [22mfor each multiplexed
       object.

       [1mQueries [22mare boxes that appear at the bottoms of frames or screens to
       ask you for textual input to execute an action that depends on it.
       Most queries support tab-completion.



[1mBINDINGS[0m
       These are the default key and pointer bindings. ([1mMod1[22m) depends on your
       system. On PC:s with XFree86 it is probably bound to the left Alt key
       ([1mAlt_L[22m). On Suns it is usually bound to the diamond keys ([1mMeta_L[22m,
       [1mMeta_R[22m). Use [4mxmodmap(1x)[24m to find out.

       The string in square brackets after a binding group heading below
       indicates the module whose configuration file defines these bindings.


   [1mGlobally available bindings[0m
       [1mMod1+1, Mod1+2, Mod1+3, Mod1+4, Mod1+5, Mod1+6, Mod1+7, Mod1+8, Mod1+9,[0m
       [1mMod1+0[0m
              Switch to n:th object (workspace, full screen client window)
              within current screen.

       [1mMod1+comma, Mod1+period[0m
              Switch to next/previous object within current screen.

       [1mMod1+K K[0m
              Go to first region demanding attention or previously active one.

       [1mMod1+K T[0m
              Clear all tags.

       [1mMod1+Shift+1, Mod1+Shift+2[0m
              Go to n:th screen on multihead setup.

       [1mMod1+Shift+comma, Mod1+Shift+period[0m
              Go to next/previous screen on multihead setup.

       [1mMod1+F9[0m
              Create a new workspace of chosen default type.

       [1mF12, Button3 press[0m
              Display the main menu.

       [1mButton2 press[0m
              Display the window list menu.

       [1mMod1+Tab[0m
              Forward-circulate focus.

       [1mMod1+K Tab[0m
              Backward-circulate focus.

       [1mMod1+K R[0m
              Raise focused object, if possible.



   [1mBindings operating on all frames and screens[0m
       [1mMod1+C [22mClose current object.



   [1mBindings operating on all frames[0m
       [1mMod1+K H, Mod1+K V[0m
              Maximize the frame horizontally/vertically.

       [1mButton3 press[0m
              Display context menu.

       [1mMod1+R [22mBegin move/resize mode.

       [1mButton1 click at tab, Button2 click at tab[0m
              Switch the frame to display the object indicated by the tab.

       [1mButton1 drag at border, Mod1+Button3 drag[0m
              Resize the frame.

       [1mMod1+Button1 drag[0m
              Move the frame.

       [1mButton1 drag at tab, Button2 drag at tab[0m
              Move objects between frames by dragging and dropping the tab.



   [1mBindings operating on top-level (non-transient) frames and screens[0m
       [1mMod1+T [22mToggle tag of current object.

       [1mF1     [22mQuery for manual page to be displayed.

       [1mMod1+F1[0m
              Show the Ion manual page.

       [1mF2     [22mRun a terminal emulator.

       [1mF3     [22mQuery for command line to execute.

       [1mMod1+F3[0m
              Query for Lua code to execute.

       [1mF4     [22mQuery for host to connect to with SSH.

       [1mF5     [22mQuery for file to edit.

       [1mF6     [22mQuery for file to view.

       [1mF9     [22mQuery for workspace to go to or create a new one.

       [1mMod1+G [22mQuery for a client window to go to.

       [1mMod1+M [22mDisplay context menu.

       [1mMod1+K D[0m
              Detach (float) or reattach an object to its previous location.



   [1mBindings operating on top-level (non-transient) frames[0m
       [1mMod1+A [22mQuery for a client window to attach.

       [1mMod1+K 1, Mod1+K 2, Mod1+K 3, Mod1+K 4, Mod1+K 5, Mod1+K 6, Mod1+K 7,[0m
       [1mMod1+K 8, Mod1+K 9, Mod1+K 0[0m
              Switch to n:th object within the frame.

       [1mMod1+K N, Mod1+K P[0m
              Switch to next/previous object within the frame.

       [1mMod1+K comma, Mod1+K period[0m
              Move current object within the frame left/right.

       [1mMod1+K H, Mod1+K V[0m
              Maximize the frame horizontally/vertically.

       [1mMod1+K A[0m
              Attach tagged objects to this frame.



   [1mBindings for floating/detached frames[0m
       [1mButton1 double click at tab[0m
              Toggle shade mode

       [1mButton1 press at tab, Button1 press at border, Mod1+Button1 click[0m
              Raise the frame.

       [1mMod1+Button3 click[0m
              Lower the frame.

       [1mButton1 drag at tab[0m
              Move the frame.

       [1mMod1+K B[0m
              Tile frame, if no tiling exists on the workspace



   [1mBindings for tilings and tiled frames [mod_tiling][0m
       [1mMod1+S [22mSplit current frame vertically.

       [1mMod1+P, Mod1+N, Mod1+Tab, Mod1+K Tab[0m
              Go to frame above/below/right/left of current frame.

       [1mMod1+K S[0m
              Split current frame horizontally.

       [1mMod1+K X[0m
              Destroy current frame.



   [1mBindings for client windows[0m
       [1mMod1+L [22mNudge the client window. This might help with some programs'
              resizing problems.

       [1mMod1+K C[0m
              Kill client owning the client window.

       [1mMod1+K Q[0m
              Send next key press to the client window. Some programs may not
              allow this by default.


       [1mMod1+Return[0m
              Toggle client window group full-screen mode



   [1mMove/resize mode bindings[0m
       [1mEscape [22mCancel the resize mode.

       [1mReturn [22mEnd the resize mode.

       [1mLeft, Right, Up, Down, F, B, P, N[0m
              Grow in specified direction.

       [1mShift+Left, Shift+Right, Shift+Up, Shift+Down, Shift+F, Shift+B,[0m
       [1mShift+P, Shift+N[0m
              Shrink in specified direction.

       [1mMod1+Left, Mod1+Right, Mod1+Up, Mod1+Down, Mod1+F, Mod1+B, Mod1+P,[0m
       [1mMod1+N[0m
              Move in specified direction.



   [1mBindings for message boxes and queries [mod_query][0m
       [1mEscape, Control+G, Control+C[0m
              Close the query/message box, not executing bound actions.

       [1mControl+U, Control+V, Page_Up, Page_Down[0m
              Scroll the message or completions up/down.



   [1mBindings for editing in queries [mod_query][0m
       These bindings are similar to those of the [4mjoe(1)[24m text editor.  Cut,
       copy and paste works in a more conventional manner, though, but the
       keys are equivalent.


       [1mControl+F, Control+B, Right, Left[0m
              Move one character forward/backward.

       [1mControl+E, Control+A, End, Home[0m
              Go to end/beginning.

       [1mControl+X, Control+Z[0m
              Skip one word forward/backward.

       [1mControl+D, Delete[0m
              Delete next character.

       [1mBackSpace, Control+H[0m
              Delete previous character.

       [1mControl+W, Control+O[0m
              Delete one word forward/backward.

       [1mControl+J[0m
              Delete to end of line.

       [1mControl+Y[0m
              Delete the whole line.

       [1mControl+T[0m
              Transpose characters.

       [1mControl+P, Control+N, Up, Down, Control+Up, Control+Down[0m
              Select next/previous (matching) history entry.

       [1mButton2 click, Control+K C[0m
              Paste from the clipboard.

       [1mControl+K B[0m
              Set mark/begin selection.

       [1mControl+K Y[0m
              Cut selection.

       [1mControl+K K[0m
              Copy selection.

       [1mControl+K G[0m
              Clear mark/cancel selection.

       [1mTab, Shift+Tab, Control+Tab[0m
              Try to complete the entered text or cycle through completions.

       [1mControl+R, Control+S[0m
              Complete from history

       [1mControl+M, Return, KP_Enter[0m
              Close the query and execute bound action.



   [1mBindings for menus [mod_menu][0m
       [1mEscape, Control+G, Control+C, Left[0m
              Close the menu.

       [1mReturn, KP_Enter, Control+M, Right[0m
              Activate current menu entry.

       [1mControl+N, Control+P, Up, Down[0m
              Select next/previous menu entry.

       [1mBackSpace[0m
              Clear the menu's typeahead find buffer.




[1mFILES AND DIRECTORIES[0m
       [1m/usr/local/share/examples/ion3/cfg_ion.lua[0m
              System default main configuration files

       [1m/usr/local/share/examples/ion3/cfg_*.lua[0m
              Other configuration files.

       [1m/usr/local/share/examples/ion3/look_*.lua[0m
              Colour scheme configuration files

       [1m~/.ion3/[0m
              User configuration files

       [1m~/.ion3/cfg_ion.lua[0m
              User default main configuration file (overrides system default)


[1mSEE ALSO[0m
       The Ion home page, [4mhttp://iki.fi/tuomov/ion/[0m

       The document "Configuring and extending Ion3 with Lua" found on the Ion
       home page.

       [4m/usr/local/share/doc/ion3/[0m

       [4mX(7x)[24m, [4mpwm3(1)[24m, [4mjoe(1)[0m


[1mAUTHOR[0m
       Ion was written by Tuomo Valkonen <tuomov at iki.fi>.



                                                                        ION(1)
