月別: 2017年7月

AppleScriptでプログレスバー – 2

AppleScriptでプログレスバーを表示することについては、ドタバタした内容ながら、ここで紹介しました。
で、デモバージョンとして、”sudo purge”を実行するだけのアプリケーションを書きました。
そう、なんで今更”sudo purge”なんだと思うのですが、適当に処理時間がかかって、プログレスバーを表示するには都合が良かっただけです。

「メモリ開放」に関しては 、Mavericks以降は不要だと言われながらそれなりの数のツールが出ていますが、結局”sudo purge”以上の効果のあるツールを私は知りません。
Appleの、最近のメモリに関する“富豪主義(?)”については、何を言っても無駄な気がしますし、その傾向は留まらないのでしょう。あればありったけ使うので、余裕があればその分だけ積めということのようですから…。

さて、スクリプトは以下のようになります。

property UserName : ""
property UserPasswd : ""
property y : ""
property DialogPath : "/Applications/Dialog.app"

on run
	set y to path to me
	my checkPass_Name()
	my do_do()
	delay 1
	my done_done()
end run

on checkPass_Name()
	tell application "Finder"
		set UserPasswd to comment of (y as alias)
	end tell
	tell application "System Events" to set UserName to name of current user
	if UserName is "" then
		activate
		display dialog "ログインユーザ名を入力してください。" buttons {"キャンセル", "設定"} default answer "" default button 2 with icon caution returning {text returned:theVart, button returned:theVarb}
		if theVart is not "" then
			set UserName to theVart
		else
			return
		end if
	end if
	if UserPasswd is "" then
		activate
		display dialog "ログインパスワードを入力してください。" buttons {"キャンセル", "設定"} default answer "" default button 2 with icon caution with hidden answer returning {text returned:theVart, button returned:theVarb}
		if theVart is not "" then
			set UserPasswd to theVart
			tell application "Finder" to set comment of (y as alias) to UserPasswd
		else
			return
		end if
	end if
end checkPass_Name

on do_do()
	activate
	display dialog "キャッシュファイルの解放を行います。" buttons {"Cancel", "Do Purge!"} default button 2 with icon 1 giving up after 3
	try
		do shell script "open " & quoted form of DialogPath
		delay 1
		do shell script "sudo /usr/sbin/purge" user name UserName password UserPasswd with administrator privileges
	end try
end do_do

to done_done()
	beep 3
	display notification "ディスクキャッシュを解放しました。" with title "完了"
	delay 0.1
	do shell script "killall applet"
end done_done

ダイアログでプログレスバーを表示するアプリケーションはここで紹介した‘Dialog.app’を「アプリケーションフォルダ」へ入れて使う場合のスクリプトです。
‘Dialog.app’の名称を‘ProgressBar.app’とでもしておけばよかったと後で思ったのですが、まあいいでしょう。

デモアプリケーション

上記のアップルスクリプトとほぼ同じ内容のアプリケーションを”デモ版”として用意しました。ダイアログでプログレスバーを表示するアプリケーション‘Dialog.app’は別途に用意しなくても動作するようにバインドしています(編集可能な形式で保存していますので、パッケージの中身を見ていただければバインドのやり方がわかるでしょう)。

下記アドレスからダウンロード可能としました。
http://amstudio.sytes.net/amweb/purge_mem_prgrs.iso.zip

※アプリケーションの著作権は放棄いたしませんが、対価は不要です。自己責任で、自由にお使いください。
インターネット上のリンクは、作者への事前/事後の承諾は不要ですので、自由にリンクして下さい。
基本的に、再配布・転載は認めません。

保証

動作に関する保証はいたしません。また、使用によって生じたと思われるいかなる損害に対しても、作者は一切責任を負いません。使用は御自身の責任において行なってください。

elFinderがバージョンアップ – 2.1.25

少し遅くなってしまいましたが、elFinderのバージョンが上がっていました。
changelogを見ると、1ヶ月単位くらいで上がっているようです。ここで記した時のバージョンは2.2.22でした。

* elFinder (2.1.25):

– [php] Fixed #2014 “Parse error” on PHP =7.1
– [cmd:rm] Fixed #2042 add command options `infoCheckWait`, `toTrashMaxItems`
– [cmd:resize] Fixed #2043 add “Save As” button into the resize dialog
– [js:core] Fixed #2050 handling server errors during upload
– [VD:abstract] Fixed #2054 to use the same hash value as Linux on Windows server
– [js:restore] Fixed #2057 problem of empty folder handling
– [cmd:empty] Fixed #2061 add a new command `empty` – “Empty the folder”
– And some minor bug fixes

ファイルブラウザというかファイルマネージャーといった使い方はほとんどしていなくて、私にとっては、httpドキュメントルート以下にファイルをダイレクトに転送できる転送ツールといった使い方となっています。
お陰でFTPツールとは縁が切れてしまいました。
設置のための作業は、ここで記した内容と同じ作業でOKでした。