shell script based session management
This commit is contained in:
@@ -1,3 +1,32 @@
|
|||||||
snippet raylibBuildLinux
|
snippet raylibBuildLinux
|
||||||
cc $1.c -lraylib -lGL -lm -lpthread -ldl -lrt -lX11 -o $1
|
cc $1.c -lraylib -lGL -lm -lpthread -ldl -lrt -lX11 -o $1
|
||||||
./$1
|
./$1
|
||||||
|
|
||||||
|
snippet session
|
||||||
|
SESSION="${1:[session name]}"
|
||||||
|
|
||||||
|
if tmux has-session -t "$SESSION" 2>/dev/null; then
|
||||||
|
if [ -n "$TMUX" ]; then
|
||||||
|
tmux switch-client -t "$SESSION"
|
||||||
|
else
|
||||||
|
tmux attach -t "$SESSION"
|
||||||
|
fi
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
tmux new-session -d -s "$SESSION" -c ${2:[path]} -n "${3:[main window name]}"
|
||||||
|
tmux send-keys -t "$SESSION":"$3" '${4:[main window cmd]}' C-m
|
||||||
|
|
||||||
|
tmux new-window -t "$SESSION" -c $2
|
||||||
|
|
||||||
|
tmux select-window -t "$SESSION":"$3"
|
||||||
|
if [ -n "$TMUX" ]; then
|
||||||
|
tmux switch-client -t "$SESSION"
|
||||||
|
else
|
||||||
|
tmux attach -t "$SESSION"
|
||||||
|
fi
|
||||||
|
|
||||||
|
snippet window
|
||||||
|
tmux new-window -t "$SESSION" -c ${1:[path]} -n "${2:[window name]}"
|
||||||
|
tmux send-keys -t "$SESSION":"$2" '${3:[cmd]}' C-m
|
||||||
|
|
||||||
|
|||||||
@@ -18,6 +18,7 @@ bind c-l select-pane -R
|
|||||||
bind c-g popup -E -w 100% -h 100% -d "#{pane_current_path}" -b rounded lazygit
|
bind c-g popup -E -w 100% -h 100% -d "#{pane_current_path}" -b rounded lazygit
|
||||||
bind c-k popup -E -w 100% -h 100% -b rounded "tmux list-keys | fzf"
|
bind c-k popup -E -w 100% -h 100% -b rounded "tmux list-keys | fzf"
|
||||||
bind c-t popup -E -w 100% -h 100% -b rounded -d "#{pane_current_path}"
|
bind c-t popup -E -w 100% -h 100% -b rounded -d "#{pane_current_path}"
|
||||||
|
bind c-s popup -E -w 100% -h 100% -b rounded "sh $HOME/choose-session.sh"
|
||||||
|
|
||||||
set -g default-terminal "tmux-256color"
|
set -g default-terminal "tmux-256color"
|
||||||
set -as terminal-overrides ",xterm-256color:Tc"
|
set -as terminal-overrides ",xterm-256color:Tc"
|
||||||
|
|||||||
@@ -0,0 +1,4 @@
|
|||||||
|
SESSION_FILE=$(ls "$HOME/tmux" | fzf)
|
||||||
|
if [ -n "$SESSION_FILE" ]; then
|
||||||
|
sh "$HOME/tmux/$SESSION_FILE"
|
||||||
|
fi
|
||||||
@@ -0,0 +1,22 @@
|
|||||||
|
SESSION="edit sessions"
|
||||||
|
|
||||||
|
if tmux has-session -t "$SESSION" 2>/dev/null; then
|
||||||
|
if [ -n "$TMUX" ]; then
|
||||||
|
tmux switch-client -t "$SESSION"
|
||||||
|
else
|
||||||
|
tmux attach -t "$SESSION"
|
||||||
|
fi
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
tmux new-session -d -s "$SESSION" -c ~/tmux/ -n "nvim"
|
||||||
|
tmux send-keys -t "$SESSION":"nvim" 'nvim .' C-m
|
||||||
|
|
||||||
|
tmux new-window -t "$SESSION" -c ~/tmux/
|
||||||
|
|
||||||
|
tmux select-window -t "$SESSION":"nvim"
|
||||||
|
if [ -n "$TMUX" ]; then
|
||||||
|
tmux switch-client -t "$SESSION"
|
||||||
|
else
|
||||||
|
tmux attach -t "$SESSION"
|
||||||
|
fi
|
||||||
Reference in New Issue
Block a user