fish-shell / fish-shell Public
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Junk before prompt at FreeBSD vty with sc driver #5552
Comments
I think that's the omitted newline character. |
Why would that be triggered in the default prompt, though? Unless it's the "always emit then try to hide it" problem showing up. |
Yeah, but they don't act like xterm. Honestly, this just seems like a bad terminal to me. Which is why there's a replacement. If you really want, figure out a way to detect this thing, and then we can hardcode it where we print the omitted newline char. |
@mqudsi It wouldn't be coming from the prompt. I don't think you'll see it before the first printed prompt. It will happen after things are executed. The way the character works is that it's always emitted but yes, hidden, unless the last thing printed did not have a newline after it. |
And so there are two issues you're seeing with the old console driver: it can't render the glyph, and also it is always shown. In the newer console if you do a |
The character doesn't print correctly (renders as a single question mark) on the I already changed the only two non-ansi characters fish has hardcoded when compiled under WSL, the pilcrow (paragraph marker) is actually what I'm using there and IMHO it is a better choice overall as it is supported by most vts, pretty much required to be found in all fonts (which is the problem under Windows), and conveys the right semantics. As for the second symbol, there's absolutely no reason for us to use the funky bullet we use when 0x2022 does the job perfectly and is again supported pretty much everywhere. Anyway, as for the problem under |
I agree on the I agree that the pilcrow is ideal for a lot of situations due to how many kernel's consoles always have the glyph, however our current glyph I like more on terminal emulators with basically any fonts available. We've used it for a long, long time with not many complaints of missing glyphs. Maybe we could guess based on if it seems we're in a vt or not (by looking for a lack of fancy terminfo attributes?). |
This has bugged me for a while but I've never filed it. On the "physical" vty under FreeBSD, fish emits some invalid/unrecognized character codes that appear as garbled letters before each
fish_prompt
call.Here's a screenshot (clean fish install from
master
):If using the new
vt
(akanewcons
) console driver (used by KMS drivers and the UEFI framebuffer), the problem goes away:It's not a huge deal since
vt
is the default on FreeBSD 11 and up, butsc
is still supported (and required if you want to use a driver without KMS support).However, it bugs me because there's nothing funky in the default prompt that should result in this behavior in the first place, as it's all ascii and standard color escapes (which seem to be working fine). The default
$TERM
at the console isxterm
for both drivers, and the problem persists undertmux
where$TERM
defaults toscreen
instead.The text was updated successfully, but these errors were encountered: