タグ

ブックマーク / zariganitosh.hatenablog.jp (7)

  • コマンドから引き出すGUIの機能 - ザリガニが見ていた...。

    OSXが素晴らしいGUI環境を提供してくれるのだから、わざわざコマンド操作を覚えるまでもないと考えていた。ところが、OSXGUI環境を素早く・便利に使いこなすためには、キー操作を組み合わせたショートカットが必須*1である。そして、ショートカットとは何かを考えれば、キー入力以外の何者でもなく、突き詰めればコマンド入力と大差ないことに気付く。 Finderからcommand-Nで新規ウィンドウをを開くのも、ターミナルでlsと入力するのも、キー入力のタッチ数は同じである。 Quicksilverなんて、高度な入力補完機能付きのターミナルのようなものかもしれない。 つまり、GUIはコマンド入力と組み合わせることで、最大の効率化を図れるのである。 ところで、OSXGUI操作にはそれに対応するコマンドが用意されていることが多い。(どちかというと、コマンドが先でそれにGUIを着せた結果なのかもしれな

    コマンドから引き出すGUIの機能 - ザリガニが見ていた...。
    tvsk
    tvsk 2013/05/18
    意外と盲点なコマンド群.
  • あらゆる操作を実行可能マウスカーソルを動かす方法いろいろ - ザリガニが見ていた...。

    GUIなOS環境では、マウスを操作してカーソルを移動することで、操作対象を選択して、命令を実行する。通常マウスは人の手で操作するのだけど、もしコードで自由に制御できれば、面倒な一連のマウス操作を自動化できるのだ。 但し、人がマウスを操作する時は画面の状況を確認しながら操作できるけど、マウスカーソルを自動制御する時には、そうはいかない。今時のOSXでは、ウィンドウがしまわれていたり、アプリが隠れていたり、Spacesでスペースがいくつもあったりと、考慮しておくことが多くて大変なのだ。 一方、マウスを操作して実行する命令には、大抵ショートカットが用意されていたり、同等のコマンドがあったりする。AppleScriptでも操作可能かもしれない。可能な限りマウスカーソルの自動制御以外の方法で操作した方が、GUIの状況に左右されず、素早く、確実に、命令が完了するはずである。 そうは言っても、マウス以外

    あらゆる操作を実行可能マウスカーソルを動かす方法いろいろ - ザリガニが見ていた...。
    tvsk
    tvsk 2013/05/12
    cliclickから、RubyCocoaからMacRubyから。サンプルあり
  • そのファイルには何が記録されているのか? - ザリガニが見ていた...。

    思考1:テキストファイル MacBookでテキストエディット.appを開いて、半角で「ABC」とだけ入力して、保存した。(ファイル名:abc.txt) 上記で保存したabc.textの情報を見る(command-I)と、「サイズ:4KB(3 バイト)」と確認できた。 ハードディスク上は4KBの領域を占有し、その領域の3バイトがファイルの実態であると、これまで理解してきた。 3バイトの中身は、おそらく「ABC」の文字コードだろう。 半角の「ABC」の文字コードはASCIIコード表で確認できる。 おそらく、16進数で確認すれば「41、42、43」が並んでいるだろう。 HexEditor.appで確認してみた。 予想どおりの「41、42、43」が確認できた。めでたし、めでたし? いや、現実は違った...。Finderから見える景色は3バイトだが、OSレベルではもっと多くの情報が記録されているはず

    そのファイルには何が記録されているのか? - ザリガニが見ていた...。
    tvsk
    tvsk 2013/05/12
    mdlsはFS情報とSpotlightデータベース情報の両方の結果
  • オブジェクト指向AppleScript言語 - ザリガニが見ていた...。

    今までAppleScriptに備わっているオブジェクト指向的な仕組みを、あまり積極的に利用していなかった...。アプリケーションの補助的な操作に利用することが多く、シンプルなスクリプトを手順に従って並べるだけで結構満足できていた、ということもある。それに何より、オブジェクト指向的に書く方法、もっと言えばAppleScript自体をあまり良く理解できていなかったというのもある。 いつも、その場限りの必要な知識だけ調べて、動いたらそれまで。試行錯誤のやっつけスクリプトだった。いい加減、ちゃんと理解しておきたい...。 Hello World 「こんにちは」とダイアログで表示するだけの最もシンプルなコードだが、この裏には実に多くの仕組みが隠されていた。 display dialog "こんにちは" 実は、runハンドラ(メソッド)に定義されたコードと同じように解釈されている。(厳密には同じではな

    オブジェクト指向AppleScript言語 - ザリガニが見ていた...。
  • Objective-Cでコマンドの中身を作るまで - ザリガニが見ていた...。

    前回までに、コマンドの雛形は出来上がった。あとは価値ある中身を作るだけ。 そういえば、AppleScriptで音を鳴らすのはbeepしか知らない。beepではシステム環境設定の警告音に設定した音しか鳴らせない。その他の警告音を鳴らすには、システム環境設定の警告音を変更するしかない...。もっと自由に警告音を活用したいと常々思っていた。警告音を自由に鳴らせるコマンドを作れば、それを簡単にAppleScriptから利用できる。 そうだ、soundコマンドを作ってみよう! 幸い自分のMacBookには、まだsoundというコマンドは存在しない。コマンド名としてsoundが使えるのだ。 $ sound -bash: sound: command not found afplayコマンド、ありました!(soundコマンド作るまでもなく) $ afplay /System/Library/Sounds

    Objective-Cでコマンドの中身を作るまで - ザリガニが見ていた...。
    tvsk
    tvsk 2013/05/06
    soundコマンドを作る step by step
  • シェルにおけるタブと改行の扱い - ザリガニが見ていた...。

    最近はradikoやらじる★らじるのタイマー録音絡みで、シェルスクリプトを触る機会が多かったのだが、 再びradikoで録音したい! - ザリガニが見ていた...。 予約日時になったらちゃんと目覚めるtimerコマンドが欲しい - ザリガニが見ていた...。 radikoをキーワードで予約する - ザリガニが見ていた...。 自分の思いどおりに動作する時とうまく動かない時の原因は、そのほとんどが、スペース・タブ・改行を扱う時の勘違いにあると感じてしまった...。その扱いを正確に理解していれば、シェルスクリプトはかなり高度なテキスト処理を最初から的確にこなしてくれるはずだ。シェルスクリプトを理解するポイントの1つは、これらの目に見えない文字を、頭の中で正確に思い描く想像力かもしれない。現状の理解をメモしてみた。 検証環境 MacBook Pro Retina15 OSX 10.8.2 bas

    シェルにおけるタブと改行の扱い - ザリガニが見ていた...。
    tvsk
    tvsk 2013/03/24
    改行コードで置換する方法
  • AppleScriptのファイル参照にまつわるメモ - ザリガニが見ていた...。

    特定のファイルに自在にアクセスして操作することは、コードを書く上で最も基的な技術のはず。 にもかかわらず、AppleScriptでコードを書く時に的確なファイル参照がおろそかで、試行錯誤して無駄な時間を費やしていた。 もう、ファイル参照で迷わぬように、理解できないエラーで立ち止まらないように、できる限り調べてみた。 alias参照 --Mac形式のパステキストは、ディレクトリを":"で区切る set Mac_path_text to "Macintosh HD:Users:zari:Desktop:test_path_to.me.scpt" --Mac形式のパステキストから、alias参照を求める(以下2通りの方法がある) alias Mac_path_text Mac_path_text as alias --結果:alias "Macintosh HD:Users:zari:Desk

    AppleScriptのファイル参照にまつわるメモ - ザリガニが見ていた...。
    tvsk
    tvsk 2013/03/21
    ファイルパス周りでエラーが出るようならこの記事を
  • 1