feat(tmux): various improvements
parent
bd2b6d1af3
commit
d943ab8b6d
|
@ -124,6 +124,10 @@ in
|
|||
"C-l" = "send-keys C-l";
|
||||
"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 = {
|
||||
"v" = "send -X begin-selection";
|
||||
"V" = "send -X select-line";
|
||||
|
|
|
@ -19,14 +19,14 @@ let
|
|||
|
||||
tmux-sessionizer = pkgs.writeFishApplication {
|
||||
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;
|
||||
completions = readFile ./tmux-sessionizer/completions.fish;
|
||||
};
|
||||
|
||||
tmux-attach = pkgs.writeFishApplication {
|
||||
name = "ta";
|
||||
runtimeInputs = with pkgs; [ tmux fzf1 tmux-switch ];
|
||||
runtimeInputs = with pkgs; [ tmux tmux-switch ];
|
||||
text = readFile ./tmux-attach/script.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"
|
||||
exit 1
|
||||
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 "." "_")
|
||||
|
||||
|
|
|
@ -11,19 +11,4 @@ final: prev:
|
|||
});
|
||||
timers = inputs.timers.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 New Issue