greshake / i3status-rust

Very resourcefriendly and feature-rich replacement for i3status, written in pure Rust
GNU General Public License v3.0
2.88k stars 475 forks source link

Pango font rendering seemingly broken #1275

Closed starcraft66 closed 3 years ago

starcraft66 commented 3 years ago

After updating to 0.20.2, my status bar font started looking like this:

image

In my config, I have my font set to pango:MesloLGS Nerd Font Mono. If I change it to MesloLGS Nerd Font Mono, my font is displayed but the spacing is wrong:

image
ammgws commented 3 years ago

What did it look like before? I think previously only certain widgets had pango enabled by default, but now all widgets do, so it could be that?

Savanta commented 3 years ago

Something definitely broke, some icons went missing others are displaying wrong symbols. My i3config bar

bar {
    font pango:"MesloLGS NF" 10 
    position top
    height 20
    status_command sleep  2 ; /usr/bin/i3status-rs ~/.config/i3status-rs/config.toml
    colors {
        separator #666666
        background #222222
        statusline #dddddd
        focused_workspace #0088CC #0088CC #ffffff
        active_workspace #333333 #333333 #ffffff
        inactive_workspace #333333 #333333 #888888
        urgent_workspace #2f343a #900000 #ffffff
    }

My i3status-rust config

theme = "gruvbox-dark"

[icons]
name = "awesome"
[icons.overrides]
phone_disconnected = ""
music = ""
volume-muted = ""

[[block]]
block = "music"
player = "spotify"
format = "{title}" 
buttons = ["prev", "play", "next"]
dynamic_width = true
max_width = 30
on_collapsed_click = "spotify"

[[block]]
block = "kdeconnect"
format = "{bat_charge} {notif_icon}{notif_count}"
format_disconnected = ""

[[block]]
block = "disk_space"
path = "/"
alias = "/"
info_type = "available"
unit = "GB"
interval = 20
warning = 20.0
alert = 10.0
format = "{icon} {available}"

[[block]]
block = "memory"
display_type = "memory"
format_mem = "{mem_used_percents}"
format_swap = "{swap_used_percents}"

[[block]]
block = "cpu"
interval = 1

[[block]]
block = "temperature"
collapsed = true
interval = 10
format = "{min} , {max} , {average}"
chip = "*-isa-*"

[[block]]
block = "load"
interval = 1
format = "{1m}"

[[block]]
block = "sound"

[[block]]
block = "backlight"
device = "acpi_video0"

[[block]]
block = "battery"
driver = "upower"
format = "{percentage} {time}"

[[block]]
block = "weather"
format = "{weather} {temp}"
service = { name = "openweathermap", api_key = "5459334c36f8e5453769936e08f54d8e", city_id = "3087584", units = "metric" }

[[block]]
block = "time"
interval = 5
format = "%a %d/%m %R"

Here how it looks like image

ammgws commented 3 years ago

Is the JSON output correct if you run it in a terminal?

Savanta commented 3 years ago

Yes it is

Savanta commented 3 years ago

Additional info image

ammgws commented 3 years ago

If the JSON is correct then it's not i3status-rust. It would be i3bar or your installed fonts or perhaps something else

starcraft66 commented 3 years ago

Sorry for opening this here, it turned out to be a NixOS issue in my case that was fixed here: https://github.com/NixOS/nixpkgs/issues/129724.

Closing.