tmux revamp

This commit is contained in:
ringofstorms 2024-04-01 00:50:59 -05:00
parent f43d436602
commit 4d473f4088
7 changed files with 143 additions and 44 deletions

View file

@ -0,0 +1,51 @@
{ ... }:
{
# More of an experiment to try out since wezterm is being weird on wayland...
#
#
programs.alacritty = {
enable = true;
settings = {
window = {
decorations = "None";
dynamic_title = false;
};
colors = {
primary = {
foreground = "#e0e0e0";
background = "#262626";
cursor = "#171717";
vi_mode_cursor = "#636363";
};
normal = {
# Catppuccin Coal
black = "#1f1f1f";
red = "#f38ba8";
green = "#a6e3a1";
yellow = "#f9e2af";
blue = "#89b4fa";
magenta = "#cba6f7";
cyan = "#89dceb";
white = "#e0e0e0";
};
};
font = {
normal = { family = "JetBrainsMonoNL Nerd Font"; style = "Regular"; };
size = 12.0;
## TODO use 16 on macos ...
};
# TODO revisit... none of this is working.
keyboard.bindings = [
# { key = "m"; mods = "Command"; chars = "test"; }
# { key = "t"; mods = "Control"; action = { SendString = "\\x01t"; }; }
# { key = "w"; mods = "Control"; action = { SendString = "\\x01w"; }; }
# { key = "o"; mods = "Control"; action = { SendString = "testing123"; }; }
# { key = "w"; mods = "Control"; chars = "\\\\x01w"; }
# { key = "o"; mods = "Control"; chars = "\\\\x01o"; }
# { key = "1"; mods = "Control"; chars = "\\\\x011"; }
# { key = "2"; mods = "Control"; chars = "\\\\x012"; }
];
};
};
}

View file

@ -1,9 +1,17 @@
# Reset everything then add what we want exactly
unbind-key -a
bind C-Space send-prefix
# Window stuff
bind -r H previous-window
bind -r L next-window
# Windows
bind -r p previous-window
bind -r n next-window
bind -r & kill-window
bind -r c new-window
bind ',' command-prompt "rename-window %%"
bind -r '"' split-window -v -c "#{pane_current_path}"
bind -r % split-window -h -c "#{pane_current_path}"
# bind "'" command-prompt -T window-target -p index { select-window it ":%%" }
bind w choose-tree -Zw
bind -r 1 select-window -t:1
bind -r 2 select-window -t:2
bind -r 3 select-window -t:3
@ -13,41 +21,38 @@ bind -r 6 select-window -t:6
bind -r 7 select-window -t:7
bind -r 8 select-window -t:8
bind -r 9 select-window -t:9
bind r command-prompt "rename-window %%"
bind | split-window -h -c "#{pane_current_path}"
bind \\ split-window -v -c "#{pane_current_path}"
bind t new-window
bind T command-prompt -p "window name:" "new-window; rename-window '%%'"
# custom
bind m command-prompt -p "Swap with window index:" "swap-window -t '%%'"
bind -r [ swap-window -t -1 \; previous-window
bind -r ] swap-window -t +1 \; next-window
# Sessions
bind C-s command-prompt -p "session name:" "new-session -s '%%'"
bind C-r command-prompt "rename-session %%"
bind -r C-L switch-client -n
bind -r C-H switch-client -p
# Pane stuff
# Panes
bind ! break-pane
bind -r left select-pane -L
bind -r down select-pane -D
bind -r up select-pane -U
bind -r right select-pane -R
bind -r x kill-pane
bind z resize-pane -Z
# custom
bind e select-layout tiled
bind -r h select-pane -L
bind -r j select-pane -D
bind -r k select-pane -U
bind -r l select-pane -R
bind -r , resize-pane -L 20
bind -r . resize-pane -R 20
bind -r - resize-pane -D 7
bind -r = resize-pane -U 7
bind q kill-pane
bind w kill-window
bind x swap-pane -D
# Sessions
bind $ command-prompt "rename-session %%"
bind -r ) switch-client -n
bind -r ( switch-client -p
# Tmux util
bind p paste-buffer
bind X source-file ~/.config/tmux/tmux.conf
bind z resize-pane -Z
bind : command-prompt
bind ^Q detach
bind C-D detach
# ==========
# My options
set-option -g terminal-overrides ',xterm-256color:RGB'

View file

@ -12,8 +12,9 @@ in
# Revisit this later, permission denied to make anything in `/run` as my user...
secureSocket = false;
shortcut = "a";
prefix = "C-a";
# default is B switch to space for easier dual hand use
shortcut = "Space";
prefix = "C-Space";
baseIndex = 1;
mouse = true;
keyMode = "vi";
@ -23,24 +24,15 @@ in
aggressiveResize = true;
plugins = [
{
plugin = tmux.sessionist;
extraConfig = ''
set -g @sessionist-join-pane "j"
set -g @sessionist-goto "o"
set -g @default_key_bindings_new "UNSET"
'';
}
tmux.yank
tmux.tmux-thumbs
{
plugin = tmux.fzf-tmux-url;
extraConfig = ''
set -g @fzf-url-fzf-options '-p 60%,30% --prompt = " " - -border-label=" Open URL "'
set -g @fzf-url-history-limit '2000'
'';
}
# tmux.tmux-thumbs
# {
# plugin = tmux.fzf-tmux-url;
# extraConfig = ''
# set -g @fzf-url-fzf-options '-p 60%,30% --prompt = " " - -border-label=" Open URL "'
# set -g @fzf-url-history-limit '2000'
# '';
# }
{
plugin = tmux.catppuccin.overrideAttrs (_: {
src = pkgs.fetchFromGitHub {

View file

@ -106,6 +106,8 @@ if isMac then
config.font_size = 16
config.window_decorations = "RESIZE"
elseif isNix then
config.enable_wayland = true
config.window_decorations = "NONE"
-- Fix for cursor disappearing in gnome