summaryrefslogtreecommitdiffstats
path: root/tmux.nix
diff options
context:
space:
mode:
authorAndrew <admonty1@protonmail.com>2025-10-31 00:24:11 -0400
committerAndrew <admonty1@protonmail.com>2025-10-31 00:24:11 -0400
commit547d8692c6ab823d0a0c86200dba33c0cdfdb03b (patch)
treed39c34c11b30cdac78dac884e73dd6a283a00b67 /tmux.nix
parentCleanup tmux (diff)
downloadnixos-547d8692c6ab823d0a0c86200dba33c0cdfdb03b.tar.gz
nixos-547d8692c6ab823d0a0c86200dba33c0cdfdb03b.tar.bz2
nixos-547d8692c6ab823d0a0c86200dba33c0cdfdb03b.zip
cleanup tmux and hyprland startup
Diffstat (limited to 'tmux.nix')
-rw-r--r--tmux.nix56
1 files changed, 50 insertions, 6 deletions
diff --git a/tmux.nix b/tmux.nix
index 5a12e04..745b21c 100644
--- a/tmux.nix
+++ b/tmux.nix
@@ -10,17 +10,61 @@
historyLimit = 10000;
baseIndex = 1;
clock24 = true;
- customPaneNavigationAndResize = true;
disableConfirmationPrompt = true;
- keyMode = "vi";
mouse = true;
newSession = true;
- prefix = "C-j";
- shortcut = "j";
extraConfig = ''
- bind | split-window -h
- bind - split-window -v
+ unbind C-b
+ set -g prefix M-b
+ bind M-b send-prefix
+
+ unbind %
+ unbind '"'
+ bind -n M-\\ split-window -h -c "#{pane_current_path}"
+ bind -n M-- split-window -v -c "#{pane_current_path}"
+
+ bind -n M-c new-window -c "#{pane_current_path}"
+ bind -n M-q kill-window
+ bind -n M-w kill-pane
+ bind -n M-r command-prompt -I "#W" "rename-window '%%'"
+ bind -n M-Space display-popup -E "\
+ tmux list-sessions -F '#{session_name}' 2>/dev/null | \
+ fzf --reverse \
+ --header='Alt+Space → Switch or Create Session' \
+ --border=rounded \
+ --height=40% \
+ --print-query \
+ --preview='tmux capture-pane -p -t {} 2>/dev/null || echo \"(new session)\"' | \
+ tail -1 | \
+ xargs -I {} sh -c '\
+ if tmux has-session -t \"{}\" 2>/dev/null; then \
+ tmux switch-client -t \"{}\"; \
+ else \
+ tmux new-session -d -s \"{}\" && tmux switch-client -t \"{}\"; \
+ fi' \
+ set -g escape-time 10
+ set -s escape-time 10
+ bind -n M-1 select-window -t 1
+ bind -n M-2 select-window -t 2
+ bind -n M-3 select-window -t 3
+ bind -n M-4 select-window -t 4
+ bind -n M-5 select-window -t 5
+ bind -n M-6 select-window -t 6
+ bind -n M-7 select-window -t 7
+ bind -n M-8 select-window -t 8
+ bind -n M-9 select-window -t 9
+
+ bind -n M-h select-pane -L
+ bind -n M-j select-pane -D
+ bind -n M-k select-pane -U
+ bind -n M-l select-pane -R
+
+ bind -n M-H swap-pane -U
+ bind -n M-J swap-pane -D
+ bind -n M-K swap-pane -U
+ bind -n M-L swap-pane -D
+
'';
};