LukeSmithxyz / st

Luke's fork of the suckless simple terminal (st) with vim bindings and Xresource compatibility.
MIT License
1.64k stars 1.01k forks source link

Colours not appearing properly #277

Closed SinTan1729 closed 2 years ago

SinTan1729 commented 3 years ago

Couloured elemnts are not appearing properly. For example, attached is a screenshot where gotop running in st and xterm side-by-side. The bigger terminal is st, which is missing some elements (e.g. the CPU usage curve). image

SinTan1729 commented 3 years ago

Also, here is my ~/.Xresources.

LukeSmithxyz commented 3 years ago

Gotop works on the build on my system. What's your default monospace font?

SinTan1729 commented 3 years ago

It's Noto mono 9pt

LukeSmithxyz commented 3 years ago

Okay. Noto is rendering correctly on my machine as well. Are you sure you have the most recent build or did you install this a week or so ago?

SinTan1729 commented 3 years ago

I've been using it for a while now, and this is the first time I've noticed this bug. I'm using the AUR package (which should mean I'm up-to-date), does that make any difference?

jlaw commented 3 years ago

I noticed the following lines were added to x.c: https://github.com/LukeSmithxyz/st/blob/ebb7b6c96ab4fbd415df815faf1f3974df985dd5/x.c#L1543-L1545 With these lines, bold text uses the bright colors in additional to being bold. I use solarized style colors and I noticed the color difference immediately. Perhaps gotop uses bold and if the bright colors do not look like their normal counter parts, you may get weird color results.

SinTan1729 commented 3 years ago

@jlaw Any idea how to fix this?

jlaw commented 3 years ago

@jlaw Any idea how to fix this?

Comment out the lines I pointed out and remake; it should work.

mutageneral commented 9 months ago

Why is the fix by jlaw not merged? Without it, the colors in vim look different from every other terminal I have. test

mutageneral commented 9 months ago

I have a very weird problem with the fixed st. If I set "st" as an exec command in i3, it opens it with the wrong colors, even with the patch. But if I open konsole terminal from broken st, and then start st from that konsole, the colors look ok and the fix works. This also happens on KDE if I start st from the menu vs konsole. I also tried xrdb ~/.Xresources ; st from broken st, but it doesn't help. I have absolutely no idea why that is happening. @jlaw help please?

my .Xresources

!!
!! XTERM
!!

!UNICODE STUFF
XTerm.VT100.locale: true
XTerm.VT100.utf8: true

!KEYBINDS
XTerm.VT100.translations: #override \n\
    <Btn1Up>: select-end(PRIMARY, CLIPBOARD, CUT_BUFFER0)
    Ctrl Shift <Key>C: copy-selection(CLIPBOARD) \n\
    Ctrl Shift <Key>V: insert-selection(CLIPBOARD)

!STUFF
XTerm.VT100.saveLines: 4096
XTerm.VT100.geometry: 100x35

!FONTS
XTerm.VT100.font: true
XTerm.VT100.faceName: MxPlus IBM VGA 8x16
XTerm.VT100.faceSize: 12

!!
!! ST
!!

!! Transparency (0-1):
st.alpha: 0.92
st.alphaOffset: 0.3

!! Set a default font and font size as below:
st.font: MxPlus IBM VGA 8x16-12;

! st.termname: st-256color
! st.borderpx: 2

!! COLORS

!! penumbra:
Zutty.fg: #FFF7ED
Zutty.bg: #3f3e3e
Zutty.cr: #ff0000
*.foreground: #FFF7ED
*.background: #3f3e3e
*.cursorColor: #ff0000
! Whites
*.color7: #FFFDFB
*.color15: #ffffff
! Blacks
*.color0: #24272B
*.color8: #505450
! Reds
*.color1: #CB7459
*.color9: #F48E74
! Greens
*.color2: #46A473
*.color10: #61C68A
! Yellows
*.color3: #A38F2D
*.color11: #C7AD40
! Blues
*.color4: #7E87D6
*.color12: #97A6FF
! Magenta
*.color5: #BD72A8
*.color13: #E18DCE
! Cyans
*.color6: #00A0BE
*.color14: #1AC2E1

edit: nevermind, the commenting out fix doesn't seem to fix anything for me. I uncommented the part and recompiled, and opening it from konsole still fixes it.

edit 2: ok it seems like adding COLORFGBG="15;0" before the vim command fixes the problem but idk why. how do you add environment variables to st?