かってきままな日々
2020-08-11 (Tu) [長年日記]
_ x_gtk_use_system_tooltips
Emacs を pgtk に移植する際に、こんなコードがあったの。
#ifdef USE_GTK
if (x_gtk_use_system_tooltips)
GTK を使ったビルドの場合は、以下を有効にする。 そして、x_gtk_use_system_tooltips が真の場合は以下を実行する。
で、その時は思ったの。
「あーはいはい、Gtk 専用コードにして、旧 X コードは削除しますね」
ところが、x_gtk_use_system_tooltips
を nil にして使ってる emacs lisp が
あったことが判明。
x_gtk_use_system_tooltips が nil だったら Xlib を使って直接ゴリゴリ ウィンドウを作って tooltip として使う。 x_gtk_use_system_tooltips が t だったら Gtk の tooltip 機能を使う。
機能としては、Xlib を使って直接ゴリゴリ書いたほうが、そりゃ何でもできて 機能は上なわけ。その emacs-lisp はその何でもできるってメリットを 使っていた。
具体的には overlay。
まぢか… tooltip の中に overlay ってか……………
勘弁して欲しいわ… tooltip くらい普通に tooltip として使えよ…
w32 版は Xlib みたくなんかやってるけど、ns 版はシンプルだなぁ。 これでいいなら、これに倣いたい… がそうすると、その emacs-lisp は 期待した動作にならないんだけど…