file transfer cli utility for tmux
Project description
tmux-helper-filetransfer
Transfer files to filesystem of host accessible via tmux.
Usage
In tmux.conf
:
bind-key Q run-shell " \
/path/to/.venv/bin/python \
-m tmux_helper_filetransfer \
--pane-id '#{pane_id}' \
--tmux-exe /proc/#{pid}/exe \
--tmux-socket '#{socket_path}' \
--quiet \
/path/to/dotfiles"
This transfers /path/to/dotfiles
to the current directory in the remote
shell. To take other actions (like cd
ing to a specific directory before
transferring files), then run a shell script that executes the
helper inside.
Requirements
The target pane can be hosting a terminal on the local host or on a remote host (accessed via e.g. ssh).
The target pane's shell must be able to successfully execute
uudecode | gunzip -c - | tar xf -
.
The target pane's shell must be in insert mode (not vi-command mode).
Limitations
Some or all of these may be possible to overcome.
- Currently the local file processing requires that the entire file be held in memory at the same time, plus extra when both the tar and compressed objects are in scope - we would need streaming for the tar creation the compression and uuencoding.
uuencode
expands the compressed bytes at least 33%.- Tmux itself is not responsive while executing the subprocess. - we could run a background process instead of blocking.
- No progress indication - a periodic
display-message
would be the first thing to try. - No ability to cancel an in-progress transfer - if spawning a background process then giving the cli the ability to communicate via e.g. unix socket could be a good way to go.
Releasing
python setup.py sdist
# for testing
twine upload --repository testpypi dist/*
twine upload --repository pypi dist/*
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file tmux-helper-filetransfer-0.1.0.tar.gz
.
File metadata
- Download URL: tmux-helper-filetransfer-0.1.0.tar.gz
- Upload date:
- Size: 4.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.19.1 setuptools/39.0.1 requests-toolbelt/0.8.0 tqdm/4.26.0 CPython/3.6.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0db0edddb9c711467fc3cab01e07e7a24e40be8a6d8b1a793b41041922546554 |
|
MD5 | c4d12a35a5602a5d4195696432e4cc3b |
|
BLAKE2b-256 | 162f26777e59b5d6c6fafe3645c1732d2c2f66a83a9d106c5a5720f5e1e034ce |