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 cding 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.
uuencodeexpands 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-messagewould 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/*
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
|