nautilus-scriptsとzenityでファイル編集を快適に

現在のディレクトリでファイルの編集を開始するnautilus-scriptsを書いてみた。


ターミナルを開いて作業しているときはまだいいんだけど、nautilus上からその場にテキストファイルを作成したい時に、右クリックで空のファイルを作成してから、改めてエディタで開き直さなければいけないのが面倒だった。


エディタで保存時に指定するのはno good。保存したいときに(上書き保存で)即座に保存できるのがよい。
ここらいでそろそろ保存を……って時に保存ダイアログが出てきて、ディレクトリ移動してファイル名つけて、ってのはものすごくイライラする。やっぱCtrl+Sとか:wで即座に保存できないと。


というわけで、nautilus上でファイル名を指定してからエディタを起動できるようにしてみた次第。

nautilus-scripts

nautilus-scriptsを利用すると右クリックメニューから任意のスクリプトを実行することができるので、ファイル名を指定してgvimを起動するためにこんなスクリプトを書いてみた。

#!/bin/bash

if [ $# -eq 0 ]; then
	EDITFILE=`zenity --file-selection --save --title "Create/Edit New File by gVim"`
else
	EDITFILE=`zenity --file-selection --save --title "Create/Edit New File by gVim" --filename="$1"`
fi

if [ $? -eq 0 ] ; then
	gvim -f --remote-tab "$EDITFILE"
fi

zenityでファイル保存ダイアログを表示して、そこで選択されたファイルを引数にgvimを起動するという具合。


nautilus上でファイルが選択されていると、それらがそのまま引数に渡されてくるので、何かを選択しているときはデフォルトでそのファイルを対象にしてファイルダイアログを表示するようにしている。
ダイアログがキャンセルされると終了ステータスが0以外になるので、それを見て実行するか判断している。

zenity

各種ダイアログを表示して、その結果を標準出力に出力するというユーティリティらしい。

  • カレンダーダイアログ(日付入力)
  • ファイル選択ダイアログ(開くときと保存と両方ある)
  • リストダイアログ(リストビュー)
  • メッセージダイアログ(メッセージ表示とOK、キャンセルとか)
  • プログレスダイアログ(プログレスメーター)
  • テキスト入力ダイアログ(一行入力)
  • テキスト情報ダイアログ(複数行のテキスト表示&編集オプションも有り)
  • 通知エリア表示(タスクトレイにアイコンとテキスト表示)

と結構色々なことができる。なかなか面白い。
下記参考サイトには、実際にどういうコマンドを実行するとどういうダイアログが出るのか載っているので眺めてみると良い。