gtk테마 파일인 gtkrc를 분석 해봤습니다.

Moderator: Dry8r3aD

Post Reply
oppor
Posts: 495
Joined: 2009/03/16 Mon 5:14 pm

gtk테마 파일인 gtkrc를 분석 해봤습니다.

Post by oppor » 2010/01/29 Fri 6:22 pm

gtkrc 파일을 분석해본 내용이다.

[code:2890el6m]style "murrine-default"
{
bg[SELECTED] = shade(1.14, @bg_color)

engine "murrine"
{
toolbarstyle = 0
}
}[/code:2890el6m]

이런 식으로 스타일을 만든뒤에

[code:2890el6m]class "GtkToolbar" style "murrine-default"[/code:2890el6m]

이렇게 적용 시킨다. 스타일만 만들어 놓으면 적용이 안된다.

[code:2890el6m]widget_class "*<GtkNotebook>*<GtkEventBox>" style "murrine-notebook"
widget "gtk-tooltip*" style "murrine-tooltips"[/code:2890el6m]

이런 형식도 있다. class, widget_class, widget 가 무엇을 뜻하는지는 모르겠다.

스타일의 이름인 "murrine-default" 같은 경우 이름은 정하기 나름으로 보인다.
스타일 안에 engine을 사용하는 부분이 보이는데
테마를 깔때 어떤 엔진이 필요하다고 하는 경우가 많은데 이렇게 사용되기 때문에 그러는 것 같다. 엔진은 테마의 기본 골격을 정의 해놓고 테마를 만들 때 조금씩 설정할 수 있도록 해주는 프레임웍 개념이라고 받아들여도 될려나 모르겠다.

파일의 처음부분에
[code:2890el6m]gtk_color_scheme = "fg_color:#C5C5C6\nbg_color:#303030\ntext_color:#C5C5C6\n
base_color:#444444\nselected_fg_color:#C5C5C6\nselected_bg_color:#1d1d1d\n
tooltip_fg_color:#C5C5C6\ntooltip_bg_color:#000000"[/code:2890el6m]
이렇게 써주고

그 뒤에 저 컬러들을 쓰고 싶으면
[code:2890el6m]fg[NORMAL] = @fg_color[/code:2890el6m]
이렇게 쓰면된다. @을 사용한다.

그냥 RGB값을 쓸려면
[code:2890el6m]fg[NORMAL] = "#ffffff"[/code:2890el6m]
이렇게 쓴다. 쌍따옴표 안에서 #으로 시작한다.

[code:2890el6m]gtk-icon-sizes = "gtk-button=16,16:\ngtk-dnd=16,16:\npanel=16,16:\npanel-menu=16,16:\n
gtk-small-toolbar=16,16:\ngtk-large-toolbar=16,16:"[/code:2890el6m]

이런식으로 써주면 아이콘의 사이즈가 조절된다.
panel-menu=16,16 이것은 패널에 있는 메뉴의 아이콘 사이즈를 width, height 각각 16pixel 로 그려라는 의미이다.

기본적인건 알겠는데 정작 테마를 만들기 위해 꼭 필요한 것들은 모르겠군요.
class, widget 같은거라던지 어떤 이름이 무엇에 적용되는건지 등등을 모르니까 겉핥기만 계속하게 되네요. 영어의 벽이 너무 높아요.(T.T)

User avatar
deadsky
Posts: 1277
Joined: 2008/11/17 Mon 11:38 pm
Location: 사방 50km가 모두 산인 지역...
Contact:

Re: gtk테마 파일인 gtkrc를 분석 해봤습니다.

Post by deadsky » 2010/07/04 Sun 9:55 am

[quote="oppor":18hf83ds]
기본적인건 알겠는데 정작 테마를 만들기 위해 꼭 필요한 것들은 모르겠군요.
class, widget 같은거라던지 어떤 이름이 무엇에 적용되는건지 등등을 모르니까 겉핥기만 계속하게 되네요. 영어의 벽이 너무 높아요.(T.T)[/quote:18hf83ds]

ㅋㅋ 저역시 class,widget에서 막혀서 더이상 진행을 할수 없었지요 ㅎㅎ...

엔진마다 각기 적용이 되어 있다보니 쉽지 안더이다 ㅎㅎ

엔진을 직접 제작해 보려고 머리를 굴려봤는데...=_=;;; 녹이 너무 많이 슬었는지 뻐걱대더군요 쩝...
아토피에서 벗어나고싶은가? 그러면 국산농산물먹고 살게나!!

Post Reply