2010年1月21日 星期四

今天試著研究一下GTK2.0 Theme設計

如各位所知,概念少女萌化計畫的圖示比較大,這個問題讓我煩惱了很久了。今天靈光突閃,覺得可能可以透過編寫適當的Theme解決,因此稍微研究了一下GTK Theme架構。



先說今天的成果吧,目前腦漿處在滾沸階段,頂門冒煙中…

快死了…

並不是完全沒頭緒啦,不過,不可否認,文檔實在是不齊啊…

我主要的參考資料是下面這些:
http://live.gnome.org/GnomeArt/Tutorials/GtkThemes
http://live.gnome.org/GnomeArt/Tutorials/GtkThemes/StyleProperties

StyleProperties看起來是很精美,但卻不完整;參考其他人寫的東西時,會看到很多其中沒有提到的古怪的變數。
關於Engine方面的資料更誇張,幾乎完全找不到。我特別針對大名鼎鼎的Murrine engine搜索,可是啥都沒有!真的!什麼文檔都搜不到…我甚至不知道它有哪些參數可以設定,天啊!
雖然觀察別人寫的Theme可以多少學到一些,可…這簡直和徒手攀登懸崖一樣。

抱怨先暫停一下,我先說說我想做的事。

  1. 圖示動態放大功能:平常圖示可以用普通大小,但當滑鼠經過時,圖示將動態變大(實際上程式可能是臨時開一個overlay視窗來顯示圖片)。若採用這種方法,就可以解決圖示太大的問題。
  2. 圖片平移功能:可以在開啟視窗過程中,在視窗中閃出一些流動的圖片,隨後或是消失或是固定在角落裡。沒上面那麼重要,只是些有趣的噱頭。

參考了好些Theme,其中可能直接搬來用的是一款名叫Silent Night
II的黑暗風格Theme--不是想用黑暗風格啦,只是這款Theme的設計邏輯較不依賴程式,而多靠圖片來解決問題。(比方說想要光暈效果時,它傾向不去設定有關光暈的變數,而是直接貼張帶光暈的圖片上去)這樣一來,我只要替換圖片就可以設計出一個大致能適應概念少女的主題。不過,上面提到的圖示放大等功能就沒辦法了;這再怎麼說也得調用一些引擎的進階功能才行。

此外,若用這種方法,很多顏色都不能更換了,這對於愛替自己電腦裝扮的使用者來說,應該很討厭吧。

總之問題一堆,實在是非常擾人。話說回來,這種依賴於平台的議題,對於跨平台幫助有限,我也無法確定要不要在此處花功夫,短期內應該還是沒辦法處理,暫時設為中程目標好了。

突然想起以前,為了用遊戲來說故事,而寫了兩萬餘行程式碼來設計渲染引擎的事情…我明明只是想說故事啊,到底是哪裡弄錯了,為什麼結果會變成那樣…?我想做的不是這個啊!
只是想畫圖把電腦弄可愛一點點,為什麼…為什麼好像又要踏入那未知的黑森林了…?
萬萬不可以再走錯路了…(笑)

如果有哪位比較熟悉GTK Theme設計的同好願意提供教學、參考資料或直接願意協助設計的,請與我聯絡。站長非常需要你的協助。

 

這話有點俗,但我是認真的。

2 則留言:

  1. 唉!
    我好象幫不上什忙!!
    orz

    http://tango.freedesktop.org/Tango_Desktop_Project

    這是我之前不小心發現的東西不知道對你有沒有些小小幫助!~
    orz

    可以黑森林總是很誘人的說!~>/////<

    回覆刪除
  2. 謝了,不過tango計畫對這個議題似乎派不上用場。

    回覆刪除

☆每日吐嘈,有益身心☆
…不過還是請手下留情別太狠啊。