Updated documentation. Made configuration file more readable.
[instantlauncher.git] / doc / index.org
index 0dd67f2..22e7758 100644 (file)
 #+HTML_HEAD: </style>
 
 * General description
-Quick filesystem based document/application launcher. It starts by showing
-content of predefined directory. Sub directories can be chosen by simply moving
-mouse pointer over corresponding directory.
+Quick filesystem based document/application launcher. It starts by
+showing content of [[id:5ced6bf5-165a-49a0-8de4-3755d810d987][predefined directory]]. Sub directories can be chosen
+by simply moving mouse pointer over corresponding directory.
 
 [[file:screenshot.png]]
 
 Files types are color-coded.
 
 * Usage
-+ Executable file:
+Simply hovering mouse pointer over directory expands its contents in
+the next right column.
+
+
++ Executable file (red):
   + Left mouse click:
     + Run executable file.
   + Right mouse click:
     + Toggle executable state.
 
-+ Non-executable file:
++ Non-executable file (green):
   + Left mouse click:
     + Open file using corresponding application.
   + Right mouse click:
     + Toggle executable state.
 
-+ Directory/symlink:
++ Directory/symlink (blue):
   + Left mouse click:
     + Open directory using configured filesystem browser.
   + Right mouse click:
     + Open directory using configured text based terminal emulator.
 
 * Configuration
-TODO:
+When instantlauncher starts, it looks for configuration file under
+: ~/.instantlauncher
+
+If file is not found, it creates new default configuration file in
+YAML format:
+#+BEGIN_SRC
+!configuration
+directoryOpenCommand: nautilus -w {file}
+directoryTerminalOpenCommand: gnome-terminal --working-directory={file}
+fileAssociations:
+-  command: vlc {file}
+   fileRegex: .*\.mkv$
+-  command: emacs {file}
+   fileRegex: .*\.txt$
+-  command: eog {file}
+   fileRegex: .*\.jpeg$
+-  command: eog {file}
+   fileRegex: .*\.png$
+-  command: vlc {file}
+   fileRegex: .*\.avi$
+-  command: vlc {file}
+   fileRegex: .*\.mp4$
+-  command: eog {file}
+   fileRegex: .*\.jpg$
+-  command: emacs {file}
+   fileRegex: .*\.org$
+navigationRootPath: /home/svjatoslav/
+#+END_SRC
+
+** directoryOpenCommand
+Command to use when opening directory.
+
+By default instantlauncher assumes that Gnome desktop environment is
+installed and uses Nautilus file manager:
+: directoryOpenCommand: nautilus -w {file}
+** directoryTerminalOpenCommand
+Command to use when opening directory in text terminal based console.
+
+By default instantlauncher assumes that Gnome desktop environment is
+installed and uses Gnome Terminal:
+
+: directoryTerminalOpenCommand: gnome-terminal --working-directory={file}
+** fileAssociations
+Allows to map file name/extension using regular expression pattern
+matching to corresponding application.
+
+Example:
+#+BEGIN_SRC conf
+-  command: vlc {file}
+   fileRegex: .*\.mkv$
+#+END_SRC
+
+Where:
+- command :: Command to execute to open given file. Special variable
+             {file} will point to user chosen file using absolute file
+             path.
+
+- fileRegex :: Regular expression that must match the file.
+** navigationRootPath
+    :PROPERTIES:
+    :ID:       5ced6bf5-165a-49a0-8de4-3755d810d987
+    :END:
+Root directory from where to start navigation.
+
+This parameter is user specific! In my case instantlauncher by default
+pointed this to my home directory. But it can be any directory user
+chooses.
+
+I think good use-case is to create special directory to be used for
+instantlauncher root. This special root directory can in turn contain
+symlinks to various places user wants to visit often. Instantlauncher
+will follow symlinks as if they were directories.
 
-* TODO
-TODO:
+: navigationRootPath: /home/svjatoslav/