.desktop 파일에서 터미널 명령에 대한 wm 클래스를 정의하는 방법

.desktop 파일에서 터미널 명령에 대한 wm 클래스를 정의하는 방법

나는 .desktop 파일을 조사하고 있었고 결국 다음과 같이 결론지었습니다.

[Desktop Entry]
Version=1.0
Name=Music Player (cmus)
Comment=Command Line Music Player
GenericName=Music Player
Exec=cmus
Terminal=true
X-MultipleArgs=false
Type=Application
StartupNotify=false

여태까지는 그런대로 잘됐다.

이제 i3wm도 사용하고 있으며 애플리케이션을 특정 작업 공간에 할당하고 싶습니다. 이것은 내 현재 구성입니다.

assign [class="^cmus.*$"] 5:

답변1

자체적으로 설정하는 것은 응용 프로그램에 달려 있기 때문에 파일을 WM_CLASS통해 설정할 수 없습니다 ..desktopWM_CLASS

그러나 많은 애플리케이션에서는 여전히 툴킷(GTK/Qt)의 표준 방법을 사용하여 클래스를 변경할 수 있으므로 대부분의 애플리케이션은 --class명령줄 옵션을 따릅니다.

답변2

현재 다음 해결 방법을 사용하고 있는데 이것이 실제 솔루션이라고 생각하지 않습니다.

저는 gnome-terminal을 사용하고 있으므로 wm_class를 설정할 수 있습니다:

[Desktop Entry]
Exec=gnome-terminal --class=cmus -e cmus
Terminal=false

래퍼를 사용하면 작동하지 않습니다.x 터미널 에뮬레이터해당 클래스를 지원하지 않는 래퍼에 연결되기 때문입니다.

관련 정보