mirror of
https://github.com/ivuorinen/dotfiles.git
synced 2026-02-05 10:48:59 +00:00
fix(tmux): sesh selection now works in fish
Signed-off-by: Ismo Vuorinen <ismo@ivuorinen.net>
This commit is contained in:
18
config/tmux/sesh-tmux.fish
Executable file
18
config/tmux/sesh-tmux.fish
Executable file
@@ -0,0 +1,18 @@
|
|||||||
|
#!/usr/bin/env fish
|
||||||
|
|
||||||
|
set selection (sesh list --icons | fzf-tmux -p 80%,70% \
|
||||||
|
--no-sort --ansi --border-label ' sesh ' --prompt '⚡ ' \
|
||||||
|
--header ' ^a all ^t tmux ^g configs ^x zoxide ^d tmux kill ^f find' \
|
||||||
|
--bind 'tab:down,btab:up' \
|
||||||
|
--bind 'ctrl-a:change-prompt(⚡ )+reload(sesh list --icons)' \
|
||||||
|
--bind 'ctrl-t:change-prompt(🪟 )+reload(sesh list -t --icons)' \
|
||||||
|
--bind 'ctrl-g:change-prompt(⚙️ )+reload(sesh list -c --icons)' \
|
||||||
|
--bind 'ctrl-x:change-prompt(📁 )+reload(sesh list -z --icons)' \
|
||||||
|
--bind 'ctrl-f:change-prompt(🔎 )+reload(fd -H -d 2 -t d -E .Trash . ~)' \
|
||||||
|
--bind 'ctrl-d:execute(tmux kill-session -t {2..})+change-prompt(⚡ )+reload(sesh list --icons)' \
|
||||||
|
--preview-window 'right:55%' \
|
||||||
|
--preview 'sesh preview {}')
|
||||||
|
|
||||||
|
if test -n "$selection"
|
||||||
|
sesh connect "$selection"
|
||||||
|
end
|
||||||
@@ -103,32 +103,16 @@ unbind p
|
|||||||
bind p paste-buffer
|
bind p paste-buffer
|
||||||
|
|
||||||
# tms bindings
|
# tms bindings
|
||||||
bind -N "tms" t display-popup -E "tms"
|
bind -N "tms" T display-popup -E "tms"
|
||||||
bind -N "tms windows" C-w display-popup -E "tms windows"
|
bind -N "tms windows" C-w display-popup -E "tms windows"
|
||||||
bind -N "tms switch" C-s display-popup -E "tms switch"
|
bind -N "tms switch" C-s display-popup -E "tms switch"
|
||||||
bind -N "tms refresh" C-r display-popup -E "tms refresh"
|
bind -N "tms refresh" C-r display-popup -E "tms refresh"
|
||||||
|
|
||||||
# global sessions
|
# global sessions
|
||||||
# bind-key "K" display-popup -h 90% -w 50% -E "sesh ui"
|
# bind-key "K" display-popup -h 90% -w 50% -E "sesh ui"
|
||||||
bind-key "K" run-shell "sesh connect \"$(
|
bind -N "sesh selection" t run-shell "$HOME/.dotfiles/config/tmux/sesh-tmux.fish"
|
||||||
sesh list --icons --hide-duplicates | fzf-tmux -p 100%,100% --no-border \
|
bind -N "last-session (via sesh) " L run-shell "sesh last"
|
||||||
--list-border \
|
bind -N "sesh ui" N display-popup -E "sesh ui"
|
||||||
--no-sort --prompt '⚡ ' \
|
|
||||||
--input-border \
|
|
||||||
--header-border \
|
|
||||||
--bind 'tab:down,btab:up' \
|
|
||||||
--bind 'ctrl-b:abort' \
|
|
||||||
--bind 'ctrl-a:change-prompt(⚡ )+reload(sesh list --icons)' \
|
|
||||||
--bind 'ctrl-t:change-prompt( )+reload(sesh list -t --icons)' \
|
|
||||||
--bind 'ctrl-g:change-prompt(⚙️ )+reload(sesh list -c --icons)' \
|
|
||||||
--bind 'ctrl-x:change-prompt(📁 )+reload(sesh list -z --icons)' \
|
|
||||||
--bind 'ctrl-f:change-prompt(🔎 )+reload(fd -H -d 2 -t d -E .Trash . ~)' \
|
|
||||||
--bind 'ctrl-d:execute(tmux kill-session -t {2..})+change-prompt(⚡ )+reload(sesh list --icons)' \
|
|
||||||
--preview-window 'right:70%' \
|
|
||||||
--preview 'sesh preview {}' \
|
|
||||||
)\""
|
|
||||||
|
|
||||||
bind-key "N" display-popup -E "sesh ui"
|
|
||||||
|
|
||||||
# ╭──────────────────────────────────────────────────────────╮
|
# ╭──────────────────────────────────────────────────────────╮
|
||||||
# │ Plugins │
|
# │ Plugins │
|
||||||
|
|||||||
@@ -33,8 +33,10 @@ Leader: `<ctrl><space>`
|
|||||||
? List key bindings
|
? List key bindings
|
||||||
D Choose and detach a client from a list
|
D Choose and detach a client from a list
|
||||||
E Spread panes out evenly
|
E Spread panes out evenly
|
||||||
L Switch to the last client
|
L last-session (via sesh)
|
||||||
M Clear the marked pane
|
M Clear the marked pane
|
||||||
|
N sesh ui
|
||||||
|
T tms
|
||||||
] Paste the most recent paste buffer
|
] Paste the most recent paste buffer
|
||||||
c Create a new window
|
c Create a new window
|
||||||
d Detach the current client
|
d Detach the current client
|
||||||
@@ -46,7 +48,7 @@ Leader: `<ctrl><space>`
|
|||||||
o Select the next pane
|
o Select the next pane
|
||||||
q Display pane numbers
|
q Display pane numbers
|
||||||
s Choose a session from a list
|
s Choose a session from a list
|
||||||
t tms
|
t sesh selection
|
||||||
w Choose a window from a list
|
w Choose a window from a list
|
||||||
x Kill the active pane
|
x Kill the active pane
|
||||||
z Zoom the active pane
|
z Zoom the active pane
|
||||||
@@ -74,8 +76,6 @@ Leader: `<ctrl><space>`
|
|||||||
M-Left Resize the pane left by 5
|
M-Left Resize the pane left by 5
|
||||||
M-Right Resize the pane right by 5
|
M-Right Resize the pane right by 5
|
||||||
C-o Rotate through the panes
|
C-o Rotate through the panes
|
||||||
C-r tms refresh
|
|
||||||
C-s tms switch
|
|
||||||
C-w tms windows
|
C-w tms windows
|
||||||
C-z Suspend the current client
|
C-z Suspend the current client
|
||||||
C-Up Resize the pane up
|
C-Up Resize the pane up
|
||||||
@@ -87,3 +87,4 @@ Leader: `<ctrl><space>`
|
|||||||
S-Left Move the visible part of the window left
|
S-Left Move the visible part of the window left
|
||||||
S-Right Move the visible part of the window right
|
S-Right Move the visible part of the window right
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user