Skip to content

Commit 0da5577

Browse files
Add files via upload
1 parent 03ddbda commit 0da5577

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

index.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,4 +19,4 @@
1919
</style>
2020
</head><body><a href='https://github.com/damoonsaghian/Codev'><h1>Codev</h1></a>
2121
<h2>1, Codev</h2><div>Codev is a COllaborative DEVelopment environment with command'based user interface,</div><div> as an ideal frontend for GNUnet</div><div><p></p></div><div>list of all projects will appear in a floating layer, at the center of the screen, called overview layer</div><div>overview layer:</div><div>, left panel:</div><div> , roots: home directory, plus attached devices</div><div> , project groups: content of roots</div><div>, main view:</div><div> projects: content of project groups</div><div><p></p></div><div><img src='codev.png' alt='codev.png'/></div><div><p></p></div><div>in a project view, the list of files of a project will be displayed in the left side'bar</div><div>opened files will be slightly highlighted</div><div>files and directories with names starting with a dot, will be hidden</div><div>".cache" directory inside a project is for files we don't want to share or backup</div><div><p></p></div><div>each opened file will have a side'bar at right showing its sections</div><div>there we can create new view corresponding to a section</div><div>sections with views will be slightly highlighted</div><div><p></p></div><div>text files will be opened in a text editor</div><div>directories containing media files, will be opened in a gallery view</div><div>files and directories inside a gallery, will be opened in a floating layer</div><div><p></p></div><div>non'local projects, web pages, PDF documents, etc, accessed from links inside the main project,</div><div> will be opened in a floating layer</div><div>web pages: move caret between visual elements (ignoring structural elements)</div><div><p></p></div><div>actions:</div><div>, next/previous word, line, paragraph, section</div><div> ask before crossing files</div><div>, next/previous section view, opened file</div><div>, go to the list of files to open a file view</div><div>, go to the list of sections to open a section view</div><div>, start and end selection, then copy or cut</div><div>, paste</div><div>, undo</div><div><p></p></div><div>, navigation: move, search</div><div>, selection</div><div>, completion</div><div><p></p></div><div>right click or ctrl+enter: show a list of available commands and their key bindings</div><div><p></p></div><div><b>collaborative development</b></div><div>flaws of version control systems:</div><div>, they double the storage (working directory, local repository)</div><div>, their design makes it difficult to modify the history</div><div> so in practice, the whole history must be kept indefinitely, even if not needed</div><div><p></p></div><div>when we download a project, a pristine copy is kept untouched in ".cache/codev/pristine",</div><div> and ref links will be created in the working directory, and then we can work on our own branch</div><div>after a while when we want to pull and merge changes made in the main branch,</div><div> first a three'way diff will be shown, based on the main branch, pristine, and the working directory,</div><div> then the user will be asked to accept all or some parts of the diff</div><div>to send a pull request to the main branch, first publish the pristine and the working directory (except .cache),</div><div> then send the two addresses to the main developer</div><div> the main developer will make a diff based on these two, plus her own working directory</div><div><p></p></div><div>we can use GNUnet to share files in a P2P (a opposed to client'server) network</div><div><a href='https://www.gnunet.org/en/'>https://www.gnunet.org/en/</a></div><div><a href='https://docs.gnunet.org/latest/'>https://docs.gnunet.org/latest/</a></div><div>"the GNUnet system" by Christian Grothoff (<a href='https://grothoff.org/christian/habil.pdf'>https://grothoff.org/christian/habil.pdf</a>)</div>
22-
<h2>2, command based user interface</h2><div>command based user interfaces (using keyboard, voice, gesture) are faster, more convenient and more powerful,</div><div> than pointer based user interfaces (using mouse, touch, pen)</div><div>pointer based interface seems appealing at first sight, because of its discoverability</div><div>but with simple uniform GUI (ie the oposite of what we see in websites),</div><div> there is no need for a pointer based user interface</div><div><p></p></div><div>touch interface has an additional problem: interaction at a distance is not possible</div><div>touch interface can be useful in some special cases, but it's not good as a general interface</div><div><p></p></div><div>detection of voice commands is a relatively simple process (compared to general speech recognition),</div><div> because we only need to match against a relatively small set of commands</div><div>a headset with near range microphone can be used, to exclude far away sound sources</div><div>also it is better to put battery and transmitter of the headset in a separate unit which can be put in a pocket</div><div> this makes the headset lighter and safer</div><div><p></p></div><div>for those who neither can use all their fingers, nor can talk, gesture based (2d) input can be implemented</div><div><p></p></div><div><b>the ideal keyboard</b></div><div><img src='keyboard.png' alt='keyboard.png'/></div><div><p></p></div><div>navigation keys (arrows, page up, page down, home, end, esc), and ctrl/shift/alt based keybindings,</div><div> are available by pressing and holding "mod" key</div><div>pressing one "mod" key while holding the other one, is equivalent to Super key</div><div><p></p></div><div>to insert punctuations (in insert mode), press "pun"</div><div> after entering a punctuation charactor, it automatically returns to normal mode</div><div> unless the "pun" key is still pressed, in which case, it will return to normal mode after releasing "pun"</div><div>to insert numbers, press and hold "num"</div><div><p></p></div><div>to insert capital letters, press comma then press the letter</div><div>to insert an all capital word, press two commas</div><div> the following letters will be inserted in capitalized form, until space is pressed</div><div>this is how it is implemented:</div><div>when comma key is press, keyboard enters the cap mode in which:</div><div>, pressing a letter key, sends a "backspace" key, and then the capitalized form of that letter,</div><div> and then the cap mode will be canceled</div><div>, pressing comma again, sends a "backspace" key, and activates caps mode,</div><div> which remains active until space (or enter or mod) is pressed</div><div>, pressing any other keys, acts like normal, and cancels the cap mode</div><div><p></p></div><div><a href='https://github.com/abstracthat/dactyl-manuform'>https://github.com/abstracthat/dactyl-manuform</a></div><div><a href='https://zealot.hu/absolem/'>https://zealot.hu/absolem/</a></div><div><a href='https://github.com/foostan/crkbd'>https://github.com/foostan/crkbd</a></div><div><a href='https://github.com/nglgzz/42'>https://github.com/nglgzz/42</a></div><div><a href='https://github.com/adereth/dactyl-keyboard'>https://github.com/adereth/dactyl-keyboard</a></div><div>Kinesis Advantage 2 keyboard</div><div><a href='http://www.allthingsergo.com/the-best-ergonomic-mechanical-keyboards/'>http://www.allthingsergo.com/the-best-ergonomic-mechanical-keyboards/</a></div></body></html>
22+
<h2>2, command based user interface</h2><div>command based user interfaces (using keyboard, voice, gesture) are faster, more convenient and more powerful,</div><div> than pointer based user interfaces (using mouse, touch, pen)</div><div>pointer based interface seems appealing at first sight, because of its discoverability</div><div>but with simple uniform GUI (ie the oposite of what we see in websites),</div><div> there is no need for a pointer based user interface</div><div><p></p></div><div>touch interface has an additional problem: interaction at a distance is not possible</div><div>touch interface can be useful in some special cases, but it's not good as a general interface</div><div><p></p></div><div>detection of voice commands is a relatively simple process (compared to general speech recognition),</div><div> because we only need to match against a relatively small set of commands</div><div>a headset with near range microphone can be used, to exclude far away sound sources</div><div>also it is better to put battery and transmitter of the headset in a separate unit which can be put in a pocket</div><div> this makes the headset lighter and safer</div><div><p></p></div><div>for those who neither can use all their fingers, nor can talk, gesture based (2d) input can be implemented</div><div><p></p></div><div><b>the ideal keyboard</b></div><div><img src='keyboard.png' alt='keyboard.png'/></div><div><p></p></div><div>navigation keys (arrows, page up, page down, home, end, esc), and ctrl/shift/alt based keybindings,</div><div> are available by pressing and holding "mod" key</div><div>pressing one "mod" key while holding the other one, is equivalent to Super key</div><div><p></p></div><div>to insert punctuations (in insert mode), press "pun"</div><div> after entering a punctuation charactor, it automatically returns to normal mode</div><div> unless the "pun" key is still pressed, in which case, it will return to normal mode after releasing "pun"</div><div>to insert numbers, press and hold "num"</div><div><p></p></div><div>pressing and releasing "Fn", sends "F1" key press and release</div><div>holding "Fn" and pressing a number eg 2, sends "F2" key</div><div><p></p></div><div>to insert capital letters, press comma then press the letter</div><div>to insert an all capital word, press two commas</div><div> the following letters will be inserted in capitalized form, until space is pressed</div><div>this is how it is implemented:</div><div>when comma key is press, keyboard enters the cap mode in which:</div><div>, pressing a letter key, sends a "backspace" key, and then the capitalized form of that letter,</div><div> and then the cap mode will be canceled</div><div>, pressing comma again, sends a "backspace" key, and activates caps mode,</div><div> which remains active until space (or enter or mod) is pressed</div><div>, pressing any other keys, acts like normal, and cancels the cap mode</div><div><p></p></div><div><a href='https://github.com/abstracthat/dactyl-manuform'>https://github.com/abstracthat/dactyl-manuform</a></div><div><a href='https://zealot.hu/absolem/'>https://zealot.hu/absolem/</a></div><div><a href='https://github.com/foostan/crkbd'>https://github.com/foostan/crkbd</a></div><div><a href='https://github.com/nglgzz/42'>https://github.com/nglgzz/42</a></div><div><a href='https://github.com/adereth/dactyl-keyboard'>https://github.com/adereth/dactyl-keyboard</a></div><div>Kinesis Advantage 2 keyboard</div><div><a href='http://www.allthingsergo.com/the-best-ergonomic-mechanical-keyboards/'>http://www.allthingsergo.com/the-best-ergonomic-mechanical-keyboards/</a></div></body></html>

0 commit comments

Comments
 (0)