LoginSignup
35
36

More than 5 years have passed since last update.

iTerm2を便利に使うマネージャーのようなものを作った

Last updated at Posted at 2014-03-08

i-manager(airfile)

追記

マネージャーを機能毎に分割しました。

https://github.com/syui/airchrome.zsh

https://github.com/syui/airgoogleplus

https://github.com/syui/airkeepass

はじめに

i-managerは、percolを利用したiTerm2の専用マネージャーです。

ウィンドウの大きさと位置を保存し、そこに移動できる機能のほか、ウィンドウの透明度を調整することができます。

また、ShellScript,AppleScriptで書かれているスクリプトを簡単に登録、実行できるようにしました。今回は、一応、拡張性も考えて作りました。

テーマファイルが用意されており、初心者の方は、percolをインストールすれば、すぐに使えるようになっています。

上級者の方は、テーマを変更して使ってみてください。theme/allでは、すべての機能を有効にします。

最初は、外部ツールに依存しない形で作っていましたが、途中からpercolを採用したほうが分かりやすいだろうと思い、外部ツールに依存した形になりました。

https://github.com/syui/airfile

iterm-managerに必要なもの

$ sudo pip install percol

iterm-managerの使い方

ダウンロードと実行

$ git clone https://github.com/syui/airfile

$ cd !$:t

$ ./i-manager

デフォルトの機能

項目 内容
: 終了します
-w 1 記憶した場所「その1」にウィンドウを移動させます
-w 2 記憶した場所「その2」にウィンドウを移動させます
-i 1 ウィンドウの位置と大きさを「その1」に保存します
-i 2 ウィンドウの位置と大きさを「その2」に保存します
-v iTerm2からボリュームを調整します。
-s iTerm2からシャットダウンを行います。ウィンドウは保存され次回起動時に有効です
-sys iTerm2からシステム環境設定を開きます
-wifi iTerm2からWi-Fiの有効無効を切り替えます
-auto オートモードを使用します。項目を選択しても「percol」の選択画面が続きます
-theme テーマの変更です。上級者の方は、「all」を選択してください
-delete 追加した個人ファイルをすべて削除します
-exit iterm-managerを終了します

すべての機能

項目 内容
-g s 「w3m」でGoogle検索を実行します
-g i 「w3m」でGoogleの画像検索を行います。HTMLタグを取得します。JSONを扱う「jq」が必要です
-g en 「w3m」でGoogle翻訳の英語->日本語を実行します
-g jp 「w3m」でGoogle翻訳の日本語->英語を実行します
-c 「growlnotify」でFinderのコピー終了を通知します
-r 「Google Chrome」のリロードを定期的に実行します
-vbox 「VirtualBox」のイメージを起動します
-vbox-make 「VirtualBox」のイメージを作ります
-pass 「Keepass」のデータベースファイルからIDとパスワードを読み取り、「Google Chrome」で自動ログインを試みます。この際、「kptool」が自動ダウンロードされます。
-pass-kdb データベースファイルのパスを更新します
-pass-test データベースのサンプルを使ってコマンドラインからのログインをテストします
-clip 「ClipMenu」から1行ごとのクリップボード履歴を参照します
-chrome on 「Google Chrome」のブラウジングをzshより行います。詳しくは下記です。「gauche」が必要になります
-chrome off onにより書き込まれた設定を設定ファイルから削除します
-chrome feedly Chromeで現在開いているページをFeedlyに登録します
-chrome url Chromeで現在開いているページのタイトルとURLを取得します
-ffmpeg ffmpegを使って、メディアファイルを変換します「ffmpeg」が必要になります
-exit iterm-managerを終了します

テーマ:allに必要なものをインストール

$ brew install w3m jq gauche ffmpeg mplayer swftools youtube-dl

$ pip install pycrypto googlecl

# GUIツールのイントール
$ brew cask install google-chrome clipmenu keepassx growlnotify

拡張

iterm-managerの仕組みは簡単です。

  1. まず、テーマファイルtheme/defaultが読み取られ、percolに渡されます。

  2. 次に、:より前の文字列が処理に渡されます。percol | cut -d ":" -f 1

  3. 最後に、渡された文字列により、各スクリプトが実行されるという流れになっています。

よって、拡張する場合、theme/originiterm-managerを編集すればOKです。

現在は、以下の様な感じになっています。

iterm-manager/theme/origin
sample: Start, Sample Script.
-theme: Theme Change.
-exit: Exit Quit
iterm-manager/iterm-manager
"sample")
$scpt/sample_script.sh
;;

"1")
echo "ここにコマンドを入れます"
echo test 1 ... done.
;;

"2")
echo "ここにコマンドを入れます"
echo test 2 ... done.
;;

*);;
esac

なお、テーマファイルの選択は、-themeで検索をかけて選択してください。3または、originになります。

chrome-mode

vi-modeのキーバインドにてGoogle Chromeを操作しようという試みです。

vi-modeへの移行は、escjjを押します。

キー 効果
j 下にスクロール
k 上にスクロール
h 戻る
l 進む
t タブを閉じる
f f{2文字}
b 続けてキー{Enter,Esc,Delete,Shift}を押す
i vi-modeの終了

その他

今回、試しにGitHub Pagesを作ってみました。

$ git branch -r

$ git checkout gh-pages

カスタマイズも簡単そうですし、いいですね。

変更点

  1. VirtualBoxのイメージをコマンドラインから作成するスクリプトを追加しました

    -vbox-make
    これにより、コマンドラインからのイメージ作成が容易になります

  2. VirtualBoxのイメージを選択する際、リストを表示するようにしました

    -vbox
    これにより、イメージの起動が容易になります

  3. Auto-Modeを追加しました

    -auto
    これにより、動作を実行しても選択画面が続きます

  4. Chrome-Modeのキー入力を改善しました

    -chrome on
    Vi-Modeが継続するようにしました
    一部パスが間違っていた問題を修正

  5. Keepassのコマンドラインからの自動ログインを改善しました

    -pass
    初回時に必要な情報入力とログイン処理が分離していた問題について、これを1回で繋げるようにしました。これにより、初回時にも情報の登録とログイン処理がスムーズに行えます

  6. Keepassのコマンドラインからの自動ログインにテストを追加しました

    -pass-test
    これにより、データベースのサンプルファイルにより、自動ログインを試みます。サンプルのIDとパスワードは、コマンドラインに表示されますので、それを使ってロックを解除してください。

To-Do

ブラウザの読み込み具合から、keepassを使った自動ログインが上手くいかない場合があるので、処理を確実にする

-pass
IDの貼り付け処理をキーを使って行うため、scripts/chrome_selection_paste.shを使った処理に変更してみる

...ok

GitHub Pagesをモバイルで表示した場合、一部レイアウト崩れがあるので、修正する

.pre
幅の設定を全て消してしまったので、その影響が出ているのかも。

...ok

お願い

自分の環境でしか動作確認していないので、動いた、動かなかったを教えてもらえると嬉しいです。

35
36
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
35
36