wezterm mostly
This commit is contained in:
parent
cdb346459c
commit
8bf61f23f3
@ -19,3 +19,8 @@
|
|||||||
helper = /usr/local/share/gcm-core/git-credential-manager
|
helper = /usr/local/share/gcm-core/git-credential-manager
|
||||||
[credential "https://dev.azure.com"]
|
[credential "https://dev.azure.com"]
|
||||||
useHttpPath = true
|
useHttpPath = true
|
||||||
|
[http]
|
||||||
|
postBuffer = 157286400
|
||||||
|
version = HTTP/1.1
|
||||||
|
[pack]
|
||||||
|
window = 1
|
||||||
|
169
dot_wezterm.lua
169
dot_wezterm.lua
@ -5,6 +5,16 @@ local wezterm = require 'wezterm'
|
|||||||
local config = wezterm.config_builder()
|
local config = wezterm.config_builder()
|
||||||
local act = wezterm.action
|
local act = wezterm.action
|
||||||
|
|
||||||
|
config.scrollback_lines = 5000000
|
||||||
|
config.enable_scroll_bar = false
|
||||||
|
config.native_macos_fullscreen_mode = false
|
||||||
|
|
||||||
|
config.default_cursor_style = 'BlinkingBar'
|
||||||
|
-- config.animation_fps = 1
|
||||||
|
config.front_end = "WebGpu"
|
||||||
|
config.cursor_blink_ease_in = 'Constant'
|
||||||
|
config.cursor_blink_ease_out = 'Constant'
|
||||||
|
|
||||||
-- This is where you actually apply your config choices
|
-- This is where you actually apply your config choices
|
||||||
config.ssh_domains = {
|
config.ssh_domains = {
|
||||||
{
|
{
|
||||||
@ -18,6 +28,20 @@ config.ssh_domains = {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
config.keys = {
|
config.keys = {
|
||||||
|
{
|
||||||
|
key = ',',
|
||||||
|
mods = 'CMD',
|
||||||
|
action = act.SpawnCommandInNewTab {
|
||||||
|
cwd = os.getenv('WEZTERM_CONFIG_DIR'),
|
||||||
|
set_environment_variables = {
|
||||||
|
TERM = 'screen-256color',
|
||||||
|
},
|
||||||
|
args = {
|
||||||
|
'/opt/homebrew/bin/nvim',
|
||||||
|
os.getenv('WEZTERM_CONFIG_FILE'),
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
{ key = 'U', mods = 'CTRL|SHIFT', action = act.AttachDomain 'devhost' },
|
{ key = 'U', mods = 'CTRL|SHIFT', action = act.AttachDomain 'devhost' },
|
||||||
-- Detaches the domain associated with the current pane
|
-- Detaches the domain associated with the current pane
|
||||||
{
|
{
|
||||||
@ -31,8 +55,24 @@ config.keys = {
|
|||||||
mods = 'CTRL|SHIFT',
|
mods = 'CTRL|SHIFT',
|
||||||
action = act.DetachDomain { DomainName = 'devhost' },
|
action = act.DetachDomain { DomainName = 'devhost' },
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
key = '"',
|
||||||
|
mods = 'CMD',
|
||||||
|
action = wezterm.action.SplitVertical { domain = 'CurrentPaneDomain' },
|
||||||
|
},
|
||||||
|
{
|
||||||
|
key = 'Enter',
|
||||||
|
mods = 'CMD',
|
||||||
|
action = wezterm.action.SplitHorizontal { domain = 'CurrentPaneDomain' },
|
||||||
|
},
|
||||||
|
{
|
||||||
|
key = 'p',
|
||||||
|
mods = 'CMD',
|
||||||
|
action = wezterm.action.ActivateCommandPalette,
|
||||||
|
},
|
||||||
}
|
}
|
||||||
config.window_decorations = "RESIZE | INTEGRATED_BUTTONS"
|
|
||||||
|
config.window_decorations = "RESIZE|INTEGRATED_BUTTONS"
|
||||||
config.initial_cols = 127
|
config.initial_cols = 127
|
||||||
config.initial_rows = 67
|
config.initial_rows = 67
|
||||||
|
|
||||||
@ -64,22 +104,121 @@ config.window_frame = {
|
|||||||
|
|
||||||
-- The overall background color of the tab bar when
|
-- The overall background color of the tab bar when
|
||||||
-- the window is focused
|
-- the window is focused
|
||||||
active_titlebar_bg = '#222222',
|
-- active_titlebar_bg = '#222222',
|
||||||
inactive_titlebar_bg = '#000000',
|
-- inactive_titlebar_bg = '#FF0000',
|
||||||
active_titlebar_fg = '#ffffff',
|
-- active_titlebar_fg = '#ffffff',
|
||||||
|
|
||||||
border_left_width = '0.5cell',
|
border_left_width = '1cell',
|
||||||
border_right_width = '0.5cell',
|
border_right_width = '0.5cell',
|
||||||
border_bottom_height = '0cell',
|
border_bottom_height = '0.25cell',
|
||||||
border_top_height = '0.1cell',
|
border_top_height = '1.15cell',
|
||||||
border_left_color = '#1c2836',
|
border_left_color = '#1c2836',
|
||||||
border_right_color = '#1c2836',
|
border_right_color = '#1c2836',
|
||||||
border_bottom_color = '#1c2836',
|
border_bottom_color = '#1c2836',
|
||||||
border_top_color = '#1c2836',
|
border_top_color = '#1c2836',
|
||||||
|
|
||||||
-- The overall background color of the tab bar when
|
|
||||||
-- the window is not focused
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
config.use_fancy_tab_bar = false
|
||||||
|
config.tab_bar_at_bottom = true
|
||||||
|
|
||||||
|
config.colors = {
|
||||||
|
tab_bar = {
|
||||||
|
-- The color of the strip that goes along the top of the window
|
||||||
|
-- (does not apply when fancy tab bar is in use)
|
||||||
|
background = '#1c2836',
|
||||||
|
|
||||||
|
-- The active tab is the one that has focus in the window
|
||||||
|
active_tab = {
|
||||||
|
bg_color = '#5588DD',
|
||||||
|
fg_color = '#000000',
|
||||||
|
|
||||||
|
-- Specify whether you want "Half", "Normal" or "Bold" intensity for the
|
||||||
|
-- label shown for this tab.
|
||||||
|
-- The default is "Normal"
|
||||||
|
intensity = 'Normal',
|
||||||
|
},
|
||||||
|
|
||||||
|
inactive_tab = {
|
||||||
|
bg_color = '#222222',
|
||||||
|
fg_color = '#808080',
|
||||||
|
},
|
||||||
|
|
||||||
|
inactive_tab_hover = {
|
||||||
|
bg_color = '#3b3052',
|
||||||
|
fg_color = '#909090',
|
||||||
|
italic = true,
|
||||||
|
},
|
||||||
|
|
||||||
|
new_tab = {
|
||||||
|
bg_color = '#1c2836',
|
||||||
|
fg_color = '#AAAACC',
|
||||||
|
},
|
||||||
|
|
||||||
|
new_tab_hover = {
|
||||||
|
bg_color = '#3b3052',
|
||||||
|
fg_color = '#909090',
|
||||||
|
italic = true,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
config.tab_max_width = 32
|
||||||
|
-- The filled in variant of the < symbol
|
||||||
|
local SOLID_LEFT_ARROW = wezterm.nerdfonts.ple_left_half_circle_thick
|
||||||
|
|
||||||
|
-- The filled in variant of the > symbol
|
||||||
|
local SOLID_RIGHT_ARROW = wezterm.nerdfonts.ple_right_half_circle_thick
|
||||||
|
|
||||||
|
-- This function returns the suggested title for a tab.
|
||||||
|
-- It prefers the title that was set via `tab:set_title()`
|
||||||
|
-- or `wezterm cli set-tab-title`, but falls back to the
|
||||||
|
-- title of the active pane in that tab.
|
||||||
|
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
|
||||||
|
|
||||||
|
wezterm.on(
|
||||||
|
'format-tab-title',
|
||||||
|
function(tab, tabs, panes, config, hover, max_width)
|
||||||
|
local edge_background = '#1c2836'
|
||||||
|
local background = '#141c26'
|
||||||
|
local foreground = '#4d82bf'
|
||||||
|
|
||||||
|
if tab.is_active then
|
||||||
|
background = '#2e84e6'
|
||||||
|
foreground = '#000000'
|
||||||
|
elseif hover then
|
||||||
|
background = '#155082'
|
||||||
|
foreground = '#000000'
|
||||||
|
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 - 5)
|
||||||
|
|
||||||
|
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
|
||||||
|
)
|
||||||
|
|
||||||
-- and finally, return the configuration to wezterm
|
-- and finally, return the configuration to wezterm
|
||||||
return config
|
return config
|
||||||
|
@ -21,6 +21,7 @@
|
|||||||
:hepta ["^app.projectmeta.projectmeta$"]
|
:hepta ["^app.projectmeta.projectmeta$"]
|
||||||
:youcom ["^com\\.Unite\\.You$"]
|
:youcom ["^com\\.Unite\\.You$"]
|
||||||
:metaai ["^com\\.Unite\\.Meta.ai$"]
|
:metaai ["^com\\.Unite\\.Meta.ai$"]
|
||||||
|
:wiki ["^com\\.Unite\\.SetiaWiki$"]
|
||||||
:jupyter ["^org\\.jupyter\\.jupyterlab-desktop$"]
|
:jupyter ["^org\\.jupyter\\.jupyterlab-desktop$"]
|
||||||
:dataspell ["^com\\.jetbrains\\.dataspell$"]
|
:dataspell ["^com\\.jetbrains\\.dataspell$"]
|
||||||
:vikunja ["^com\\.Unite\\.Vikunja$"]}
|
:vikunja ["^com\\.Unite\\.Vikunja$"]}
|
||||||
@ -107,7 +108,8 @@
|
|||||||
[:d :!Ch :claude]
|
[:d :!Ch :claude]
|
||||||
[:h [:open "/Applications/Heptabase.app"] :!hepta]
|
[:h [:open "/Applications/Heptabase.app"] :!hepta]
|
||||||
[:h :!Ch :hepta]
|
[:h :!Ch :hepta]
|
||||||
[:w [:open "/Users/anton/Applications/Setia.wiki.app"]]
|
[:w [:open "/Applications/Setia Wiki.app"] :!wiki]
|
||||||
|
[:w :!Cw :wiki]
|
||||||
[:o [:open "/Applications/openai.app"] :!openai]
|
[:o [:open "/Applications/openai.app"] :!openai]
|
||||||
[:o :!Ch :openai]
|
[:o :!Ch :openai]
|
||||||
[:p [:open "/Users/anton/Applications/webui.app"] :!webui]
|
[:p [:open "/Users/anton/Applications/webui.app"] :!webui]
|
||||||
@ -124,6 +126,9 @@
|
|||||||
[:v :!Ch :vikunja]
|
[:v :!Ch :vikunja]
|
||||||
]}
|
]}
|
||||||
|
|
||||||
|
{:des "⌘W->⌘H in Heptabase"
|
||||||
|
:rules [:hepta [:!Cw :!Ch]]}
|
||||||
|
|
||||||
{:des "⌘W->⌘H in Safari ChatGPT app"
|
{:des "⌘W->⌘H in Safari ChatGPT app"
|
||||||
:rules [:webapp [:!Cw :!Ch]]}
|
:rules [:webapp [:!Cw :!Ch]]}
|
||||||
|
|
||||||
|
@ -21,19 +21,6 @@ if status is-interactive
|
|||||||
atuin init fish --disable-up-arrow | source
|
atuin init fish --disable-up-arrow | source
|
||||||
end
|
end
|
||||||
|
|
||||||
# >>> conda initialize >>>
|
|
||||||
# !! Contents within this block are managed by 'conda init' !!
|
|
||||||
if test -f /usr/local/Caskroom/miniconda/base/bin/conda
|
|
||||||
eval /usr/local/Caskroom/miniconda/base/bin/conda "shell.fish" hook $argv | source &
|
|
||||||
end
|
|
||||||
# <<< conda initialize <<<
|
|
||||||
|
|
||||||
|
|
||||||
if test -f /opt/homebrew/Caskroom/miniconda/base/etc/fish/conf.d/conda.fish
|
|
||||||
source /opt/homebrew/Caskroom/miniconda/base/etc/fish/conf.d/conda.fish
|
|
||||||
conda activate base &
|
|
||||||
end
|
|
||||||
|
|
||||||
if type -q jump
|
if type -q jump
|
||||||
# initialize jump cd
|
# initialize jump cd
|
||||||
jump shell fish | source
|
jump shell fish | source
|
||||||
@ -65,13 +52,21 @@ function s
|
|||||||
end
|
end
|
||||||
|
|
||||||
function icat
|
function icat
|
||||||
|
if [ $TERM_PROGRAM ]
|
||||||
|
wezterm imgcat $argv
|
||||||
|
else
|
||||||
kitty +kitten icat --align=left $argv
|
kitty +kitten icat --align=left $argv
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
function winbox
|
function winbox
|
||||||
~/dev/winbox/run.sh&
|
~/dev/winbox/run.sh&
|
||||||
end
|
end
|
||||||
|
|
||||||
|
function conda
|
||||||
|
micromamba $argv
|
||||||
|
end
|
||||||
|
|
||||||
if [ -e /home/anton/.nix-profile/etc/profile.d/nix.fish ]; . /home/anton/.nix-profile/etc/profile.d/nix.fish; end
|
if [ -e /home/anton/.nix-profile/etc/profile.d/nix.fish ]; . /home/anton/.nix-profile/etc/profile.d/nix.fish; end
|
||||||
|
|
||||||
# The next line updates PATH for the Google Cloud SDK.
|
# The next line updates PATH for the Google Cloud SDK.
|
||||||
@ -81,3 +76,12 @@ end
|
|||||||
|
|
||||||
direnv hook fish | source
|
direnv hook fish | source
|
||||||
if [ -f '~/.config/op/plugins.sh' ]; source ~/.config/op/plugins.sh; end
|
if [ -f '~/.config/op/plugins.sh' ]; source ~/.config/op/plugins.sh; end
|
||||||
|
|
||||||
|
# >>> mamba initialize >>>
|
||||||
|
# !! Contents within this block are managed by 'mamba init' !!
|
||||||
|
set -gx MAMBA_EXE "/opt/homebrew/bin/micromamba"
|
||||||
|
set -gx MAMBA_ROOT_PREFIX "/Users/anton/micromamba"
|
||||||
|
$MAMBA_EXE shell hook --shell fish --root-prefix $MAMBA_ROOT_PREFIX | source
|
||||||
|
# <<< mamba initialize <<<
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user