From ab123a4c36bb5621d34853b1d7aba7303fb1acbc Mon Sep 17 00:00:00 2001 From: Marty Oehme Date: Fri, 16 Feb 2024 11:01:41 +0100 Subject: [PATCH] wezterm: Allow toggling tab bar display Tab display can be toggled on or off with `Ctrl+Shift+T`. The toggling takes place per-window and not globally, so we can have a wezterm terminal on desktop 1 with a tabbar and on desktop 2 without. Opening a new terminal always defaults to an enabled tab bar. --- terminal/.config/wezterm/events.lua | 16 ++++++++++++++-- terminal/.config/wezterm/maps.lua | 1 + terminal/.config/wezterm/wezterm.lua | 1 + 3 files changed, 16 insertions(+), 2 deletions(-) diff --git a/terminal/.config/wezterm/events.lua b/terminal/.config/wezterm/events.lua index 853aed8..936a9b6 100644 --- a/terminal/.config/wezterm/events.lua +++ b/terminal/.config/wezterm/events.lua @@ -67,15 +67,27 @@ local function setup() wezterm.log_info("toggling the leader") local overrides = window:get_config_overrides() or {} if not overrides.leader then - wezterm.log_info("leader wasn't set") + wezterm.log_info("enabling leader key") overrides.leader = { key = "s", mods = "SUPER" } else - wezterm.log_info("leader was set") + wezterm.log_info("disabling leader key") overrides.leader = nil end window:set_config_overrides(overrides) end) + + wezterm.on("toggle-tabbar", function(window, _) + local overrides = window:get_config_overrides() or {} + if overrides.enable_tab_bar == false then + wezterm.log_info("showing tab bar") + overrides.enable_tab_bar = true + else + wezterm.log_info("hiding tab bar") + overrides.enable_tab_bar = false + end + window:set_config_overrides(overrides) + end) end return { setup = setup } diff --git a/terminal/.config/wezterm/maps.lua b/terminal/.config/wezterm/maps.lua index 74cc6bd..40e1b43 100644 --- a/terminal/.config/wezterm/maps.lua +++ b/terminal/.config/wezterm/maps.lua @@ -100,6 +100,7 @@ local keys = { action = act.EmitEvent("ActivatePaneDirection-Right"), }, { key = "a", mods = "CTRL|ALT", action = act.EmitEvent("toggle-leader") }, + { key = "T", mods = "CTRL", action = act.EmitEvent("toggle-tabbar") }, } -- Leader + number to activate that tab for i = 1, 8 do diff --git a/terminal/.config/wezterm/wezterm.lua b/terminal/.config/wezterm/wezterm.lua index 57db5b8..01ba9a5 100644 --- a/terminal/.config/wezterm/wezterm.lua +++ b/terminal/.config/wezterm/wezterm.lua @@ -25,6 +25,7 @@ end local settings = { enable_wayland = true, + enable_tab_bar = true, hide_tab_bar_if_only_one_tab = true, use_fancy_tab_bar = false, tab_bar_at_bottom = true,