カーソルサイズを変更してみる

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

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

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

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

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

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

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

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

そんな感じです。

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

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

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

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