Automatorでランダムデスクトップピクチャー設定—Random_DesktopPicture.workflow

今回は、本当に小ネタです。
デスクトップピクチャーの切り替えのために、AppleScriptでスクリプトを書いていました。

property PictFolderPath : "SkyDrive:Photos"
on run
	set DocF to path to home folder from user domain as Unicode text
	set PictFolder to (DocF & PictFolderPath)
	tell application "Finder"
		set previousPict to desktop picture
		set targetPict to some item in alias PictFolder
		if targetPict is previousPict then set targetPict to some item in alias PictFolder
		set desktop picture to targetPict
	end tell
end run

フォルダ‘/SkyDrive/Photos’には画像ファイルしか入れていませんので、ここでは画像ファイルかどうかの判定もしていません。
無作為にピックアップしますので、もし現在のものと同じものを選んでしまった場合は、更に無作為に抽出するという方法となっています。

この画像ファイルが入ったフォルダを複数指定したくなってきました。となると、

  • 複数の画像フォルダのリストを作る
  • その中から、サブフォルダがあればその中まで拾って、画像ファイルだけをピックアップする
  • ピックアップされたアイテムのパスをリストに加工する

という作業が必要です。何行くらいかかるか考えていると、少々面倒になってきました。

■Automatorのアクションを使えば簡単では?
そこで、Automatorのアクションを使って、画像ファイルのフィルタリングをやってみようと思い立った次第です。

2013-11-14 3.02.54

Automatorでワークフローを作成すると、簡単に「Finder項目の取得」でターゲットフォルダのパスが拾えますし、ターゲットフォルダ内のアイテムからイメージファイルだけをピックアップするということが「フォルダの内容を取得」で容易にできます。また、複数のフォルダを指定するのが実に簡単で、フォルダの差し替えも簡単です。
これをAppleScriptだけでやるとそれなりの行数を書かなくてはならないところですが、Automatorでは実に簡単なアクションの組み合わせで実現できてしまいます。
(ピクアップされた画像ファイルからランダムにデスクトップピクチャーを指定するところでは、残念ですが(?)AppleScriptでやっています)
このファイル/フォルダの操作の簡便さに、SpotlightやTime Machine、Finderのラベルやスマートフォルダ、HFS+の拡張属性など、最近のOS Xが目指す方向性の一端が窺えるのでしょう。

広告

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中