Updated documentation. Made configuration file more readable.
[instantlauncher.git] / doc / index.org
1 #+TITLE: Instantlauncher - navigate to your files and programs quickly!
2
3 -----
4 - [[http://www2.svjatoslav.eu/gitweb/?p=instantlauncher.git;a=snapshot;h=HEAD;sf=tgz][download latest snapshot]]
5
6 - This program is free software; you can redistribute it and/or modify it under
7   the terms of version 3 of the [[https://www.gnu.org/licenses/lgpl.html][GNU Lesser General Public License]] or later as
8   published by the Free Software Foundation.
9
10 - Program author:
11   - Svjatoslav Agejenko
12   - Homepage: http://svjatoslav.eu
13   - Email: mailto://svjatoslav@svjatoslav.eu
14
15 - [[http://www.svjatoslav.eu/programs.jsp][other applications hosted at svjatoslav.eu]]
16
17 * (document settings) :noexport:
18 ** use dark style for TWBS-HTML exporter
19 #+HTML_HEAD: <link href="https://bootswatch.com/darkly/bootstrap.min.css" rel="stylesheet">
20 #+HTML_HEAD: <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
21 #+HTML_HEAD: <script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.1/js/bootstrap.min.js"></script>"
22 #+HTML_HEAD: <style type="text/css">
23 #+HTML_HEAD:   footer {background-color: #111 !important;}
24 #+HTML_HEAD:   pre {background-color: #111; color: #ccc;}
25 #+HTML_HEAD: </style>
26
27 * General description
28 Quick filesystem based document/application launcher. It starts by
29 showing content of [[id:5ced6bf5-165a-49a0-8de4-3755d810d987][predefined directory]]. Sub directories can be chosen
30 by simply moving mouse pointer over corresponding directory.
31
32 [[file:screenshot.png]]
33
34 Files types are color-coded.
35
36 * Usage
37 Simply hovering mouse pointer over directory expands its contents in
38 the next right column.
39
40
41 + Executable file (red):
42   + Left mouse click:
43     + Run executable file.
44   + Right mouse click:
45     + Toggle executable state.
46
47 + Non-executable file (green):
48   + Left mouse click:
49     + Open file using corresponding application.
50   + Right mouse click:
51     + Toggle executable state.
52
53 + Directory/symlink (blue):
54   + Left mouse click:
55     + Open directory using configured filesystem browser.
56   + Right mouse click:
57     + Open directory using configured text based terminal emulator.
58
59 * Configuration
60 When instantlauncher starts, it looks for configuration file under
61 : ~/.instantlauncher
62
63 If file is not found, it creates new default configuration file in
64 YAML format:
65 #+BEGIN_SRC
66 !configuration
67 directoryOpenCommand: nautilus -w {file}
68 directoryTerminalOpenCommand: gnome-terminal --working-directory={file}
69 fileAssociations:
70 -  command: vlc {file}
71    fileRegex: .*\.mkv$
72 -  command: emacs {file}
73    fileRegex: .*\.txt$
74 -  command: eog {file}
75    fileRegex: .*\.jpeg$
76 -  command: eog {file}
77    fileRegex: .*\.png$
78 -  command: vlc {file}
79    fileRegex: .*\.avi$
80 -  command: vlc {file}
81    fileRegex: .*\.mp4$
82 -  command: eog {file}
83    fileRegex: .*\.jpg$
84 -  command: emacs {file}
85    fileRegex: .*\.org$
86 navigationRootPath: /home/svjatoslav/
87 #+END_SRC
88
89 ** directoryOpenCommand
90 Command to use when opening directory.
91
92 By default instantlauncher assumes that Gnome desktop environment is
93 installed and uses Nautilus file manager:
94 : directoryOpenCommand: nautilus -w {file}
95 ** directoryTerminalOpenCommand
96 Command to use when opening directory in text terminal based console.
97
98 By default instantlauncher assumes that Gnome desktop environment is
99 installed and uses Gnome Terminal:
100
101 : directoryTerminalOpenCommand: gnome-terminal --working-directory={file}
102 ** fileAssociations
103 Allows to map file name/extension using regular expression pattern
104 matching to corresponding application.
105
106 Example:
107 #+BEGIN_SRC conf
108 -  command: vlc {file}
109    fileRegex: .*\.mkv$
110 #+END_SRC
111
112 Where:
113 - command :: Command to execute to open given file. Special variable
114              {file} will point to user chosen file using absolute file
115              path.
116
117 - fileRegex :: Regular expression that must match the file.
118 ** navigationRootPath
119     :PROPERTIES:
120     :ID:       5ced6bf5-165a-49a0-8de4-3755d810d987
121     :END:
122 Root directory from where to start navigation.
123
124 This parameter is user specific! In my case instantlauncher by default
125 pointed this to my home directory. But it can be any directory user
126 chooses.
127
128 I think good use-case is to create special directory to be used for
129 instantlauncher root. This special root directory can in turn contain
130 symlinks to various places user wants to visit often. Instantlauncher
131 will follow symlinks as if they were directories.
132
133 : navigationRootPath: /home/svjatoslav/