rxvt에서 클릭한 링크를 스크립트에 전달

rxvt에서 클릭한 링크를 스크립트에 전달

브라우저를 실행합니다너무 가능하지 않음존재하다탭이 있는이와 같이:

"`tabbed -d > /tmp/tabbed.xid`; vimprobable2 -e `cat /tmp/tabbed.xid`"[1]

그런 다음 다음 방법을 통해 vimprobable의 모든 새 인스턴스를 다른 응용 프로그램(예: mutt)의 탭으로 보낼 수 있습니다(새 기본 창을 열지 않고도).

vimprobable2 -e $(cat /tmp/tabbed.xid) %s

나는 Urxvt에서도 같은 목표를 달성하고 싶습니다.

현재 내에는 .Xdefaults일치 매개변수가 포함되어 있습니다.

URxvt.perl-ext-common: default,matcher
URxvt.urlLauncher: vimprobable2
URxvt.matcher.button: 1

래퍼 스크립트를 가리키도록 실행 프로그램 줄을 변경했습니다.

URxvt.urlLauncher: vimprobtab.sh

이것은 단지:

vimprobable2 -e $(cat /tmp/tabbed.xid) %s &

하지만 이렇게 하면 기본 검색 엔진 결과가 있는 탭에서 브라우저 인스턴스가 열립니다 &(또는 %s앰퍼샌드를 제거한 경우).

"$1"나는 and 와 같은 다른 명백한 변수를 시도했지만 "$@"둘 중 하나도 작동하지 않습니다.

래퍼 스크립트에 URL을 전달하는 방법은 무엇입니까?

[1] 이것도 이런 느낌이다고양이의 쓸모없는 사용, 다른 제안도 환영합니다

답변1

다음에 대한 도움말 텍스트매처PERL은 다음으로 확장됩니다.UrxVT 상태:

리소스(기본값은 2 또는 중간)에 지정된 마우스 버튼을 클릭하면 리소스 (기본값, 리소스, ) matcher.button 에 지정된 프로그램이 첫 번째 인수로 일치하는 텍스트와 함께 시작됩니다.matcher.launcherurlLaunchersensible-browser

URxvt.matcher.launcher따라서 단일 인수(sh 유형 쉘에서 철자 $1)를 사용하여 이를 여는 스크립트를 설정해야 합니다 . 예를 들어:

#! /bin/sh

exec vimprobable2 -e $(cat /tmp/tabbed.xid) "$1"

노트:제안인용하다$1URL에 나타날 수 있는 메타 문자인 인수(예: 또는 &) 를 쉘이 해석하지 못하도록 합니다 ;.

관련 정보