aboutsummaryrefslogtreecommitdiff
path: root/env/.config/wezterm
diff options
context:
space:
mode:
authoriceyrazor <iceyrazor@mailfence.com>2025-05-24 04:08:28 -0500
committericeyrazor <iceyrazor@mailfence.com>2025-05-24 04:08:28 -0500
commite966d5328d6f328546db213278d1a1a6cd2f58d5 (patch)
treef0d41635190d29623920fdf4732cea7a006632d2 /env/.config/wezterm
parent5010e575335939597b05f8d58bdf205c693a8004 (diff)
install scripts. reorganization. soon to be deployable
Diffstat (limited to 'env/.config/wezterm')
-rw-r--r--env/.config/wezterm/colors.lua26
-rwxr-xr-xenv/.config/wezterm/reference.lua319
-rwxr-xr-xenv/.config/wezterm/wezterm.lua31
3 files changed, 376 insertions, 0 deletions
diff --git a/env/.config/wezterm/colors.lua b/env/.config/wezterm/colors.lua
new file mode 100644
index 0000000..e77256e
--- /dev/null
+++ b/env/.config/wezterm/colors.lua
@@ -0,0 +1,26 @@
+return {
+ foreground = '#e6e6e6',
+ background = '#04000a',
+ cursor_fg = '#fabd2f',
+ selection_bg = '#08000a',
+ ansi = {
+ '#263640',
+ '#d12f2c',
+ '#819400',
+ '#b08500',
+ '#2587cc',
+ '#696ebf',
+ '#289c93',
+ '#bfbaac',
+ },
+ brights = {
+ '#4a697d',
+ '#fa3935',
+ '#a4bd00',
+ '#d9a400',
+ '#09a2f5',
+ '#8086e8',
+ '#00c5ba',
+ '#fdf6e3',
+ }
+} \ No newline at end of file
diff --git a/env/.config/wezterm/reference.lua b/env/.config/wezterm/reference.lua
new file mode 100755
index 0000000..603e272
--- /dev/null
+++ b/env/.config/wezterm/reference.lua
@@ -0,0 +1,319 @@
+local wezterm = require 'wezterm'
+
+local config = {}
+local act = wezterm.action
+config.default_prog = { 'zsh', '-l' } --config.font = wezterm.font 'Classic Console' config.font_size = 15 config.font = wezterm.font 'Source Code Pro'
+-- tab bar
+config.enable_tab_bar = false
+--config.hide_tab_bar_if_only_one_tab = false
+--config.tab_bar_at_bottom = true
+--config.use_fancy_tab_bar = false
+--config.show_tabs_in_tab_bar = true
+--config.show_new_tab_button_in_tab_bar = false
+--config.tab_and_split_indices_are_zero_based = true
+--config.font = wezterm.font 'CozetteVector'
+
+
+-- 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
+--]]
+
+config.font = wezterm.font_with_fallback {
+ 'B612 Mono',
+ --'Inconsolata',
+ -- 'CozetteVector', --has weird offset with japanese. きki becomes せse and vice versa
+ 'JetBrainsMono',
+ 'JetBrainsMono Nerd Font',
+ 'JetBrainsMono Nerd Font Mono',
+ 'IPAGothic',
+ 'FreeMono',
+}
+--config.font = wezterm.font 'Inconsolata'
+config.font_size = 13
+--config.font = wezterm.font 'Caesar Dressing'
+--config.font_size = 13
+
+--config.window_background_image = "/home/iceyrazor/stuff/media/wallpapers/hfdsjkldysa87gr9eahgf4rjek ltjkedjkaslfjd salk 9270221.jpg"
+--[[
+config.window_background_image_hsb = {
+ -- Darken the background image by reducing it to 1/3rd
+ brightness = 0.05,
+
+ -- You can adjust the hue by scaling its value.
+ -- a multiplier of 1.0 leaves the value unchanged.
+ hue = 1.0,
+
+ -- You can adjust the saturation also.
+ saturation = 1.0,
+}
+]]--
+
+config.colors={
+ foreground = '#e6e6e6',
+ --background = '#101010',
+ background = '#04000a',
+ cursor_fg = '#fabd2f',
+ ansi = {
+ '#263640',
+ '#d12f2c',
+ '#819400',
+ '#b08500',
+ '#2587cc',
+ '#696ebf',
+ '#289c93',
+ '#bfbaac',
+ },
+ brights = {
+ '#4a697d',
+ '#fa3935',
+ '#a4bd00',
+ '#d9a400',
+ '#09a2f5',
+ '#8086e8',
+ '#00c5ba',
+ '#fdf6e3',
+ },
+}
+
+config.window_background_opacity = 0.8
+
+local function tab_title(tab_info)
+ local title = tab_info.tab_title
+ -- if the tab title is explicitly set, take that
+ if title and #title > 0 then
+ return title
+ end
+ -- Otherwise, use the title from the active pane
+ -- in that tab
+ return tab_info.active_pane.title
+end
+
+-- The filled in variant of the < symbol
+local SOLID_LEFT_ARROW = wezterm.nerdfonts.pl_right_hard_divider
+
+-- The filled in variant of the > symbol
+local SOLID_RIGHT_ARROW = wezterm.nerdfonts.pl_left_hard_divider
+--[[
+wezterm.on(
+ 'format-tab-title',
+ function(tab, tabs, panes, config2, hover, max_width)
+ local edge_background = '#0b0022'
+ local background = '#1b1032'
+ local foreground = '#808080'
+
+ if tab.is_active then
+ background = '#2b2042'
+ foreground = '#c0c0c0'
+ elseif hover then
+ background = '#3b3052'
+ foreground = '#909090'
+ end
+
+ local edge_foreground = background
+
+ local title = tab_title(tab)
+
+ -- ensure that the titles fit in the available space,
+ -- and that we have room for the edges.
+ title = wezterm.truncate_right(title, max_width - 2)
+
+ return {
+ { Background = { Color = edge_background } },
+ { Foreground = { Color = edge_foreground } },
+ { Text = SOLID_LEFT_ARROW },
+ { Background = { Color = background } },
+ { Foreground = { Color = foreground } },
+ { Text = title },
+ { Background = { Color = edge_background } },
+ { Foreground = { Color = edge_foreground } },
+ { Text = SOLID_RIGHT_ARROW },
+ }
+ end
+)
+--]]
+
+--[[
+local keysmain = {
+ { key = 'h', mods = 'SHIFT|CTRL', action = act.ActivatePaneDirection 'Left' },
+ { key = 'h', mods = 'SHIFT|ALT|CTRL', action = act.AdjustPaneSize{ 'Left', 1 } },
+ { key = 'l', mods = 'SHIFT|CTRL', action = act.ActivatePaneDirection 'Right' },
+ { key = 'l', mods = 'SHIFT|ALT|CTRL', action = act.AdjustPaneSize{ 'Right', 1 } },
+ { key = 'k', mods = 'SHIFT|CTRL', action = act.ActivatePaneDirection 'Up' },
+ { key = 'k', mods = 'SHIFT|ALT|CTRL', action = act.AdjustPaneSize{ 'Up', 1 } },
+ { key = 'j', mods = 'SHIFT|CTRL', action = act.ActivatePaneDirection 'Down' },
+ { key = 'j', mods = 'SHIFT|ALT|CTRL', action = act.AdjustPaneSize{ 'Down', 1 } },
+}
+]]--
+
+-- WezTerm Keybindings Documentation by dragonlobster
+-- ===================================================
+-- Leader Key:
+-- The leader key is set to ALT + q, with a timeout of 2000 milliseconds (2 seconds).
+-- To execute any keybinding, press the leader key (ALT + q) first, then the corresponding key.
+
+-- Keybindings:
+-- 1. Tab Management:
+-- - LEADER + c: Create a new tab in the current pane's domain.
+-- - LEADER + x: Close the current pane (with confirmation).
+-- - LEADER + b: Switch to the previous tab.
+-- - LEADER + n: Switch to the next tab.
+-- - LEADER + <number>: Switch to a specific tab (0–9).
+
+-- 2. Pane Splitting:
+-- - LEADER + |: Split the current pane horizontally into two panes.
+-- - LEADER + -: Split the current pane vertically into two panes.
+
+-- 3. Pane Navigation:
+-- - LEADER + h: Move to the pane on the left.
+-- - LEADER + j: Move to the pane below.
+-- - LEADER + k: Move to the pane above.
+-- - LEADER + l: Move to the pane on the right.
+
+-- 4. Pane Resizing:
+-- - LEADER + LeftArrow: Increase the pane size to the left by 5 units.
+-- - LEADER + RightArrow: Increase the pane size to the right by 5 units.
+-- - LEADER + DownArrow: Increase the pane size downward by 5 units.
+-- - LEADER + UpArrow: Increase the pane size upward by 5 units.
+
+-- 5. Status Line:
+-- - The status line indicates when the leader key is active, displaying an ocean wave emoji (🌊).
+
+-- Miscellaneous Configurations:
+-- - Tabs are shown even if there's only one tab.
+-- - The tab bar is located at the bottom of the terminal window.
+-- - Tab and split indices are zero-based.
+
+-- For example, changing the color scheme:
+-- config.color_scheme = "Catppuccin Macchiato"
+-- config.window_decorations = "RESIZE"
+
+-- tmux
+config.leader = { key = "Space", mods = "SHIFT", timrout_milliseconds = 20000 }
+config.keys = {
+ {
+ mods = "LEADER",
+ key = "c",
+ action = wezterm.action.SpawnTab "CurrentPaneDomain",
+ },
+ {
+ mods = "LEADER",
+ key = "x",
+ action = wezterm.action.CloseCurrentPane { confirm = true }
+ },
+ {
+ mods = "LEADER",
+ key = "b",
+ action = wezterm.action.ActivateTabRelative(-1)
+ },
+ {
+ mods = "LEADER",
+ key = "n",
+ action = wezterm.action.ActivateTabRelative(1)
+ },
+ {
+ mods = "LEADER",
+ key = "\\",
+ action = wezterm.action.SplitHorizontal { domain = "CurrentPaneDomain" }
+ },
+ {
+ mods = "LEADER",
+ key = "-",
+ action = wezterm.action.SplitVertical { domain = "CurrentPaneDomain" }
+ },
+ {
+ mods = "LEADER",
+ key = "h",
+ action = wezterm.action.ActivatePaneDirection "Left"
+ },
+ {
+ mods = "LEADER",
+ key = "j",
+ action = wezterm.action.ActivatePaneDirection "Down"
+ },
+ {
+ mods = "LEADER",
+ key = "k",
+ action = wezterm.action.ActivatePaneDirection "Up"
+ },
+ {
+ mods = "LEADER",
+ key = "l",
+ action = wezterm.action.ActivatePaneDirection "Right"
+ },
+ {
+ mods = "LEADER",
+ key = "LeftArrow",
+ action = wezterm.action.AdjustPaneSize { "Left", 5 }
+ },
+ {
+ mods = "LEADER",
+ key = "RightArrow",
+ action = wezterm.action.AdjustPaneSize { "Right", 5 }
+ },
+ {
+ mods = "LEADER",
+ key = "DownArrow",
+ action = wezterm.action.AdjustPaneSize { "Down", 5 }
+ },
+ {
+ mods = "LEADER",
+ key = "UpArrow",
+ action = wezterm.action.AdjustPaneSize { "Up", 5 }
+ },
+}
+
+for i = 1, 9 do
+ -- leader + number to activate that tab
+ table.insert(config.keys, {
+ key = tostring(i),
+ mods = "LEADER",
+ action = wezterm.action.ActivateTab(i-1),
+ })
+end
+
+
+-- tmux status
+wezterm.on("update-right-status", function(window, _)
+ local SOLID_LEFT_ARROW = ""
+ --local ARROW_FOREGROUND = { Foreground = { Color = "#c6a0f6" } }
+ -- local ARROW_FOREGROUND = { Foreground = { Color = "#000000" } }
+ local prefix = ""
+
+ if window:leader_is_active() then
+ prefix = " " .. utf8.char(0x1f30a) -- ocean wave
+ SOLID_LEFT_ARROW = utf8.char(0xe0b2)
+ end
+
+ if window:active_tab():tab_id() ~= 0 then
+ -- ARROW_FOREGROUND = { Foreground = { Color = "#1e2030" } }
+ -- ARROW_FOREGROUND = { Foreground = { Color = "#000000" } }
+ end -- arrow color based on if tab is first pane
+
+ window:set_left_status(wezterm.format {
+ --{ Background = { Color = "#b7bdf8" } },
+ -- { Background = { Color = "#000000" } },
+ { Text = prefix },
+ ARROW_FOREGROUND,
+ { Text = SOLID_LEFT_ARROW }
+ })
+end)
+
+
+config.unix_domains = {
+ {
+ name = 'unix',
+ no_serve_automatically = false,
+ },
+}
+
+-- This causes `wezterm` to act as though it was started as
+-- `wezterm connect unix` by default, connecting to the unix
+-- domain on startup.
+-- If you prefer to connect manually, leave out this line.
+-- config.default_gui_startup_args = { 'connect', 'unix' }
+
+return config
diff --git a/env/.config/wezterm/wezterm.lua b/env/.config/wezterm/wezterm.lua
new file mode 100755
index 0000000..df15edd
--- /dev/null
+++ b/env/.config/wezterm/wezterm.lua
@@ -0,0 +1,31 @@
+local wezterm = require 'wezterm'
+local colors= require 'colors'
+
+local config = {}
+config.default_prog = { 'zsh', '-l' } --config.font = wezterm.font 'Classic Console' config.font_size = 15 config.font = wezterm.font 'Source Code Pro'
+config.enable_tab_bar = false
+
+config.font = wezterm.font_with_fallback {
+ 'B612 Mono',
+ --'Inconsolata',
+ -- 'CozetteVector', --has weird offset with japanese. きki becomes せse and vice versa
+ 'JetBrainsMono',
+ 'JetBrainsMono Nerd Font',
+ 'JetBrainsMono Nerd Font Mono',
+ 'IPAGothic',
+ 'FreeMono',
+}
+config.font_size = 13
+
+config.colors=colors
+
+config.window_background_opacity = 0.8
+
+config.unix_domains = {
+ {
+ name = 'unix',
+ no_serve_automatically = false,
+ },
+}
+
+return config