cht台灣個人winlin惡搞gcin skin的地下工廠
adm Find login register

gtk resource file部份 (gtkrc)

winlin
1 gtk resource file部份 (gtkrc)
Promote 0 Bookmark 02008-03-15quote  

這個討論串主要是放置一些absolute class name以及absolute widget name在套用過程的嘗試,失敗與錯誤居多~

edited: 1
winlin
2
Promote 0 Bookmark 02008-03-15quote  

隨便猜了幾個widget name,但全都失敗...莫非gcin沒有為各個組字視窗設widget name?如果是這樣的話,就很難分別為gtab、tsin、intcode等設定界面了,而且gcin-setup也勢必會一併受到影響

edited: 1
winlin
3
Promote 0 Bookmark 02008-03-20quote  

嘿...發現好康... 

If you set the enviroment variable EXPERIENCE_PRINT_WIDGET_PATH=TRUE the engine will print out all drawing operations to stderr (Loads of output). It prints out the class (and widget) path of the widget that is drawn, and the group used to do this. This is very usefull for tweaking apps.

如果這個可以找出各個gcin元件名稱,就可以分別設佈景了

網址:

http://benjamin.sipsolutions.net/Projects/eXperience

 

winlin
4
Promote 0 Bookmark 02008-03-22quote  
http://developer.gnome.org/doc/GGAD/hierarchy.html 
 GtkObject
|
+GtkWidget
| |
| +GtkContainer
| | |
| | +GtkBin
| | | |
| | | +GtkWindow
| | | | |
| | | | +GnomeDialog
| | | | | |
| | | | | +GnomeAbout
| | | | | |
| | | | | +GnomeMessageBox
| | | | | |
| | | | | +GnomePropertyBox
| | | | | |
| | | | | `GnomeScores
| | | | |
| | | | +GnomeApp
| | | | |
| | | | +GtkDialog
| | | | | |
| | | | | +GnomeFontSelector
| | | | | |
| | | | | `GtkInputDialog
| | | | |
| | | | +GtkColorSelectionDialog
| | | | |
| | | | +GtkFileSelection
| | | | |
| | | | +GtkFontSelectionDialog
| | | | |
| | | | `GtkPlug
| | | |
| | | +GtkButton
| | | | |
| | | | +GnomeColorPicker
| | | | |
| | | | +GnomeFontPicker
| | | | |
| | | | +GnomeHRef
| | | | |
| | | | +GtkToggleButton
| | | | | |
| | | | | `GtkCheckButton
| | | | |   |
| | | | |   `GtkRadioButton
| | | | |
| | | | `GtkOptionMenu
| | | |                      
| | | +GnomeDockItem
| | | |
| | | +GtkAlignment
| | | |
| | | +GtkFrame
| | | | |
| | | | `GtkAspectFrame
| | | |
| | | +GtkItem
| | | | |
| | | | +GtkMenuItem
| | | | | |
| | | | | +GtkCheckMenuItem
| | | | | | |
| | | | | | `GtkRadioMenuItem
| | | | | |
| | | | | +GtkPixmapMenuItem
| | | | | |
| | | | | `GtkTearoffMenuItem
| | | | |
| | | | +GtkListItem
| | | | |
| | | | `GtkTreeItem
| | | |
| | | +GtkEventBox
| | | |
| | | +GtkHandleBox
| | | |
| | | +GtkScrolledWindow
| | | |
| | | `GtkViewport
| | |
  | | +GtkBox
| | | |
| | | +GtkHBox
| | | | |
| | | | +GnomeAppBar
| | | | |
| | | | +GnomeDateEdit
| | | | |
| | | | +GtkCombo
| | | | | |
| | | | | `GnomeEntry
| | | | |
| | | | +GnomeFileEntry
| | | | |
| | | | +GnomeNumberEntry
| | | | |
| | | | +GnomeProcBar
| | | | |
| | | | `GtkStatusbar
| | | |
| | | +GtkVBox
| | | | |
| | | | +GnomeCalculator
| | | | |
| | | | +GnomeGuru
| | | | |
| | | | +GnomeIconEntry
| | | | |
| | | | +GnomeIconSelection
| | | | |
| | | | +GnomeLess
| | | | |
| | | | +GnomePaperSelector
| | | | |
| | | | +GnomePixmapEntry
| | | | |
| | | | +GnomeSpell
| | | | |
| | | | +GtkColorSelection
| | | | |
| | | | `GtkGammaCurve
| | | |
| | | `GtkButtonBox
| | |   |
| | |   +GtkHButtonBox
| | |   |
| | |   `GtkVButtonBox
| | |
| | +GtkLayout
| | | |
| | | `GnomeCanvas
| | |   |
| | |   `GnomeIconList
| | |
| | +GnomeDockBand
| | |
| | +GnomeDock
| | |
| | +GtkCList
| | | |
| | | `GtkCTree
| | |
| | +GtkFixed
| | |
| | +GtkNotebook
| | | |
| | | `GtkFontSelection
| | |
| | +GtkPaned
| | | |
| | | +GtkHPaned
| | | |
| | | `GtkVPaned
| | |
| | +GtkList
| | |
| | +GtkMenuShell
| | | |
| | | +GtkMenuBar
| | | |
| | | `GtkMenu
| | |
| | +GtkPacker
| | |
| | +GtkSocket
| | |
| | +GtkTable
| | | |
| | | `GtkTed
| | |
| | +GtkToolbar
| | |
| | `GtkTree
| |
| +GnomeAnimator
| |
| +GnomePixmap
| | |
| | `GnomeStock
| |
| +GtkMisc
| | |
| | +GtkLabel
| | | |
| | | +GtkAccelLabel
| | | |
| | | +GtkClock
| | | |
| | | `GtkTipsQuery
| | |
| | +GtkArrow
| | |
| | +GtkImage
| | |
| | `GtkPixmap
| |
| +GtkCalendar
| |
| +GtkDrawingArea
| | |
| | `GtkCurve
| |
| +GtkDial
| |
| +GtkEditable
| | |
| | +GtkEntry
| | | |
| | | `GtkSpinButton
| | |
| | `GtkText
| |
| +GtkRuler
| | |
| | +GtkHRuler
| | |
| | `GtkVRuler
| |
| +GtkRange
| | |
| | +GtkScale
| | | |
| | | +GtkHScale
| | | |
| | | `GtkVScale
| | |
| | `GtkScrollbar
| |   |
| |   +GtkHScrollbar
| |   |
| |   `GtkVScrollbar
| |
| +GtkSeparator
| | |
| | +GtkHSeparator
| | |
| | `GtkVSeparator
| |
| +GtkPreview
| |
| +GtkProgress
| | |
| | `GtkProgressBar
| | 
| `ZvtTerm
|
+GnomeCanvasItem
| |
| +GnomeCanvasRE
| | |
| | +GnomeCanvasEllipse
| | |
| | `GnomeCanvasRect
| |
| +GnomeCanvasGroup
| |
| +GnomeCanvasImage
| |
| +GnomeCanvasLine
| |
| +GnomeCanvasPolygon
| |
| +GnomeCanvasText
| |
| +GnomeCanvasWidget
| |
| `GnomeIconTextItem
|
+GnomeClient
|
+GnomeDEntryEdit
|
+GnomeDockLayout
|
+GnomeMDIChild
| |
| `GnomeMDIGenericChild
|
+GnomeMDI
|
+GtkData
| |
| +GtkAdjustment
| |
| `GtkTooltips
|
`GtkItemFactory

winlin
5
Promote 0 Bookmark 02008-03-22quote  

整理一下 ,希望沒有搞錯(搞錯再回來改)

class "GtkButton" style "my-button"
「class」的用法是,把所有為XXX名稱的widget套用某個style,所有子widget都會跟著繼承
不同widget路徑的widget若符合相同名稱依然可以套用

widget_class "*Text*" style "bright_yellow"
「widget_class」的用法是,某個widget路徑下的widget
因此,要使用這個語法,就必須把路徑寫清楚,否則就得利用wildcard來幫忙
不過,wildcard用多了,效果不就和「class」相近了?用wildcard反而失去了widget_class的意義
eg: widget_class "*Button*" style : highest "mystyle".

widget "funky bar" style "mystyle"
widget的用法,好像只能用在有作gtk_widget_set_name的程式元件,若原始碼沒做這個動作的話就不能用?
我不確定,不過...可以注意到,寫法都是小寫

edited: 1
winlin
6
Promote 0 Bookmark 02008-03-22quote  

原本想要試試用default engine來寫個gcin skin,不過後來發現不太容易呀

(1) 含圖片
含圖片作為背景的話,使用GtkLabel的時候會變得很慢
看來要加背景圖還是得要用pixbuf-engine比較理想

(2)不含圖片
不含圖片時,邊框的描繪受到限制
defualt engine似乎為frame作固定「左上亮、右下暗」的配置,改不了~

cht台灣個人winlin惡搞gcin skin的地下工廠
adm Find login register
views:14788