FoundationsofGTKDevelopment:Appendix C
- 부록 C GTK+ 스타일
GTK+ 스타일
GTK+는 위젯의 스타일을 맞춤설정할 수 있도록 많은 방도를 제공한다. 위젯 스타일의 맞춤설정 대부분은 스타일 프로퍼티와 자원(RC) 파일을 통해 이루어지는데, 이는 본 서적의 제 4장 "위젯 스타일" 절에서 다룬 바 있다.
제 4장에 실린 정보를 비롯해 이번 부록은 모든 위젯, Pango 텍스트 마크업 언어, GtkTextTag 스타일에 적용할 수 있는 기본 RC 파일 요소에 대한 참고자료를 제공하고자 한다.
기본 RC 파일 스타일
자원 파일은 제 4장에서 소개했지만 이번 절에 실린 내용을 모든 위젯이 지원하는 기본 스타일에 대한 참고자료로 사용한다면 좋겠다.
개발자는 배경색, 전경색, 기본색(base color), 텍스트 색상 스타일을 비롯해 다수의 스타일을 적용할 위젯 상태를 명시할 필요가 있다. 상태는 일부 함수에 대한 스톡 아이콘을 명시할 때에도 필요하다. 아래에는 다섯 가지의 위젯 상태를 소개하겠다.
- NORMAL: 정상적인 작동 시 위젯의 상태.
- ACTIVE: 토글을 누름 해제할 때와 같이 활성화된 위젯의 상태.
- PRELIGHT: 마우스가 위젯 위에 있으며, 버튼의 클릭에 응답할 것이다.
- SELECTED: 위젯 또는 위젯 텍스트가 선택되었다.
- INSENSITIVE: 위젯이 비활성화되어 사용자에게 응답하지 않을 것이다.
색상은 다수의 포맷으로 명시가 가능하다. 이러한 포맷으로 #RGB, #RRGGBB, #RRRGGGBBB, #RRRRGGGGBBBB와 같은 16진 포맷들이 있는데, 여기서 R, G, B는 각각 적색, 녹색, 청색을 나타내는 16진 숫자다. 색상을 {R, G, B}와 같이 명시할 수도 있는데, 여기서 값은 0과 65,535 사이의 정수이거나 0.0과 1.0 사이의 부동 소수점 값으로 주어진다.
표 C-1은 GTK+ 2.10 버전부터 지원되는 기본 RC 파일 스타일을 전부 열거한다. 스타일 설명 중 일부는 구현 방법의 예제도 포함한다.
스타일 | 설명 |
base[state] | 다섯 가지 상태 중 하나로 텍스트의 편집을 허용하는 위젯의 (예: GtkEntry) 배경색을 설정하라. 예제: base[ACTIVE] = { 0.5, 0.3, 1.0 } |
bg[state] | 대부분 위젯의 배경색을 다섯 가지 상태 중 하나로 설정하라. 예제: bg[NORMAL] = "#036" |
bg_pixmap[state] | 위젯의 배경으로 사용할 이미지를 다섯 가지 상태 중 하나로 설정하라.이미지 파일이 상대적일 경우 pixmap_path가 명시한 경로 중 하나가 검색될 것이다. 예제: bg_pixmap[SELECTED] = "image.xpm" |
class::property | 구체적인 위젯 클래스에 대한 스타일 프로퍼티를 설정하라. 예를 들어, GtkWidget 프로퍼티는 cursor-aspect-ratio, cursor-color, draw-border를 포함한다. 예제: class::cursor-aspect-ratio = 0.1 |
color["color_name"] | GTK+ 2.10 버전부터 개발자는 자신만의 색상을 정의할 수 있다. 색상은 @color_name으로 참조된다. 아래 소개된 표에서 더 상세한 정보를 찾을 수 있다. |
engine | 테마 엔진은 RC 파일로부터 자신만의 위젯 스타일을 정의하도록 해준다. 엔진의 사용에 관한 추가 정보는 GTK+ 문서에서 찾을 수 있다. |
fg | 대부분 위젯의 전경색을 다섯 가지 상태 중 하나로 설정하라. 예제: fg[PRELIGHT] = "#123456" |
font_name | 이 스타일을 위해 GTK+ 2.10 버전부터 font와 fontset 스타일이 무시된다. Pango Font Description 문자열과 마찬가지로 이 글꼴의 이름을 명시해야 한다.예제: font_name = "Sans Bold 12" |
stock["stockid"] | 애플리케이션이 사용할 수 있는 새로운 스톡 항목을 정의하라. 스톡 항목은 이미지 파일명, 텍스트 방향(왼쪽으로 오른쪽, 혹은 오른쪽에서 왼쪽으로), 위젯 상태, 크기를 수락한다. 크기로는 gtk-menu, gtk-small-toolbar, gtk-large-toolbar, gtk-button, gtk-dialog가 있다. 마지막 세 개의 매개변수에서는 별표(*) 문자를 와일드카드로 사용할 수 있다. 예제: stock["myitem"] = { "myitem.png", LTR, NORMAL, "gtk- menu" } |
text[state] | GtkEntry와 같은 위젯에 텍스트 색상을 설정하라. 예제: fg[PRELIGHT] = { 0, 65535, 0 } |
xthickness | GTK+의 다양한 값에 대한 수평적 패딩을 설정하라. 이 값은 정수로 명시된다. |
ythickness | GTK+의 다양한 값에 대한 수직적 패딩을 설정하라. 이 값은 정수로 명시된다. |
표 C-1. RC 파일 스타일 |
GTK+ 2.10 버전부터는 자신만의 색상을 정의할 수가 있다. 기존 색상을 변경하도록 4개의 함수가 제공되기도 한다. 아래 네 가지 방법들은 각각 지원되는 색상 표현식을 모두 수락한다.
- shade (factor, color): 명시된 색상을 연하거나 진하게 만든다. factor는 부동 소수점 수가 될 수 있으며, 1.0은 색상을 그대로 둔다. factor가 작을수록 색상은 어두워지고 클수록 연해진다.
- dark (color): 이 표현식은 shade (0.7, color)와 동일하다.
- lighter (color): 이 표현식은 shade (1.3, color)와 동일하다.
- mix (factor, color1, color2): 두 가지 색상을 섞어 새로운 색상을 생성하는데, factor가 0.0이면 color2가 나오고 1.0이면 color1이 된다.
이러한 방법들을 모두 이용해 색상을 생성할 수도 있다. 이해를 돕기 위해 색상 생성 표현식의 예를 몇 가지 소개하겠다.
color["blackwhite"] = mix (0.5, "#000000", "#FFFFFF")
color["darker"] = shade (0.5, @blackwhite)
color["multiple"] = shade (1.4, mix (0.1, "#369", { 0, 1.0, 0 }))
Pango 텍스트 마크업 언어
Pango 텍스트 마크업 언어는 GtkLabel을 비롯해 몇 가지 위젯에서 XML 태그로 된 텍스트의 스타일을 변경할 수 있도록 해준다.
여러 속성과 함께 <span> 태그를 이용해 텍스트 스타일을 정의할 수 있다. 예를 들어 <span font_desc='Sans Bold 12'>Text</span>은 태그들 사이의 텍스트를 명시된 글꼴로 설정한다. 표 C-2에서는 <span> 태그에 지원되는 속성의 리스트를 제공하겠다.
속성 | 설명 |
background | 배경색을 설명하는 값. #RRGGBB와 같은 형태로 된 16진 RGB 값 또는 blue와 같이 지원하는 색상명이 가능하다. |
face | Sans 또는 Monospace와 같은 폰트 패밀리명. 이 태그는 font_family와 동일하다. |
fallback | 기본적으로 활성화되는데, 활성화 시 시스템은 명시된 글꼴에 가장 가깝게 일치하는 글꼴의 검색을 시도할 것이다. 이 속성을 꺼서는 안 되지만, 불가피한 경우 false의 값을 사용해야 한다. |
font_desc | "Sans Bold 12"와 같이 PangoFontDescription이 지원하는 글꼴 설명 문자열. |
font_family | Sans 또는 Monospace와 같은 폰트 패밀리명. 이 태그는 face와 동일하다. |
foreground | 전경색을 설명하는 값. #RRGGBB와 같은 형태로 된 16진 RGB 값 또는 blue와 같이 지원하는 색상명이 가능하다. |
lang | 텍스트 문자열이 어떤 언어로 되어 있는지를 나타내는 언어 코드. |
rise | 이 값은 em 단위를 10,000로 나누어(10,000ths of an em unit) 수직 변위(vertical displacement)를 명시함으로써 슈퍼스크립트와 서브스크립트의 생성을 허용한다. 음의 값은 서브스크립트를, 양의 값은 슈퍼스크립트를 생성한다. |
size | 포인트를 1,024로 나누어(1,024ths of a point) 표시된 글꼴 크기. xx-small, x-small, small, medium, large, x-large, xx-large, larger, smaller 또한 사용 가능하다. 절대 크기는 font_desc를 이용 시 명시하기가 수월하다. |
stretch | 텍스트가 얼마나 늘어날 것인지 정의한다. ultracondensed, extracondensed, condensed, semicondensed, normal, semiexpanded, expanded, extraexpanded, ultraexpanded와 같은 값이 가능하다. |
strikethrough | 텍스트를 통해 단일 행을 위치시키려면 true를, 속성을 끄려면 false를 명시해야 한다. |
strikethrough_color | 취소선(strikethrough line) 색상을 설명하는 값. #RRGGBB와 같은 형태로 된 16진 RGB 값 또는 blue와 같이 지원하는 색상명이 가능하다. |
style | 이탤릭 스타일의 텍스트. normal, oblique, 또는 italic과 같은 값이 가능하다. |
underline | 텍스트에 밑줄 긋는 방식을 설명하는 값. single, double, low, 또는 none과 같은 값이 가능하다. |
underline_color | 밑줄 색상을 설명하는 값. #RRGGBB와 같은 형태로 된 16진 RGB 값 또는 blue와 같이 지원하는 색상명이 가능하다. |
variant | normal 또는 smallcaps의 값으로, 텍스트를 모두 대문자로 렌더링하도록 해준다. |
weight | 텍스트의 굵기. ultralight, light, normal, bold, ultrabold, heavy, 또는 수치로 된 굵기 값이 가능하다. |
표 C-2. Span 태그 속성 |
Pango 텍스트 마크업 언어는 수많은 편의(convenience) 태그를 제공하기도 한다. 이러한 태그는 다양한 <span> 속성을 대신해 사용이 가능하다. <span> 태그와 마찬가지로 항상 닫는 태그를 제공해야 한다 (예: </span>).
- <b>: 글꼴을 볼드체로 만들며, <span weight="bold">와 동일하다.
- <big>: 글꼴을 현재 글꼴보다 크게 만들며, <span size="larger">와 동일하다.
- <i>: 글꼴을 이탤릭체로 만들며, <span style="italic">와 동일하다.
- <s>: 텍스트에 취소선을 그리며, <span strikethrough="true">와 동일하다.
- <sub>: 텍스트 문자열 서브스크립트를 만든다. 서브스크립트 텍스트에 기본 값을 사용한다.
- <sup>: 텍스트 문자열 슈퍼스크립트를 만든다. 슈퍼스크립트 텍스트에 기본 값을 사용한다.
- <small>: 글꼴을 현재 글꼴보다 작게 만들며, <span size="smaller">와 동일하다.
- <tt>: 글꼴을 monospace 글꼴로 만든다. 고정폭 간격을 요하는 코드 세그먼트나 문자열에 사용할 수 있다.
- <u>: 텍스트에 밑줄을 그으며, <span underline="single">과 동일하다.
GtkTextTag 스타일
텍스트 태그는 GtkTextBuffer의 구체적인 섹션에 스타일을 정의하도록 해준다. 표 C-3은 GtkTextTag가 지원하는 스타일과 각 스타일이 지원하는 값의 타입에 대한 설명을 제공한다.
프로퍼티 | 타입 | 설명 |
background | gchararray | 16진수 문자열로 된 배경색. 16진수 문자열로 된 배경색. 문자열은 #RRGGBB 포맷으로 명시되어야 한다. |
background-full-height | gboolean | 배경색이 행의 전체 높이를 채우는지 아니면 각 문자의 높이만큼만 채우는지 나타낸다. |
background-gdk | GdkColor | 배경색. |
background-stipple | GdkPixmap | 위젯의 배경으로 그릴 비트맵. |
direction | GtkTextDirection | 기본 텍스트 방향으로, GTK_TEXT_DIR_NONE, GTK_TEXT_DIR_LTR, GTK_TEXT_DIR_RTL 중 하나로 설정된다. |
editable | gboolean | 텍스트가 수정 가능한지 나타낸다. |
family | gchararray | Sans 또는 Monospace와 같은 폰트 패밀리의 공식 명칭. |
font | gchararray | PangoFontDescription이 허용하는 형태로 전체 글꼴을 설명하는 문자열. |
font-desc | PangoFontDescription | 위젯에 적용할 글꼴. 실제 글꼴 문자열을 명시하기 위해 font를 사용할 수도 있다. |
foreground | gchararray | 16진수 문자열로 된 전경색. 문자열은 #RRGGBB 포맷으로 명시되어야 한다. |
foreground-gdk | GdkColor | 전경색. |
foreground-stipple | GdkPixmap | 전경 마스크(foreground mask)로 사용할 비트맵. |
indent | gint | 문단을 들여쓰기할 픽셀 수를 설정하는 정수. |
invisible | gboolean | 텍스트의 숨김 여부를 나타낸다. |
justification | GtkJustification | 맞춤(justification 타입)으로, GTK_JUSTIFY_LEFT, GTK_JUSTIFY_RIGHT, GTK_JUSTIFY_CENTER 중 하나로 설정된다. |
language | gchararray | 기본 언어의 ISO 코드. 이전 설정을 제거하려면 NULL을 사용하라. |
left-margin | gint | 왼쪽 여백의 너비를 픽셀로 나타낸 값. |
name | gchararray | 텍스트 태그의 이름으로 사용할 수 있는 문자열. 이전 설정을 제거하려면 NULL을 사용하라. |
paragraph-background | gchararray | 16진수 문자열로 된 문단 배경색.문자열은 #RRGGBB 포맷으로 명시되어야 한다. |
paragraph-background-gdk | GdkColor | 문단 배경색. |
pixels-above-lines | gint | 문단 위에 추가할 공간의 픽셀 수. |
pixels-below-lines | gint | 문단 아래에 추가할 공간의 픽셀 수. |
pixels-inside-wrap | gint | 래핑된 행 사이에 추가할 공간의 픽셀 수. |
right-margin | gint | 오른쪽 여백의 너비를 픽셀로 나타낸 값. |
rise | gint | 행의 하단면 위에 텍스트의 오프셋. |
scale | gdouble | Pango 스케일 값으로 된 글꼴 크기로, PANGO_SCALE_XX_SMALL, PANGO_SCALE_X_SMALL, PANGO_SCALE_SMALL, PANGO_SCALE_MEDIUM, PANGO_SCALE_LARGE, PANGO_SCALE_X_LARGE, PANGO_SCALE_XX_LARGE 중 하나로 설정된다. |
size | gint | Pango 단위로 된 글꼴 크기. |
size-points | gdouble | 포인트로 된 글꼴 크기. |
stretch | PangoStretch | 텍스트가 얼마나 늘어날 것인지 정의하는 값으로, PANGO_STRETCH_ULTRA_CONDENSED, PANGO_STRETCH_EXTRA_CONDENSED, PANGO_STRETCH_CONDENSED, PANGO_STRETCH_SEMI_CONDENSED, PANGO_STRETCH_NORMAL, PANGO_STRETCH_SEMI_EXPANDED, PANGO_STRETCH_EXPANDED, PANGO_STRETCH_EXTRA_EXPANDED, PANGO_STRETCH_ULTRA_EXPANDED 중 하나로 설정된다. |
strikethrough | gboolean | 텍스트에 취소선을 그을 것인지 나타낸다. |
style | PangoStyle | 글꼴 스타일 값으로, PANGO_STYLE_NORMAL, PANGO_STYLE_OBLIQUE, PANGO_STYLE_ITALIC 중 하나로 설정된다. |
tabs | PangoTabArray | 태그의 범위 내 모든 탭 문자에 사용할 커스텀 탭 배열. |
underline | PangoUnderline | 밑줄 스타일로, PANGO_UNDERLINE_NONE, PANGO_UNDERLINE_SINGLE, PANGO_UNDERLINE_DOUBLE, PANGO_UNDERLINE_LOW, PANGO_UNDERLINE_ERROR 중 하나로 설정된다. |
variant | PangoVariant | 모든 텍스트가 모두 대문자 (PANGO_VARIANT_SMALL_CAPS) 또는 정상적으로 (PANGO_VARIANT_NORMAL) 렌더링되어야 한다. |
weight | gint | 글꼴 굵기로, PANGO_WEIGHT_ULTRALIGHT, PANGO_WEIGHT_LIGHT, PANGO_WEIGHT_NORMAL, PANGO_WEIGHT_SEMIBOLD, PANGO_WEIGHT_BOLD, PANGO_WEIGHT_ULTRABOLD, PANGO_WEIGHT_HEAVY 중 하나로 설정된다. |
wrap-mode | GtkWrapMode | 래핑 방식으로, GTK_WRAP_NONE, GTK_WRAP_CHAR, GTK_WRAP_WORD, GTK_WRAP_WORD_CHAR 중 하나로 설정된다. |
표 C-3. GtkTextTag 스타일 프로퍼티 |
위젯 스타일 프로퍼티
많은 위젯들이 RC 파일을 이용해 변경될 수 있는 스타일 프로퍼티들을 갖는다. 표 C-4부터 C-32까지는 이 방법을 이용해 맞춤설정이 가능한 위젯들이 제공하는 스타일을 모두 제공하겠다.
프로퍼티 | 타입 | 설명 |
arrow-scaling | gfloat | 화살표 크기의 스케일링에 사용된 0.0과 1.0 사이의 숫자로, 기본값은 0.7이다. |
표 C-4. GtkArrow 스타일 프로퍼티 |
프로퍼티 | 타입 | 설명 |
content-padding | gint | 각 페이지 내용 주위에 추가되는 패딩의 픽셀 수. |
header-padding | gint | 각 페이지의 헤더 주위에 추가되는 패딩의 픽셀 수. |
표 C-5. GtkAssistant 스타일 프로퍼티 |
프로퍼티 | 타입 | 설명 |
child-displacement-x | gint | 버튼의 자식 위젯의 수평 변위(horizontal displacement)로, 버튼을 누르면 발생할 것이다. |
child-displacement-y | gint | 버튼의 자식 위젯의 수직 변위(vertical displacement)로, 버튼을 누르면 발생할 것이다. |
default-border | GtkBorder | 버튼이 기본 위젯이 될 수 있을 때 버튼을 따라 추가할 추가 테두리. |
default-outside-border | GtkBorder | 버튼이 기본 위젯이 될 수 있을 때 버튼 외부를 따라 추가할 추가 테두리. |
displace-focus | gboolean | TRUE로 설정 시 자식 변위 스타일 프로퍼티가 사용될 것이다. |
image-spacing | gint | 버튼에 포함된 텍스트와 이미지 사이에 추가할 공간의 픽셀 수. |
inner-border | GtkBorder | 버튼의 면과 그 자식 위젯의 면을 따라 위치시킬 테두리. |
표 C-6. GtkButton 스타일 프로퍼티 |
프로퍼티 | 타입 | 설명 |
child-internal-pad-x | gint | 패딩이 각 자식 위젯의 한 면에 위치된다. |
child-min-height | gint | 컨테이너 내에서 각 버튼의 최소 높이. |
표 C-7. GtkButtonBox 스타일 프로퍼티 |
프로퍼티 | 타입 | 설명 |
indicator-size | gint | 체크 버튼이나 라디오 버튼의 크기를 픽셀로 나타낸 값. |
indicator-spacing | gint | 체크 버튼 표시기(indicator) 주위에 추가할 패딩. |
표 C-8. GtkCheckButton 스타일 프로퍼티 |
프로퍼티 | 타입 | 설명 |
indicator-size | gint | 체크 버튼 표시기의 크기를 픽셀로 나타낸 값. |
표 C-9. GtkCheckMenuItem 스타일 프로퍼티 |
프로퍼티 | 타입 | 설명 |
appears-as-list | gboolean | TRUE로 설정 시 위젯이 활성화되면 표시되는 드롭 다운 창이 메뉴 대신 리스트로 나타날 것이다. |
arrow-size | gint | 콤보 박스가 표시하는 화살표의 크기를 픽셀로 나타낸 값. 이는 최소값으로, 글꼴 크기가 커지면 값도 증가할 것이다. |
표 C-10. GtkComboBox 스타일 프로퍼티 |
프로퍼티 | 타입 | 설명 |
action-area-border | gint | 액션 영역 주위에 위치시킬 패딩의 픽셀 수로, 대화상자 하단면을 따라 발견된다. |
button-spacing | gint | 대화상자 액션 영역 내에서 버튼들 사이에 추가할 공간. |
content-area-border | gint | 대화상자의 주요 내용 주위에 위치시킬 패딩의 픽셀 수. |
표 C-11. GtkDialog 스타일 프로퍼티 |
프로퍼티 | 타입 | 설명 |
inner-border | GtkBorder | GtkEntry 위젯의 텍스트와 그 면 사이에 위치시킬 패딩의 픽셀 수. |
표 C-12. GtkEntry 스타일 프로퍼티 |
프로퍼티 | 타입 | 설명 |
expander-size | gint | 익스팬더 화살표의 크기를 픽셀로 나타낸 값. |
expander-spacing | gint | 익스팬더 화살표 주위에 위치시킬 패딩을 픽셀로 나타낸 값. |
표 C-13. GtkExpander 스타일 프로퍼티 |
프로퍼티 | 타입 | 설명 |
selection-box-alpha | guchar | 선택(selection box) 박스의 알파값으로, 기본값으로 64가 설정된다. |
selection-box-color | GdkColor | 선택 박스가 표시하는 색상. |
표 C-14. GtkIconView 스타일 프로퍼티 |
프로퍼티 | 타입 | 설명 |
double-arrow | gboolean | TRUE로 설정 시 메뉴를 통해 스크롤링하면 두 개의 화살표가 모두 표시될 것이다. |
horizontal-offset | gint | 하위메뉴의 본래 위치로부터 수평적 오프셋을 픽셀로 나타낸 값. 양수 또는 음수 값이 가능하다! 사실 기본값은 -1에 해당한다. |
horizontal-padding | gint | 메뉴의 좌측면과 우측면을 따라 추가할 패딩의 픽셀 수. |
vertical-offset | gint | 하위메뉴의 본래 위치로부터 수직적 오프셋을 픽셀로 나타낸 값. 양수 또는 음수 값이 가능하다! |
vertical-padding | gint | 메뉴의 상단면과 하단면을 따라 추가할 패딩의 픽셀 수. |
표 C-15. GtkMenu 스타일 프로퍼티 |
프로퍼티 | 타입 | 설명 |
internal-padding | gint | 메뉴 표시줄의 면과 메뉴 항목 사이에 위치시킬 패딩. |
shadow-type | GtkShadowType | 메뉴 표시줄의 면 주위에 위치시킬 그림자 타입. |
표 C-16. GtkMenuBar 스타일 프로퍼티 |
프로퍼티 | 타입 | 설명 |
arrow-spacing | gint | 항목이 하위메뉴를 포함할 때 메뉴 항목의 라벨과 화살표 사이에 추가할 패딩. |
horizontal-padding | gint | 메뉴 항목의 한쪽 면에 위치한 패딩의 픽셀 수. |
selected-shadow-type | GtkShadowType | 메뉴 항목의 면 주위에 위치시킬 그림자 타입. |
toggle-spacing | gint | 메뉴 항목의 텍스트와 아이콘 사이에 위치시킬 패딩의 픽셀 수. |
표 C-17. GtkMenuItem 스타일 프로퍼티 |
프로퍼티 | 타입 | 설명 |
message-border | gint | 메시지 대화상자에서 라벨과 이미지 주변에 추가할 패딩. |
use-separator | gboolean | TRUE로 설정 시 메시지 대화상자의 내용과 그 버튼 사이에 구분자가 그려질 것이다. |
표 C-18. GtkMessageDialog 스타일 프로퍼티 |
프로퍼티 | 타입 | 설명 |
arrow-spacing | gint | 스크롤 화살표와 GtkNotebook 위젯의 탭 사이에 위치시킬 패딩. |
has-backward-stepper | gboolean | TRUE로 설정 시 후방향(backward) 스크롤 화살표가 표시될 것이다. |
has-forward-stepper | gboolean | TRUE로 설정 시 전방향(forward) 스크롤 화살표가 표시될 것이다. |
has-secondary-backward-stepper | gboolean | TRUE로 설정 시 두 번째 후방향 스크롤 화살표가 탭의 다른 면에 위치될 것이다. |
has-secondary-forward-stepper | gboolean | TRUE로 설정 시 두 번째 전방향 스크롤 화살표가 탭의 다른 면에 위치될 것이다. |
tab-curvature | gint | 선택된 탭과 선택 해제된 탭의 크기 차이. |
tab-overlap | gint | 주변에 탭이 겹치게 될 픽셀 수. |
표 C-19. GtkNotebook 스타일 프로퍼티 |
프로퍼티 | 타입 | 설명 |
handle-size | gint | 두 개의 패인 사이에 위치한 구분자의 너비 또는 높이. |
표 C-20. GtkPaned 스타일 프로퍼티 |
프로퍼티 | 타입 | 설명 |
xspacing | gint | 위젯의 너비에 추가된 수평적 공간. |
yspacing | gint | 위젯의 높이에 추가된 수직적 공간. |
표 C-21. GtkProgressBar 스타일 프로퍼티 |
프로퍼티 | 타입 | 설명 |
activate-slider | gboolean | TRUE로 설정 시 슬라이더를 드래그하면 활성화(active) 상태로 그려지고, 그에 따라 그림자가 안쪽으로 그려질 것이다. |
arrow-displacement-x | gint | 수평 화살표를 누르면 화살표가 가리키는 방향으로 그만큼 범위가 이동할 것이다. |
arrow-displacement-y | gint | 수직 화살표를 누르면 화살표가 가리키는 방향으로 그만큼 범위가 이동할 것이다. |
slider-width | gint | 위젯의 방향에 따라 실제 스크롤바 또는 스케일 영역의 너비나 높이. |
stepper-size | gint | 스텝퍼(stepper) 버튼의 크기로, 범위 위젯의 타입에 따라 좌우된다. |
stepper-spacing | gint | 스텝퍼 버튼과 thumb 사이에 추가할 패딩의 양. 양수로 설정 시 through-under-steppers가 설정될 것이다. |
trough-border | gint | 스텝퍼와 외부 trough 사이에 추가할 패딩. |
trough-side-details | gboolean | TRUE로 설정 시 스텝퍼의 면에 세부 내용이 표시될 것이다. |
trough-upper-steppers | gboolean | TRUE로 설정 시 전체 범위를 따라 trough가 그려질 것이다. |
표 C-22. GtkRange 스타일 프로퍼티 |
프로퍼티 | 타입 | 설명 |
slider-length | gint | 픽셀로 된 GtkScale의 슬라이더 길이. |
value-spacing | gint | 스케일의 값과 trough 간에 패딩이 표시될 경우 패딩의 양. |
표 C-23. GtkScale 스타일 프로퍼티 |
프로퍼티 | 타입 | 설명 |
fixed-slider-length | gboolean | TRUE로 설정 시 범위의 크기와 무관하게 슬라이더는 강제로 최소 길이로 유지될 것이다. |
has-backward-stepper | gboolean | TRUE로 설정 시 후방향 화살표가 표시될 것이다. |
has-forward-stepper | gboolean | TRUE로 설정 시 전방향 화살표가 표시될 것이다. |
has-secondary-backward-stepper | gboolean | TRUE로 설정 시 2차 후방향 화살표가 스크롤바의 반대편에 위치할 것이다. |
has-secondary-forward-stepper | gboolean | TRUE로 설정 시 2차 전방향 화살표가 스크롤바의 반대편에 위치할 것이다. |
min-slider-length | gint | 슬라이더의 최소 길이. fixed-slider-length가 TRUE로 설정된 경우 이것은 일정한 스크롤러 크기가 될 것이다. |
표 C-24. GtkScrollbar 스타일 프로퍼티 |
프로퍼티 | 타입 | 설명 |
scrollbar-spacing | gint | 스크롤이 있는 창의 내용과 스크롤바 사이에 위치시킬 패딩의 픽셀 수. |
표 C-25. GtkScrolledWindow 스타일 프로퍼티 |
프로퍼티 | 타입 | 설명 |
shadow-type | GtkShadowType | 스핀 버튼 주위에 그릴 그림자 타입. 그림자 기본 타입은 GTK_SHADOW_IN이다. |
표 C-26. GtkSpinButton 스타일 프로퍼티 |
프로퍼티 | 타입 | 설명 |
shadow-type | GtkShadowType | 상태 표시줄의 내용 주위에 그릴 그림자 타입. 그림자 기본 타입은 GTK_SHADOW_IN이다. |
표 C-27. GtkStatusbar 스타일 프로퍼티 |
프로퍼티 | 타입 | 설명 |
error-underline-color | GdkColor | 오류가 표시된 텍스트 아래 밑줄을 그릴 때 사용할 색상. |
표 C-28. GtkTextView 스타일 프로퍼티 |
프로퍼티 | 타입 | 설명 |
button-relief | GtkReliefStyle | 툴바 버튼 주위에 위치시킬 테두리 타입. |
internal-padding | gint | 툴바의 테두리와 툴바 버튼 사이에 위치시킬 패딩의 픽셀 수. |
max-child-expand | gint | 각 툴 항목의 크기를 조정할 수 있는 최대 너비 또는 높이. |
shadow-type | GtkShadowType | 툴바 주위에 그릴 그림자 타입. 기본 그림자 타입은 GTK_SHADOW_OUT이다. |
space-size | gint | 툴바에서 발견되는 간격(spacer)의 너비 또는 높이. |
space-style | GtkToolbarSpaceStyle | 툴바가 표시하게 될 간격의 타입. GTK_TOOLBAR_SPACE_EMPTY 또는 GTK_TOOLBAR_SPACE_LINE으로 설정 가능한데, 각각 빈 패딩과 하나의 행을 표시할 것이다. |
표 C-29. GtkToolbar 스타일 프로퍼티 |
프로퍼티 | 타입 | 설명 |
icon-spacing | gint | 툴 버튼의 라벨과 아이콘 사이에 위치시킬 패딩의 픽셀 수. |
표 C-30. GtkToolButton 스타일 프로퍼티 |
프로퍼티 | 타입 | 설명 |
allow-rules | gboolean | TRUE로 설정 시 두 개의 색을 교대로 이용해(alternating) 행을 그릴 수 있다. 당시에 작업을 실행할 뿐, 이 기능을 활성화하지는 않음을 주의하라! |
even-row-color | GdkColor | 두 개의 행마다 다른 색으로 그릴 때 짝수 행의 배경색. |
expander-size | gint | 행 익스팬더의 크기를 픽셀로 나타낸 값으로, 기본값은 12다. |
grid-line-pattern | gchararray | 트리 뷰에서 격자선에 사용할 패턴. |
grid-line-width | gint | 트리 뷰에 그린 격자선의 너비. |
horizontal-separator | gint | 셀들 간 위치시킬 수평 공간으로, 양으로 된 짝수여야 한다. |
indent-expanders | gboolean | TRUE로 설정 시 행의 내용이 증가하면 익스팬더가 들여 써질 것이다. |
odd-row-color | GdkColor | 두 개의 행마다 다른 색으로 그릴 때 홀수 행의 배경색. |
row-ending-details | gboolean | TRUE로 설정 시 행의 배경 테마(background theming)가 활성화될 것이다. |
tree-line-pattern | gchararray | 트리 뷰 직선을 그리는데 사용된 패턴을 설명하는 문자열. |
tree-line-width | gint | 트리 뷰 직선의 너비를 픽셀로 나타낸 값. |
vertical-separator | gint | 셀들 간 위치시킬 수직 공간으로, 양으로 된 짝수여야 한다. |
표 C-31. GtkTreeView 스타일 프로퍼티 |
프로퍼티 | 타입 | 설명 |
cursor-aspect-ratio | gfloat | 삽입 커서를 그릴 변의 가로세로비(aspect ratio)로, 0.0과 1.0 사이의 값이어야 하며 기본값은 0.04다. |
cursor-color | GdkColor | 삽입 커서를 그리는 데 사용할 색상. |
draw-border | GtkBorder | 위젯의 초기 할당 외에 위치시킬 테두리의 양. |
focus-line-pattern | gchararray | 위젯에 포커스가 있을 때 위젯 주위에 그려지는 패턴을 설명하는 문자열. |
focus-line-width | gint | 위젯에 포커스가 있을 때 그려지는 직선의 너비. |
focus-padding | gint | 포커스 선과 위젯의 면 사이에 위치시킬 패딩의 픽셀 수. |
interior-focus | gboolean | TRUE로 설정 시 위젯에 대해 포커스 선이 그려질 것이다. |
link-color | GdkColor | 방문하지 않은 링크를 그리는 데 사용할 색상. |
scroll-arrow-hlength | gint | 수평 스크롤 화살표가 있는 위젯에서 화살표의 길이. |
scroll-arrow-vlength | gint | 수직 스크롤 화살표가 있는 위젯에서 화살표의 길이. |
secondary-cursor-color | GdkColor | 2차 삽입 커서를 그리는 데 사용할 색상. 이 커서는 좌측에서 우측 방향의 텍스트와 우측에서 좌측 방향의 텍스트를 동시에 편집할 때 표시된다. |
separator-height | gint | 여러 위젯에 표시되는 다양한 타입의 구분자의 높이. 이 프로퍼티는 wide-separators가 설정되었을 때에만 작동할 것이다. |
separator-width | gint | 여러 위젯에 표시되는 다양한 타입의 구분자의 너비. 이 프로퍼티는 wide-separators가 설정되었을 때에만 작동할 것이다. |
visited-link-color | GdkColor | 방문한 링크를 그릴 때 사용할 색상. |
wide-separators | gboolean | TRUE로 설정 시 separator-width 와 separator-height을 이용해 구분자의 너비와 높이 프로퍼티를 설정할 수 있다. 이런 경우 직선 대신 박스로 그려질 것이다. |
표 C-32. GtkWidget 스타일 프로퍼티 |