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)
|
||||
2. unix daemon (also needed for systemd):
|
||||
- python-daemonize
|
||||
3. Modify system volume:
|
||||
- pyalsaaudio (needs libasound2's headers).
|
||||
|
||||
# installation
|
||||
- Archlinux: PKGBUILD in AUR
|
||||
|
11
TODO v2.0
11
TODO v2.0
@ -6,8 +6,7 @@ General:
|
||||
read highlighted text mode
|
||||
- be more event based (vcsa sets POLLPRI)
|
||||
http://scotdoyle.com/python-epoll-howto.html
|
||||
- try to make it more asynchronus
|
||||
- multpible threads
|
||||
- try to make it more asynchronus with multpible threads
|
||||
- leave review on typing (Easy for contribution)
|
||||
|
||||
- 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
|
||||
|
||||
Settings:
|
||||
- configuration should be overwritable with parameter and alternative paths
|
||||
- write settings
|
||||
- menue for settings configuration #storm
|
||||
- configuration should be overwritable with parameter and alternative paths (Easy for contribution)
|
||||
- write settings (Easy for contribution)
|
||||
- menue for settings configuration (Easy for contribution)
|
||||
|
||||
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.
|
||||
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
|
||||
|
@ -108,5 +108,8 @@ KEY_FENRIR,KEY_X=set_mark
|
||||
KEY_FENRIR,KEY_SHIFT,KEY_X=marked_text
|
||||
KEY_FENRIR,KEY_C=copy_marked_to_clipboard
|
||||
KEY_FENRIR,KEY_V=paste_clipboard
|
||||
|
||||
# linux specific
|
||||
#=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
|
||||
# linux specific
|
||||
#=export_clipboard_to_x
|
||||
KEY_FENRIR,KEY_CTRL,KEY_UP=inc_alsa_volume
|
||||
KEY_FENRIR,KEY_CTRL,KEY_DOWN=dec_alsa_volume
|
||||
|
@ -41,6 +41,8 @@ if [ -f "/etc/fenrir/settings/settings.conf" ]; then
|
||||
else
|
||||
install -m644 -D "config/settings/settings.conf" /etc/fenrir/settings/settings.conf.current
|
||||
fi
|
||||
else
|
||||
install -m644 -D "config/settings/settings.conf" /etc/fenrir/settings/settings.conf
|
||||
fi
|
||||
|
||||
|
||||
|
@ -1,6 +1,5 @@
|
||||
Known Bugs (Problems with the logic ):
|
||||
- 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
|
||||
- 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 ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"POT-Creation-Date: 2017-02-20 10:45+UTC\n"
|
||||
"PO-Revision-Date: 2017-02-20 04:52-0600\n"
|
||||
"POT-Creation-Date: 2017-02-26 22:19+UTC\n"
|
||||
"PO-Revision-Date: 2017-02-26 17:01-0600\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: \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"
|
||||
|
||||
#: ../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"
|
||||
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/curr_screen_after_cursor.py:27
|
||||
#: ../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"
|
||||
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_9.py:24
|
||||
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
|
||||
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
|
||||
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
|
||||
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"
|
||||
|
||||
#: ../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"
|
||||
msgstr "Portapapeles vacío"
|
||||
|
||||
@ -196,12 +229,479 @@ msgid ""
|
||||
"presents the current column number for review cursor in review mode or the "
|
||||
"text cursor if not. Starts with 1"
|
||||
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
|
||||
msgid ""
|
||||
"presents the current line number for review cursor in review mode or the "
|
||||
"text cursor if not. Starts with 1"
|
||||
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
|
||||
msgid "enables and disables output in braille"
|
||||
@ -228,6 +728,7 @@ msgid "emoticons disabled"
|
||||
msgstr "Emoticonos desactivados"
|
||||
|
||||
#: ../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"
|
||||
msgstr "Activa o desactiva el seguimiento de texto resaltado"
|
||||
|
||||
@ -276,6 +777,7 @@ msgid "speech disabled"
|
||||
msgstr "Habla desactivada"
|
||||
|
||||
#: ../src/fenrir/commands/commands/toggle_speech.py:24
|
||||
#: ../src/fenrir/commands/onInput/15000-enable_temp_speech.py:28
|
||||
msgid "speech enabled"
|
||||
msgstr "Habla activada"
|
||||
|
||||
@ -296,3 +798,43 @@ msgstr ""
|
||||
"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 "
|
||||
"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):
|
||||
pass
|
||||
def getDescription(self):
|
||||
return 'displays the position of the review cursor'
|
||||
return _('displays the position of the review cursor')
|
||||
|
||||
def run(self):
|
||||
# Prefer review cursor over text cursor
|
||||
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):
|
||||
pass
|
||||
|
@ -15,7 +15,7 @@ class command():
|
||||
def shutdown(self):
|
||||
pass
|
||||
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):
|
||||
cursorPos = self.env['runtime']['cursorManager'].getReviewOrTextCursor()
|
||||
@ -24,7 +24,7 @@ class command():
|
||||
line_utils.getCurrentLine(cursorPos['x'], cursorPos['y'], self.env['screenData']['newContentText'])
|
||||
|
||||
if currLine.isspace():
|
||||
self.env['runtime']['outputManager'].presentText("blank", soundIcon='EmptyLine', interrupt=True)
|
||||
self.env['runtime']['outputManager'].presentText(_("blank"), soundIcon='EmptyLine', interrupt=True)
|
||||
else:
|
||||
self.env['runtime']['outputManager'].presentText(currLine[cursorPos['x']], interrupt=True)
|
||||
self.env['runtime']['outputManager'].announceActiveCursor()
|
||||
|
@ -15,7 +15,7 @@ class command():
|
||||
def shutdown(self):
|
||||
pass
|
||||
def getDescription(self):
|
||||
return 'presents the date'
|
||||
return _('presents the date')
|
||||
|
||||
def run(self):
|
||||
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):
|
||||
pass
|
||||
def getDescription(self):
|
||||
return 'decrease sound volume'
|
||||
return _('decrease sound volume')
|
||||
|
||||
def run(self):
|
||||
|
||||
@ -26,7 +26,7 @@ class command():
|
||||
value = 0.1
|
||||
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):
|
||||
pass
|
||||
|
@ -15,7 +15,7 @@ class command():
|
||||
def shutdown(self):
|
||||
pass
|
||||
def getDescription(self):
|
||||
return 'decreases the pitch of the speech'
|
||||
return _('decreases the pitch of the speech')
|
||||
|
||||
def run(self):
|
||||
value = self.env['runtime']['settingsManager'].getSettingAsFloat('speech', 'pitch')
|
||||
@ -23,8 +23,7 @@ class command():
|
||||
if value < 0.0:
|
||||
value = 0.0
|
||||
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):
|
||||
pass
|
||||
|
@ -15,7 +15,7 @@ class command():
|
||||
def shutdown(self):
|
||||
pass
|
||||
def getDescription(self):
|
||||
return 'decreases the rate of the speech'
|
||||
return _('decreases the rate of the speech')
|
||||
|
||||
def run(self):
|
||||
value = self.env['runtime']['settingsManager'].getSettingAsFloat('speech', 'rate')
|
||||
@ -24,7 +24,7 @@ class command():
|
||||
value = 0.0
|
||||
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):
|
||||
pass
|
||||
|
@ -15,7 +15,7 @@ class command():
|
||||
def shutdown(self):
|
||||
pass
|
||||
def getDescription(self):
|
||||
return 'decreases the volume of the speech'
|
||||
return _('decreases the volume of the speech')
|
||||
|
||||
def run(self):
|
||||
value = self.env['runtime']['settingsManager'].getSettingAsFloat('speech', 'volume')
|
||||
@ -24,7 +24,7 @@ class command():
|
||||
value = 0.1
|
||||
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):
|
||||
pass
|
||||
|
@ -14,15 +14,15 @@ class command():
|
||||
def shutdown(self):
|
||||
pass
|
||||
def getDescription(self):
|
||||
return 'exits review mode'
|
||||
return _('exits review mode')
|
||||
|
||||
def run(self):
|
||||
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
|
||||
|
||||
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):
|
||||
pass
|
||||
|
@ -18,7 +18,7 @@ class command():
|
||||
def shutdown(self):
|
||||
pass
|
||||
def getDescription(self):
|
||||
return 'export the current fenrir clipboard to X clipboard'
|
||||
return _('export the current fenrir clipboard to X clipboard')
|
||||
def run(self):
|
||||
_thread.start_new_thread(self._threadRun , ())
|
||||
|
||||
@ -26,16 +26,16 @@ class command():
|
||||
try:
|
||||
currClipboard = self.env['commandBuffer']['currClipboard']
|
||||
if currClipboard < 0:
|
||||
self.env['runtime']['outputManager'].presentText('clipboard empty', interrupt=True)
|
||||
self.env['runtime']['outputManager'].presentText(_('clipboard empty'), interrupt=True)
|
||||
return
|
||||
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
|
||||
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
|
||||
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
|
||||
|
||||
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):
|
||||
pass
|
||||
def getDescription(self):
|
||||
return 'selects the first clipboard'
|
||||
return _('selects the first clipboard')
|
||||
|
||||
def run(self):
|
||||
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
|
||||
self.env['commandBuffer']['currClipboard'] = 0
|
||||
self.env['runtime']['outputManager'].presentText(self.env['commandBuffer']['clipboard'][self.env['commandBuffer']['currClipboard']], interrupt=True)
|
||||
|
@ -14,11 +14,11 @@ class command():
|
||||
def shutdown(self):
|
||||
pass
|
||||
def getDescription(self):
|
||||
return 'sends the following keypress to the terminal'
|
||||
return _('sends the following keypress to the terminal')
|
||||
|
||||
def run(self):
|
||||
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):
|
||||
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):
|
||||
pass
|
||||
def getDescription(self):
|
||||
return 'adjusts the volume for in coming sounds'
|
||||
return _('adjusts the volume for in coming sounds')
|
||||
|
||||
def run(self):
|
||||
|
||||
@ -26,7 +26,7 @@ class command():
|
||||
value = 1.0
|
||||
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):
|
||||
pass
|
||||
|
@ -15,7 +15,7 @@ class command():
|
||||
def shutdown(self):
|
||||
pass
|
||||
def getDescription(self):
|
||||
return 'increases the pitch of the speech'
|
||||
return _('increases the pitch of the speech')
|
||||
|
||||
def run(self):
|
||||
value = self.env['runtime']['settingsManager'].getSettingAsFloat('speech', 'pitch')
|
||||
@ -24,7 +24,7 @@ class command():
|
||||
value = 1.0
|
||||
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):
|
||||
pass
|
||||
|
@ -15,7 +15,7 @@ class command():
|
||||
def shutdown(self):
|
||||
pass
|
||||
def getDescription(self):
|
||||
return 'increase the speech rate'
|
||||
return _('increase the speech rate')
|
||||
|
||||
def run(self):
|
||||
value = self.env['runtime']['settingsManager'].getSettingAsFloat('speech', 'rate')
|
||||
@ -24,7 +24,7 @@ class command():
|
||||
value = 1.0
|
||||
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):
|
||||
pass
|
||||
|
@ -15,7 +15,7 @@ class command():
|
||||
def shutdown(self):
|
||||
pass
|
||||
def getDescription(self):
|
||||
return 'increase the speech volume'
|
||||
return _('increase the speech volume')
|
||||
|
||||
def run(self):
|
||||
value = self.env['runtime']['settingsManager'].getSettingAsFloat('speech', 'volume')
|
||||
@ -24,7 +24,7 @@ class command():
|
||||
value = 1.0
|
||||
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):
|
||||
pass
|
||||
|
@ -15,7 +15,7 @@ class command():
|
||||
def shutdown(self):
|
||||
pass
|
||||
def getDescription(self):
|
||||
return 'shows the indention level for the current line'
|
||||
return _('shows the indention level for the current line')
|
||||
|
||||
def run(self):
|
||||
# Prefer review cursor over text cursor
|
||||
@ -28,9 +28,9 @@ class command():
|
||||
line_utils.getCurrentLine(cursorPos['x'], cursorPos['y'], self.env['screenData']['newContentText'])
|
||||
|
||||
if currLine.isspace():
|
||||
self.env['runtime']['outputManager'].presentText("blank", soundIcon='EmptyLine', interrupt=True)
|
||||
self.env['runtime']['outputManager'].presentText(_("blank"), soundIcon='EmptyLine', interrupt=True)
|
||||
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):
|
||||
pass
|
||||
|
@ -14,11 +14,11 @@ class command():
|
||||
def shutdown(self):
|
||||
pass
|
||||
def getDescription(self):
|
||||
return 'selects the last clipboard'
|
||||
return _('selects the last clipboard')
|
||||
|
||||
def run(self):
|
||||
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
|
||||
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)
|
||||
|
@ -14,7 +14,7 @@ class command():
|
||||
def shutdown(self):
|
||||
pass
|
||||
def getDescription(self):
|
||||
return 'displays the last received text'
|
||||
return _('displays the last received text')
|
||||
|
||||
def run(self):
|
||||
self.env['runtime']['outputManager'].presentText(self.env['screenData']['newDelta'], interrupt=True)
|
||||
|
@ -15,12 +15,12 @@ class command():
|
||||
def shutdown(self):
|
||||
pass
|
||||
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):
|
||||
if not (self.env['commandBuffer']['Marks']['1'] and \
|
||||
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
|
||||
|
||||
# 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'])
|
||||
|
||||
if marked.isspace():
|
||||
self.env['runtime']['outputManager'].presentText("blank", soundIcon='EmptyLine', interrupt=True)
|
||||
self.env['runtime']['outputManager'].presentText(_("blank"), soundIcon='EmptyLine', interrupt=True)
|
||||
else:
|
||||
self.env['runtime']['outputManager'].presentText(marked, interrupt=True)
|
||||
|
||||
|
@ -14,16 +14,16 @@ class command():
|
||||
def shutdown(self):
|
||||
pass
|
||||
def getDescription(self):
|
||||
return 'selects the next clipboard'
|
||||
return _('selects the next clipboard')
|
||||
|
||||
def run(self):
|
||||
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
|
||||
self.env['commandBuffer']['currClipboard'] += 1
|
||||
if self.env['commandBuffer']['currClipboard'] > len(self.env['commandBuffer']['clipboard']) -1:
|
||||
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)
|
||||
else:
|
||||
self.env['runtime']['outputManager'].presentText(self.env['commandBuffer']['clipboard'][self.env['commandBuffer']['currClipboard']], interrupt=True)
|
||||
|
@ -15,21 +15,21 @@ class command():
|
||||
def shutdown(self):
|
||||
pass
|
||||
def getDescription(self):
|
||||
return 'pastes the text from the currently selected clipboard'
|
||||
return _('pastes the text from the currently selected clipboard')
|
||||
|
||||
def run(self):
|
||||
currClipboard = self.env['commandBuffer']['currClipboard']
|
||||
if currClipboard < 0:
|
||||
self.env['runtime']['outputManager'].presentText('clipboard empty', interrupt=True)
|
||||
self.env['runtime']['outputManager'].presentText(_('clipboard empty'), interrupt=True)
|
||||
return
|
||||
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
|
||||
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
|
||||
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
|
||||
self.env['runtime']['outputManager'].presentText('paste clipboard', soundIcon='PasteClipboardOnScreen', interrupt=True)
|
||||
time.sleep(0.01)
|
||||
|
@ -15,14 +15,14 @@ class command():
|
||||
def shutdown(self):
|
||||
pass
|
||||
def getDescription(self):
|
||||
return 'present first line'
|
||||
return _('present first line')
|
||||
|
||||
def run(self):
|
||||
x, y, firstLine = \
|
||||
line_utils.getCurrentLine(0, 0, self.env['screenData']['newContentText'])
|
||||
|
||||
if firstLine.isspace():
|
||||
self.env['runtime']['outputManager'].presentText("blank", soundIcon='EmptyLine', interrupt=True)
|
||||
self.env['runtime']['outputManager'].presentText(_("blank"), soundIcon='EmptyLine', interrupt=True)
|
||||
else:
|
||||
self.env['runtime']['outputManager'].presentText(firstLine, interrupt=True)
|
||||
def setCallback(self, callback):
|
||||
|
@ -15,14 +15,14 @@ class command():
|
||||
def shutdown(self):
|
||||
pass
|
||||
def getDescription(self):
|
||||
return 'current line'
|
||||
return _('current line')
|
||||
|
||||
def run(self):
|
||||
x, y, lastLine = \
|
||||
line_utils.getCurrentLine(0, self.env['screenData']['lines'] -1, self.env['screenData']['newContentText'])
|
||||
|
||||
if lastLine.isspace():
|
||||
self.env['runtime']['outputManager'].presentText("blank", soundIcon='EmptyLine', interrupt=True)
|
||||
self.env['runtime']['outputManager'].presentText(_("blank"), soundIcon='EmptyLine', interrupt=True)
|
||||
else:
|
||||
self.env['runtime']['outputManager'].presentText(lastLine, interrupt=True)
|
||||
def setCallback(self, callback):
|
||||
|
@ -14,16 +14,16 @@ class command():
|
||||
def shutdown(self):
|
||||
pass
|
||||
def getDescription(self):
|
||||
return 'selects the previous clipboard'
|
||||
return _('selects the previous clipboard')
|
||||
|
||||
def run(self):
|
||||
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
|
||||
self.env['commandBuffer']['currClipboard'] -= 1
|
||||
if self.env['commandBuffer']['currClipboard'] < 0:
|
||||
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)
|
||||
else:
|
||||
self.env['runtime']['outputManager'].presentText(self.env['commandBuffer']['clipboard'][self.env['commandBuffer']['currClipboard']], interrupt=True)
|
||||
|
@ -14,7 +14,7 @@ class command():
|
||||
def shutdown(self):
|
||||
pass
|
||||
def getDescription(self):
|
||||
return 'exits Fenrir'
|
||||
return _('exits Fenrir')
|
||||
|
||||
def run(self):
|
||||
self.env['generalInformation']['running'] = False
|
||||
|
@ -14,11 +14,11 @@ class command():
|
||||
def shutdown(self):
|
||||
pass
|
||||
def getDescription(self):
|
||||
return 'removes marks from selected text'
|
||||
return _('removes marks from selected text')
|
||||
|
||||
def run(self):
|
||||
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):
|
||||
pass
|
||||
|
@ -24,14 +24,14 @@ class command():
|
||||
def shutdown(self):
|
||||
pass
|
||||
def getDescription(self):
|
||||
return 'removes the current word from the exceptions dictionary'
|
||||
return _('removes the current word from the exceptions dictionary')
|
||||
def updateSpellLanguage(self):
|
||||
self.spellChecker = enchant.Dict(self.env['runtime']['settingsManager'].getSetting('general', 'spellCheckLanguage'))
|
||||
self.language = self.env['runtime']['settingsManager'].getSetting('general', 'spellCheckLanguage')
|
||||
|
||||
def run(self):
|
||||
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
|
||||
if self.env['runtime']['settingsManager'].getSetting('general', 'spellCheckLanguage') != self.language:
|
||||
try:
|
||||
@ -47,9 +47,9 @@ class command():
|
||||
currWord = currWord.strip(string.whitespace + '!"#$%&\()*+,-./:;<=§>?@[\\]^_{|}~')
|
||||
if not currWord.isspace():
|
||||
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:
|
||||
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):
|
||||
pass
|
||||
|
@ -14,11 +14,11 @@ class command():
|
||||
def shutdown(self):
|
||||
pass
|
||||
def getDescription(self):
|
||||
return 'move review to bottom of screen'
|
||||
return _('move review to bottom of screen')
|
||||
|
||||
def run(self):
|
||||
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):
|
||||
pass
|
||||
|
@ -15,7 +15,7 @@ class command():
|
||||
def shutdown(self):
|
||||
pass
|
||||
def getDescription(self):
|
||||
return 'presents the current character.'
|
||||
return _('presents the current character.')
|
||||
|
||||
def run(self):
|
||||
self.env['runtime']['cursorManager'].enterReviewModeCurrTextCursor()
|
||||
|
@ -15,7 +15,7 @@ class command():
|
||||
def shutdown(self):
|
||||
pass
|
||||
def getDescription(self):
|
||||
return 'set review and phonetically presents the current character'
|
||||
return _('set review and phonetically presents the current character')
|
||||
|
||||
def run(self):
|
||||
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'])
|
||||
|
||||
if currChar.isspace():
|
||||
self.env['runtime']['outputManager'].presentText("blank" ,interrupt=True, flush=False)
|
||||
self.env['runtime']['outputManager'].presentText(_("blank"), interrupt=True, flush=False)
|
||||
else:
|
||||
currChar = char_utils.getPhonetic(currChar)
|
||||
self.env['runtime']['outputManager'].presentText(currChar ,interrupt=True, announceCapital=True, flush=False)
|
||||
|
@ -15,7 +15,7 @@ class command():
|
||||
def shutdown(self):
|
||||
pass
|
||||
def getDescription(self):
|
||||
return 'current line'
|
||||
return _('current line')
|
||||
|
||||
def run(self):
|
||||
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'])
|
||||
|
||||
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:
|
||||
self.env['runtime']['outputManager'].presentText(currLine, interrupt=True, flush=False)
|
||||
def setCallback(self, callback):
|
||||
|
@ -15,7 +15,7 @@ class command():
|
||||
def shutdown(self):
|
||||
pass
|
||||
def getDescription(self):
|
||||
return 'current word.'
|
||||
return _('current word.')
|
||||
|
||||
def run(self):
|
||||
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'])
|
||||
|
||||
if currWord.isspace():
|
||||
self.env['runtime']['outputManager'].presentText("blank", interrupt=True, flush=False)
|
||||
self.env['runtime']['outputManager'].presentText(_("blank"), interrupt=True, flush=False)
|
||||
else:
|
||||
self.env['runtime']['outputManager'].presentText(currWord, interrupt=True, flush=False)
|
||||
if 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 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):
|
||||
pass
|
||||
|
@ -16,7 +16,7 @@ class command():
|
||||
def shutdown(self):
|
||||
pass
|
||||
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):
|
||||
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'])
|
||||
|
||||
if currWord.isspace():
|
||||
self.env['runtime']['outputManager'].presentText("blank", interrupt=True, flush=False)
|
||||
self.env['runtime']['outputManager'].presentText(_("blank"), interrupt=True, flush=False)
|
||||
else:
|
||||
firstSequence = True
|
||||
for c in currWord:
|
||||
@ -33,9 +33,9 @@ class command():
|
||||
firstSequence = False
|
||||
if 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 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):
|
||||
pass
|
||||
|
@ -15,7 +15,7 @@ class command():
|
||||
def shutdown(self):
|
||||
pass
|
||||
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):
|
||||
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)
|
||||
if 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):
|
||||
pass
|
||||
|
@ -15,7 +15,7 @@ class command():
|
||||
def shutdown(self):
|
||||
pass
|
||||
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):
|
||||
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'])
|
||||
|
||||
if currChar.isspace():
|
||||
self.env['runtime']['outputManager'].presentText("blank" ,interrupt=True, flush=False)
|
||||
self.env['runtime']['outputManager'].presentText(_("blank"), interrupt=True, flush=False)
|
||||
else:
|
||||
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):
|
||||
pass
|
||||
|
@ -15,7 +15,7 @@ class command():
|
||||
def shutdown(self):
|
||||
pass
|
||||
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):
|
||||
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'])
|
||||
|
||||
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):
|
||||
pass
|
||||
|
@ -16,21 +16,21 @@ class command():
|
||||
def shutdown(self):
|
||||
pass
|
||||
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):
|
||||
cursorPos = self.env['runtime']['cursorManager'].getReviewOrTextCursor()
|
||||
x, y, currLine = \
|
||||
line_utils.getCurrentLine(cursorPos['x'], cursorPos['y'], self.env['screenData']['newContentText'])
|
||||
if currLine.isspace():
|
||||
self.env['runtime']['outputManager'].presentText("line is empty" ,interrupt=True)
|
||||
self.env['runtime']['outputManager'].presentText(_("line is empty"), interrupt=True)
|
||||
return
|
||||
self.env['runtime']['cursorManager'].setReviewCursorPosition((len(currLine) - len(currLine.lstrip())), cursorPos['y'])
|
||||
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'])
|
||||
|
||||
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):
|
||||
pass
|
||||
|
@ -15,7 +15,7 @@ class command():
|
||||
def shutdown(self):
|
||||
pass
|
||||
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):
|
||||
cursorPos = self.env['runtime']['cursorManager'].getReviewOrTextCursor()
|
||||
@ -24,7 +24,7 @@ class command():
|
||||
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("last char in line", interrupt=False)
|
||||
self.env['runtime']['outputManager'].presentText(_("last char in line"), interrupt=False)
|
||||
|
||||
def setCallback(self, callback):
|
||||
pass
|
||||
|
@ -15,7 +15,7 @@ class command():
|
||||
def shutdown(self):
|
||||
pass
|
||||
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):
|
||||
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)
|
||||
if 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 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):
|
||||
pass
|
||||
|
@ -15,7 +15,7 @@ class command():
|
||||
def shutdown(self):
|
||||
pass
|
||||
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):
|
||||
self.env['runtime']['cursorManager'].enterReviewModeCurrTextCursor()
|
||||
@ -27,9 +27,9 @@ class command():
|
||||
self.env['runtime']['outputManager'].presentText(nextChar ,interrupt=True, announceCapital=True, flush=False)
|
||||
if 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 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):
|
||||
pass
|
||||
|
@ -15,7 +15,7 @@ class command():
|
||||
def shutdown(self):
|
||||
pass
|
||||
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):
|
||||
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'])
|
||||
|
||||
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:
|
||||
self.env['runtime']['outputManager'].presentText(nextLine, interrupt=True, flush=False)
|
||||
if 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):
|
||||
pass
|
||||
|
@ -15,7 +15,7 @@ class command():
|
||||
def shutdown(self):
|
||||
pass
|
||||
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):
|
||||
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'])
|
||||
|
||||
if nextWord.isspace():
|
||||
self.env['runtime']['outputManager'].presentText("blank", interrupt=True, flush=False)
|
||||
self.env['runtime']['outputManager'].presentText(_("blank"), interrupt=True, flush=False)
|
||||
else:
|
||||
self.env['runtime']['outputManager'].presentText(nextWord, interrupt=True, flush=False)
|
||||
if 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 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):
|
||||
pass
|
||||
|
@ -16,7 +16,7 @@ class command():
|
||||
def shutdown(self):
|
||||
pass
|
||||
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):
|
||||
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'])
|
||||
|
||||
if nextWord.isspace():
|
||||
self.env['runtime']['outputManager'].presentText("blank", interrupt=True, flush=False)
|
||||
self.env['runtime']['outputManager'].presentText(_("blank"), interrupt=True, flush=False)
|
||||
else:
|
||||
firstSequence = True
|
||||
for c in nextWord:
|
||||
@ -33,9 +33,9 @@ class command():
|
||||
firstSequence = False
|
||||
if 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 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):
|
||||
pass
|
||||
|
@ -15,7 +15,7 @@ class command():
|
||||
def shutdown(self):
|
||||
pass
|
||||
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):
|
||||
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)
|
||||
if 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 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):
|
||||
pass
|
||||
|
@ -15,7 +15,7 @@ class command():
|
||||
def shutdown(self):
|
||||
pass
|
||||
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):
|
||||
self.env['runtime']['cursorManager'].enterReviewModeCurrTextCursor()
|
||||
@ -27,9 +27,9 @@ class command():
|
||||
self.env['runtime']['outputManager'].presentText(prevChar ,interrupt=True, announceCapital=True, flush=False)
|
||||
if 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 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):
|
||||
pass
|
||||
|
@ -15,7 +15,7 @@ class command():
|
||||
def shutdown(self):
|
||||
pass
|
||||
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):
|
||||
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'])
|
||||
|
||||
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:
|
||||
self.env['runtime']['outputManager'].presentText(prevLine, interrupt=True, flush=False)
|
||||
if 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):
|
||||
pass
|
||||
|
@ -15,7 +15,7 @@ class command():
|
||||
def shutdown(self):
|
||||
pass
|
||||
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):
|
||||
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'])
|
||||
|
||||
if prevWord.isspace():
|
||||
self.env['runtime']['outputManager'].presentText("blank", interrupt=True, flush=False)
|
||||
self.env['runtime']['outputManager'].presentText(_("blank"), interrupt=True, flush=False)
|
||||
else:
|
||||
self.env['runtime']['outputManager'].presentText(prevWord, interrupt=True, flush=False)
|
||||
if 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 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):
|
||||
pass
|
||||
|
@ -16,7 +16,7 @@ class command():
|
||||
def shutdown(self):
|
||||
pass
|
||||
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):
|
||||
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'])
|
||||
|
||||
if prevWord.isspace():
|
||||
self.env['runtime']['outputManager'].presentText("blank", interrupt=True, flush=False)
|
||||
self.env['runtime']['outputManager'].presentText(_("blank"), interrupt=True, flush=False)
|
||||
else:
|
||||
firstSequence = True
|
||||
for c in prevWord:
|
||||
@ -33,9 +33,9 @@ class command():
|
||||
firstSequence = False
|
||||
if 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 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):
|
||||
pass
|
||||
|
@ -15,11 +15,11 @@ class command():
|
||||
def shutdown(self):
|
||||
pass
|
||||
def getDescription(self):
|
||||
return 'move review to top of screen'
|
||||
return _('move review to top of screen')
|
||||
|
||||
def run(self):
|
||||
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):
|
||||
pass
|
||||
|
@ -15,7 +15,7 @@ class command():
|
||||
def shutdown(self):
|
||||
pass
|
||||
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):
|
||||
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)
|
||||
if 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 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):
|
||||
pass
|
||||
|
@ -15,11 +15,11 @@ class command():
|
||||
def shutdown(self):
|
||||
pass
|
||||
def getDescription(self):
|
||||
return 'set Bookmark ' + self.ID
|
||||
return _('set Bookmark {0}').format(self.ID,)
|
||||
|
||||
def run(self):
|
||||
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
|
||||
currApp = self.env['runtime']['applicationManager'].getCurrentApplication()
|
||||
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()
|
||||
else:
|
||||
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']['2'] = None
|
||||
def setCallback(self, callback):
|
||||
|
@ -15,11 +15,11 @@ class command():
|
||||
def shutdown(self):
|
||||
pass
|
||||
def getDescription(self):
|
||||
return 'set Bookmark ' + self.ID
|
||||
return _('set Bookmark {0}').format(self.ID,)
|
||||
|
||||
def run(self):
|
||||
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
|
||||
currApp = self.env['runtime']['applicationManager'].getCurrentApplication()
|
||||
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()
|
||||
else:
|
||||
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']['2'] = None
|
||||
def setCallback(self, callback):
|
||||
|
@ -15,11 +15,11 @@ class command():
|
||||
def shutdown(self):
|
||||
pass
|
||||
def getDescription(self):
|
||||
return 'set Bookmark ' + self.ID
|
||||
return _('set Bookmark {0}').format(self.ID,)
|
||||
|
||||
def run(self):
|
||||
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
|
||||
currApp = self.env['runtime']['applicationManager'].getCurrentApplication()
|
||||
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()
|
||||
else:
|
||||
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']['2'] = None
|
||||
def setCallback(self, callback):
|
||||
|
@ -15,11 +15,11 @@ class command():
|
||||
def shutdown(self):
|
||||
pass
|
||||
def getDescription(self):
|
||||
return 'set Bookmark ' + self.ID
|
||||
return _('set Bookmark {0}').format(self.ID,)
|
||||
|
||||
def run(self):
|
||||
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
|
||||
currApp = self.env['runtime']['applicationManager'].getCurrentApplication()
|
||||
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()
|
||||
else:
|
||||
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']['2'] = None
|
||||
def setCallback(self, callback):
|
||||
|
@ -15,11 +15,11 @@ class command():
|
||||
def shutdown(self):
|
||||
pass
|
||||
def getDescription(self):
|
||||
return 'set Bookmark ' + self.ID
|
||||
return _('set Bookmark {0}').format(self.ID,)
|
||||
|
||||
def run(self):
|
||||
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
|
||||
currApp = self.env['runtime']['applicationManager'].getCurrentApplication()
|
||||
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()
|
||||
else:
|
||||
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']['2'] = None
|
||||
def setCallback(self, callback):
|
||||
|
@ -15,11 +15,11 @@ class command():
|
||||
def shutdown(self):
|
||||
pass
|
||||
def getDescription(self):
|
||||
return 'set Bookmark ' + self.ID
|
||||
return _('set Bookmark {0}').format(self.ID,)
|
||||
|
||||
def run(self):
|
||||
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
|
||||
currApp = self.env['runtime']['applicationManager'].getCurrentApplication()
|
||||
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()
|
||||
else:
|
||||
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']['2'] = None
|
||||
def setCallback(self, callback):
|
||||
|
@ -15,11 +15,11 @@ class command():
|
||||
def shutdown(self):
|
||||
pass
|
||||
def getDescription(self):
|
||||
return 'set Bookmark ' + self.ID
|
||||
return _('set Bookmark {0}').format(self.ID,)
|
||||
|
||||
def run(self):
|
||||
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
|
||||
currApp = self.env['runtime']['applicationManager'].getCurrentApplication()
|
||||
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()
|
||||
else:
|
||||
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']['2'] = None
|
||||
def setCallback(self, callback):
|
||||
|
@ -15,11 +15,11 @@ class command():
|
||||
def shutdown(self):
|
||||
pass
|
||||
def getDescription(self):
|
||||
return 'set Bookmark ' + self.ID
|
||||
return _('set Bookmark {0}').format(self.ID,)
|
||||
|
||||
def run(self):
|
||||
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
|
||||
currApp = self.env['runtime']['applicationManager'].getCurrentApplication()
|
||||
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()
|
||||
else:
|
||||
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']['2'] = None
|
||||
def setCallback(self, callback):
|
||||
|
@ -15,11 +15,11 @@ class command():
|
||||
def shutdown(self):
|
||||
pass
|
||||
def getDescription(self):
|
||||
return 'set Bookmark ' + self.ID
|
||||
return _('set Bookmark {0}').format(self.ID,)
|
||||
|
||||
def run(self):
|
||||
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
|
||||
currApp = self.env['runtime']['applicationManager'].getCurrentApplication()
|
||||
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()
|
||||
else:
|
||||
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']['2'] = None
|
||||
def setCallback(self, callback):
|
||||
|
@ -15,11 +15,11 @@ class command():
|
||||
def shutdown(self):
|
||||
pass
|
||||
def getDescription(self):
|
||||
return 'set Bookmark ' + self.ID
|
||||
return _('set Bookmark {0}').format(self.ID,)
|
||||
|
||||
def run(self):
|
||||
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
|
||||
currApp = self.env['runtime']['applicationManager'].getCurrentApplication()
|
||||
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()
|
||||
else:
|
||||
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']['2'] = None
|
||||
def setCallback(self, callback):
|
||||
|
@ -14,17 +14,17 @@ class command():
|
||||
def shutdown(self):
|
||||
pass
|
||||
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):
|
||||
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
|
||||
|
||||
currMark = self.env['runtime']['cursorManager'].setMark()
|
||||
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:
|
||||
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):
|
||||
pass
|
||||
|
@ -14,15 +14,15 @@ class command():
|
||||
def shutdown(self):
|
||||
pass
|
||||
def getDescription(self):
|
||||
return 'set Window Mode, needs 2 marks '
|
||||
return _('set Window Mode, needs 2 marks ')
|
||||
|
||||
def run(self):
|
||||
if self.env['runtime']['cursorManager'].setWindowForApplication():
|
||||
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()
|
||||
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):
|
||||
pass
|
||||
|
@ -14,7 +14,7 @@ class command():
|
||||
def shutdown(self):
|
||||
pass
|
||||
def getDescription(self):
|
||||
return 'interrupts the current presentation'
|
||||
return _('interrupts the current presentation')
|
||||
def run(self):
|
||||
if len(self.env['input']['prevDeepestInput']) > len(self.env['input']['currInput']):
|
||||
return
|
||||
|
@ -23,17 +23,17 @@ class command():
|
||||
def shutdown(self):
|
||||
pass
|
||||
def getDescription(self):
|
||||
return 'checks the spelling of the current word'
|
||||
return _('checks the spelling of the current word')
|
||||
def updateSpellLanguage(self):
|
||||
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
|
||||
self.spellChecker = enchant.Dict(self.env['runtime']['settingsManager'].getSetting('general', 'spellCheckLanguage'))
|
||||
self.language = self.env['runtime']['settingsManager'].getSetting('general', 'spellCheckLanguage')
|
||||
|
||||
def run(self):
|
||||
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
|
||||
if self.env['runtime']['settingsManager'].getSetting('general', 'spellCheckLanguage') != self.language:
|
||||
try:
|
||||
@ -49,8 +49,8 @@ class command():
|
||||
|
||||
if not currWord.isspace():
|
||||
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:
|
||||
self.env['runtime']['outputManager'].presentText('correct',soundIcon='', interrupt=True)
|
||||
self.env['runtime']['outputManager'].presentText(_('correct'),soundIcon='', interrupt=True)
|
||||
def setCallback(self, callback):
|
||||
pass
|
||||
|
@ -18,16 +18,16 @@ class command():
|
||||
def shutdown(self):
|
||||
pass
|
||||
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):
|
||||
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
|
||||
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
|
||||
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
|
||||
_thread.start_new_thread(self._threadRun , ())
|
||||
|
||||
|
@ -14,11 +14,11 @@ class command():
|
||||
def shutdown(self):
|
||||
pass
|
||||
def getDescription(self):
|
||||
return 'disables speech until next keypress'
|
||||
return _('disables speech until next keypress')
|
||||
|
||||
def run(self):
|
||||
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['runtime']['settingsManager'].setSetting('speech', 'enabled', str(not self.env['runtime']['settingsManager'].getSettingAsBool('speech', 'enabled')))
|
||||
self.env['runtime']['outputManager'].interruptOutput()
|
||||
|
@ -15,7 +15,7 @@ class command():
|
||||
def shutdown(self):
|
||||
pass
|
||||
def getDescription(self):
|
||||
return 'presents the time'
|
||||
return _('presents the time')
|
||||
|
||||
def run(self):
|
||||
timeFormat = self.env['runtime']['settingsManager'].getSetting('general', 'timeFormat')
|
||||
|
@ -13,14 +13,14 @@ class command():
|
||||
def shutdown(self):
|
||||
pass
|
||||
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):
|
||||
self.env['runtime']['settingsManager'].setSetting('speech', 'autoReadIncoming', str(not 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:
|
||||
self.env['runtime']['outputManager'].presentText("autoread disabled", soundIcon='', interrupt=True)
|
||||
self.env['runtime']['outputManager'].presentText(_("autoread disabled"), soundIcon='', interrupt=True)
|
||||
|
||||
def setCallback(self, callback):
|
||||
pass
|
||||
|
@ -14,14 +14,14 @@ class command():
|
||||
def shutdown(self):
|
||||
pass
|
||||
def getDescription(self):
|
||||
return 'enables or disables automatic spell checking'
|
||||
return _('enables or disables automatic spell checking')
|
||||
|
||||
def run(self):
|
||||
self.env['runtime']['settingsManager'].setSetting('general', 'autoSpellCheck', str(not 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:
|
||||
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):
|
||||
pass
|
||||
|
@ -13,14 +13,14 @@ class command():
|
||||
def shutdown(self):
|
||||
pass
|
||||
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):
|
||||
self.env['runtime']['settingsManager'].setSetting('time', 'enabled', str(not 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:
|
||||
self.env['runtime']['outputManager'].presentText("autotime disabled", soundIcon='', interrupt=True)
|
||||
self.env['runtime']['outputManager'].presentText(_("autotime disabled"), soundIcon='', interrupt=True)
|
||||
|
||||
def setCallback(self, callback):
|
||||
pass
|
||||
|
@ -14,7 +14,7 @@ class command():
|
||||
def shutdown(self):
|
||||
pass
|
||||
def getDescription(self):
|
||||
return 'disables speech until next keypress'
|
||||
return _('disables speech until next keypress')
|
||||
|
||||
def run(self):
|
||||
if self.env['runtime']['inputManager'].noKeyPressed():
|
||||
@ -25,7 +25,7 @@ class command():
|
||||
return
|
||||
self.env['runtime']['settingsManager'].setSetting('speech', 'enabled', str(self.env['commandBuffer']['enableSpeechOnKeypress']))
|
||||
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):
|
||||
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'])
|
||||
|
||||
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:
|
||||
self.env['runtime']['outputManager'].presentText(currLine, interrupt=True, flush=False)
|
||||
|
||||
|
@ -13,7 +13,7 @@ class command():
|
||||
def shutdown(self):
|
||||
pass
|
||||
def getDescription(self):
|
||||
return 'enables or disables tracking of highlighted'
|
||||
return _('enables or disables tracking of highlighted')
|
||||
|
||||
def run(self):
|
||||
if not self.env['runtime']['settingsManager'].getSettingAsBool('focus', 'highlight'):
|
||||
|
@ -129,7 +129,7 @@ class command():
|
||||
pass
|
||||
|
||||
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):
|
||||
pass
|
||||
|
@ -47,7 +47,7 @@ class command():
|
||||
announce = currLine
|
||||
|
||||
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:
|
||||
self.env['runtime']['outputManager'].presentText(announce, interrupt=True, flush=False)
|
||||
self.env['commandsIgnore']['onScreenUpdate']['CHAR_DELETE_ECHO'] = True
|
||||
|
@ -19,9 +19,9 @@ class command():
|
||||
if self.env['input']['oldCapsLock'] == self.env['input']['newCapsLock']:
|
||||
return
|
||||
if self.env['input']['newCapsLock']:
|
||||
self.env['runtime']['outputManager'].presentText("Capslock on", interrupt=True)
|
||||
self.env['runtime']['outputManager'].presentText(_("Capslock on"), interrupt=True)
|
||||
else:
|
||||
self.env['runtime']['outputManager'].presentText("Capslock off", interrupt=True)
|
||||
self.env['runtime']['outputManager'].presentText(_("Capslock off"), interrupt=True)
|
||||
|
||||
def setCallback(self, callback):
|
||||
pass
|
||||
|
@ -19,9 +19,9 @@ class command():
|
||||
if self.env['input']['oldScrollLock'] == self.env['input']['newScrollLock']:
|
||||
return
|
||||
if self.env['input']['newScrollLock']:
|
||||
self.env['runtime']['outputManager'].presentText("Scrolllock on", interrupt=True)
|
||||
self.env['runtime']['outputManager'].presentText(_("Scrolllock on"), interrupt=True)
|
||||
else:
|
||||
self.env['runtime']['outputManager'].presentText("Scrolllock off", interrupt=True)
|
||||
self.env['runtime']['outputManager'].presentText(_("Scrolllock off"), interrupt=True)
|
||||
|
||||
def setCallback(self, callback):
|
||||
pass
|
||||
|
@ -19,9 +19,9 @@ class command():
|
||||
if self.env['input']['oldNumLock'] == self.env['input']['newNumLock']:
|
||||
return
|
||||
if self.env['input']['newNumLock']:
|
||||
self.env['runtime']['outputManager'].presentText("Numlock on", interrupt=True)
|
||||
self.env['runtime']['outputManager'].presentText(_("Numlock on"), interrupt=True)
|
||||
else:
|
||||
self.env['runtime']['outputManager'].presentText("Numlock off", interrupt=True)
|
||||
self.env['runtime']['outputManager'].presentText(_("Numlock off"), interrupt=True)
|
||||
|
||||
def setCallback(self, callback):
|
||||
pass
|
||||
|
@ -17,7 +17,7 @@ class command():
|
||||
return 'No Description found'
|
||||
|
||||
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)
|
||||
|
||||
def setCallback(self, callback):
|
||||
|
@ -63,7 +63,7 @@ class command():
|
||||
|
||||
if presentTime:
|
||||
# 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
|
||||
if presentDate:
|
||||
self.env['runtime']['outputManager'].presentText(dateString , soundIcon='', interrupt=False)
|
||||
|
@ -15,38 +15,17 @@ class commandManager():
|
||||
def initialize(self, environment):
|
||||
self.env = environment
|
||||
# commands
|
||||
self.env['runtime']['commandManager'].loadCommands('commands',
|
||||
for commandFolder in self.env['generalInformation']['commandFolderList']:
|
||||
self.env['runtime']['commandManager'].loadCommands(commandFolder,
|
||||
self.env['runtime']['settingsManager'].getSetting('general', 'commandPath'))
|
||||
self.env['runtime']['commandManager'].loadCommands('commands')
|
||||
# onInput
|
||||
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')
|
||||
self.env['runtime']['commandManager'].loadCommands(commandFolder)
|
||||
|
||||
# scripts for scriptKey
|
||||
self.env['runtime']['commandManager'].loadScriptCommands()
|
||||
|
||||
def shutdown(self):
|
||||
self.env['runtime']['commandManager'].shutdownCommands('commands')
|
||||
self.env['runtime']['commandManager'].shutdownCommands('onInput')
|
||||
self.env['runtime']['commandManager'].shutdownCommands('onScreenUpdate')
|
||||
self.env['runtime']['commandManager'].shutdownCommands('onScreenChanged')
|
||||
self.env['runtime']['commandManager'].shutdownCommands('onApplicationChange')
|
||||
self.env['runtime']['commandManager'].shutdownCommands('onSwitchApplicationProfile')
|
||||
for commandFolder in self.env['generalInformation']['commandFolderList']:
|
||||
self.env['runtime']['commandManager'].shutdownCommands(commandFolder)
|
||||
|
||||
def loadCommands(self, section='commands',commandPath=''):
|
||||
if commandPath =='':
|
||||
|
@ -11,4 +11,8 @@ generalInformation = {
|
||||
'tutorialMode': False,
|
||||
'currUser':'',
|
||||
'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')
|
||||
except RuntimeError:
|
||||
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.SIGTERM, self.captureSignal)
|
||||
self.wasCommand = False
|
||||
@ -35,8 +35,8 @@ class fenrir():
|
||||
self.shutdown()
|
||||
|
||||
def handleProcess(self):
|
||||
#startTime = time.time()
|
||||
eventReceived = self.environment['runtime']['inputManager'].getInputEvent()
|
||||
startTime = time.time()
|
||||
if eventReceived:
|
||||
self.prepareCommand()
|
||||
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']['outputManager'].brailleText(flush=False)
|
||||
self.handleCommands()
|
||||
#print(time.time()-startTime)
|
||||
print(time.time()-startTime)
|
||||
|
||||
def prepareCommand(self):
|
||||
if self.environment['runtime']['screenManager'].isSuspendingScreen():
|
||||
@ -84,7 +84,6 @@ class fenrir():
|
||||
|
||||
self.environment['runtime']['commandManager'].queueCommand(command)
|
||||
|
||||
|
||||
def handleCommands(self):
|
||||
if not self.environment['runtime']['commandManager'].isCommandQueued():
|
||||
return
|
||||
@ -97,35 +96,11 @@ class fenrir():
|
||||
self.shutdownRequest()
|
||||
|
||||
def shutdown(self):
|
||||
if self.environment['runtime']['inputManager']:
|
||||
self.environment['runtime']['inputManager'].shutdown()
|
||||
del self.environment['runtime']['inputManager']
|
||||
self.environment['runtime']['outputManager'].presentText("Quit Fenrir", soundIcon='ScreenReaderOff', interrupt=True)
|
||||
time.sleep(0.9) # wait a little for sound
|
||||
|
||||
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['runtime']['outputManager'].presentText(_("Quit Fenrir"), soundIcon='ScreenReaderOff', interrupt=True)
|
||||
for currManager in self.environment['generalInformation']['managerList']:
|
||||
if self.environment['runtime'][currManager]:
|
||||
self.environment['runtime'][currManager].shutdown()
|
||||
del self.environment['runtime'][currManager]
|
||||
self.environment = None
|
||||
|
||||
def main():
|
||||
|
@ -22,7 +22,6 @@ class driver():
|
||||
def __init__(self):
|
||||
self.iDevices = {}
|
||||
self.uDevices = {}
|
||||
self.ledDevices = {}
|
||||
self._initialized = False
|
||||
|
||||
def initialize(self, environment):
|
||||
@ -36,21 +35,24 @@ class driver():
|
||||
self.getInputDevices()
|
||||
|
||||
def shutdown(self):
|
||||
pass
|
||||
def getInputEvent(self):
|
||||
if not self._initialized:
|
||||
time.sleep(0.005) # dont flood CPU
|
||||
return None
|
||||
if not self.iDevices:
|
||||
return None
|
||||
if self.iDevices == {}:
|
||||
return
|
||||
def getInputEvent(self):
|
||||
|
||||
if not self.hasIDevices():
|
||||
time.sleep(0.008) # dont flood CPU
|
||||
return None
|
||||
|
||||
event = None
|
||||
r, w, x = select(self.iDevices, [], [], self.env['runtime']['settingsManager'].getSettingAsFloat('screen', 'screenUpdateDelay'))
|
||||
if r != []:
|
||||
for fd in r:
|
||||
try:
|
||||
event = self.iDevices[fd].read_one()
|
||||
except:
|
||||
#print('jow')
|
||||
self.removeDevice(fd)
|
||||
return None
|
||||
foreward = False
|
||||
while(event):
|
||||
self.env['input']['eventBuffer'].append( [self.iDevices[fd], self.uDevices[fd], event])
|
||||
@ -107,21 +109,17 @@ class driver():
|
||||
except Exception as e:
|
||||
self.env['runtime']['debug'].writeDebugOut("Skip Inputdevice : " + dev +' ' + str(e),debug.debugLevel.ERROR)
|
||||
self.iDevices = map(evdev.InputDevice, (readableDevices))
|
||||
self.ledDevices = map(evdev.InputDevice, (readableDevices))
|
||||
|
||||
# 3 pos absolute
|
||||
# 2 pos relative
|
||||
# 17 LEDs
|
||||
# 1 Keys
|
||||
# we try to filter out mices and other stuff here
|
||||
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.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':
|
||||
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:
|
||||
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):
|
||||
if not self._initialized:
|
||||
@ -140,30 +138,29 @@ class driver():
|
||||
return None
|
||||
|
||||
def getLedState(self, led = 0):
|
||||
if not self._initialized:
|
||||
return None
|
||||
if not self.hasIDevices():
|
||||
return False
|
||||
# 0 = Numlock
|
||||
# 1 = Capslock
|
||||
# 2 = Rollen
|
||||
if self.ledDevices == None:
|
||||
return False
|
||||
if self.ledDevices == {}:
|
||||
return False
|
||||
for fd, dev in self.ledDevices.items():
|
||||
return led in dev.leds()
|
||||
for fd, dev in self.iDevices.items():
|
||||
if led in dev.leds():
|
||||
return True
|
||||
return False
|
||||
def toggleLedState(self, led = 0):
|
||||
if not self._initialized:
|
||||
return None
|
||||
if not self.hasIDevices():
|
||||
return False
|
||||
ledState = self.getLedState(led)
|
||||
for i in self.ledDevices:
|
||||
for i in self.iDevices:
|
||||
# 17 LEDs
|
||||
if 17 in self.iDevices[i].capabilities():
|
||||
if ledState == 1:
|
||||
self.ledDevices[i].set_led(led , 0)
|
||||
self.iDevices[i].set_led(led , 0)
|
||||
else:
|
||||
self.ledDevices[i].set_led(led , 1)
|
||||
self.iDevices[i].set_led(led , 1)
|
||||
def grabDevices(self):
|
||||
if not self._initialized:
|
||||
return None
|
||||
return
|
||||
for fd in self.iDevices:
|
||||
try:
|
||||
self.uDevices[fd] = UInput.from_device(self.iDevices[fd].fn)
|
||||
@ -199,11 +196,7 @@ class driver():
|
||||
# #'/dev/uinput'
|
||||
# )
|
||||
# dev.grab()
|
||||
|
||||
def releaseDevices(self):
|
||||
if not self._initialized:
|
||||
return None
|
||||
for fd in self.iDevices:
|
||||
def removeDevice(self,fd):
|
||||
try:
|
||||
self.iDevices[fd].ungrab()
|
||||
except:
|
||||
@ -216,13 +209,34 @@ class driver():
|
||||
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:
|
||||
return False
|
||||
if not self.iDevices:
|
||||
return False
|
||||
if len(self.iDevices) == 0:
|
||||
return False
|
||||
return True
|
||||
|
||||
def releaseDevices(self):
|
||||
if not self.hasIDevices():
|
||||
return
|
||||
devices = self.iDevices.copy()
|
||||
for fd in devices:
|
||||
self.removeDevice(fd)
|
||||
self.iDevices.clear()
|
||||
self.uDevices.clear()
|
||||
|
||||
def __del__(self):
|
||||
if not self._initialized:
|
||||
return None
|
||||
self.releaseDevices()
|
||||
return
|
||||
|
||||
|
||||
|
@ -17,6 +17,7 @@ from utils import screen_utils
|
||||
class driver():
|
||||
def __init__(self):
|
||||
self.vcsaDevicePath = '/dev/vcsa'
|
||||
self.ListSessions = None
|
||||
def initialize(self, environment):
|
||||
self.env = environment
|
||||
def shutdown(self):
|
||||
@ -62,24 +63,18 @@ class driver():
|
||||
return
|
||||
except Exception as e:
|
||||
self.env['runtime']['debug'].writeDebugOut(str(e),debug.debugLevel.ERROR)
|
||||
return
|
||||
|
||||
def getSessionInformation(self):
|
||||
progname = 'org.freedesktop.login1'
|
||||
objpath = '/org/freedesktop/login1'
|
||||
intfname = 'org.freedesktop.login1.Manager'
|
||||
methname = 'ListSessions'
|
||||
|
||||
bus = dbus.SystemBus()
|
||||
if not self.ListSessions:
|
||||
obj = bus.get_object('org.freedesktop.login1', '/org/freedesktop/login1')
|
||||
inf = dbus.Interface(obj, 'org.freedesktop.login1.Manager')
|
||||
self.ListSessions = inf.get_dbus_method('ListSessions')
|
||||
|
||||
obj = bus.get_object(progname, objpath)
|
||||
inf = dbus.Interface(obj, intfname)
|
||||
meth = inf.get_dbus_method(methname)
|
||||
|
||||
sessions = meth()
|
||||
sessions = self.ListSessions()
|
||||
self.env['screenData']['autoIgnoreScreens'] = []
|
||||
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')
|
||||
sessionType = inf.Get('org.freedesktop.login1.Session', 'Type')
|
||||
screen = str(inf.Get('org.freedesktop.login1.Session', 'TTY'))
|
||||
|
532
tools/fenrir.pot
532
tools/fenrir.pot
@ -5,7 +5,7 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"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"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
@ -20,6 +20,9 @@ msgid "adds the current word to the exceptions dictionary"
|
||||
msgstr ""
|
||||
|
||||
#: ../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"
|
||||
msgstr ""
|
||||
|
||||
@ -92,6 +95,24 @@ msgstr ""
|
||||
#: ../src/fenrir/commands/commands/bookmark_9.py:43
|
||||
#: ../src/fenrir/commands/commands/curr_screen_after_cursor.py:27
|
||||
#: ../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"
|
||||
msgstr ""
|
||||
|
||||
@ -170,6 +191,18 @@ msgid "speaks the contents of the currently selected clipboard"
|
||||
msgstr ""
|
||||
|
||||
#: ../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"
|
||||
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"
|
||||
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
|
||||
msgid "enables and disables output in braille"
|
||||
msgstr ""
|
||||
@ -222,6 +709,7 @@ msgid "emoticons disabled"
|
||||
msgstr ""
|
||||
|
||||
#: ../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"
|
||||
msgstr ""
|
||||
|
||||
@ -270,6 +758,7 @@ msgid "speech disabled"
|
||||
msgstr ""
|
||||
|
||||
#: ../src/fenrir/commands/commands/toggle_speech.py:24
|
||||
#: ../src/fenrir/commands/onInput/15000-enable_temp_speech.py:28
|
||||
msgid "speech enabled"
|
||||
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."
|
||||
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