bgpict2.png 
わかばマークのMacの備忘録
初心者による Mac OSX の便利な使い方や、ソフトウェアの紹介など、Macのこといろいろ。

2023 / 09

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 

http://wakabamac.blog95.fc2.com/blog-entry-770.html

Freemem Monitor & Freemem Keeper
icn_FreememMonitor_Edm2.jpgicn_FreememKeeper_w.jpgicn_FreememMonitor_w.jpg

Freemem Keeper : メモリを監視して自動的に使ってないメモリ領域を解放する
Freemem Monitor : メモリを監視して警告し、使ってないメモリ領域を解放する
Growl対応
OS10.5、10.4・10.3※ 各対応(UB) [OS10.3でも効果有り]
フリーウェア


うむらうすのharuさんが作った、使っていないメモリ領域を解放するAppleScript製のアプリケーション「Freemem Keeper」「Freemem Monitor」の紹介です。



【 Freemem Monitor, Freemem Keeper - 概要 】


この2つのアプリは以前に紹介した「Release Memory2」をベースに作られていて、それぞれメモリ領域を監視します。

「Freemem Keeper」は、「空き」メモリが、起動時にダイアログで入力した数値より小さくなると自動的にスクリプトを実行するようになっています。

「Freemem Monitor」は、「空き」メモリが、起動時にダイアログで入力した数値より小さくなると、スクリプトを実行するかどうか選択できるようになっています。

そして、使っていないメモリ領域を解放して、スワップファイルの作成されるのを防ぐことを目的としています。




スクリプトでやっている内容は、Leopard用のバージョンでは以前の紹介記事の「Release Memory2」と内容は少し違って
  • Finder の再起動
  • Dock の再起動
  • Dashboard のキャッシュの削除
  • Locate database の再構築
    (ファイル名検索に使われるデータベースを再構築する)

以上のことを実行しています。

これらを実行することにより、使っていない(Inactive)メモリ領域を解放します。なぜ「locate database の再構築」を行うことによって、メモリを解放するのかよく分からないけど・・・。
(「Dashboard のキャッシュの削除」についてはメモリ解放と関係ないです)



例えば、Activity Monitor でメモリの状況が下のような状態だったとします。
(スクリプト実行前)
090629fmmk1.gif
  • 現在非使用中 : 1.33GB
  •     空き : 30.70MB
となっていて、円グラフでも「使っていない(Inactive)」メモリ領域のの部分が多く存在することが分かります。



この状態のときに、「Freemem Monitor」「Freemem Keeper」、それぞれのスクリプトを実行すると、下のようになります。
(スクリプト実行後)
090629fmmk2.gif
  • 現在非使用中 : 602.21MB
  •     空き : 1.14GB
となり、の「使っていない(Inactive)」メモリ領域が大幅に減り、の「空き」領域が大幅に増えたことが分かります。


こんな風に「Freemem Monitor」「Freemem Keeper」のスクリプトは、使っていないメモリ領域を解放する機能がああります。



ちなみに、Webブラウザなど大量のメモリを必要とするアプリケーションを再起動するだけでも、メモリの「空き」領域がかなり増加します。
スクリプトを実行する前に、これをやるのも一つの手です。






【 Freemem Monitor for Leopard(Edm2) 】


icn_FreememMonitor_Edm2.jpg
いろいろアイコンが違ったり、Growl対応用、そうでないものとかいろいろな種類があります。

まず、Edm2さんがスクリプト内容の若干の変更・アイコン制作をした「Freemem Monitor for Leopard(Edm2)」の説明。

起動するとダイアログで、スクリプトの実行を判断する「空き」メモリ領域の数値(MB)を入力します。
090629fmmk3.gif

入力した数値より小さくなると、スクリプトを(自動的に)実行するようになります。


次に、自動的に実行するか、スクリプトを実行する前にダイアログで確認するかを選択します。
090629fmmk4.gif

「自動実行する」を選択した場合、最初に入力した数値を超えると、自動的にスクリプトを実行します(内容的には普通の「Freemem Keeper」と同じ)。

この場合には、自分の意思とは関係なく、いきなり Finder や Dashboard が再起動するので、個人的にはあまり好みではありません。



「OK」を選択した場合には、最初に入力した数値を超えると、スクリプトを実行する前にダイアログが表示されます(キャンセルはできない)。
090629fmmk6.gif


スクリプト実行時に「Loacte database の再構築」には、管理者ユーザのパスワード入力が必要になります。「自動実行」を選択した場合も同じ。
090629fmmk5.gif

スクリプト完了後には、ダイアログで知らせてくれます(Start時の選択による)。
090629fmmk7.gif



尚、この「Edm2」バージョンの場合はバックグラウンドで起動しているのでDockのアイコンや、メニューが表示されません。

なので、終了するときはもう一度起動すると、終了するかどうかのダイアログが表示されるので、ここで操作します。
090629fmmk8.gif





【 Freemem Monitor for Leopard(Growl) 】


icn_FreememMonitor_w.jpg
※Edm2さん制作のアイコンのものもあります。

haruさんが作った、普通の「Freemem Monitor」の説明。
Growl対応したものと、そうでないものがあります。


起動するとダイアログで、スクリプトの実行を判断する「空き」メモリ領域の数値(MB)を入力します。
090629fmmk3.gif

入力した数値より小さくなると、スクリプトを実行するようになります。


Macを使っているうちにメモリの使用が増えて行って、「空き」メモリ領域が入力した数値より小さくなる際に、スクリプトを実行するかどうかのダイアログが表示されます。
090629fmmk9.gif

「Run!」を選択するとスクリプトを実行します。

スクリプト実行時に「Loacte database の再構築」には、管理者ユーザのパスワード入力が必要になります。
090629fmmk10.gif


完了すると、Growlでお知らせします。
090629fmmk11.jpg

Growlに対応していないバージョンでは、ここでの通知がダイアログで行われます。





【 Freemem Keeper for Leopard(Growl) 】


icn_FreememKeeper_w.jpg

haruさんが作った、「Freemem Keeper」の説明。
Growl対応したものと、そうでないものがあります。
(Growl非対応のものは、スクリプト実行前にダイアログが表示されて「OK」ボタンをクリックしなきゃいけないので、実質「自動」という訳ではありません。)


起動するとダイアログで、スクリプトの実行を判断する「空き」メモリ領域の数値(MB)を入力します。
090629fmmk3.gif

入力した数値より小さくなると、スクリプトを自動的に実行するようになります。

「Freemem Monitor」と違って自動的にスクリプトを実行します。
スクリプト実行時に「Loacte database の再構築」には、管理者ユーザのパスワード入力が必要になります。
090629fmmk16.gif



スクリプト実行時・完了時にはGrowlでお知らせします。
090629fmmk14.jpg
090629fmmk11.jpg


このGrowl表示の際のアイコンですが、スクリプトエディタで「Freemem Keeper for Leopard(Growl).app」を開き、
tell application "GrowlHelperApp"」のブロック中のアイコン アプリケーションの指定で「Script Editor」から「Freemem Keeper for Leopard(Growl)」に変更して、上書き保存します。
090629fmmk15.gif

すると、Growlのアイコン表示も、パンダのアイコンに変わります。
090629fmmk17.jpg

「Freemem Monitor」でも同様の方法でGrowl表示の際のアイコンを変更できます。







【 Freemem Monitor, Freemem Keeper - アイコンについて 】


icn_FreememKeeper_w.jpgicn_FreememMonitor_w.jpg

このパンダとクマーのアイコンは、僕が作ったものを採用して頂きました。
正直なところ、こんなテキトーなアイコンでいいのか、恐縮してます。

アイコン募集(Freemem KeeperとFreemem Monitor) (うむらうす)』を見て
「だれも作らないんじゃないのー?(´ー`)y-~~ 」
と生暖かく眺めてるつもりでした。

しかし、haruさんのブログに“電波”なWeb拍手を送ることが日課になっている者としては、「乗るしかない このビッグウェーブに!」ということで、電波なアイコンを送ったのでした。


以下、送った“電波”メール内容
件名 : 【アイコン募集】捜査協力のお願い【断る勇気も必要だ】

拝啓 うむらうす管理人 ハル殿


突然の連絡で恐れ入ります。
私は内閣公安室に所属する ダーティー=ハリー=ポッター と申す者です。
我々のチームは現在、広域指定過激派組織「メモリ解放同盟」なる、
凶暴且つ危険なメモリスト集団を追跡捜査中であります。

先般 ヤツらのアジトを捜査し、押収したディスクを精査した結果、
貴殿のサイトの告知『アイコン募集(Freemem KeeperとFreemem Monitor)
これにヤツらがコンタクトしようとしていることが判明致しました。

つきましては貴殿に捜査協力を願いたく、連絡差し上げた次第です。

我々の持つ「メモリ解放同盟」のNo2とNo3の幹部の
捜査資料を添付するので、ヤツらからのコンタクトがあり次第、
私のところまで連絡頂きたい。





【 捜査資料 File.01 】
090629fmmk12.gif
氏名:パークリー=ラックマー(以下クマー)
所属:メモリ解放同盟 幹部 No3
出身地:北海道
好きなもの:おとなのふりかけ 鮭味
嫌いなもの:鮭をくわえている熊の置物土産
性格:せっかち・ブツが貯まってくると「やるクマー?」と質問攻め
備考:語尾に「クマー」とつけることが多い




【 捜査資料 File.02 】
090629fmmk13.gif
氏名:ゴリーン=オワッパ=ンダ(以下パンダ)
所属:メモリ解放同盟 幹部 No2
出身地:中国地方の山奥(おそらく広島と島根の県境あたり)
好きなもの:アンドレ=ザ=ジャイアント
嫌いなもの:高橋由伸
性格:マイペース・ひとりで勝手にやってる
備考:口癖は「おわっパンダ」「やっチャイナ」
口癖の使用例1:「もう仕事は終わったの?」→「もう、おわっパンダ。全自動アル。」
口癖の使用例2:「スワップされちゃってるんじゃん?」→「再起動やっチャイナ。」





この両名は「メモリ解放同盟」の中でも特に危険人物の2人だ。
私のチームはここ数年、この両名との厳しい闘いを続けている。

そしてついに諜報員の決死の覚悟で、2日前のヤツらの会話を盗聴することに成功した。
我々には意味不明で現在、全力を挙げて解析中であるが、作業は難航している。
残念ながら、これが「どうしようもない現実」というヤツだ・・・。

しかし、貴殿ならおそらく意味が解るであろう。

これを手にする為に何人もの犠牲が払われた・・・。心して読んで欲しい。






【 捜査資料 File.03 - 盗聴記録 】

クマー「それにしてもひどい出来だ。絵の転用っぷりがひでぇクマー。」
パンダ「それを言っちゃ、おわっパンダ。」

クマー「俺なんか“パクリ”のくせに劣化コピー。全然似てないクマー。」
パンダ「似せるともっとヤバいアル。それこそ、おわっパンダ。」

クマー「小さく表示されるのに、また文字入れてやがる。読めねえクマー。」
パンダ「相変わらず進化しないアル。」

クマー「しかも日本語だクマー。」
パンダ「英語じゃないと世界に打って出れないアル。」

クマー「絵柄も日本オンリーだな。というか内容と絵が関係ないクマー。」
パンダ「きっと理解できない人が多いアル。アイコンとしては おわっパンダ。」

クマー「でもょー。」
パンダ「ん?」

クマー「オメェだクマー。『やっチャイナ』とそそのかしたのは。」
パンダ「あひー。」

クマー「・・・・」
パンダ「ムシャムシャして食った。笹でもよかったアル。」

クマー「おいっ、会話が成り立ってないクマー。夜中で頭がぼけてるとはいえ、微妙クマー。」
パンダ「・・・今は反省してるアル。ただネタ投下したかっただけアル。」

クマー「ここはアレだ。他の人のものを採用してもらうしかねぇクマー。」
パンダ「そうアル。そうアル。」

クマー「そう、これはただの“ネタ”だよ。ただの“ネタ”。」
パンダ「ネタネタネタネタネタネタネタネタネタネタァーーーッ!WRYYYYーーーッ!」

クマー「こんな夜中に何言ってるクマー?それこそネタだろ。もう寝るクマー。」
パンダ「夜中に1人でこんなこと書いてたら頭が狂ってくるアル。もう寝るアル。」

クマー「...zzzZZZ」
パンダ「制作時間より、これ考えてる方が長いアル。もうこれにて おわっパンダ。」




・・・・以上で盗聴終了。




この会話の内容は私には理解できないが、
ヤツら「メモリスト」はきっと近いうちに現れるに違いない。
そう、このまたとない機会を「ボツ」にするも、しないも貴殿次第だ。

貴殿の賢明なる判断を期待する。





平成20年8月29日
内閣公安室・北海道網走部署
でんわ番専門係長 ダーティー=ハリー=ポッター


制作には数えきれないくらいの日時と時間が掛かりました。
なんと、のべ2日間も!(数え切れた)
アイコン制作 1割、電波な文章を考えるのに 9割、の時間と労力を使ったのでした。

あとでEdm2さんの綺麗なアイコンを見て、涙目・・・。
アイコンを作っていただいた (うむらうす)






(ダウンロードリンク)
Site top page : うむらうす

[ Freemem Monitor ]
Download page : 残り空きメモリ監視AppleScript「Freemem Monitor」作成 (うむらうす)

[ Freemem Keeper ]
Download page : 空きメモリ確保AppleScript「Freemem Keeper」作った (うむらうす)



(関連記事)
Release Memory2 --- メモリ領域を解放するAppleScript
Libera Memory --- 使用していないメモリ領域を解放する

edit

Utility | CM:3 | TB:0

tag : Memory  Maintenance  AppleScript  Growl 

+

http://wakabamac.blog95.fc2.com/blog-entry-510.html

Spark
icn_Spark.jpg
Spark : アプリの起動・AppleScriptの実行など様々な操作にホットキーを割り当てる
OS10.4.11以上(UB)、OS10.3.9 各対応
ドネーションウェア


アプリケーションの起動、ファイルを開く、AppleScriptの実行、キーストロークの実行、iTunesの操作、メニュー項目の実行など様々な操作にホットキーを割り当てることができる「Spark」の紹介です。

090701s1.jpg



【 Spark - ホットキーの設定方法 】



Spark を起動して、まずこれから設定するホットキーが有効なアプリケーションを選択します。

ツールバーの中央に、有効なアプリケーション名のボタンが表示されます。
デフォルトでは「All Applications's Hotkeys」のボタンが表示されているので、これをクリックするとドロワーが開きます。
090701s2.gif
(Windows メニュー > Toggle Applications Drawer でも開きます)

例えば、ここで「Finder」を選択したのならば、これから設定するホットキーはFinderが最前面のときしか機能しなくなります。

ツールバーのボタンも「Finder's Hotkeys」と表示されます。
090701s3.jpg


すべてのアプリケーションでホットキーを有効にするならば、「All Applications's Hotkeys」を選択します。
また、ドロワー下の「」ボタンで、有効にしたいアプリケーションを追加登録できます。




▶ AppleScript をホットキーで実行する(AppleScript)


次に各種ホットキーの設定方法の説明です。
サイドバーの「AppleScript」の項目をダブルクリックするか、歯車メニューから選択( command+1 )して、新規ホットキー登録のダイアログを開きます。
090701s4.gif


例えば「現在開いているFInderウインドウと同じウインドウを開く」AppleScriptをホットキーで実行するようにしてみます。

ホットキーが有効なアプリケーションを「Finder」にしておいて、ホットキー登録ダイアログを開き、必要な項目を入力して行きます。
090701s5.gif
Shortcut」のところをクリックして、ホットキーを設定します。
Name」はこの項目の名前です。
Source」タブでは、AppleScriptを直に入力できます。
 「Check」ボタンでコンパイル
 「Run」ボタンで、そのスクリプトの実行テスト。
 「Editor」ボタンで、入力したスクリプトを ScriptEditor で開きます。

File」タブでは、AppleScriptのファイルを(.scpt)を指定できます。



必要事項を入力・設定したら、「Create」ボタンで、このホットキーを登録します。
登録するとそれがリストに表示されます。
090701s6.gif

この項目の左端のチェックで、このホットキーの項目の使用/使用停止を切り替えられます。
090701s14.gif

編集するとときには、リストをダブルクリックしてダイアログを開き、内容を編集できます。

リストの項目を選択して deleteキー を押すと、それを削除できます。



最後に、Spark メニュー > Start Spark Daemon、もしくはウインドウ下のボタンをクリックして、Spark のデーモンを起動すると、登録したホットキーでの操作が可能になります。
090701s7.gif

Spark を終了しても、デーモンが起動していれば、登録したホットキーは常時使用できます。

これで、Finderが最前面のときに control+command+S のホットキーを入力すると、Finderウインドウのクローンを作ることができるようになります。



ちなみに、このスクリプトは「Finder Toolbar Scripts」の中の「Clone Window」と同じです(最初の頃よりちょっと改編したけど)
(* Clone Window *)
-- version 1.03
-- http://wakabamac.blog95.fc2.com/


-- 最前面のFinderウインドウと同じウインドウを開く

global button_result

on run
my main_routine()
end run

on main_routine()
tell application "Finder"
if Finder window 1 exists then
try
set select_item to selection
set theView to current view of Finder window 1
set theWindow to target of Finder window 1
set {a_x, a_y, b_x, b_y} to bounds of Finder window 1

make new Finder window to theWindow

if theView is column view then -- カラムビューの場合
if (count of select_item) = 1 and class of (item 1 of select_item) is folder then
set current view of Finder window 1 to theView
else
try
select select_item
end try
set current view of Finder window 1 to theView
end if
else -- カラムビュー以外の場合
set current view of Finder window 1 to theView
try
select select_item
end try
end if

set bounds of Finder window 1 to {a_x + 20, a_y + 20, b_x + 20, b_y + 20}

on error error_message number error_number
my show_alert("Error numbeer : " & error_number, error_message, warning, {"OK"}, 1, 60)
return
end try

else
beep 1
return
end if
end tell
end main_routine


-- 各種アラート表示
on show_alert(alert_text, message_text, alert_icon, button_list, default_button, give_up_time)
tell me
activate
display alert (alert_text as Unicode text) message (message_text as Unicode text) as alert_icon buttons button_list default button default_button giving up after give_up_time
set button_result to button returned of result
end tell
end show_alert

同じだったら、AppleScriptとしてではなく、アプリケーションとして Spark に登録すれば早いんだけど、なぜだか AppleScript をアプリケーションバンドル形式で保存したものに関しては、Spark で起動時に確認ダイアログが表示されるようになってしまって、うまく行きません。





▶ ホットキーでアプリケーションの起動・終了など(Application)


Spark はホットキーでアプリケーションの起動・終了などの操作をすることができます。
登録するには、サイドバーの「Application」をダブルクリックして(or command+2 )ダイアログで必要事項を入力・設定します。
090701s8.gif

Choose...」ボタンでアプリケーションを指定し、Shortcut、Name、Actionなどを設定します。

Actionは「Launch(起動)」「Quit(終了)」「Launch - Activate/Quit(起動して最前面にしてすぐ終了)」などが用意されています。
090701s9.gif

Hide Front」や「Force Quit...」など、隠す・強制終了などはアプリケーションを指定せず、最前面のアプリなどが対象になります。



Options」ボタンでさらに細かい設定が可能です。

Launch」タブでは、バックグラウンドで起動などの設定ができます。
090701s10.gif

Launch a new instance.」にチェックしていると、そのアプリケーションが起動していなければ起動し、既に起動しているなら同じアプリを新たなウインドウを開いてたりして複数起動するようになります(機能しないアプリもあります)。



Activate」タブでは、ホットキーを押したときに既にそのアプリが起動していた場合の設定ができます。
090701s11.gif



Visual」タブでは、ホットキーを押して、そのアプリケーションが起動/最前面になったときにベゼルウインドウでお知らせします。
090701s12.gif

ベゼルにはそのアプリケーションのアイコンを表示します。
090701s13.jpg





▶ ホットキーでファイルを開く(Document)


サイドバーの「Ducument」をダブルクリックして(or command+3 )新規ホットキーを登録すると、ホットキーでよく使うファイルを開いたり、ホットキーでよく参照するフォルダを開いたりすることなどができます。

「Document」のActionには、以下のものが用意されています。
090701s17.gif


例えば「Open With...」Actionを使うと、ファイルとそれを開くアプリケーションを指定しておいて、ホットキー1つでいつでも開くことができるようになります。
090701s15.gif


また「Open Selection With...」Actionを使うと、Finderで選択しているファイルを、指定したアプリケーションで開くことができます。
090701s16.gif
(Finder が最前面のときしか機能しない)


他にも「Open URL...」Actionでは、URL を指定してWebブラウザでそのページを開くこともできます。
090701s18.gif





▶ ホットキーでiTunes を操作する(iTunes)


サイドバーの「iTunes」をダブルクリックして(or command+4 )、新規ホットキーを登録して、iTunesの各操作をホットキーで行うことができます。
090701s19.gif

Display Track Info」にチェックしていると、それを実行したときに曲情報などを表示します。
090701s20.jpg


iTunes の各種操作のActionは以下のものが用意されています。
090701s21.gif


この中の「Start/Stop Visual」が、なぜだか機能しませんでした。
ビジュアライザを表示するぐらいなら、僕でもAppleScriptで簡単に作れるので、AppleScriptで Spark に登録しました。

tell application "System Events"
set processList to name of every application process
end tell

if processList contains "iTunes" then
tell application "iTunes"
if player state is playing then
activate
--set minimized of window 1 to false
set full screen to true
set visuals enabled to true
end if
end tell
end if






▶ ホットキーでメニューアイテムを実行する(Menu Item)


サイドバーの「Menu Item」をダブルクリックすると、(最初からショートカットキーの設定されていない)メニュー項目に対してホットキーを設定することができます。

例えば、Finderの
ウインドウ メニュー > ウインドウを整理
optionキー を押すと「すべてを手前に移動」が切り替わる)
にホットキーを割り当ててみます。

まず最初に「Menu Item」のホットキー登録ダイアログを開き、下の「Application」のリストに起動中のアプリ一覧が表示されるので、Finderを選択します。
その下のリストにはFinderのメニューが表示されるので、ここから「ウインドウを整理」を選択します。
090701s22.gif

あとは Shotcut、Name を入力して登録します。
090701s23.gif

これでホットキーで「ウインドウを整理」の項目が実行できます。



尚、システム環境設定の「ユニバーサルアクセス」パネルで
補助装置にアクセスできるようにする」にチェックしないと機能しません。
071105is4



Menu Item」のホットキー登録は、別に Spark でやらなくても、システム環境設定の「キーボードとマウス」パネルで設定できるので、後者の方で設定した方がいいと思います。

システム環境設定でのショートカットキーの設定方法については下記の記事を参照して下さい。





▶ ホットキーでシステム関連の操作を行う(System)


サイドバーの「System」をダブルクリックすると、ログアウト、ユーザスイッチ、スリープ、スクリーンセーバの起動など、システム関連の操作にホットキーを登録できます。

「System」のActionには以下のものが用意されています。
090701s25.gif


例えば、「Switch to...」Action を選択して、その下のリストで「Login Windows」を選択します。
090701s24.gif

これを登録してホットキーを押すと、ユーザスイッチと同じように画面がクルッと回って「ログインウインドウ」が表示されます。

他のユーザアカウントに切り替える場合にも使えるし、ログインパスワードが必要なので、席を外すときなどにMacを「ロック」する意味でも使えます。





▶ ホットキーでキーストロークを実行する(Text/Keyboard)


サイドバーの「Text/Keyboard」をダブルクリックしてホットキー登録すると、定型文や今日の日付のテキスト入力をホットキー1つで行ったり、複数のキーストロークを1つのホットキーで実行できるようになります。

Text」タブでは、予め入力しておいたテキストを、そのアプリで入力します(コピー&ペーストではない)。
090701s26.gif
入力できるのは半角の英数字のみで、日本語の入力はできません。
1文字ずつタイプして行くので、長い文章には向いてません。



Dtae」タブでは、今日の日付と時間をホットキーで入力できるようにします。
090701s27.gif

これもコピー&ペーストではなく1文字ずつタイプして行くので、年月日などの日本語入力はできません(空白になる)。
だから、下のような設定にしてもうまく行きません。
090701s28.gif



Keystroke」タブでは、登録しておいたキーストロークをホットキー1つで実行できます。

例えば、Dockに登録してある「ダウンロード」フォルダを、ホットキーで いきなりStackで表示するようにしてみます。

まず準備として
システム環境設定キーボードとマウスキーボードショートカット
を開き、「Dock を操作対象にするcontrol+F3 )」のチェックを1度外します。
090701s29.gif

次に「ダウンロード」フォルダ内に存在する「.localized」ファイル(不可視)を削除します。
これでFinderを再起動すると「ダウンロード」→「Downloads」と英語表記に変わります。
表記名が変わるので自己責任でやって下さい。)

英語表記に変わったなら、Dockの「ダウンロード」フォルダを削除して、「Downloads」フォルダを新たに登録し直します。


これで Spark でキーストロークのホットキーを登録します。
090701s30.gif

キーストロークを設定するときは「Record」ボタンをクリックして別ウインドウでキーを入力していきます。
090701s31.gif
ここでは controlF3 D O W N return とかに設定します。

これで Spark のホットキーを登録した後に、またシステム環境設定の「キーボードとマウス」パネルで、「Dock を操作対象にするcontrol+F3 )」のチェックを入れ直します。

これで、ホットキー1つで Dock の「Downloads」フォルダのスタックを表示できるようになります。





Spark はベータ版で(ずいぶん前からだけど)、ホットキーの設定中にうまく設定できないときが何度かあります。
そういう場合は Spark を再起動すると、またちゃんと設定できるようになります。






この記事では Spark 3.0 b9 を使用しています。

(ダウンロードリンク)
Site top page : Shadow Lab.
Download page : Spark 3 Bêta9

(OS10.3.9用の version 2.2.1 - Spark 2

edit

Utility | CM:0 | TB:0

tag : KeyBind  Keystroke  AppleScript  Launcher  iTunes 

+

http://wakabamac.blog95.fc2.com/blog-entry-889.html

Finder Toolbar Scripts Plus
icn_FinderToolbarScriptsPlus.jpg
Finder Toolbar Scripts Plus : Finderのツールバーで使う小物アプリ4組詰め合わせ
OS10.5推奨(UB)
社会貢献ウェア※


Finderのツールバーに登録して使用する、自作のAppleScript製アプリケーション「Finder Toolbar Scripts」の第5弾です。

「Finder Toolbar Scripts」をバージョンアップさせて、それに今回の新しいアプリケーションを含む予定だったのですが、既存のアプリの修正がいっこうに進まず、
  • デバッグ作業

  • なかなか進まず、飽きて放置

  • 久しぶりにデバッグ再開

  • 変数がどれに当たるのかなど、忘れてしまってなかなか進まず

  • 思い出した頃には、また、やる気が失せて放置

という悪循環になっていたので、新しく作ったものだけ、暫定的に
Finder Toolbar Scripts Plus」として公開することにしました。


「Finder Toolbar Scripts」の修正作業が終わってバージョンアップしたら、これら4組のアプリも「Finder Toolbar Scripts」に含めて公開するつもりです。
まあ「やるやる詐欺」にならないよう、ぼちぼちやっていきます・・・。




【 各アプリケーションの使い方 】


各アプリケーションを Finder のツールバーに登録して使用して下さい。


▶ StayOnLook
icn_StayOnLook.jpg
Finderが最前面でなくとも表示され続ける、もうひとつのQuickLookです。

ツールバーに登録した「StayOnLook」をクリックして実行すると、Finderで選択しているアイテム(もしくはドラッグ&ドロップしたアイテム)を「QuickLook」のウインドウで表示します。

このウインドウは、Finder以外のアプリケーションが最前面になったとしても、表示され続けます。
(例↓Safari が最前面であっても、表示されます。)
090326fts1.gif

ウインドウを閉じるときは、左上の「×」ボタンをクリックしないと閉じません。

このアプリはコマンドラインの

qlmanage -p ファイルパス

を実行しているだけで、この場合だと、QuickLookのウインドウは「×」ボタンをクリックしない限り表示され続ける性質を利用したものです。

僕の場合、ブログ記事を書くときに、キャプチャした画像を見ながら文章を書くことが多いので、この「StayOnLook」を作りました。

動画を見るときに使うと、不意に他のアプリケーションが最前面になったとしてもウインドウが消えてしまうこともないので、便利に使えます。


また、「StayOnLook」を使用しているときに普通のQuickLookも表示できるので、2つを見比べたりすることもできます。
090326fts2.gif


さらに、「StayOnLook.app」の複製を作って使用すると、複製の数の分だけ「QuickLook」ウインドウを表示させることもできます(+普通のQuickLookも)。
090326fts3.gif



複数のアイテムを「StayOnLook」で表示したときに、「一覧」を表示すると元の単体を表示するウインドウに戻れません。一度「×」でウインドウを閉じてから、再度「StayOnLook」で表示させます。






▶ MaxFlow
icn_MaxFlow.jpg
MaxFlow は、そのFinderウインドウを、フルスクリーンの「CoverFlow」表示にします。

Finderの CoverFlow はOS10.5から追加された機能で、「Viewer」としては最も身近で優れたものだと思いますが、僕の場合は普段Finderウインドウをそんなに大きく表示していないこともあり、QuickLookで済んでしまうし、CoverFlow をそんなに活用していません。

そこで、Finderウインドウをフルスクリーンにすれば、この優れた「Viewer」としての機能をもっと活用できるだろうと思い、これを作ってみました。


例えば、画像ファイルを保存しているフォルダをFinderウインドウで開いているとします。
090326fts4.gif


これで、ツールバーに登録した「MaxFlow」をクリックすると・・・
090326fts5.jpg
画面いっぱいにウインドウが広がり、CoverFlow表示にします。

後はマウスホイールで画像をブラウズできるし、QuickLookでさらに大きく表示したりと、イメージビューアとしてはかなり便利に使えます。

MaxFlowでフルスクリーンにしたウインドウは閉じずに、もう一度ツールバーの「MaxFlow」をクリックして下さい

そうすると、元のビュー、元の位置・大きさのウインドウに戻ります
090326fts6.gif






▶ Two Windows
icn_TwoWindows.jpg
Two Windows」は、現在のFinderウインドウと同じウインドウを、左右上下に隣接するように開きます。

090326fts7.gif


Finderでファイル移動などをするときに「2画面ウインドウのファイルブラウザ」として使えるようにする目的で作ったものです。
(スクリプト自体は「Finder Toolbar Scripts」の「Clone Window」を、ちょっと改造しただけのものなんだけど)


(左下の拡大ルーペはAxson、マウスポインタの回りの赤い円はHighlighter

ウインドウを開くときに、元のウインドウの位置や大きさによって、新しいウインドウの開く場所が上下左右変わります。

「Two Windows」を実行するときに、元のウインドウが画面からはみ出していない限り、新しいウインドウは画面内に納まるようになっています。






▶ Close Window , Reopen Window
icn_Close_Window.jpgicn_Reopen_Window.jpg

Close Window」はそのFinderウインドウを閉じ、閉じたウインドウのデータ履歴を15個まで記録しておき、「Reopen Window」は Close Window で閉じたウインドウを再度開いて行きます。

僕の場合、Finderウインドウを閉じてしまってから「やっぱり開いておくんだった」と思うことが多く、こういうときに「Undo」的な機能があればいいのに、と思って作ったものです。
(ちょっと動作が遅いけど、まあ許容範囲?)


(左下の拡大ルーペはAxson、マウスポインタの回りの赤い円はHighlighter


「Reopen Window」でウインドウを再度開くときには、そのウインドウで表示していたフォルダ、ウインドウの位置・大きさ、ビュー、選択していたアイテムなどを再現するようにしています。

そのFinderウインドウのブラウズ履歴は再現できません。

また、「ゴミ箱」や「スマートフォルダ」などは開けません。
当然ながら、ウインドウを Close Window で閉じた後に、そのフォルダを別の場所に移動したり、削除してしまったりすれば、Reopen Window で再度開くことはできません。



このアプリケーションがやっていることは、「Close Window」でウインドウを閉じるときに、そのウインドウのデータを保存しておき(最大15個のデータ←スクリプトを編集すれば数を変更できる)、「Reopen Window」を使うときにそのデータを読み込んで、ウインドウを再現するようにしています。

「Reopen Window」でウインドウを開くときには、その開いたウインドウのデータを破棄し、もう一度「Reopen Window」を使うときには、その前の「Close Window」で閉じたウインドウを再現します。
(カラム表示のウインドウを再現するときは、ちょっと動作がイマイチ)

閉じたウインドウのデータはアプリケーション本体に保存され、Macの電源を落としても記録されています。
(「property」で変数の値をスクリプト本体の属性としているので、スクリプトを上書き保存しない限り保持されます)

尚、この「Close Window.app」と「Reopen Window.app」は、必ず同じフォルダ内に保存して使用するようにして下さい。






【 インストールと登録について 】


インストールは、ハードディスクの任意の場所に保存して、使用するアプリケーションを Finderウインドウのツールバーにドラッグ&ドロップして登録して下さい。
080510fts1

登録解除するときは、commandキー を押しながらツールバーの外へドラッグします。

ツールバーのアイコンを小さく表示している場合に、だいたい他のアイコンと同じ大きさになります。


ツールバーでなくとも、サイドバーに各アプリケーションを登録しても使えます。
080518fts9


QuicksilverButlerSpark などを使えば、ホットキーで操作できます。



アンインストールするときは、アプリケーションをゴミ箱に移動するだけです。初期設定ファイル、キャッシュなどの付随ファイルは作成されません。






【 使用にあたって 】


これらのアプリケーションを使用するにおいて、不具合・不利益等が発生しても、いっさいの責任は負いません。使用者の責任において、使用して下さい。

スクリプトのソースを見たい人は、「実行専用」で保存していないので、各アプリケーションを ScriptEditor で開けば見れます。

AppleScriptが解るなら、「Two Windows」のウインドウを開く位置を自分好みに変更したり、「Reopen Window」で保存しておくウインドウデータの最大数を変更したりと、自分の環境に合わせて改造して使って下さい。

また「StayOnLook」「MaxFlow」以外は、OS10.4でも動くかも?しれませんがテストしていません。



※ 社会貢献ウェア
これらのアプリケーションは社会貢献ウェアとします。
コンビニでおつりを募金箱に入れるも良し、ボランティア活動でもいいし、何か社会の役に立つことをして下さい。
もしくは、クリック募金で10社以上のクリック募金を毎日、最低1週間は続けて下さい。






(ダウンロードリンク)
Site top page : ココ
Download page : FinderToolbarScripts_Plus



(関連記事)
Finder Toolbar Scripts --- イニシャルリリース
Finder Toolbar Scripts 1.22 --- version1.22。追加したアプリケーションの説明
Finder Toolbar Scripts 1.24 --- version1.24。追加したアプリケーションの説明
Finder Toolbar Scripts 1.27 --- version1.27。追加したアプリケーションの説明
Finder Toolbar Scripts Plus --- 新しいアプリ4組のみを暫定公開+その使い方説明

edit

My Software | CM:0 | TB:0

tag : Finder  AppleScript  QuickLook 

+

http://wakabamac.blog95.fc2.com/blog-entry-785.html

DelayedLauncher
icn_app
DelayedLauncher : ログインからちょっと遅れて登録したアプリを起動させる
OS10.4以上(UB)
フリーウェア


Macの手書き説明書』さんで知った、登録しておいたアプリケーションを指定した時間分、遅らせて起動する「DelayedLauncher」の紹介です。

ログイン項目に DelayedLauncher を登録すると、起動するのに時間が掛かるソフトを遅らせて起動できるので、スムーズにログインできるでしょう。


まず、DelayedLauncher を起動するときに、commandキー を押しながらダブルクリックして起動します。
(普通に起動すると、登録しているアプリケーションが遅れて起動する為)
090310dl1.gif

遅らせて起動したいアプリケーションをこのウインドウにドラッグ&ドロップするだけで、登録できます。

リストの右端の「Hide」にチェックすると、起動時にそのアプリケーションを隠します。

Open items after」のスライダで遅らせる時間を指定します。


これらの設定が完了したら、
システム環境設定アカウントログイン項目
を開いて、「DelayedLauncher」をログイン項目に加えます。
090310dl3.gif

※DelayedLauncher に登録したアプリを、ログイン項目に登録している場合は、ログイン項目から登録解除します。


これでログインしたときに「DelayedLauncher」が起動して、カウントを始め、登録したアプリケーションを遅らせて起動できます。
090310dl2.gif
アプリが起動し始めてからちょっとして、DelayedLauncher は自動的に終了します。

LaunchBar などは、起動にけっこうな時間が掛かるので、DelayedLauncher に登録しておくといいです。



似たようなことを AppleScript を使えば簡単にできることなんだけど、こういものはアイデアが大事で、そういった意味で「DelayedLauncher」はナイスアイデアなソフトでしょう。






ついでなので、AppleScriptでのやり方を説明しておくと、
例えば、iTunes と Mail.app を遅らせて起動したい場合、Script Editor で下のようなスクリプトを書きます。
delay 10
tell application "iTunes" to activate
delay 2
tell application "Mail" to activate


これを保存するときに、
フォーマットを「アプリケーションバンドル」(もしくは「アプリケーション」)
オプションには何もチェックせずに保存して下さい。
090310dl4.gif

保存すると、こんなアイコンのアプリケーションが作られます。
090310dl5.gif

これをログイン項目に登録すると、10秒後にiTunes、その2秒後にMail.appが起動するようになります。


delay 3 -- 遅らせる時間を秒数で入力
tell application "アプリ名" to activate
--activate」はそのアプリを最前面にするコマンド。
-- アプリが起動していなければ、起動させる。

こんな感じで、上記の2行の命令文を繰り返して行けば、DelayedLauncher ではできない各アプリの起動する順番も、自分で設定できます。



特にメニューバーに表示されるアイコンの順番を、自分好みにしたいときは、各アプリ・システム環境設定ペインを直接ログイン項目に登録せずに、AppleScriptで起動させると思い通りに行くでしょう(ちょっと面倒だけど)。
090310dl6.gif

(一部のシステム環境設定ペインのメニューバーのアイコンは、command+ドラッグ で移動できます)

command+ドラッグ でアイコン移動できないシステム環境設定ペインはたいてい、そのバンドルパッケージ内にアプリケーションが存在し、それがメニューバーに表示されていることがあります。

これを上記のAppleScriptで起動しようと思えば、そのパッケージ内のアプリケーションを起動するようにします。
どれが、そのアプリに該当するのか、よく分からない場合は、ログイン項目に表示されている名前をそのまま入力するとOKです。
(右クリックでFinderに表示することもできます。)
090310dl7.gif



例えば、下のようなスクリプトでメニューバーアイコンの順番を、自分好みに調整します。
(AppleScriptは上の行から順に処理して行きます)
delay 8
tell application "SMARTReporter" to activate
tell application "ClamXavSentry" to activate
tell application "Shades" to activate
tell application "Caffeine" to turn on
tell application "InstantShot!" to activate
tell application "PTHPasteboard" to activate

これをまた、アプリケーションバンドル形式で保存して、ログイン項目に加えます。

当然ながら、AppleScriptで入力した各アプリを直接ログイン項目に登録している場合は、それらを解除しなければなりません。

この「delay」の時間調整は、何回か試してみて調整しないとうまく行きません。
(システムの「再ログイン」と「再起動」で起動する早さも変わって来るので)

それと、起動する順番をコントロールしたいだけならば、各アプリケーションの「activate」コマンドの間に「delay」を入れる必要は無いようです。
activate」だと、最前面にするコマンドなので、そのアプリケーションが起動し、メニューバーに表示されてから、次のコマンドを実行している?ようです。



(これを書いてたら、某掲示板のスレで、同じようなことが書いてあった。)






この記事では DelayedLauncher 1.0 を使用しています。

(ダウンロードリンク)
Site top page : Tao Effect
Download page : Tao Effect Blog » Blog Archive » DelayedLauncher - Coming to an Espionage Near You!

edit

Utility | CM:0 | TB:0

tag : Launcher  AppleScript  Login 

+

http://wakabamac.blog95.fc2.com/blog-entry-879.html

ScriptSaver
icn_ScreenSaver
ScriptSaver : スクリーンセーバを起動した(or 復帰)ときにAppleScriptを実行
OS10.3以上(UB)
フリーウェア


スクリーンセーバを起動したとき、もしくはスクリーンセーバから復帰したときに、指定しておいたAppleScriptを実行する「ScriptSaver」の紹介です。


インストール後に
システム環境設定デスクトップとスクリーンセーバスクリーンセーバ
を開き、「ScriptSaver」を選択して、オプションを開きます。
090308ss1.gif

▶ Activation Script
ここで、スクリーンセーバ起動時に実行する AppleScript を選択します。
Run asynchronously」にチェックすると、スクリーンセーバとAppleScriptが同時に起動しないようになります。
(スクリーンセーバが起動 → AppleScript を実行という順番)

▶ Screen Saver
ここで、使用するスクリーンセーバを選択します。
「ScriptSaver」は英語の言語リソースのソフトなので、スクリーンセーバの「RSS Visualizer」などは英語で表記されます。

▶ Deactivation Script
スクリーンセーバから復帰したときに実行する AppleScript を選択します。


「Activation Script」「Deactivation Script」に何も指定しなければ、スクリプトは実行せずに、指定したスクリーンセーバを起動するだけになります。
Location のテキストフィールドでパスを消去すれば、何も無しになります。

ScriptSaver で指定するAppleScriptは、別に
/Users/登録アカウント名/Library/Scripts/
/Library/Scripts/
の場所に保存していなくともOKで、どこの場所にあっても大丈夫です。



ScriptSaver を使うと、いろいろなことをできるので、その例を採り上げてみます。


【 iTunes のビジュアライザをスクリーンセーバとして使用する 】


iTunes のビジュアライザをスクリーンセーバとして使用することができます。

ScriptSaver をダウンロードしたときに、一緒にサンプルスクリプトが含まれていて、その中に「ShowiTunesVisualizer.scpt」というものがありますが、これでは(僕の環境では)スクリーンセーバが優先表示されてうまく機能しないし、iTunesを起動していないときには、勝手に iTunes を起動するので、作り直してみました。
property idleTime : 900 -- スリープするまでの時間(秒)「0」にするとスリープしない

on run
tell application "System Events"
set processList to name of every application process
end tell

if processList contains "iTunes" then
tell application "iTunes"
if player state is playing then
try
tell application id "com.apple.ScreenSaver.Engine" to quit
end try
activate
--set minimized of window 1 to false
set full screen to true
set visuals enabled to true
my sleepRun()
end if
end tell
end if
end run


on sleepRun()
if idleTime is 0 then return

repeat with i from 1 to idleTime
delay 1
tell application "System Events" to set currentApp to (name of the first process whose frontmost is true)
if currentApp is not "iTunes" then
return
else
tell application "iTunes"
if visuals enabled is false then return
end tell
end if
end repeat

--tell application "iTunes" to set full screen to false
tell application "iTunes" to set visuals enabled to false
tell application "System Events" to sleep
end sleepRun

(※ScriptSaver での設定時に「Run asynchronously」にチェックを入れないと機能しません。このスクリプトと併用して「Deactivation Script」で他のスクリプトを設定すると、たぶん機能しません。)

このスクリプトは、iTunes が再生中の場合のみビジュアライザを表示して、ビジュアライザから復帰しなければ15分後にスリープするようにしています。

ビジュアライザを表示するために、スクリプトで「スクリーンセーバを終了させる」といった、ちょっと本末転倒な作りになっています。




【 スクリーンセーバ起動中にメンテナンススクリプトを実行する】


夜中に自動的に起動するようになっている日/週/月ごとのメンテナンススクリプトをまとめて実行させます。

夜中にMacをスリープさせていたりして、実行されているかどうか、イマイチよくわからないメンテナンススクリプトを、スクリーンセーバが起動中に実行させるので、効率よく?実行できると思います。
-- //月ごとのメンテナンススクリプトをまとめて実行します
-- 下の行の "管理者アカウント名" "パスワード" を入力してから保存して下さい。
do shell script "/usr/sbin/periodic daily weekly monthly" user name "管理者アカウント名" password "パスワード" with administrator privileges

(※ "管理者アカウント名" と "パスワード" を入力してから保存して下さい)

ちなみにメンテナンススクリプトが、いつ最後に実行されたかを確認するには、ターミナルで次のコマンドを実行すると、わかります。

ls -al /var/log/*.out






【 スクリーンセーバ起動中に「アクセス権の修復」を行う 】


下記のスクリプトをScriptSaverの「Activation Script」に設定しておけば、スクリーンセーバ起動中に「アクセス権の修復」を行います。

上記の「日/週/月ごとのメンテナンススクリプト」とまとめて1つのAppleScriptにして、一緒に実行してもいいでしょう。
do shell script "diskutil repairPermissions /"

参考『スワップファイルをなくそう4 - Release Memory2 (for Tiger) (うむらうす)




【 スクリーンセーバから復帰後に"唄う" 】


スクリーンセーバから復帰したときに、Macが「唄う」ようにします。
「Deactivation Script」に設定してみて下さい。5曲あるうちのランダムで1曲選ぶので、おみくじ感覚で。
参考『Terminal Sings Songs
set theseSongs to {"say -v Good oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo", "say -v Bad oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo", "osascript -e" & quoted form of "say \"Dum dum dum dum dum dum dum he he he ho ho ho fa lah lah lah lah lah lah fa lah full hoo hoo hoo\" using \"Cellos\"", "osascript -e" & quoted form of "say \"oh This is a silly song silly song silly song this is the silliest song ive ever ever heard So why keep you listening listening listening while you are supposed to work to work to work to work its because i hate my job hate my job hate my job its because i hate my job more than anything else No its because youve no life youve no life youve no life and you better go get one after forwarding this crap\" using \"cellos\"", "osascript -e" & quoted form of "say \"Dum dum dee dum dum dum dum dee Dum dum dee dum dum dum dum dee dum dee dum dum dum de dum dum dum dee dum dee dum dum dee dummmmmmmmmmmmmmmmm\" using \"Hysterical\""}
set singCommand to item (random number from 1 to 5) of theseSongs
do shell script singCommand

(※ Safariなど一部Webブラウザでは半角の「\(バックスラッシュ)」が「¥」と表示されてしまいます。Firefoxだとちゃんと表示されます。Safariでもスクリプトリンクから開くと、ちゃんと半角の「\」で表示されます。)

ちょっと(いや、かなり)ウザかったりします・・・。






この記事では ScriptSaver 2.10 を使用しています。

(ダウンロードリンク)
Site top page : scattershot genius;
Download page : ScriptSaver: screensaver-triggered AppleScript « scattershot genius;

edit

Utility | CM:0 | TB:1

tag : AppleScript  ScreenSaver 

+