4 files changed,
44 insertions(+),
0 deletions(-)
Author:
Oleksandr Smirnov
olexsmir@gmail.com
Committed at:
2026-06-07 19:02:49 +0300
Authored at:
2026-06-07 19:00:55 +0300
Change ID:
sokkmkutxtplqrwyormvqrlyrklklpmv
Parent:
8d8ca95
jump to
| A | scripts/_rename_hook.sh |
| M | scripts/helpers.sh |
| M | scripts/sessions.sh |
| M | stare.tmux |
A
scripts/_rename_hook.sh
··· 1 +#!/usr/bin/env bash 2 +CURRENT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" 3 +source "$CURRENT_DIR/helpers.sh" 4 + 5 +main() { 6 + local session_id="$1" 7 + local new_name="$2" 8 + local dir="$(get_opt_dir)" 9 + local map_file="${dir}/.session_map" 10 + 11 + [[ -z "$session_id" || -z "$new_name" ]] && exit 0 12 + 13 + local old_name="" 14 + if [[ -f "$map_file" ]]; then 15 + old_name=$(awk -F'\t' -v id="$session_id" '$1 == id {print $2; exit}' "$map_file") 16 + fi 17 + 18 + [[ -z "$old_name" || "$old_name" == "$new_name" ]] && exit 0 19 + [[ -e "${dir}/${new_name}_last" ]] && exit 0 20 + 21 + local old_last="${dir}/${old_name}_last" 22 + if [[ -L "$old_last" ]]; then 23 + local actual="$(readlink "$old_last")" 24 + local actual_basename="$(basename "$actual")" 25 + local timestamp="${actual_basename: -15}" 26 + local new_actual="${dir}/${new_name}_${timestamp}" 27 + mv "$actual" "$new_actual" 28 + ln -sf "$new_actual" "${dir}/${new_name}_last" 29 + rm "$old_last" 30 + fi 31 + 32 + update_session_map 33 +} 34 +main "$@"