실행 중인 프로그램에 따라 터미널 에뮬레이터 아이콘 변경

실행 중인 프로그램에 따라 터미널 에뮬레이터 아이콘 변경

vim나는 터미널 에뮬레이터에서 직접 ipython실행되는 것과 같은 "ncurses" 스타일의 애플리케이션을 더 많이 사용하기 시작했습니다 . 그러다 보니 여러 개의 터미널 애플리케이션을 열어두는 경우가 많은데, 문제는 각 터미널 애플리케이션마다 동일한 아이콘이 있어서 창 사이에서 Alt+Tab을 눌러 원하는 터미널 애플리케이션을 불러오려고 하면 모든 터미널 애플리케이션이 모두 보인다는 것입니다. 똑같다. 현재 저는 이러한 이유로 특별히 gvim대신을 사용하고 있으며 vim보시다시피 자체 아이콘이 멋지게 표시됩니다.

두 개의 터미널(Firefox 및 gvim)을 사용하는 Alt 탭 보기

이것은 과잉인 것 같습니다. 이상적으로는 터미널 에서 실행 중인 vim다른 장기 실행 프로그램이 애플리케이션에 지정된 일부 아이콘과 일치하도록 터미널 아이콘을 변경합니다.nvimipythongdb

저는 Arch Linux에서 Cinnamon을 사용하고 있습니다. 이 기능을 갖춘 비슷한 터미널 에뮬레이터가 있다면 그놈 터미널 사용을 포기할 수도 있습니다.

답변1

성공!나를 안내해준 Google과 SO에게 감사드립니다.xseticon.

첫 번째xseticon 설치

다음 스크립트를 위치 중 하나에 추가하세요 PATH.

# setWinIcon.sh
#!/bin/sh                                                                                           

# Usage: setWinIcon [title] [icon]                                                                  
# - title: a string to match within the title of the window                                         
# - icon: path to the icon file. Use png for best results.                                          

title="$1"                                                                                          
ICONPATH="$2"                                                                                       

known_windows=$(wmctrl -l |grep $title|awk '{ print $1 }')                                          

for id in ${known_windows}                                                                          
do                                                                                                  
    xseticon -id "$id" "$ICONPATH"                                                                  
done 

그런 다음 이 함수를 yours 에 추가하고 .vimrc필요에 따라 경로를 바꿉니다.

system("setWinIcon.sh", "$WINDOWID [path/to/vimicon.png]")

아이콘은 복원되지 않습니다. vimLeave다음과 같이 자동 명령을 실행하여 터미널 아이콘을 새로 고칠 수 있습니다 .

au vimLeave system("setWinIcon.sh", "$WINDOWID [path/to/termicon.png]")

다른 프로그램의 경우 별칭으로 구성하면 됩니다.alias ipython="setWinIcon.sh $WINDOWID [path/to/ipyicon.png] && ipython && setWinIcon.sh $WINDOWID [path/to/termicon.png]"

관련 정보