Skip to main content

trzsz is a simple file transfer tools, similar to lrzsz ( rz / sz ) and compatible with tmux, which works with iTerm2 and has a nice progress bar.

Project description

trzsz-iterm2

trzsz ( trz / tsz ) is a simple file transfer tools, similar to lrzsz ( rz / sz ), and compatible with tmux.

trzsz-iterm2 is a client tool for trzsz used with iTerm2.

MIT License PyPI trzsz-iterm2 中文网站

Installation

  • With Python3

    sudo python3 -m pip install --upgrade trzsz-iterm2
    
  • With Homebrew

    brew update
    brew install trzsz
    

Configuration

  • Find out the absolute path where trzsz-iterm2 is installed.

    which trzsz-iterm2
    

    Change the /usr/local/bin/trzsz-iterm2 below to the real absolute path of trzsz-iterm2.

  • Open iTerm2 -> Preferences... / Settings... -> Profiles -> (select a profile on the left) -> Advanced -> Triggers -> Edit -> [+]

    Name Value Note
    Regular Expression :(:TRZSZ:TRANSFER:[SRD]:\d+\.\d+\.\d+:\d+) No space at the end
    Action Run Silent Coprocess...
    Parameters /usr/local/bin/trzsz-iterm2 \1 No space at the end
    Enabled Checked
    • Don't check the Use interpolated strings for parameters at the bottom.

    • The /usr/local/bin/trzsz-iterm2 should be changed to the real absolute path of trzsz-iterm2.

    • Note that the Triggers should be configured for each Profile in use.

    • Triggers allows multiple lines, but only shows one line. Make sure don't copy a newline into it.

    iTerm2 Trigger configuration

  • Open iTerm2 -> Preferences... / Settings... -> General -> Magic, check Enable Python API.

    iTerm2 Enable Python API

  • Set ITERM2_COOKIE environment variable for faster startup.

    Open iTerm2 -> Preferences... / Settings... -> Advanced, filter by COOKIE, select Yes.

    iTerm2 Enable ITERM2_COOKIE

Progress Bar

Option 1: The cooler text progress bar

  • Screenshot of text progress bar using trzsz in iTerm2 with text progress bar

  • Upgrade iTerm2 to Build 3.5.20220503-nightly or higher.

  • Add -p text to the parameters of iTerm2 Trigger.

    /usr/local/bin/trzsz-iterm2 -p text \1
    

    Don't forget to change /usr/local/bin/trzsz-iterm2 to the real absolute path of trzsz-iterm2.

Option 2: The zenity progress bar

  • Screenshot of zenity progress bar using trzsz in iTerm2 with zenity progress bar

  • Install zenity

    brew install ncruces/tap/zenity
    
  • If Mac M1 install fails, try to install it with go:

    brew install go
    go install 'github.com/ncruces/zenity/cmd/zenity@latest'
    sudo cp ~/go/bin/zenity /usr/local/bin/zenity
    
  • ls -l /usr/local/bin/zenity should shows the zenity executable file or link. If not, create a soft link:

    sudo ln -sv $(which zenity) /usr/local/bin/zenity
    
  • If the progress dialog doesn't pop up in front, try upgrade zenity, and don't check iTerm2 -> Secure Keyboard Entry.

Default save path

If you want to automatically download files to the specified directory instead of asking each time.

e.g.: Automatically download files to /Users/xxxxx/Downloads

  • Using text progress bar, change /usr/local/bin/trzsz-iterm2 -p text \1 to:

    /usr/local/bin/trzsz-iterm2 -p text -d '/Users/xxxxx/Downloads' \1
    
  • Using zenity progress bar, change /usr/local/bin/trzsz-iterm2 \1 to:

    /usr/local/bin/trzsz-iterm2 -p zenity -d '/Users/xxxxx/Downloads' \1
    

Don't forget to change /usr/local/bin/trzsz-iterm2 to the real absolute path of trzsz-iterm2.

Dragging files and directories to upload

  • Upgrade iTerm2 to Build 3.5.20220806-nightly or higher.

  • Open iTerm2 -> Preferences... / Settings... -> Advanced, filter by files are dropped into, configure as:

    /usr/local/bin/trzsz-iterm2 -p text dragfiles \(filenames)
    

    iTerm2 enable drag files

Don't forget to change /usr/local/bin/trzsz-iterm2 to the real absolute path of trzsz-iterm2.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

trzsz-iterm2-1.1.2.tar.gz (19.1 kB view hashes)

Uploaded Source

Built Distribution

trzsz_iterm2-1.1.2-py3-none-any.whl (27.0 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page