How My Heart Sings

Tue, 01 Feb 2011

スケジュールを組んでMacをスリープから復帰させる方法を知ったのはつい最近だ

朝は目覚まし時計なんかじゃなく優しい音楽で目覚めたい。iTunes.appの自動運転について知識は得た。でもスケジュールを組んでMacをスリープから復帰させる方法が分らなかった。つい最近その方法を知った。恥しいです。

System PreferenceからEnergy SaverScheduleってボタンあるやん。でも、これって簡単なんしか作れんやんなあ…以下は、iTunes.app用に作ったAppleScriptです。備忘のため。

set somePlayList to {"クラシック-ドイツ-古典-ハイドン", "クラシック-古典以前-ヘンデル・テレマン", "クラシック-フランス-古典以前-クープラン・ラモー", "クラシック-イタリア", "クラシック-フランス-古典以前"}
set aPlayList to some item of somePlayList

tell application "iTunes"
        set aOldSound to sound volume
        set sound volume to aOldSound - 40
        
        set aCount to count tracks of playlist aPlayList
        set aRandomNum to random number from 1 to aCount
        set aTrackNum to track number of track aRandomNum of playlist aPlayList
        
        
        play track (aRandomNum - aTrackNum + 1) of playlist aPlayList
        reveal current track
        delay 10
        set sound volume to aOldSound - 20
        delay 10
        set sound volume to aOldSound
end tell

いくつかのプレイリストからランダムに選び、音量を下げ、プレイリストの曲数の範囲でランダムな数字を作り、プレイリストの該当する曲を選択する。その曲がそのアルバムの何曲目か調べ、アルバムの途中でなく最初から再生するようにする。そのままだと再生はするけれどブラウザ上で表示してくれないので、revealする。音量を戻していく。最後まで分らなかったのは再生中の曲をrevealする箇所。

Meta Infomation of this entry

You can add this Entry to your  1470.net, はてなブックマーク and Delicious

オレオレ版taskpaper.vim

taskpaper.vimは、HogBaySoftwareが提唱しているtodo-listのフォーマットをvimで扱うためのプラグインです。taskpaperのフォーマットを扱うプラグインの類いはBBEdit向けほか、リッチなものから簡素なものまで、有料なものだってあるのです。

元はただの書式付きテキストファイルなんで、有料の専用ソフトを買うのも何だかなーと思って、自分はvimで使っています。いや、有料のソフトのほうがリッチなんですけど。で、このvim用プラグインは簡素なほうなので、拡張してみました。ちょうべんり。

"setlocal iskeyword+=@-@
setlocal iskeyword+=@-@,(

taskpaperはタスクに@due(20110202)みたいに自由にタグを付けて管理できるのですが、元のままだと例のようなタグは括弧の手前までしか認識してくれないので。

function! s:ToggleDoneWithRepeat()

    let line = getline(".")
    if (line =~ '^\s*- ')
        let repl = line
        if (line =~ '@done')
            let repl = substitute(line, "@done\(.*\)", "", "g")
            echo "undone!"
            call setline(".", repl)
        else
            let today = strftime("%Y-%m-%d", localtime())
            let done_str = " @done(" . today . ")"

            let aUserInputDate = input("Input next due date(yyyymmdd): ")
            let next_due_str = " @due(" . aUserInputDate . ")"

            let repl = substitute(line, "@due\(.*\)", "", "g")
            let repl = substitute(repl, "$", next_due_str , "g")
            
            let repl2 = substitute(line, "$", done_str , "g")
            echo "done, archive and repeat!"
            call setline(".", repl)
            call setline("$", repl2)
        endif
    else 
        echo "not a task."
    endif

endfunction

" toggle @done context tag on a task and archive 
function! s:ToggleDoneAndArchive()

    let line = getline(".")
    if (line =~ '^\s*- ')
        let repl = line
        if (line =~ '@done')
            let repl = substitute(line, "@done\(.*\)", "", "g")
            echo "undone!"
            call setline(".", repl)
        else
            let today = strftime("%Y-%m-%d", localtime())
            let done_str = " @done(" . today . ")"

            let repl = substitute(line, "$", done_str , "g")
            echo "done and Archive!"
            call setline(".", "")
            call setline("$", repl)
        endif
    else 
        echo "not a task."
    endif

endfunction

元のプラグインからコピペして、ファンクションを二つ追加しました。最初のはdoneにする際に対話的にdue dateを入力させ次回用のタスクにタグとして付ける・完了したタスクはファイルのお尻に移動するところまで一発で実行するもの。次のは一発でタスクを完了させてファイルのお尻に移動するだけのもの。後追加しなきゃいけないのは呼び出し周辺で、これはプラグインのソースを見ればすぐ分る。キーバインドはお好みで。

"map <buffer> <silent> <LocalLeader>tk mA <Plug>ToggleDone ddGp 'A
"map <buffer> <silent> <LocalLeader>tr mA yy p <Plug>ToggleDone 'A

最初はすぐ上のような感じで簡易に汚ないことをしていて、別に問題無かったのですが、これだとファインクションが出してるメッセージが消えちゃうしということで、ちゃんと作ろうと思ったのです。ちなみに、ウインドウズでしか試していません。

Meta Infomation of this entry

You can add this Entry to your  1470.net, はてなブックマーク and Delicious

Wed, 17 Dec 2008

ダイタクヘリオスがお亡くなりに

ダイタクヘリオス(父ビゼンニシキ)がお亡くなりに。享年21才。種牡馬引退後は、青森県八戸市の山内牧場で功労馬として繋養されていたとのこと。

ニホンピロウィナー、メジロマックイーンに続き、好きな馬が…

Meta Infomation of this entry

You can add this Entry to your  1470.net, はてなブックマーク and Delicious

Thu, 13 Nov 2008

VMWare fusionでBeOS/Zetaで遊ぼうと思ったのだけれど、そのに

Anthy for Haiku の変換候補ウィンドウで日本語の表 示ができないというのは、候補ウィンドウの文字が豆腐になってしまうということでしょうか?

フォントの設定と、Haiku のリビジョンを教えて下さい。フォントは特に指定していないので、plain font を使っていると思います。

おおきにありがとうございます。変換候補ウィンドウで日本語の表示うんぬんは、plain fontを小夏に設定したら直りました。お騒がせいたしました。後文字化けしているのは、スクリーンショットのような部分です。入力モードとかを表示しているタブをクリックしたところ。Senryu Personal Edition Revison 27840Kernel:Oct 2 2008 11:17:33。既知の話しでしたら、アホやのぅと書いてくださいませ。

Meta Infomation of this entry

You can add this Entry to your  1470.net, はてなブックマーク and Delicious

Mon, 27 Oct 2008

VMWare fusionでBeOS/Zetaで遊ぼうと思ったのだけれど

む、MuTerminalが入手できない。これが無いとターミナルで日本語で遊べないんだけど…BeShareにも無いというのはこれいかに。

Haikuというかsenryuではどうなっているのだろう…アバウトを見ると、HaikuTerminalMuTerminalがベースになっているのかな、見た目はシステム付属のTerminalだけど。んでも、mt_setコマンドは見当らないので、以前のような文字コードを切り替えて使ったりするようなことはできなさそうな予感がする…コマンドラインのオプションには、ウィンドウのタイトルを設定するとかフルスクリーンで、とかしか無いな…お、今時流行りっぽく、タブ付きになっていますね。うーん、Anthy for Haikuを使って日本語入力を試してみましたが、受け付けてくれませんでした。

ちなみに、Anthy for Haikuの変換候補ウィンドウで日本語の表示ができませんでした。これってたぶん、be_fixed_fontの問題だったっけ、フォント初期設定から等幅フォントに小夏とかを設定できないのと関係あるよね。昔のMozillaでもバイナリエディタでbe_fixed_fontの指定をbe_plain_fontに書き換えないと文字が豆腐になる箇所がありましたよね…フォームの部品のところでしたか…

オチも無く終る。

Meta Infomation of this entry

You can add this Entry to your  1470.net, はてなブックマーク and Delicious

Page 1 of 127  >>

Le violon intérieur....
Yasuo Yamashita
vaiorinnhiATTOnaDOTrimDOTorjye-pi-
Y.A.S.U.O Ytterbium Artificial Sabotage and Utility Organism Y.A.S.U.O Yelling Abomination from the Sunless Underground Oasis

Powered by PyBlosxom and plugins. For detail, see http://viole.sakura.ne.jp/blosxom/blosxom.cgi/plugin_info