Skip to content
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

wezterm colors are somehow dimmed #4126

Open
yshenfab opened this issue Aug 10, 2023 · 1 comment
Open

wezterm colors are somehow dimmed #4126

yshenfab opened this issue Aug 10, 2023 · 1 comment
Labels
bug Something isn't working

Comments

@yshenfab
Copy link

What Operating System(s) are you seeing this problem on?

Linux X11

Which Wayland compositor or X11 Window manager(s) are you using?

i3wm

WezTerm version

20230712-072601-f4abf8fd

Did you try the latest nightly build to see if the issue is better (or worse!) than your current version?

Yes, and I updated the version box above to show the version of the nightly that I tried

Describe the bug

ss
As seen in the screenshot, wezterm, kitty and alacrity with the same color scheme (github dark), but wezterm colors look somehow dimmed than kitty and alacrity.

To Reproduce

No response

Configuration

-- Pull in the wezterm API
local wezterm = require("wezterm")
local act = wezterm.action

-- This table will hold the configuration.
local config = {}

-- In newer versions of wezterm, use the config_builder which will
-- help provide clearer error messages
if wezterm.config_builder then
config = wezterm.config_builder()
end

-- start my config
config.color_scheme = "GitHub Dark"

config.font = wezterm.font_with_fallback({
"JetBrains Mono", -- "JetBrainsMonoNL Nerd Font Mono",
"FiraCode Nerd Font",
"nonicons",
})

config.font_size = 13.0

-- default is true, has more "native" look
config.use_fancy_tab_bar = false

-- no padding around the edges of the terminal area
config.enable_scroll_bar = false
config.window_padding = {
left = 0,
right = 0,
top = 0,
bottom = 0,
}

config.tab_bar_at_bottom = true
config.hide_tab_bar_if_only_one_tab = true
config.freetype_load_target = "HorizontalLcd"

config.window_background_opacity = 1.0
config.bold_brightens_ansi_colors = true -- default

-- navigator.nvim, check https://github.com/numToStr/Navigator.nvim/wiki/WezTerm-Integration
local function isViProcess(pane)
return pane:get_foreground_process_name():find("n?vim") ~= nil
end

local function conditionalActivatePane(window, pane, pane_direction, vim_direction)
if isViProcess(pane) then
window:perform_action(act.SendKey({ key = vim_direction, mods = "CTRL" }), pane)
else
window:perform_action(act.ActivatePaneDirection(pane_direction), pane)
end
end

wezterm.on("ActivatePaneDirection-right", function(window, pane)
conditionalActivatePane(window, pane, "Right", "l")
end)
wezterm.on("ActivatePaneDirection-left", function(window, pane)
conditionalActivatePane(window, pane, "Left", "h")
end)
wezterm.on("ActivatePaneDirection-up", function(window, pane)
conditionalActivatePane(window, pane, "Up", "k")
end)
wezterm.on("ActivatePaneDirection-down", function(window, pane)
conditionalActivatePane(window, pane, "Down", "j")
end)

-- make it same as my tmux keybindings
config.leader = { key = "a", mods = "CTRL", timeout_milliseconds = 1000 }
config.keys = {
-- { mods = "CTRL", key = "h", action = act.ActivatePaneDirection("Left") },
-- { mods = "CTRL", key = "j", action = act.ActivatePaneDirection("Down") },
-- { mods = "CTRL", key = "k", action = act.ActivatePaneDirection("Up") },
-- { mods = "CTRL", key = "l", action = act.ActivatePaneDirection("Right") },
{ mods = "CTRL", key = "h", action = act.EmitEvent("ActivatePaneDirection-left") },
{ mods = "CTRL", key = "j", action = act.EmitEvent("ActivatePaneDirection-down") },
{ mods = "CTRL", key = "l", action = act.EmitEvent("ActivatePaneDirection-right") },
{ mods = "CTRL", key = "k", action = act.EmitEvent("ActivatePaneDirection-up") },
{ mods = "ALT", key = "t", action = act.SpawnTab("CurrentPaneDomain") },
{ mods = "ALT", key = "h", action = act.SplitHorizontal({ domain = "CurrentPaneDomain" }) },
{ mods = "ALT", key = "v", action = act.SplitVertical({ domain = "CurrentPaneDomain" }) },
{ mods = "ALT", key = "1", action = act.ActivateTab(0) },
{ mods = "ALT", key = "2", action = act.ActivateTab(1) },
{ mods = "ALT", key = "3", action = act.ActivateTab(2) },
{ mods = "ALT", key = "4", action = act.ActivateTab(3) },
{ mods = "ALT", key = "5", action = act.ActivateTab(4) },
{ mods = "ALT", key = "6", action = act.ActivateTab(5) },
{ mods = "ALT", key = "7", action = act.ActivateTab(6) },
{ mods = "ALT", key = "8", action = act.ActivateTab(7) },
{ mods = "ALT", key = "9", action = act.ActivateTab(-1) },
}

-- end my config

-- and finally, return the configuration to wezterm
return config

Expected Behavior

terminal colors look brighter

Logs

No response

Anything else?

No response

@yshenfab yshenfab added the bug Something isn't working label Aug 10, 2023
@wookayin
Copy link

wookayin commented Jan 1, 2024

I was also hit this bug. This might be a Font issue.

For me, it was fine and bright enough when I was using JetBrains Mono Nerd Font v3.1.0 (weight = Light); white is a real white, but after updating to v3.1.1 it becomes dimmed color. This happens only on Light weights, on Regular it's OK. Other terminals like kitty, iTerm2 are fine.

v3.1.1 Light (DIMMED): The foreground color (white) is somewaht gray-ish.

v3.1.1 Light

Also look at M.setup_fonts() where M is boldfaced. The color are different than setup_fonts(), both are #ffaf00.

v3.1.1 Regular

v3.1.1 Regular

EDIT(Resolved): This is due to the breaking change ryanoasis/nerd-fonts#1434 around v3.1.0. Changed the font name in config and all set.

-   { family = 'JetBrainsMono NFM', weight = 'Light' },
+   { family = 'JetBrainsMono Nerd Font Mono', weight = 'Light' },

wookayin added a commit to wookayin/dotfiles that referenced this issue Jan 1, 2024
Workaround wez/wezterm#4126 where the JetBrainsMono Light font renders
incorrectly in a dimmed color. This seems to be a regression bug of
nerd-fonts v3.1.1.
wookayin referenced this issue in wookayin/dotfiles Jan 1, 2024
nerd-fonts has a breaking change (again) on v3.1.1, which reverts the
breaking change on font name (-> "NFM") introduced in v3.1.0.

Using the correct font name "JetBrainsMono Nerd Font Mono" fixes the
dimming font issue.

See ryanoasis/nerd-fonts#1473
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants