코딩 연습

omarchy 에서 영어단어 검색하여 네이버 사전 열기 - 단축키 본문

Linux

omarchy 에서 영어단어 검색하여 네이버 사전 열기 - 단축키

코딩아저씨 2025. 12. 6. 04:12
반응형

gnome 을 사용하면서 가장 괜찮았던 부분은 gnomes shell extesions 를 사용할 수 있었던 것이다.

그 중에서 word translate 였던가? 그걸 아주 잘 활용했었는데, hyprland 를 사용하는 omarchy 리눅스로 넘어오면서 이걸 사용할 수 없게 되었다.

그래서 clip board 에 마지막에 저장된 단어를 네이버 사전으로 바로 연결시켜주는 스크립트와 단축키를 만들어 봤다.

 

먼저 ~/.config/hypr/ 에 script 라는 폴더를 하나 만들고, 다음의 내용이 담긴 naver_dict.sh 라는 파일을 생성한다.

#!/bin/bash

# 클립보드에서 현재 내용을 가져와 변수에 저장
CLIPBOARD_CONTENT=$(wl-paste)

# 내용이 비어있지 않은지 확인
if [ -z "$CLIPBOARD_CONTENT" ]; then
    # 클립보드가 비어있을 경우 사용자에게 알림 (선택 사항)
    notify-send "클립보드 검색" "클립보드에 내용이 없습니다."
    exit 1
fi

# URL 인코딩 (URL에 안전한 문자열로 변환)
# dmenu 또는 rofi와 같은 도구에 포함된 'url_encode' 함수를 사용하거나, 
# 파이썬과 같은 다른 도구를 사용하여 인코딩할 수 있습니다.
# 여기서는 간단히 검색 가능한 형태로만 처리합니다.
SEARCH_TERM=$(echo "$CLIPBOARD_CONTENT" | sed 's/ /+/g')

# 네이버 영어 사전 검색 URL
# 네이버 영어 사전의 검색 쿼리 형식은 'https://en.dict.naver.com/search.nhn?query=검색어' 입니다.
URL="https://en.dict.naver.com/#/search?query=$SEARCH_TERM"

BROWSER_APP_NAME="firefox" 

# 이 부분이 "Firefox가 열려있는지 확인하고, 열려있다면 그 모든 창의 주소를 가져와라" 입니다.
WINDOW_ADDRESSES=$(hyprctl clients -j 2>/dev/null | jq -r ".[] | select(.class == \"$BROWSER_APP_NAME\") | .address")

# 이 부분이 "주소가 하나라도 있다면 (즉, Firefox가 열려 있다면)" 입니다.
if [ ! -z "$WINDOW_ADDRESSES" ]; then
    # 이 부분이 "가져온 모든 주소에 대해 닫기 명령을 실행하라" 입니다.
    echo "$WINDOW_ADDRESSES" | while read -r address; do
        hyprctl dispatch closewindow address:"$address"
    done
    
    # 닫는 시간을 확보
    sleep 0.3
fi

# --- 3. 새 Firefox 창에서 검색 실행 ---
# '&'를 사용하여 스크립트가 브라우저가 완전히 로드될 때까지 기다리지 않고 즉시 종료되도록 합니다.
firefox "$URL" &

 

브라우저를 바꾸고 싶다면 23행의 BORWSER_APP_NAME="firefox" 를 원하는 브라우저명으로 바꾸면 된다.

 

그리고 ~/.config/hypr/binding.conf 파일을 열어서 다음의 내용을 추가한다.

 

bindd = SUPER CTRL, C, naver_dict, exec, ~/.config/hypr/script/naver_dict.sh

 

이렇게 하면 SUPER(win 키 또는 cmd키) 와 CRTL과 C키를 누르면 firefox 가 열리면서 네이버 사전으로 바로 연결이 되어 클립모드에 마지막으로 기록된 단어의 뜻을 확인할 수 있다. 물론 검색하려는 단어를 선택하여 CTRL-C로 클립보드에 보내야 한다.

반응형


Comments