cht電腦資訊gcin
adm Find login register

奇怪的 GCIN 2.2.0 問題回報

eliu
31
Promote 0 Bookmark 02011-12-01quote  
Tetralet
32
Promote 1 Bookmark 12011-12-01quote  

經過整晚的測試,
那個小灰是 GtkWidget *event_box_gtab = gtk_event_box_new(); 引起的,
改成 GtkWidget *event_box_gtab = gtk_vbox_new(FALSE, 0); 就沒問題了,
但問題是對滑鼠鍵擊就沒反應了 XD

Tetralet
33
Promote 0 Bookmark 02011-12-01quote  

好了,patch 來了。(for GCIN 2.3.0)。

請 winlin 試一下。

winlin
34
Promote 0 Bookmark 02011-12-01quote  

Tetralet

好了,patch 來了。(for GCIN 2.3.0)。

請 winlin 試一下。

感謝T大:
經過測試,發現的確不會出現被切掉的情形,也是怎麼試都試不出來,
而且滑鼠左或右鍵均能正常使用,辛苦了~ Laughing

eliu
35
Promote 0 Bookmark 02011-12-02quote  

所以你們覺得是要用 button 還是 event_box,button 比較漂亮,但是比較佔空間。

感謝 Tetralet 鍥而不捨的追查,gcin 還有很多地方用 event_box,只能說 GTK 的 default value 太爛了。

Tetralet
36
Promote 0 Bookmark 02011-12-02quote  

event_box++

button 說真的醜到爆,醜到我連 deb 都不想包... XDDDD

另外可能要請 eliu 在所有 gtk_event_box_new() 後面都加上那一行 patch,
那小灰應該不會再出現了。

winlin
37
Promote 0 Bookmark 02011-12-02quote  

eliu


所以你們覺得是要用 button 還是 event_box,button 比較漂亮,但是比較佔空間。

感謝 Tetralet 鍥而不捨的追查,gcin 還有很多地方用 event_box,只能說 GTK 的 default value 太爛了。



小弟投「button」一票 XD (不知會否破壞小弟和T大的關係...Embarassed
小弟有一票的理由,晚一點再提,不然這一篇會寫得太長~

小弟發現button還有一個inner-border的屬性可以設,
不知道這個是否可以改善button太佔空間的問題,
不論最後gtab有沒有採用button,至少對詞音可能有幫助~


The "inner-border" style property

  "inner-border"             GtkBorder*            : Read

Sets the border between the button edges and child.

參考資料:http://developer.gnome.org/gtk/2.24/GtkButton.html


Tetralet


button 說真的醜到爆,醜到我連 deb 都不想包... XDDDD

醜到不想包!!!??? 請陛下三思呀~Yell
多少ubuntu和Debian user就靠您來得到最新gcin~

button好看與否,和gtk主題的button設計有關


T大如果覺得太醜,可以考慮為gcin指定額外的gtk theme看看

下載一個button好看的gtk theme,然後....

pkill gcin; export GTK2_RC_FILES=/放置路徑/gtk-2.0/gtkrc; gcin &

edited: 1
Tetralet
38
Promote 0 Bookmark 02011-12-02quote  

個人是覺得真的醜斃了。

因為 button 會佔用一定的大小,
為了讓整體比例好看,
只好把字給加大,
結果整個輸入框就大得不像話,
給人感覺很噁爛:


而原本使用 event_box 整個畫面就乾淨多了:
(反正小灰的問題也解決了,沒理由反對用 event_box)


當然了,如果真得覺得很難取捨,
不如做成選項,
想用 button 或是 event_box 給使用者自己選好了。

winlin
39
Promote 0 Bookmark 02011-12-02quote  

eliu兄:

在gcin source code裡指定button的inner border應該是可行的

我在~/.gtkrc-2.0加入下面這段陳述並重新啟動gcin之後,發現button的inner border的確有縮小一些,
所以這個設定值應該是有效的:

style "button"
{
   GtkButton::inner-border = {0,0,0,0}
}
class "GtkButton" style "button"

 

這張圖是套用這個設定值之前:

這張圖是套用這個設定值之後:

小弟個人還是比較希望用button,
gtab輸入法的界面少了button的綴飾,比起詞音實在遜色多了!

如果可以克服border的問題,不但比較沒有T大在意的版面問題,又可以兼顧美感,算是一舉兩得。

感謝~

edited: 2
winlin
40
Promote 0 Bookmark 02011-12-02quote  

啊...上一篇發文已經來不及了...Laughing...
gtab輸入法最後還是與button綴飾無緣....真遺憾~

gcin changelog

2.3.2
- 還原成 event_box 的方式,也解決了空白的問題
- Tetralet 的 gtab 輸入法狀態 

caleb
41
Promote 0 Bookmark 02011-12-02quote  

winlin
我在~/.gtkrc-2.0加入下面這段陳述並重新啟動gcin之後,發現button的inner border的確有縮小一些,

查了 gtk2 API, button 的 inner-border 似乎只能 read,也就是無法在程式內部指定,只能用 gtkrc* 設定。

gtk3 才可以在程式內部指定。

caleb
42
Promote 0 Bookmark 02011-12-02quote  

caleb
查了 gtk2 API, button 的 inner-border 似乎只能 read,也就是無法在程式內部指定,只能用 gtkrc* 設定。

gtk3 才可以在程式內部指定。

唔,查了查有個 gtk_widget_modify_style(button, rcstyle); 可以設定 rcstyle->xthickness = 0;

不確定是不是和設定 inner-border 一樣…

winlin
43
Promote 0 Bookmark 02011-12-02quote  

caleb
查了 gtk2 API, button 的 inner-border 似乎只能 read,也就是無法在程式內部指定,只能用 gtkrc* 設定。

gtk3 才可以在程式內部指定。

不知道能否換個方式,讓gcin內帶一個gtkrc呢?theme的內容就只寫:

 

style "button"
{
   GtkButton::inner-border = {0,0,0,0}
}
class "GtkButton" style "button"

 

不過,如果只有這4行陳述,gcin會跟隨使用者的gtk佈景主題,只針對button inner border作調整?
還是會是長得像下面這樣?

這要試試看才知道

eliu
44
Promote 0 Bookmark 02011-12-03quote  
winlin
45
Promote 0 Bookmark 02011-12-03quote  

caleb

唔,查了查有個 gtk_widget_modify_style(button, rcstyle); 可以設定 rcstyle->xthickness = 0;

不確定是不是和設定 inner-border 一樣…

感謝caleb兄提示!!!小弟終於找到button border的2個相關參數所在!
eliu兄可以考慮在source code裡指定這幾個相關參數的值試試~

  1. inner-border
  2. xthickness和ythickness

上述2個參數設成0之後,button也可以和event_box完全一樣的大小,不多佔任何空間!!!

在主題中的gtkrc中設好下列參數即可測試:

style "button"
{
   GtkButton::inner-border = {0,0,0,0}

xthickness = 0
ythickness = 0

}
class "GtkButton" style "button"

以下是小弟各種組合的測試結果圖示,可以看到詞音和用button的gtab可以設成和event_box完全一樣的比例。

eliu
46
Promote 0 Bookmark 02011-12-03quote  
eliu
47
Promote 0 Bookmark 02011-12-03quote  

找到方法可以設定了


2.4.2

- gtab window 現在內定改成 button 了,而且找到設定 inner border 的方法,所以 button 比較小了。詞音的注音輸入區字型可以 +4 點,否則 Window 的高度會變成忽大忽小。

 

eliu
48
Promote 0 Bookmark 02011-12-03quote  
winlin
49
Promote 0 Bookmark 02011-12-03quote  

eliu

找到方法可以設定了


2.4.2

- gtab window 現在內定改成 button 了,而且找到設定 inner border 的方法,所以 button 比較小了。詞音的注音輸入區字型可以 +4 點,否則 Window 的高度會變成忽大忽小。

 

eliu兄辛苦了,為了button的事讓您一改再改真不好意思~
現在button已經沒有比較佔空間,不知道T大是否願意重新試用button看看?Embarassed

Tetralet
50
Promote 0 Bookmark 02011-12-04quote  

先送上 patch。之前的修改沒考慮到『沒有隱藏第二列』的狀況。

另外,這是我的 GCIN 使用 echo 1 > ~/.gcin/config/gtab-in-area-button 後的貼圖:
(全數採用預設值,除了設定為使用【編輯區顯示 GCIN 視窗之外】)

以下是調整成個人的使用習慣:

而以下是不使用 button 的狀況:

何謂美醜雖然是一種主觀看法,
但要說 button 會比較好看,個人真的深深不以為然。

Tetralet
51
Promote 0 Bookmark 02011-12-06quote  

以下為一些後續的修正。

gcin_1.diff:
修正之前敝人的 patch,
要在 gcin-tools 中設定【顯示輸入法名稱】,才會顯示 [輸入法]。
[輸入法] 的顏色使用【選擇鍵顏色】。未設定則由 theme 決定,一般為黑色。
問題點:eng_full_str、cht_full_str、eng_color_full_str、cht_color_full_str 變成全域變數了。
(不然 gcin-tools 好像讀不到這些變數。)

gcin_2.diff:
修正 PANGO < 1.22 時,在 <span> 中是不能指定 <font> 標籤的。

gcin_3.diff:
應當在 check_button_gcin_on_the_spot_key 建立後,
再設定 g_signal_connect(G_OBJECT(opt_gcin_edit_display), "changed", G_CALLBACK(combo_selected), (gpointer) NULL);。

gcin_4.diff:
讓 gcin-tools 的【確定】【取消】按鈕一樣大。

gcin_5.diff:
check_button_gtab_capslock_in_eng 應該是冗碼。

gcin_6.diff:
要考慮到 $UTF8ED 為空值時的情況。

請劉老大考慮套用這些 patch。謝謝!

Tetralet
52
Promote 0 Bookmark 02011-12-06quote  

另外回報一個問題,好像沒辨法把【五四三】倉頡取消掉?
不管怎麼設定,它都會在 <Ctrl><Shift> 循環裡出現。

eliu
53
Promote 0 Bookmark 02011-12-06quote  

你是用 cj5?cj5 & 五四三倉頡是共用 同一個 key,五四三倉頡不要勾選「使用」,就不會 load 進來,也就不可能在循環裏面?

Tetralet
54
Promote 0 Bookmark 02011-12-06quote  

eliu

你是用 cj5?cj5 & 五四三倉頡是共用 同一個 key,五四三倉頡不要勾選「使用」,就不會 load 進來,也就不可能在循環裏面?

個人是建議分開啦。
如果 cj5 和 cj543 如此相似,我看不出是否有讓兩者都在 <Ctrl><Shift> 裡循環的必要。

eliu
55
Promote 0 Bookmark 02011-12-06quote  
edited: 1
Tetralet
56
Promote 0 Bookmark 02011-12-06quote  

eliu

我想一般人不會兩個都勾選「使用」。

不是,是勾了倉五,沒勾倉五四三,
但倉五四三還是會跑出來。

eliu
57
Promote 0 Bookmark 02011-12-06quote  
Tetralet
58
Promote 0 Bookmark 02011-12-10quote  

一些小問題的修正。

若無意外,這應該會是最後一個  patch 了,
請笑納!

prev,1,2

cht電腦資訊gcin
adm Find login register
views:149372