#tmux-session #terminal-session #session-management #path #fuzzy-search #create #folders

bin+lib finter

A Tmux plugin to quickly create session for folders in configured paths

15 releases

0.1.14 Jun 29, 2024
0.1.13 Jun 29, 2024
0.1.9 Feb 7, 2024
0.1.8 Jan 29, 2024
0.1.5 Sep 23, 2023

#333 in Filesystem

Download history 38/week @ 2024-09-15 7/week @ 2024-09-22

777 downloads per month

MIT/Apache

69KB
208 lines

The Need for Finter

I use Tmux to handle sessions and windows in terminal. my Tmux config file.

Everything is cool, except one feature is missing...

I want to quickly list a bunch of folders and create a Tmux session with the selected folder name.

This creates sessions between folders/projects to isolate workspaces.

For instance, I hit a hotkey to pop up the list of folders/projects, I select one by fuzzy search, bang! the new session is created.

Finter is born to fulfill this demand.

Github repo

How it works

  1. Define the path(s) where folders reside, e.g. finter /home/username/proejcts/
  2. Add Finter hotkey in the .tmux.conf so it opens in a pop up (config below)
  3. Run the hotkey Prefix C-o in Tmux to create or jump to that Tmux session (screenshot below)
bind C-o display-popup -E "finter"  # `prefix-key C-o` will popup finter
selection list

screenshot

How to install

You need to have Cargo command to install the tool Run cargo install finter to install it locally.

How it works?

Check the source code or short description below.

For the first time, finter needs to know where your folders exists, so you need to config it:

  • run finter [absolute-path1] [absolute-path2] ... to define one or multiple paths for this tool to search from. This command will save these paths in a .finter file in your home directory

Note. it supports ONLY absolute path, like /home/username/projects, rather than ~/projects.

Once the path configration is done (you can verify the ~/.finter file):

  1. Run finter in terminal. It will list all folders in the defined paths
  2. Select any folder in the popup will either spin up a new Tmux session and enter this folder, or enter back to the session if it exists already.

To-Do?

  • Display existing session in different color?

Dependencies

~11–20MB
~275K SLoC