응용 프로그램에 따라 창 표시줄 색상/스타일 변경

응용 프로그램에 따라 창 표시줄 색상/스타일 변경

저는 기본 OS 데스크탑을 원하는 대로 크게 사용자 정의해 왔으며, 실행 중인 응용 프로그램에 따라 각 창 위의 막대 색상을 변경할 수 있는지 궁금합니다. 가능할 것 같긴 한데, 구글링을 해봐도 아무것도 찾을 수 없습니다. 사실, 나는 아무것도 찾지 못했습니다. 그것에 대한 질문도 없고, 기사도 없습니다. 아마도 제가 잘못 말한 것일 수도 있고, 어쩌면 불가능할 수도 있습니다. 그래서 여기에 질문하는 것입니다. 창 표시줄 색상을 동적으로 변경할 수 있습니까?

또한 두 번째 질문은 첫 번째 질문과 비슷하지만 덜 중요한 질문입니다. 열려 있는 애플리케이션의 색상에 따라 데스크탑 상단 패널의 색상을 동적으로 변경할 수 있습니까? ImageMagick을 사용하여 비슷한 것을 보았지만 찾을 수 없습니다.

답변1

너무 길어요.가능하지만 매우 간단하지는 않으며 모든 애플리케이션에서 작동하지 않습니다.

첫째, 툴킷의 스타일을 지정하는 데 사용되는 Gtk.CSS라는 것이 있습니다. CSS에 익숙하다면 CSS가 클래스 및 ID와 같은 선택 요소를 기반으로 작동한다는 것을 알고 있을 것입니다. 특정 애플리케이션 창을 선택하기 위해서는 CSS에서 선택할 수 있는 ID를 설정해야 합니다. 일부 앱은 가능하지만 일부 앱은 불가능합니다. 다행스럽게도 Sam Hewitt는 어떤 애플리케이션이 ID를 설정하는지 알아내기 위해 많은 작업을 했습니다. 당신은 그것을 사용할 수 있습니다그의 종이 스타일 시트참조.

이제 스타일 시트를 수정하고 테마를 사용자 정의하려는 각 애플리케이션에 대해 새 CSS 규칙을 추가해야 합니다. 현재 사용 중인 스타일 시트에 따라 복잡할 수 있습니다.

초등학교에서는 현재 응용 프로그램 개발자가 응용 프로그램 제목 표시줄의 색상을 설정하는 데 사용할 수 있는 간단한 Granite 유틸리티를 개발 중입니다. 하지만 이 작업은 애플리케이션의 소스 코드에서 수행되어야 합니다.

각 앱 패널의 색상을 변경하는 것은 현재 불가능합니다. 패널은 집중된 애플리케이션의 상태(최대화, 타일링 또는 최대화되지 않음)만 알고 있습니다. 애플리케이션의 내부 CSS에 대한 정보는 수신되지 않습니다.

관련 정보