창 제목을 변경하는 방법(wmctrl에서 사용됨)

창 제목을 변경하는 방법(wmctrl에서 사용됨)

나는 사용하고있다wmctrl예를 들어 여러 텍스트 편집기, 웹 브라우저, PDF 뷰어 및 터미널에 대해 수동으로 수행할 필요가 없도록 응용 프로그램을 시작한 후 이동합니다. 응용 프로그램을 이동하기 위해 다음 wmctrl 명령을 실행하고 있습니다.

wmctrl -r <title> -e <x>,<y>,0,-1,-1

여기서 < x > 및 < y >는 수평 및 수직 대상 좌표이고 < title >은 에서 반환된 애플리케이션의 이름입니다 wmctrl -l. 아래 명령을 통해 두 개의 Google 크롬 사본을 실행하면

google-chrome &
google-chrome &

그런 다음 명령을 실행

wmctrl -l 

반환된 창 이름은 다음과 같습니다.

0x03c06fd9  0 main New Tab - Google Chrome
0x03c0703d  0 main New Tab - Google Chrome

이제 다음 명령을 사용하여 그 중 하나를 임의의 좌표(100,100)로 이동하려고 하면

wmctrl -r "Google Chrome" -e 100,100,0,-1,-1

아직 짐작하지 못했다면 현재 입력 중인 이 Google 크롬 창을 다른 두 창보다 먼저 열었으므로 이동합니다.

명령줄에서 시작할 때 이러한 창 제목을 할당하거나 나중에 재설정할 수 있는 방법이 있습니까? 이름을 다음과 같이 변경해야합니다.

Google Chrome 1
Google Chrome 2
Google Chrome 3

내가 알고 있는 이 문제에 대한 두 가지 방법이 있지만 둘 중 어느 것도 마음에 들지 않습니다. 왜냐하면 OS가 백그라운드에서 프로그램을 시작할 경우 문제가 발생할 수 있기 때문입니다.

  1. 제목을 사용하는 대신 -i명령을 통해 숫자 창 ID를 사용하십시오.
  2. :ACTIVE:활성 창을 사용하려면 문자열을 사용하십시오.

답변1

xttitle패키지 의 프로그램을 사용하십시오 xttitle. x에 두 개의 "t"가 있음을 참고하세요.ㅜㅜ일. 사실, "t"가 3개 있습니다... 하지만 처음 두 개만 잘못 입력하는 데 문제가 있었습니다.

~/.bashrc다음은 내장 기능 을 재정의하고 창 제목에 현재 디렉터리를 넣는 데 cd사용하는 my 의 예입니다 .xttitle

# from the "xttitle(1)" man page - put info in window title
update_title()
{
    [[ $TERM = xterm ]] || [[ $TERM = xterm-color ]]  && xttitle "[$$] ${USER}@${HOSTNAME}:$PWD"
}

cd()
{
    [[ -z "$*" ]] && builtin cd $HOME
    [[ -n "$*" ]] && builtin cd "$*"
    update_title
}

관련 정보