Skip to content

Latest commit

 

History

History
140 lines (90 loc) · 5.17 KB

iterm2.md

File metadata and controls

140 lines (90 loc) · 5.17 KB
layout
default

Trzsz-iTerm2 Document

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

MIT License PyPI trzsz-iterm2 GitHub trzsz 中文文档

Installation

  • Install with Python3

    sudo python3 -m pip install --upgrade trzsz-iterm2
    
  • Install 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.