frame-title-format
フレームタイトルを変更するために変数をカスタマイズしました。ただし、Emacsは必要な場合にのみフレームタイトルを更新します。たとえば、いくつかのカスタム関数を評価した後、Emacsにタイトルを更新(つまり更新)させることはできますか?フレームタイトルの形式は次のとおりです。
(setq frame-title-format "%b %* %n")
%n
バッファを絞り込んだ直後に(絞り込みの場合は表示)有効にしたい。
Emacs が更新されない理由は以下にあるのではないかと思います。(C-h vフレームタイトルフォーマット)
It is used only on frames for which no explicit name has been set
.
初めて設定しましたが、うまくいきます。次にmodify-frame-parameters
、別の名前を設定するために使用します。それは動作しません。タグフレームを使用modify-frame-parameters
していますが、うまく機能します。
modify-frame-parameters
代わりにタイトルを設定するために使用できます。
(modify-frame-parameters nil
(list (cons 'name string-name)))
しかし、のようなパラメーターに基づいて名前を設定する方法がわかりませんでしたframe-title-format
。
elisp で再表示を強制する 1 つの方法は、 を使用すること(sit-for 0)
です。次のような独自の関数を定義できます。
(defun my-narrow-to-region (start end)
(interactive "r")
(narrow-to-region start end)
(sit-for 0))
注:Mac OS Xを使用しているため、これがなくてもフレームタイトルが適切に更新されるため、これで問題が解決するかどうかを確認できません。
更新:この回答の以前のバージョンでは、使用を提案しdefadvice
ました。これは、望ましくない副作用を引き起こすため、関数のすべての使用に影響を与えるため、良い考えではないことに気付きました。