6 Commits

6 changed files with 55 additions and 55 deletions

View File

@ -65,3 +65,16 @@ within Cthulhu.
So, you want to write a script for Cthulhu? The best thing to do is So, you want to write a script for Cthulhu? The best thing to do is
start by looking at other scripts under the src/cthulhu/scripts/ hierarchy start by looking at other scripts under the src/cthulhu/scripts/ hierarchy
of the source tree. Cthulhu also has an excellent plugin system, more documentation and examples coming soon. of the source tree. Cthulhu also has an excellent plugin system, more documentation and examples coming soon.
## Self-voicing
Cthulhu offers a mechanism through which messages may be spoken directly by the screen reader. Usage is as follows:
```bash
# Speak hello world.
echo "Hello world." | socat - UNIX-CLIENT:/tmp/cthulhu.sock
# Speak Hello world without interrupting the previous speech.
echo "<!#APPEND#!>Hello world." | socat - UNIX-CLIENT:/tmp/cthulhu.sock
# Make hello world persistant in Braille.
echo "Hello world.<#APPEND#>" | socat - UNIX-CLIENT:/tmp/cthulhu.sock
```

View File

@ -1,4 +1,4 @@
m4_define([cthulhu_version], [0.1]) m4_define([cthulhu_version], [0.2])
m4_define(pygobject_required_version, 3.18) m4_define(pygobject_required_version, 3.18)
m4_define(atspi_required_version, 2.48) m4_define(atspi_required_version, 2.48)

View File

@ -1,59 +1,46 @@
[Desktop Entry] [Desktop Entry]
Type=Application Type=Application
Name[an]=Lector de pantalla Cthulhu Name[an]=Lector de pantalla Cthulhu
Name[ast]=Llector de pantalla d'Cthulhu Name[ast]=Llector de pantalla Cthulhu
Name[be]=Чытач з экрана Cthulhu Name[be]=ÐÑÑÐÑÑÐ Cthulhu
Name[bg]=Cthulhu — екранен четец Name[bg]=Cthulhu âÐÐÐ ÑÑÑName[bs]=Cthulhu ÄtaÄekrana
Name[bs]=Cthulhu čitač ekrana
Name[ca]=Lector de pantalla Cthulhu Name[ca]=Lector de pantalla Cthulhu
Name[cs]=Čtečka obrazovky Cthulhu Name[cs]=ÄeÄa obrazovky Cthulhu
Name[da]=Skærmlæseren Cthulhu Name[da]=SkÃmlÃeren Cthulhu
Name[de]=Cthulhu-Bildschirmleser Name[de]=Cthulhu-Bildschirmleser
Name[el]=Αναγνώστης οθόνης Cthulhu Name[el]=ÎÎÎÏÎ ÎÏÎ Cthulhu
Name[en_GB]=Cthulhu Screen Reader Name[en_GB]=Cthulhu Screen Reader
Name[eo]=Ekranlegilo Orko Name[eo]=Ekranlegilo Cthulhu
Name[es]=Lector de pantalla Cthulhu Name[es]=Lector de pantalla Cthulhu
Name[eu]=Cthulhu pantaila-irakurlea Name[eu]=Cthulhu pantaila-irakurlea
Name[fa]=صفحه‌خوان اورکا Name[fa]=ØØâØ Cthulhu
Name[fi]=Cthulhu-näytönlukija Name[fi]=Cthulhu-nÃtÃlukija
Name[fr]=Lecteur décran Cthulhu Name[fr]=Lecteur dâran Cthulhu
Name[gl]=Lector da pantalla Cthulhu Name[gl]=Lector da pantalla Cthulhu
Name[he]=מקריא המסך Cthulhu Name[he]=××××× Cthulhu
Name[hi]=Cthulhu स्क्रीन वाचक Name[hi]=Cthulhu àààà
Name[hu]=Orka képernyőolvasó Name[hu]=Cthulhu kÃernyÅlvasÃName[id]=Pembaca Layar Cthulhu
Name[id]=Pembaca Layar Cthulhu Name[is]=Cthulhu skjÃestur
Name[is]=Cthulhu skjálestur
Name[it]=Lettore schermo Cthulhu Name[it]=Lettore schermo Cthulhu
Name[ka]=Cthulhu - ეკრანის მკითხველი Name[ka]=Cthulhu - ááááááName[kk]=Cthulhu ÑÑÐÐ ÐÐÑ ÒÐÐÐÑ
Name[kk]=Cthulhu экраннан оқитын қолданбасы Name[lt]=Cthulhu ekrano skaityklÄName[lv]=Cthulhu ekrÄa lasÄÄs
Name[lt]=Cthulhu ekrano skaityklė Name[mk]=Cthulhu ÑÑÑÐ ÐÑÐÑName[nb]=Cthulhu skjermleser
Name[lv]=Cthulhu ekrāna lasītājs Name[ne]=Cthulhu àà ààame[nl]=Cthulhu schermlezer
Name[mk]=Cthulhu читач на екранот
Name[nb]=Cthulhu skjermleser
Name[ne]=ओर्का दृष्टि वाचक
Name[nl]=Cthulhu schermlezer
Name[oc]=Lector d'ecran Cthulhu Name[oc]=Lector d'ecran Cthulhu
Name[pa]=ਓਰਕਾ ਸਕਰੀਨ ਰੀਡਰ Name[pa]=Cthulhu ààààame[pl]=Czytnik ekranowy Cthulhu
Name[pl]=Czytnik ekranowy Cthulhu Name[pt]=Leitor de ecrÃCthulhu
Name[pt]=Leitor de ecrã Cthulhu
Name[pt_BR]=Leitor de tela Cthulhu Name[pt_BR]=Leitor de tela Cthulhu
Name[ro]=Cititorul de ecran Cthulhu Name[ro]=Cititorul de ecran Cthulhu
Name[ru]=Экранный диктор Cthulhu Name[ru]=ÐÑÐÑ ÐÐÐ Cthulhu
Name[sl]=Zaslonski bralnik Orka Name[sl]=Zaslonski bralnik Cthulhu
Name[sr]=Читач екрана Орка Name[sr]=ÐÑÑÐÑÐ Cthulhu
Name[sv]=Cthulhu skärmläsare Name[sv]=Cthulhu skÃmlÃare
Name[ta]=ஆர்கா திரை படிப்பி Name[ta]=Cthulhu àààà
Name[te]=ఓర్కా తెరచదువరి Name[te]=Cthulhu ààà
Name[tg]=Хонандаи экрани Cthulhu Name[tg]=ÐÐÐÐ ÑÑÐ Cthulhu
Name[tr]=Cthulhu Ekran Okuyucu Name[tr]=Cthulhu Ekran Okuyucu
Name[ug]=Cthulhu ئېكران ئوقۇغۇ Name[ug]=Cthulhu ØÙØ ØÙØ
Name[uk]=Інструмент читання з екрана «Cthulhu» Name[uk]=ÐÑÑÐÐ ÑÑÐÑÐÐÑÐ ÂthulhuÂName[zh_CN]=Cthulhu åèName[zh_HK]=Cthulhu èèName=Cthulhu Screen Reader
Name[zh_CN]=Cthulhu 屏幕阅读器
Name[zh_HK]=Cthulhu 螢幕閱讀器
Name=Cthulhu Screen Reader
Exec=cthulhu Exec=cthulhu
NoDisplay=true NoDisplay=true
AutostartCondition=GSettings org.gnome.desktop.a11y.applications screen-reader-enabled
X-GNOME-AutoRestart=true X-GNOME-AutoRestart=true
#X-GNOME-Autostart-Phase=Initialization
OnlyShowIn=GNOME;MATE;Unity;Cinnamon;

View File

@ -1,7 +1,7 @@
# Maintainer: Storm Dragon <storm_dragon@stormux.org> # Maintainer: Storm Dragon <storm_dragon@stormux.org>
pkgname=cthulhu pkgname=cthulhu
pkgver=0.1 pkgver=0.2
pkgrel=1 pkgrel=1
pkgdesc="Screen reader for individuals who are blind or visually impaired forked from Orca" pkgdesc="Screen reader for individuals who are blind or visually impaired forked from Orca"
url="https://git.stormux.org/storm/cthulhu" url="https://git.stormux.org/storm/cthulhu"
@ -26,6 +26,7 @@ depends=(
python-cairo python-cairo
python-gobject python-gobject
python-setproctitle python-setproctitle
socat
speech-dispatcher speech-dispatcher
xorg-xkbcomp xorg-xkbcomp
xorg-xmodmap xorg-xmodmap

View File

@ -162,7 +162,7 @@ CARET_CONTROL_APP = _("The application is controlling the caret.")
# itself controls how the arrow keys move the caret around HTML content. It's # itself controls how the arrow keys move the caret around HTML content. It's
# often broken, so Cthulhu needs to provide its own support. As such, Cthulhu offers # often broken, so Cthulhu needs to provide its own support. As such, Cthulhu offers
# the user the ability to toggle which application is controlling the caret. # the user the ability to toggle which application is controlling the caret.
CARET_CONTROL_CTHULHU = _("The screen reader is controlling the caret.") CARET_CONTROL_CTHULHU = _("Cthulhu is controlling the caret.")
# Translators: this is the name of a cell in a spreadsheet. # Translators: this is the name of a cell in a spreadsheet.
CELL = _("Cell %s") CELL = _("Cell %s")
@ -241,7 +241,7 @@ CLI_LOAD_PROFILE_ERROR = _("Profile could not be loaded: %s")
# Translators: This message is presented to the user who attempts to launch Cthulhu # Translators: This message is presented to the user who attempts to launch Cthulhu
# from some other environment than the graphical desktop. # from some other environment than the graphical desktop.
CLI_NO_DESKTOP_ERROR = \ CLI_NO_DESKTOP_ERROR = \
_("Cannot start the screen reader because it cannot connect to the Desktop.") _("Cannot start Cthulhu because it cannot connect to the Desktop.")
# Translators: This message is presented to the user who attempts to launch Cthulhu # Translators: This message is presented to the user who attempts to launch Cthulhu
# but the launch fails due to an error related to the settings manager. # but the launch fails due to an error related to the settings manager.
@ -251,7 +251,7 @@ CLI_SETTINGS_MANAGER_ERROR = \
# Translators: This message is presented to the user when he/she tries to launch # Translators: This message is presented to the user when he/she tries to launch
# Cthulhu, but Cthulhu is already running. # Cthulhu, but Cthulhu is already running.
CLI_OTHER_CTHULHUS_ERROR = \ CLI_OTHER_CTHULHUS_ERROR = \
_('Another screen reader process is already running for this ' \ _('Another Cthulhu process is already running for this ' \
'session.\nRun “cthulhu --replace” to replace that ' \ 'session.\nRun “cthulhu --replace” to replace that ' \
'process with a new one.') 'process with a new one.')
@ -274,7 +274,7 @@ CLI_VERSION = _("Version of this application")
# Translators: This is the description of command line option '-r, --replace' # Translators: This is the description of command line option '-r, --replace'
# which tells Cthulhu to replace any existing Cthulhu process that might be running. # which tells Cthulhu to replace any existing Cthulhu process that might be running.
CLI_REPLACE = _("Replace a currently running instance of this screen reader") CLI_REPLACE = _("Replace a currently running instance of Cthulhu")
# Translators: this is the description of command line option '-h, --help' # Translators: this is the description of command line option '-h, --help'
# which lists all the available command line options. # which lists all the available command line options.
@ -1194,9 +1194,9 @@ LEARN_MODE_START_BRAILLE = _("Learn mode. Press escape to exit.")
# Mode. # Mode.
LEARN_MODE_START_SPEECH = \ LEARN_MODE_START_SPEECH = \
_("Entering learn mode. Press any key to hear its function. " \ _("Entering learn mode. Press any key to hear its function. " \
"To view the screen readers documentation, press F1. " \ "To view Cthulhus documentation, press F1. " \
"To get a list of the screen readers default shortcuts, press F2. " \ "To get a list of Cthulhus default shortcuts, press F2. " \
"To get a list of the screen readers shortcuts for the current application, " \ "To get a list of Cthulhus shortcuts for the current application, " \
"press F3. " \ "press F3. " \
"To exit learn mode, press the escape key.") "To exit learn mode, press the escape key.")
@ -2512,7 +2512,7 @@ UNDO = C_("command", "undo")
REDO = C_("command", "redo") REDO = C_("command", "redo")
# Translators: This message presents the Cthulhu version number. # Translators: This message presents the Cthulhu version number.
VERSION = _("Screen reader version %s.") % version VERSION = _("Cthulhu version %s.") % version
# Translators: This is presented when the user has navigated to a line with only # Translators: This is presented when the user has navigated to a line with only
# whitespace characters (space, tab, etc.) on it. # whitespace characters (space, tab, etc.) on it.

View File

@ -1,6 +1,5 @@
# Example usage: # Example usage:
# echo "This is a test." | socat - UNIX-CLIENT:/tmp/cthulhu-PID.sock # echo "This is a test." | socat - UNIX-CLIENT:/tmp/cthulhu.sock
# Where PID is cthulhu's process id.
# Prepend text to be spoken with <!#APPEND#!> to make it not interrupt, for inaccessible windows. # Prepend text to be spoken with <!#APPEND#!> to make it not interrupt, for inaccessible windows.
# Append message to be spoken with <#PERSISTENT#> to present a persistent message in braille # Append message to be spoken with <#PERSISTENT#> to present a persistent message in braille
# <#APPEND#> is only usable for a persistent message # <#APPEND#> is only usable for a persistent message
@ -78,7 +77,7 @@ class SelfVoice(GObject.Object, Peas.Activatable, plugin.Plugin):
print(e) print(e)
def voiceWorker(self): def voiceWorker(self):
socketFile = '/tmp/cthulhu-' + str(os.getppid()) + '.sock' socketFile = '/tmp/cthulhu.sock'
# for testing purposes # for testing purposes
#socketFile = '/tmp/cthulhu-plugin.sock' #socketFile = '/tmp/cthulhu-plugin.sock'