macOS Ventura 向け ユーザ辞書 単語登録用 popclip extension 実験版

長い間悩んでました。待たせてごめんとは言いません。キロロじゃないので。(17年前…だと…?)

何となく動くかも版なのですが、近づいてきた気がするので公開します。
下の画像をクリックすると、Downloadできます。

動作確認は、Intel Mac miniと、M2 Macbook Airで行いました。

つきましては、前の版のページで色々コメントいただきまして、ありがとうございました。

以下ざれごと。

これまで面倒だったのでコードの解説とかしてませんでしたが、忘れそうなのでメモ代わりに記録しときます。

use framework "Foundation"
use scripting additions
current application's NSWorkspace's sharedWorkspace()'s openFile:"/System/Library/PreferencePanes/Keyboard.prefPane" -- ①

tell application "System Events"
	tell process "System Settings"
		delay 3 -- ②
		tell window "キーボード"
			tell group 3 of scroll area 1 of group 1 of group 2 of splitter group 1 of group 1
				click last UI element -- ③
			end tell
			delay 1.5 -- ④
			tell group 1 of scroll area 1 of group 1 of sheet 1 -- ⑤
				click button 1
			end tell
			delay 0.5
			tell group 1 of scroll area 1 of sheet 1 of sheet 1
				key code 48 -- tab
				delay 0.5
				key code 9 using command down -- paste
				delay 0.1
				key code 48 using shift down -- shift tab
			end tell
		end tell
	end tell
end tell

① は、キーボード部分を強引に開く方法です。open コマンドなら -n オプションで開けたのですが、AppleScriptからだとこうなるみたいです。
この書きかたになる前は、以下の感じでメニューバーから選んでました。

tell application "System Preferences" to activate

tell application "System Events"
        tell process "System Settings"
                click menu bar item 5 of menu bar 1
                click menu item "キーボード" of menu 1 of menu bar item 5 of menu bar 1
:

②は、キーボード部を開くまでの待ち時間です。新たなシステム設定では、「キーボード」が別アプリ?みたいな感じになっているようで、左側のリストから選べませんでした。ps コマンド(ps -ef | grep -i keyboard とするとわかりやすい)で見ると、システム設定を起動した時には「KeyboardSettings」が無いのですが、「キーボード」を選択した後には存在しています。
何かプロセスを起動してるんじゃないでしょうか。

③は [ ユーザ辞書 ] ボタンを押す操作です。「テキスト入力」の内側がグループ化されていて、その最後のボタンを clickしています。こんな書きかたができるんだなー(棒)

④は、ユーザ辞書ボタンを押してから、辞書一覧が表示されるまでの待ち時間です。辞書登録数が多く、古いマシンだと時間がかかるようです。

⑤が一番悩んだかも。ユーザ辞書ボタンを押した後に出て来るウィンドウは何者なのか。答えは「キーボード」ウィンドウが所有する「シート」でした。そんなんわかるか! なお、登録する文字を入力するウィンドウは、「シートのシート」でした。応用問題やね。

どのあたりが実験版かというと、以下の3点です

  • ②, ④の delayの値を全然調整できていない点
  • ③が「ユーザ辞書」と「かわせみ2」が並んだ状態でしか動かしていない(ユーザ辞書のみ、3つ以上のIMを併用している場合を確認していない)点
    ※ 1つ目のボタンの内側にIMの設定があるので、ここは常にボタンが2つな気がしてますが
  • そんなに自分で使ってないので、その他よくわからないひっかかりがあるかもという点

このあたりが問題なさそうなら、現バージョンで良いかもなのですが。

いやー、それにしてもここまで来れるとは思わなかった!

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください