imeの状態に従って壁紙の色を変える(fcitx専用)

はじめに

こんにちは、野村です。

今回は、imeの状態に従って壁紙の色を変えるスクリプトを紹介します。
fcitx専用です。xsetrootというツールを利用します。
Ubuntu16.4のTWMで動作を確認しています。

これを作ったイキサツは以下のとおり。

・当時、「デスクトップを極限までシンプルにしたい」と考えていた。
・なので、パネルのないウィンドウマネージャを使うことにした。
・でもimeの状態がわからないと不便。
・しかたなくimeツールバーを表示させていた
・それも邪魔に思えてきた。
・壁紙の色でimeの状態を判別できるようにすればいい!

スクリプト

以下のスクリプトをパスの通ったデレクトリに置いて実行権限を与えます。

#!/bin/sh

MEM=0
COM=0
while :
do
  COM=`fcitx-remote`
  if [ $COM -ne $MEM ]; then
    case $COM in
      0) xsetroot -solid gray10 ;;
      1) xsetroot -solid gray30 ;;
      2) xsetroot -solid gray60 ;;
    esac
    MEM=$COM
  fi
  sleep 1s
done

以上のスクリプトをX起動時に実行されるようにします。
~/.xinitrcなどに記述するといいと思います。

解説

fcitx-remote

fcitxをコマンドラインから制御するツールです。
オプションなしで実行すると、imeの状態が数値で表示されます。

xsetroot

ルートウィンドウの設定を行うためのコマンドです。
背景色の変更だけではなく、背景画像の設定も行えます。

最後に

以上、imeの状態に従って壁紙の色を変えるスクリプトを紹介しました。

実際使ってみると、画面上にウィンドウが占める面積が狭いときは、IMEを操作するたびに背景色が変わるのがうるさいです。
なので、なるべく画面下部に少し隙間を開けるようにしてウィンドウを敷き詰めてから使うことをおすすめします。

僕の「デスクトップを極限までシンプルにしたい」という想いは、その後、GUIを捨てるまでに至りました。
数カ月しかもたなかったけど。

現在は、このスクリプトを使ってません。
普通にデスクトップ上にパネルを表示させています。

というわけで、今回はこれにて。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする

野村 野村のプロフィール
メインPCはWindows10のVirtualBox上のFreeBSD。Linux/Unixの小ネタを求めて日々右往左往してたりする。