Updated documentation. Made configuration file more readable.
[instantlauncher.git] / doc / index.html
1 <!doctype html>
2 <html lang="en">
3 <head>
4 <title>Instantlauncher - navigate to your files and programs quickly!</title>
5 <!-- 2017-07-10 Mon 14:59 -->
6 <meta charset="utf-8">
7 <meta name="viewport" content="width=device-width, initial-scale=1">
8 <meta name="generator" content="Org-mode">
9 <meta name="author" content="Svjatoslav Agejenko">
10 <link href="https://bootswatch.com/darkly/bootstrap.min.css" rel="stylesheet">
11 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
12 <script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.1/js/bootstrap.min.js"></script>"
13 <style type="text/css">
14 footer {background-color: #111 !important;}
15 pre {background-color: #111; color: #ccc;}
16 </style>
17 <style type="text/css">
18 /* org mode styles on top of twbs */
19
20 html {
21     position: relative;
22     min-height: 100%;
23 }
24
25 body {
26     font-size: 18px;
27     margin-bottom: 105px;
28 }
29
30 footer {
31     position: absolute;
32     bottom: 0;
33     width: 100%;
34     height: 101px;
35     background-color: #f5f5f5;
36 }
37
38 footer > div {
39     padding: 10px;
40 }
41
42 footer p {
43     margin: 0 0 5px;
44     text-align: center;
45     font-size: 16px;
46 }
47
48 #table-of-contents {
49     margin-top: 20px;
50     margin-bottom: 20px;
51 }
52
53 blockquote p {
54     font-size: 18px;
55 }
56
57 pre {
58     font-size: 16px;
59 }
60
61 .footpara {
62     display: inline-block;
63 }
64
65 figcaption {
66   font-size: 16px;
67   color: #666;
68   font-style: italic;
69   padding-bottom: 15px;
70 }
71
72 /* from twbs docs */
73
74 .bs-docs-sidebar.affix {
75     position: static;
76 }
77 @media (min-width: 768px) {
78     .bs-docs-sidebar {
79         padding-left: 20px;
80     }
81 }
82
83 /* All levels of nav */
84 .bs-docs-sidebar .nav > li > a {
85     display: block;
86     padding: 4px 20px;
87     font-size: 14px;
88     font-weight: 500;
89     color: #999;
90 }
91 .bs-docs-sidebar .nav > li > a:hover,
92 .bs-docs-sidebar .nav > li > a:focus {
93     padding-left: 19px;
94     color: #A1283B;
95     text-decoration: none;
96     background-color: transparent;
97     border-left: 1px solid #A1283B;
98 }
99 .bs-docs-sidebar .nav > .active > a,
100 .bs-docs-sidebar .nav > .active:hover > a,
101 .bs-docs-sidebar .nav > .active:focus > a {
102     padding-left: 18px;
103     font-weight: bold;
104     color: #A1283B;
105     background-color: transparent;
106     border-left: 2px solid #A1283B;
107 }
108
109 /* Nav: second level (shown on .active) */
110 .bs-docs-sidebar .nav .nav {
111     display: none; /* Hide by default, but at >768px, show it */
112     padding-bottom: 10px;
113 }
114 .bs-docs-sidebar .nav .nav > li > a {
115     padding-top: 1px;
116     padding-bottom: 1px;
117     padding-left: 30px;
118     font-size: 12px;
119     font-weight: normal;
120 }
121 .bs-docs-sidebar .nav .nav > li > a:hover,
122 .bs-docs-sidebar .nav .nav > li > a:focus {
123     padding-left: 29px;
124 }
125 .bs-docs-sidebar .nav .nav > .active > a,
126 .bs-docs-sidebar .nav .nav > .active:hover > a,
127 .bs-docs-sidebar .nav .nav > .active:focus > a {
128     padding-left: 28px;
129     font-weight: 500;
130 }
131
132 /* Nav: third level (shown on .active) */
133 .bs-docs-sidebar .nav .nav .nav {
134     padding-bottom: 10px;
135 }
136 .bs-docs-sidebar .nav .nav .nav > li > a {
137     padding-top: 1px;
138     padding-bottom: 1px;
139     padding-left: 40px;
140     font-size: 12px;
141     font-weight: normal;
142 }
143 .bs-docs-sidebar .nav .nav .nav > li > a:hover,
144 .bs-docs-sidebar .nav .nav .nav > li > a:focus {
145     padding-left: 39px;
146 }
147 .bs-docs-sidebar .nav .nav .nav > .active > a,
148 .bs-docs-sidebar .nav .nav .nav > .active:hover > a,
149 .bs-docs-sidebar .nav .nav .nav > .active:focus > a {
150     padding-left: 38px;
151     font-weight: 500;
152 }
153
154 /* Show and affix the side nav when space allows it */
155 @media (min-width: 992px) {
156     .bs-docs-sidebar .nav > .active > ul {
157         display: block;
158     }
159     /* Widen the fixed sidebar */
160     .bs-docs-sidebar.affix,
161     .bs-docs-sidebar.affix-bottom {
162         width: 213px;
163     }
164     .bs-docs-sidebar.affix {
165         position: fixed; /* Undo the static from mobile first approach */
166         top: 20px;
167     }
168     .bs-docs-sidebar.affix-bottom {
169         position: absolute; /* Undo the static from mobile first approach */
170     }
171     .bs-docs-sidebar.affix .bs-docs-sidenav,.bs-docs-sidebar.affix-bottom .bs-docs-sidenav {
172         margin-top: 0;
173         margin-bottom: 0
174     }
175 }
176 @media (min-width: 1200px) {
177     /* Widen the fixed sidebar again */
178     .bs-docs-sidebar.affix-bottom,
179     .bs-docs-sidebar.affix {
180         width: 263px;
181     }
182 }
183 </style>
184 <script type="text/javascript">
185 $(function() {
186     'use strict';
187
188     $('.bs-docs-sidebar li').first().addClass('active');
189
190     $(document.body).scrollspy({target: '.bs-docs-sidebar'});
191
192     $('.bs-docs-sidebar').affix();
193 });
194 </script>
195 </head>
196 <body>
197 <div id="content" class="container">
198 <div class="row"><div class="col-md-9"><h1 class="title">Instantlauncher - navigate to your files and programs quickly!</h1>
199 <hr >
200 <ul class="org-ul">
201 <li><a href="http://www2.svjatoslav.eu/gitweb/?p=instantlauncher.git;a=snapshot;h=HEAD;sf=tgz">download latest snapshot</a>
202 </li>
203
204 <li>This program is free software; you can redistribute it and/or modify it under
205 the terms of version 3 of the <a href="https://www.gnu.org/licenses/lgpl.html">GNU Lesser General Public License</a> or later as
206 published by the Free Software Foundation.
207 </li>
208
209 <li>Program author:
210 <ul class="org-ul">
211 <li>Svjatoslav Agejenko
212 </li>
213 <li>Homepage: <a href="http://svjatoslav.eu">http://svjatoslav.eu</a>
214 </li>
215 <li>Email: <a href="mailto://svjatoslav@svjatoslav.eu">mailto://svjatoslav@svjatoslav.eu</a>
216 </li>
217 </ul>
218 </li>
219
220 <li><a href="http://www.svjatoslav.eu/programs.jsp">other applications hosted at svjatoslav.eu</a>
221 </li>
222 </ul>
223
224 <div id="outline-container-sec-1" class="outline-2">
225 <h2 id="sec-1"><span class="section-number-2">1</span> General description</h2>
226 <div class="outline-text-2" id="text-1">
227 <p>
228 Quick filesystem based document/application launcher. It starts by
229 showing content of <a href="#sec-3-4">predefined directory</a>. Sub directories can be chosen
230 by simply moving mouse pointer over corresponding directory.
231 </p>
232
233
234 <figure>
235 <p><img src="screenshot.png" class="img-responsive" alt="screenshot.png">
236 </p>
237 </figure>
238
239 <p>
240 Files types are color-coded.
241 </p>
242 </div>
243 </div>
244
245 <div id="outline-container-sec-2" class="outline-2">
246 <h2 id="sec-2"><span class="section-number-2">2</span> Usage</h2>
247 <div class="outline-text-2" id="text-2">
248 <p>
249 Simply hovering mouse pointer over directory expands its contents in
250 the next right column.
251 </p>
252
253
254 <ul class="org-ul">
255 <li>Executable file (red):
256 <ul class="org-ul">
257 <li>Left mouse click:
258 <ul class="org-ul">
259 <li>Run executable file.
260 </li>
261 </ul>
262 </li>
263 <li>Right mouse click:
264 <ul class="org-ul">
265 <li>Toggle executable state.
266 </li>
267 </ul>
268 </li>
269 </ul>
270 </li>
271
272 <li>Non-executable file (green):
273 <ul class="org-ul">
274 <li>Left mouse click:
275 <ul class="org-ul">
276 <li>Open file using corresponding application.
277 </li>
278 </ul>
279 </li>
280 <li>Right mouse click:
281 <ul class="org-ul">
282 <li>Toggle executable state.
283 </li>
284 </ul>
285 </li>
286 </ul>
287 </li>
288
289 <li>Directory/symlink (blue):
290 <ul class="org-ul">
291 <li>Left mouse click:
292 <ul class="org-ul">
293 <li>Open directory using configured filesystem browser.
294 </li>
295 </ul>
296 </li>
297 <li>Right mouse click:
298 <ul class="org-ul">
299 <li>Open directory using configured text based terminal emulator.
300 </li>
301 </ul>
302 </li>
303 </ul>
304 </li>
305 </ul>
306 </div>
307 </div>
308
309 <div id="outline-container-sec-3" class="outline-2">
310 <h2 id="sec-3"><span class="section-number-2">3</span> Configuration</h2>
311 <div class="outline-text-2" id="text-3">
312 <p>
313 When instantlauncher starts, it looks for configuration file under
314 </p>
315 <pre class="example">
316 ~/.instantlauncher
317 </pre>
318
319 <p>
320 If file is not found, it creates new default configuration file in
321 YAML format:
322 </p>
323 <pre class="example">
324 !configuration
325 directoryOpenCommand: nautilus -w {file}
326 directoryTerminalOpenCommand: gnome-terminal --working-directory={file}
327 fileAssociations:
328 -  command: vlc {file}
329    fileRegex: .*\.mkv$
330 -  command: emacs {file}
331    fileRegex: .*\.txt$
332 -  command: eog {file}
333    fileRegex: .*\.jpeg$
334 -  command: eog {file}
335    fileRegex: .*\.png$
336 -  command: vlc {file}
337    fileRegex: .*\.avi$
338 -  command: vlc {file}
339    fileRegex: .*\.mp4$
340 -  command: eog {file}
341    fileRegex: .*\.jpg$
342 -  command: emacs {file}
343    fileRegex: .*\.org$
344 navigationRootPath: /home/svjatoslav/
345 </pre>
346 </div>
347
348 <div id="outline-container-sec-3-1" class="outline-3">
349 <h3 id="sec-3-1"><span class="section-number-3">3.1</span> directoryOpenCommand</h3>
350 <div class="outline-text-3" id="text-3-1">
351 <p>
352 Command to use when opening directory.
353 </p>
354
355 <p>
356 By default instantlauncher assumes that Gnome desktop environment is
357 installed and uses Nautilus file manager:
358 </p>
359 <pre class="example">
360 directoryOpenCommand: nautilus -w {file}
361 </pre>
362 </div>
363 </div>
364 <div id="outline-container-sec-3-2" class="outline-3">
365 <h3 id="sec-3-2"><span class="section-number-3">3.2</span> directoryTerminalOpenCommand</h3>
366 <div class="outline-text-3" id="text-3-2">
367 <p>
368 Command to use when opening directory in text terminal based console.
369 </p>
370
371 <p>
372 By default instantlauncher assumes that Gnome desktop environment is
373 installed and uses Gnome Terminal:
374 </p>
375
376 <pre class="example">
377 directoryTerminalOpenCommand: gnome-terminal --working-directory={file}
378 </pre>
379 </div>
380 </div>
381 <div id="outline-container-sec-3-3" class="outline-3">
382 <h3 id="sec-3-3"><span class="section-number-3">3.3</span> fileAssociations</h3>
383 <div class="outline-text-3" id="text-3-3">
384 <p>
385 Allows to map file name/extension using regular expression pattern
386 matching to corresponding application.
387 </p>
388
389 <p>
390 Example:
391 </p>
392 <div class="org-src-container">
393
394 <pre class="src src-conf">-  command: vlc {file}
395    fileRegex: .*\.mkv$
396 </pre>
397 </div>
398
399 <p>
400 Where:
401 </p>
402 <dl class="org-dl">
403 <dt> command </dt><dd>Command to execute to open given file. Special variable
404 {file} will point to user chosen file using absolute file
405 path.
406 </dd>
407
408 <dt> fileRegex </dt><dd>Regular expression that must match the file.
409 </dd>
410 </dl>
411 </div>
412 </div>
413 <div id="outline-container-sec-3-4" class="outline-3">
414 <h3 id="sec-3-4"><a id="ID-5ced6bf5-165a-49a0-8de4-3755d810d987" name="ID-5ced6bf5-165a-49a0-8de4-3755d810d987"></a><span class="section-number-3">3.4</span> navigationRootPath</h3>
415 <div class="outline-text-3" id="text-3-4">
416 <p>
417 Root directory from where to start navigation.
418 </p>
419
420 <p>
421 This parameter is user specific! In my case instantlauncher by default
422 pointed this to my home directory. But it can be any directory user
423 chooses.
424 </p>
425
426 <p>
427 I think good use-case is to create special directory to be used for
428 instantlauncher root. This special root directory can in turn contain
429 symlinks to various places user wants to visit often. Instantlauncher
430 will follow symlinks as if they were directories.
431 </p>
432
433 <pre class="example">
434 navigationRootPath: /home/svjatoslav/
435 </pre>
436 </div>
437 </div>
438 </div>
439 </div><div class="col-md-3"><nav id="table-of-contents">
440 <div id="text-table-of-contents" class="bs-docs-sidebar">
441 <ul class="nav">
442 <li><a href="#sec-1">1. General description</a></li>
443 <li><a href="#sec-2">2. Usage</a></li>
444 <li><a href="#sec-3">3. Configuration</a>
445 <ul class="nav">
446 <li><a href="#sec-3-1">3.1. directoryOpenCommand</a></li>
447 <li><a href="#sec-3-2">3.2. directoryTerminalOpenCommand</a></li>
448 <li><a href="#sec-3-3">3.3. fileAssociations</a></li>
449 <li><a href="#sec-3-4">3.4. navigationRootPath</a></li>
450 </ul>
451 </li>
452 </ul>
453 </div>
454 </nav>
455 </div></div></div>
456 <footer id="postamble" class="">
457 <div><p class="author">Author: Svjatoslav Agejenko</p>
458 <p class="date">Created: 2017-07-10 Mon 14:59</p>
459 <p class="creator"><a href="http://www.gnu.org/software/emacs/">Emacs</a> 25.1.1 (<a href="http://orgmode.org">Org-mode</a> 8.2.10)</p>
460 </div>
461 </footer>
462 </body>
463 </html>