Simple Orca Plugin System

提供: ArchWiki
2016年12月19日 (月) 22:24時点におけるKusakata (トーク | 投稿記録)による版 (翻訳)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
ナビゲーションに移動 検索に移動

Simple Orca Plugin System (SOPS) を使うことで Orca スクリーンリーダーの機能を拡張することができます。あらゆるプログラミング言語で簡単にプラグインを追加することが可能です。プラグインの設定はファイル名によって制御されます。

インストール

AUR から simpleorcapluginsystemAUR または simpleorcapluginsystem-gitAUR パッケージをインストールしてください。

セットアップ

カレントユーザーでプラグインシステムをセットアップするには、以下のコマンドを実行:

$ /usr/share/SOPS/install-for-current-user.sh

管理

基本

  • インストールパス。デフォルトのプラグインやドキュメント、プラグインローダーや管理ツールなどは以下のディレクトリに入っています:
/usr/share/SOPS/
  • ユーザープラグインのパスは:
~/.config/SOPS/plugins-available/
  • 有効にした (アクティブな) プラグインは以下のパスを使います。フォルダ内の全てのプラグインがロードされます:
~/.config/SOPS/plugins-enabled/

管理ツール

インストールディレクトリの "tools" フォルダにツールが入っています。以下のコマンドはプラグインを有効化します。ただしショートカットを作成してプラグインにコマンドを指定するにはファイル名を変更する必要があります:

$ ./ensop <pluginname> 

プラグインを無効化・アンロードするコマンドは:

$ ./dissop <pluginname>

どちらのコマンドも ~./.config/SOPSP/plugins-enabled にリンクを作成・削除することでプラグインの利用可否を変更しています。プラグインは手動で設定する必要があります。変更を加えたら Orca を再起動してプラグインをリロードさせてください。SOPS にはプラグインマネージャも含まれており、インストール後に使うことができます。プラグインマネージャを開くには Orca が実行しているときに orca+ctrl+p を使います。プラグインの有効化・無効化・インストール・設定ができます。プラグインマネージャを閉じると Orca は自動的に再起動されます。

プラグイン

ヒント: サンプルプラグインは /usr/share/SOPS/examples に存在します。

ファイル名の構造

プラグインのショートカットやタイプ、設定はファイル名で制御されます。ファイル名の記述部は __-__ によって設定部と分ける必要があります。コマンドや修飾キーは __+__ で区切ります。

<description>__-__[<command>__+__command...][__+__<modifier>__+__<modifier>__+__key_<key>].ext

プラグインの実行

プラグインを実行する方法は2つあります:

何も設定されていない場合、プラグインはロードされません。

修飾子/ショートカット

修飾子を使って key に様々なショートカットを設定できます。Orca 修飾キーは必ず押す必要があります。修飾キーの順番は関係ありません:

  • control はキーボードの ctrl キーの修飾子です。
  • shift はキーボードの shift キーの修飾子です。
  • alt はキーボードの alt キーの修飾子です。
  • key_<key> はプラグインで使用する基本のショートカットを定義します。定義済みの修飾子が使えます (example_plugin__-__key_d.sh は orca+d を使用します)。
利用可能なショートカット

修飾子の組み合わせは限られており、Orca によってあらかじめ定義されています:

  • alt = description__-__alt__+__key_y.sh
  • control = description__-__control__+__key_b.sh
  • shift = description__-__shift__+__key_c.sh
  • control + alt = description__-__control__+__alt__+__key_w.py
  • shift + alt = description__-__shift__+__alt__+__key_y.sh

key_<key> は全ての英数字のキーに置き換えられます。

コマンド/設定

プラグインの設定はコマンドと呼ばれます。コマンドはプラグインに指定するアクションを定義します。コマンドを使うことでプラグインの挙動を制御することが可能です。コマンドは複数追加できます。コマンドの順番は関係ありません。

  • startnotify はプラグインが実行される前に "start <description>" と発音します。処理時間が長いプラグインの場合に有用です (全てのプラグインで使えます)。
  • stopnotify は "finish <description>" と発音します。出力がないプラグインの場合に有用です (全てのプラグインで使えます)。
  • blockcall はプラグインのスレッドを実行しません。プラグインの実行が完了するまで Orca がロックされるので注意してください。デフォルトでは、プラグインは専用のスレッドで動作します (全てのプラグインで使えます)。
  • error は返り値のエラーを発音します (全てのプラグインで使えます)。
  • supressoutput は標準出力を無視します。UI が存在し標準出力を使わないプラグインの場合に有用です (サブプロセスプラグインのみ使えます)。
  • parameters_<parameter1> [parameter2] [parameter3]... はプラグインにパラメータを渡します (サブプロセスプラグインのみ使えます)。
  • exec はロードされたときに一度プラグインを実行します。アドバンスプラグインで有用です (全てのプラグインで使えます)。
  • loadmodule はサブプロセスプラグインとしてロードせずにアドバンスプラグインとしてロードします (アドバンスプラグインのみ)。

サンプル

  • Plugin name__-__startnotify__+__control__+__alt__+__key_n.sh - orca+ctrl+alt+n で起動して処理の開始をアナウンス。
  • PluginName__-__error__+__stopnotify__+__shift__+__key_y.py - orca+shift+m で起動して処理の完了をアナウンス。エラーは発音しません。
  • Plugin_Name__-__key_m.py - orca+m で起動。
  • Plugin_Name__-__exec.py - Orca が起動したときに実行。

プラグインのタイプ

基本的にプラグインには2種類のタイプがあります。

サブプロセスプラグイン

サブプロセスプラグインは単純なプラグインでありデフォルトのタイプです。標準出力や標準エラーに書き込みを行う、あらゆるアプリケーションやスクリプトで使えます。定義したショートカットが押されたときや exec でプラグインが実行されると、Orca はプラグインを実行して、標準出力/標準エラーを読み込んで結果をユーザーに知らせます。

要件
  • 実行権限
  • ファイル名の中に key_<key>exec を定義する必要があります。
サンプル

orca+y を押したときに "Hello World" と発話する:

Hello_world__-__key_y.sh
#!/bin/sh
echo "Hello World"

アドバンスプラグイン

spec.loader.exec_module でロードされるプラグインです。loadmodule でファイル名を指定してロードすることができます。Orca が起動するとすぐに組み込まれます。アドバンスプラグインは Orca のコンテキストで使うことができるため強力です。orca-customizations.py と似ています。詳しくは次のページを参照: https://wiki.gnome.org/Projects/Orca/FrequentlyAskedQuestions/CustomizingOrca

要件
  • Python3 で書かれたコード
  • ファイル拡張子が .py
  • ファイル名に loadmodule を使用
  • ファイル名の中に key_<key>exec を定義する必要があります。
サンプル

プラグインがロードされている場合に "!" を "bang" と発音・表示するように Orca を設定:

replace_chnames__-__loadmodule__+__exec.py
#!/bin/python
import orca.orca
orca.chnames.chnames["!"] = "bang"

プラグインのホスト

プラグインをホストすることで、プラグインマネージャからプラグインをインストールできるようにすることもできます。プラグインをホストする方法は、次のファイルを見てください: /usr/share/SOPS/tools/hosting.txt

デフォルトのオンラインリソースは: https://stormdragon.tk/orca-plugins/index.php