Merge branch 'master' of https://github.com/chrys87/fenrir
This commit is contained in:
commit
a45425ae6c
@ -55,6 +55,8 @@ This software is licensed under the LGPL v3 .
|
|||||||
- aspell-YourLanguageCode (example aspell-en for us english)
|
- aspell-YourLanguageCode (example aspell-en for us english)
|
||||||
2. unix daemon (also needed for systemd):
|
2. unix daemon (also needed for systemd):
|
||||||
- python-daemonize
|
- python-daemonize
|
||||||
|
3. Modify system volume:
|
||||||
|
- pyalsaaudio (needs libasound2's headers).
|
||||||
|
|
||||||
# installation
|
# installation
|
||||||
- Archlinux: PKGBUILD in AUR
|
- Archlinux: PKGBUILD in AUR
|
||||||
|
11
TODO v2.0
11
TODO v2.0
@ -6,8 +6,7 @@ General:
|
|||||||
read highlighted text mode
|
read highlighted text mode
|
||||||
- be more event based (vcsa sets POLLPRI)
|
- be more event based (vcsa sets POLLPRI)
|
||||||
http://scotdoyle.com/python-epoll-howto.html
|
http://scotdoyle.com/python-epoll-howto.html
|
||||||
- try to make it more asynchronus
|
- try to make it more asynchronus with multpible threads
|
||||||
- multpible threads
|
|
||||||
- leave review on typing (Easy for contribution)
|
- leave review on typing (Easy for contribution)
|
||||||
|
|
||||||
- implement commands
|
- implement commands
|
||||||
@ -47,12 +46,12 @@ Driver:
|
|||||||
https://stackoverflow.com/questions/6396659/how-do-you-get-the-encoding-of-the-terminal-from-within-a-python-script
|
https://stackoverflow.com/questions/6396659/how-do-you-get-the-encoding-of-the-terminal-from-within-a-python-script
|
||||||
|
|
||||||
Settings:
|
Settings:
|
||||||
- configuration should be overwritable with parameter and alternative paths
|
- configuration should be overwritable with parameter and alternative paths (Easy for contribution)
|
||||||
- write settings
|
- write settings (Easy for contribution)
|
||||||
- menue for settings configuration #storm
|
- menue for settings configuration (Easy for contribution)
|
||||||
|
|
||||||
Application Profiles
|
Application Profiles
|
||||||
- reimplement process detection without subprocessing
|
- reimplement process detection without subprocessing // this is started by chrys
|
||||||
- fenrir is not able to detect the current application inside of screen.
|
- fenrir is not able to detect the current application inside of screen.
|
||||||
ps -e -H -o pid,pgrp,ppid,tty,cmd
|
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
|
http://stackoverflow.com/questions/24861351/how-to-detect-if-python-script-is-being-run-as-a-background-process/24862213
|
||||||
|
@ -108,5 +108,8 @@ KEY_FENRIR,KEY_X=set_mark
|
|||||||
KEY_FENRIR,KEY_SHIFT,KEY_X=marked_text
|
KEY_FENRIR,KEY_SHIFT,KEY_X=marked_text
|
||||||
KEY_FENRIR,KEY_C=copy_marked_to_clipboard
|
KEY_FENRIR,KEY_C=copy_marked_to_clipboard
|
||||||
KEY_FENRIR,KEY_V=paste_clipboard
|
KEY_FENRIR,KEY_V=paste_clipboard
|
||||||
|
|
||||||
# linux specific
|
# linux specific
|
||||||
#=export_clipboard_to_x
|
#=export_clipboard_to_x
|
||||||
|
KEY_FENRIR,KEY_CTRL,KEY_UP=inc_alsa_volume
|
||||||
|
KEY_FENRIR,KEY_CTRL,KEY_DOWN=dec_alsa_volume
|
||||||
|
@ -110,3 +110,5 @@ KEY_FENRIR,KEY_C=copy_marked_to_clipboard
|
|||||||
KEY_FENRIR,KEY_V=paste_clipboard
|
KEY_FENRIR,KEY_V=paste_clipboard
|
||||||
# linux specific
|
# linux specific
|
||||||
#=export_clipboard_to_x
|
#=export_clipboard_to_x
|
||||||
|
KEY_FENRIR,KEY_CTRL,KEY_UP=inc_alsa_volume
|
||||||
|
KEY_FENRIR,KEY_CTRL,KEY_DOWN=dec_alsa_volume
|
||||||
|
@ -41,7 +41,9 @@ if [ -f "/etc/fenrir/settings/settings.conf" ]; then
|
|||||||
else
|
else
|
||||||
install -m644 -D "config/settings/settings.conf" /etc/fenrir/settings/settings.conf.current
|
install -m644 -D "config/settings/settings.conf" /etc/fenrir/settings/settings.conf.current
|
||||||
fi
|
fi
|
||||||
fi
|
else
|
||||||
|
install -m644 -D "config/settings/settings.conf" /etc/fenrir/settings/settings.conf
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
# end message
|
# end message
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
Known Bugs (Problems with the logic ):
|
Known Bugs (Problems with the logic ):
|
||||||
- fenrir crashes on device unplug (remove device graceful)
|
- fenrir crashes on device unplug (remove device graceful)
|
||||||
- no autodetection of X if you start without GUI and use startx manual
|
|
||||||
- word echo triggers twice if there are two spaces after an word and you arrow over them
|
- word echo triggers twice if there are two spaces after an word and you arrow over them
|
||||||
- spellcheck triggers twice if there are two spaces after an word and you arrow over them
|
- spellcheck triggers twice if there are two spaces after an word and you arrow over them
|
||||||
|
|
||||||
|
Binary file not shown.
@ -5,8 +5,8 @@
|
|||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: \n"
|
"Project-Id-Version: \n"
|
||||||
"POT-Creation-Date: 2017-02-20 10:45+UTC\n"
|
"POT-Creation-Date: 2017-02-26 22:19+UTC\n"
|
||||||
"PO-Revision-Date: 2017-02-20 04:52-0600\n"
|
"PO-Revision-Date: 2017-02-26 17:01-0600\n"
|
||||||
"Last-Translator: \n"
|
"Last-Translator: \n"
|
||||||
"Language-Team: \n"
|
"Language-Team: \n"
|
||||||
"Language: es\n"
|
"Language: es\n"
|
||||||
@ -22,6 +22,9 @@ msgid "adds the current word to the exceptions dictionary"
|
|||||||
msgstr "añade la palabra actual al diccionario"
|
msgstr "añade la palabra actual al diccionario"
|
||||||
|
|
||||||
#: ../src/fenrir/commands/commands/add_word_to_spell_check.py:34
|
#: ../src/fenrir/commands/commands/add_word_to_spell_check.py:34
|
||||||
|
#: ../src/fenrir/commands/commands/remove_word_from_spell_check.py:34
|
||||||
|
#: ../src/fenrir/commands/commands/spell_check.py:29
|
||||||
|
#: ../src/fenrir/commands/commands/spell_check.py:36
|
||||||
msgid "pyenchant is not installed"
|
msgid "pyenchant is not installed"
|
||||||
msgstr "Pyenchant no está instalado"
|
msgstr "Pyenchant no está instalado"
|
||||||
|
|
||||||
@ -94,6 +97,24 @@ msgstr "El marcador para la aplicación {0} no se ha establecido"
|
|||||||
#: ../src/fenrir/commands/commands/bookmark_9.py:43
|
#: ../src/fenrir/commands/commands/bookmark_9.py:43
|
||||||
#: ../src/fenrir/commands/commands/curr_screen_after_cursor.py:27
|
#: ../src/fenrir/commands/commands/curr_screen_after_cursor.py:27
|
||||||
#: ../src/fenrir/commands/commands/curr_screen_before_cursor.py:30
|
#: ../src/fenrir/commands/commands/curr_screen_before_cursor.py:30
|
||||||
|
#: ../src/fenrir/commands/commands/cursor_read_to_end_of_line.py:27
|
||||||
|
#: ../src/fenrir/commands/commands/indent_curr_line.py:31
|
||||||
|
#: ../src/fenrir/commands/commands/marked_text.py:33
|
||||||
|
#: ../src/fenrir/commands/commands/present_first_line.py:25
|
||||||
|
#: ../src/fenrir/commands/commands/present_last_line.py:25
|
||||||
|
#: ../src/fenrir/commands/commands/review_curr_char_phonetic.py:27
|
||||||
|
#: ../src/fenrir/commands/commands/review_curr_line.py:27
|
||||||
|
#: ../src/fenrir/commands/commands/review_curr_word.py:27
|
||||||
|
#: ../src/fenrir/commands/commands/review_curr_word_phonetic.py:27
|
||||||
|
#: ../src/fenrir/commands/commands/review_line_begin.py:27
|
||||||
|
#: ../src/fenrir/commands/commands/review_next_line.py:29
|
||||||
|
#: ../src/fenrir/commands/commands/review_next_word.py:29
|
||||||
|
#: ../src/fenrir/commands/commands/review_next_word_phonetic.py:27
|
||||||
|
#: ../src/fenrir/commands/commands/review_prev_line.py:27
|
||||||
|
#: ../src/fenrir/commands/commands/review_prev_word.py:27
|
||||||
|
#: ../src/fenrir/commands/commands/review_prev_word_phonetic.py:27
|
||||||
|
#: ../src/fenrir/commands/onInput/55000-present_line_if_cursor_change_vertical.py:38
|
||||||
|
#: ../src/fenrir/commands/onInput/72000-history.py:50
|
||||||
msgid "blank"
|
msgid "blank"
|
||||||
msgstr "en blanco"
|
msgstr "en blanco"
|
||||||
|
|
||||||
@ -137,7 +158,7 @@ msgstr "Eliminar marcador {0}"
|
|||||||
#: ../src/fenrir/commands/commands/clear_bookmark_8.py:24
|
#: ../src/fenrir/commands/commands/clear_bookmark_8.py:24
|
||||||
#: ../src/fenrir/commands/commands/clear_bookmark_9.py:24
|
#: ../src/fenrir/commands/commands/clear_bookmark_9.py:24
|
||||||
msgid "Bookmark {0} removed for application {1}"
|
msgid "Bookmark {0} removed for application {1}"
|
||||||
msgstr ""
|
msgstr "el marcador {0} de la aplicación {1} ha sido eliminado"
|
||||||
|
|
||||||
#: ../src/fenrir/commands/commands/clear_clipboard.py:17
|
#: ../src/fenrir/commands/commands/clear_clipboard.py:17
|
||||||
msgid "clears the currently selected clipboard"
|
msgid "clears the currently selected clipboard"
|
||||||
@ -153,7 +174,7 @@ msgstr "Desactiva el modo de ventana para la aplicación"
|
|||||||
|
|
||||||
#: ../src/fenrir/commands/commands/clear_window_application.py:22
|
#: ../src/fenrir/commands/commands/clear_window_application.py:22
|
||||||
msgid "Window Mode off for application {0}"
|
msgid "Window Mode off for application {0}"
|
||||||
msgstr ""
|
msgstr "El modo de ventana está desactivado para la aplicación {0}"
|
||||||
|
|
||||||
#: ../src/fenrir/commands/commands/clear_window_application.py:24
|
#: ../src/fenrir/commands/commands/clear_window_application.py:24
|
||||||
msgid "Not in window Mode"
|
msgid "Not in window Mode"
|
||||||
@ -172,6 +193,18 @@ msgid "speaks the contents of the currently selected clipboard"
|
|||||||
msgstr "Habla el contenido del portapapeles seleccionado"
|
msgstr "Habla el contenido del portapapeles seleccionado"
|
||||||
|
|
||||||
#: ../src/fenrir/commands/commands/curr_clipboard.py:21
|
#: ../src/fenrir/commands/commands/curr_clipboard.py:21
|
||||||
|
#: ../src/fenrir/commands/commands/export_clipboard_to_x.py:29
|
||||||
|
#: ../src/fenrir/commands/commands/export_clipboard_to_x.py:32
|
||||||
|
#: ../src/fenrir/commands/commands/export_clipboard_to_x.py:35
|
||||||
|
#: ../src/fenrir/commands/commands/export_clipboard_to_x.py:38
|
||||||
|
#: ../src/fenrir/commands/commands/first_clipboard.py:21
|
||||||
|
#: ../src/fenrir/commands/commands/last_clipboard.py:21
|
||||||
|
#: ../src/fenrir/commands/commands/next_clipboard.py:21
|
||||||
|
#: ../src/fenrir/commands/commands/paste_clipboard.py:23
|
||||||
|
#: ../src/fenrir/commands/commands/paste_clipboard.py:26
|
||||||
|
#: ../src/fenrir/commands/commands/paste_clipboard.py:29
|
||||||
|
#: ../src/fenrir/commands/commands/paste_clipboard.py:32
|
||||||
|
#: ../src/fenrir/commands/commands/prev_clipboard.py:21
|
||||||
msgid "clipboard empty"
|
msgid "clipboard empty"
|
||||||
msgstr "Portapapeles vacío"
|
msgstr "Portapapeles vacío"
|
||||||
|
|
||||||
@ -196,12 +229,479 @@ msgid ""
|
|||||||
"presents the current column number for review cursor in review mode or the "
|
"presents the current column number for review cursor in review mode or the "
|
||||||
"text cursor if not. Starts with 1"
|
"text cursor if not. Starts with 1"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
"Indica el número de columna actual para el cursor de revisión si se está en "
|
||||||
|
"el modo de revisión, o el cursor de texto si no."
|
||||||
|
|
||||||
#: ../src/fenrir/commands/commands/cursor_lineno.py:17
|
#: ../src/fenrir/commands/commands/cursor_lineno.py:17
|
||||||
msgid ""
|
msgid ""
|
||||||
"presents the current line number for review cursor in review mode or the "
|
"presents the current line number for review cursor in review mode or the "
|
||||||
"text cursor if not. Starts with 1"
|
"text cursor if not. Starts with 1"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
"Indica el número de línea actual para el cursor de revisión si se está en el "
|
||||||
|
"modo de revisión, o el cursor de texto si no."
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/cursor_position.py:17
|
||||||
|
msgid "displays the position of the review cursor"
|
||||||
|
msgstr "Indica la posición del cursor de revisión"
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/cursor_position.py:23
|
||||||
|
msgid "line {0}, column {1}"
|
||||||
|
msgstr "Línea {0}, columna {1}"
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/cursor_read_to_end_of_line.py:18
|
||||||
|
msgid ""
|
||||||
|
"read to end of line, use review cursor if you are in review mode, otherwhise "
|
||||||
|
"use text cursor"
|
||||||
|
msgstr ""
|
||||||
|
"Leer hasta el fin de línea, utiliza el cursor de revisión cuando el modo de "
|
||||||
|
"revisión está activo, de lo contrario utiliza el cursor de texto."
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/date.py:18
|
||||||
|
msgid "presents the date"
|
||||||
|
msgstr "Lee la fecha"
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/dec_sound_volume.py:18
|
||||||
|
msgid "decrease sound volume"
|
||||||
|
msgstr "Reduce el volumen del sonido"
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/dec_sound_volume.py:29
|
||||||
|
#: ../src/fenrir/commands/commands/inc_sound_volume.py:29
|
||||||
|
msgid "{0} percent sound volume"
|
||||||
|
msgstr "volumen de sonido al {0} porciento"
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/dec_speech_pitch.py:18
|
||||||
|
msgid "decreases the pitch of the speech"
|
||||||
|
msgstr "Reduce el tono de voz"
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/dec_speech_pitch.py:27
|
||||||
|
#: ../src/fenrir/commands/commands/inc_speech_pitch.py:27
|
||||||
|
msgid "{0} percent speech pitch"
|
||||||
|
msgstr "Tono de voz al {0} porciento"
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/dec_speech_rate.py:18
|
||||||
|
msgid "decreases the rate of the speech"
|
||||||
|
msgstr "Reduce la velocidad de voz"
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/dec_speech_rate.py:27
|
||||||
|
#: ../src/fenrir/commands/commands/inc_speech_rate.py:27
|
||||||
|
msgid "{0} percent speech rate"
|
||||||
|
msgstr "Velocidad de voz al {0} porciento"
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/dec_speech_volume.py:18
|
||||||
|
msgid "decreases the volume of the speech"
|
||||||
|
msgstr "Reduce el volumen de voz"
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/dec_speech_volume.py:27
|
||||||
|
#: ../src/fenrir/commands/commands/inc_speech_volume.py:27
|
||||||
|
msgid "{0} percent speech volume"
|
||||||
|
msgstr "Volumen de voz al {0} porciento"
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/exit_review.py:17
|
||||||
|
msgid "exits review mode"
|
||||||
|
msgstr "Sale del modo de revisión"
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/exit_review.py:21
|
||||||
|
msgid "Not in review mode"
|
||||||
|
msgstr "No está en modo de revisión"
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/exit_review.py:25
|
||||||
|
msgid "leave review mode"
|
||||||
|
msgstr "Saliendo del modo de revisión"
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/export_clipboard_to_x.py:21
|
||||||
|
msgid "export the current fenrir clipboard to X clipboard"
|
||||||
|
msgstr "Exporta el contenido del portapapeles de Fenrir al servidor X"
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/first_clipboard.py:17
|
||||||
|
msgid "selects the first clipboard"
|
||||||
|
msgstr "Selecciona el primer portapapeles"
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/forward_keypress.py:17
|
||||||
|
msgid "sends the following keypress to the terminal"
|
||||||
|
msgstr "Envía la siguiente tecla a la terminal"
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/forward_keypress.py:21
|
||||||
|
msgid "Forward next keypress"
|
||||||
|
msgstr "Enviar la siguiente tecla"
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/inc_sound_volume.py:18
|
||||||
|
msgid "adjusts the volume for in coming sounds"
|
||||||
|
msgstr "aumenta el volumen del sonido"
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/inc_speech_pitch.py:18
|
||||||
|
msgid "increases the pitch of the speech"
|
||||||
|
msgstr "Aumenta el tono de voz"
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/inc_speech_rate.py:18
|
||||||
|
msgid "increase the speech rate"
|
||||||
|
msgstr "Aumenta la velocidad de voz"
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/inc_speech_volume.py:18
|
||||||
|
msgid "increase the speech volume"
|
||||||
|
msgstr "Aumenta el volumen de voz"
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/indent_curr_line.py:18
|
||||||
|
msgid "shows the indention level for the current line"
|
||||||
|
msgstr "Lee el nivel de indentación de la línea actual"
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/indent_curr_line.py:33
|
||||||
|
msgid "indent {0}"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/last_clipboard.py:17
|
||||||
|
msgid "selects the last clipboard"
|
||||||
|
msgstr "Selecciona el último portapapeles"
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/last_incoming.py:17
|
||||||
|
msgid "displays the last received text"
|
||||||
|
msgstr "Lee el último mensaje recibido"
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/marked_text.py:18
|
||||||
|
msgid "speaks the currently selected text that will be copied to the clipboard"
|
||||||
|
msgstr "Lee el texto que será copiado al portapapeles"
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/marked_text.py:23
|
||||||
|
msgid "please set begin and endmark"
|
||||||
|
msgstr "Establece una marca de principio y otra para el final de la selección."
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/next_clipboard.py:17
|
||||||
|
msgid "selects the next clipboard"
|
||||||
|
msgstr "Selecciona el siguiente portapapeles"
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/next_clipboard.py:26
|
||||||
|
msgid "First clipboard "
|
||||||
|
msgstr "Primer portapapeles"
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/paste_clipboard.py:18
|
||||||
|
msgid "pastes the text from the currently selected clipboard"
|
||||||
|
msgstr "Pega el texto del portapapeles en uso"
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/present_first_line.py:18
|
||||||
|
msgid "present first line"
|
||||||
|
msgstr "lee la primera línea"
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/present_last_line.py:18
|
||||||
|
#: ../src/fenrir/commands/commands/review_curr_line.py:18
|
||||||
|
msgid "current line"
|
||||||
|
msgstr "línea actual"
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/prev_clipboard.py:17
|
||||||
|
msgid "selects the previous clipboard"
|
||||||
|
msgstr "Selecciona el portapapeles anterior"
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/prev_clipboard.py:26
|
||||||
|
msgid "Last clipboard "
|
||||||
|
msgstr "Último portapapeles"
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/quit_fenrir.py:17
|
||||||
|
msgid "exits Fenrir"
|
||||||
|
msgstr "Sale de Fenrir"
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/remove_marks.py:17
|
||||||
|
msgid "removes marks from selected text"
|
||||||
|
msgstr "Quitar marcas del texto seleccionado"
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/remove_marks.py:21
|
||||||
|
msgid "Remove marks"
|
||||||
|
msgstr "Marcas eliminadas"
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/remove_word_from_spell_check.py:27
|
||||||
|
msgid "removes the current word from the exceptions dictionary"
|
||||||
|
msgstr "Quita la palabra actual del diccionario de excepciones"
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/remove_word_from_spell_check.py:50
|
||||||
|
msgid "{0} is already removed from dict"
|
||||||
|
msgstr "{0} no está en el diccionario"
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/remove_word_from_spell_check.py:53
|
||||||
|
msgid "{0} removed"
|
||||||
|
msgstr "se ha eliminado {0}"
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/review_bottom.py:17
|
||||||
|
msgid "move review to bottom of screen"
|
||||||
|
msgstr "Mueve el cursor de revisión al final de la pantalla"
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/review_bottom.py:21
|
||||||
|
msgid "Bottom"
|
||||||
|
msgstr "Fin"
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/review_curr_char.py:18
|
||||||
|
msgid "presents the current character."
|
||||||
|
msgstr "Lee el carácter actual"
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/review_curr_char_phonetic.py:18
|
||||||
|
msgid "set review and phonetically presents the current character"
|
||||||
|
msgstr "Lee fonéticamente el último carácter"
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/review_curr_word.py:18
|
||||||
|
msgid "current word."
|
||||||
|
msgstr "Palabra actual. "
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/review_curr_word.py:32
|
||||||
|
#: ../src/fenrir/commands/commands/review_curr_word_phonetic.py:36
|
||||||
|
#: ../src/fenrir/commands/commands/review_down.py:27
|
||||||
|
#: ../src/fenrir/commands/commands/review_next_char.py:28
|
||||||
|
#: ../src/fenrir/commands/commands/review_next_char_phonetic.py:30
|
||||||
|
#: ../src/fenrir/commands/commands/review_next_line.py:34
|
||||||
|
#: ../src/fenrir/commands/commands/review_next_word.py:34
|
||||||
|
#: ../src/fenrir/commands/commands/review_next_word_phonetic.py:36
|
||||||
|
#: ../src/fenrir/commands/commands/review_prev_char.py:31
|
||||||
|
#: ../src/fenrir/commands/commands/review_prev_char_phonetic.py:30
|
||||||
|
#: ../src/fenrir/commands/commands/review_prev_line.py:32
|
||||||
|
#: ../src/fenrir/commands/commands/review_prev_word.py:32
|
||||||
|
#: ../src/fenrir/commands/commands/review_prev_word_phonetic.py:36
|
||||||
|
#: ../src/fenrir/commands/commands/review_up.py:27
|
||||||
|
msgid "end of screen"
|
||||||
|
msgstr "Fin de pantalla"
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/review_curr_word.py:35
|
||||||
|
#: ../src/fenrir/commands/commands/review_curr_word_phonetic.py:39
|
||||||
|
#: ../src/fenrir/commands/commands/review_next_char.py:31
|
||||||
|
#: ../src/fenrir/commands/commands/review_next_char_phonetic.py:33
|
||||||
|
#: ../src/fenrir/commands/commands/review_next_word.py:37
|
||||||
|
#: ../src/fenrir/commands/commands/review_next_word_phonetic.py:39
|
||||||
|
#: ../src/fenrir/commands/commands/review_prev_char.py:34
|
||||||
|
#: ../src/fenrir/commands/commands/review_prev_char_phonetic.py:33
|
||||||
|
#: ../src/fenrir/commands/commands/review_prev_word.py:35
|
||||||
|
#: ../src/fenrir/commands/commands/review_prev_word_phonetic.py:39
|
||||||
|
#: ../src/fenrir/commands/commands/review_up.py:30
|
||||||
|
msgid "line break"
|
||||||
|
msgstr "Nueva línea"
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/review_curr_word_phonetic.py:19
|
||||||
|
#: ../src/fenrir/commands/commands/review_next_word_phonetic.py:19
|
||||||
|
#: ../src/fenrir/commands/commands/review_prev_word_phonetic.py:19
|
||||||
|
msgid "phonetically spells the current word and set review to it"
|
||||||
|
msgstr "Deletrea fonéticamente la palabra actual"
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/review_down.py:18
|
||||||
|
msgid "set review cursor to char below the current char and present it."
|
||||||
|
msgstr "Mueve el cursor de revisión al carácter después del actual y lo lee"
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/review_line_begin.py:18
|
||||||
|
msgid "set review cursor to begin of current line and display the content"
|
||||||
|
msgstr "lee la línea actual desde el principio"
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/review_line_begin.py:30
|
||||||
|
msgid "beginning of line"
|
||||||
|
msgstr "principio de línea"
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/review_line_end.py:18
|
||||||
|
#: ../src/fenrir/commands/commands/review_line_first_char.py:19
|
||||||
|
#: ../src/fenrir/commands/commands/review_line_last_char.py:18
|
||||||
|
msgid "set review cursor to end of current line and display the content"
|
||||||
|
msgstr "Lee el final de la línea"
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/review_line_end.py:27
|
||||||
|
msgid "end of line"
|
||||||
|
msgstr "Fin de línea"
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/review_line_first_char.py:26
|
||||||
|
msgid "line is empty"
|
||||||
|
msgstr "Línea en blanco"
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/review_line_first_char.py:33
|
||||||
|
msgid "first char in line indent {0}"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/review_line_last_char.py:27
|
||||||
|
msgid "last char in line"
|
||||||
|
msgstr "último carácter de la línea"
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/review_next_char.py:18
|
||||||
|
msgid "moves review to the next character and presents it"
|
||||||
|
msgstr "Lee el siguiente carácter"
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/review_next_char_phonetic.py:18
|
||||||
|
msgid "phonetically presents the next character and set review to it"
|
||||||
|
msgstr "Lee fonéticamente el siguiente carácter"
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/review_next_line.py:18
|
||||||
|
msgid "moves review to the next line and presents it"
|
||||||
|
msgstr "Lee la siguiente línea"
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/review_next_word.py:18
|
||||||
|
msgid "moves review to the next word and presents it"
|
||||||
|
msgstr "Lee la siguiente palabra"
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/review_prev_char.py:18
|
||||||
|
msgid "moves review to the previous character and presents it"
|
||||||
|
msgstr "Lee el carácter anterior"
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/review_prev_char_phonetic.py:18
|
||||||
|
msgid "phonetically presents the previous character and set review to it"
|
||||||
|
msgstr "Lee fonéticamente el carácter anterior"
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/review_prev_line.py:18
|
||||||
|
msgid "moves review to the previous line and presents it"
|
||||||
|
msgstr "Lee la línea anterior"
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/review_prev_word.py:18
|
||||||
|
msgid "moves review focus to the previous word and presents it"
|
||||||
|
msgstr "Lee la palabra anterior"
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/review_top.py:18
|
||||||
|
msgid "move review to top of screen"
|
||||||
|
msgstr "ir al final de la pantalla"
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/review_top.py:22
|
||||||
|
msgid "Top"
|
||||||
|
msgstr "Fin"
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/review_up.py:18
|
||||||
|
msgid "set review cursor to the char in the line below and present it"
|
||||||
|
msgstr "Mueve el cursor de revisión al carácter en la siguiente línea y lo lee"
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/set_bookmark_1.py:18
|
||||||
|
#: ../src/fenrir/commands/commands/set_bookmark_10.py:18
|
||||||
|
#: ../src/fenrir/commands/commands/set_bookmark_2.py:18
|
||||||
|
#: ../src/fenrir/commands/commands/set_bookmark_3.py:18
|
||||||
|
#: ../src/fenrir/commands/commands/set_bookmark_4.py:18
|
||||||
|
#: ../src/fenrir/commands/commands/set_bookmark_5.py:18
|
||||||
|
#: ../src/fenrir/commands/commands/set_bookmark_6.py:18
|
||||||
|
#: ../src/fenrir/commands/commands/set_bookmark_7.py:18
|
||||||
|
#: ../src/fenrir/commands/commands/set_bookmark_8.py:18
|
||||||
|
#: ../src/fenrir/commands/commands/set_bookmark_9.py:18
|
||||||
|
msgid "set Bookmark {0}"
|
||||||
|
msgstr "Añadir marcador {0}"
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/set_bookmark_1.py:22
|
||||||
|
#: ../src/fenrir/commands/commands/set_bookmark_10.py:22
|
||||||
|
#: ../src/fenrir/commands/commands/set_bookmark_2.py:22
|
||||||
|
#: ../src/fenrir/commands/commands/set_bookmark_3.py:22
|
||||||
|
#: ../src/fenrir/commands/commands/set_bookmark_4.py:22
|
||||||
|
#: ../src/fenrir/commands/commands/set_bookmark_5.py:22
|
||||||
|
#: ../src/fenrir/commands/commands/set_bookmark_6.py:22
|
||||||
|
#: ../src/fenrir/commands/commands/set_bookmark_7.py:22
|
||||||
|
#: ../src/fenrir/commands/commands/set_bookmark_8.py:22
|
||||||
|
#: ../src/fenrir/commands/commands/set_bookmark_9.py:22
|
||||||
|
msgid "No Mark found"
|
||||||
|
msgstr "No se han encontrado marcas"
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/set_bookmark_1.py:32
|
||||||
|
#: ../src/fenrir/commands/commands/set_bookmark_10.py:32
|
||||||
|
#: ../src/fenrir/commands/commands/set_bookmark_2.py:32
|
||||||
|
#: ../src/fenrir/commands/commands/set_bookmark_3.py:32
|
||||||
|
#: ../src/fenrir/commands/commands/set_bookmark_4.py:32
|
||||||
|
#: ../src/fenrir/commands/commands/set_bookmark_5.py:32
|
||||||
|
#: ../src/fenrir/commands/commands/set_bookmark_6.py:32
|
||||||
|
#: ../src/fenrir/commands/commands/set_bookmark_7.py:32
|
||||||
|
#: ../src/fenrir/commands/commands/set_bookmark_8.py:32
|
||||||
|
#: ../src/fenrir/commands/commands/set_bookmark_9.py:32
|
||||||
|
msgid "Bookmark {0} set for application {1}"
|
||||||
|
msgstr "Añadido marcador {0} para aplicación {1}"
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/set_mark.py:17
|
||||||
|
msgid "places marks to select text to copy to the clipboard"
|
||||||
|
msgstr ""
|
||||||
|
"Establece marcas para seleccionar texto que será copiado al portapapeles"
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/set_mark.py:21
|
||||||
|
msgid "no review cursor"
|
||||||
|
msgstr "No hay cursor de revisión"
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/set_mark.py:26
|
||||||
|
#: ../src/fenrir/commands/commands/set_mark.py:28
|
||||||
|
msgid "set mark"
|
||||||
|
msgstr "Marcar"
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/set_window_application.py:17
|
||||||
|
msgid "set Window Mode, needs 2 marks "
|
||||||
|
msgstr "se necesitan dos marcas para establecer el modo ventana"
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/set_window_application.py:22
|
||||||
|
msgid "Window Mode on for application {0}"
|
||||||
|
msgstr "El modo de ventana está activado para la aplicación {0}"
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/set_window_application.py:25
|
||||||
|
msgid "Set window begin and end marks"
|
||||||
|
msgstr "Establece una marca de principio y otra para el final de la ventana"
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/shut_up.py:17
|
||||||
|
msgid "interrupts the current presentation"
|
||||||
|
msgstr "Interrumpe el habla y braille."
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/spell_check.py:26
|
||||||
|
msgid "checks the spelling of the current word"
|
||||||
|
msgstr "Revisa la ortografía para la palabra actual"
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/spell_check.py:52
|
||||||
|
#: ../src/fenrir/commands/onInput/62000-spell_check.py:132
|
||||||
|
msgid "misspelled"
|
||||||
|
msgstr "mal escrito"
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/spell_check.py:54
|
||||||
|
msgid "correct"
|
||||||
|
msgstr "Correcto"
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/subprocess.py:21
|
||||||
|
msgid "script: {0} fullpath: {1}"
|
||||||
|
msgstr "Script: {0} Ruta de archivo: {1}"
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/subprocess.py:24
|
||||||
|
msgid "scriptfile does not exist"
|
||||||
|
msgstr "el archivo del script no existe"
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/subprocess.py:27
|
||||||
|
msgid "scriptfile is not a file"
|
||||||
|
msgstr "El script no es un archivo"
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/subprocess.py:30
|
||||||
|
msgid "scriptfile is not executable"
|
||||||
|
msgstr "el script no es ejecutable"
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/temp_disable_speech.py:17
|
||||||
|
#: ../src/fenrir/commands/onInput/15000-enable_temp_speech.py:17
|
||||||
|
msgid "disables speech until next keypress"
|
||||||
|
msgstr "Desactiva el habla hasta la siguiente pulsación de teclas"
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/temp_disable_speech.py:21
|
||||||
|
msgid "speech temporary disabled"
|
||||||
|
msgstr "Habla desactivada temporalmente"
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/time.py:18
|
||||||
|
msgid "presents the time"
|
||||||
|
msgstr "Lee la hora"
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/toggle_auto_read.py:16
|
||||||
|
msgid "enables or disables automatic reading of new text as it appears"
|
||||||
|
msgstr ""
|
||||||
|
"Activa o desactiva la lectura de texto cuando hay nuevo contenido en la "
|
||||||
|
"pantalla"
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/toggle_auto_read.py:21
|
||||||
|
msgid "autoread enabled"
|
||||||
|
msgstr "Lectura automática activada"
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/toggle_auto_read.py:23
|
||||||
|
msgid "autoread disabled"
|
||||||
|
msgstr "Lectura automática desactivada"
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/toggle_auto_spell_check.py:17
|
||||||
|
msgid "enables or disables automatic spell checking"
|
||||||
|
msgstr "Activa o desactiva la corrección ortográfica automática"
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/toggle_auto_spell_check.py:22
|
||||||
|
msgid "auto spellcheck enabled"
|
||||||
|
msgstr "corrección ortográfica automática activada"
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/toggle_auto_spell_check.py:24
|
||||||
|
msgid "auto spellcheck disabled"
|
||||||
|
msgstr "corrección ortográfica automática desactivada"
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/toggle_auto_time.py:16
|
||||||
|
msgid "enables or disables automatic reading of time after an period"
|
||||||
|
msgstr ""
|
||||||
|
"Activa o desactiva la lectura automática de la hora después de un intervalo "
|
||||||
|
"de tiempo"
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/toggle_auto_time.py:21
|
||||||
|
msgid "autotime enabled"
|
||||||
|
msgstr "lectura automática de hora activada"
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/toggle_auto_time.py:23
|
||||||
|
msgid "autotime disabled"
|
||||||
|
msgstr "Lectura automática de hora desactivada"
|
||||||
|
|
||||||
#: ../src/fenrir/commands/commands/toggle_braille.py:17
|
#: ../src/fenrir/commands/commands/toggle_braille.py:17
|
||||||
msgid "enables and disables output in braille"
|
msgid "enables and disables output in braille"
|
||||||
@ -228,6 +728,7 @@ msgid "emoticons disabled"
|
|||||||
msgstr "Emoticonos desactivados"
|
msgstr "Emoticonos desactivados"
|
||||||
|
|
||||||
#: ../src/fenrir/commands/commands/toggle_highlight_tracking.py:16
|
#: ../src/fenrir/commands/commands/toggle_highlight_tracking.py:16
|
||||||
|
#: ../src/fenrir/commands/onInput/56000-highlight_tracking.py:16
|
||||||
msgid "enables or disables tracking of highlighted"
|
msgid "enables or disables tracking of highlighted"
|
||||||
msgstr "Activa o desactiva el seguimiento de texto resaltado"
|
msgstr "Activa o desactiva el seguimiento de texto resaltado"
|
||||||
|
|
||||||
@ -276,6 +777,7 @@ msgid "speech disabled"
|
|||||||
msgstr "Habla desactivada"
|
msgstr "Habla desactivada"
|
||||||
|
|
||||||
#: ../src/fenrir/commands/commands/toggle_speech.py:24
|
#: ../src/fenrir/commands/commands/toggle_speech.py:24
|
||||||
|
#: ../src/fenrir/commands/onInput/15000-enable_temp_speech.py:28
|
||||||
msgid "speech enabled"
|
msgid "speech enabled"
|
||||||
msgstr "Habla activada"
|
msgstr "Habla activada"
|
||||||
|
|
||||||
@ -296,3 +798,43 @@ msgstr ""
|
|||||||
"Has entrado al tutorial. En este modo las combinaciones de teclado no se "
|
"Has entrado al tutorial. En este modo las combinaciones de teclado no se "
|
||||||
"ejecutarán pero te darán una descripción de lo que hacen. Para salir del "
|
"ejecutarán pero te darán una descripción de lo que hacen. Para salir del "
|
||||||
"tutorial, presiona la misma combinación de teclado de nuevo."
|
"tutorial, presiona la misma combinación de teclado de nuevo."
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/onInput/80000-capslock.py:22
|
||||||
|
msgid "Capslock on"
|
||||||
|
msgstr "Bloqueo mayúsculas activado"
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/onInput/80000-capslock.py:24
|
||||||
|
msgid "Capslock off"
|
||||||
|
msgstr "Bloqueo mayúsculas desactivado"
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/onInput/80300-scrolllock.py:22
|
||||||
|
msgid "Scrolllock on"
|
||||||
|
msgstr "Bloqueo de desplazamiento activado"
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/onInput/80300-scrolllock.py:24
|
||||||
|
msgid "Scrolllock off"
|
||||||
|
msgstr "Bloqueo de desplazamiento desactivado"
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/onInput/80500-numlock.py:22
|
||||||
|
msgid "Numlock on"
|
||||||
|
msgstr "Bloqueo numérico activado"
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/onInput/80500-numlock.py:24
|
||||||
|
msgid "Numlock off"
|
||||||
|
msgstr "Bloqueo numérico desactivado"
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/onScreenChanged/80000-screen_change_announcement.py:20
|
||||||
|
msgid "screen {0}"
|
||||||
|
msgstr "pantalla {0}"
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/onScreenUpdate/76000-time.py:66
|
||||||
|
msgid "Autotime: {0}"
|
||||||
|
msgstr "Hora automática: {0}"
|
||||||
|
|
||||||
|
#: ../src/fenrir/fenrir.py:24
|
||||||
|
msgid "Start Fenrir"
|
||||||
|
msgstr "Iniciando fenrir"
|
||||||
|
|
||||||
|
#: ../src/fenrir/fenrir.py:99
|
||||||
|
msgid "Quit Fenrir"
|
||||||
|
msgstr "Cerrando Fenrir"
|
||||||
|
48
play zone/detectDevices.py
Normal file
48
play zone/detectDevices.py
Normal file
@ -0,0 +1,48 @@
|
|||||||
|
#!/bin/python
|
||||||
|
iDevices = {}
|
||||||
|
iDeviceNo = 0
|
||||||
|
def updateInputDevices(force = False, init = False):
|
||||||
|
global iDeviceNo
|
||||||
|
if init:
|
||||||
|
iDevices = {}
|
||||||
|
iDeviceNo = 0
|
||||||
|
deviceFileList = evdev.list_devices()
|
||||||
|
if not force:
|
||||||
|
if len(deviceFileList) == iDeviceNo:
|
||||||
|
return
|
||||||
|
iDeviceNo = len(deviceFileList)
|
||||||
|
mode = 'ALL'
|
||||||
|
iDevicesFiles = []
|
||||||
|
for device in iDevices:
|
||||||
|
iDevicesFiles.append(iDevices[device].fn)
|
||||||
|
print(len(iDevicesFiles),len(deviceFileList))
|
||||||
|
if len(iDevicesFiles) == len(deviceFileList):
|
||||||
|
return
|
||||||
|
for deviceFile in deviceFileList:
|
||||||
|
try:
|
||||||
|
if deviceFile in iDevicesFiles:
|
||||||
|
print('skip')
|
||||||
|
continue
|
||||||
|
open(deviceFile)
|
||||||
|
# 3 pos absolute
|
||||||
|
# 2 pos relative
|
||||||
|
# 1 Keys
|
||||||
|
currDevice = evdev.InputDevice(deviceFile)
|
||||||
|
cap = currDevice.capabilities()
|
||||||
|
if mode in ['ALL','NOMICE']:
|
||||||
|
if 1 in cap:
|
||||||
|
if 116 in cap[1] and len(cap[1]) < 5:
|
||||||
|
print('power')
|
||||||
|
continue
|
||||||
|
if mode == 'ALL':
|
||||||
|
iDevices[currDevice.fd] = currDevice
|
||||||
|
print('Device added:' + iDevices[currDevice.fd].name)
|
||||||
|
elif mode == 'NOMICE':
|
||||||
|
if not ((2 in cap) or (3 in cap)):
|
||||||
|
iDevices[currDevice.fd] = currDevice
|
||||||
|
print('Device added:' + iDevices[currDevice.fd].name)
|
||||||
|
elif currDevice.name.upper() in mode.split(','):
|
||||||
|
iDevices[currDevice.fd] = currDevice
|
||||||
|
print('Device added:' + iDevices[currDevice.fd].name)
|
||||||
|
except Exception as e:
|
||||||
|
print("Skip Inputdevice : " + deviceFile +' ' + str(e))
|
@ -14,13 +14,13 @@ class command():
|
|||||||
def shutdown(self):
|
def shutdown(self):
|
||||||
pass
|
pass
|
||||||
def getDescription(self):
|
def getDescription(self):
|
||||||
return 'displays the position of the review cursor'
|
return _('displays the position of the review cursor')
|
||||||
|
|
||||||
def run(self):
|
def run(self):
|
||||||
# Prefer review cursor over text cursor
|
# Prefer review cursor over text cursor
|
||||||
cursorPos = self.env['runtime']['cursorManager'].getReviewOrTextCursor()
|
cursorPos = self.env['runtime']['cursorManager'].getReviewOrTextCursor()
|
||||||
|
|
||||||
self.env['runtime']['outputManager'].presentText("line "+ str(cursorPos['y']+1) + " column "+ str(cursorPos['x']+1), interrupt=True)
|
self.env['runtime']['outputManager'].presentText(_("line {0}, column {1}").format(cursorPos['y']+1, cursorPos['x']+1), interrupt=True)
|
||||||
|
|
||||||
def setCallback(self, callback):
|
def setCallback(self, callback):
|
||||||
pass
|
pass
|
||||||
|
@ -15,7 +15,7 @@ class command():
|
|||||||
def shutdown(self):
|
def shutdown(self):
|
||||||
pass
|
pass
|
||||||
def getDescription(self):
|
def getDescription(self):
|
||||||
return 'read to end of line, use review cursor if you are in reviewmode, otherwhise use text cursor'
|
return _('read to end of line, use review cursor if you are in review mode, otherwhise use text cursor')
|
||||||
|
|
||||||
def run(self):
|
def run(self):
|
||||||
cursorPos = self.env['runtime']['cursorManager'].getReviewOrTextCursor()
|
cursorPos = self.env['runtime']['cursorManager'].getReviewOrTextCursor()
|
||||||
@ -24,7 +24,7 @@ class command():
|
|||||||
line_utils.getCurrentLine(cursorPos['x'], cursorPos['y'], self.env['screenData']['newContentText'])
|
line_utils.getCurrentLine(cursorPos['x'], cursorPos['y'], self.env['screenData']['newContentText'])
|
||||||
|
|
||||||
if currLine.isspace():
|
if currLine.isspace():
|
||||||
self.env['runtime']['outputManager'].presentText("blank", soundIcon='EmptyLine', interrupt=True)
|
self.env['runtime']['outputManager'].presentText(_("blank"), soundIcon='EmptyLine', interrupt=True)
|
||||||
else:
|
else:
|
||||||
self.env['runtime']['outputManager'].presentText(currLine[cursorPos['x']], interrupt=True)
|
self.env['runtime']['outputManager'].presentText(currLine[cursorPos['x']], interrupt=True)
|
||||||
self.env['runtime']['outputManager'].announceActiveCursor()
|
self.env['runtime']['outputManager'].announceActiveCursor()
|
||||||
|
@ -15,7 +15,7 @@ class command():
|
|||||||
def shutdown(self):
|
def shutdown(self):
|
||||||
pass
|
pass
|
||||||
def getDescription(self):
|
def getDescription(self):
|
||||||
return 'presents the date'
|
return _('presents the date')
|
||||||
|
|
||||||
def run(self):
|
def run(self):
|
||||||
dateFormat = self.env['runtime']['settingsManager'].getSetting('general', 'dateFormat')
|
dateFormat = self.env['runtime']['settingsManager'].getSetting('general', 'dateFormat')
|
||||||
|
39
src/fenrir/commands/commands/dec_alsa_volume.py
Normal file
39
src/fenrir/commands/commands/dec_alsa_volume.py
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
#!/bin/python
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
|
# Fenrir TTY screen reader
|
||||||
|
# By Chrys, Storm Dragon, and contributers.
|
||||||
|
|
||||||
|
initialized = False
|
||||||
|
try:
|
||||||
|
import alsaaudio
|
||||||
|
initialized = True
|
||||||
|
except:
|
||||||
|
pass
|
||||||
|
|
||||||
|
from core import debug
|
||||||
|
|
||||||
|
class command():
|
||||||
|
def __init__(self):
|
||||||
|
pass
|
||||||
|
def initialize(self, environment):
|
||||||
|
self.env = environment
|
||||||
|
def shutdown(self):
|
||||||
|
pass
|
||||||
|
def getDescription(self):
|
||||||
|
return _("Decrease system volume")
|
||||||
|
|
||||||
|
def run(self):
|
||||||
|
if not initialized:
|
||||||
|
self.env['runtime']['outputManager'].presentText(_('alsaaudio is not installed'), interrupt=True)
|
||||||
|
return
|
||||||
|
mixer = alsaaudio.Mixer()
|
||||||
|
value = mixer.getvolume()[0]
|
||||||
|
value = value - 5
|
||||||
|
if value < 5:
|
||||||
|
value = 5
|
||||||
|
mixer.setvolume(value)
|
||||||
|
self.env['runtime']['outputManager'].presentText(_("{0} percent system volume").format(value), interrupt=True)
|
||||||
|
|
||||||
|
def setCallback(self, callback):
|
||||||
|
pass
|
@ -15,7 +15,7 @@ class command():
|
|||||||
def shutdown(self):
|
def shutdown(self):
|
||||||
pass
|
pass
|
||||||
def getDescription(self):
|
def getDescription(self):
|
||||||
return 'decrease sound volume'
|
return _('decrease sound volume')
|
||||||
|
|
||||||
def run(self):
|
def run(self):
|
||||||
|
|
||||||
@ -26,7 +26,7 @@ class command():
|
|||||||
value = 0.1
|
value = 0.1
|
||||||
self.env['runtime']['settingsManager'].setSetting('sound', 'volume', str(value))
|
self.env['runtime']['settingsManager'].setSetting('sound', 'volume', str(value))
|
||||||
|
|
||||||
self.env['runtime']['outputManager'].presentText(str(int(value * 100)) + " percent sound volume", soundIcon='SoundOff', interrupt=True)
|
self.env['runtime']['outputManager'].presentText(_("{0} percent sound volume").format(int(value * 100)), soundIcon='SoundOff', interrupt=True)
|
||||||
|
|
||||||
def setCallback(self, callback):
|
def setCallback(self, callback):
|
||||||
pass
|
pass
|
||||||
|
@ -15,7 +15,7 @@ class command():
|
|||||||
def shutdown(self):
|
def shutdown(self):
|
||||||
pass
|
pass
|
||||||
def getDescription(self):
|
def getDescription(self):
|
||||||
return 'decreases the pitch of the speech'
|
return _('decreases the pitch of the speech')
|
||||||
|
|
||||||
def run(self):
|
def run(self):
|
||||||
value = self.env['runtime']['settingsManager'].getSettingAsFloat('speech', 'pitch')
|
value = self.env['runtime']['settingsManager'].getSettingAsFloat('speech', 'pitch')
|
||||||
@ -23,8 +23,7 @@ class command():
|
|||||||
if value < 0.0:
|
if value < 0.0:
|
||||||
value = 0.0
|
value = 0.0
|
||||||
self.env['runtime']['settingsManager'].setSetting('speech', 'pitch', str(value))
|
self.env['runtime']['settingsManager'].setSetting('speech', 'pitch', str(value))
|
||||||
|
self.env['runtime']['outputManager'].presentText(_('{0} percent speech pitch').format(int(value * 100)), soundIcon='', interrupt=True)
|
||||||
self.env['runtime']['outputManager'].presentText(str(int(value * 100)) + " percent speech pitch", soundIcon='', interrupt=True)
|
|
||||||
|
|
||||||
def setCallback(self, callback):
|
def setCallback(self, callback):
|
||||||
pass
|
pass
|
||||||
|
@ -15,7 +15,7 @@ class command():
|
|||||||
def shutdown(self):
|
def shutdown(self):
|
||||||
pass
|
pass
|
||||||
def getDescription(self):
|
def getDescription(self):
|
||||||
return 'decreases the rate of the speech'
|
return _('decreases the rate of the speech')
|
||||||
|
|
||||||
def run(self):
|
def run(self):
|
||||||
value = self.env['runtime']['settingsManager'].getSettingAsFloat('speech', 'rate')
|
value = self.env['runtime']['settingsManager'].getSettingAsFloat('speech', 'rate')
|
||||||
@ -24,7 +24,7 @@ class command():
|
|||||||
value = 0.0
|
value = 0.0
|
||||||
self.env['runtime']['settingsManager'].setSetting('speech', 'rate', str(value))
|
self.env['runtime']['settingsManager'].setSetting('speech', 'rate', str(value))
|
||||||
|
|
||||||
self.env['runtime']['outputManager'].presentText(str(int(value * 100)) + " percent speech rate", soundIcon='', interrupt=True)
|
self.env['runtime']['outputManager'].presentText(_("{0} percent speech rate").format(int(value * 100)), soundIcon='', interrupt=True)
|
||||||
|
|
||||||
def setCallback(self, callback):
|
def setCallback(self, callback):
|
||||||
pass
|
pass
|
||||||
|
@ -15,7 +15,7 @@ class command():
|
|||||||
def shutdown(self):
|
def shutdown(self):
|
||||||
pass
|
pass
|
||||||
def getDescription(self):
|
def getDescription(self):
|
||||||
return 'decreases the volume of the speech'
|
return _('decreases the volume of the speech')
|
||||||
|
|
||||||
def run(self):
|
def run(self):
|
||||||
value = self.env['runtime']['settingsManager'].getSettingAsFloat('speech', 'volume')
|
value = self.env['runtime']['settingsManager'].getSettingAsFloat('speech', 'volume')
|
||||||
@ -24,7 +24,7 @@ class command():
|
|||||||
value = 0.1
|
value = 0.1
|
||||||
self.env['runtime']['settingsManager'].setSetting('speech', 'volume', str(value))
|
self.env['runtime']['settingsManager'].setSetting('speech', 'volume', str(value))
|
||||||
|
|
||||||
self.env['runtime']['outputManager'].presentText(str(int(value * 100)) + " percent speech volume", soundIcon='', interrupt=True)
|
self.env['runtime']['outputManager'].presentText(_("{0} percent speech volume").format(int(value * 100)), soundIcon='', interrupt=True)
|
||||||
|
|
||||||
def setCallback(self, callback):
|
def setCallback(self, callback):
|
||||||
pass
|
pass
|
||||||
|
@ -14,15 +14,15 @@ class command():
|
|||||||
def shutdown(self):
|
def shutdown(self):
|
||||||
pass
|
pass
|
||||||
def getDescription(self):
|
def getDescription(self):
|
||||||
return 'exits review mode'
|
return _('exits review mode')
|
||||||
|
|
||||||
def run(self):
|
def run(self):
|
||||||
if not self.env['runtime']['cursorManager'].isReviewMode():
|
if not self.env['runtime']['cursorManager'].isReviewMode():
|
||||||
self.env['runtime']['outputManager'].presentText("Not in review mode", interrupt=True)
|
self.env['runtime']['outputManager'].presentText(_("Not in review mode"), interrupt=True)
|
||||||
return
|
return
|
||||||
|
|
||||||
self.env['runtime']['cursorManager'].clearReviewCursor()
|
self.env['runtime']['cursorManager'].clearReviewCursor()
|
||||||
self.env['runtime']['outputManager'].presentText("leve review mode", interrupt=True)
|
self.env['runtime']['outputManager'].presentText(_("leave review mode"), interrupt=True)
|
||||||
|
|
||||||
def setCallback(self, callback):
|
def setCallback(self, callback):
|
||||||
pass
|
pass
|
||||||
|
@ -18,7 +18,7 @@ class command():
|
|||||||
def shutdown(self):
|
def shutdown(self):
|
||||||
pass
|
pass
|
||||||
def getDescription(self):
|
def getDescription(self):
|
||||||
return 'export the current fenrir clipboard to X clipboard'
|
return _('export the current fenrir clipboard to X clipboard')
|
||||||
def run(self):
|
def run(self):
|
||||||
_thread.start_new_thread(self._threadRun , ())
|
_thread.start_new_thread(self._threadRun , ())
|
||||||
|
|
||||||
@ -26,16 +26,16 @@ class command():
|
|||||||
try:
|
try:
|
||||||
currClipboard = self.env['commandBuffer']['currClipboard']
|
currClipboard = self.env['commandBuffer']['currClipboard']
|
||||||
if currClipboard < 0:
|
if currClipboard < 0:
|
||||||
self.env['runtime']['outputManager'].presentText('clipboard empty', interrupt=True)
|
self.env['runtime']['outputManager'].presentText(_('clipboard empty'), interrupt=True)
|
||||||
return
|
return
|
||||||
if not self.env['commandBuffer']['clipboard']:
|
if not self.env['commandBuffer']['clipboard']:
|
||||||
self.env['runtime']['outputManager'].presentText('clipboard empty', interrupt=True)
|
self.env['runtime']['outputManager'].presentText(_('clipboard empty'), interrupt=True)
|
||||||
return
|
return
|
||||||
if not self.env['commandBuffer']['clipboard'][currClipboard]:
|
if not self.env['commandBuffer']['clipboard'][currClipboard]:
|
||||||
self.env['runtime']['outputManager'].presentText('clipboard empty', interrupt=True)
|
self.env['runtime']['outputManager'].presentText(_('clipboard empty'), interrupt=True)
|
||||||
return
|
return
|
||||||
if self.env['commandBuffer']['clipboard'][currClipboard] == '':
|
if self.env['commandBuffer']['clipboard'][currClipboard] == '':
|
||||||
self.env['runtime']['outputManager'].presentText('clipboard empty', interrupt=True)
|
self.env['runtime']['outputManager'].presentText(_('clipboard empty'), interrupt=True)
|
||||||
return
|
return
|
||||||
|
|
||||||
p = Popen('su -c "echo -n \"' + self.env['commandBuffer']['clipboard'][currClipboard] +'\" | xclip -selection c' + self.env['generalInformation']['currUser'] , stdout=PIPE, stderr=PIPE, shell=True)
|
p = Popen('su -c "echo -n \"' + self.env['commandBuffer']['clipboard'][currClipboard] +'\" | xclip -selection c' + self.env['generalInformation']['currUser'] , stdout=PIPE, stderr=PIPE, shell=True)
|
||||||
|
@ -14,11 +14,11 @@ class command():
|
|||||||
def shutdown(self):
|
def shutdown(self):
|
||||||
pass
|
pass
|
||||||
def getDescription(self):
|
def getDescription(self):
|
||||||
return 'selects the first clipboard'
|
return _('selects the first clipboard')
|
||||||
|
|
||||||
def run(self):
|
def run(self):
|
||||||
if len(self.env['commandBuffer']['clipboard']) == 0:
|
if len(self.env['commandBuffer']['clipboard']) == 0:
|
||||||
self.env['runtime']['outputManager'].presentText('clipboard empty', interrupt=True)
|
self.env['runtime']['outputManager'].presentText(_('clipboard empty'), interrupt=True)
|
||||||
return
|
return
|
||||||
self.env['commandBuffer']['currClipboard'] = 0
|
self.env['commandBuffer']['currClipboard'] = 0
|
||||||
self.env['runtime']['outputManager'].presentText(self.env['commandBuffer']['clipboard'][self.env['commandBuffer']['currClipboard']], interrupt=True)
|
self.env['runtime']['outputManager'].presentText(self.env['commandBuffer']['clipboard'][self.env['commandBuffer']['currClipboard']], interrupt=True)
|
||||||
|
@ -14,11 +14,11 @@ class command():
|
|||||||
def shutdown(self):
|
def shutdown(self):
|
||||||
pass
|
pass
|
||||||
def getDescription(self):
|
def getDescription(self):
|
||||||
return 'sends the following keypress to the terminal'
|
return _('sends the following keypress to the terminal')
|
||||||
|
|
||||||
def run(self):
|
def run(self):
|
||||||
self.env['input']['keyForeward'] = 3
|
self.env['input']['keyForeward'] = 3
|
||||||
self.env['runtime']['outputManager'].presentText('Foreward next keypress', interrupt=True)
|
self.env['runtime']['outputManager'].presentText(_('Forward next keypress'), interrupt=True)
|
||||||
|
|
||||||
def setCallback(self, callback):
|
def setCallback(self, callback):
|
||||||
pass
|
pass
|
||||||
|
39
src/fenrir/commands/commands/inc_alsa_volume.py
Normal file
39
src/fenrir/commands/commands/inc_alsa_volume.py
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
#!/bin/python
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
|
# Fenrir TTY screen reader
|
||||||
|
# By Chrys, Storm Dragon, and contributers.
|
||||||
|
|
||||||
|
initialized = False
|
||||||
|
try:
|
||||||
|
import alsaaudio
|
||||||
|
initialized = True
|
||||||
|
except:
|
||||||
|
pass
|
||||||
|
|
||||||
|
from core import debug
|
||||||
|
|
||||||
|
class command():
|
||||||
|
def __init__(self):
|
||||||
|
pass
|
||||||
|
def initialize(self, environment):
|
||||||
|
self.env = environment
|
||||||
|
def shutdown(self):
|
||||||
|
pass
|
||||||
|
def getDescription(self):
|
||||||
|
return _("Increase system volume")
|
||||||
|
|
||||||
|
def run(self):
|
||||||
|
if not initialized:
|
||||||
|
self.env['runtime']['outputManager'].presentText(_('alsaaudio is not installed'), interrupt=True)
|
||||||
|
return
|
||||||
|
mixer = alsaaudio.Mixer()
|
||||||
|
value = mixer.getvolume()[0]
|
||||||
|
value = value + 5
|
||||||
|
if value > 100:
|
||||||
|
value = 100
|
||||||
|
mixer.setvolume(value)
|
||||||
|
self.env['runtime']['outputManager'].presentText(_("{0} percent system volume").format(value), interrupt=True)
|
||||||
|
|
||||||
|
def setCallback(self, callback):
|
||||||
|
pass
|
@ -15,7 +15,7 @@ class command():
|
|||||||
def shutdown(self):
|
def shutdown(self):
|
||||||
pass
|
pass
|
||||||
def getDescription(self):
|
def getDescription(self):
|
||||||
return 'adjusts the volume for in coming sounds'
|
return _('adjusts the volume for in coming sounds')
|
||||||
|
|
||||||
def run(self):
|
def run(self):
|
||||||
|
|
||||||
@ -26,7 +26,7 @@ class command():
|
|||||||
value = 1.0
|
value = 1.0
|
||||||
self.env['runtime']['settingsManager'].setSetting('sound', 'volume', str(value))
|
self.env['runtime']['settingsManager'].setSetting('sound', 'volume', str(value))
|
||||||
|
|
||||||
self.env['runtime']['outputManager'].presentText(str(int(value * 100)) + " percent sound volume", soundIcon='SoundOn', interrupt=True)
|
self.env['runtime']['outputManager'].presentText(_("{0} percent sound volume").format(int(value * 100)), soundIcon='SoundOn', interrupt=True)
|
||||||
|
|
||||||
def setCallback(self, callback):
|
def setCallback(self, callback):
|
||||||
pass
|
pass
|
||||||
|
@ -15,7 +15,7 @@ class command():
|
|||||||
def shutdown(self):
|
def shutdown(self):
|
||||||
pass
|
pass
|
||||||
def getDescription(self):
|
def getDescription(self):
|
||||||
return 'increases the pitch of the speech'
|
return _('increases the pitch of the speech')
|
||||||
|
|
||||||
def run(self):
|
def run(self):
|
||||||
value = self.env['runtime']['settingsManager'].getSettingAsFloat('speech', 'pitch')
|
value = self.env['runtime']['settingsManager'].getSettingAsFloat('speech', 'pitch')
|
||||||
@ -24,7 +24,7 @@ class command():
|
|||||||
value = 1.0
|
value = 1.0
|
||||||
self.env['runtime']['settingsManager'].setSetting('speech', 'pitch', str(value))
|
self.env['runtime']['settingsManager'].setSetting('speech', 'pitch', str(value))
|
||||||
|
|
||||||
self.env['runtime']['outputManager'].presentText(str(int(value * 100)) + " percent speech pitch", soundIcon='', interrupt=True)
|
self.env['runtime']['outputManager'].presentText(_("{0} percent speech pitch").format(int(value * 100)), soundIcon='', interrupt=True)
|
||||||
|
|
||||||
def setCallback(self, callback):
|
def setCallback(self, callback):
|
||||||
pass
|
pass
|
||||||
|
@ -15,7 +15,7 @@ class command():
|
|||||||
def shutdown(self):
|
def shutdown(self):
|
||||||
pass
|
pass
|
||||||
def getDescription(self):
|
def getDescription(self):
|
||||||
return 'increase the speech rate'
|
return _('increase the speech rate')
|
||||||
|
|
||||||
def run(self):
|
def run(self):
|
||||||
value = self.env['runtime']['settingsManager'].getSettingAsFloat('speech', 'rate')
|
value = self.env['runtime']['settingsManager'].getSettingAsFloat('speech', 'rate')
|
||||||
@ -24,7 +24,7 @@ class command():
|
|||||||
value = 1.0
|
value = 1.0
|
||||||
self.env['runtime']['settingsManager'].setSetting('speech', 'rate', str(value))
|
self.env['runtime']['settingsManager'].setSetting('speech', 'rate', str(value))
|
||||||
|
|
||||||
self.env['runtime']['outputManager'].presentText(str(int(value * 100)) + " percent speech rate", soundIcon='', interrupt=True)
|
self.env['runtime']['outputManager'].presentText(_("{0} percent speech rate").format(int(value * 100)), soundIcon='', interrupt=True)
|
||||||
|
|
||||||
def setCallback(self, callback):
|
def setCallback(self, callback):
|
||||||
pass
|
pass
|
||||||
|
@ -15,7 +15,7 @@ class command():
|
|||||||
def shutdown(self):
|
def shutdown(self):
|
||||||
pass
|
pass
|
||||||
def getDescription(self):
|
def getDescription(self):
|
||||||
return 'increase the speech volume'
|
return _('increase the speech volume')
|
||||||
|
|
||||||
def run(self):
|
def run(self):
|
||||||
value = self.env['runtime']['settingsManager'].getSettingAsFloat('speech', 'volume')
|
value = self.env['runtime']['settingsManager'].getSettingAsFloat('speech', 'volume')
|
||||||
@ -24,7 +24,7 @@ class command():
|
|||||||
value = 1.0
|
value = 1.0
|
||||||
self.env['runtime']['settingsManager'].setSetting('speech', 'volume', str(value))
|
self.env['runtime']['settingsManager'].setSetting('speech', 'volume', str(value))
|
||||||
|
|
||||||
self.env['runtime']['outputManager'].presentText(str(int(value * 100)) + " percent speech volume", soundIcon='', interrupt=True)
|
self.env['runtime']['outputManager'].presentText(_("{0} percent speech volume").format(int(value * 100)), soundIcon='', interrupt=True)
|
||||||
|
|
||||||
def setCallback(self, callback):
|
def setCallback(self, callback):
|
||||||
pass
|
pass
|
||||||
|
@ -15,7 +15,7 @@ class command():
|
|||||||
def shutdown(self):
|
def shutdown(self):
|
||||||
pass
|
pass
|
||||||
def getDescription(self):
|
def getDescription(self):
|
||||||
return 'shows the indention level for the current line'
|
return _('shows the indention level for the current line')
|
||||||
|
|
||||||
def run(self):
|
def run(self):
|
||||||
# Prefer review cursor over text cursor
|
# Prefer review cursor over text cursor
|
||||||
@ -28,9 +28,9 @@ class command():
|
|||||||
line_utils.getCurrentLine(cursorPos['x'], cursorPos['y'], self.env['screenData']['newContentText'])
|
line_utils.getCurrentLine(cursorPos['x'], cursorPos['y'], self.env['screenData']['newContentText'])
|
||||||
|
|
||||||
if currLine.isspace():
|
if currLine.isspace():
|
||||||
self.env['runtime']['outputManager'].presentText("blank", soundIcon='EmptyLine', interrupt=True)
|
self.env['runtime']['outputManager'].presentText(_("blank"), soundIcon='EmptyLine', interrupt=True)
|
||||||
else:
|
else:
|
||||||
self.env['runtime']['outputManager'].presentText("indent "+ str(len(currLine) - len(currLine.lstrip())), interrupt=True)
|
self.env['runtime']['outputManager'].presentText(_("indent {0}").format(len(currLine) - len(currLine.lstrip())), interrupt=True)
|
||||||
|
|
||||||
def setCallback(self, callback):
|
def setCallback(self, callback):
|
||||||
pass
|
pass
|
||||||
|
@ -14,11 +14,11 @@ class command():
|
|||||||
def shutdown(self):
|
def shutdown(self):
|
||||||
pass
|
pass
|
||||||
def getDescription(self):
|
def getDescription(self):
|
||||||
return 'selects the last clipboard'
|
return _('selects the last clipboard')
|
||||||
|
|
||||||
def run(self):
|
def run(self):
|
||||||
if len(self.env['commandBuffer']['clipboard']) == 0:
|
if len(self.env['commandBuffer']['clipboard']) == 0:
|
||||||
self.env['runtime']['outputManager'].presentText('clipboard empty', interrupt=True)
|
self.env['runtime']['outputManager'].presentText(_('clipboard empty'), interrupt=True)
|
||||||
return
|
return
|
||||||
self.env['commandBuffer']['currClipboard'] = len(self.env['commandBuffer']['clipboard']) -1
|
self.env['commandBuffer']['currClipboard'] = len(self.env['commandBuffer']['clipboard']) -1
|
||||||
self.env['runtime']['outputManager'].presentText(self.env['commandBuffer']['clipboard'][self.env['commandBuffer']['currClipboard']], interrupt=True)
|
self.env['runtime']['outputManager'].presentText(self.env['commandBuffer']['clipboard'][self.env['commandBuffer']['currClipboard']], interrupt=True)
|
||||||
|
@ -14,7 +14,7 @@ class command():
|
|||||||
def shutdown(self):
|
def shutdown(self):
|
||||||
pass
|
pass
|
||||||
def getDescription(self):
|
def getDescription(self):
|
||||||
return 'displays the last received text'
|
return _('displays the last received text')
|
||||||
|
|
||||||
def run(self):
|
def run(self):
|
||||||
self.env['runtime']['outputManager'].presentText(self.env['screenData']['newDelta'], interrupt=True)
|
self.env['runtime']['outputManager'].presentText(self.env['screenData']['newDelta'], interrupt=True)
|
||||||
|
@ -15,12 +15,12 @@ class command():
|
|||||||
def shutdown(self):
|
def shutdown(self):
|
||||||
pass
|
pass
|
||||||
def getDescription(self):
|
def getDescription(self):
|
||||||
return 'speaks the currently selected text that will be copied to the clipboard'
|
return _('speaks the currently selected text that will be copied to the clipboard')
|
||||||
|
|
||||||
def run(self):
|
def run(self):
|
||||||
if not (self.env['commandBuffer']['Marks']['1'] and \
|
if not (self.env['commandBuffer']['Marks']['1'] and \
|
||||||
self.env['commandBuffer']['Marks']['2']):
|
self.env['commandBuffer']['Marks']['2']):
|
||||||
self.env['runtime']['outputManager'].presentText("please set begin and endmark", interrupt=True)
|
self.env['runtime']['outputManager'].presentText(_("please set begin and endmark"), interrupt=True)
|
||||||
return
|
return
|
||||||
|
|
||||||
# use the last first and the last setted mark as range
|
# use the last first and the last setted mark as range
|
||||||
@ -30,7 +30,7 @@ class command():
|
|||||||
marked = mark_utils.getTextBetweenMarks(startMark, endMark, self.env['screenData']['newContentText'])
|
marked = mark_utils.getTextBetweenMarks(startMark, endMark, self.env['screenData']['newContentText'])
|
||||||
|
|
||||||
if marked.isspace():
|
if marked.isspace():
|
||||||
self.env['runtime']['outputManager'].presentText("blank", soundIcon='EmptyLine', interrupt=True)
|
self.env['runtime']['outputManager'].presentText(_("blank"), soundIcon='EmptyLine', interrupt=True)
|
||||||
else:
|
else:
|
||||||
self.env['runtime']['outputManager'].presentText(marked, interrupt=True)
|
self.env['runtime']['outputManager'].presentText(marked, interrupt=True)
|
||||||
|
|
||||||
|
@ -14,16 +14,16 @@ class command():
|
|||||||
def shutdown(self):
|
def shutdown(self):
|
||||||
pass
|
pass
|
||||||
def getDescription(self):
|
def getDescription(self):
|
||||||
return 'selects the next clipboard'
|
return _('selects the next clipboard')
|
||||||
|
|
||||||
def run(self):
|
def run(self):
|
||||||
if len(self.env['commandBuffer']['clipboard']) == 0:
|
if len(self.env['commandBuffer']['clipboard']) == 0:
|
||||||
self.env['runtime']['outputManager'].presentText('clipboard empty', interrupt=True)
|
self.env['runtime']['outputManager'].presentText(_('clipboard empty'), interrupt=True)
|
||||||
return
|
return
|
||||||
self.env['commandBuffer']['currClipboard'] += 1
|
self.env['commandBuffer']['currClipboard'] += 1
|
||||||
if self.env['commandBuffer']['currClipboard'] > len(self.env['commandBuffer']['clipboard']) -1:
|
if self.env['commandBuffer']['currClipboard'] > len(self.env['commandBuffer']['clipboard']) -1:
|
||||||
self.env['commandBuffer']['currClipboard'] = 0
|
self.env['commandBuffer']['currClipboard'] = 0
|
||||||
self.env['runtime']['outputManager'].presentText('First clipboard ', interrupt=True)
|
self.env['runtime']['outputManager'].presentText(_('First clipboard '), interrupt=True)
|
||||||
self.env['runtime']['outputManager'].presentText(self.env['commandBuffer']['clipboard'][self.env['commandBuffer']['currClipboard']], interrupt=False)
|
self.env['runtime']['outputManager'].presentText(self.env['commandBuffer']['clipboard'][self.env['commandBuffer']['currClipboard']], interrupt=False)
|
||||||
else:
|
else:
|
||||||
self.env['runtime']['outputManager'].presentText(self.env['commandBuffer']['clipboard'][self.env['commandBuffer']['currClipboard']], interrupt=True)
|
self.env['runtime']['outputManager'].presentText(self.env['commandBuffer']['clipboard'][self.env['commandBuffer']['currClipboard']], interrupt=True)
|
||||||
|
@ -15,21 +15,21 @@ class command():
|
|||||||
def shutdown(self):
|
def shutdown(self):
|
||||||
pass
|
pass
|
||||||
def getDescription(self):
|
def getDescription(self):
|
||||||
return 'pastes the text from the currently selected clipboard'
|
return _('pastes the text from the currently selected clipboard')
|
||||||
|
|
||||||
def run(self):
|
def run(self):
|
||||||
currClipboard = self.env['commandBuffer']['currClipboard']
|
currClipboard = self.env['commandBuffer']['currClipboard']
|
||||||
if currClipboard < 0:
|
if currClipboard < 0:
|
||||||
self.env['runtime']['outputManager'].presentText('clipboard empty', interrupt=True)
|
self.env['runtime']['outputManager'].presentText(_('clipboard empty'), interrupt=True)
|
||||||
return
|
return
|
||||||
if not self.env['commandBuffer']['clipboard']:
|
if not self.env['commandBuffer']['clipboard']:
|
||||||
self.env['runtime']['outputManager'].presentText('clipboard empty', interrupt=True)
|
self.env['runtime']['outputManager'].presentText(_('clipboard empty'), interrupt=True)
|
||||||
return
|
return
|
||||||
if not self.env['commandBuffer']['clipboard'][currClipboard]:
|
if not self.env['commandBuffer']['clipboard'][currClipboard]:
|
||||||
self.env['runtime']['outputManager'].presentText('clipboard empty', interrupt=True)
|
self.env['runtime']['outputManager'].presentText(_('clipboard empty'), interrupt=True)
|
||||||
return
|
return
|
||||||
if self.env['commandBuffer']['clipboard'][currClipboard] == '':
|
if self.env['commandBuffer']['clipboard'][currClipboard] == '':
|
||||||
self.env['runtime']['outputManager'].presentText('clipboard empty', interrupt=True)
|
self.env['runtime']['outputManager'].presentText(_('clipboard empty'), interrupt=True)
|
||||||
return
|
return
|
||||||
self.env['runtime']['outputManager'].presentText('paste clipboard', soundIcon='PasteClipboardOnScreen', interrupt=True)
|
self.env['runtime']['outputManager'].presentText('paste clipboard', soundIcon='PasteClipboardOnScreen', interrupt=True)
|
||||||
time.sleep(0.01)
|
time.sleep(0.01)
|
||||||
|
@ -15,14 +15,14 @@ class command():
|
|||||||
def shutdown(self):
|
def shutdown(self):
|
||||||
pass
|
pass
|
||||||
def getDescription(self):
|
def getDescription(self):
|
||||||
return 'present first line'
|
return _('present first line')
|
||||||
|
|
||||||
def run(self):
|
def run(self):
|
||||||
x, y, firstLine = \
|
x, y, firstLine = \
|
||||||
line_utils.getCurrentLine(0, 0, self.env['screenData']['newContentText'])
|
line_utils.getCurrentLine(0, 0, self.env['screenData']['newContentText'])
|
||||||
|
|
||||||
if firstLine.isspace():
|
if firstLine.isspace():
|
||||||
self.env['runtime']['outputManager'].presentText("blank", soundIcon='EmptyLine', interrupt=True)
|
self.env['runtime']['outputManager'].presentText(_("blank"), soundIcon='EmptyLine', interrupt=True)
|
||||||
else:
|
else:
|
||||||
self.env['runtime']['outputManager'].presentText(firstLine, interrupt=True)
|
self.env['runtime']['outputManager'].presentText(firstLine, interrupt=True)
|
||||||
def setCallback(self, callback):
|
def setCallback(self, callback):
|
||||||
|
@ -15,14 +15,14 @@ class command():
|
|||||||
def shutdown(self):
|
def shutdown(self):
|
||||||
pass
|
pass
|
||||||
def getDescription(self):
|
def getDescription(self):
|
||||||
return 'current line'
|
return _('current line')
|
||||||
|
|
||||||
def run(self):
|
def run(self):
|
||||||
x, y, lastLine = \
|
x, y, lastLine = \
|
||||||
line_utils.getCurrentLine(0, self.env['screenData']['lines'] -1, self.env['screenData']['newContentText'])
|
line_utils.getCurrentLine(0, self.env['screenData']['lines'] -1, self.env['screenData']['newContentText'])
|
||||||
|
|
||||||
if lastLine.isspace():
|
if lastLine.isspace():
|
||||||
self.env['runtime']['outputManager'].presentText("blank", soundIcon='EmptyLine', interrupt=True)
|
self.env['runtime']['outputManager'].presentText(_("blank"), soundIcon='EmptyLine', interrupt=True)
|
||||||
else:
|
else:
|
||||||
self.env['runtime']['outputManager'].presentText(lastLine, interrupt=True)
|
self.env['runtime']['outputManager'].presentText(lastLine, interrupt=True)
|
||||||
def setCallback(self, callback):
|
def setCallback(self, callback):
|
||||||
|
@ -14,16 +14,16 @@ class command():
|
|||||||
def shutdown(self):
|
def shutdown(self):
|
||||||
pass
|
pass
|
||||||
def getDescription(self):
|
def getDescription(self):
|
||||||
return 'selects the previous clipboard'
|
return _('selects the previous clipboard')
|
||||||
|
|
||||||
def run(self):
|
def run(self):
|
||||||
if len(self.env['commandBuffer']['clipboard']) == 0:
|
if len(self.env['commandBuffer']['clipboard']) == 0:
|
||||||
self.env['runtime']['outputManager'].presentText('clipboard empty', interrupt=True)
|
self.env['runtime']['outputManager'].presentText(_('clipboard empty'), interrupt=True)
|
||||||
return
|
return
|
||||||
self.env['commandBuffer']['currClipboard'] -= 1
|
self.env['commandBuffer']['currClipboard'] -= 1
|
||||||
if self.env['commandBuffer']['currClipboard'] < 0:
|
if self.env['commandBuffer']['currClipboard'] < 0:
|
||||||
self.env['commandBuffer']['currClipboard'] = len(self.env['commandBuffer']['clipboard']) -1
|
self.env['commandBuffer']['currClipboard'] = len(self.env['commandBuffer']['clipboard']) -1
|
||||||
self.env['runtime']['outputManager'].presentText('Last clipboard ', interrupt=True)
|
self.env['runtime']['outputManager'].presentText(_('Last clipboard '), interrupt=True)
|
||||||
self.env['runtime']['outputManager'].presentText(self.env['commandBuffer']['clipboard'][self.env['commandBuffer']['currClipboard']], interrupt=False)
|
self.env['runtime']['outputManager'].presentText(self.env['commandBuffer']['clipboard'][self.env['commandBuffer']['currClipboard']], interrupt=False)
|
||||||
else:
|
else:
|
||||||
self.env['runtime']['outputManager'].presentText(self.env['commandBuffer']['clipboard'][self.env['commandBuffer']['currClipboard']], interrupt=True)
|
self.env['runtime']['outputManager'].presentText(self.env['commandBuffer']['clipboard'][self.env['commandBuffer']['currClipboard']], interrupt=True)
|
||||||
|
@ -14,7 +14,7 @@ class command():
|
|||||||
def shutdown(self):
|
def shutdown(self):
|
||||||
pass
|
pass
|
||||||
def getDescription(self):
|
def getDescription(self):
|
||||||
return 'exits Fenrir'
|
return _('exits Fenrir')
|
||||||
|
|
||||||
def run(self):
|
def run(self):
|
||||||
self.env['generalInformation']['running'] = False
|
self.env['generalInformation']['running'] = False
|
||||||
|
@ -14,11 +14,11 @@ class command():
|
|||||||
def shutdown(self):
|
def shutdown(self):
|
||||||
pass
|
pass
|
||||||
def getDescription(self):
|
def getDescription(self):
|
||||||
return 'removes marks from selected text'
|
return _('removes marks from selected text')
|
||||||
|
|
||||||
def run(self):
|
def run(self):
|
||||||
self.env['runtime']['cursorManager'].clearMarks()
|
self.env['runtime']['cursorManager'].clearMarks()
|
||||||
self.env['runtime']['outputManager'].presentText('Remove marks', interrupt=True)
|
self.env['runtime']['outputManager'].presentText(_('Remove marks'), interrupt=True)
|
||||||
|
|
||||||
def setCallback(self, callback):
|
def setCallback(self, callback):
|
||||||
pass
|
pass
|
||||||
|
@ -24,14 +24,14 @@ class command():
|
|||||||
def shutdown(self):
|
def shutdown(self):
|
||||||
pass
|
pass
|
||||||
def getDescription(self):
|
def getDescription(self):
|
||||||
return 'removes the current word from the exceptions dictionary'
|
return _('removes the current word from the exceptions dictionary')
|
||||||
def updateSpellLanguage(self):
|
def updateSpellLanguage(self):
|
||||||
self.spellChecker = enchant.Dict(self.env['runtime']['settingsManager'].getSetting('general', 'spellCheckLanguage'))
|
self.spellChecker = enchant.Dict(self.env['runtime']['settingsManager'].getSetting('general', 'spellCheckLanguage'))
|
||||||
self.language = self.env['runtime']['settingsManager'].getSetting('general', 'spellCheckLanguage')
|
self.language = self.env['runtime']['settingsManager'].getSetting('general', 'spellCheckLanguage')
|
||||||
|
|
||||||
def run(self):
|
def run(self):
|
||||||
if not initialized:
|
if not initialized:
|
||||||
self.env['runtime']['outputManager'].presentText('pychant is not installed', interrupt=True)
|
self.env['runtime']['outputManager'].presentText(_('pyenchant is not installed'), interrupt=True)
|
||||||
return
|
return
|
||||||
if self.env['runtime']['settingsManager'].getSetting('general', 'spellCheckLanguage') != self.language:
|
if self.env['runtime']['settingsManager'].getSetting('general', 'spellCheckLanguage') != self.language:
|
||||||
try:
|
try:
|
||||||
@ -47,9 +47,9 @@ class command():
|
|||||||
currWord = currWord.strip(string.whitespace + '!"#$%&\()*+,-./:;<=§>?@[\\]^_{|}~')
|
currWord = currWord.strip(string.whitespace + '!"#$%&\()*+,-./:;<=§>?@[\\]^_{|}~')
|
||||||
if not currWord.isspace():
|
if not currWord.isspace():
|
||||||
if self.spellChecker.is_removed(currWord):
|
if self.spellChecker.is_removed(currWord):
|
||||||
self.env['runtime']['outputManager'].presentText(currWord + ' is already removed from dict',soundIcon='Cancel', interrupt=True)
|
self.env['runtime']['outputManager'].presentText(_('{0} is already removed from dict').format(currWord,), soundIcon='Cancel', interrupt=True)
|
||||||
else:
|
else:
|
||||||
self.spellChecker.remove(currWord)
|
self.spellChecker.remove(currWord)
|
||||||
self.env['runtime']['outputManager'].presentText(currWord + ' removed',soundIcon='Accept', interrupt=True)
|
self.env['runtime']['outputManager'].presentText(_('{0} removed').format(currWord,), soundIcon='Accept', interrupt=True)
|
||||||
def setCallback(self, callback):
|
def setCallback(self, callback):
|
||||||
pass
|
pass
|
||||||
|
@ -14,11 +14,11 @@ class command():
|
|||||||
def shutdown(self):
|
def shutdown(self):
|
||||||
pass
|
pass
|
||||||
def getDescription(self):
|
def getDescription(self):
|
||||||
return 'move review to bottom of screen'
|
return _('move review to bottom of screen')
|
||||||
|
|
||||||
def run(self):
|
def run(self):
|
||||||
self.env['screenData']['newCursorReview'] = { 'x': 0, 'y':self.env['screenData']['lines'] -1}
|
self.env['screenData']['newCursorReview'] = { 'x': 0, 'y':self.env['screenData']['lines'] -1}
|
||||||
self.env['runtime']['outputManager'].presentText("Bottom", interrupt=True, flush=False)
|
self.env['runtime']['outputManager'].presentText(_("Bottom"), interrupt=True, flush=False)
|
||||||
|
|
||||||
def setCallback(self, callback):
|
def setCallback(self, callback):
|
||||||
pass
|
pass
|
||||||
|
@ -15,7 +15,7 @@ class command():
|
|||||||
def shutdown(self):
|
def shutdown(self):
|
||||||
pass
|
pass
|
||||||
def getDescription(self):
|
def getDescription(self):
|
||||||
return 'presents the current character.'
|
return _('presents the current character.')
|
||||||
|
|
||||||
def run(self):
|
def run(self):
|
||||||
self.env['runtime']['cursorManager'].enterReviewModeCurrTextCursor()
|
self.env['runtime']['cursorManager'].enterReviewModeCurrTextCursor()
|
||||||
|
@ -15,7 +15,7 @@ class command():
|
|||||||
def shutdown(self):
|
def shutdown(self):
|
||||||
pass
|
pass
|
||||||
def getDescription(self):
|
def getDescription(self):
|
||||||
return 'set review and phonetically presents the current character'
|
return _('set review and phonetically presents the current character')
|
||||||
|
|
||||||
def run(self):
|
def run(self):
|
||||||
self.env['runtime']['cursorManager'].enterReviewModeCurrTextCursor()
|
self.env['runtime']['cursorManager'].enterReviewModeCurrTextCursor()
|
||||||
@ -24,7 +24,7 @@ class command():
|
|||||||
char_utils.getCurrentChar(self.env['screenData']['newCursorReview']['x'], self.env['screenData']['newCursorReview']['y'], self.env['screenData']['newContentText'])
|
char_utils.getCurrentChar(self.env['screenData']['newCursorReview']['x'], self.env['screenData']['newCursorReview']['y'], self.env['screenData']['newContentText'])
|
||||||
|
|
||||||
if currChar.isspace():
|
if currChar.isspace():
|
||||||
self.env['runtime']['outputManager'].presentText("blank" ,interrupt=True, flush=False)
|
self.env['runtime']['outputManager'].presentText(_("blank"), interrupt=True, flush=False)
|
||||||
else:
|
else:
|
||||||
currChar = char_utils.getPhonetic(currChar)
|
currChar = char_utils.getPhonetic(currChar)
|
||||||
self.env['runtime']['outputManager'].presentText(currChar ,interrupt=True, announceCapital=True, flush=False)
|
self.env['runtime']['outputManager'].presentText(currChar ,interrupt=True, announceCapital=True, flush=False)
|
||||||
|
@ -15,7 +15,7 @@ class command():
|
|||||||
def shutdown(self):
|
def shutdown(self):
|
||||||
pass
|
pass
|
||||||
def getDescription(self):
|
def getDescription(self):
|
||||||
return 'current line'
|
return _('current line')
|
||||||
|
|
||||||
def run(self):
|
def run(self):
|
||||||
self.env['runtime']['cursorManager'].enterReviewModeCurrTextCursor()
|
self.env['runtime']['cursorManager'].enterReviewModeCurrTextCursor()
|
||||||
@ -24,7 +24,7 @@ class command():
|
|||||||
line_utils.getCurrentLine(self.env['screenData']['newCursorReview']['x'], self.env['screenData']['newCursorReview']['y'], self.env['screenData']['newContentText'])
|
line_utils.getCurrentLine(self.env['screenData']['newCursorReview']['x'], self.env['screenData']['newCursorReview']['y'], self.env['screenData']['newContentText'])
|
||||||
|
|
||||||
if currLine.isspace():
|
if currLine.isspace():
|
||||||
self.env['runtime']['outputManager'].presentText("blank", soundIcon='EmptyLine', interrupt=True, flush=False)
|
self.env['runtime']['outputManager'].presentText(_("blank"), soundIcon='EmptyLine', interrupt=True, flush=False)
|
||||||
else:
|
else:
|
||||||
self.env['runtime']['outputManager'].presentText(currLine, interrupt=True, flush=False)
|
self.env['runtime']['outputManager'].presentText(currLine, interrupt=True, flush=False)
|
||||||
def setCallback(self, callback):
|
def setCallback(self, callback):
|
||||||
|
@ -15,7 +15,7 @@ class command():
|
|||||||
def shutdown(self):
|
def shutdown(self):
|
||||||
pass
|
pass
|
||||||
def getDescription(self):
|
def getDescription(self):
|
||||||
return 'current word.'
|
return _('current word.')
|
||||||
|
|
||||||
def run(self):
|
def run(self):
|
||||||
self.env['runtime']['cursorManager'].enterReviewModeCurrTextCursor()
|
self.env['runtime']['cursorManager'].enterReviewModeCurrTextCursor()
|
||||||
@ -24,14 +24,14 @@ class command():
|
|||||||
word_utils.getCurrentWord(self.env['screenData']['newCursorReview']['x'], self.env['screenData']['newCursorReview']['y'], self.env['screenData']['newContentText'])
|
word_utils.getCurrentWord(self.env['screenData']['newCursorReview']['x'], self.env['screenData']['newCursorReview']['y'], self.env['screenData']['newContentText'])
|
||||||
|
|
||||||
if currWord.isspace():
|
if currWord.isspace():
|
||||||
self.env['runtime']['outputManager'].presentText("blank", interrupt=True, flush=False)
|
self.env['runtime']['outputManager'].presentText(_("blank"), interrupt=True, flush=False)
|
||||||
else:
|
else:
|
||||||
self.env['runtime']['outputManager'].presentText(currWord, interrupt=True, flush=False)
|
self.env['runtime']['outputManager'].presentText(currWord, interrupt=True, flush=False)
|
||||||
if endOfScreen:
|
if endOfScreen:
|
||||||
if self.env['runtime']['settingsManager'].getSettingAsBool('review', 'endOfScreen'):
|
if self.env['runtime']['settingsManager'].getSettingAsBool('review', 'endOfScreen'):
|
||||||
self.env['runtime']['outputManager'].presentText('end of screen' ,interrupt=True, soundIcon='EndOfScreen')
|
self.env['runtime']['outputManager'].presentText(_('end of screen'), interrupt=True, soundIcon='EndOfScreen')
|
||||||
if lineBreak:
|
if lineBreak:
|
||||||
if self.env['runtime']['settingsManager'].getSettingAsBool('review', 'lineBreak'):
|
if self.env['runtime']['settingsManager'].getSettingAsBool('review', 'lineBreak'):
|
||||||
self.env['runtime']['outputManager'].presentText('line break' ,interrupt=False, soundIcon='EndOfLine')
|
self.env['runtime']['outputManager'].presentText(_('line break'), interrupt=False, soundIcon='EndOfLine')
|
||||||
def setCallback(self, callback):
|
def setCallback(self, callback):
|
||||||
pass
|
pass
|
||||||
|
@ -16,7 +16,7 @@ class command():
|
|||||||
def shutdown(self):
|
def shutdown(self):
|
||||||
pass
|
pass
|
||||||
def getDescription(self):
|
def getDescription(self):
|
||||||
return 'phonetically spells the current word and set review to it'
|
return _('phonetically spells the current word and set review to it')
|
||||||
|
|
||||||
def run(self):
|
def run(self):
|
||||||
self.env['runtime']['cursorManager'].enterReviewModeCurrTextCursor()
|
self.env['runtime']['cursorManager'].enterReviewModeCurrTextCursor()
|
||||||
@ -24,7 +24,7 @@ class command():
|
|||||||
word_utils.getCurrentWord(self.env['screenData']['newCursorReview']['x'], self.env['screenData']['newCursorReview']['y'], self.env['screenData']['newContentText'])
|
word_utils.getCurrentWord(self.env['screenData']['newCursorReview']['x'], self.env['screenData']['newCursorReview']['y'], self.env['screenData']['newContentText'])
|
||||||
|
|
||||||
if currWord.isspace():
|
if currWord.isspace():
|
||||||
self.env['runtime']['outputManager'].presentText("blank", interrupt=True, flush=False)
|
self.env['runtime']['outputManager'].presentText(_("blank"), interrupt=True, flush=False)
|
||||||
else:
|
else:
|
||||||
firstSequence = True
|
firstSequence = True
|
||||||
for c in currWord:
|
for c in currWord:
|
||||||
@ -33,9 +33,9 @@ class command():
|
|||||||
firstSequence = False
|
firstSequence = False
|
||||||
if endOfScreen:
|
if endOfScreen:
|
||||||
if self.env['runtime']['settingsManager'].getSettingAsBool('review', 'endOfScreen'):
|
if self.env['runtime']['settingsManager'].getSettingAsBool('review', 'endOfScreen'):
|
||||||
self.env['runtime']['outputManager'].presentText('end of screen' ,interrupt=True, soundIcon='EndOfScreen')
|
self.env['runtime']['outputManager'].presentText(_('end of screen'), interrupt=True, soundIcon='EndOfScreen')
|
||||||
if lineBreak:
|
if lineBreak:
|
||||||
if self.env['runtime']['settingsManager'].getSettingAsBool('review', 'lineBreak'):
|
if self.env['runtime']['settingsManager'].getSettingAsBool('review', 'lineBreak'):
|
||||||
self.env['runtime']['outputManager'].presentText('line break' ,interrupt=False, soundIcon='EndOfLine')
|
self.env['runtime']['outputManager'].presentText(_('line break'), interrupt=False, soundIcon='EndOfLine')
|
||||||
def setCallback(self, callback):
|
def setCallback(self, callback):
|
||||||
pass
|
pass
|
||||||
|
@ -15,7 +15,7 @@ class command():
|
|||||||
def shutdown(self):
|
def shutdown(self):
|
||||||
pass
|
pass
|
||||||
def getDescription(self):
|
def getDescription(self):
|
||||||
return 'set review cursor to char below the current char and present it.'
|
return _('set review cursor to char below the current char and present it.')
|
||||||
|
|
||||||
def run(self):
|
def run(self):
|
||||||
cursorPos = self.env['runtime']['cursorManager'].getReviewOrTextCursor()
|
cursorPos = self.env['runtime']['cursorManager'].getReviewOrTextCursor()
|
||||||
@ -24,6 +24,6 @@ class command():
|
|||||||
self.env['runtime']['outputManager'].presentText(downChar ,interrupt=True, ignorePunctuation=True, announceCapital=True, flush=False)
|
self.env['runtime']['outputManager'].presentText(downChar ,interrupt=True, ignorePunctuation=True, announceCapital=True, flush=False)
|
||||||
if endOfScreen:
|
if endOfScreen:
|
||||||
if self.env['runtime']['settingsManager'].getSettingAsBool('review', 'endOfScreen'):
|
if self.env['runtime']['settingsManager'].getSettingAsBool('review', 'endOfScreen'):
|
||||||
self.env['runtime']['outputManager'].presentText('end of screen' ,interrupt=True, soundIcon='EndOfScreen')
|
self.env['runtime']['outputManager'].presentText(_('end of screen'), interrupt=True, soundIcon='EndOfScreen')
|
||||||
def setCallback(self, callback):
|
def setCallback(self, callback):
|
||||||
pass
|
pass
|
||||||
|
@ -15,7 +15,7 @@ class command():
|
|||||||
def shutdown(self):
|
def shutdown(self):
|
||||||
pass
|
pass
|
||||||
def getDescription(self):
|
def getDescription(self):
|
||||||
return 'set review cursor to begin of current line and display the content'
|
return _('set review cursor to begin of current line and display the content')
|
||||||
|
|
||||||
def run(self):
|
def run(self):
|
||||||
cursorPos = self.env['runtime']['cursorManager'].getReviewOrTextCursor()
|
cursorPos = self.env['runtime']['cursorManager'].getReviewOrTextCursor()
|
||||||
@ -24,10 +24,10 @@ class command():
|
|||||||
char_utils.getCurrentChar(self.env['screenData']['newCursorReview']['x'], self.env['screenData']['newCursorReview']['y'], self.env['screenData']['newContentText'])
|
char_utils.getCurrentChar(self.env['screenData']['newCursorReview']['x'], self.env['screenData']['newCursorReview']['y'], self.env['screenData']['newContentText'])
|
||||||
|
|
||||||
if currChar.isspace():
|
if currChar.isspace():
|
||||||
self.env['runtime']['outputManager'].presentText("blank" ,interrupt=True, flush=False)
|
self.env['runtime']['outputManager'].presentText(_("blank"), interrupt=True, flush=False)
|
||||||
else:
|
else:
|
||||||
self.env['runtime']['outputManager'].presentText(currChar ,interrupt=True, ignorePunctuation=True, announceCapital=True, flush=False)
|
self.env['runtime']['outputManager'].presentText(currChar ,interrupt=True, ignorePunctuation=True, announceCapital=True, flush=False)
|
||||||
self.env['runtime']['outputManager'].presentText("beginning of line", interrupt=False)
|
self.env['runtime']['outputManager'].presentText(_("beginning of line"), interrupt=False)
|
||||||
|
|
||||||
def setCallback(self, callback):
|
def setCallback(self, callback):
|
||||||
pass
|
pass
|
||||||
|
@ -15,7 +15,7 @@ class command():
|
|||||||
def shutdown(self):
|
def shutdown(self):
|
||||||
pass
|
pass
|
||||||
def getDescription(self):
|
def getDescription(self):
|
||||||
return 'set review cursor to end of current line and display the content'
|
return _('set review cursor to end of current line and display the content')
|
||||||
|
|
||||||
def run(self):
|
def run(self):
|
||||||
cursorPos = self.env['runtime']['cursorManager'].getReviewOrTextCursor()
|
cursorPos = self.env['runtime']['cursorManager'].getReviewOrTextCursor()
|
||||||
@ -24,7 +24,7 @@ class command():
|
|||||||
char_utils.getCurrentChar(self.env['screenData']['newCursorReview']['x'], self.env['screenData']['newCursorReview']['y'], self.env['screenData']['newContentText'])
|
char_utils.getCurrentChar(self.env['screenData']['newCursorReview']['x'], self.env['screenData']['newCursorReview']['y'], self.env['screenData']['newContentText'])
|
||||||
|
|
||||||
self.env['runtime']['outputManager'].presentText(currChar ,interrupt=True, ignorePunctuation=True, announceCapital=True, flush=False)
|
self.env['runtime']['outputManager'].presentText(currChar ,interrupt=True, ignorePunctuation=True, announceCapital=True, flush=False)
|
||||||
self.env['runtime']['outputManager'].presentText("end of line", interrupt=False)
|
self.env['runtime']['outputManager'].presentText(_("end of line"), interrupt=False)
|
||||||
|
|
||||||
def setCallback(self, callback):
|
def setCallback(self, callback):
|
||||||
pass
|
pass
|
||||||
|
@ -16,21 +16,21 @@ class command():
|
|||||||
def shutdown(self):
|
def shutdown(self):
|
||||||
pass
|
pass
|
||||||
def getDescription(self):
|
def getDescription(self):
|
||||||
return 'set review cursor to end of current line and display the content'
|
return _('set review cursor to end of current line and display the content')
|
||||||
|
|
||||||
def run(self):
|
def run(self):
|
||||||
cursorPos = self.env['runtime']['cursorManager'].getReviewOrTextCursor()
|
cursorPos = self.env['runtime']['cursorManager'].getReviewOrTextCursor()
|
||||||
x, y, currLine = \
|
x, y, currLine = \
|
||||||
line_utils.getCurrentLine(cursorPos['x'], cursorPos['y'], self.env['screenData']['newContentText'])
|
line_utils.getCurrentLine(cursorPos['x'], cursorPos['y'], self.env['screenData']['newContentText'])
|
||||||
if currLine.isspace():
|
if currLine.isspace():
|
||||||
self.env['runtime']['outputManager'].presentText("line is empty" ,interrupt=True)
|
self.env['runtime']['outputManager'].presentText(_("line is empty"), interrupt=True)
|
||||||
return
|
return
|
||||||
self.env['runtime']['cursorManager'].setReviewCursorPosition((len(currLine) - len(currLine.lstrip())), cursorPos['y'])
|
self.env['runtime']['cursorManager'].setReviewCursorPosition((len(currLine) - len(currLine.lstrip())), cursorPos['y'])
|
||||||
self.env['screenData']['newCursorReview']['x'], self.env['screenData']['newCursorReview']['y'], currChar = \
|
self.env['screenData']['newCursorReview']['x'], self.env['screenData']['newCursorReview']['y'], currChar = \
|
||||||
char_utils.getCurrentChar(self.env['screenData']['newCursorReview']['x'], self.env['screenData']['newCursorReview']['y'], self.env['screenData']['newContentText'])
|
char_utils.getCurrentChar(self.env['screenData']['newCursorReview']['x'], self.env['screenData']['newCursorReview']['y'], self.env['screenData']['newContentText'])
|
||||||
|
|
||||||
self.env['runtime']['outputManager'].presentText(currChar ,interrupt=True, ignorePunctuation=True, announceCapital=True, flush=False)
|
self.env['runtime']['outputManager'].presentText(currChar ,interrupt=True, ignorePunctuation=True, announceCapital=True, flush=False)
|
||||||
self.env['runtime']['outputManager'].presentText("first char in line indent " + str(len(currLine) - len(currLine.lstrip())), interrupt=False)
|
self.env['runtime']['outputManager'].presentText(_("first char in line indent {0}").format(str(len(currLine) - len(currLine.lstrip()))), interrupt=False)
|
||||||
|
|
||||||
def setCallback(self, callback):
|
def setCallback(self, callback):
|
||||||
pass
|
pass
|
||||||
|
@ -15,7 +15,7 @@ class command():
|
|||||||
def shutdown(self):
|
def shutdown(self):
|
||||||
pass
|
pass
|
||||||
def getDescription(self):
|
def getDescription(self):
|
||||||
return 'set review cursor to end of current line and display the content'
|
return _('set review cursor to end of current line and display the content')
|
||||||
|
|
||||||
def run(self):
|
def run(self):
|
||||||
cursorPos = self.env['runtime']['cursorManager'].getReviewOrTextCursor()
|
cursorPos = self.env['runtime']['cursorManager'].getReviewOrTextCursor()
|
||||||
@ -24,7 +24,7 @@ class command():
|
|||||||
char_utils.getLastCharInLine(self.env['screenData']['newCursorReview']['y'], self.env['screenData']['newContentText'])
|
char_utils.getLastCharInLine(self.env['screenData']['newCursorReview']['y'], self.env['screenData']['newContentText'])
|
||||||
|
|
||||||
self.env['runtime']['outputManager'].presentText(lastChar ,interrupt=True, ignorePunctuation=True, announceCapital=True, flush=False)
|
self.env['runtime']['outputManager'].presentText(lastChar ,interrupt=True, ignorePunctuation=True, announceCapital=True, flush=False)
|
||||||
self.env['runtime']['outputManager'].presentText("last char in line", interrupt=False)
|
self.env['runtime']['outputManager'].presentText(_("last char in line"), interrupt=False)
|
||||||
|
|
||||||
def setCallback(self, callback):
|
def setCallback(self, callback):
|
||||||
pass
|
pass
|
||||||
|
@ -15,7 +15,7 @@ class command():
|
|||||||
def shutdown(self):
|
def shutdown(self):
|
||||||
pass
|
pass
|
||||||
def getDescription(self):
|
def getDescription(self):
|
||||||
return 'moves review to the next character and presents it'
|
return _('moves review to the next character and presents it')
|
||||||
|
|
||||||
def run(self):
|
def run(self):
|
||||||
self.env['runtime']['cursorManager'].enterReviewModeCurrTextCursor()
|
self.env['runtime']['cursorManager'].enterReviewModeCurrTextCursor()
|
||||||
@ -25,9 +25,9 @@ class command():
|
|||||||
self.env['runtime']['outputManager'].presentText(nextChar, interrupt=True, ignorePunctuation=True, announceCapital=True, flush=False)
|
self.env['runtime']['outputManager'].presentText(nextChar, interrupt=True, ignorePunctuation=True, announceCapital=True, flush=False)
|
||||||
if endOfScreen:
|
if endOfScreen:
|
||||||
if self.env['runtime']['settingsManager'].getSettingAsBool('review', 'endOfScreen'):
|
if self.env['runtime']['settingsManager'].getSettingAsBool('review', 'endOfScreen'):
|
||||||
self.env['runtime']['outputManager'].presentText('end of screen' ,interrupt=True, soundIcon='EndOfScreen')
|
self.env['runtime']['outputManager'].presentText(_('end of screen'), interrupt=True, soundIcon='EndOfScreen')
|
||||||
if lineBreak:
|
if lineBreak:
|
||||||
if self.env['runtime']['settingsManager'].getSettingAsBool('review', 'lineBreak'):
|
if self.env['runtime']['settingsManager'].getSettingAsBool('review', 'lineBreak'):
|
||||||
self.env['runtime']['outputManager'].presentText('line break' ,interrupt=False, soundIcon='EndOfLine')
|
self.env['runtime']['outputManager'].presentText(_('line break'), interrupt=False, soundIcon='EndOfLine')
|
||||||
def setCallback(self, callback):
|
def setCallback(self, callback):
|
||||||
pass
|
pass
|
||||||
|
@ -15,7 +15,7 @@ class command():
|
|||||||
def shutdown(self):
|
def shutdown(self):
|
||||||
pass
|
pass
|
||||||
def getDescription(self):
|
def getDescription(self):
|
||||||
return 'phonetically presents the next character and set review to it'
|
return _('phonetically presents the next character and set review to it')
|
||||||
|
|
||||||
def run(self):
|
def run(self):
|
||||||
self.env['runtime']['cursorManager'].enterReviewModeCurrTextCursor()
|
self.env['runtime']['cursorManager'].enterReviewModeCurrTextCursor()
|
||||||
@ -27,9 +27,9 @@ class command():
|
|||||||
self.env['runtime']['outputManager'].presentText(nextChar ,interrupt=True, announceCapital=True, flush=False)
|
self.env['runtime']['outputManager'].presentText(nextChar ,interrupt=True, announceCapital=True, flush=False)
|
||||||
if endOfScreen:
|
if endOfScreen:
|
||||||
if self.env['runtime']['settingsManager'].getSettingAsBool('review', 'endOfScreen'):
|
if self.env['runtime']['settingsManager'].getSettingAsBool('review', 'endOfScreen'):
|
||||||
self.env['runtime']['outputManager'].presentText('end of screen' ,interrupt=True, soundIcon='EndOfScreen')
|
self.env['runtime']['outputManager'].presentText(_('end of screen'), interrupt=True, soundIcon='EndOfScreen')
|
||||||
if lineBreak:
|
if lineBreak:
|
||||||
if self.env['runtime']['settingsManager'].getSettingAsBool('review', 'lineBreak'):
|
if self.env['runtime']['settingsManager'].getSettingAsBool('review', 'lineBreak'):
|
||||||
self.env['runtime']['outputManager'].presentText('line break' ,interrupt=False, soundIcon='EndOfLine')
|
self.env['runtime']['outputManager'].presentText(_('line break'), interrupt=False, soundIcon='EndOfLine')
|
||||||
def setCallback(self, callback):
|
def setCallback(self, callback):
|
||||||
pass
|
pass
|
||||||
|
@ -15,7 +15,7 @@ class command():
|
|||||||
def shutdown(self):
|
def shutdown(self):
|
||||||
pass
|
pass
|
||||||
def getDescription(self):
|
def getDescription(self):
|
||||||
return 'moves review to the next line and presents it'
|
return _('moves review to the next line and presents it')
|
||||||
|
|
||||||
def run(self):
|
def run(self):
|
||||||
self.env['screenData']['oldCursorReview'] = self.env['screenData']['newCursorReview']
|
self.env['screenData']['oldCursorReview'] = self.env['screenData']['newCursorReview']
|
||||||
@ -26,11 +26,11 @@ class command():
|
|||||||
line_utils.getNextLine(self.env['screenData']['newCursorReview']['x'], self.env['screenData']['newCursorReview']['y'], self.env['screenData']['newContentText'])
|
line_utils.getNextLine(self.env['screenData']['newCursorReview']['x'], self.env['screenData']['newCursorReview']['y'], self.env['screenData']['newContentText'])
|
||||||
|
|
||||||
if nextLine.isspace():
|
if nextLine.isspace():
|
||||||
self.env['runtime']['outputManager'].presentText("blank", soundIcon='EmptyLine', interrupt=True, flush=False)
|
self.env['runtime']['outputManager'].presentText(_("blank"), soundIcon='EmptyLine', interrupt=True, flush=False)
|
||||||
else:
|
else:
|
||||||
self.env['runtime']['outputManager'].presentText(nextLine, interrupt=True, flush=False)
|
self.env['runtime']['outputManager'].presentText(nextLine, interrupt=True, flush=False)
|
||||||
if endOfScreen:
|
if endOfScreen:
|
||||||
if self.env['runtime']['settingsManager'].getSettingAsBool('review', 'endOfScreen'):
|
if self.env['runtime']['settingsManager'].getSettingAsBool('review', 'endOfScreen'):
|
||||||
self.env['runtime']['outputManager'].presentText('end of screen' ,interrupt=True, soundIcon='EndOfScreen')
|
self.env['runtime']['outputManager'].presentText(_('end of screen'), interrupt=True, soundIcon='EndOfScreen')
|
||||||
def setCallback(self, callback):
|
def setCallback(self, callback):
|
||||||
pass
|
pass
|
||||||
|
@ -15,7 +15,7 @@ class command():
|
|||||||
def shutdown(self):
|
def shutdown(self):
|
||||||
pass
|
pass
|
||||||
def getDescription(self):
|
def getDescription(self):
|
||||||
return 'moves review to the next word and presents it'
|
return _('moves review to the next word and presents it')
|
||||||
|
|
||||||
def run(self):
|
def run(self):
|
||||||
self.env['screenData']['oldCursorReview'] = self.env['screenData']['newCursorReview']
|
self.env['screenData']['oldCursorReview'] = self.env['screenData']['newCursorReview']
|
||||||
@ -26,14 +26,14 @@ class command():
|
|||||||
word_utils.getNextWord(self.env['screenData']['newCursorReview']['x'], self.env['screenData']['newCursorReview']['y'], self.env['screenData']['newContentText'])
|
word_utils.getNextWord(self.env['screenData']['newCursorReview']['x'], self.env['screenData']['newCursorReview']['y'], self.env['screenData']['newContentText'])
|
||||||
|
|
||||||
if nextWord.isspace():
|
if nextWord.isspace():
|
||||||
self.env['runtime']['outputManager'].presentText("blank", interrupt=True, flush=False)
|
self.env['runtime']['outputManager'].presentText(_("blank"), interrupt=True, flush=False)
|
||||||
else:
|
else:
|
||||||
self.env['runtime']['outputManager'].presentText(nextWord, interrupt=True, flush=False)
|
self.env['runtime']['outputManager'].presentText(nextWord, interrupt=True, flush=False)
|
||||||
if endOfScreen:
|
if endOfScreen:
|
||||||
if self.env['runtime']['settingsManager'].getSettingAsBool('review', 'endOfScreen'):
|
if self.env['runtime']['settingsManager'].getSettingAsBool('review', 'endOfScreen'):
|
||||||
self.env['runtime']['outputManager'].presentText('end of screen' ,interrupt=True, soundIcon='EndOfScreen')
|
self.env['runtime']['outputManager'].presentText(_('end of screen'), interrupt=True, soundIcon='EndOfScreen')
|
||||||
if lineBreak:
|
if lineBreak:
|
||||||
if self.env['runtime']['settingsManager'].getSettingAsBool('review', 'lineBreak'):
|
if self.env['runtime']['settingsManager'].getSettingAsBool('review', 'lineBreak'):
|
||||||
self.env['runtime']['outputManager'].presentText('line break' ,interrupt=False, soundIcon='EndOfLine')
|
self.env['runtime']['outputManager'].presentText(_('line break'), interrupt=False, soundIcon='EndOfLine')
|
||||||
def setCallback(self, callback):
|
def setCallback(self, callback):
|
||||||
pass
|
pass
|
||||||
|
@ -16,7 +16,7 @@ class command():
|
|||||||
def shutdown(self):
|
def shutdown(self):
|
||||||
pass
|
pass
|
||||||
def getDescription(self):
|
def getDescription(self):
|
||||||
return 'phonetically spells the current word and set review to it'
|
return _('phonetically spells the current word and set review to it')
|
||||||
|
|
||||||
def run(self):
|
def run(self):
|
||||||
self.env['runtime']['cursorManager'].enterReviewModeCurrTextCursor()
|
self.env['runtime']['cursorManager'].enterReviewModeCurrTextCursor()
|
||||||
@ -24,7 +24,7 @@ class command():
|
|||||||
word_utils.getNextWord(self.env['screenData']['newCursorReview']['x'], self.env['screenData']['newCursorReview']['y'], self.env['screenData']['newContentText'])
|
word_utils.getNextWord(self.env['screenData']['newCursorReview']['x'], self.env['screenData']['newCursorReview']['y'], self.env['screenData']['newContentText'])
|
||||||
|
|
||||||
if nextWord.isspace():
|
if nextWord.isspace():
|
||||||
self.env['runtime']['outputManager'].presentText("blank", interrupt=True, flush=False)
|
self.env['runtime']['outputManager'].presentText(_("blank"), interrupt=True, flush=False)
|
||||||
else:
|
else:
|
||||||
firstSequence = True
|
firstSequence = True
|
||||||
for c in nextWord:
|
for c in nextWord:
|
||||||
@ -33,9 +33,9 @@ class command():
|
|||||||
firstSequence = False
|
firstSequence = False
|
||||||
if endOfScreen:
|
if endOfScreen:
|
||||||
if self.env['runtime']['settingsManager'].getSettingAsBool('review', 'endOfScreen'):
|
if self.env['runtime']['settingsManager'].getSettingAsBool('review', 'endOfScreen'):
|
||||||
self.env['runtime']['outputManager'].presentText('end of screen' ,interrupt=True, soundIcon='EndOfScreen')
|
self.env['runtime']['outputManager'].presentText(_('end of screen'), interrupt=True, soundIcon='EndOfScreen')
|
||||||
if lineBreak:
|
if lineBreak:
|
||||||
if self.env['runtime']['settingsManager'].getSettingAsBool('review', 'lineBreak'):
|
if self.env['runtime']['settingsManager'].getSettingAsBool('review', 'lineBreak'):
|
||||||
self.env['runtime']['outputManager'].presentText('line break' ,interrupt=False, soundIcon='EndOfLine')
|
self.env['runtime']['outputManager'].presentText(_('line break'), interrupt=False, soundIcon='EndOfLine')
|
||||||
def setCallback(self, callback):
|
def setCallback(self, callback):
|
||||||
pass
|
pass
|
||||||
|
@ -15,7 +15,7 @@ class command():
|
|||||||
def shutdown(self):
|
def shutdown(self):
|
||||||
pass
|
pass
|
||||||
def getDescription(self):
|
def getDescription(self):
|
||||||
return 'moves review to the previous character and presents it'
|
return _('moves review to the previous character and presents it')
|
||||||
|
|
||||||
def run(self):
|
def run(self):
|
||||||
self.env['screenData']['oldCursorReview'] = self.env['screenData']['newCursorReview']
|
self.env['screenData']['oldCursorReview'] = self.env['screenData']['newCursorReview']
|
||||||
@ -28,9 +28,9 @@ class command():
|
|||||||
self.env['runtime']['outputManager'].presentText(prevChar, interrupt=True, ignorePunctuation=True, announceCapital=True, flush=False)
|
self.env['runtime']['outputManager'].presentText(prevChar, interrupt=True, ignorePunctuation=True, announceCapital=True, flush=False)
|
||||||
if endOfScreen:
|
if endOfScreen:
|
||||||
if self.env['runtime']['settingsManager'].getSettingAsBool('review', 'endOfScreen'):
|
if self.env['runtime']['settingsManager'].getSettingAsBool('review', 'endOfScreen'):
|
||||||
self.env['runtime']['outputManager'].presentText('end of screen' ,interrupt=True, soundIcon='EndOfScreen')
|
self.env['runtime']['outputManager'].presentText(_('end of screen'), interrupt=True, soundIcon='EndOfScreen')
|
||||||
if lineBreak:
|
if lineBreak:
|
||||||
if self.env['runtime']['settingsManager'].getSettingAsBool('review', 'lineBreak'):
|
if self.env['runtime']['settingsManager'].getSettingAsBool('review', 'lineBreak'):
|
||||||
self.env['runtime']['outputManager'].presentText('line break' ,interrupt=False, soundIcon='EndOfLine')
|
self.env['runtime']['outputManager'].presentText(_('line break'), interrupt=False, soundIcon='EndOfLine')
|
||||||
def setCallback(self, callback):
|
def setCallback(self, callback):
|
||||||
pass
|
pass
|
||||||
|
@ -15,7 +15,7 @@ class command():
|
|||||||
def shutdown(self):
|
def shutdown(self):
|
||||||
pass
|
pass
|
||||||
def getDescription(self):
|
def getDescription(self):
|
||||||
return 'phonetically presents the previous character and set review to it'
|
return _('phonetically presents the previous character and set review to it')
|
||||||
|
|
||||||
def run(self):
|
def run(self):
|
||||||
self.env['runtime']['cursorManager'].enterReviewModeCurrTextCursor()
|
self.env['runtime']['cursorManager'].enterReviewModeCurrTextCursor()
|
||||||
@ -27,9 +27,9 @@ class command():
|
|||||||
self.env['runtime']['outputManager'].presentText(prevChar ,interrupt=True, announceCapital=True, flush=False)
|
self.env['runtime']['outputManager'].presentText(prevChar ,interrupt=True, announceCapital=True, flush=False)
|
||||||
if endOfScreen:
|
if endOfScreen:
|
||||||
if self.env['runtime']['settingsManager'].getSettingAsBool('review', 'endOfScreen'):
|
if self.env['runtime']['settingsManager'].getSettingAsBool('review', 'endOfScreen'):
|
||||||
self.env['runtime']['outputManager'].presentText('end of screen' ,interrupt=True, soundIcon='EndOfScreen')
|
self.env['runtime']['outputManager'].presentText(_('end of screen'), interrupt=True, soundIcon='EndOfScreen')
|
||||||
if lineBreak:
|
if lineBreak:
|
||||||
if self.env['runtime']['settingsManager'].getSettingAsBool('review', 'lineBreak'):
|
if self.env['runtime']['settingsManager'].getSettingAsBool('review', 'lineBreak'):
|
||||||
self.env['runtime']['outputManager'].presentText('line break' ,interrupt=False, soundIcon='EndOfLine')
|
self.env['runtime']['outputManager'].presentText(_('line break'), interrupt=False, soundIcon='EndOfLine')
|
||||||
def setCallback(self, callback):
|
def setCallback(self, callback):
|
||||||
pass
|
pass
|
||||||
|
@ -15,7 +15,7 @@ class command():
|
|||||||
def shutdown(self):
|
def shutdown(self):
|
||||||
pass
|
pass
|
||||||
def getDescription(self):
|
def getDescription(self):
|
||||||
return 'moves review to the previous line and presents it'
|
return _('moves review to the previous line and presents it')
|
||||||
|
|
||||||
def run(self):
|
def run(self):
|
||||||
self.env['runtime']['cursorManager'].enterReviewModeCurrTextCursor()
|
self.env['runtime']['cursorManager'].enterReviewModeCurrTextCursor()
|
||||||
@ -24,12 +24,12 @@ class command():
|
|||||||
line_utils.getPrevLine(self.env['screenData']['newCursorReview']['x'], self.env['screenData']['newCursorReview']['y'], self.env['screenData']['newContentText'])
|
line_utils.getPrevLine(self.env['screenData']['newCursorReview']['x'], self.env['screenData']['newCursorReview']['y'], self.env['screenData']['newContentText'])
|
||||||
|
|
||||||
if prevLine.isspace():
|
if prevLine.isspace():
|
||||||
self.env['runtime']['outputManager'].presentText("blank", soundIcon='EmptyLine', interrupt=True, flush=False)
|
self.env['runtime']['outputManager'].presentText(_("blank"), soundIcon='EmptyLine', interrupt=True, flush=False)
|
||||||
else:
|
else:
|
||||||
self.env['runtime']['outputManager'].presentText(prevLine, interrupt=True, flush=False)
|
self.env['runtime']['outputManager'].presentText(prevLine, interrupt=True, flush=False)
|
||||||
if endOfScreen:
|
if endOfScreen:
|
||||||
if self.env['runtime']['settingsManager'].getSettingAsBool('review', 'endOfScreen'):
|
if self.env['runtime']['settingsManager'].getSettingAsBool('review', 'endOfScreen'):
|
||||||
self.env['runtime']['outputManager'].presentText('end of screen' ,interrupt=True, soundIcon='EndOfScreen')
|
self.env['runtime']['outputManager'].presentText(_('end of screen'), interrupt=True, soundIcon='EndOfScreen')
|
||||||
|
|
||||||
def setCallback(self, callback):
|
def setCallback(self, callback):
|
||||||
pass
|
pass
|
||||||
|
@ -15,7 +15,7 @@ class command():
|
|||||||
def shutdown(self):
|
def shutdown(self):
|
||||||
pass
|
pass
|
||||||
def getDescription(self):
|
def getDescription(self):
|
||||||
return 'moves review focus to the previous word and presents it'
|
return _('moves review focus to the previous word and presents it')
|
||||||
|
|
||||||
def run(self):
|
def run(self):
|
||||||
self.env['runtime']['cursorManager'].enterReviewModeCurrTextCursor()
|
self.env['runtime']['cursorManager'].enterReviewModeCurrTextCursor()
|
||||||
@ -24,14 +24,14 @@ class command():
|
|||||||
word_utils.getPrevWord(self.env['screenData']['newCursorReview']['x'], self.env['screenData']['newCursorReview']['y'], self.env['screenData']['newContentText'])
|
word_utils.getPrevWord(self.env['screenData']['newCursorReview']['x'], self.env['screenData']['newCursorReview']['y'], self.env['screenData']['newContentText'])
|
||||||
|
|
||||||
if prevWord.isspace():
|
if prevWord.isspace():
|
||||||
self.env['runtime']['outputManager'].presentText("blank", interrupt=True, flush=False)
|
self.env['runtime']['outputManager'].presentText(_("blank"), interrupt=True, flush=False)
|
||||||
else:
|
else:
|
||||||
self.env['runtime']['outputManager'].presentText(prevWord, interrupt=True, flush=False)
|
self.env['runtime']['outputManager'].presentText(prevWord, interrupt=True, flush=False)
|
||||||
if endOfScreen:
|
if endOfScreen:
|
||||||
if self.env['runtime']['settingsManager'].getSettingAsBool('review', 'endOfScreen'):
|
if self.env['runtime']['settingsManager'].getSettingAsBool('review', 'endOfScreen'):
|
||||||
self.env['runtime']['outputManager'].presentText('end of screen' ,interrupt=False, soundIcon='EndOfScreen')
|
self.env['runtime']['outputManager'].presentText(_('end of screen'), interrupt=False, soundIcon='EndOfScreen')
|
||||||
if lineBreak:
|
if lineBreak:
|
||||||
if self.env['runtime']['settingsManager'].getSettingAsBool('review', 'lineBreak'):
|
if self.env['runtime']['settingsManager'].getSettingAsBool('review', 'lineBreak'):
|
||||||
self.env['runtime']['outputManager'].presentText('line break' ,interrupt=False, soundIcon='EndOfLine')
|
self.env['runtime']['outputManager'].presentText(_('line break'), interrupt=False, soundIcon='EndOfLine')
|
||||||
def setCallback(self, callback):
|
def setCallback(self, callback):
|
||||||
pass
|
pass
|
||||||
|
@ -16,7 +16,7 @@ class command():
|
|||||||
def shutdown(self):
|
def shutdown(self):
|
||||||
pass
|
pass
|
||||||
def getDescription(self):
|
def getDescription(self):
|
||||||
return 'phonetically spells the current word and set review to it'
|
return _('phonetically spells the current word and set review to it')
|
||||||
|
|
||||||
def run(self):
|
def run(self):
|
||||||
self.env['runtime']['cursorManager'].enterReviewModeCurrTextCursor()
|
self.env['runtime']['cursorManager'].enterReviewModeCurrTextCursor()
|
||||||
@ -24,7 +24,7 @@ class command():
|
|||||||
word_utils.getPrevWord(self.env['screenData']['newCursorReview']['x'], self.env['screenData']['newCursorReview']['y'], self.env['screenData']['newContentText'])
|
word_utils.getPrevWord(self.env['screenData']['newCursorReview']['x'], self.env['screenData']['newCursorReview']['y'], self.env['screenData']['newContentText'])
|
||||||
|
|
||||||
if prevWord.isspace():
|
if prevWord.isspace():
|
||||||
self.env['runtime']['outputManager'].presentText("blank", interrupt=True, flush=False)
|
self.env['runtime']['outputManager'].presentText(_("blank"), interrupt=True, flush=False)
|
||||||
else:
|
else:
|
||||||
firstSequence = True
|
firstSequence = True
|
||||||
for c in prevWord:
|
for c in prevWord:
|
||||||
@ -33,9 +33,9 @@ class command():
|
|||||||
firstSequence = False
|
firstSequence = False
|
||||||
if endOfScreen:
|
if endOfScreen:
|
||||||
if self.env['runtime']['settingsManager'].getSettingAsBool('review', 'endOfScreen'):
|
if self.env['runtime']['settingsManager'].getSettingAsBool('review', 'endOfScreen'):
|
||||||
self.env['runtime']['outputManager'].presentText('end of screen' ,interrupt=True, soundIcon='EndOfScreen')
|
self.env['runtime']['outputManager'].presentText(_('end of screen'), interrupt=True, soundIcon='EndOfScreen')
|
||||||
if lineBreak:
|
if lineBreak:
|
||||||
if self.env['runtime']['settingsManager'].getSettingAsBool('review', 'lineBreak'):
|
if self.env['runtime']['settingsManager'].getSettingAsBool('review', 'lineBreak'):
|
||||||
self.env['runtime']['outputManager'].presentText('line break' ,interrupt=False, soundIcon='EndOfLine')
|
self.env['runtime']['outputManager'].presentText(_('line break'), interrupt=False, soundIcon='EndOfLine')
|
||||||
def setCallback(self, callback):
|
def setCallback(self, callback):
|
||||||
pass
|
pass
|
||||||
|
@ -15,11 +15,11 @@ class command():
|
|||||||
def shutdown(self):
|
def shutdown(self):
|
||||||
pass
|
pass
|
||||||
def getDescription(self):
|
def getDescription(self):
|
||||||
return 'move review to top of screen'
|
return _('move review to top of screen')
|
||||||
|
|
||||||
def run(self):
|
def run(self):
|
||||||
self.env['screenData']['newCursorReview'] = {'x':0,'y':0}
|
self.env['screenData']['newCursorReview'] = {'x':0,'y':0}
|
||||||
self.env['runtime']['outputManager'].presentText("Top", interrupt=True, flush=False)
|
self.env['runtime']['outputManager'].presentText(_("Top"), interrupt=True, flush=False)
|
||||||
|
|
||||||
def setCallback(self, callback):
|
def setCallback(self, callback):
|
||||||
pass
|
pass
|
||||||
|
@ -15,7 +15,7 @@ class command():
|
|||||||
def shutdown(self):
|
def shutdown(self):
|
||||||
pass
|
pass
|
||||||
def getDescription(self):
|
def getDescription(self):
|
||||||
return 'set review cursor to the char in the line below and present it'
|
return _('set review cursor to the char in the line below and present it')
|
||||||
|
|
||||||
def run(self):
|
def run(self):
|
||||||
cursorPos = self.env['runtime']['cursorManager'].getReviewOrTextCursor()
|
cursorPos = self.env['runtime']['cursorManager'].getReviewOrTextCursor()
|
||||||
@ -24,9 +24,9 @@ class command():
|
|||||||
self.env['runtime']['outputManager'].presentText(upChar ,interrupt=True, ignorePunctuation=True, announceCapital=True, flush=False)
|
self.env['runtime']['outputManager'].presentText(upChar ,interrupt=True, ignorePunctuation=True, announceCapital=True, flush=False)
|
||||||
if endOfScreen:
|
if endOfScreen:
|
||||||
if self.env['runtime']['settingsManager'].getSettingAsBool('review', 'endOfScreen'):
|
if self.env['runtime']['settingsManager'].getSettingAsBool('review', 'endOfScreen'):
|
||||||
self.env['runtime']['outputManager'].presentText('end of screen' ,interrupt=True, soundIcon='EndOfScreen')
|
self.env['runtime']['outputManager'].presentText(_('end of screen'), interrupt=True, soundIcon='EndOfScreen')
|
||||||
if lineBreak:
|
if lineBreak:
|
||||||
if self.env['runtime']['settingsManager'].getSettingAsBool('review', 'lineBreak'):
|
if self.env['runtime']['settingsManager'].getSettingAsBool('review', 'lineBreak'):
|
||||||
self.env['runtime']['outputManager'].presentText('line break' ,interrupt=False, soundIcon='EndOfLine')
|
self.env['runtime']['outputManager'].presentText(_('line break'), interrupt=False, soundIcon='EndOfLine')
|
||||||
def setCallback(self, callback):
|
def setCallback(self, callback):
|
||||||
pass
|
pass
|
||||||
|
@ -15,11 +15,11 @@ class command():
|
|||||||
def shutdown(self):
|
def shutdown(self):
|
||||||
pass
|
pass
|
||||||
def getDescription(self):
|
def getDescription(self):
|
||||||
return 'set Bookmark ' + self.ID
|
return _('set Bookmark {0}').format(self.ID,)
|
||||||
|
|
||||||
def run(self):
|
def run(self):
|
||||||
if not self.env['commandBuffer']['Marks']['1']:
|
if not self.env['commandBuffer']['Marks']['1']:
|
||||||
self.env['runtime']['outputManager'].presentText("No Mark found", interrupt=True)
|
self.env['runtime']['outputManager'].presentText(_("No Mark found"), interrupt=True)
|
||||||
return
|
return
|
||||||
currApp = self.env['runtime']['applicationManager'].getCurrentApplication()
|
currApp = self.env['runtime']['applicationManager'].getCurrentApplication()
|
||||||
self.env['commandBuffer']['bookMarks'][self.ID][currApp] = {}
|
self.env['commandBuffer']['bookMarks'][self.ID][currApp] = {}
|
||||||
@ -29,7 +29,7 @@ class command():
|
|||||||
self.env['commandBuffer']['bookMarks'][self.ID][currApp]['2'] = self.env['commandBuffer']['Marks']['2'].copy()
|
self.env['commandBuffer']['bookMarks'][self.ID][currApp]['2'] = self.env['commandBuffer']['Marks']['2'].copy()
|
||||||
else:
|
else:
|
||||||
self.env['commandBuffer']['bookMarks'][self.ID][currApp]['2'] = None
|
self.env['commandBuffer']['bookMarks'][self.ID][currApp]['2'] = None
|
||||||
self.env['runtime']['outputManager'].presentText('Bookmark ' + self.ID + " set for application " + currApp, interrupt=True)
|
self.env['runtime']['outputManager'].presentText(_('Bookmark {0} set for application {1}').format(self.ID, currApp), interrupt=True)
|
||||||
self.env['commandBuffer']['Marks']['1'] = None
|
self.env['commandBuffer']['Marks']['1'] = None
|
||||||
self.env['commandBuffer']['Marks']['2'] = None
|
self.env['commandBuffer']['Marks']['2'] = None
|
||||||
def setCallback(self, callback):
|
def setCallback(self, callback):
|
||||||
|
@ -15,11 +15,11 @@ class command():
|
|||||||
def shutdown(self):
|
def shutdown(self):
|
||||||
pass
|
pass
|
||||||
def getDescription(self):
|
def getDescription(self):
|
||||||
return 'set Bookmark ' + self.ID
|
return _('set Bookmark {0}').format(self.ID,)
|
||||||
|
|
||||||
def run(self):
|
def run(self):
|
||||||
if not self.env['commandBuffer']['Marks']['1']:
|
if not self.env['commandBuffer']['Marks']['1']:
|
||||||
self.env['runtime']['outputManager'].presentText("No Mark found", interrupt=True)
|
self.env['runtime']['outputManager'].presentText(_("No Mark found"), interrupt=True)
|
||||||
return
|
return
|
||||||
currApp = self.env['runtime']['applicationManager'].getCurrentApplication()
|
currApp = self.env['runtime']['applicationManager'].getCurrentApplication()
|
||||||
self.env['commandBuffer']['bookMarks'][self.ID][currApp] = {}
|
self.env['commandBuffer']['bookMarks'][self.ID][currApp] = {}
|
||||||
@ -29,7 +29,7 @@ class command():
|
|||||||
self.env['commandBuffer']['bookMarks'][self.ID][currApp]['2'] = self.env['commandBuffer']['Marks']['2'].copy()
|
self.env['commandBuffer']['bookMarks'][self.ID][currApp]['2'] = self.env['commandBuffer']['Marks']['2'].copy()
|
||||||
else:
|
else:
|
||||||
self.env['commandBuffer']['bookMarks'][self.ID][currApp]['2'] = None
|
self.env['commandBuffer']['bookMarks'][self.ID][currApp]['2'] = None
|
||||||
self.env['runtime']['outputManager'].presentText('Bookmark ' + self.ID + " set for application " + currApp, interrupt=True)
|
self.env['runtime']['outputManager'].presentText(_('Bookmark {0} set for application {1}').format(self.ID, currApp), interrupt=True)
|
||||||
self.env['commandBuffer']['Marks']['1'] = None
|
self.env['commandBuffer']['Marks']['1'] = None
|
||||||
self.env['commandBuffer']['Marks']['2'] = None
|
self.env['commandBuffer']['Marks']['2'] = None
|
||||||
def setCallback(self, callback):
|
def setCallback(self, callback):
|
||||||
|
@ -15,11 +15,11 @@ class command():
|
|||||||
def shutdown(self):
|
def shutdown(self):
|
||||||
pass
|
pass
|
||||||
def getDescription(self):
|
def getDescription(self):
|
||||||
return 'set Bookmark ' + self.ID
|
return _('set Bookmark {0}').format(self.ID,)
|
||||||
|
|
||||||
def run(self):
|
def run(self):
|
||||||
if not self.env['commandBuffer']['Marks']['1']:
|
if not self.env['commandBuffer']['Marks']['1']:
|
||||||
self.env['runtime']['outputManager'].presentText("No Mark found", interrupt=True)
|
self.env['runtime']['outputManager'].presentText(_("No Mark found"), interrupt=True)
|
||||||
return
|
return
|
||||||
currApp = self.env['runtime']['applicationManager'].getCurrentApplication()
|
currApp = self.env['runtime']['applicationManager'].getCurrentApplication()
|
||||||
self.env['commandBuffer']['bookMarks'][self.ID][currApp] = {}
|
self.env['commandBuffer']['bookMarks'][self.ID][currApp] = {}
|
||||||
@ -29,7 +29,7 @@ class command():
|
|||||||
self.env['commandBuffer']['bookMarks'][self.ID][currApp]['2'] = self.env['commandBuffer']['Marks']['2'].copy()
|
self.env['commandBuffer']['bookMarks'][self.ID][currApp]['2'] = self.env['commandBuffer']['Marks']['2'].copy()
|
||||||
else:
|
else:
|
||||||
self.env['commandBuffer']['bookMarks'][self.ID][currApp]['2'] = None
|
self.env['commandBuffer']['bookMarks'][self.ID][currApp]['2'] = None
|
||||||
self.env['runtime']['outputManager'].presentText('Bookmark ' + self.ID + " set for application " + currApp, interrupt=True)
|
self.env['runtime']['outputManager'].presentText(_('Bookmark {0} set for application {1}').format(self.ID, currApp), interrupt=True)
|
||||||
self.env['commandBuffer']['Marks']['1'] = None
|
self.env['commandBuffer']['Marks']['1'] = None
|
||||||
self.env['commandBuffer']['Marks']['2'] = None
|
self.env['commandBuffer']['Marks']['2'] = None
|
||||||
def setCallback(self, callback):
|
def setCallback(self, callback):
|
||||||
|
@ -15,11 +15,11 @@ class command():
|
|||||||
def shutdown(self):
|
def shutdown(self):
|
||||||
pass
|
pass
|
||||||
def getDescription(self):
|
def getDescription(self):
|
||||||
return 'set Bookmark ' + self.ID
|
return _('set Bookmark {0}').format(self.ID,)
|
||||||
|
|
||||||
def run(self):
|
def run(self):
|
||||||
if not self.env['commandBuffer']['Marks']['1']:
|
if not self.env['commandBuffer']['Marks']['1']:
|
||||||
self.env['runtime']['outputManager'].presentText("No Mark found", interrupt=True)
|
self.env['runtime']['outputManager'].presentText(_("No Mark found"), interrupt=True)
|
||||||
return
|
return
|
||||||
currApp = self.env['runtime']['applicationManager'].getCurrentApplication()
|
currApp = self.env['runtime']['applicationManager'].getCurrentApplication()
|
||||||
self.env['commandBuffer']['bookMarks'][self.ID][currApp] = {}
|
self.env['commandBuffer']['bookMarks'][self.ID][currApp] = {}
|
||||||
@ -29,7 +29,7 @@ class command():
|
|||||||
self.env['commandBuffer']['bookMarks'][self.ID][currApp]['2'] = self.env['commandBuffer']['Marks']['2'].copy()
|
self.env['commandBuffer']['bookMarks'][self.ID][currApp]['2'] = self.env['commandBuffer']['Marks']['2'].copy()
|
||||||
else:
|
else:
|
||||||
self.env['commandBuffer']['bookMarks'][self.ID][currApp]['2'] = None
|
self.env['commandBuffer']['bookMarks'][self.ID][currApp]['2'] = None
|
||||||
self.env['runtime']['outputManager'].presentText('Bookmark ' + self.ID + " set for application " + currApp, interrupt=True)
|
self.env['runtime']['outputManager'].presentText(_('Bookmark {0} set for application {1}').format(self.ID, currApp), interrupt=True)
|
||||||
self.env['commandBuffer']['Marks']['1'] = None
|
self.env['commandBuffer']['Marks']['1'] = None
|
||||||
self.env['commandBuffer']['Marks']['2'] = None
|
self.env['commandBuffer']['Marks']['2'] = None
|
||||||
def setCallback(self, callback):
|
def setCallback(self, callback):
|
||||||
|
@ -15,11 +15,11 @@ class command():
|
|||||||
def shutdown(self):
|
def shutdown(self):
|
||||||
pass
|
pass
|
||||||
def getDescription(self):
|
def getDescription(self):
|
||||||
return 'set Bookmark ' + self.ID
|
return _('set Bookmark {0}').format(self.ID,)
|
||||||
|
|
||||||
def run(self):
|
def run(self):
|
||||||
if not self.env['commandBuffer']['Marks']['1']:
|
if not self.env['commandBuffer']['Marks']['1']:
|
||||||
self.env['runtime']['outputManager'].presentText("No Mark found", interrupt=True)
|
self.env['runtime']['outputManager'].presentText(_("No Mark found"), interrupt=True)
|
||||||
return
|
return
|
||||||
currApp = self.env['runtime']['applicationManager'].getCurrentApplication()
|
currApp = self.env['runtime']['applicationManager'].getCurrentApplication()
|
||||||
self.env['commandBuffer']['bookMarks'][self.ID][currApp] = {}
|
self.env['commandBuffer']['bookMarks'][self.ID][currApp] = {}
|
||||||
@ -29,7 +29,7 @@ class command():
|
|||||||
self.env['commandBuffer']['bookMarks'][self.ID][currApp]['2'] = self.env['commandBuffer']['Marks']['2'].copy()
|
self.env['commandBuffer']['bookMarks'][self.ID][currApp]['2'] = self.env['commandBuffer']['Marks']['2'].copy()
|
||||||
else:
|
else:
|
||||||
self.env['commandBuffer']['bookMarks'][self.ID][currApp]['2'] = None
|
self.env['commandBuffer']['bookMarks'][self.ID][currApp]['2'] = None
|
||||||
self.env['runtime']['outputManager'].presentText('Bookmark ' + self.ID + " set for application " + currApp, interrupt=True)
|
self.env['runtime']['outputManager'].presentText(_('Bookmark {0} set for application {1}').format(self.ID, currApp), interrupt=True)
|
||||||
self.env['commandBuffer']['Marks']['1'] = None
|
self.env['commandBuffer']['Marks']['1'] = None
|
||||||
self.env['commandBuffer']['Marks']['2'] = None
|
self.env['commandBuffer']['Marks']['2'] = None
|
||||||
def setCallback(self, callback):
|
def setCallback(self, callback):
|
||||||
|
@ -15,11 +15,11 @@ class command():
|
|||||||
def shutdown(self):
|
def shutdown(self):
|
||||||
pass
|
pass
|
||||||
def getDescription(self):
|
def getDescription(self):
|
||||||
return 'set Bookmark ' + self.ID
|
return _('set Bookmark {0}').format(self.ID,)
|
||||||
|
|
||||||
def run(self):
|
def run(self):
|
||||||
if not self.env['commandBuffer']['Marks']['1']:
|
if not self.env['commandBuffer']['Marks']['1']:
|
||||||
self.env['runtime']['outputManager'].presentText("No Mark found", interrupt=True)
|
self.env['runtime']['outputManager'].presentText(_("No Mark found"), interrupt=True)
|
||||||
return
|
return
|
||||||
currApp = self.env['runtime']['applicationManager'].getCurrentApplication()
|
currApp = self.env['runtime']['applicationManager'].getCurrentApplication()
|
||||||
self.env['commandBuffer']['bookMarks'][self.ID][currApp] = {}
|
self.env['commandBuffer']['bookMarks'][self.ID][currApp] = {}
|
||||||
@ -29,7 +29,7 @@ class command():
|
|||||||
self.env['commandBuffer']['bookMarks'][self.ID][currApp]['2'] = self.env['commandBuffer']['Marks']['2'].copy()
|
self.env['commandBuffer']['bookMarks'][self.ID][currApp]['2'] = self.env['commandBuffer']['Marks']['2'].copy()
|
||||||
else:
|
else:
|
||||||
self.env['commandBuffer']['bookMarks'][self.ID][currApp]['2'] = None
|
self.env['commandBuffer']['bookMarks'][self.ID][currApp]['2'] = None
|
||||||
self.env['runtime']['outputManager'].presentText('Bookmark ' + self.ID + " set for application " + currApp, interrupt=True)
|
self.env['runtime']['outputManager'].presentText(_('Bookmark {0} set for application {1}').format(self.ID, currApp), interrupt=True)
|
||||||
self.env['commandBuffer']['Marks']['1'] = None
|
self.env['commandBuffer']['Marks']['1'] = None
|
||||||
self.env['commandBuffer']['Marks']['2'] = None
|
self.env['commandBuffer']['Marks']['2'] = None
|
||||||
def setCallback(self, callback):
|
def setCallback(self, callback):
|
||||||
|
@ -15,11 +15,11 @@ class command():
|
|||||||
def shutdown(self):
|
def shutdown(self):
|
||||||
pass
|
pass
|
||||||
def getDescription(self):
|
def getDescription(self):
|
||||||
return 'set Bookmark ' + self.ID
|
return _('set Bookmark {0}').format(self.ID,)
|
||||||
|
|
||||||
def run(self):
|
def run(self):
|
||||||
if not self.env['commandBuffer']['Marks']['1']:
|
if not self.env['commandBuffer']['Marks']['1']:
|
||||||
self.env['runtime']['outputManager'].presentText("No Mark found", interrupt=True)
|
self.env['runtime']['outputManager'].presentText(_("No Mark found"), interrupt=True)
|
||||||
return
|
return
|
||||||
currApp = self.env['runtime']['applicationManager'].getCurrentApplication()
|
currApp = self.env['runtime']['applicationManager'].getCurrentApplication()
|
||||||
self.env['commandBuffer']['bookMarks'][self.ID][currApp] = {}
|
self.env['commandBuffer']['bookMarks'][self.ID][currApp] = {}
|
||||||
@ -29,7 +29,7 @@ class command():
|
|||||||
self.env['commandBuffer']['bookMarks'][self.ID][currApp]['2'] = self.env['commandBuffer']['Marks']['2'].copy()
|
self.env['commandBuffer']['bookMarks'][self.ID][currApp]['2'] = self.env['commandBuffer']['Marks']['2'].copy()
|
||||||
else:
|
else:
|
||||||
self.env['commandBuffer']['bookMarks'][self.ID][currApp]['2'] = None
|
self.env['commandBuffer']['bookMarks'][self.ID][currApp]['2'] = None
|
||||||
self.env['runtime']['outputManager'].presentText('Bookmark ' + self.ID + " set for application " + currApp, interrupt=True)
|
self.env['runtime']['outputManager'].presentText(_('Bookmark {0} set for application {1}').format(self.ID, currApp), interrupt=True)
|
||||||
self.env['commandBuffer']['Marks']['1'] = None
|
self.env['commandBuffer']['Marks']['1'] = None
|
||||||
self.env['commandBuffer']['Marks']['2'] = None
|
self.env['commandBuffer']['Marks']['2'] = None
|
||||||
def setCallback(self, callback):
|
def setCallback(self, callback):
|
||||||
|
@ -15,11 +15,11 @@ class command():
|
|||||||
def shutdown(self):
|
def shutdown(self):
|
||||||
pass
|
pass
|
||||||
def getDescription(self):
|
def getDescription(self):
|
||||||
return 'set Bookmark ' + self.ID
|
return _('set Bookmark {0}').format(self.ID,)
|
||||||
|
|
||||||
def run(self):
|
def run(self):
|
||||||
if not self.env['commandBuffer']['Marks']['1']:
|
if not self.env['commandBuffer']['Marks']['1']:
|
||||||
self.env['runtime']['outputManager'].presentText("No Mark found", interrupt=True)
|
self.env['runtime']['outputManager'].presentText(_("No Mark found"), interrupt=True)
|
||||||
return
|
return
|
||||||
currApp = self.env['runtime']['applicationManager'].getCurrentApplication()
|
currApp = self.env['runtime']['applicationManager'].getCurrentApplication()
|
||||||
self.env['commandBuffer']['bookMarks'][self.ID][currApp] = {}
|
self.env['commandBuffer']['bookMarks'][self.ID][currApp] = {}
|
||||||
@ -29,7 +29,7 @@ class command():
|
|||||||
self.env['commandBuffer']['bookMarks'][self.ID][currApp]['2'] = self.env['commandBuffer']['Marks']['2'].copy()
|
self.env['commandBuffer']['bookMarks'][self.ID][currApp]['2'] = self.env['commandBuffer']['Marks']['2'].copy()
|
||||||
else:
|
else:
|
||||||
self.env['commandBuffer']['bookMarks'][self.ID][currApp]['2'] = None
|
self.env['commandBuffer']['bookMarks'][self.ID][currApp]['2'] = None
|
||||||
self.env['runtime']['outputManager'].presentText('Bookmark ' + self.ID + " set for application " + currApp, interrupt=True)
|
self.env['runtime']['outputManager'].presentText(_('Bookmark {0} set for application {1}').format(self.ID, currApp), interrupt=True)
|
||||||
self.env['commandBuffer']['Marks']['1'] = None
|
self.env['commandBuffer']['Marks']['1'] = None
|
||||||
self.env['commandBuffer']['Marks']['2'] = None
|
self.env['commandBuffer']['Marks']['2'] = None
|
||||||
def setCallback(self, callback):
|
def setCallback(self, callback):
|
||||||
|
@ -15,11 +15,11 @@ class command():
|
|||||||
def shutdown(self):
|
def shutdown(self):
|
||||||
pass
|
pass
|
||||||
def getDescription(self):
|
def getDescription(self):
|
||||||
return 'set Bookmark ' + self.ID
|
return _('set Bookmark {0}').format(self.ID,)
|
||||||
|
|
||||||
def run(self):
|
def run(self):
|
||||||
if not self.env['commandBuffer']['Marks']['1']:
|
if not self.env['commandBuffer']['Marks']['1']:
|
||||||
self.env['runtime']['outputManager'].presentText("No Mark found", interrupt=True)
|
self.env['runtime']['outputManager'].presentText(_("No Mark found"), interrupt=True)
|
||||||
return
|
return
|
||||||
currApp = self.env['runtime']['applicationManager'].getCurrentApplication()
|
currApp = self.env['runtime']['applicationManager'].getCurrentApplication()
|
||||||
self.env['commandBuffer']['bookMarks'][self.ID][currApp] = {}
|
self.env['commandBuffer']['bookMarks'][self.ID][currApp] = {}
|
||||||
@ -29,7 +29,7 @@ class command():
|
|||||||
self.env['commandBuffer']['bookMarks'][self.ID][currApp]['2'] = self.env['commandBuffer']['Marks']['2'].copy()
|
self.env['commandBuffer']['bookMarks'][self.ID][currApp]['2'] = self.env['commandBuffer']['Marks']['2'].copy()
|
||||||
else:
|
else:
|
||||||
self.env['commandBuffer']['bookMarks'][self.ID][currApp]['2'] = None
|
self.env['commandBuffer']['bookMarks'][self.ID][currApp]['2'] = None
|
||||||
self.env['runtime']['outputManager'].presentText('Bookmark ' + self.ID + " set for application " + currApp, interrupt=True)
|
self.env['runtime']['outputManager'].presentText(_('Bookmark {0} set for application {1}').format(self.ID, currApp), interrupt=True)
|
||||||
self.env['commandBuffer']['Marks']['1'] = None
|
self.env['commandBuffer']['Marks']['1'] = None
|
||||||
self.env['commandBuffer']['Marks']['2'] = None
|
self.env['commandBuffer']['Marks']['2'] = None
|
||||||
def setCallback(self, callback):
|
def setCallback(self, callback):
|
||||||
|
@ -15,11 +15,11 @@ class command():
|
|||||||
def shutdown(self):
|
def shutdown(self):
|
||||||
pass
|
pass
|
||||||
def getDescription(self):
|
def getDescription(self):
|
||||||
return 'set Bookmark ' + self.ID
|
return _('set Bookmark {0}').format(self.ID,)
|
||||||
|
|
||||||
def run(self):
|
def run(self):
|
||||||
if not self.env['commandBuffer']['Marks']['1']:
|
if not self.env['commandBuffer']['Marks']['1']:
|
||||||
self.env['runtime']['outputManager'].presentText("No Mark found", interrupt=True)
|
self.env['runtime']['outputManager'].presentText(_("No Mark found"), interrupt=True)
|
||||||
return
|
return
|
||||||
currApp = self.env['runtime']['applicationManager'].getCurrentApplication()
|
currApp = self.env['runtime']['applicationManager'].getCurrentApplication()
|
||||||
self.env['commandBuffer']['bookMarks'][self.ID][currApp] = {}
|
self.env['commandBuffer']['bookMarks'][self.ID][currApp] = {}
|
||||||
@ -29,7 +29,7 @@ class command():
|
|||||||
self.env['commandBuffer']['bookMarks'][self.ID][currApp]['2'] = self.env['commandBuffer']['Marks']['2'].copy()
|
self.env['commandBuffer']['bookMarks'][self.ID][currApp]['2'] = self.env['commandBuffer']['Marks']['2'].copy()
|
||||||
else:
|
else:
|
||||||
self.env['commandBuffer']['bookMarks'][self.ID][currApp]['2'] = None
|
self.env['commandBuffer']['bookMarks'][self.ID][currApp]['2'] = None
|
||||||
self.env['runtime']['outputManager'].presentText('Bookmark ' + self.ID + " set for application " + currApp, interrupt=True)
|
self.env['runtime']['outputManager'].presentText(_('Bookmark {0} set for application {1}').format(self.ID, currApp), interrupt=True)
|
||||||
self.env['commandBuffer']['Marks']['1'] = None
|
self.env['commandBuffer']['Marks']['1'] = None
|
||||||
self.env['commandBuffer']['Marks']['2'] = None
|
self.env['commandBuffer']['Marks']['2'] = None
|
||||||
def setCallback(self, callback):
|
def setCallback(self, callback):
|
||||||
|
@ -14,17 +14,17 @@ class command():
|
|||||||
def shutdown(self):
|
def shutdown(self):
|
||||||
pass
|
pass
|
||||||
def getDescription(self):
|
def getDescription(self):
|
||||||
return 'places marks to select text to copy to the clipboard'
|
return _('places marks to select text to copy to the clipboard')
|
||||||
|
|
||||||
def run(self):
|
def run(self):
|
||||||
if not self.env['runtime']['cursorManager'].isReviewMode():
|
if not self.env['runtime']['cursorManager'].isReviewMode():
|
||||||
self.env['runtime']['outputManager'].presentText('no review cursor', interrupt=True)
|
self.env['runtime']['outputManager'].presentText(_('no review cursor'), interrupt=True)
|
||||||
return
|
return
|
||||||
|
|
||||||
currMark = self.env['runtime']['cursorManager'].setMark()
|
currMark = self.env['runtime']['cursorManager'].setMark()
|
||||||
if currMark == 1:
|
if currMark == 1:
|
||||||
self.env['runtime']['outputManager'].presentText('set mark',soundIcon='PlaceStartMark', interrupt=True)
|
self.env['runtime']['outputManager'].presentText(_('set mark'), soundIcon='PlaceStartMark', interrupt=True)
|
||||||
elif currMark == 2:
|
elif currMark == 2:
|
||||||
self.env['runtime']['outputManager'].presentText('set mark',soundIcon='PlaceEndMark', interrupt=True)
|
self.env['runtime']['outputManager'].presentText(_('set mark'),soundIcon='PlaceEndMark', interrupt=True)
|
||||||
def setCallback(self, callback):
|
def setCallback(self, callback):
|
||||||
pass
|
pass
|
||||||
|
@ -14,15 +14,15 @@ class command():
|
|||||||
def shutdown(self):
|
def shutdown(self):
|
||||||
pass
|
pass
|
||||||
def getDescription(self):
|
def getDescription(self):
|
||||||
return 'set Window Mode, needs 2 marks '
|
return _('set Window Mode, needs 2 marks ')
|
||||||
|
|
||||||
def run(self):
|
def run(self):
|
||||||
if self.env['runtime']['cursorManager'].setWindowForApplication():
|
if self.env['runtime']['cursorManager'].setWindowForApplication():
|
||||||
currApp = self.env['runtime']['applicationManager'].getCurrentApplication()
|
currApp = self.env['runtime']['applicationManager'].getCurrentApplication()
|
||||||
self.env['runtime']['outputManager'].presentText('Window Mode on for application ' + currApp, interrupt=True)
|
self.env['runtime']['outputManager'].presentText(_('Window Mode on for application {0}').format(currApp), interrupt=True)
|
||||||
self.env['runtime']['cursorManager'].clearMarks()
|
self.env['runtime']['cursorManager'].clearMarks()
|
||||||
else:
|
else:
|
||||||
self.env['runtime']['outputManager'].presentText("Set window beginn and end marks", interrupt=True)
|
self.env['runtime']['outputManager'].presentText(_("Set window begin and end marks"), interrupt=True)
|
||||||
|
|
||||||
def setCallback(self, callback):
|
def setCallback(self, callback):
|
||||||
pass
|
pass
|
||||||
|
@ -14,7 +14,7 @@ class command():
|
|||||||
def shutdown(self):
|
def shutdown(self):
|
||||||
pass
|
pass
|
||||||
def getDescription(self):
|
def getDescription(self):
|
||||||
return 'interrupts the current presentation'
|
return _('interrupts the current presentation')
|
||||||
def run(self):
|
def run(self):
|
||||||
if len(self.env['input']['prevDeepestInput']) > len(self.env['input']['currInput']):
|
if len(self.env['input']['prevDeepestInput']) > len(self.env['input']['currInput']):
|
||||||
return
|
return
|
||||||
|
@ -23,17 +23,17 @@ class command():
|
|||||||
def shutdown(self):
|
def shutdown(self):
|
||||||
pass
|
pass
|
||||||
def getDescription(self):
|
def getDescription(self):
|
||||||
return 'checks the spelling of the current word'
|
return _('checks the spelling of the current word')
|
||||||
def updateSpellLanguage(self):
|
def updateSpellLanguage(self):
|
||||||
if not initialized:
|
if not initialized:
|
||||||
self.env['runtime']['outputManager'].presentText('pychant is not installed', interrupt=True)
|
self.env['runtime']['outputManager'].presentText(_('pyenchant is not installed'), interrupt=True)
|
||||||
return
|
return
|
||||||
self.spellChecker = enchant.Dict(self.env['runtime']['settingsManager'].getSetting('general', 'spellCheckLanguage'))
|
self.spellChecker = enchant.Dict(self.env['runtime']['settingsManager'].getSetting('general', 'spellCheckLanguage'))
|
||||||
self.language = self.env['runtime']['settingsManager'].getSetting('general', 'spellCheckLanguage')
|
self.language = self.env['runtime']['settingsManager'].getSetting('general', 'spellCheckLanguage')
|
||||||
|
|
||||||
def run(self):
|
def run(self):
|
||||||
if not initialized:
|
if not initialized:
|
||||||
self.env['runtime']['outputManager'].presentText('pychant is not installed', interrupt=True)
|
self.env['runtime']['outputManager'].presentText(_('pyenchant is not installed'), interrupt=True)
|
||||||
return
|
return
|
||||||
if self.env['runtime']['settingsManager'].getSetting('general', 'spellCheckLanguage') != self.language:
|
if self.env['runtime']['settingsManager'].getSetting('general', 'spellCheckLanguage') != self.language:
|
||||||
try:
|
try:
|
||||||
@ -49,8 +49,8 @@ class command():
|
|||||||
|
|
||||||
if not currWord.isspace():
|
if not currWord.isspace():
|
||||||
if not self.spellChecker.check(currWord):
|
if not self.spellChecker.check(currWord):
|
||||||
self.env['runtime']['outputManager'].presentText('misspelled',soundIcon='mispell', interrupt=True)
|
self.env['runtime']['outputManager'].presentText(_('misspelled'),soundIcon='mispell', interrupt=True)
|
||||||
elif not ignore:
|
elif not ignore:
|
||||||
self.env['runtime']['outputManager'].presentText('correct',soundIcon='', interrupt=True)
|
self.env['runtime']['outputManager'].presentText(_('correct'),soundIcon='', interrupt=True)
|
||||||
def setCallback(self, callback):
|
def setCallback(self, callback):
|
||||||
pass
|
pass
|
||||||
|
@ -18,16 +18,16 @@ class command():
|
|||||||
def shutdown(self):
|
def shutdown(self):
|
||||||
pass
|
pass
|
||||||
def getDescription(self):
|
def getDescription(self):
|
||||||
return 'script: ' + os.path.basename(self.scriptPath) + ' fullpath: '+ self.scriptPath
|
return _('script: {0} fullpath: {1}').format(os.path.basename(self.scriptPath), self.scriptPath)
|
||||||
def run(self):
|
def run(self):
|
||||||
if not os.path.exists(self.scriptPath):
|
if not os.path.exists(self.scriptPath):
|
||||||
self.env['runtime']['outputManager'].presentText('scriptfile does not exist' , soundIcon='', interrupt=False)
|
self.env['runtime']['outputManager'].presentText(_('scriptfile does not exist'), soundIcon='', interrupt=False)
|
||||||
return
|
return
|
||||||
if not os.path.isfile(self.scriptPath):
|
if not os.path.isfile(self.scriptPath):
|
||||||
self.env['runtime']['outputManager'].presentText('scriptfile is not a file' , soundIcon='', interrupt=False)
|
self.env['runtime']['outputManager'].presentText(_('scriptfile is not a file'), soundIcon='', interrupt=False)
|
||||||
return
|
return
|
||||||
if not os.access(self.scriptPath, os.X_OK):
|
if not os.access(self.scriptPath, os.X_OK):
|
||||||
self.env['runtime']['outputManager'].presentText('scriptfile is not executable' , soundIcon='', interrupt=False)
|
self.env['runtime']['outputManager'].presentText(_('scriptfile is not executable'), soundIcon='', interrupt=False)
|
||||||
return
|
return
|
||||||
_thread.start_new_thread(self._threadRun , ())
|
_thread.start_new_thread(self._threadRun , ())
|
||||||
|
|
||||||
|
@ -14,11 +14,11 @@ class command():
|
|||||||
def shutdown(self):
|
def shutdown(self):
|
||||||
pass
|
pass
|
||||||
def getDescription(self):
|
def getDescription(self):
|
||||||
return 'disables speech until next keypress'
|
return _('disables speech until next keypress')
|
||||||
|
|
||||||
def run(self):
|
def run(self):
|
||||||
if self.env['runtime']['settingsManager'].getSettingAsBool('speech', 'enabled'):
|
if self.env['runtime']['settingsManager'].getSettingAsBool('speech', 'enabled'):
|
||||||
self.env['runtime']['outputManager'].presentText("speech temporary disabled", soundIcon='SpeechOff', interrupt=True)
|
self.env['runtime']['outputManager'].presentText(_("speech temporary disabled"), soundIcon='SpeechOff', interrupt=True)
|
||||||
self.env['commandBuffer']['enableSpeechOnKeypress'] = True
|
self.env['commandBuffer']['enableSpeechOnKeypress'] = True
|
||||||
self.env['runtime']['settingsManager'].setSetting('speech', 'enabled', str(not self.env['runtime']['settingsManager'].getSettingAsBool('speech', 'enabled')))
|
self.env['runtime']['settingsManager'].setSetting('speech', 'enabled', str(not self.env['runtime']['settingsManager'].getSettingAsBool('speech', 'enabled')))
|
||||||
self.env['runtime']['outputManager'].interruptOutput()
|
self.env['runtime']['outputManager'].interruptOutput()
|
||||||
|
@ -15,7 +15,7 @@ class command():
|
|||||||
def shutdown(self):
|
def shutdown(self):
|
||||||
pass
|
pass
|
||||||
def getDescription(self):
|
def getDescription(self):
|
||||||
return 'presents the time'
|
return _('presents the time')
|
||||||
|
|
||||||
def run(self):
|
def run(self):
|
||||||
timeFormat = self.env['runtime']['settingsManager'].getSetting('general', 'timeFormat')
|
timeFormat = self.env['runtime']['settingsManager'].getSetting('general', 'timeFormat')
|
||||||
|
@ -13,14 +13,14 @@ class command():
|
|||||||
def shutdown(self):
|
def shutdown(self):
|
||||||
pass
|
pass
|
||||||
def getDescription(self):
|
def getDescription(self):
|
||||||
return 'enables or disables automatic reading of new text as it appears'
|
return _('enables or disables automatic reading of new text as it appears')
|
||||||
|
|
||||||
def run(self):
|
def run(self):
|
||||||
self.env['runtime']['settingsManager'].setSetting('speech', 'autoReadIncoming', str(not self.env['runtime']['settingsManager'].getSettingAsBool('speech', 'autoReadIncoming')))
|
self.env['runtime']['settingsManager'].setSetting('speech', 'autoReadIncoming', str(not self.env['runtime']['settingsManager'].getSettingAsBool('speech', 'autoReadIncoming')))
|
||||||
if self.env['runtime']['settingsManager'].getSettingAsBool('speech', 'autoReadIncoming'):
|
if self.env['runtime']['settingsManager'].getSettingAsBool('speech', 'autoReadIncoming'):
|
||||||
self.env['runtime']['outputManager'].presentText("autoread enabled", soundIcon='', interrupt=True)
|
self.env['runtime']['outputManager'].presentText(_("autoread enabled"), soundIcon='', interrupt=True)
|
||||||
else:
|
else:
|
||||||
self.env['runtime']['outputManager'].presentText("autoread disabled", soundIcon='', interrupt=True)
|
self.env['runtime']['outputManager'].presentText(_("autoread disabled"), soundIcon='', interrupt=True)
|
||||||
|
|
||||||
def setCallback(self, callback):
|
def setCallback(self, callback):
|
||||||
pass
|
pass
|
||||||
|
@ -14,14 +14,14 @@ class command():
|
|||||||
def shutdown(self):
|
def shutdown(self):
|
||||||
pass
|
pass
|
||||||
def getDescription(self):
|
def getDescription(self):
|
||||||
return 'enables or disables automatic spell checking'
|
return _('enables or disables automatic spell checking')
|
||||||
|
|
||||||
def run(self):
|
def run(self):
|
||||||
self.env['runtime']['settingsManager'].setSetting('general', 'autoSpellCheck', str(not self.env['runtime']['settingsManager'].getSettingAsBool('general', 'autoSpellCheck')))
|
self.env['runtime']['settingsManager'].setSetting('general', 'autoSpellCheck', str(not self.env['runtime']['settingsManager'].getSettingAsBool('general', 'autoSpellCheck')))
|
||||||
if self.env['runtime']['settingsManager'].getSettingAsBool('general', 'autoSpellCheck'):
|
if self.env['runtime']['settingsManager'].getSettingAsBool('general', 'autoSpellCheck'):
|
||||||
self.env['runtime']['outputManager'].presentText("auto spellcheck enabled", soundIcon='', interrupt=True)
|
self.env['runtime']['outputManager'].presentText(_("auto spellcheck enabled"), soundIcon='', interrupt=True)
|
||||||
else:
|
else:
|
||||||
self.env['runtime']['outputManager'].presentText("auto spellcheck disabled", soundIcon='', interrupt=True)
|
self.env['runtime']['outputManager'].presentText(_("auto spellcheck disabled"), soundIcon='', interrupt=True)
|
||||||
|
|
||||||
def setCallback(self, callback):
|
def setCallback(self, callback):
|
||||||
pass
|
pass
|
||||||
|
@ -13,14 +13,14 @@ class command():
|
|||||||
def shutdown(self):
|
def shutdown(self):
|
||||||
pass
|
pass
|
||||||
def getDescription(self):
|
def getDescription(self):
|
||||||
return 'enables or disables automatic reading of time after an period'
|
return _('enables or disables automatic reading of time after an period')
|
||||||
|
|
||||||
def run(self):
|
def run(self):
|
||||||
self.env['runtime']['settingsManager'].setSetting('time', 'enabled', str(not self.env['runtime']['settingsManager'].getSettingAsBool('time', 'enabled')))
|
self.env['runtime']['settingsManager'].setSetting('time', 'enabled', str(not self.env['runtime']['settingsManager'].getSettingAsBool('time', 'enabled')))
|
||||||
if self.env['runtime']['settingsManager'].getSettingAsBool('time', 'enabled'):
|
if self.env['runtime']['settingsManager'].getSettingAsBool('time', 'enabled'):
|
||||||
self.env['runtime']['outputManager'].presentText("autotime enabled", soundIcon='', interrupt=True)
|
self.env['runtime']['outputManager'].presentText(_("autotime enabled"), soundIcon='', interrupt=True)
|
||||||
else:
|
else:
|
||||||
self.env['runtime']['outputManager'].presentText("autotime disabled", soundIcon='', interrupt=True)
|
self.env['runtime']['outputManager'].presentText(_("autotime disabled"), soundIcon='', interrupt=True)
|
||||||
|
|
||||||
def setCallback(self, callback):
|
def setCallback(self, callback):
|
||||||
pass
|
pass
|
||||||
|
@ -14,7 +14,7 @@ class command():
|
|||||||
def shutdown(self):
|
def shutdown(self):
|
||||||
pass
|
pass
|
||||||
def getDescription(self):
|
def getDescription(self):
|
||||||
return 'disables speech until next keypress'
|
return _('disables speech until next keypress')
|
||||||
|
|
||||||
def run(self):
|
def run(self):
|
||||||
if self.env['runtime']['inputManager'].noKeyPressed():
|
if self.env['runtime']['inputManager'].noKeyPressed():
|
||||||
@ -25,7 +25,7 @@ class command():
|
|||||||
return
|
return
|
||||||
self.env['runtime']['settingsManager'].setSetting('speech', 'enabled', str(self.env['commandBuffer']['enableSpeechOnKeypress']))
|
self.env['runtime']['settingsManager'].setSetting('speech', 'enabled', str(self.env['commandBuffer']['enableSpeechOnKeypress']))
|
||||||
self.env['commandBuffer']['enableSpeechOnKeypress'] = False
|
self.env['commandBuffer']['enableSpeechOnKeypress'] = False
|
||||||
self.env['runtime']['outputManager'].presentText("speech enabled", soundIcon='SpeechOn', interrupt=True)
|
self.env['runtime']['outputManager'].presentText(_("speech enabled"), soundIcon='SpeechOn', interrupt=True)
|
||||||
|
|
||||||
def setCallback(self, callback):
|
def setCallback(self, callback):
|
||||||
pass
|
pass
|
||||||
|
@ -35,7 +35,7 @@ class command():
|
|||||||
x, y, currLine = line_utils.getCurrentLine(self.env['screenData']['newCursor']['x'], self.env['screenData']['newCursor']['y'], self.env['screenData']['newContentText'])
|
x, y, currLine = line_utils.getCurrentLine(self.env['screenData']['newCursor']['x'], self.env['screenData']['newCursor']['y'], self.env['screenData']['newContentText'])
|
||||||
|
|
||||||
if currLine.isspace():
|
if currLine.isspace():
|
||||||
self.env['runtime']['outputManager'].presentText("blank", soundIcon='EmptyLine', interrupt=True, flush=False)
|
self.env['runtime']['outputManager'].presentText(_("blank"), soundIcon='EmptyLine', interrupt=True, flush=False)
|
||||||
else:
|
else:
|
||||||
self.env['runtime']['outputManager'].presentText(currLine, interrupt=True, flush=False)
|
self.env['runtime']['outputManager'].presentText(currLine, interrupt=True, flush=False)
|
||||||
|
|
||||||
|
@ -13,7 +13,7 @@ class command():
|
|||||||
def shutdown(self):
|
def shutdown(self):
|
||||||
pass
|
pass
|
||||||
def getDescription(self):
|
def getDescription(self):
|
||||||
return 'enables or disables tracking of highlighted'
|
return _('enables or disables tracking of highlighted')
|
||||||
|
|
||||||
def run(self):
|
def run(self):
|
||||||
if not self.env['runtime']['settingsManager'].getSettingAsBool('focus', 'highlight'):
|
if not self.env['runtime']['settingsManager'].getSettingAsBool('focus', 'highlight'):
|
||||||
|
@ -129,7 +129,7 @@ class command():
|
|||||||
pass
|
pass
|
||||||
|
|
||||||
if not self.spellChecker.check(currWord):
|
if not self.spellChecker.check(currWord):
|
||||||
self.env['runtime']['outputManager'].presentText('misspelled',soundIcon='mispell', interrupt=False, flush=False)
|
self.env['runtime']['outputManager'].presentText(_('misspelled'), soundIcon='mispell', interrupt=False, flush=False)
|
||||||
|
|
||||||
def setCallback(self, callback):
|
def setCallback(self, callback):
|
||||||
pass
|
pass
|
||||||
|
@ -47,7 +47,7 @@ class command():
|
|||||||
announce = currLine
|
announce = currLine
|
||||||
|
|
||||||
if currLine.isspace():
|
if currLine.isspace():
|
||||||
self.env['runtime']['outputManager'].presentText("blank", soundIcon='EmptyLine', interrupt=True, flush=False)
|
self.env['runtime']['outputManager'].presentText(_("blank"), soundIcon='EmptyLine', interrupt=True, flush=False)
|
||||||
else:
|
else:
|
||||||
self.env['runtime']['outputManager'].presentText(announce, interrupt=True, flush=False)
|
self.env['runtime']['outputManager'].presentText(announce, interrupt=True, flush=False)
|
||||||
self.env['commandsIgnore']['onScreenUpdate']['CHAR_DELETE_ECHO'] = True
|
self.env['commandsIgnore']['onScreenUpdate']['CHAR_DELETE_ECHO'] = True
|
||||||
|
@ -19,9 +19,9 @@ class command():
|
|||||||
if self.env['input']['oldCapsLock'] == self.env['input']['newCapsLock']:
|
if self.env['input']['oldCapsLock'] == self.env['input']['newCapsLock']:
|
||||||
return
|
return
|
||||||
if self.env['input']['newCapsLock']:
|
if self.env['input']['newCapsLock']:
|
||||||
self.env['runtime']['outputManager'].presentText("Capslock on", interrupt=True)
|
self.env['runtime']['outputManager'].presentText(_("Capslock on"), interrupt=True)
|
||||||
else:
|
else:
|
||||||
self.env['runtime']['outputManager'].presentText("Capslock off", interrupt=True)
|
self.env['runtime']['outputManager'].presentText(_("Capslock off"), interrupt=True)
|
||||||
|
|
||||||
def setCallback(self, callback):
|
def setCallback(self, callback):
|
||||||
pass
|
pass
|
||||||
|
@ -19,9 +19,9 @@ class command():
|
|||||||
if self.env['input']['oldScrollLock'] == self.env['input']['newScrollLock']:
|
if self.env['input']['oldScrollLock'] == self.env['input']['newScrollLock']:
|
||||||
return
|
return
|
||||||
if self.env['input']['newScrollLock']:
|
if self.env['input']['newScrollLock']:
|
||||||
self.env['runtime']['outputManager'].presentText("Scrolllock on", interrupt=True)
|
self.env['runtime']['outputManager'].presentText(_("Scrolllock on"), interrupt=True)
|
||||||
else:
|
else:
|
||||||
self.env['runtime']['outputManager'].presentText("Scrolllock off", interrupt=True)
|
self.env['runtime']['outputManager'].presentText(_("Scrolllock off"), interrupt=True)
|
||||||
|
|
||||||
def setCallback(self, callback):
|
def setCallback(self, callback):
|
||||||
pass
|
pass
|
||||||
|
@ -19,9 +19,9 @@ class command():
|
|||||||
if self.env['input']['oldNumLock'] == self.env['input']['newNumLock']:
|
if self.env['input']['oldNumLock'] == self.env['input']['newNumLock']:
|
||||||
return
|
return
|
||||||
if self.env['input']['newNumLock']:
|
if self.env['input']['newNumLock']:
|
||||||
self.env['runtime']['outputManager'].presentText("Numlock on", interrupt=True)
|
self.env['runtime']['outputManager'].presentText(_("Numlock on"), interrupt=True)
|
||||||
else:
|
else:
|
||||||
self.env['runtime']['outputManager'].presentText("Numlock off", interrupt=True)
|
self.env['runtime']['outputManager'].presentText(_("Numlock off"), interrupt=True)
|
||||||
|
|
||||||
def setCallback(self, callback):
|
def setCallback(self, callback):
|
||||||
pass
|
pass
|
||||||
|
@ -17,7 +17,7 @@ class command():
|
|||||||
return 'No Description found'
|
return 'No Description found'
|
||||||
|
|
||||||
def run(self):
|
def run(self):
|
||||||
self.env['runtime']['outputManager'].presentText("screen " + str(self.env['screenData']['newTTY']),soundIcon='ChangeTTY', interrupt=True, flush=False)
|
self.env['runtime']['outputManager'].presentText(_("screen {0}").format(self.env['screenData']['newTTY']),soundIcon='ChangeTTY', interrupt=True, flush=False)
|
||||||
self.env['runtime']['outputManager'].presentText(self.env['screenData']['newContentText'], interrupt=False, flush=False)
|
self.env['runtime']['outputManager'].presentText(self.env['screenData']['newContentText'], interrupt=False, flush=False)
|
||||||
|
|
||||||
def setCallback(self, callback):
|
def setCallback(self, callback):
|
||||||
|
@ -63,7 +63,7 @@ class command():
|
|||||||
|
|
||||||
if presentTime:
|
if presentTime:
|
||||||
# present the time
|
# present the time
|
||||||
self.env['runtime']['outputManager'].presentText('Autotime: ' + timeString , soundIcon='', interrupt=False)
|
self.env['runtime']['outputManager'].presentText(_('Autotime: {0}').format(timeString), soundIcon='', interrupt=False)
|
||||||
# and date if changes
|
# and date if changes
|
||||||
if presentDate:
|
if presentDate:
|
||||||
self.env['runtime']['outputManager'].presentText(dateString , soundIcon='', interrupt=False)
|
self.env['runtime']['outputManager'].presentText(dateString , soundIcon='', interrupt=False)
|
||||||
|
@ -15,38 +15,17 @@ class commandManager():
|
|||||||
def initialize(self, environment):
|
def initialize(self, environment):
|
||||||
self.env = environment
|
self.env = environment
|
||||||
# commands
|
# commands
|
||||||
self.env['runtime']['commandManager'].loadCommands('commands',
|
for commandFolder in self.env['generalInformation']['commandFolderList']:
|
||||||
self.env['runtime']['settingsManager'].getSetting('general', 'commandPath'))
|
self.env['runtime']['commandManager'].loadCommands(commandFolder,
|
||||||
self.env['runtime']['commandManager'].loadCommands('commands')
|
self.env['runtime']['settingsManager'].getSetting('general', 'commandPath'))
|
||||||
# onInput
|
self.env['runtime']['commandManager'].loadCommands(commandFolder)
|
||||||
self.env['runtime']['commandManager'].loadCommands('onInput',
|
|
||||||
self.env['runtime']['settingsManager'].getSetting('general', 'commandPath'))
|
|
||||||
self.env['runtime']['commandManager'].loadCommands('onInput')
|
|
||||||
# onScreenUpdate
|
|
||||||
self.env['runtime']['commandManager'].loadCommands('onScreenUpdate',
|
|
||||||
self.env['runtime']['settingsManager'].getSetting('general', 'commandPath'))
|
|
||||||
self.env['runtime']['commandManager'].loadCommands('onScreenUpdate')
|
|
||||||
# onScreenChanged
|
|
||||||
self.env['runtime']['commandManager'].loadCommands('onScreenChanged',
|
|
||||||
self.env['runtime']['settingsManager'].getSetting('general', 'commandPath'))
|
|
||||||
self.env['runtime']['commandManager'].loadCommands('onScreenChanged')
|
|
||||||
# onApplicationChange
|
|
||||||
self.env['runtime']['commandManager'].loadCommands('onApplicationChange',
|
|
||||||
self.env['runtime']['settingsManager'].getSetting('general', 'commandPath'))
|
|
||||||
self.env['runtime']['commandManager'].loadCommands('onApplicationChange')
|
|
||||||
# onSwitchApplicationProfile
|
|
||||||
self.env['runtime']['commandManager'].loadCommands('onSwitchApplicationProfile',
|
|
||||||
self.env['runtime']['settingsManager'].getSetting('general', 'commandPath'))
|
|
||||||
self.env['runtime']['commandManager'].loadCommands('onSwitchApplicationProfile')
|
|
||||||
# scripts for scriptKey
|
# scripts for scriptKey
|
||||||
self.env['runtime']['commandManager'].loadScriptCommands()
|
self.env['runtime']['commandManager'].loadScriptCommands()
|
||||||
|
|
||||||
def shutdown(self):
|
def shutdown(self):
|
||||||
self.env['runtime']['commandManager'].shutdownCommands('commands')
|
for commandFolder in self.env['generalInformation']['commandFolderList']:
|
||||||
self.env['runtime']['commandManager'].shutdownCommands('onInput')
|
self.env['runtime']['commandManager'].shutdownCommands(commandFolder)
|
||||||
self.env['runtime']['commandManager'].shutdownCommands('onScreenUpdate')
|
|
||||||
self.env['runtime']['commandManager'].shutdownCommands('onScreenChanged')
|
|
||||||
self.env['runtime']['commandManager'].shutdownCommands('onApplicationChange')
|
|
||||||
self.env['runtime']['commandManager'].shutdownCommands('onSwitchApplicationProfile')
|
|
||||||
|
|
||||||
def loadCommands(self, section='commands',commandPath=''):
|
def loadCommands(self, section='commands',commandPath=''):
|
||||||
if commandPath =='':
|
if commandPath =='':
|
||||||
|
@ -11,4 +11,8 @@ generalInformation = {
|
|||||||
'tutorialMode': False,
|
'tutorialMode': False,
|
||||||
'currUser':'',
|
'currUser':'',
|
||||||
'prevUser':'',
|
'prevUser':'',
|
||||||
|
'managerList':['punctuationManager','cursorManager','applicationManager','commandManager'
|
||||||
|
,'screenManager','inputManager','outputManager','debug'],
|
||||||
|
'commandFolderList':['commands','onInput','onScreenUpdate','onScreenChanged'
|
||||||
|
,'onApplicationChange','onSwitchApplicationProfile',],
|
||||||
}
|
}
|
||||||
|
@ -21,7 +21,7 @@ class fenrir():
|
|||||||
raise RuntimeError('Cannot Initialize. Maybe the configfile is not available or not parseable')
|
raise RuntimeError('Cannot Initialize. Maybe the configfile is not available or not parseable')
|
||||||
except RuntimeError:
|
except RuntimeError:
|
||||||
raise
|
raise
|
||||||
self.environment['runtime']['outputManager'].presentText("Start Fenrir", soundIcon='ScreenReaderOn', interrupt=True)
|
self.environment['runtime']['outputManager'].presentText(_("Start Fenrir"), soundIcon='ScreenReaderOn', interrupt=True)
|
||||||
signal.signal(signal.SIGINT, self.captureSignal)
|
signal.signal(signal.SIGINT, self.captureSignal)
|
||||||
signal.signal(signal.SIGTERM, self.captureSignal)
|
signal.signal(signal.SIGTERM, self.captureSignal)
|
||||||
self.wasCommand = False
|
self.wasCommand = False
|
||||||
@ -35,8 +35,8 @@ class fenrir():
|
|||||||
self.shutdown()
|
self.shutdown()
|
||||||
|
|
||||||
def handleProcess(self):
|
def handleProcess(self):
|
||||||
#startTime = time.time()
|
|
||||||
eventReceived = self.environment['runtime']['inputManager'].getInputEvent()
|
eventReceived = self.environment['runtime']['inputManager'].getInputEvent()
|
||||||
|
startTime = time.time()
|
||||||
if eventReceived:
|
if eventReceived:
|
||||||
self.prepareCommand()
|
self.prepareCommand()
|
||||||
if not (self.wasCommand or self.environment['generalInformation']['tutorialMode']) or self.environment['runtime']['screenManager'].isSuspendingScreen():
|
if not (self.wasCommand or self.environment['generalInformation']['tutorialMode']) or self.environment['runtime']['screenManager'].isSuspendingScreen():
|
||||||
@ -65,7 +65,7 @@ class fenrir():
|
|||||||
self.environment['runtime']['commandManager'].executeDefaultTrigger('onScreenUpdate')
|
self.environment['runtime']['commandManager'].executeDefaultTrigger('onScreenUpdate')
|
||||||
#self.environment['runtime']['outputManager'].brailleText(flush=False)
|
#self.environment['runtime']['outputManager'].brailleText(flush=False)
|
||||||
self.handleCommands()
|
self.handleCommands()
|
||||||
#print(time.time()-startTime)
|
print(time.time()-startTime)
|
||||||
|
|
||||||
def prepareCommand(self):
|
def prepareCommand(self):
|
||||||
if self.environment['runtime']['screenManager'].isSuspendingScreen():
|
if self.environment['runtime']['screenManager'].isSuspendingScreen():
|
||||||
@ -84,7 +84,6 @@ class fenrir():
|
|||||||
|
|
||||||
self.environment['runtime']['commandManager'].queueCommand(command)
|
self.environment['runtime']['commandManager'].queueCommand(command)
|
||||||
|
|
||||||
|
|
||||||
def handleCommands(self):
|
def handleCommands(self):
|
||||||
if not self.environment['runtime']['commandManager'].isCommandQueued():
|
if not self.environment['runtime']['commandManager'].isCommandQueued():
|
||||||
return
|
return
|
||||||
@ -97,35 +96,11 @@ class fenrir():
|
|||||||
self.shutdownRequest()
|
self.shutdownRequest()
|
||||||
|
|
||||||
def shutdown(self):
|
def shutdown(self):
|
||||||
if self.environment['runtime']['inputManager']:
|
self.environment['runtime']['outputManager'].presentText(_("Quit Fenrir"), soundIcon='ScreenReaderOff', interrupt=True)
|
||||||
self.environment['runtime']['inputManager'].shutdown()
|
for currManager in self.environment['generalInformation']['managerList']:
|
||||||
del self.environment['runtime']['inputManager']
|
if self.environment['runtime'][currManager]:
|
||||||
self.environment['runtime']['outputManager'].presentText("Quit Fenrir", soundIcon='ScreenReaderOff', interrupt=True)
|
self.environment['runtime'][currManager].shutdown()
|
||||||
time.sleep(0.9) # wait a little for sound
|
del self.environment['runtime'][currManager]
|
||||||
|
|
||||||
if self.environment['runtime']['screenManager']:
|
|
||||||
self.environment['runtime']['screenManager'].shutdown()
|
|
||||||
del self.environment['runtime']['screenManager']
|
|
||||||
if self.environment['runtime']['commandManager']:
|
|
||||||
self.environment['runtime']['commandManager'].shutdown()
|
|
||||||
del self.environment['runtime']['commandManager']
|
|
||||||
if self.environment['runtime']['outputManager']:
|
|
||||||
self.environment['runtime']['outputManager'].shutdown()
|
|
||||||
del self.environment['runtime']['outputManager']
|
|
||||||
if self.environment['runtime']['punctuationManager']:
|
|
||||||
self.environment['runtime']['punctuationManager'].shutdown()
|
|
||||||
del self.environment['runtime']['punctuationManager']
|
|
||||||
if self.environment['runtime']['cursorManager']:
|
|
||||||
self.environment['runtime']['cursorManager'].shutdown()
|
|
||||||
del self.environment['runtime']['cursorManager']
|
|
||||||
if self.environment['runtime']['applicationManager']:
|
|
||||||
self.environment['runtime']['applicationManager'].shutdown()
|
|
||||||
del self.environment['runtime']['applicationManager']
|
|
||||||
|
|
||||||
if self.environment['runtime']['debug']:
|
|
||||||
self.environment['runtime']['debug'].shutdown()
|
|
||||||
del self.environment['runtime']['debug']
|
|
||||||
time.sleep(0.2) # wait a little before splatter it :)
|
|
||||||
self.environment = None
|
self.environment = None
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
|
@ -22,7 +22,6 @@ class driver():
|
|||||||
def __init__(self):
|
def __init__(self):
|
||||||
self.iDevices = {}
|
self.iDevices = {}
|
||||||
self.uDevices = {}
|
self.uDevices = {}
|
||||||
self.ledDevices = {}
|
|
||||||
self._initialized = False
|
self._initialized = False
|
||||||
|
|
||||||
def initialize(self, environment):
|
def initialize(self, environment):
|
||||||
@ -36,21 +35,24 @@ class driver():
|
|||||||
self.getInputDevices()
|
self.getInputDevices()
|
||||||
|
|
||||||
def shutdown(self):
|
def shutdown(self):
|
||||||
pass
|
|
||||||
def getInputEvent(self):
|
|
||||||
if not self._initialized:
|
if not self._initialized:
|
||||||
time.sleep(0.005) # dont flood CPU
|
return
|
||||||
return None
|
def getInputEvent(self):
|
||||||
if not self.iDevices:
|
|
||||||
return None
|
|
||||||
if self.iDevices == {}:
|
|
||||||
return None
|
|
||||||
|
|
||||||
|
if not self.hasIDevices():
|
||||||
|
time.sleep(0.008) # dont flood CPU
|
||||||
|
return None
|
||||||
|
|
||||||
event = None
|
event = None
|
||||||
r, w, x = select(self.iDevices, [], [], self.env['runtime']['settingsManager'].getSettingAsFloat('screen', 'screenUpdateDelay'))
|
r, w, x = select(self.iDevices, [], [], self.env['runtime']['settingsManager'].getSettingAsFloat('screen', 'screenUpdateDelay'))
|
||||||
if r != []:
|
if r != []:
|
||||||
for fd in r:
|
for fd in r:
|
||||||
event = self.iDevices[fd].read_one()
|
try:
|
||||||
|
event = self.iDevices[fd].read_one()
|
||||||
|
except:
|
||||||
|
#print('jow')
|
||||||
|
self.removeDevice(fd)
|
||||||
|
return None
|
||||||
foreward = False
|
foreward = False
|
||||||
while(event):
|
while(event):
|
||||||
self.env['input']['eventBuffer'].append( [self.iDevices[fd], self.uDevices[fd], event])
|
self.env['input']['eventBuffer'].append( [self.iDevices[fd], self.uDevices[fd], event])
|
||||||
@ -107,21 +109,17 @@ class driver():
|
|||||||
except Exception as e:
|
except Exception as e:
|
||||||
self.env['runtime']['debug'].writeDebugOut("Skip Inputdevice : " + dev +' ' + str(e),debug.debugLevel.ERROR)
|
self.env['runtime']['debug'].writeDebugOut("Skip Inputdevice : " + dev +' ' + str(e),debug.debugLevel.ERROR)
|
||||||
self.iDevices = map(evdev.InputDevice, (readableDevices))
|
self.iDevices = map(evdev.InputDevice, (readableDevices))
|
||||||
self.ledDevices = map(evdev.InputDevice, (readableDevices))
|
|
||||||
# 3 pos absolute
|
# 3 pos absolute
|
||||||
# 2 pos relative
|
# 2 pos relative
|
||||||
# 17 LEDs
|
|
||||||
# 1 Keys
|
# 1 Keys
|
||||||
# we try to filter out mices and other stuff here
|
# we try to filter out mices and other stuff here
|
||||||
if self.env['runtime']['settingsManager'].getSetting('keyboard', 'device').upper() == 'ALL':
|
if self.env['runtime']['settingsManager'].getSetting('keyboard', 'device').upper() == 'ALL':
|
||||||
self.iDevices = {dev.fd: dev for dev in self.iDevices if 1 in dev.capabilities()}
|
self.iDevices = {dev.fd: dev for dev in self.iDevices if 1 in dev.capabilities()}
|
||||||
self.ledDevices = {dev.fd: dev for dev in self.ledDevices if 1 in dev.capabilities() and 17 in dev.capabilities()}
|
|
||||||
elif self.env['runtime']['settingsManager'].getSetting('keyboard', 'device').upper() == 'NOMICE':
|
elif self.env['runtime']['settingsManager'].getSetting('keyboard', 'device').upper() == 'NOMICE':
|
||||||
self.iDevices = {dev.fd: dev for dev in self.iDevices if 1 in dev.capabilities() and not 3 in dev.capabilities() and not 2 in dev.capabilities()}
|
self.iDevices = {dev.fd: dev for dev in self.iDevices if 1 in dev.capabilities() and not 3 in dev.capabilities() and not 2 in dev.capabilities()}
|
||||||
self.ledDevices = {dev.fd: dev for dev in self.ledDevices if 1 in dev.capabilities() and 17 in dev.capabilities() and not 3 in dev.capabilities() and not 2 in dev.capabilities()}
|
|
||||||
else:
|
else:
|
||||||
self.iDevices = {dev.fd: dev for dev in self.iDevices if dev.name.upper() in self.env['runtime']['settingsManager'].getSetting('keyboard', 'device').upper().split(',')}
|
self.iDevices = {dev.fd: dev for dev in self.iDevices if dev.name.upper() in self.env['runtime']['settingsManager'].getSetting('keyboard', 'device').upper().split(',')}
|
||||||
self.ledDevices = {dev.fd: dev for dev in self.ledDevices if dev.name.upper() in self.env['runtime']['settingsManager'].getSetting('keyboard', 'device').upper().split(',')}
|
|
||||||
|
|
||||||
def mapEvent(self, event):
|
def mapEvent(self, event):
|
||||||
if not self._initialized:
|
if not self._initialized:
|
||||||
@ -140,30 +138,29 @@ class driver():
|
|||||||
return None
|
return None
|
||||||
|
|
||||||
def getLedState(self, led = 0):
|
def getLedState(self, led = 0):
|
||||||
if not self._initialized:
|
if not self.hasIDevices():
|
||||||
return None
|
return False
|
||||||
# 0 = Numlock
|
# 0 = Numlock
|
||||||
# 1 = Capslock
|
# 1 = Capslock
|
||||||
# 2 = Rollen
|
# 2 = Rollen
|
||||||
if self.ledDevices == None:
|
for fd, dev in self.iDevices.items():
|
||||||
return False
|
if led in dev.leds():
|
||||||
if self.ledDevices == {}:
|
return True
|
||||||
return False
|
|
||||||
for fd, dev in self.ledDevices.items():
|
|
||||||
return led in dev.leds()
|
|
||||||
return False
|
return False
|
||||||
def toggleLedState(self, led = 0):
|
def toggleLedState(self, led = 0):
|
||||||
if not self._initialized:
|
if not self.hasIDevices():
|
||||||
return None
|
return False
|
||||||
ledState = self.getLedState(led)
|
ledState = self.getLedState(led)
|
||||||
for i in self.ledDevices:
|
for i in self.iDevices:
|
||||||
if ledState == 1:
|
# 17 LEDs
|
||||||
self.ledDevices[i].set_led(led , 0)
|
if 17 in self.iDevices[i].capabilities():
|
||||||
else:
|
if ledState == 1:
|
||||||
self.ledDevices[i].set_led(led , 1)
|
self.iDevices[i].set_led(led , 0)
|
||||||
|
else:
|
||||||
|
self.iDevices[i].set_led(led , 1)
|
||||||
def grabDevices(self):
|
def grabDevices(self):
|
||||||
if not self._initialized:
|
if not self._initialized:
|
||||||
return None
|
return
|
||||||
for fd in self.iDevices:
|
for fd in self.iDevices:
|
||||||
try:
|
try:
|
||||||
self.uDevices[fd] = UInput.from_device(self.iDevices[fd].fn)
|
self.uDevices[fd] = UInput.from_device(self.iDevices[fd].fn)
|
||||||
@ -199,30 +196,47 @@ class driver():
|
|||||||
# #'/dev/uinput'
|
# #'/dev/uinput'
|
||||||
# )
|
# )
|
||||||
# dev.grab()
|
# dev.grab()
|
||||||
|
def removeDevice(self,fd):
|
||||||
def releaseDevices(self):
|
try:
|
||||||
|
self.iDevices[fd].ungrab()
|
||||||
|
except:
|
||||||
|
pass
|
||||||
|
try:
|
||||||
|
self.iDevices[fd].close()
|
||||||
|
except:
|
||||||
|
pass
|
||||||
|
try:
|
||||||
|
self.uDevices[fd].close()
|
||||||
|
except:
|
||||||
|
pass
|
||||||
|
try:
|
||||||
|
del(self.iDevices[fd])
|
||||||
|
except:
|
||||||
|
pass
|
||||||
|
try:
|
||||||
|
del(self.uDevices[fd])
|
||||||
|
except:
|
||||||
|
pass
|
||||||
|
def hasIDevices(self):
|
||||||
if not self._initialized:
|
if not self._initialized:
|
||||||
return None
|
return False
|
||||||
for fd in self.iDevices:
|
if not self.iDevices:
|
||||||
try:
|
return False
|
||||||
self.iDevices[fd].ungrab()
|
if len(self.iDevices) == 0:
|
||||||
except:
|
return False
|
||||||
pass
|
return True
|
||||||
try:
|
|
||||||
self.iDevices[fd].close()
|
def releaseDevices(self):
|
||||||
except:
|
if not self.hasIDevices():
|
||||||
pass
|
return
|
||||||
try:
|
devices = self.iDevices.copy()
|
||||||
self.uDevices[fd].close()
|
for fd in devices:
|
||||||
except:
|
self.removeDevice(fd)
|
||||||
pass
|
|
||||||
|
|
||||||
self.iDevices.clear()
|
self.iDevices.clear()
|
||||||
self.uDevices.clear()
|
self.uDevices.clear()
|
||||||
|
|
||||||
def __del__(self):
|
def __del__(self):
|
||||||
if not self._initialized:
|
if not self._initialized:
|
||||||
return None
|
return
|
||||||
self.releaseDevices()
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -17,6 +17,7 @@ from utils import screen_utils
|
|||||||
class driver():
|
class driver():
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
self.vcsaDevicePath = '/dev/vcsa'
|
self.vcsaDevicePath = '/dev/vcsa'
|
||||||
|
self.ListSessions = None
|
||||||
def initialize(self, environment):
|
def initialize(self, environment):
|
||||||
self.env = environment
|
self.env = environment
|
||||||
def shutdown(self):
|
def shutdown(self):
|
||||||
@ -62,24 +63,18 @@ class driver():
|
|||||||
return
|
return
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
self.env['runtime']['debug'].writeDebugOut(str(e),debug.debugLevel.ERROR)
|
self.env['runtime']['debug'].writeDebugOut(str(e),debug.debugLevel.ERROR)
|
||||||
return
|
|
||||||
|
|
||||||
def getSessionInformation(self):
|
def getSessionInformation(self):
|
||||||
progname = 'org.freedesktop.login1'
|
|
||||||
objpath = '/org/freedesktop/login1'
|
|
||||||
intfname = 'org.freedesktop.login1.Manager'
|
|
||||||
methname = 'ListSessions'
|
|
||||||
|
|
||||||
bus = dbus.SystemBus()
|
bus = dbus.SystemBus()
|
||||||
|
if not self.ListSessions:
|
||||||
obj = bus.get_object(progname, objpath)
|
obj = bus.get_object('org.freedesktop.login1', '/org/freedesktop/login1')
|
||||||
inf = dbus.Interface(obj, intfname)
|
inf = dbus.Interface(obj, 'org.freedesktop.login1.Manager')
|
||||||
meth = inf.get_dbus_method(methname)
|
self.ListSessions = inf.get_dbus_method('ListSessions')
|
||||||
|
|
||||||
sessions = meth()
|
sessions = self.ListSessions()
|
||||||
self.env['screenData']['autoIgnoreScreens'] = []
|
self.env['screenData']['autoIgnoreScreens'] = []
|
||||||
for session in sessions:
|
for session in sessions:
|
||||||
obj = bus.get_object(progname, session[4])
|
obj = bus.get_object('org.freedesktop.login1', session[4])
|
||||||
inf = dbus.Interface(obj, 'org.freedesktop.DBus.Properties')
|
inf = dbus.Interface(obj, 'org.freedesktop.DBus.Properties')
|
||||||
sessionType = inf.Get('org.freedesktop.login1.Session', 'Type')
|
sessionType = inf.Get('org.freedesktop.login1.Session', 'Type')
|
||||||
screen = str(inf.Get('org.freedesktop.login1.Session', 'TTY'))
|
screen = str(inf.Get('org.freedesktop.login1.Session', 'TTY'))
|
||||||
|
532
tools/fenrir.pot
532
tools/fenrir.pot
@ -5,7 +5,7 @@
|
|||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: PACKAGE VERSION\n"
|
"Project-Id-Version: PACKAGE VERSION\n"
|
||||||
"POT-Creation-Date: 2017-02-20 10:45+UTC\n"
|
"POT-Creation-Date: 2017-02-26 22:19+UTC\n"
|
||||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
@ -20,6 +20,9 @@ msgid "adds the current word to the exceptions dictionary"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../src/fenrir/commands/commands/add_word_to_spell_check.py:34
|
#: ../src/fenrir/commands/commands/add_word_to_spell_check.py:34
|
||||||
|
#: ../src/fenrir/commands/commands/remove_word_from_spell_check.py:34
|
||||||
|
#: ../src/fenrir/commands/commands/spell_check.py:29
|
||||||
|
#: ../src/fenrir/commands/commands/spell_check.py:36
|
||||||
msgid "pyenchant is not installed"
|
msgid "pyenchant is not installed"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -92,6 +95,24 @@ msgstr ""
|
|||||||
#: ../src/fenrir/commands/commands/bookmark_9.py:43
|
#: ../src/fenrir/commands/commands/bookmark_9.py:43
|
||||||
#: ../src/fenrir/commands/commands/curr_screen_after_cursor.py:27
|
#: ../src/fenrir/commands/commands/curr_screen_after_cursor.py:27
|
||||||
#: ../src/fenrir/commands/commands/curr_screen_before_cursor.py:30
|
#: ../src/fenrir/commands/commands/curr_screen_before_cursor.py:30
|
||||||
|
#: ../src/fenrir/commands/commands/cursor_read_to_end_of_line.py:27
|
||||||
|
#: ../src/fenrir/commands/commands/indent_curr_line.py:31
|
||||||
|
#: ../src/fenrir/commands/commands/marked_text.py:33
|
||||||
|
#: ../src/fenrir/commands/commands/present_first_line.py:25
|
||||||
|
#: ../src/fenrir/commands/commands/present_last_line.py:25
|
||||||
|
#: ../src/fenrir/commands/commands/review_curr_char_phonetic.py:27
|
||||||
|
#: ../src/fenrir/commands/commands/review_curr_line.py:27
|
||||||
|
#: ../src/fenrir/commands/commands/review_curr_word.py:27
|
||||||
|
#: ../src/fenrir/commands/commands/review_curr_word_phonetic.py:27
|
||||||
|
#: ../src/fenrir/commands/commands/review_line_begin.py:27
|
||||||
|
#: ../src/fenrir/commands/commands/review_next_line.py:29
|
||||||
|
#: ../src/fenrir/commands/commands/review_next_word.py:29
|
||||||
|
#: ../src/fenrir/commands/commands/review_next_word_phonetic.py:27
|
||||||
|
#: ../src/fenrir/commands/commands/review_prev_line.py:27
|
||||||
|
#: ../src/fenrir/commands/commands/review_prev_word.py:27
|
||||||
|
#: ../src/fenrir/commands/commands/review_prev_word_phonetic.py:27
|
||||||
|
#: ../src/fenrir/commands/onInput/55000-present_line_if_cursor_change_vertical.py:38
|
||||||
|
#: ../src/fenrir/commands/onInput/72000-history.py:50
|
||||||
msgid "blank"
|
msgid "blank"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -170,6 +191,18 @@ msgid "speaks the contents of the currently selected clipboard"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../src/fenrir/commands/commands/curr_clipboard.py:21
|
#: ../src/fenrir/commands/commands/curr_clipboard.py:21
|
||||||
|
#: ../src/fenrir/commands/commands/export_clipboard_to_x.py:29
|
||||||
|
#: ../src/fenrir/commands/commands/export_clipboard_to_x.py:32
|
||||||
|
#: ../src/fenrir/commands/commands/export_clipboard_to_x.py:35
|
||||||
|
#: ../src/fenrir/commands/commands/export_clipboard_to_x.py:38
|
||||||
|
#: ../src/fenrir/commands/commands/first_clipboard.py:21
|
||||||
|
#: ../src/fenrir/commands/commands/last_clipboard.py:21
|
||||||
|
#: ../src/fenrir/commands/commands/next_clipboard.py:21
|
||||||
|
#: ../src/fenrir/commands/commands/paste_clipboard.py:23
|
||||||
|
#: ../src/fenrir/commands/commands/paste_clipboard.py:26
|
||||||
|
#: ../src/fenrir/commands/commands/paste_clipboard.py:29
|
||||||
|
#: ../src/fenrir/commands/commands/paste_clipboard.py:32
|
||||||
|
#: ../src/fenrir/commands/commands/prev_clipboard.py:21
|
||||||
msgid "clipboard empty"
|
msgid "clipboard empty"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -197,6 +230,460 @@ msgstr ""
|
|||||||
msgid "presents the current line number for review cursor in review mode or the text cursor if not. Starts with 1"
|
msgid "presents the current line number for review cursor in review mode or the text cursor if not. Starts with 1"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/cursor_position.py:17
|
||||||
|
msgid "displays the position of the review cursor"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/cursor_position.py:23
|
||||||
|
msgid "line {0}, column {1}"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/cursor_read_to_end_of_line.py:18
|
||||||
|
msgid "read to end of line, use review cursor if you are in review mode, otherwhise use text cursor"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/date.py:18
|
||||||
|
msgid "presents the date"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/dec_sound_volume.py:18
|
||||||
|
msgid "decrease sound volume"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/dec_sound_volume.py:29
|
||||||
|
#: ../src/fenrir/commands/commands/inc_sound_volume.py:29
|
||||||
|
msgid "{0} percent sound volume"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/dec_speech_pitch.py:18
|
||||||
|
msgid "decreases the pitch of the speech"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/dec_speech_pitch.py:27
|
||||||
|
#: ../src/fenrir/commands/commands/inc_speech_pitch.py:27
|
||||||
|
msgid "{0} percent speech pitch"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/dec_speech_rate.py:18
|
||||||
|
msgid "decreases the rate of the speech"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/dec_speech_rate.py:27
|
||||||
|
#: ../src/fenrir/commands/commands/inc_speech_rate.py:27
|
||||||
|
msgid "{0} percent speech rate"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/dec_speech_volume.py:18
|
||||||
|
msgid "decreases the volume of the speech"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/dec_speech_volume.py:27
|
||||||
|
#: ../src/fenrir/commands/commands/inc_speech_volume.py:27
|
||||||
|
msgid "{0} percent speech volume"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/exit_review.py:17
|
||||||
|
msgid "exits review mode"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/exit_review.py:21
|
||||||
|
msgid "Not in review mode"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/exit_review.py:25
|
||||||
|
msgid "leave review mode"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/export_clipboard_to_x.py:21
|
||||||
|
msgid "export the current fenrir clipboard to X clipboard"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/first_clipboard.py:17
|
||||||
|
msgid "selects the first clipboard"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/forward_keypress.py:17
|
||||||
|
msgid "sends the following keypress to the terminal"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/forward_keypress.py:21
|
||||||
|
msgid "Forward next keypress"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/inc_sound_volume.py:18
|
||||||
|
msgid "adjusts the volume for in coming sounds"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/inc_speech_pitch.py:18
|
||||||
|
msgid "increases the pitch of the speech"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/inc_speech_rate.py:18
|
||||||
|
msgid "increase the speech rate"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/inc_speech_volume.py:18
|
||||||
|
msgid "increase the speech volume"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/indent_curr_line.py:18
|
||||||
|
msgid "shows the indention level for the current line"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/indent_curr_line.py:33
|
||||||
|
msgid "indent {0}"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/last_clipboard.py:17
|
||||||
|
msgid "selects the last clipboard"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/last_incoming.py:17
|
||||||
|
msgid "displays the last received text"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/marked_text.py:18
|
||||||
|
msgid "speaks the currently selected text that will be copied to the clipboard"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/marked_text.py:23
|
||||||
|
msgid "please set begin and endmark"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/next_clipboard.py:17
|
||||||
|
msgid "selects the next clipboard"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/next_clipboard.py:26
|
||||||
|
msgid "First clipboard "
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/paste_clipboard.py:18
|
||||||
|
msgid "pastes the text from the currently selected clipboard"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/present_first_line.py:18
|
||||||
|
msgid "present first line"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/present_last_line.py:18
|
||||||
|
#: ../src/fenrir/commands/commands/review_curr_line.py:18
|
||||||
|
msgid "current line"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/prev_clipboard.py:17
|
||||||
|
msgid "selects the previous clipboard"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/prev_clipboard.py:26
|
||||||
|
msgid "Last clipboard "
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/quit_fenrir.py:17
|
||||||
|
msgid "exits Fenrir"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/remove_marks.py:17
|
||||||
|
msgid "removes marks from selected text"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/remove_marks.py:21
|
||||||
|
msgid "Remove marks"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/remove_word_from_spell_check.py:27
|
||||||
|
msgid "removes the current word from the exceptions dictionary"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/remove_word_from_spell_check.py:50
|
||||||
|
msgid "{0} is already removed from dict"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/remove_word_from_spell_check.py:53
|
||||||
|
msgid "{0} removed"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/review_bottom.py:17
|
||||||
|
msgid "move review to bottom of screen"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/review_bottom.py:21
|
||||||
|
msgid "Bottom"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/review_curr_char.py:18
|
||||||
|
msgid "presents the current character."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/review_curr_char_phonetic.py:18
|
||||||
|
msgid "set review and phonetically presents the current character"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/review_curr_word.py:18
|
||||||
|
msgid "current word."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/review_curr_word.py:32
|
||||||
|
#: ../src/fenrir/commands/commands/review_curr_word_phonetic.py:36
|
||||||
|
#: ../src/fenrir/commands/commands/review_down.py:27
|
||||||
|
#: ../src/fenrir/commands/commands/review_next_char.py:28
|
||||||
|
#: ../src/fenrir/commands/commands/review_next_char_phonetic.py:30
|
||||||
|
#: ../src/fenrir/commands/commands/review_next_line.py:34
|
||||||
|
#: ../src/fenrir/commands/commands/review_next_word.py:34
|
||||||
|
#: ../src/fenrir/commands/commands/review_next_word_phonetic.py:36
|
||||||
|
#: ../src/fenrir/commands/commands/review_prev_char.py:31
|
||||||
|
#: ../src/fenrir/commands/commands/review_prev_char_phonetic.py:30
|
||||||
|
#: ../src/fenrir/commands/commands/review_prev_line.py:32
|
||||||
|
#: ../src/fenrir/commands/commands/review_prev_word.py:32
|
||||||
|
#: ../src/fenrir/commands/commands/review_prev_word_phonetic.py:36
|
||||||
|
#: ../src/fenrir/commands/commands/review_up.py:27
|
||||||
|
msgid "end of screen"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/review_curr_word.py:35
|
||||||
|
#: ../src/fenrir/commands/commands/review_curr_word_phonetic.py:39
|
||||||
|
#: ../src/fenrir/commands/commands/review_next_char.py:31
|
||||||
|
#: ../src/fenrir/commands/commands/review_next_char_phonetic.py:33
|
||||||
|
#: ../src/fenrir/commands/commands/review_next_word.py:37
|
||||||
|
#: ../src/fenrir/commands/commands/review_next_word_phonetic.py:39
|
||||||
|
#: ../src/fenrir/commands/commands/review_prev_char.py:34
|
||||||
|
#: ../src/fenrir/commands/commands/review_prev_char_phonetic.py:33
|
||||||
|
#: ../src/fenrir/commands/commands/review_prev_word.py:35
|
||||||
|
#: ../src/fenrir/commands/commands/review_prev_word_phonetic.py:39
|
||||||
|
#: ../src/fenrir/commands/commands/review_up.py:30
|
||||||
|
msgid "line break"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/review_curr_word_phonetic.py:19
|
||||||
|
#: ../src/fenrir/commands/commands/review_next_word_phonetic.py:19
|
||||||
|
#: ../src/fenrir/commands/commands/review_prev_word_phonetic.py:19
|
||||||
|
msgid "phonetically spells the current word and set review to it"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/review_down.py:18
|
||||||
|
msgid "set review cursor to char below the current char and present it."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/review_line_begin.py:18
|
||||||
|
msgid "set review cursor to begin of current line and display the content"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/review_line_begin.py:30
|
||||||
|
msgid "beginning of line"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/review_line_end.py:18
|
||||||
|
#: ../src/fenrir/commands/commands/review_line_first_char.py:19
|
||||||
|
#: ../src/fenrir/commands/commands/review_line_last_char.py:18
|
||||||
|
msgid "set review cursor to end of current line and display the content"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/review_line_end.py:27
|
||||||
|
msgid "end of line"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/review_line_first_char.py:26
|
||||||
|
msgid "line is empty"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/review_line_first_char.py:33
|
||||||
|
msgid "first char in line indent {0}"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/review_line_last_char.py:27
|
||||||
|
msgid "last char in line"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/review_next_char.py:18
|
||||||
|
msgid "moves review to the next character and presents it"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/review_next_char_phonetic.py:18
|
||||||
|
msgid "phonetically presents the next character and set review to it"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/review_next_line.py:18
|
||||||
|
msgid "moves review to the next line and presents it"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/review_next_word.py:18
|
||||||
|
msgid "moves review to the next word and presents it"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/review_prev_char.py:18
|
||||||
|
msgid "moves review to the previous character and presents it"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/review_prev_char_phonetic.py:18
|
||||||
|
msgid "phonetically presents the previous character and set review to it"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/review_prev_line.py:18
|
||||||
|
msgid "moves review to the previous line and presents it"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/review_prev_word.py:18
|
||||||
|
msgid "moves review focus to the previous word and presents it"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/review_top.py:18
|
||||||
|
msgid "move review to top of screen"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/review_top.py:22
|
||||||
|
msgid "Top"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/review_up.py:18
|
||||||
|
msgid "set review cursor to the char in the line below and present it"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/set_bookmark_1.py:18
|
||||||
|
#: ../src/fenrir/commands/commands/set_bookmark_10.py:18
|
||||||
|
#: ../src/fenrir/commands/commands/set_bookmark_2.py:18
|
||||||
|
#: ../src/fenrir/commands/commands/set_bookmark_3.py:18
|
||||||
|
#: ../src/fenrir/commands/commands/set_bookmark_4.py:18
|
||||||
|
#: ../src/fenrir/commands/commands/set_bookmark_5.py:18
|
||||||
|
#: ../src/fenrir/commands/commands/set_bookmark_6.py:18
|
||||||
|
#: ../src/fenrir/commands/commands/set_bookmark_7.py:18
|
||||||
|
#: ../src/fenrir/commands/commands/set_bookmark_8.py:18
|
||||||
|
#: ../src/fenrir/commands/commands/set_bookmark_9.py:18
|
||||||
|
msgid "set Bookmark {0}"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/set_bookmark_1.py:22
|
||||||
|
#: ../src/fenrir/commands/commands/set_bookmark_10.py:22
|
||||||
|
#: ../src/fenrir/commands/commands/set_bookmark_2.py:22
|
||||||
|
#: ../src/fenrir/commands/commands/set_bookmark_3.py:22
|
||||||
|
#: ../src/fenrir/commands/commands/set_bookmark_4.py:22
|
||||||
|
#: ../src/fenrir/commands/commands/set_bookmark_5.py:22
|
||||||
|
#: ../src/fenrir/commands/commands/set_bookmark_6.py:22
|
||||||
|
#: ../src/fenrir/commands/commands/set_bookmark_7.py:22
|
||||||
|
#: ../src/fenrir/commands/commands/set_bookmark_8.py:22
|
||||||
|
#: ../src/fenrir/commands/commands/set_bookmark_9.py:22
|
||||||
|
msgid "No Mark found"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/set_bookmark_1.py:32
|
||||||
|
#: ../src/fenrir/commands/commands/set_bookmark_10.py:32
|
||||||
|
#: ../src/fenrir/commands/commands/set_bookmark_2.py:32
|
||||||
|
#: ../src/fenrir/commands/commands/set_bookmark_3.py:32
|
||||||
|
#: ../src/fenrir/commands/commands/set_bookmark_4.py:32
|
||||||
|
#: ../src/fenrir/commands/commands/set_bookmark_5.py:32
|
||||||
|
#: ../src/fenrir/commands/commands/set_bookmark_6.py:32
|
||||||
|
#: ../src/fenrir/commands/commands/set_bookmark_7.py:32
|
||||||
|
#: ../src/fenrir/commands/commands/set_bookmark_8.py:32
|
||||||
|
#: ../src/fenrir/commands/commands/set_bookmark_9.py:32
|
||||||
|
msgid "Bookmark {0} set for application {1}"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/set_mark.py:17
|
||||||
|
msgid "places marks to select text to copy to the clipboard"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/set_mark.py:21
|
||||||
|
msgid "no review cursor"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/set_mark.py:26
|
||||||
|
#: ../src/fenrir/commands/commands/set_mark.py:28
|
||||||
|
msgid "set mark"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/set_window_application.py:17
|
||||||
|
msgid "set Window Mode, needs 2 marks "
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/set_window_application.py:22
|
||||||
|
msgid "Window Mode on for application {0}"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/set_window_application.py:25
|
||||||
|
msgid "Set window begin and end marks"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/shut_up.py:17
|
||||||
|
msgid "interrupts the current presentation"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/spell_check.py:26
|
||||||
|
msgid "checks the spelling of the current word"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/spell_check.py:52
|
||||||
|
#: ../src/fenrir/commands/onInput/62000-spell_check.py:132
|
||||||
|
msgid "misspelled"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/spell_check.py:54
|
||||||
|
msgid "correct"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/subprocess.py:21
|
||||||
|
msgid "script: {0} fullpath: {1}"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/subprocess.py:24
|
||||||
|
msgid "scriptfile does not exist"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/subprocess.py:27
|
||||||
|
msgid "scriptfile is not a file"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/subprocess.py:30
|
||||||
|
msgid "scriptfile is not executable"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/temp_disable_speech.py:17
|
||||||
|
#: ../src/fenrir/commands/onInput/15000-enable_temp_speech.py:17
|
||||||
|
msgid "disables speech until next keypress"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/temp_disable_speech.py:21
|
||||||
|
msgid "speech temporary disabled"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/time.py:18
|
||||||
|
msgid "presents the time"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/toggle_auto_read.py:16
|
||||||
|
msgid "enables or disables automatic reading of new text as it appears"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/toggle_auto_read.py:21
|
||||||
|
msgid "autoread enabled"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/toggle_auto_read.py:23
|
||||||
|
msgid "autoread disabled"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/toggle_auto_spell_check.py:17
|
||||||
|
msgid "enables or disables automatic spell checking"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/toggle_auto_spell_check.py:22
|
||||||
|
msgid "auto spellcheck enabled"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/toggle_auto_spell_check.py:24
|
||||||
|
msgid "auto spellcheck disabled"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/toggle_auto_time.py:16
|
||||||
|
msgid "enables or disables automatic reading of time after an period"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/toggle_auto_time.py:21
|
||||||
|
msgid "autotime enabled"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/commands/toggle_auto_time.py:23
|
||||||
|
msgid "autotime disabled"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: ../src/fenrir/commands/commands/toggle_braille.py:17
|
#: ../src/fenrir/commands/commands/toggle_braille.py:17
|
||||||
msgid "enables and disables output in braille"
|
msgid "enables and disables output in braille"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -222,6 +709,7 @@ msgid "emoticons disabled"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../src/fenrir/commands/commands/toggle_highlight_tracking.py:16
|
#: ../src/fenrir/commands/commands/toggle_highlight_tracking.py:16
|
||||||
|
#: ../src/fenrir/commands/onInput/56000-highlight_tracking.py:16
|
||||||
msgid "enables or disables tracking of highlighted"
|
msgid "enables or disables tracking of highlighted"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -270,6 +758,7 @@ msgid "speech disabled"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../src/fenrir/commands/commands/toggle_speech.py:24
|
#: ../src/fenrir/commands/commands/toggle_speech.py:24
|
||||||
|
#: ../src/fenrir/commands/onInput/15000-enable_temp_speech.py:28
|
||||||
msgid "speech enabled"
|
msgid "speech enabled"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -281,3 +770,44 @@ msgstr ""
|
|||||||
msgid "you entered the tutorial mode. In that mode the commands are not executed. but you get a description of what the shortcut does. To leave the tutorial mode, press that shortcut again."
|
msgid "you entered the tutorial mode. In that mode the commands are not executed. but you get a description of what the shortcut does. To leave the tutorial mode, press that shortcut again."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/onInput/80000-capslock.py:22
|
||||||
|
msgid "Capslock on"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/onInput/80000-capslock.py:24
|
||||||
|
msgid "Capslock off"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/onInput/80300-scrolllock.py:22
|
||||||
|
msgid "Scrolllock on"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/onInput/80300-scrolllock.py:24
|
||||||
|
msgid "Scrolllock off"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/onInput/80500-numlock.py:22
|
||||||
|
msgid "Numlock on"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/onInput/80500-numlock.py:24
|
||||||
|
msgid "Numlock off"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#:
|
||||||
|
#: ../src/fenrir/commands/onScreenChanged/80000-screen_change_announcement.py:20
|
||||||
|
msgid "screen {0}"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../src/fenrir/commands/onScreenUpdate/76000-time.py:66
|
||||||
|
msgid "Autotime: {0}"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../src/fenrir/fenrir.py:24
|
||||||
|
msgid "Start Fenrir"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../src/fenrir/fenrir.py:99
|
||||||
|
msgid "Quit Fenrir"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user