Closed apc closed 1 year ago
I do not modify the fringe, that might be the reason. But with vanilla emacs / default modeline, you have the same problem, do you?
I'm not sure I understand. In vanilla emacs with the default modeline, the modeline has a constant background even when the fringe has a different color from the default background. E.g., trying out
(fringe-mode '(4 . 80))
and then calling switch-to-buffer
gives me this:
Note the difference with what happens after installing nano-modeline
, positioning the modeline at the bottom, activating nano-modeline-mode
, and then calling switch-to-buffer
:
The background only looks like this when the minibuffer is active. Otherwise, it looks as you'd expect:
From what I can tell, the problem is that when the minibuffer is active, part of the modeline is using the mode-line-inactive
but the bit above the fringe on the right continues to use the mode-line-active
face.
And changing the color of the fringe doesn't change the color of the segment of the modeline right above the right fringe, e.g.:
PS: more evidence that this seems unrelated to the background color of the fringe:
I see. I think the problem is that the modeline stops at the right border instead of the right fringe border. I'll look into that. Or if you want to experiment, you can have a look at line 490 and pixel specifications. Maybe replacing right-margin
with right-fringe
could do the trick.
That almost does the trick, but not quite. When there is line number info on the right, sometimes you still see a bit of the different color e.g.:
@apc see if you can reproduce it with my fork: https://github.com/aaronjensen/nano-modeline/blob/master/nano-modeline.el
I don't vary the background color at all, so I don't know if I have the problem and just can't see it or not.
@aaronjensen yes, I get the same behavior. From what I can tell, the problem is visible only when the faces mode-line
and mode-line-inactive
have different background colors. The faces nano-modeline-active
and nano-modeline-inactive
are inheriting the background colors from those two, and when the modeline doesn't extend all the way to the end of the fringe, you still see the background color of the mode-line
face over the fringe.
Isn't it the window divider that you see? Can you try to change the window-divider
face to yellow to be sure?
I'm pretty sure it's not the window-divider. I think it's the scroll-bar.
Look at the difference when I turn off scroll-bar-mode
:
Can you try aligning with scroll-bar
instead of left-margin
?
I'm not sure what controls the look of the modeline in the active window when the minibuffer window is active, but something seems off. I think the issue is that the right fringe background color is not modified, unlike the background color of the rest of the modeline:
(This is using the built-in dichromancy theme, with
fringe-mode
set todefault
.)It's even more noticeable if you increase the right fringe (here I set the right fringe to 80):
I can reproduce in vanilla emacs after installing nano-modeline (by calling
package-install
) and evaluating the following buffer:(For clarity, the screenshot is taken after splitting the frame in two and calling
switch-to-buffer
.)