feat: migrate terminal to ghostty and overhaul picom animations
- **Terminal**:
- Complete migration from WezTerm to Ghostty
- Updated `setup.sh` to install and configure Ghostty instead of WezTerm
- Removed all WezTerm configuration files and themes
- **i3**:
- Switched default terminal binding to Ghostty
- Refactored scratchpad rules to use `instance` instead of `class` for more precise targeting
- Updated scratchpad launches to use Ghostty-specific flags (`--x11-instance-name`)
- **Picom**:
- Overhauled animation system with new cubic-bezier curves for open, close, and geometry changes
- Increased `corner-radius` to 10px and refined exclusion list
- Switched backend to `glx` for better performance and enabled `vsync` and `unredir-if-possible`
- Updated opacity rules for Ghostty and improved shadow exclusions for UI elements
- **Scripts**:
- `launch-scratchpad.sh`: Improved logic to toggle scratchpads; now hides the window if it's already focused
- `window-wait.sh`: Updated to track window `instance` properties for reliability
Signed-off-by: erick-alcachofa <erick@artichoke.dev>
This commit is contained in:
parent
fc7236a328
commit
80f1d28d02
17
gui/ghostty/config/config
Normal file
17
gui/ghostty/config/config
Normal file
@ -0,0 +1,17 @@
|
||||
theme = Gruvbox Dark Hard
|
||||
background-opacity = 0.8
|
||||
|
||||
mouse-scroll-multiplier = precision:1,discrete:1
|
||||
|
||||
font-size = 12
|
||||
font-family = Maple Mono Normal NL NF
|
||||
font-feature = -calt, -liga, -dlig, -cv01, -cv02, -cv03, -cv31, -cv32, -ss06, -ss04
|
||||
|
||||
gtk-titlebar = false
|
||||
gtk-wide-tabs = false
|
||||
# gtk-toolbar-style = flat
|
||||
gtk-single-instance = false
|
||||
gtk-custom-css = tabs.css
|
||||
|
||||
copy-on-select = clipboard
|
||||
selection-clear-on-copy = true
|
||||
43
gui/ghostty/config/tabs.css
Normal file
43
gui/ghostty/config/tabs.css
Normal file
@ -0,0 +1,43 @@
|
||||
/* Flat, minimal tab bar */
|
||||
tabbar {
|
||||
font-family: "Maple Mono Normal NL NF", monospace;
|
||||
box-shadow: none;
|
||||
border-radius: 0;
|
||||
margin: 0px;
|
||||
padding: 0px;
|
||||
}
|
||||
|
||||
tabbox {
|
||||
box-shadow: none;
|
||||
border-radius: 0;
|
||||
margin: 0px;
|
||||
padding: 0px;
|
||||
}
|
||||
|
||||
tabboxchild {
|
||||
box-shadow: none;
|
||||
border-radius: 0;
|
||||
margin: 6px 0px 0px 0px;
|
||||
padding: 0px;
|
||||
}
|
||||
|
||||
/* Tab buttons - minimal styling */
|
||||
tabbar tab {
|
||||
border-radius: 0;
|
||||
margin: 0px;
|
||||
padding: 0px;
|
||||
}
|
||||
|
||||
/* Active tab */
|
||||
tabbar tab:selected {
|
||||
border-radius: 0;
|
||||
margin: 0px;
|
||||
padding: 0px;
|
||||
}
|
||||
|
||||
/* Tab hover */
|
||||
tabbar tab:hover {
|
||||
border-radius: 0;
|
||||
margin: 0px;
|
||||
padding: 0px;
|
||||
}
|
||||
16
gui/ghostty/setup.sh
Normal file
16
gui/ghostty/setup.sh
Normal file
@ -0,0 +1,16 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
if [ -z "$DOTFILES" ]; then
|
||||
export DOTFILES=$HOME/dotfiles
|
||||
source $DOTFILES/env.sh
|
||||
fi
|
||||
|
||||
yay -Syu
|
||||
|
||||
yay -S --needed ghostty
|
||||
|
||||
mkdir -p $CONFIG/ghostty
|
||||
|
||||
ln -f -s $DOTFILES/gui/ghostty/config/config $CONFIG/ghostty/config
|
||||
ln -f -s $DOTFILES/gui/ghostty/config/tabs.css $CONFIG/ghostty/tabs.css
|
||||
|
||||
@ -15,7 +15,7 @@ floating_modifier $mod
|
||||
|
||||
tiling_drag modifier titlebar
|
||||
|
||||
bindsym $mod+Return exec wezterm
|
||||
bindsym $mod+Return exec ghostty
|
||||
|
||||
bindsym $mod+Shift+q kill
|
||||
|
||||
@ -117,8 +117,8 @@ for_window [window_role="pop-up"] floating enable
|
||||
for_window [window_role="task_dialog"] floating enable
|
||||
for_window [class="Lutris"] floating enable
|
||||
|
||||
for_window [class="vol"] floating enable, resize set 800 500, move to scratchpad
|
||||
for_window [class="ttrm|sys"] floating enable, resize set 1000 680, move to scratchpad
|
||||
for_window [instance="vol"] floating enable, resize set 800 500, move to scratchpad
|
||||
for_window [instance="ttrm|sys"] floating enable, resize set 1000 680, move to scratchpad
|
||||
for_window [class="scrcpy"] floating enable, move to scratchpad
|
||||
for_window [class="Proton Pass"] floating enable, resize set 900 680, move position center
|
||||
for_window [class="Protonvpn-app"] floating enable, resize set 400 700, move position center
|
||||
@ -181,7 +181,7 @@ exec_always --no-startup-id "nitrogen --restore"
|
||||
|
||||
exec_always --no-startup-id ~/dotfiles/gui/scripts/polybar.sh
|
||||
|
||||
bindsym $mod+t exec "~/dotfiles/gui/scripts/launch-scratchpad.sh '/usr/bin/wezterm-gui start --class ttrm' 'ttrm'"
|
||||
bindsym $mod+p exec "~/dotfiles/gui/scripts/launch-scratchpad.sh '/usr/bin/wezterm-gui start --class vol -e pulsemixer' 'vol'"
|
||||
bindsym $mod+o exec "~/dotfiles/gui/scripts/launch-scratchpad.sh '/usr/bin/wezterm-gui start --class sys -e btop' 'sys'"
|
||||
bindsym $mod+t exec "~/dotfiles/gui/scripts/launch-scratchpad.sh '/usr/bin/ghostty --gtk-single-instance=false --x11-instance-name=ttrm' 'ttrm'"
|
||||
bindsym $mod+p exec "~/dotfiles/gui/scripts/launch-scratchpad.sh '/usr/bin/ghostty --gtk-single-instance=false --x11-instance-name=vol -e pulsemixer' 'vol'"
|
||||
bindsym $mod+o exec "~/dotfiles/gui/scripts/launch-scratchpad.sh '/usr/bin/ghostty --gtk-single-instance=false --x11-instance-name=sys -e btop' 'sys'"
|
||||
bindsym $mod+u exec "~/dotfiles/gui/scripts/launch-scratchpad.sh 'scrcpy -m 2048 -S -t' 'scrcpy'"
|
||||
|
||||
@ -1,64 +1,74 @@
|
||||
#################################
|
||||
# Animations #
|
||||
#################################
|
||||
|
||||
animations = (
|
||||
{
|
||||
triggers = ["close", "hide"];
|
||||
opacity = {
|
||||
curve = "cubic-bezier(0.2, 1, 0.2, 1)";
|
||||
duration = 0.05;
|
||||
start = "window-raw-opacity-before";
|
||||
end = 0;
|
||||
};
|
||||
blur-opacity = "opacity";
|
||||
shadow-opacity = "opacity";
|
||||
},
|
||||
{
|
||||
# OPEN: Drift in from the left + Scale Up
|
||||
triggers = ["open", "show"];
|
||||
opacity = {
|
||||
curve = "cubic-bezier(0.2, 1, 0.2, 1)";
|
||||
duration = 0.5;
|
||||
curve = "linear";
|
||||
duration = 0.2;
|
||||
start = 0;
|
||||
end = "window-raw-opacity";
|
||||
};
|
||||
blur-opacity = "opacity";
|
||||
shadow-opacity = "opacity";
|
||||
offset-x = "(1 - scale-x) / 2 * window-width";
|
||||
offset-y = "(1 - scale-y) / 2 * window-height";
|
||||
offset-x = {
|
||||
curve = "cubic-bezier(0, 0.55, 0.45, 1)";
|
||||
duration = 0.2;
|
||||
start = -40; # Drifts 40px from the left
|
||||
end = 0;
|
||||
};
|
||||
scale-x = {
|
||||
curve = "cubic-bezier(0.2, 1.3, 0.2, 1)";
|
||||
duration = 0.5;
|
||||
start = 0.6;
|
||||
curve = "cubic-bezier(0.34, 1.56, 0.64, 1)";
|
||||
duration = 0.2;
|
||||
start = 0.9;
|
||||
end = 1;
|
||||
};
|
||||
scale-y = "scale-x";
|
||||
|
||||
shadow-offset-x = "offset-x";
|
||||
shadow-scale-x = "scale-x";
|
||||
shadow-scale-y = "scale-y";
|
||||
shadow-offset-x = "offset-x";
|
||||
shadow-offset-y = "offset-y";
|
||||
},
|
||||
{
|
||||
# CLOSE: Quick Sink & Fade
|
||||
triggers = ["close", "hide"];
|
||||
opacity = {
|
||||
curve = "linear";
|
||||
duration = 0.15;
|
||||
start = "window-raw-opacity-before";
|
||||
end = 0;
|
||||
};
|
||||
offset-y = {
|
||||
curve = "ease-in";
|
||||
duration = 0.15;
|
||||
start = 0;
|
||||
end = 20; # Sinks slightly down as it vanishes
|
||||
};
|
||||
},
|
||||
{
|
||||
# GEOMETRY: The i3 Swap (Fixed Syntax)
|
||||
triggers = ["geometry"];
|
||||
scale-x = {
|
||||
curve = "cubic-bezier(0.2, 0, 0.2, 1.2)";
|
||||
duration = 0.22;
|
||||
curve = "cubic-bezier(0.05, 0.9, 0.1, 1.05)";
|
||||
duration = 0.22; # Kept your proven 0.22s speed
|
||||
start = "window-width-before / window-width";
|
||||
end = 1;
|
||||
};
|
||||
scale-y = {
|
||||
curve = "cubic-bezier(0.2, 0, 0.2, 1.2)";
|
||||
curve = "cubic-bezier(0.05, 0.9, 0.1, 1.05)";
|
||||
duration = 0.22;
|
||||
start = "window-height-before / window-height";
|
||||
end = 1;
|
||||
};
|
||||
offset-x = {
|
||||
curve = "cubic-bezier(0.2, 0, 0.2, 1.2)";
|
||||
curve = "cubic-bezier(0.05, 0.9, 0.1, 1.05)";
|
||||
duration = 0.22;
|
||||
start = "window-x-before - window-x";
|
||||
end = 0;
|
||||
};
|
||||
offset-y = {
|
||||
curve = "cubic-bezier(0.2, 0, 0.2, 1.2)";
|
||||
curve = "cubic-bezier(0.05, 0.9, 0.1, 1.05)";
|
||||
duration = 0.22;
|
||||
start = "window-y-before - window-y";
|
||||
end = 0;
|
||||
@ -70,7 +80,6 @@ animations = (
|
||||
}
|
||||
);
|
||||
|
||||
|
||||
#################################
|
||||
# Shadows #
|
||||
#################################
|
||||
@ -82,6 +91,17 @@ shadow-offset-x = -8;
|
||||
shadow-offset-y = -8;
|
||||
shadow-color = "#111111";
|
||||
|
||||
shadow-exclude = [
|
||||
"name = 'Notification'",
|
||||
"class_g = 'Conky'",
|
||||
"class_g ?= 'Notify-osd'",
|
||||
"class_g = 'Cairo-clock'",
|
||||
"_GTK_FRAME_EXTENTS@:c",
|
||||
"window_type = 'menu'",
|
||||
"window_type = 'dropdown_menu'",
|
||||
"window_type = 'popup_menu'",
|
||||
"window_type = 'tooltip'"
|
||||
];
|
||||
|
||||
#################################
|
||||
# Fading #
|
||||
@ -91,20 +111,19 @@ fading = true;
|
||||
fade-in-step = 0.02;
|
||||
fade-out-step = 0.02;
|
||||
fade-delta = 4;
|
||||
no-fading-openclose = true;
|
||||
no-fading-openclose = false;
|
||||
|
||||
|
||||
#################################
|
||||
# Transparency / Opacity #
|
||||
#################################
|
||||
|
||||
# inactive-opacity = 0.95;
|
||||
inactive-opacity-override = false;
|
||||
frame-opacity = 1.0;
|
||||
active-opacity = 1.0;
|
||||
focus-exclude = [];
|
||||
|
||||
opacity-rule = [
|
||||
"100:class_g = 'kitty' && !_NET_WM_STATE@:32a",
|
||||
"95:class_g = 'ghostty' && !_NET_WM_STATE@:32a",
|
||||
"0:_NET_WM_STATE@[0]:32a *= '_NET_WM_STATE_HIDDEN'",
|
||||
"0:_NET_WM_STATE@[1]:32a *= '_NET_WM_STATE_HIDDEN'",
|
||||
"0:_NET_WM_STATE@[2]:32a *= '_NET_WM_STATE_HIDDEN'",
|
||||
@ -116,49 +135,61 @@ opacity-rule = [
|
||||
# Corners #
|
||||
#################################
|
||||
|
||||
corner-radius = 5;
|
||||
rounded-corners-exclude = [];
|
||||
|
||||
corner-radius = 10;
|
||||
rounded-corners-exclude = [
|
||||
"class_g = 'i3-frame'",
|
||||
"window_type = 'dock'",
|
||||
"window_type = 'desktop'",
|
||||
"window_type = 'menu'",
|
||||
"window_type = 'dropdown_menu'",
|
||||
"window_type = 'popup_menu'",
|
||||
"window_type = 'tooltip'",
|
||||
];
|
||||
|
||||
#################################
|
||||
# Background Blurring #
|
||||
#################################
|
||||
blur-method = "dual_kawase";
|
||||
blur-size = 12;
|
||||
blur-deviation = true;
|
||||
blur-strength = 5;
|
||||
blur-background = true;
|
||||
blur-background-frame = false;
|
||||
blur-background-fixed = false;
|
||||
blur-xern = "3x3box";
|
||||
|
||||
# blur-method = "dual_kawase";
|
||||
# blur-strength = 1;
|
||||
# blur-size = 20;
|
||||
# blur-background = true;
|
||||
# blur-background-frame = false;
|
||||
# blur-background-fixed = false;
|
||||
|
||||
blur-background-exclude = [
|
||||
#"window_type = 'dock'",
|
||||
#"window_type = 'desktop'",
|
||||
"window_type = 'dock'",
|
||||
"window_type = 'desktop'",
|
||||
"window_type = 'menu'",
|
||||
"window_type = 'dropdown_menu'",
|
||||
"window_type = 'popup_menu'",
|
||||
"window_type = 'tooltip'",
|
||||
"_GTK_FRAME_EXTENTS@:c"
|
||||
];
|
||||
|
||||
|
||||
|
||||
#################################
|
||||
# General Settings #
|
||||
#################################
|
||||
|
||||
backend = "xrender";
|
||||
dithered-present = false;
|
||||
backend = "glx";
|
||||
vsync = true;
|
||||
mark-wmwin-focused = false;
|
||||
mark-ovredir-focused = false;
|
||||
use-damage = true;
|
||||
unredir-if-possible = true;
|
||||
xrender-sync-fence = true;
|
||||
|
||||
mark-wmwin-focused = true;
|
||||
mark-ovredir-focused = true;
|
||||
detect-rounded-corners = true;
|
||||
detect-client-opacity = true;
|
||||
use-ewmh-active-win = true;
|
||||
detect-transient = true;
|
||||
use-damage = true;
|
||||
log-level = "warn";
|
||||
detect-client-leader = true;
|
||||
use-ewmh-active-win = true;
|
||||
|
||||
wintypes:
|
||||
{
|
||||
tooltip = {
|
||||
fade = true;
|
||||
shadow = true;
|
||||
shadow = false;
|
||||
opacity = 1.0;
|
||||
focus = true;
|
||||
full-shadow = false;
|
||||
@ -171,9 +202,11 @@ wintypes:
|
||||
shadow = false;
|
||||
}
|
||||
popup_menu = {
|
||||
shadow = false;
|
||||
opacity = 1.0;
|
||||
}
|
||||
dropdown_menu = {
|
||||
shadow = false;
|
||||
opacity = 1.0;
|
||||
}
|
||||
};
|
||||
|
||||
@ -10,13 +10,17 @@ if [ -z "$start" ]; then
|
||||
fi
|
||||
|
||||
if pgrep -f "^$match" >/dev/null; then
|
||||
i3-msg "[class=\"$i3match\"] scratchpad show"
|
||||
i3-msg "[class=\"$i3match\"] move position center"
|
||||
IS_FOCUSED=$(i3-msg -t get_tree | jq ".. | select(.focused? == true and .window_properties?.instance == \"$i3match\")")
|
||||
|
||||
if [ -n "$IS_FOCUSED" ]; then
|
||||
i3-msg "[instance=\"$i3match\"] move scratchpad"
|
||||
else
|
||||
i3-msg "[instance=\"$i3match\"] move scratchpad; [instance=\"$i3match\"] scratchpad show, move position center"
|
||||
fi
|
||||
else
|
||||
bash -c "$start &>/dev/null & disown"
|
||||
|
||||
~/dotfiles/gui/scripts/run-until-output.sh true ~/dotfiles/gui/scripts/window-wait.sh $i3match
|
||||
|
||||
i3-msg "[class=\"$i3match\"] scratchpad show"
|
||||
i3-msg "[class=\"$i3match\"] move position center"
|
||||
i3-msg "[instance=\"$i3match\"] move scratchpad; [instance=\"$i3match\"] scratchpad show, move position center"
|
||||
fi
|
||||
|
||||
@ -3,4 +3,4 @@
|
||||
i3match=$1
|
||||
|
||||
i3-msg -m -t subscribe '["window"]' \
|
||||
| jq 'if .change == "new" and .container.window_properties.class == "'$i3match'" then true else false end'
|
||||
| jq 'if .change == "new" and .container.window_properties.instance == "'$i3match'" then true else false end'
|
||||
|
||||
@ -30,7 +30,7 @@ yay -S --needed \
|
||||
. $DOTFILES/gui/dunst/setup.sh
|
||||
. $DOTFILES/gui/polybar/setup.sh
|
||||
. $DOTFILES/gui/rofi/setup.sh
|
||||
. $DOTFILES/gui/wezterm/setup.sh
|
||||
. $DOTFILES/gui/ghostty/setup.sh
|
||||
|
||||
yay -S --needed \
|
||||
obs-studio \
|
||||
|
||||
@ -1,84 +0,0 @@
|
||||
[colors]
|
||||
ansi = [
|
||||
"#1c1e1b",
|
||||
"#e75a7c",
|
||||
"#8fb573",
|
||||
"#dbb651",
|
||||
"#57a5e5",
|
||||
"#aaaaff",
|
||||
"#70c2be",
|
||||
"#f1e9d2",
|
||||
]
|
||||
background = "#252623"
|
||||
brights = [
|
||||
"#5b5e5a",
|
||||
"#e75a7c",
|
||||
"#8fb573",
|
||||
"#dbb651",
|
||||
"#57a5e5",
|
||||
"#aaaaff",
|
||||
"#70c2be",
|
||||
"#fff8f0",
|
||||
]
|
||||
cursor_bg = "#fff8f0"
|
||||
cursor_border = "#fff8f0"
|
||||
cursor_fg = "#0f0800"
|
||||
foreground = "#f1e9d2"
|
||||
scrollbar_thumb = "#1c1e1b"
|
||||
selection_bg = "#5b5e5a"
|
||||
selection_fg = "#f1e9d2"
|
||||
split = "#838781"
|
||||
compose_cursor = "#ff9966"
|
||||
visual_bell = "#383b35"
|
||||
|
||||
[colors.indexed]
|
||||
|
||||
[colors.tab_bar]
|
||||
background = "#1c1e1b"
|
||||
inactive_tab_edge = "#3a3d37"
|
||||
|
||||
[colors.tab_bar.active_tab]
|
||||
bg_color = "#f1e9d2"
|
||||
fg_color = "#111210"
|
||||
intensity = "Normal"
|
||||
italic = false
|
||||
strikethrough = false
|
||||
underline = "None"
|
||||
|
||||
[colors.tab_bar.inactive_tab]
|
||||
bg_color = "#3a3d37"
|
||||
fg_color = "#5b5e5a"
|
||||
intensity = "Normal"
|
||||
italic = false
|
||||
strikethrough = false
|
||||
underline = "None"
|
||||
|
||||
[colors.tab_bar.inactive_tab_hover]
|
||||
bg_color = "#2f312c"
|
||||
fg_color = "#838781"
|
||||
intensity = "Normal"
|
||||
italic = true
|
||||
strikethrough = false
|
||||
underline = "None"
|
||||
|
||||
[colors.tab_bar.new_tab]
|
||||
bg_color = "#5b5e5a"
|
||||
fg_color = "#f1e9d2"
|
||||
intensity = "Normal"
|
||||
italic = false
|
||||
strikethrough = false
|
||||
underline = "None"
|
||||
|
||||
[colors.tab_bar.new_tab_hover]
|
||||
bg_color = "#838781"
|
||||
fg_color = "#f1e9d2"
|
||||
intensity = "Normal"
|
||||
italic = false
|
||||
strikethrough = false
|
||||
underline = "None"
|
||||
|
||||
[metadata]
|
||||
name = 'Bamboo'
|
||||
author = 'Riley Bruins'
|
||||
origin_url = "https://github.com/ribru17/bamboo.nvim"
|
||||
|
||||
@ -1,30 +0,0 @@
|
||||
[colors]
|
||||
ansi = [
|
||||
"#27272a",
|
||||
"#ea83a5",
|
||||
"#90b99f",
|
||||
"#e6b99d",
|
||||
"#85b8ba",
|
||||
"#9ca2cf",
|
||||
"#e29eca",
|
||||
"#c9c7cd",
|
||||
]
|
||||
background = "#161617"
|
||||
foreground = "#c9c7cd"
|
||||
brights = [
|
||||
"#353539",
|
||||
"#ed96b3",
|
||||
"#a7c8b3",
|
||||
"#eac5ac",
|
||||
"#97c0c4",
|
||||
"#acb1d7",
|
||||
"#e8b0d4",
|
||||
"#c9c7cd",
|
||||
]
|
||||
cursor_bg = "#c9c7cd"
|
||||
cursor_border = "#c9c7cd"
|
||||
|
||||
[metadata]
|
||||
name = 'OldWorld'
|
||||
author = 'dgox16'
|
||||
origin_url = "https://github.com/dgox16/oldworld.nvim"
|
||||
@ -1,34 +0,0 @@
|
||||
[colors]
|
||||
ansi = [
|
||||
'#1f1f1f',
|
||||
'#f44747',
|
||||
'#608b4e',
|
||||
'#dcdcaa',
|
||||
'#569cd6',
|
||||
'#c678dd',
|
||||
'#56b6c2',
|
||||
'#d4d4d4',
|
||||
]
|
||||
background = '#1f1f1f'
|
||||
brights = [
|
||||
'#808080',
|
||||
'#f44747',
|
||||
'#608b4e',
|
||||
'#dcdcaa',
|
||||
'#569cd6',
|
||||
'#c678dd',
|
||||
'#56b6c2',
|
||||
'#d4d4d4',
|
||||
]
|
||||
cursor_bg = '#d4d4d4'
|
||||
cursor_border = '#d4d4d4'
|
||||
cursor_fg = '#1f1f1f'
|
||||
foreground = '#d4d4d4'
|
||||
selection_bg = '#dcdcaa'
|
||||
selection_fg = '#1f1f1f'
|
||||
|
||||
[colors.indexed]
|
||||
|
||||
[metadata]
|
||||
name = 'vscode'
|
||||
origin_url = 'https://github.com/Mofiqul/vscode.nvim'
|
||||
@ -1,86 +0,0 @@
|
||||
local wezterm = require('wezterm')
|
||||
|
||||
local config = wezterm.config_builder()
|
||||
|
||||
config.audible_bell = "Disabled"
|
||||
|
||||
config.window_background_opacity = 0.8
|
||||
config.font = wezterm.font('Maple Mono NL NF')
|
||||
config.font_size = 12
|
||||
config.harfbuzz_features = {
|
||||
'calt=0', 'clig=0', 'liga=0',
|
||||
'cv01', 'cv02', 'cv03', 'cv31',
|
||||
'cv32', 'ss06', 'ss04'
|
||||
}
|
||||
|
||||
config.color_scheme = 'Gruvbox Material (Gogh)'
|
||||
|
||||
config.hide_tab_bar_if_only_one_tab = true
|
||||
config.use_fancy_tab_bar = false
|
||||
config.tab_bar_at_bottom = true
|
||||
config.window_padding = {
|
||||
left = 0,
|
||||
right = 0,
|
||||
bottom = 0,
|
||||
top = 0,
|
||||
}
|
||||
|
||||
config.leader = {
|
||||
key = 'Space',
|
||||
mods = 'ALT',
|
||||
timeout_milliseconds = 1000
|
||||
}
|
||||
|
||||
config.keys = {
|
||||
{
|
||||
key = 's',
|
||||
mods = 'LEADER',
|
||||
action = wezterm.action.SplitPane { direction = 'Right' }
|
||||
},
|
||||
{
|
||||
key = 'v',
|
||||
mods = 'LEADER',
|
||||
action = wezterm.action.SplitPane { direction = 'Down' }
|
||||
},
|
||||
{
|
||||
key = 'x',
|
||||
mods = 'LEADER',
|
||||
action = wezterm.action.CloseCurrentPane { confirm = true }
|
||||
},
|
||||
{
|
||||
key = 'k',
|
||||
mods = 'LEADER',
|
||||
action = wezterm.action.ActivatePaneDirection 'Up'
|
||||
},
|
||||
{
|
||||
key = 'h',
|
||||
mods = 'LEADER',
|
||||
action = wezterm.action.ActivatePaneDirection 'Left'
|
||||
},
|
||||
{
|
||||
key = 'l',
|
||||
mods = 'LEADER',
|
||||
action = wezterm.action.ActivatePaneDirection 'Right'
|
||||
},
|
||||
{
|
||||
key = 'j',
|
||||
mods = 'LEADER',
|
||||
action = wezterm.action.ActivatePaneDirection 'Down'
|
||||
},
|
||||
{
|
||||
key = 'z',
|
||||
mods = 'LEADER',
|
||||
action = wezterm.action.TogglePaneZoomState
|
||||
}
|
||||
}
|
||||
|
||||
wezterm.plugin.require('https://gitlab.com/xarvex/presentation.wez')
|
||||
.apply_to_config(
|
||||
config,
|
||||
{
|
||||
font_size_multiplier = 1.5
|
||||
}
|
||||
)
|
||||
|
||||
return config
|
||||
|
||||
@ -1,14 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
if [ -z "$DOTFILES" ]; then
|
||||
export DOTFILES=$HOME/dotfiles
|
||||
source $DOTFILES/env.sh
|
||||
fi
|
||||
|
||||
yay -Syu
|
||||
|
||||
yay -S --needed wezterm
|
||||
|
||||
mkdir -p $CONFIG/wezterm
|
||||
|
||||
ln -f -s $DOTFILES/gui/wezterm/config/wezterm.lua $CONFIG/wezterm/wezterm.lua
|
||||
Loading…
x
Reference in New Issue
Block a user