• Stars
    star
    672
  • Rank 67,180 (Top 2 %)
  • Language
    Shell
  • License
    GNU General Publi...
  • Created 12 months ago
  • Updated 3 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A Tmux session manager, with preview, fuzzy finding, and MORE

Tmux SessionX

A fuzzy Tmux session manager with preview capabilities, deleting, renaming and more!

image

Prerequisits 🛠️

Install 💻

Add this to your .tmux.conf and run Ctrl-I for TPM to install the plugin.

set -g @plugin 'omerxx/tmux-sessionx'

Configure ⚙️

The default binding for this plugin is <prefix>+O You can change it by adding this line with your desired key:

# I recommend using `o` if not already in use, for least key strokes when launching
set -g @sessionx-bind '<mykey>'

Additional configuration options:

# `C-x` is a customizeable, by default it indexes directories in `$HOME/.config`, 
# but this can be changed by adding the config below.
# e.g. set -g @sessionx-x-path '~/dotfiles'
set -g @sessionx-x-path '<some-path>'

# A comma delimited absolute-paths list of custom paths 
# always visible in results and ready to create a session from. 
# Tip: if you're using zoxide mode, there's a good chance this is redundant
set -g @sessionx-custom-paths '/Users/me/projects,/Users/me/second-brain'

# By default, the current session will not be shown on first view
# This is to support quick switch of sessions
# Only after other actions (e.g. rename) will the current session appear
# Setting this option to 'false' changes this default behavior
set -g @sessionx-filter-current 'false' 

# Window mode can be turned on so that the default layout
# Has all the windows listed rather than sessions only
set -g @sessionx-window-mode 'on' 

# Preview location and screenspace can be adjusted with these
# Reminder: it can be toggeled on/off with `?`
set -g @sessionx-preview-location 'right'
set -g @sessionx-preview-ratio '55%'

# Change window dimensions
set -g @sessionx-window-height '90%'
set -g @sessionx-window-width '75%'

# When set to 'on' a non-result will be sent to zoxide for path matching
# Requires zoxide installed
set -g @sessionx-zoxide-mode 'on'

# If you're running fzf lower than 0.35.0 there are a few missing features
# Upgrade, or use this setting for support
set -g @sessionx-legacy-fzf-support 'on'

Working with SessionX 👷

Launching the plugin pops up an fzf-tmux "popup" with fizzy search over existing session (-current session). If you insert a non-existing name and hit enter, a new session with that name will be created.

  • alt+backspace will delete the selected session
  • C-u scroll preview up
  • C-d scroll preview down
  • C-r "read": will launch a read prompt to rename a session within the list
  • C-w "window": will reload the list with all the available windows and their preview
  • C-x will fuzzy read ~/.config or a configureable path of your choice (with @session-x-path)
  • C-e "expand": will expand PWD and search for local directories to create additional session from
  • C-b "back": reloads the first query. Useful when going into window or expand mode, to go back
  • C-t "tree": reloads the preview with the tree of sessions+windows familiar from the native session manager (C-S)
  • ? toggles the preview pane

WARNING ⚠️

  • If you're running fzf lower than 0.35.0 there are a few missing missing features that might break the plugin. Either consider upgrading or add @sessionx-legacy-fzf-support 'on' to your config (see configuration)
  • This plugin is not designed to be used outside Tmux, although PRs are happily recieved!

Thanks ❤️

Inspired by these:

More Repositories

1

dotfiles

My dotfiles synced form localhost and remote machines
Lua
891
star
2

tmux-floax

The missing floating pane for Tmux
Shell
353
star
3

vim-notebook

A continuously updated list of Vim bits I use
132
star
4

ecscale

A serverless applicaiton (Lambda function) that scales down (in) ECS clusters in a cost effective and graceful way.
Python
67
star
5

go-blocksite

Block shitty internet blackholes, focus.
Go
12
star
6

drone-ecr-auth

A solution for a private drone build image from ECR. The container authenticates with ECR, pulls an image and exposes it to the build
7
star
7

devops-toolbox

This repo serves the YouTube channel devops-toolbox
Go
5
star
8

mac-workspace

A curated list of OSX tools and workspace setups which I find useful and use on my own machine
4
star
9

drone-lambda-plugin

Deploying Lambda code with drone.io to an existing function
Go
4
star
10

homebrew-tools

Ruby
3
star
11

drone-coralogix-version-plugin

A crystal based drone plugin to call Coralogix's endpoint for versioning
Crystal
2
star
12

hacks

Tools and scripts for daily use mainly around AWS security
Go
2
star
13

goflake

Nix
2
star
14

upptime

📈 Uptime monitor and status page for Omer Hamerman, powered by @upptime
Markdown
1
star
15

docker-basics

1
star
16

guestbook-demo-app

Go
1
star
17

ssox

Go
1
star
18

blockme

Shell
1
star
19

fatbot

The Telegram bot that keeps you going
Go
1
star
20

drone-ecs-plugin

A python solution for deploying ECS services from Drone.IO
Python
1
star
21

blocky

Go
1
star
22

crystal-methrics

A blazing fast crystal lang events data pipeline utlizing redis and ELK, visualizing the data automatically
Crystal
1
star