feat(tmux): various improvements
This commit is contained in:
parent
bd2b6d1af3
commit
d943ab8b6d
5 changed files with 15 additions and 19 deletions
|
@ -124,6 +124,10 @@ in
|
||||||
"C-l" = "send-keys C-l";
|
"C-l" = "send-keys C-l";
|
||||||
"R" = "source-file $XDG_CONFIG_HOME/tmux/tmux.conf \\; display-message 'Reloaded tmux.conf'";
|
"R" = "source-file $XDG_CONFIG_HOME/tmux/tmux.conf \\; display-message 'Reloaded tmux.conf'";
|
||||||
};
|
};
|
||||||
|
root = {
|
||||||
|
"C-f" = "new-window ts";
|
||||||
|
"C-a" = "new-window ta";
|
||||||
|
};
|
||||||
copy-mode-vi = {
|
copy-mode-vi = {
|
||||||
"v" = "send -X begin-selection";
|
"v" = "send -X begin-selection";
|
||||||
"V" = "send -X select-line";
|
"V" = "send -X select-line";
|
||||||
|
|
|
@ -19,14 +19,14 @@ let
|
||||||
|
|
||||||
tmux-sessionizer = pkgs.writeFishApplication {
|
tmux-sessionizer = pkgs.writeFishApplication {
|
||||||
name = "ts";
|
name = "ts";
|
||||||
runtimeInputs = with pkgs; [ tmux findutils coreutils procps fd fzf1 tmux-switch ];
|
runtimeInputs = with pkgs; [ tmux findutils coreutils procps fd tmux-switch ];
|
||||||
text = readFile ./tmux-sessionizer/script.fish;
|
text = readFile ./tmux-sessionizer/script.fish;
|
||||||
completions = readFile ./tmux-sessionizer/completions.fish;
|
completions = readFile ./tmux-sessionizer/completions.fish;
|
||||||
};
|
};
|
||||||
|
|
||||||
tmux-attach = pkgs.writeFishApplication {
|
tmux-attach = pkgs.writeFishApplication {
|
||||||
name = "ta";
|
name = "ta";
|
||||||
runtimeInputs = with pkgs; [ tmux fzf1 tmux-switch ];
|
runtimeInputs = with pkgs; [ tmux tmux-switch ];
|
||||||
text = readFile ./tmux-attach/script.fish;
|
text = readFile ./tmux-attach/script.fish;
|
||||||
completions = readFile ./tmux-attach/completions.fish;
|
completions = readFile ./tmux-attach/completions.fish;
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
set selected (tmux list-sessions -F '#{session_name}' 2>/dev/null | fzf1 $argv)
|
set selected (tmux list-sessions -F '#{session_name}' 2>/dev/null | fzf $argv)
|
||||||
if not test -n "$selected"
|
if not test -n "$selected"
|
||||||
exit 1
|
exit 1
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,4 +1,11 @@
|
||||||
set selected (fd -HIg '.git' ~/ --min-depth 1 --max-depth 5 --type d --prune --exec dirname {} | fzf1 $argv)
|
set pipe (mktemp --dry-run)
|
||||||
|
mkfifo $pipe
|
||||||
|
|
||||||
|
fd -HIg '.git' ~/ --min-depth 1 --max-depth 5 --type d --prune --exec dirname {} | tee $pipe >/dev/null &
|
||||||
|
fd . ~/ --min-depth 1 --max-depth 3 --type d | tee $pipe >/dev/null &
|
||||||
|
|
||||||
|
set selected (cat $pipe | fzf $argv)
|
||||||
|
rm -f "$pipe"
|
||||||
|
|
||||||
set selected_name (basename $selected 2>/dev/null | string replace "." "_")
|
set selected_name (basename $selected 2>/dev/null | string replace "." "_")
|
||||||
|
|
||||||
|
|
|
@ -11,19 +11,4 @@ final: prev:
|
||||||
});
|
});
|
||||||
timers = inputs.timers.packages.${prev.system}.default;
|
timers = inputs.timers.packages.${prev.system}.default;
|
||||||
hyprland = inputs.hyprland.packages.${prev.system}.default;
|
hyprland = inputs.hyprland.packages.${prev.system}.default;
|
||||||
|
|
||||||
fzf1 = final.writeShellApplication {
|
|
||||||
name = "fzf1";
|
|
||||||
runtimeInputs = with final; [ coreutils fzf fd ];
|
|
||||||
text = ''
|
|
||||||
#!/usr/bin/env bash
|
|
||||||
selected=$(fzf --query="$*" -1 < /dev/stdin)
|
|
||||||
|
|
||||||
if [[ -z $selected ]]; then
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "$selected"
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue