8 Commits

6 changed files with 63 additions and 73 deletions

View File

@ -1,4 +1,4 @@
# Cthulhu v45.3
# Cthulhu
## Introduction
@ -11,20 +11,12 @@ technology service provider interface (AT-SPI), which is the primary
assistive technology infrastructure for the Solaris and Linux
operating environments. Applications and toolkits supporting the
AT-SPI include the GNOME GTK+ toolkit, the Java platform's Swing
toolkit, OpenOffice/LibreOffice, Gecko, and WebKitGtk. AT-SPI support
for the KDE Qt toolkit is currently being pursued.
toolkit, OpenOffice/LibreOffice, Gecko, WebKitGtk, and KDE Qt toolkit.
See also <http://wiki.gnome.org/Projects/Cthulhu> for detailed information
on Cthulhu, including how to run Cthulhu, how to communicate with the Cthulhu user
community, and where to log bugs and feature requests.
## Dependencies
Cthulhu v45.x is supported on GNOME 45.x only. We highly suggest you
use the latest releases of GNOME because they contain accessibility
infrastructure and application bug fixes that help Cthulhu work better.
Cthulhu also has the following dependencies:
Cthulhu has the following dependencies:
* Python 3 - Python platform
* pygobject-3.0 - Python bindings for the GObject library
@ -39,10 +31,10 @@ Cthulhu also has the following dependencies:
* gstreamer-1.0 - GStreamer - Streaming media framework (optional)
You are strongly encouraged to also have the latest stable versions
of AT-SPI2 and ATK for the GNOME 45.x release.
of AT-SPI2 and ATK.
## NOTE FOR BRLTTY USERS:
## Braille
Cthulhu depends upon the Python bindings for BrlAPI available in BrlTTY v4.5
or better. You can determine if the Python bindings for BrlAPI are
@ -66,10 +58,23 @@ learn mode, press "Escape." Finally, the preferences dialog contains
a "Key Bindings" tab that lists the keyboard binding for Cthulhu.
For more information, see the Cthulhu documentation which is available
within Cthulhu as well as at: <https://help.gnome.org/users/cthulhu/stable/>
within Cthulhu.
## Scripting Cthulhu
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
of the source tree.
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(atspi_required_version, 2.48)

View File

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

View File

@ -1,9 +1,9 @@
# Maintainer: Storm Dragon <storm_dragon@stormux.org>
pkgname=cthulhu
pkgver=0.1
pkgver=0.2
pkgrel=1
pkgdesc="Screen reader for individuals who are blind or visually impaired forked from Cthulhu"
pkgdesc="Screen reader for individuals who are blind or visually impaired forked from Orca"
url="https://git.stormux.org/storm/cthulhu"
arch=(any)
license=(LGPL)
@ -26,6 +26,7 @@ depends=(
python-cairo
python-gobject
python-setproctitle
socat
speech-dispatcher
xorg-xkbcomp
xorg-xmodmap
@ -35,8 +36,6 @@ makedepends=(
itstool
yelp-tools
)
groups=(gnome)
_commit=9e77d1baf9bd24b78d7499ad9b2e8bb80c9a0c81 # tags/CTHULHU_45_1^0
source=("git+https://git.stormux.org/storm/cthulhu.git")
b2sums=('SKIP')

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
# 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.
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.
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
# from some other environment than the graphical desktop.
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
# 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
# Cthulhu, but Cthulhu is already running.
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 ' \
'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'
# 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'
# which lists all the available command line options.
@ -1194,9 +1194,9 @@ LEARN_MODE_START_BRAILLE = _("Learn mode. Press escape to exit.")
# Mode.
LEARN_MODE_START_SPEECH = \
_("Entering learn mode. Press any key to hear its function. " \
"To view the screen readers documentation, press F1. " \
"To get a list of the screen readers default shortcuts, press F2. " \
"To get a list of the screen readers shortcuts for the current application, " \
"To view Cthulhus documentation, press F1. " \
"To get a list of Cthulhus default shortcuts, press F2. " \
"To get a list of Cthulhus shortcuts for the current application, " \
"press F3. " \
"To exit learn mode, press the escape key.")
@ -2512,7 +2512,7 @@ UNDO = C_("command", "undo")
REDO = C_("command", "redo")
# 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
# whitespace characters (space, tab, etc.) on it.

View File

@ -1,6 +1,5 @@
# Example usage:
# echo "This is a test." | socat - UNIX-CLIENT:/tmp/cthulhu-PID.sock
# Where PID is cthulhu's process id.
# echo "This is a test." | socat - UNIX-CLIENT:/tmp/cthulhu.sock
# 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#> is only usable for a persistent message
@ -78,7 +77,7 @@ class SelfVoice(GObject.Object, Peas.Activatable, plugin.Plugin):
print(e)
def voiceWorker(self):
socketFile = '/tmp/cthulhu-' + str(os.getppid()) + '.sock'
socketFile = '/tmp/cthulhu.sock'
# for testing purposes
#socketFile = '/tmp/cthulhu-plugin.sock'