bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#41984: 28.0.50; term.el's select-window call interacts badly with mo


From: Herman
Subject: bug#41984: 28.0.50; term.el's select-window call interacts badly with modeline
Date: Sun, 21 Jun 2020 17:43:09 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.4.2

I noticed that the call "(select-window win)" in term.el (in term-emulate-terminal) interacts badly with doom modeline. This select-window call confuses the modeline which is the active window, and it causes the terminal's modeline displayed as active, as soon as the terminal receives output, no matter which is the actual active window. And the real active window is displayed with an inactive modeline.

I found if I modify this "(select-window win)" line to "(select-window win t)", the bug doesn't happen anymore (I'm not sure whether it's a correct fix in all regards or not).

Here's my full description of the issue, with screenshot: https://github.com/seagle0128/doom-modeline/issues/355

Describe: When one window has an ansi-term, which constantly outputs some text, and another window has the focus, then doom-modeline behaves strange: the mode line of the focused window loses activity, and part of ansi-term's mode line becomes active.

Use this init.el:

---------------------------------------------

(require 'package)
(add-to-list 'package-archives '("melpa" . "http://melpa.org/packages/";))
(add-to-list 'package-archives '("melpa-stable" . "http://stable.melpa.org/packages/";))
(package-initialize)

(unless (package-installed-p 'use-package)
  (package-refresh-contents)
  (package-install 'use-package)
)

(setq use-package-always-ensure t)

(eval-when-compile (require 'use-package))

(use-package doom-modeline
  :hook (after-init . doom-modeline-mode)
)

---------------------------------------------

Here are the repro steps:

* start emacs
* split windows with split-window-vertically
* execute ansi-term in one window, and enter this command into the shell: while true ; do echo Ize ; sleep 2 ; done
* move the cursor to the other window
* notice that the other window's modeline get activity (colored as so, as it supposed to be), but as soon as the terminal window has output, it loses it (colored as inactive). And the terminal window will have a weird colored modeline (half of it is active, the other half is inactive)





reply via email to

[Prev in Thread] Current Thread [Next in Thread]