Re: screen and emacs
- Reply: Tomoaki AOKI : "Re: screen and emacs"
- In reply to: masa_a_amogha.jp ($B4];3D>>;(B): "Re: screen and emacs"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Thu, 30 Mar 2023 09:46:11 UTC
草地@リムネットと申します。 普段は FreeBSDをデスクトップ環境として使ってはいないのですが、少し古い手元で 動くデスクトップ環境 (FreeBSD 11.4 + xorg 7.7 + xfce4-wm 4.16 + emacs 27.2 + screen 4.8.0) で確認すると xfce-terminal で screen を起動して emacs -nw を実 行すると同じ様にモードラインの表示が見えなくなると言う現象は確認出来ました。 更に調べてみるとどうも普通にターミナル内で emacs -nw で起動した場合と screen 内で実行した場合ではどうも emacs のカラーマップが変わってしまう様でモードライ ンの background colorと foreground colorが同じになってしまって見えない状態に なっている様です。 とりあえず、emacs を screen内で起動した時にだけ強制的にモードラインの色を変更 する様なコードを書いてみましたので、.emacs に追記して確認してみて下さい。 ;; ;; mode-line-color (screen) ;; (when (string= "TERM=screen" (format "%s" (nth 0 (nth 0 (list (mapcan #'(lambda (e) (and (string-match "^TERM=" e) (list e))) initial-environment)))))) (progn (set-face-foreground 'mode-line "black") (set-face-background 'mode-line "darkslategrey") ) ) これでとりあえず、emacs の mode-lineが見える様にはなるのですが、emacsの ターミナル設定の問題なのか screenの問題なのかは原因不明です。 # 普段は emacs -nw --color=never で使っているので全く気が付きませんでした。 なお、mode-line に指定している色については M-x list-colors-display で表示 される色の名前を設定しています。 とりあえず参考まで。 On 2023.03.30 11:24, 丸山直昌 wrote: > 丸山です。 > > screen の元ではTERM 環境変数の値は screen です。これは太古の昔からそうで > した。私は > >> screen も emacs(前身の Nemacs も含めて)もかれこれ30年使っていますが、こ >> んな経験は初めてです。最近まで使っていた10.2ではこんなことはありませんで >> した。 > > と書きましたが、具体的には、以下の環境で "screen"+"emacs -nw" を使って、 > これまでこの種の問題に遭遇することなく使えていたのです。 > > SunOS4.1上のkterm > FreeBSD1.1.5.1上のkterm > FreeBSD2.2.6上のkterm > FreeBSD4.4上のkterm > FreeBSD4.7上のkterm > FreeBSD5.5上のkterm > FreeBSD6.4上のkterm > FreeBSD7.4上のkterm > FreeBSD9.1上のkonsole > FreeBSD9.2上のkonsole > FreeBSD9.2上のxfce-terminal > FreeBSD10.2上のkonsole > FreeBSD10.2上のxfce-terminal > > ただし、FreeBSD4.4 より前の3つについては、 emacs の日本語対応がない時代 > だったので、emacs の日本語化(多言語化)バージョンである mule で、mule -nw > とやっていました。 > > それが最近FreeBSD13.1に version up してみたら、この現象に遭遇したので、 > 私は「これは最近入り込んだバグだ」と申し上げているのです。最近10年間ほど > は.screenrc はいじっていません。ただバグがscreenの termcap にあるのか、 > screen自体にあるのか、 emacs にあるのか、ncurses(3X)にあるのか、私には判 > 別がつきません。 > > Wed, 29 Mar 2023 20:51:00 +0900 > Hajimu UMEMOTO <ume@mahoroba.org> writes: > >> 端末と screen 環境下の差は TERM 環境変数の値の違いによるものと思います。 >> Konsole は使ったことがないのでどのような値になるのかわかりませんが、 > > 私はバグレポートのつもりで書いているので、実際に使ってみて検証してからリ > プライして欲しかったです。 > >> xterm あるいはそれに類するものになっていると思います。screen はデフォ >> ルトでは screen になっています。 >> term コマンドで TERM を設定できます。例えば xterm と設定したいのであれば、 >> >> term xterm >> >> と ~/.screenrc ファイルに書いておきます。 > > これは、私の理解では > > env TERM=xterm emacs -nw > > とたいして変わりないと思いますが、やはりダメです。 > >> 今時の端末なら、xterm-256color と指定したいかもしれません。 >> >> TERM=screen でなぜモードラインが反転しないのかはわからないですが、おそ >> らく emacs の設定によるのではないかと推測します。 >> >> -- >> 梅本 肇 >> ume@mahoroba.org ume@FreeBSD.org >> プログラムは書いた人の意図ではなく書かれた通り動く I hate Modula-3 :-) > > -------- > 丸山 直昌 まるやま なおまさ > メールアドレス: masa@amogha.jp > -- 草地 薫 (Kaoru Kusachi) tika@st.rim.or.jp Nakno,Tokyo,Japan.