<html>
    <head>
      <title>Orion User's Manual</title>
    </head>
    <body>
      <h2>Configuration Files</h2>

      Orion uses two kinds of configuration files residing in the
      directory <code>~/.orion-wm</code>. The first one is called
      &quot;layout&quot; and the second &quot;config&quot;. Both
      configuration files are created for each screen you run orion
      on. The name of the screen is appended to the filename, so
      usually you will have the files
      <code>~/.orion-wm/layout-:0.1</code> and
      <code>~/.orion-wm/config-:0.1</code>. The layout file contains
      your manager hierarchy and some automatically managed options of
      the managers. The content of this file is created automatically
      and you should not need to edit the file manually. In the config
      file you can specify all possible configuration options of
      orion. The file is parsed and executed as a scheme module
      file. It should define a module <code>config-file</code> with
      the interface <code>config-file-interface</code>. This interface
      lists 4 association lists <code>root-options</code>,
      <code>split-options</code>, <code>switch-options</code>,
      <code>move-options</code> for configuring the child window
      managers. The following table lists the possible keys, types of
      values and default values of the present options. An example
      file may look like this:
<pre>
(define-structure config-file config-file-interface
  (open (modify scheme-with-scsh (hide format))
        srfi-28
        xlib 
        config-file-utils)
  (begin
    
    (define (xsel->opera-remote)
      (let* ((url (run/string (xsel)))
             (remote-arg (format "openURL(~a,new-window)" url)))
        (& (opera -remote ,remote-arg))))

    (define root-options
      `((quit . "F8")
        (save-layout . "F7")
        (nth-workspace . ("M-1" "M-2" "M-3" "M-4" "M-5" "M-6" "M-7"))
        (create-workspace . "F5")
        (user-bindings . (("F2" exec "xterm")
                          ("F4" apply ,xsel->opera-remote)))))
    (define split-options '())
    (define switch-options '())
    (define move-options '())))

;;; Local Variables:
;;; mode:scheme
;;; End:
</pre>
    

      <h3>root-options</h3>
      <table valign="top">
	<tr>
	  <td><b>name</b></td>
	  <td><b>type</b></td>
	  <td><b>default value</b></td>
	  <td><b>description</b></td>
	</tr>
	<tr>
	  <td><code>split-horizontal</code></td>
	  <td><code>keys</code></td> <td><code>"M-s h"</code></td>
	  <td>Shortcut for splitting the current manager into a left
	  and a right part.</td>
	</tr>
	<tr>
	  <td><code>split-vertical</code></td>
	  <td><code>keys</code></td>
	  <td><code>"M-s v"</code></td>
	  <td>Shortcut for splitting the current manager into an upper
	  and a lower part.</td>
	</tr>
	<tr>
	  <td><code>split-horizontal-with-switch-wm</code></td>
	  <td><code>keys</code></td>
	  <td><code>"M-s s h"</code></td>
	  <td>Shortcut for splitting the current manager into a left
	  and a right part with a switch manager in the right part.</td>
	</tr>
	<tr>
	  <td><code>split-vertical-with-switch-wm</code></td>
	  <td><code>keys</code></td>
	  <td><code>"M-s s v"</code></td>
	  <td>Shortcut for splitting the current manager into an upper
	  and a lower part with a switch manager in the right part.</td>
	</tr>
	<tr>
	  <td><code>split-horizontal-with-move-wm</code></td>
	  <td><code>keys</code></td>
	  <td><code>"M-s m h"</code></td>
	  <td>Shortcut for splitting the current manager into a left
	  and a right part with a move manager in the right part.</td>
	</tr>
	<tr>
	  <td><code>split-vertical-with-move-wm</code></td>
	  <td><code>keys</code></td>
	  <td><code>"M-s m v"</code></td>
	  <td>Shortcut for splitting the current manager into an upper
	  and a lower part with a move manager in the right part.</td>
	</tr>
	<tr>
	  <td><code>create-switch-wm</code></td>
	  <td><code>keys</code></td>
	  <td><code>"M-k s"</code></td>
	  <td>Create a new switch manager.</td>
	</tr>
	<tr>
	  <td><code>create-move-wm</code></td>
	  <td><code>keys</code></td>
	  <td><code>"M-k m"</code></td>
	  <td>Create a new move manager.</td>
	</tr>
	<tr>
	  <td><code>split-question</code></td>
	  <td><code>string</code></td>
	  <td><code>"What kind of manager..."</code></td>
	</tr>
	<tr>
	  <td><code>quit</code></td>
	  <td><code>keys</code></td>
	  <td><code>"F12"</code></td>
	  <td>Shortcut for quitting Orion.</td>
	</tr>
	<tr>
	  <td><code>quit-question</code></td>
	  <td><code>string</code></td>
	  <td><code>"Really quit orion?"</code></td>
	</tr>
	<tr>
	  <td><code>user-bindings</code></td>
	  <td><code>binding-list</code></td>
	  <td><code>'(("F2" exec "xterm"))</code></td>

	  <td>List of user-defined key bindings. A binding consists of
	  the key to bind, a command and command arguments. Orion
	  currently supports the commands <code>exec</code> and
	  <code>apply</code>. The arguments of the <code>exec</code>
	  command should be the name of a program followed by
	  arguments to the program. Orion will execute this program
	  with the arguments. The <code>apply</code> command applies a
	  function, given as first command argument, to the arguments
	  starting at the second command argument.</td>

	</tr>
	<tr>
	  <td><code>execute</code></td> <td><code>keys</code></td>
	  <td><code>"F3"</code></td> <td>Shortcut for running a
	  program. A dialog will ask for the program to run. The TAB
	  key allows completion of the program name.</td>
	</tr>
	<tr>
	  <td><code>execute-question</code></td>
	  <td><code>string</code></td>
	  <td><code>"Execute:"</code></td>
	</tr>
	<tr>
	  <td><code>attach</code></td>
	  <td><code>keys</code></td>
	  <td><code>"M-a"</code></td>
	  <td>Shortcut for attaching a window to the current manager.</td>
	</tr>
	<tr>
	  <td><code>attach-question</code></td>
	  <td><code>string</code></td>
	  <td><code>"Attach:"</code></td>
	</tr>
	<tr>
	  <td><code>workspace-options</code></td>
	  <td><code>sexp</code></td>
	  <td><code>'()</code></td>
	</tr>
	<tr>
	  <td><code>nth-workspace</code></td>
	  <td><code>keys-list</code></td>
	  <td><code>'("M-1" "M-2" "M-3" "M-4")</code></td>
	  <td>A list of shortcuts for changing directly to the nth
	  workspace.</td>
	</tr>
	<tr>
	  <td><code>create-workspace</code></td>
	  <td><code>keys</code></td>
	  <td><code>"F9"</code></td>
	  <td>Shortcut for creating a new workspace.</td>
	</tr>
	<tr>
	  <td><code>create-workspace-question</code></td>
	  <td><code>string</code></td>
	  <td><code>"What kind of manager..."</code></td>
	</tr>
	<tr>
	  <td><code>kill-client</code></td>
	  <td><code>keys</code></td>
	  <td><code>"M-c"</code></td>
	  <td>Shortcut for closing the current window.</td>
	</tr>
	<tr>
	  <td><code>save-layout</code></td>
	  <td><code>keys</code></td>
	  <td><code>"F11"</code></td>
	  <td>Shortcut for saving the current layout.</td>
	</tr>
	<tr>
	  <td><code>select-outer-manager</code></td>
	  <td><code>keys</code></td>
	  <td><code>"M-Home"</code></td>
	  <td>Shortcut for selecting the outer window-manager.</td>
	</tr>
      
      </table>

      <h3>switch-options</h3>
      <table>
	<tr>
	  <td><b>name</b></td>
	  <td><b>type</b></td>
	  <td><b>default value</b></td>
	  <td><b>description</b></td>
	</tr>
	<tr>
	  <td><code>titlebar-colors</code></td>
	  <td><code>colors</code></td>
	  <td><code>'("#aaaaaa" "#eeeeee" "#777777" "black")</code></td>
	  <td>Colors for the titlebar. The colors are (background
	  light-color dark-color font-color).</td>
	</tr>
	<tr>
	  <td><code>titlebar-colors-focused</code></td>
	  <td><code>colors</code></td>
	  <td><code>'("#666699" "#aaaacc" "#333366" "#eeeeee")</code></td>
	  <td>Colors for the titlebar of a focused window.</td>
	</tr>
	<tr>
	  <td><code>titlebar-colors-active</code></td>
	  <td><code>colors</code></td>
	  <td><code>'("#9999aa" "#eeeeff" "#777788" "black")</code></td>
	  <td>Colors for the titlebar of an active but not focused window.</td>
	</tr>
	<tr>
	  <td><code>titlebar-height</code></td>
	  <td><code>int</code></td>
	  <td><code>18</code></td>
	  <td>The height of a titlebar.</td>
	</tr>
	<tr>
	  <td><code>titlebar-style</code></td>
	  <td><code>symbol</code></td>
	  <td><code>'raised</code></td>
	  <td>The style of the titlebar which can be <code>'raised</code>, <code>'sunken</code> or <code>'flat</code>.</td>
	</tr>
	<tr>
	  <td><code>font</code></td>
	  <td><code>font</code></td>
	  <td><code>"-*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-*"</code></td>
	  <td>The font used for the titlebar text.</td>
	</tr>
	<tr>
	  <td><code>select-next</code></td>
	  <td><code>keys</code></td>
	  <td><code>"M-k n"</code></td>
	  <td>Shortcut for selecting the next client.</td>
	</tr>
	<tr>
	  <td><code>select-previous</code></td>
	  <td><code>keys</code></td>
	  <td><code>"M-k p"</code></td>
	  <td>Shortcut for selecting the previous client.</td>
	</tr>
	<tr>
	  <td><code>swap-next</code></td>
	  <td><code>keys</code></td>
	  <td><code>"M-k t"</code></td>
	  <td>Shortcut for swapping the current client with the next client.</td>
      </tr>
      </tr>
	<tr>
	  <td><code>swap-previous</code></td>
	  <td><code>keys</code></td>
	  <td><code>"M-k r"</code></td>
	  <td>Shortcut for swapping the current client with the previous client.</td>
      </tr>
      </table>

      <h3>move-options</h3>
      <table>
	<tr>
	  <td><b>name</b></td>
	  <td><b>type</b></td>
	  <td><b>default value</b></td>
	  <td><b>description</b></td>
	</tr>
	<tr>
	  <td><code>titlebar-colors</code></td>
	  <td><code>colors</code></td>
	  <td><code>'("#aaaaaa" "#eeeeee" "#777777" "black")</code></td>
	  <td>Colors for the titlebar. The colors are (background
	  light-color dark-color font-color).</td>
	</tr>
	<tr>
	  <td><code>titlebar-colors-focused</code></td>
	  <td><code>colors</code></td>
	  <td><code>'("#666699" "#aaaacc" "#333366" "#eeeeee")</code></td>
	  <td>Colors for the titlebar of a focused window.</td>
	</tr>
	<tr>
	  <td><code>titlebar-height</code></td>
	  <td><code>int</code></td>
	  <td><code>18</code></td>
	  <td>The height of a titlebar.</td>
	</tr>
	<tr>
	  <td><code>titlebar-style</code></td>
	  <td><code>symbol</code></td>
	  <td><code>'flat</code></td>
	  <td>The style of the titlebar which can be <code>'raised</code>, <code>'sunken</code> or <code>'flat</code>.</td>
	</tr>
	<tr>
	  <td><code>font</code></td>
	  <td><code>font</code></td>
	  <td><code>"-*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-*"</code></td>
	  <td>The font used for the titlebar text.</td>
	</tr>
	<tr>
	  <td><code>border-width</code></td>
	  <td><code>int</code></td>
	  <td><code>3</code></td>
	  <td>The size of a window's border, which also specifies the
	  area that can be dragged with the mouse to resize a
	  window.</td>
	</tr>
	<tr>
	  <td><code>corner-width</code></td>
	  <td><code>int</code></td>
	  <td><code>10</code></td>
	  <td>This size specifies how big the area in a window's
	  corner is, that is used for resizing a window in the
	  diagonal directions.</td>
	</tr>
	<tr>
	  <td><code>border-style</code></td>
	  <td><code>symbol</code></td>
	  <td><code>'raised</code></td>
	  <td>The style of the window's border, which can be <code>'raised</code>, <code>'sunken</code> or <code>'flat</code>.</td>
	</tr>
	<tr>
	  <td><code>border-colors</code></td>
	  <td><code>colors</code></td>
	  <td><code>'("#333333" "#dddddd")</code></td>
	  <td>Colors for the window's border. The colors are (light-color dark-color).</td>
	</tr>
      </table>

      <h3>split-options</h3>
      <table>
	<tr>
	  <td><b>name</b></td>
	  <td><b>type</b></td>
	  <td><b>default value</b></td>
	  <td><b>description</b></td>
	</tr>
	<tr>
	  <td><code>bar-width</code></td>
	  <td><code>int</code></td>
	  <td><code>3</code></td>
	  <td>The size of the bar between the two frames.</td>
	</tr>
	<tr>
	  <td><code>bar-style</code></td>
	  <td><code>symbol</code></td>
	  <td><code>'raise</code></td>
	  <td>The style of the bar between the two frames which can be <code>'raised</code>, <code>'sunken</code> or <code>'flat</code>.</td>
	</tr>
	<tr>
	  <td><code>bar-colors</code></td>
	  <td><code>colors</code></td>
	  <td><code>'("#dddddd" "#888888" "#333333")</code></td>
	  <td>The colors of the bar. The colors are (light main dark).</td>
	</tr>
	<tr>
	  <td><code>select-right</code></td>
	  <td><code>keys</code></td>
	  <td><code>"M-Right"</code></td>
	  <td>Shortcut for selecting the right frame.</td>
	</tr>
	<tr>
	  <td><code>select-left</code></td>
	  <td><code>keys</code></td>
	  <td><code>"M-Left"</code></td>
	  <td>Shortcut for selecting the left frame.</td>
	</tr>
	<tr>
	  <td><code>select-up</code></td>
	  <td><code>keys</code></td>
	  <td><code>"M-Up"</code></td>
	  <td>Shortcut for selecting the upper frame.</td>
	</tr>
	<tr>
	  <td><code>select-down</code></td>
	  <td><code>keys</code></td>
	  <td><code>"M-Down"</code></td>
	  <td>Shortcut for selecting the lower frame.</td>
      </tr>
      </table>

    </body>
</html>