craftzdog.solarized-osaka.nvim/lua/solarized-osaka/extra/tmux.lua
Takuya Matsuyama 0df74ef0ed refactor(colors): Source every color from the palette and drop darken
Point the last computed colors at real tokens so nothing is derived by
blending anymore:

- barbar inactive labels take the new 600 tier, which reads dimmer than
  the 500 accent and, unlike 700, still brightens under the vivid style
- notify borders take the 900 tier, and the debug border takes base02
- black was a blend of the background toward pure black, a value that
  appeared nowhere in the palette; it is base04, so replace it outright
- border was aliased to black, leaving it invisible against the
  background in the dark style; it is now base02, matching WinSeparator

With no callers left, darken and blend go, and with them the mutable
util.bg they relied on -- a shared global whose value depended on which
style had been resolved last.

Every highlight group is unchanged by the black removal. The barbar and
notify groups do shift slightly, since a token can never reproduce a
blend toward the background exactly; they were chosen to read correctly
rather than to match the old values.

Light gains from this: black resolved to a muddy #cac4b5 that measured
1.85:1 on statusline mode chips, and base04 lifts that to 3.21:1. The
same change makes terminal color0 white in the light style, completing
an inversion that already had color7 resolving to a dark value.
2026-08-11 15:38:54 +09:00

55 lines
2.5 KiB
Lua

local util = require("solarized-osaka.util")
local M = {}
--base02
--- @param colors ColorScheme
function M.generate(colors)
colors.fg_sidebar = colors.base0
local tmux = util.template(
[[
#!/usr/bin/env bash
# solarized-osaka colors for Tmux
set -g mode-style "fg=${blue},bg=${base02}"
set -g message-style "fg=${blue},bg=${base02}"
set -g message-command-style "fg=${blue},bg=${base02}"
set -g pane-border-style "fg=${base02}"
set -g pane-active-border-style "fg=${blue}"
set -g status "on"
set -g status-justify "left"
set -g status-style "fg=${blue},bg=${bg_statusline}"
set -g status-left-length "100"
set -g status-right-length "100"
set -g status-left-style ${none}
set -g status-right-style ${none}
set -g status-left "#[fg=${base04},bg=${blue},bold] #S #[fg=${blue},bg=${bg_statusline},nobold,nounderscore,noitalics]"
set -g status-right "#[fg=${bg_statusline},bg=${bg_statusline},nobold,nounderscore,noitalics]#[fg=${blue},bg=${bg_statusline}] #{prefix_highlight} #[fg=${base02},bg=${bg_statusline},nobold,nounderscore,noitalics]#[fg=${blue},bg=${base02}] %Y-%m-%d  %I:%M %p #[fg=${blue},bg=${base02},nobold,nounderscore,noitalics]#[fg=${base04},bg=${blue},bold] #h "
if-shell '[ "$(tmux show-option -gqv "clock-mode-style")" == "24" ]' {
set -g status-right "#[fg=${bg_statusline},bg=${bg_statusline},nobold,nounderscore,noitalics]#[fg=${blue},bg=${bg_statusline}] #{prefix_highlight} #[fg=${base02},bg=${bg_statusline},nobold,nounderscore,noitalics]#[fg=${blue},bg=${base02}] %Y-%m-%d  %H:%M #[fg=${blue},bg=${base02},nobold,nounderscore,noitalics]#[fg=${base04},bg=${blue},bold] #h "
}
setw -g window-status-activity-style "underscore,fg=${fg_sidebar},bg=${bg_statusline}"
setw -g window-status-separator ""
setw -g window-status-style "${none},fg=${fg_sidebar},bg=${bg_statusline}"
setw -g window-status-format "#[fg=${bg_statusline},bg=${bg_statusline},nobold,nounderscore,noitalics]#[default] #I  #W #F #[fg=${bg_statusline},bg=${bg_statusline},nobold,nounderscore,noitalics]"
setw -g window-status-current-format "#[fg=${bg_statusline},bg=${base02},nobold,nounderscore,noitalics]#[fg=${blue},bg=${base02},bold] #I  #W #F #[fg=${base02},bg=${bg_statusline},nobold,nounderscore,noitalics]"
# tmux-plugins/tmux-prefix-highlight support
set -g @prefix_highlight_output_prefix "#[fg=${yellow}]#[bg=${bg_statusline}]#[fg=${bg_statusline}]#[bg=${yellow}]"
set -g @prefix_highlight_output_suffix ""
]],
colors
)
return tmux
end
return M