デュアルモニター環境で画面が広くなると快適なんですが、カーソルを見失うのが長年の悩みでして……。

カーソルを大きくすると追いかけやすくなっていい反面、Photoshop 等でブラシサイズまで大きくなってしまい、正確なブラシ操作が困難になります。
当たり前なんでしょうが、Finder で表示されているカーソルと標準の黒矢印は綺麗に拡大されますが、他のアプリケーションではカーソルデータを切り替えて表示しているんですよね。

Cursor01
標準のカーソル。左が標準サイズ、右が拡大(たぶん400%)

brush
こんな感じ。(Adobe系CS5)

以前、Magic Mouse を使い始めた頃、不意のスクロールでかなりイライラした際、Applescript で「Adobe系アプリがアクティブになっている時だけスクロールをオフにする」というものを作りました。
その時は腱鞘炎を起こしたため、Magic Mouse からトラックボールに変えてしまったので作ったことすら忘れていました。

で、そのスクリプトをいじれば
「Finder がアクティブになっている時だけカーソルサイズを特大にする」
ってはできるんじゃね? という思いつきで作りました。

気になる人は気になると思いますが

  • Applescript なので常時起動させておく必要があります。
  • 常時システム環境設定を開いておくことになります。(ただしバックグラウンドで)
  • 監視時間はあまり短くできない。

そんな感じです。

見せるのが恥ずかしいようなソースですが、こちらも公開しておきますね。
Applescript エディタにコピペすれば動作確認ができます。

[js]tell application "System Events"
repeat
set pList to name of every process whose visible is true and frontmost is true
if (pList = {"Finder"}) then
my front_app()
else
my other_app()
end if
–何秒おきに監視するかの秒数
delay 3
end repeat
end tell

–Finderがアクティブの場合
on front_app()
my open_pref()
my open_univ()
tell application "System Events"
if UI elements enabled then
tell slider "カーソルのサイズ:" of tab group 1 of window "ユニバーサルアクセス" of application process "System Preferences"
set value to 4
end tell
end if
end tell
end front_app

–他がアクティブの場合
on other_app()
my open_pref()
my open_univ()
tell application "System Events"
tell slider "カーソルのサイズ:" of tab group 1 of window "ユニバーサルアクセス" of application process "System Preferences"
set value to 1
end tell
end tell
end other_app

–システム環境設定 > マウス を開く動作
on open_pref()
tell application "System Preferences"
set current pane to pane "com.apple.preference.mouse"
end tell
end open_pref

–システム環境設定 > ユニバーサルアクセス を開く動作
on open_univ()
tell application "System Preferences"
set current pane to pane "com.apple.preference.universalaccess"
end tell
end open_univ[/js]

(抜けがあったので修正しました)

追記
カーソルを見失いにくくなりましたが、システム環境設定をいじるときは不便なので、アプリ名を決めて、前面のアプリが「システム環境設定」だったら、一時停止する、的な処理を加えないといけませんね(笑)

One Response to “カーソルサイズを変更してみる”

トラックバック

  1. 「システム環境設定を開いている間は何もしない」処理を追加 Qve [design communication]

Leave a Reply

(required)
(will not be published) (required)
(opitional)