2017-12-30 8 views
1

Gnome 3 용 테마를 만들려고하고 있지만 제목 표시 줄을 스타일링 할 때 약간의 문제가 있습니다. 막대를 스타일링하기 위해 다음 CSS를 사용하고 있지만 제목 표시 줄을 재정의하기 위해 GtkHeaderBar을 사용하는 창에만 적용됩니다.gnome-3의 제목 표시 줄을 테마/스타일을 지정하는 방법은 무엇입니까?

headerbar { 
    border: 1px solid #000000; 
    border-bottom: none; 
    border-radius: 4px 4px 0 0; 
    box-shadow: inset 1px 1px 0px 0px rgba(255, 255, 255, 0.25), inset -1px 1px 0px 0px rgba(255, 255, 255, 0.25); 
    background-image: linear-gradient(to right, rgba(109, 179, 242, 0.5) 0%, rgba(84, 163, 238, 0.5) 50%, rgba(54, 144, 240, 0.5) 51%, rgba(30, 105, 222, 0.5) 100%); 
    padding: 0 5px; 
} 

headerbar:backdrop { 
    border: 1px solid #303030; 
    border-bottom: none; 
    background-image: linear-gradient(to right, #C1C1C1 0%, #B1B1B1 50%, #A2A2A2 51%, #8B8B8B 100%); 
} 

/* Window Body */ 
window { 
    border: 1px solid #000000; 
    border-top: none; 
    border-radius: 0 0 4px 4px; 
    box-shadow: inset 1px -1px 0px 0px rgba(255, 255, 255, 0.25), inset -1px -1px 0px 0px rgba(255, 255, 255, 0.25); 
    background-image: linear-gradient(to right, rgba(109, 179, 242, 0.5) 0%, rgba(84, 163, 238, 0.5) 50%, rgba(54, 144, 240, 0.5) 51%, rgba(30, 105, 222, 0.5) 100%); 
    padding: 5px; 
} 

window:backdrop { 
    border: 1px solid #303030; 
    border-top: none; 
    background-image: linear-gradient(to right, #C1C1C1 0%, #B1B1B1 50%, #A2A2A2 51%, #8B8B8B 100%); 
} 

window > box { 
    border: 1px solid black; 
    border-radius: 3px; 
    box-shadow: 0px 0px 0px 1px rgba(255, 255, 255, 0.25); 
    margin: 4px; 
    background-color: #ABABAB; 
    background-image: none; 
} 

윈도우 관리자가 제공 한 CSS 대신 마지막으로로드 된 테마의 스타일 정보를 사용하고있는 것처럼 보입니다. 나는 gsettings set org.gnome.desktop.interface gtk-theme "<theme name"을 실행하여 테마를 전환하려고합니다.

제목 표시 줄은 (다른 창에 적용) Picture of theme applied properly

이것은 gtk3-demoAmbiance Picture of theme with "ambiance"

이 후 내 테마로 전환 할 때 모습입니다처럼 보이도록되어있는 것이다 다음에 내 테마로 전환하면 gtk3-demo 창이 나옵니다. Adwaita enter image description here

이 결론은 을 사용하는 것과 같은 온라인에서 발견 된 제안 중 어느 것도 성공으로 이어진 적이 없지만 headerbar과는 별도로 별도의 CSS 노드 또는 클래스 집합이 있다는 것입니다. GTK_DEBUG=interactive gtk3-demo으로 대화 형 디버거를 시작하여 CSS 노드 계층 구조를 검사하려고 시도했지만 노드 계층 뷰어는 제목 표시 줄을 포함하지 않는 window 노드에서 끝납니다.

gnome-3에서 테마의 제목 표시 줄을 스타일 지정하는 올바른 방법은 무엇입니까? 참조 용으로 사용할 수있는 CSS 노드의 마스터 목록이 있습니까?

편집 : 난 그냥 가로 질러 와서 decoration 태그를 시도하지만 그것이 GtkHeaderBar 요소없이 창에 영향을주지 않습니다 headerbar, 같은 문제를 갖고있는 것 같아요.

편집 2 : 이제는 내 문제가 내가 만든 CSS와 다를 수 있습니다. 제목 표시 줄에 변경을 유도하려는 마지막 도랑 노력으로 나는 * { color: #00ff00; background-color: #ff0000; background-image: none} 규칙을 만들었지 만 제목에는 아무런 영향을 미치지 않았습니다. 이제는 기본 제목 표시 줄이 응용 프로그램 CSS 이외의 다른 스타일 (예 : ~/.themes/xyz/ 디렉토리 아래에있는 다른 폴더의 스타일)이라고 생각하기 시작했습니다. 현재 내 전체 CSS를 gtk-3.0gtk-3.20 폴더에 복사했지만 아무 것도 변경하지 않는 것 같습니다. 이것은 내 테마의 나무입니다. 필요한 파일이 누락 되었습니까?

. 
├── gtk-3.0 
│ └── gtk.css 
├── gtk-3.20 
│ └── gtk.css 
└── index.theme 

답변

0

이 문제는 gnome-tweak-tool에 사용자 테마 확장 설치를 잊어서 발생했습니다. 일부 응용 프로그램의 제목 표시 줄은 응용 프로그램 자체에서 제공하기 때문에 테마는 해당 테마에 적용되지만 다른 프로그램은 제목 표시 줄을 제공하기 위해 셸에 의존하므로 스타일없이 남아있게됩니다.

관련 문제