태그 보관물: xdotool

xdotool

X11에서 커서 아래로 단어 가져 오기 단어를 가져와야합니다. 수 xdotool또는 유사한

일부 스크립팅의 경우 현재 커서 아래에있는 단어를 가져와야합니다.

xdotool또는 유사한 도구는 그것을 얻을?



답변

현재 선택된 텍스트 를 얻는 방법

다음 명령을 사용하여 현재 선택된 텍스트를 얻을 수 있습니다 .

echo $(xclip -o -sel)

…하지만 xclip먼저 설치해야합니다 .

sudo apt-get install xclip

보낸 사람 man xclip:

-o, -out
    prints the selection to standard out (generally for piping to a file or program) 

과:

-selection
    specify which X selection to use, options are "primary" to use XA_PRIMARY (default), "secondary" for XA_SECONDARY or "clipboard" for XA_CLIPBOARD

여기 또는 항상 그렇듯이 참조하십시오 man xclip.


편집하다

마지막 선택과 관련된 해결 방법 문제

코멘트에서 더 이상 아무것도 선택하지 않은 경우에도 (예 : 파일을 닫을 때) 마지막 선택 을 xclip출력 한다는 것을 이해했습니다 . 상황에 문제가있는 것 같습니다.

xsel이 문제가 있지만 해결 방법은 다음과 같습니다. 스크립트에서 현재 선택 항목을 스크립트로 읽을뿐만 아니라 동일한 내용을 파일에 쓰면됩니다. 선택이 마지막 선택과 다른지 확인할 수 있습니다 . 그렇지 않다면, 우리는 새로운 선택이 이루어지지 않았다고 결론 내릴 수 있으며, 명령은 오래된 선택을 할 가능성이 높습니다. 그런 다음 스크립트에 전달하도록 지시 할 수 있습니다.

예 (를 사용 xsel하면이 경우 약간의 이점이 있습니다) :

#!/bin/bash

# make sure the file to store the last selection exists
f=~/.old_sel
touch $f
# get the previous & current selection
old=$(cat "$f"); new=$(xsel -o)

if [ "$old" != "$new" ]; then
  # if selection changed, store the new selection to remember
  echo "$new" > "$f"
  # do the action, whatever that may be
  echo $new
fi

설치할 필요가 없습니다 xsel.

sudo apt-get install xsel

답변