fenrir/TODO v2.0

165 lines
5.9 KiB
Plaintext
Raw Normal View History

2016-12-23 16:36:16 +01:00
ToDo list for Fenrir Version 2.0
2017-08-22 20:02:55 +10:00
Things needing little knowledge are marked with "(Easy for contribution)". so just start with those :).
2017-08-21 16:28:47 +02:00
[] = ToDo
[W] = WIP
[X] = Done
2018-03-19 23:01:15 +01:00
2017-07-24 11:51:37 +02:00
Cleanups:
2018-03-13 08:58:14 +01:00
[] Migrate *Data.py to classes and use getter/setter (Easy for contribution)
[] commandsData.py
[] eventData.py
[] generalData.py
[] inputData.py
[] outputData.py
[] punctuationData.py
[] runtimeData.py
[] screenData.py
[] settingsData -> defaultSettings.py
2018-03-13 09:09:08 +01:00
General (Easy for contribution)
2018-03-13 08:58:14 +01:00
[] wrapper script for running Fenrir to check if pypy3 exists, use python3 as fallback.
[w] make fenrir runnable without root permissions
[] make fenrir runable without settingsfile. fallback to defaults
Get information already in watchdogs insteed of mainloop (use eventloop to transport)
[W] ScreenDriver
2018-03-07 11:41:13 +01:00
[] split oldValues := newValues out to helper function
2018-03-13 08:58:14 +01:00
[W] move processing of diff to own thread
[W] move processing of encoding to own thread
Imporove attribute handling
2017-10-26 16:02:26 +02:00
[] improve attributes_curr_char (Easy for contribution)
2017-10-24 09:57:23 +02:00
[] add an attribute sound (Easy for contribution)
2018-03-13 09:09:08 +01:00
[] beep on cursor/ review by char (capital wins) (Easy for contribution)
[] beep on review by word (once for multiple, capital wins) (Easy for contribution)
[] configurable (by char, by word, none) (Easy for contribution)
2017-10-24 09:57:23 +02:00
https://github.com/jwilk/vcsapeek/blob/master/linuxvt.py
2018-03-13 08:58:14 +01:00
Improved Say all
2017-10-24 09:57:23 +02:00
[] speech callbacks
[] speech process by word
[] all the text of all pages
[] command to stop and place review cursor at this position
[] command to slow down speech on keypress
2017-10-26 16:02:26 +02:00
[] place say all at clipboard buffer
2018-03-13 08:58:14 +01:00
Table review mode
2017-10-26 16:02:26 +02:00
[] toggle table mode/ select headline
[] next line
[] prev line
[] current line
2017-10-26 01:08:34 +02:00
[] next cell
[] prev cell
[] current cell
[] select field separator
2017-08-21 16:32:42 +02:00
Braille Support:
2017-08-21 16:28:47 +02:00
[] brailleFocusMode:
[] manual = no automatic toggle command used
[] last = follow last used cursor
[] print cursor in review
[] print cursor in textmode
[] word wrapping (if word does not fit print it at next page)
2017-11-08 16:50:06 +01:00
https://docs.python.org/2/library/textwrap.html#textwrap.TextWrapper
drop_whitespace = False
replace_whitespace = False
w.fill(i).split('\n')
2017-08-21 16:28:47 +02:00
[] command toggle used cursor (in manual brailleFocusMode)
[] capture input from braile
[] make routing keys assignable by keyboard
[] make brailleTable configurable
[] pkg-config --variable=tablesdir liblouis
returns on Arch:/usr/share/liblouis/tables
2017-08-21 16:28:47 +02:00
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
2016-12-23 16:36:16 +01:00
2018-03-13 08:58:14 +01:00
Driver (screen, input):
2017-10-01 19:41:43 +02:00
[W] PTY Screen driver (to use gnome-terminal and other terminal emulators)
2018-03-24 17:49:15 +01:00
[X] emulation
[X] basic reading
[W] attributes
2018-03-24 19:30:44 +01:00
[X] detect colum/ lines
2018-03-24 18:39:11 +01:00
[X] resize on colum / line change
2018-03-24 19:30:44 +01:00
[W] make shell command configurable (or detect it)
[W] stop emulation properly
2018-03-24 17:49:15 +01:00
[] make pasteing text work again
2017-01-26 12:12:02 +01:00
https://docs.python.org/3.2/library/pty.html
2017-05-11 17:09:39 +02:00
http://sqizit.bartletts.id.au/2011/02/14/pseudo-terminals-in-python/
https://blog.konpat.me/pythons-pseudo-terminal-pty-examples/
2018-03-24 17:49:15 +01:00
[W] PTY Input driver
[W] new event for byte shortcuts (escape sequences)
[] create driver, set flag that it is used in emulation
[] handle byte shortcuts
[] detect shortcuts
[] write/ consume them (controll it at all)
[] create keyboard layout
2018-03-13 08:58:14 +01:00
[] ATK input driver (don't grab on graphical interface)
https://git.linux-a11y.org/AIT/pyatspi2/src/master/examples/keypress.py
Driver (speech):
2017-08-21 16:28:47 +02:00
[] talkey driver
2017-10-22 22:28:09 +02:00
[W] emacspeak driver
2017-10-26 10:51:30 +02:00
https://pypi.python.org/pypi/ptyprocess#downloads
2017-08-21 16:28:47 +02:00
[] Dectalk SpeechDriver (Easy for contribution, device needed - i dont own one)
https://github.com/tvraman/emacspeak/blob/master/servers/obsolete/python/dectalk.py
2016-12-23 16:36:16 +01:00
Settings:
2017-10-24 09:57:23 +02:00
[] write settings (Easy for contribution)
[] menue for settings configuration (Easy for contribution)
2016-12-23 16:36:16 +01:00
2017-07-23 20:37:48 +02:00
Application Profiles (low priority):
2017-10-24 09:57:23 +02:00
- reimplement process detection without subprocessing
2016-12-23 16:36:16 +01:00
- 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
2017-01-30 16:25:19 +01:00
- per application shortcuts
-----------DONE----------------
2017-10-24 09:57:23 +02:00
Cleanups:
2017-11-11 02:40:25 +01:00
[X] re.sub(' +,' ',text) -> text.lstrip()? check this?
2017-10-24 09:57:23 +02:00
- inheritation for drivers
2017-11-05 15:54:01 +01:00
[X] Speech (All)
[X] Braille (All)
[X] Sound (All)
[X] Input (All)
[X] Screen (All)
- generic list or see Tutorial mode list (convert clipboard management) (Easy for contribution) - core.memoryManager
[X] next item
[X] prev item
[X] curr item
[X] first item
[X] last item
2018-03-13 22:55:04 +01:00
General:
- [X] read ignorescreens from an file to be able to halt fenrir from outside
2017-10-26 00:40:15 +02:00
- commands
2017-11-06 23:49:33 +01:00
[X] place last spoken to clipboard (Easy for contribution)
- Improvend Headline Seperator and Multible Char Support
[X]read "13 #" insteed of ###################
2018-03-24 21:50:15 +01:00
- autospeak indentation changes (useful for python programming)
2017-10-24 09:57:23 +02:00
Braille Support:
Driver:
2018-03-13 22:55:04 +01:00
[X] make generic speech driver default
[X] pyttsx3 speech driver
2018-03-11 18:37:37 +01:00
- get information already in watchdogs insteed of mainloop (use eventloop to transport)
2018-03-13 22:55:04 +01:00
[X] InputDriver
2017-05-08 17:44:18 +02:00
Settings:
2017-07-23 20:37:48 +02:00
Application Profiles:
2018-03-13 09:09:08 +01:00
Translation:
- German (thanks to schulle4u and Jenny) https://robbinaer.info/index.php?article101/fenrir
Fixes:
- no shell in generic speech Driver
- imporove validity checks for speech driver
- handle thread and process shutdown more gracefully
- cleanup
- a lot more fixes
2018-03-22 00:45:17 +01:00
[X] (not conflict with other applications) find . -iname "*.py" -exec sed 's/from \(core.*\) import/from fenrir-screenreader.\1 import/g' {} \;