Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

63 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Homie

Latest Release Build Status

Homie

Terminal-based Clipboard Manager

Supports fuzzy search, multi-select and other adorable chicaneries.


Installation

go install github.com/kaliv0/homie@latest

On linux you would also need xclip, xsel or wl-clipboard installed as an external dependency


Usage

homie start

Runs homie in a daemon process to track your clipboard.
It stores all copied items in a sqlite3 homie.db file under $XDG_CONFIG_HOME/homie/ or $HOME/.config/homie/.

homie stop

Stop the daemon process. You will be able to open the history window,
search and select (and of course - paste) items from it, but homie won't track any new changes in the clipboard.

homie history

Opens a preview window of the copied chronology.
(Running with the --limit <n> flag retrieves only the last n items. Default limit value: 20)

The history window comes with integrated fuzzy_search that checks the loaded records against a desired pattern.
If nothing is found, homie pulls more (paginated) records from the database.

After selecting an record and closing the window, homie puts the text inside the clipboard (ready the be pasted wherever needed).
(NB: You can select multiple items by pinning them with the tab key. They will be added to your clipboard buffer as a single string separted by spaces.)
To paste the text directly in your terminal run the history command with --paste.

homie clear

Deletes all items from the homie.db store


External configuration

homie shell

Generates a shell configuration for your .bashrc that will start the application automatically
as well add extra key bindings for opening the preview window.

homie completion

Generates a shell configuration for the .bash_completion file that will enable auto_complete for all homie commands

homie tmux

Generates a tmux integration script for your .tmux.conf. Requires tmux 3.2+ (for display-popup support).


When you start homie it will automatically stop other running instances of the application if any.
After that it will scan the database and if there are records above certain limit (default size: 500) it will purge them leaving only a minimum amount (default: 20)

  • You can control this behavior creating a .homierc config inside your root directory. (See .homierc example)
  • Using ttl strategy will delete the oldest records (specified in the config as ttl: <days>) disregarding the total amount of items in the db.
  • To disable entirely the history clean-up phase, put clean_up: false in the .homierc.

Key bindings:

  • Ctrl + h (prefix + h if inside a tmux session) - opens clipboard history popup (copies selection to system clipboard)
  • Ctrl + p (prefix + p) - opens clipboard history popup and pastes selected item

You can tweak and customize those in your .bashrc and .tmux.conf files.


Known limitations

Currently homie is designed for bash and tmux only.

D'OH

Releases

Packages

Contributors

Languages