commit 451a6eba20ff3e5311c17502e9d65d7bda4a615c Author: lovezsh <1942314542@qq.com> Date: Sat Dec 9 13:23:57 2023 +0800 init diff --git a/README.md b/README.md new file mode 100644 index 0000000..0dac260 --- /dev/null +++ b/README.md @@ -0,0 +1,12 @@ +## 简介 + +用于macos iterm支持lrzsz。 + +## 使用 + +打开iterm设置,在当前Profile--> Advanced --> Triggers --> Edit 添加如下两个action + +| Regular Expression | Action | Parameters | Enabled | +|:--------------------------------|:---------------------|:------------------------|:--------| +|`rz waiting to receive.\*\*B0100`| Run Slient Coprocess | `iterm2-send-zmodem.sh` | true | +|`\*\*B00000000000000` | Run Slient Coprocess | `iterm2-recv-zmodem.sh` | true | diff --git a/iterm2-recv-zmodem.sh b/iterm2-recv-zmodem.sh new file mode 100755 index 0000000..a1d650b --- /dev/null +++ b/iterm2-recv-zmodem.sh @@ -0,0 +1,30 @@ +#!/bin/bash +# Author: Matt Mastracci (matthew@mastracci.com) +# AppleScript from http://stackoverflow.com/questions/4309087/cancel-button-on-osascript-in-a-bash-script +# licensed under cc-wiki with attribution required +# Remainder of script public domain + +osascript -e 'tell application "iTerm2" to version' > /dev/null 2>&1 && NAME=iTerm2 || NAME=iTerm +if [[ $NAME = "iTerm" ]]; then + FILE=`osascript -e 'tell application "iTerm" to activate' -e 'tell application "iTerm" to set thefile to choose folder with prompt "Choose a folder to place received files in"' -e "do shell script (\"echo \"&(quoted form of POSIX path of thefile as Unicode text)&\"\")"` +else + FILE=`osascript -e 'tell application "iTerm2" to activate' -e 'tell application "iTerm2" to set thefile to choose folder with prompt "Choose a folder to place received files in"' -e "do shell script (\"echo \"&(quoted form of POSIX path of thefile as Unicode text)&\"\")"` +fi + +if [[ $FILE = "" ]]; then + echo Cancelled. + # Send ZModem cancel + echo -e \\x18\\x18\\x18\\x18\\x18 + sleep 1 + echo + echo \# Cancelled transfer +else + cd "$FILE" + /opt/homebrew/bin/rz -E -e -b + sleep 1 + echo + echo + echo \# Sent \-\> $FILE +fi + + diff --git a/iterm2-send-zmodem.sh b/iterm2-send-zmodem.sh new file mode 100755 index 0000000..44afedb --- /dev/null +++ b/iterm2-send-zmodem.sh @@ -0,0 +1,27 @@ +#!/bin/bash +# Author: Matt Mastracci (matthew@mastracci.com) +# AppleScript from http://stackoverflow.com/questions/4309087/cancel-button-on-osascript-in-a-bash-script +# licensed under cc-wiki with attribution required +# Remainder of script public domain + +osascript -e 'tell application "iTerm2" to version' > /dev/null 2>&1 && NAME=iTerm2 || NAME=iTerm +if [[ $NAME = "iTerm" ]]; then + FILE=`osascript -e 'tell application "iTerm" to activate' -e 'tell application "iTerm" to set thefile to choose file with prompt "Choose a file to send"' -e "do shell script (\"echo \"&(quoted form of POSIX path of thefile as Unicode text)&\"\")"` +else + FILE=`osascript -e 'tell application "iTerm2" to activate' -e 'tell application "iTerm2" to set thefile to choose file with prompt "Choose a file to send"' -e "do shell script (\"echo \"&(quoted form of POSIX path of thefile as Unicode text)&\"\")"` +fi +if [[ $FILE = "" ]]; then + echo Cancelled. + # Send ZModem cancel + echo -e \\x18\\x18\\x18\\x18\\x18 + sleep 1 + echo + echo \# Cancelled transfer +else + /opt/homebrew/bin/sz"$FILE" -e -b + sleep 1 + echo + echo \# Received $FILE +fi + +