From 722a5814fa57eee2fed9a71e6b1c4283caa0a508 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 15 Jul 2025 09:49:11 +0100 Subject: [PATCH] Shorten directory paths --- packages/tmux-sessionizer/default.nix | 2 ++ packages/tmux-sessionizer/shorten-paths.patch | 23 +++++++++++++++++++ 2 files changed, 25 insertions(+) create mode 100644 packages/tmux-sessionizer/shorten-paths.patch diff --git a/packages/tmux-sessionizer/default.nix b/packages/tmux-sessionizer/default.nix index ee8b9a96..f209ffdd 100644 --- a/packages/tmux-sessionizer/default.nix +++ b/packages/tmux-sessionizer/default.nix @@ -31,5 +31,7 @@ stdenv.mkDerivation { sha256 = "sha256-AtaOlV2JSeR0BmDsfuv8ZFbu5G0vz4RdUPY4ZF4UqQc="; url = "https://patch-diff.githubusercontent.com/raw/ThePrimeagen/tmux-sessionizer/pull/23.patch"; }) + + ./shorten-paths.patch ]; } diff --git a/packages/tmux-sessionizer/shorten-paths.patch b/packages/tmux-sessionizer/shorten-paths.patch new file mode 100644 index 00000000..2283b5fb --- /dev/null +++ b/packages/tmux-sessionizer/shorten-paths.patch @@ -0,0 +1,23 @@ +diff --git a/tmux-sessionizer b/tmux-sessionizer +index 036d2a3..cd11500 100755 +--- a/tmux-sessionizer ++++ b/tmux-sessionizer +@@ -252,7 +252,7 @@ find_dirs() { + if [[ -d "$path" ]]; then + while IFS= read -r dir; do + dir_list+=("$dir") +- done < <(find "$path" -mindepth 1 -maxdepth "$depth" -path '*/.git' -prune -o -type d -print) ++ done < <(find "$path" -mindepth 1 -maxdepth "$depth" -path '*/.git' -prune -o -type d -print | sed "s#$HOME/##" ) + fi + done + +@@ -341,6 +341,9 @@ fi + + if [[ "$selected" =~ ^\[TMUX\]\ (.+)$ ]]; then + selected="${BASH_REMATCH[1]}" ++else ++ # Re-add the Home directory back to the selected path. ++ selected="$HOME/$selected" + fi + + selected_name=$(basename "$selected" | tr . _)