[수정] 짝퉁 energreen 테마

제가 워낙 녹색계열을 좋아해서, 녹색계열로 테마를 구성해서 사용중이었는데…
energreen 테마도 녹색계열이라 좋더군요.

그런데… 전 단순한 형태의 프레임을 좋아하는데 테두리가 너무 두껍고, 시스템 버튼도 너무 크더군요.
그래서 metacity 테마를 변경하여, 아이콘 크기를 줄였습니다.
테두리를 줄여보았더니, 그림이랑 안맞더군요.
그래서 삽질하여 xml파일도 변경하여 테두리 크기를 줄이면 그에 맞게… 화면에 보여지도록 변경하였습니다.

또한, 이테마 적용시 메뉴글자 배경이 흰색으로 나와서 이 부분도 수정하였습니다.

그리고는, 이름을 evergreen으로 변경하였습니다.
참으로 짝퉁스러운 이름이지요? :mrgreen:

** 변경내용 **
gtk3테마
metacity 테마

테마: [attachment=1:3dlwlnum]evergreen.tgz[/attachment:3dlwlnum]
메타시티 테마:[attachment=0:3dlwlnum]evergreen-metacity.tgz[/attachment:3dlwlnum]

음 일부 cairo-dock 같은 프로그램에서, 설정창을 열였을때,
목록부분과 탭부분주변이 검게나오는 문제가 발견되었습니다.

다음 파일을 풀어서 ~/.themes/evergreen/gtk-3.0/gtk-widgets.css로 덮어씌우시면 됩니다.
수정된 테마: [attachment=0:37d8ue29]evergreen.tgz[/attachment:37d8ue29]
수정된 파일: [attachment=1:37d8ue29]gtk-widgets.tgz[/attachment:37d8ue29]

그리고, 테마를 적용하기 위해서는 gnome-tweak-tool을 실행하셔서 테마부분에서 변경하시면 되는데…
현재테마라고 번역된부분이 사실 창테마입니다. 여기는 메타시티 테마가 적용되는 부분입니다.

** 부연 설명 **
이것은 해당프로그램이 배경을 그리지 않음으로써 생기는 것 같구요.
원 테마에서도 위젯색깔들만 설정되어 있었고, 메뉴나 위젯배경, 글씨배경이 흰색계열로 나오길래, 모든 위젯의 배경색을 투명으로 설정해주었었는데,
검게나오는것은 투명의 밑에 비칠 색이나 그림이 없어서 검정색으로 나오는 것으로 판단하고, 위젯영역밖의 영역을 적용하기 위해…
Gtk+ 레퍼런스 메뉴얼을 찾아보고, GtkContainer객체를 찾아내었습니다.
그래서 이 객체의 배경을 테마배경색으로 지정해줌으로써 해결하였습니다.
스타일은
위젯배경은 GtkWidget { backgournd-color:transparent; } 혹은 * { backgournd-color:transparent; }
컨테이너배경은 GtkContainer { backgournd-color:@bg_color; }
이와같이 지정이 가능합니다.

사용하다보니, 잘 이상한 점 도 발견되고, 마음에 안드는 부분도 발견되어… 자꾸 손보게 되네요.
파일:[attachment=0:ethpxlb0]evergreen.tgz[/attachment:ethpxlb0]

그리고, 이 변경한 테마를 적용해 보신 분, 느낌이 어떤지 궁금합니다.

** 변경 사항 **

  1. 노란색을 많이 줄여, 녹색계열로 바꾸었습니다. 민트에 가까운 색이라고 할까요? :D
    시스템버튼까지 색상을 변경하였습니다.

[code:ethpxlb0]
#!/bin/sh
convert "$3" -fill "$2" -opaque "$1" "${4:-$3}"
[/code:ethpxlb0]
요런 스크립트를 사용하시면, 이미지안의 색상을 다른 색상으로 변경할 수 있습니다.
xx.sh 원래색 바꿀색 이미지파일 [결과파일]

  1. GTK2로 동작하는 프로그램들 중에는 테마가 제대로 적용이 안되는 점이 발견되었습니다.
    gtkrc내에 gtk_color_scheme변수에 색상 정의를 하더라도, 적용이 안되더군요.
    그래서… 결국 각 style내에서 color["mycolor"] = "#color" 이런 형태로 모두 변경하셨습니다.

  2. 기타 여러 자잘한 부분 보완
    단위를 px로 지정하여, 경고메시지를 없앰
    없는 리소스파일들을 include하지 않게 하여 에러메시지를 없앰
    상단패널에 색상 적용 및 강조 효과 적용
    프로그램창에 메뉴바가 나타날때 배경 색상을 지정하여 깔끔하게 보이게 수정
    메뉴아이템에 테두리를 설정하여 가독성을 높힘
    툴팁 색상이 적용되게 하였고, 색상을 밝게 변경
    체크박스,라디오버튼이 선택 가능하면 테두리를 표현, 불가능하면 테두리를 없애고, 또, 선택되었을 경우 밝은 색으로 강조합니다.

약간 수정했습니다.

다운로드: [attachment=1:1e2qyzw0]evergreen.tgz[/attachment:1e2qyzw0]

별로 손 본 곳이 없습니다.
색상, 그라디안트나 테두리 머 이런것 들만 좀 손을 봤습니다.
대체적으로 손볼 곳이 별루 안보이네요.

데모 화면을 올려보겠습니다.

[attachment=0:1e2qyzw0]evergreen-demos.png[/attachment:1e2qyzw0]

크로미엄 창테두리가 검정색 계열로 표시되더군요.
그런데 테마를 고쳐봐도 잘 안되서 그냥 두고 있었는데…
검색해보니 크로미엄은 gtk2를 사용하는가 봅니다.

테마디렉토리의 gtk-2.0/apps/chromium.rc를 생성또는 수정하셔서,
다음의 코드로 저장하시면 됩니다.
energreen테마에서 검정색계열로 설정되어 있더군요.

아래는 evergreen테마와 어울리게
창테두리색과 스크롤바색상을 설정한 것입니다.

[code:1ks90k5d]

==============================================================================

CHROMIUM SPECIFIC SETTINGS

==============================================================================

style "chromium_toolbar_button" {
engine "murrine" {
roundness = 3
textstyle = 0
}
}

style "chrome-gtk-frame"
{
ChromeGtkFrame::frame-color = shade(0.9,@menu_bg_color)
ChromeGtkFrame::inactive-frame-color = shade(1.2,@menu_bg_color)
ChromeGtkFrame::frame-gradient-color = shade(1.1,@menu_bg_color)

ChromeGtkFrame::frame-gradient-size = 16

ChromeGtkFrame::incognito-frame-color = lighter ("#3c3b37")
ChromeGtkFrame::incognito-inactive-frame-color = lighter ("#3c3b37")

ChromeGtkFrame::incognito-frame-gradient-size = 16
ChromeGtkFrame::incognito-frame-gradient-color = "#5c5b56"

ChromeGtkFrame::scrollbar-trough-color = shade (0.912, @bg_color)
ChromeGtkFrame::scrollbar-slider-prelight-color = shade (1.3, "#84C954")
ChromeGtkFrame::scrollbar-slider-normal-color = shade(1.2,@selected_bg_color)
ChromeGtkFrame::scrollbar-slider-normal-color = shade(1.2,"#84C954")
}

class "ChromeGtkFrame" style "chrome-gtk-frame"

widget_class "ChromButton*" style "chromium_toolbar_button"

[/code:1ks90k5d]