血統の森+はてな

旧はてなダイアリーの自動インポートによるアーカイブです。

Linux上でのMozilla Firefoxのマウスカーソルの挙動について

CSS3のcursorについて*1Linuxでの挙動がどうにも謎だったので調べていたところ、答えに近いものが見つかったのでメモ。

X Window Systemのマウスカーソルについて(その1) - きれいさっぱり、逝くぜ!(その2)

LinuxというかGNOMEなんかの統合デスクトップ環境でFirefoxを動かしたとき、白黒のマウスカーソルとグラフィカルなマウスカーソルがごちゃ混ぜになっているのが気になった(といってもスクリーンショットを撮ることができないので文章で説明するしかないのが非常にもどかしい訳ですが)、というのが事の発端。

まず、マウスカーソルのファイルはどこにあるのかというと、/usr/share/icons/$theme/cursors以下に存在する。ここに対応すると思われるマウスカーソルが用意されていても、なぜかFirefoxに現れないことがある。これはリンク先によると、LinuxFirefoxはカーソルファイルを直接見ているのではなく、ハッシュに変換したファイル名を読み込んでいるとのこと。これはどうも歴史的な事情らしい。

つまり、対応するグラフィカルなマウスカーソルがある場合、シンボリックリンクを張って白黒のマウスカーソルを置換することができる。

n -sf file_name hash #一般的にはきっとこんな感じ

例えば、no-dropというカーソルがあって、CSS3のno-dropとしてFirefoxレンダリングさせる場合、対応するハッシュ03b6e0fcb3499374a867d041f52298f0を作ればいい。

ln -sf no-drop 03b6e0fcb3499374a867d041f52298f0

しかし、手元で試したDebianでは*2微妙にマウスカーソルが用意されていなかったりするので結構悲しい。Kubuntuはまだマシだったものの、context-menuに対応するカーソルがなかったりするので、結局Firefoxに用意されている白黒カーソルが現れるという悲惨な現象が。