解決策
スクリプトを機能させるには、xsel、xvkbd、bcの各パッケージが必要です。 インストール:
sudo aptitude install xsel xvkbd bc
次に、テキストエディターを開いて次のように記述します。
#!/bin/sh PRECISION=4; SELECTION=$(xsel -o); if [ $SELECTION = "" ]; then exit 1; fi RESULT=$(echo "scale=$PRECISION;$SELECTION" | bc); if [ $RESULT ]; then BUFFER=$(xsel -b); echo -n "$RESULT" | xsel -b -i; xvkbd -xsendevent -text "\[Control_L]\[v]"; echo -n "$BUFFER" | xsel -b -i fi
PRECISION変数では、小数部の精度を示します(提示する実施形態では、小数点以下4桁)。 SELECTION変数に、選択した算術式を記述し、選択が空でない場合、bcを使用してその値を計算し、結果をRESULT変数に書き込みます。 結果がゼロでない場合は、BUFFER変数に現在のクリップボードの内容を書き込み、クリップボードの内容を計算の結果で上書きし、xvkbdユーティリティを使用して、Ctrl + Vをエミュレーションで貼り付けます(計算された式が選択されているため、挿入で結果が上書きされます)。 クリップボードの内容をユーザーに返します。
たとえば、selcalcという名前でファイルを保存し、実行権限を付与して/ usr / binに転送します。
sudo chmod +x ./selcalc && sudo mv ./selcalc /usr/bin/
Ctrl + Shift + Cなどのスクリプトを実行するホットキーを割り当てます(標準のGNOME 2ツールを使用しました)。
使用する
- 算術式を選択する
- Ctrl + Shift + Cを押す
- 選択した式の代わりに、計算の結果が表示されます
長所と短所
+計算機を実行する必要のない算術式の計算
+複雑な式のサポート(実際、bcが計算できる式は、計算の優先順位の制御、べき乗などを含む)
-Ctrl + Vによる貼り付けをサポートしていないテキストエディターでは動作しません。一部のエディター(Mozilla Thunderbird、Skype)では曲がって動作します
Open Office、Sublime Text 2、gedit、Pidgin、Nautilus(ファイル名変更モード)でテスト済み。
スクリプトはリンクからダウンロードできます。