From c6c03d2b37484624d6406660f9f80a85f660eeb4 Mon Sep 17 00:00:00 2001 From: Evie Litherland-Smith Date: Tue, 14 Feb 2023 15:11:10 +0000 Subject: [PATCH] Customise wezterm statusbar and colouring --- config/nvim/lua/config/nightfox.lua | 2 +- config/wezterm/status.lua | 55 ++++++++++------------------- config/wezterm/wezterm.lua | 7 ++-- 3 files changed, 23 insertions(+), 41 deletions(-) diff --git a/config/nvim/lua/config/nightfox.lua b/config/nvim/lua/config/nightfox.lua index 8d5f1e57..0008ae58 100644 --- a/config/nvim/lua/config/nightfox.lua +++ b/config/nvim/lua/config/nightfox.lua @@ -4,4 +4,4 @@ require("nightfox").setup({ }, }) require("nightfox").compile() -vim.cmd("colorscheme nightfox") +vim.cmd("colorscheme duskfox") diff --git a/config/wezterm/status.lua b/config/wezterm/status.lua index ab43f8bf..332170c2 100644 --- a/config/wezterm/status.lua +++ b/config/wezterm/status.lua @@ -4,34 +4,13 @@ wezterm.on("update-right-status", function(window, pane) -- Each element holds the text for a cell in a "powerline" style << fade local cells = {} - -- Figure out the cwd and host of the current pane. - -- This will pick up the hostname for the remote host if your - -- shell is using OSC 7 on the remote host. - local cwd_uri = pane:get_current_working_dir() - if cwd_uri then - cwd_uri = cwd_uri:sub(8) - local slash = cwd_uri:find("/") - local cwd = "" - local hostname = "" - if slash then - hostname = cwd_uri:sub(1, slash - 1) - -- Remove the domain name portion of the hostname - local dot = hostname:find("[.]") - if dot then - hostname = hostname:sub(1, dot - 1) - end - -- and extract the cwd from the uri - cwd = cwd_uri:sub(slash) - - table.insert(cells, cwd) - table.insert(cells, hostname) - end - end - -- I like my date/time in this style: "Wed Mar 3 08:14" local date = wezterm.strftime("%a %b %-d %H:%M") table.insert(cells, date) + -- Get current hostname to track which device I'm on + table.insert(cells, wezterm.hostname()) + -- An entry for each battery (typically 0 or 1 battery) for _, b in ipairs(wezterm.battery_info()) do table.insert(cells, string.format("%.0f%%", b.state_of_charge * 100)) @@ -41,6 +20,7 @@ wezterm.on("update-right-status", function(window, pane) local name = window:active_key_table() if name then name = "TABLE: " .. name + table.insert(cells, name) end -- The powerline < symbol @@ -49,16 +29,16 @@ wezterm.on("update-right-status", function(window, pane) local SOLID_LEFT_ARROW = utf8.char(0xe0b2) -- Color palette for the backgrounds of each cell - local colors = { - "#3c1361", - "#52307c", - "#663a82", - "#7c5295", - "#b491c8", - } + local colors = wezterm.color.gradient({ + colors = { + "#333333", + "#926ee4", + -- "#9ccfd8", + }, + }, #cells + 1) -- Foreground color for the text across the fade - local text_fg = "#c0c0c0" + local text_fg = wezterm.color.get_builtin_schemes()["duskfox"].foreground -- The elements to be formatted local elements = {} @@ -66,20 +46,21 @@ wezterm.on("update-right-status", function(window, pane) local num_cells = 0 -- Translate a cell into elements - function push(text, is_last) + local function push(text, is_last) local cell_no = num_cells + 1 table.insert(elements, { Foreground = { Color = text_fg } }) - table.insert(elements, { Background = { Color = colors[cell_no] } }) + table.insert(elements, { Background = { Color = colors[cell_no + 1] } }) table.insert(elements, { Text = " " .. text .. " " }) if not is_last then - table.insert(elements, { Foreground = { Color = colors[cell_no + 1] } }) + table.insert(elements, { Foreground = { Color = colors[cell_no + 2] } }) table.insert(elements, { Text = SOLID_LEFT_ARROW }) end num_cells = num_cells + 1 end - table.insert(elements, { Foreground = { Color = colors[num_cells + 1] } }) - table.insert(elements, { Text = SOLID_LEFT_ARROW }) + table.insert(elements, { Foreground = { Color = colors[num_cells + 2] } }) + table.insert(elements, { Background = { Color = colors[1] } }) + table.insert(elements, { Text = SOLID_LEFT_ARROW }) while #cells > 0 do local cell = table.remove(cells, 1) push(cell, #cells == 0) diff --git a/config/wezterm/wezterm.lua b/config/wezterm/wezterm.lua index 2a3ef9e0..e1833e01 100644 --- a/config/wezterm/wezterm.lua +++ b/config/wezterm/wezterm.lua @@ -3,10 +3,11 @@ require("navigator") return { font_size = 14, - disable_default_key_bindings = true, window_background_opacity = 0.95, - color_scheme = "nightfox", - use_dead_keys = false, + window_decorations = "RESIZE", + color_scheme = "duskfox", + disable_default_key_bindings = true, keys = require("keys"), key_tables = require("key_tables"), + use_dead_keys = false, }