cht電腦資訊gcingcin wish
adm Find login register

gcin主題更換

hyslion
joined: 2011-10-06
posted: 36
promoted: 2
bookmarked:
1subject: gcin主題更換Promote 1 Bookmark 02012-02-22quote  

這是一個更改佈景主題的方法

實作後發現不難,附件是我用來實作的原始碼和效果圖

只需注意的是gtk_rc_add_default_file()必須放在gtk_init()之前

丟出來是希望可以拋磚引玉,可以讓更改gcin主題變得更容易一點。

另外,透過觀察gtk-theme-switch2這隻程式、還有官方API,發現好像可以用gdk_event_send_clientmessage_toall() / gdk_event_send_clientmessage()的函式來使程式更新主題,當然這個函式還有更多用途。

@原始碼修改自 良葛格的教學 http://caterpillar.onlyfun.net/Gossip/GTKGossip/FirstGTK.html

coolcd
joined: 2008-01-21
posted: 2594
promoted: 347
bookmarked: 94
2subject: Promote 0 Bookmark 02012-02-22quote  

可以用 lxappearance 換

hyslion
joined: 2011-10-06
posted: 36
promoted: 2
bookmarked:
3subject: Promote 0 Bookmark 02012-02-22quote  

coolcd

可以用 lxappearance 換

主要是想說可以單換gcin就好,不是全部換 @@

hyslion
joined: 2011-10-06
posted: 36
promoted: 2
bookmarked:
4subject: Promote 1 Bookmark 02012-02-22quote  

後來自己發現,用那個簡單的範例程式好像不能代表什麼。

試其他比較複雜一點的才發現,似乎只是剛好button顏色有變,我就誤以為是換了主題

我想,有空再找找看其他方法才是

眼睛真的很大…在api doc裏面旁邊就有個gtk_rc_set_default_files可以用我卻沒有注意到,

附件的就確定是有改好囉,也確定會變成新的主題了

還有原始碼應該是修改自http://caterpillar.onlyfun.net/Gossip/GTKGossip/GTKEventHandler.html 才對,糊裡糊塗一直搞錯

edited: 2
winlin

joined: 2007-09-25
posted: 1846
promoted: 110
bookmarked: 33
5subject: Promote 0 Bookmark 02012-02-23quote  

hyslion

主要是想說可以單換gcin就好,不是全部換 @@

依目前心得,理想上最好只套用到gcin視窗就好,gcin-tool不要被套用,
這樣對日後gcin theme的設計者來說會輕鬆許多,
否則gcin的佈景設計還要考慮到gcin-tool的許多地方的gtk widget,相當麻煩,
如果不管的話,很可能會讓gcin-tool變得很醜 。Frown

-------------------------------------------------------------------
好用的gcin連結:

hyslion
joined: 2011-10-06
posted: 36
promoted: 2
bookmarked:
6subject: Promote 0 Bookmark 02012-02-23quote  

winlin

 

依目前心得,理想上最好只套用到gcin視窗就好,gcin-tool不要被套用,
這樣對日後gcin theme的設計者來說會輕鬆許多,
否則gcin的佈景設計還要考慮到gcin-tool的許多地方的gtk widget,相當麻煩,
如果不管的話,很可能會讓gcin-tool變得很醜 。Frown

不然就是針對特定widget去指定style了,不過這樣有可能需要特製的gtkrc

我對這方面沒有什麼經驗,但看起來好像是這樣了

eliu

joined: 2007-08-09
posted: 11369
promoted: 614
bookmarked: 186
新竹, 台灣
7subject: Promote 0 Bookmark 02012-02-23quote  

gcin source code 加用 environ variable 來設定 gcin 的 theme 的功能

edited: 1
winlin

joined: 2007-09-25
posted: 1846
promoted: 110
bookmarked: 33
8subject: Promote 0 Bookmark 02012-02-23quote  

hyslion

不然就是針對特定widget去指定style了,不過這樣有可能需要特製的gtkrc

我對這方面沒有什麼經驗,但看起來好像是這樣了

針對特定widget去指定style是可以做到的(如:button),不過還是可能會影響到gcin-tool。
之前有看過相關資料可以針對gcin的特定widget作設定,不過好像還是要在gcin source設定名稱才能。(我看不太懂)

eliu

gcin source code 加用 environ variable 來設定 gcin 的 theme 的功能

2.7.4加了這個功能?Laughing

-------------------------------------------------------------------
好用的gcin連結:

hyslion
joined: 2011-10-06
posted: 36
promoted: 2
bookmarked:
9subject: Promote 0 Bookmark 02012-02-23quote  

winlin

 

針對特定widget去指定style是可以做到的(如:button),不過還是可能會影響到gcin-tool。
之前有看過相關資料可以針對gcin的特定widget作設定,不過好像還是要在gcin source設定名稱才能。(我看不太懂)

 

2.7.4加了這個功能?Laughing

我想大概是可以,但是勢必要做出一些修改,我想既然老大意願不大的話,就先擱著吧。

雖然我自己沒有這個需求,但是如果能夠自訂主題這部份的話,也許能多吸引一些人潮吧?

我自己是寫了一個簡單的script來當啟動器使用,用來啟動我想要改變變數的程式(當然也包含了主題)不過當初不是為了gcin的主題就是了

cht電腦資訊gcingcin wish
adm Find login register
views:11000