ToDo list for Fenrir Version 2.0 General: - implement onScreenUpdate commands read highlighted text mode - translateable (easy for contribute) http://www.supernifty.org/blog/2011/09/16/python-localization-made-easy/ - be more event based (vcsa sets POLLPRI) http://scotdoyle.com/python-epoll-howto.html - try to make it more asynchronus - multpible threads - leave revew on typing - implement commands attributes_curr_char generic list command (convert clipboard management) (easy for contribute) next item pref item curr item first item last item Braille Support: create offset for scrolling respect scrolling make cursor following configurable (brailleCursorTrackingMode) - cell - page brailleFocusMode: - manual = no automatic toggle command used - last = follow last used cursor print cursor in review print cursor in textmode command for scroll left command for scroll right command toggle used cursor (in manual brailleFocusMode) capture input from braile make routing keys assignable in keyboard make brailleTable configurable pkg-config --variable=tablesdir liblouis http://mielke.cc/brltty/doc/Manual-BrlAPI/English/BrlAPI.html https://git.gnome.org/browse/orca/tree/src/orca/braille.py https://wiki.gnome.org/Attic/LSR/ScratchPad/Braille/BrlAPI https://github.com/google/brailleback/blob/master/third_party/brltty/Bindings/Python/brlapi.pyx Driver: - implement PTY Screen driver (to use gnome-terminal and other terminal emulators) https://docs.python.org/3.2/library/pty.html - implement PTY Input driver - ATK input driver (dont grab on graphical interface) - implement speechdriver generic - implement autodetection of plugged and removed input devices (python-pyudev) for evdev driver http://askubuntu.com/questions/508236/how-can-i-run-code-whenever-a-usb-device-is-unplugged-without-requiring-root - try to autodetect encoding https://stackoverflow.com/questions/6396659/how-do-you-get-the-encoding-of-the-terminal-from-within-a-python-script Settings: - configuration should be overwriteable with parameter and alternative paths - write settings - menue for settings configuration #storm Application Profiles - reimplement process detection without subprocessing - reuse new porcess detection code for X11 detection - fenrir is not able to detect the current application inside of screen. ps -e -H -o pid,pgrp,ppid,tty,cmd http://stackoverflow.com/questions/24861351/how-to-detect-if-python-script-is-being-run-as-a-background-process/24862213 fd = os.open("/dev/tty5", os.O_RDONLY ) os.tcgetpgrp(fd) - add perApplicationTrigger trigger per application commands per application onScreenChange per application onInput - per application shortcuts -----------DONE---------------- - Add nice dummy drivers as template or for debugging Braille Support: initial BrlTTY driver detect device size via driver output to braille device make flushMode configurable make flushTimeout configurable flush message after X seconds and show current line (review over text) tweak current commands and output command flush_braille follow cursor while typing brailleFocusMode: - review = priority to review