我在把 GCIN 升級至 2.2.0 後, 發現了 2 個奇怪的問題。
一個是遊標位置不太正確, 會跑到上個字的位置。 這個問題在我的 NB(i386) 和桌機(amd64) 都會出現。
另一個問題是倉頡輸入法在打入第一個字根時, 字會被遮掉一半,(如附圖) 但只會在我的桌機(amd64)上出現, NB(i386) 無此問題。
這兩個問題在降級回 2.1.0 後就消失了。
另外一個陳年老問題是 Firefox/Wine 的遊標位置從來沒有正確過。 (記得以前 Wine 有試圖支援 overthespot 模式,但沒作用 XD) 不知是否有啥解決方案? XD
|
Tetralet |
另一個問題是倉頡輸入法在打入第一個字根時,
字會被遮掉一半,(如附圖)
|
T大也中獎了?不過我印象中有用預覽字應該比較不會...
gtab拆字區被切掉一小部份 →|
|
Tetralet | 一個是遊標位置不太正確,
會跑到上個字的位置。 這個問題在我的 NB(i386) 和桌機(amd64) 都會出現。 |
你的編輯區顯示是 1.應用程式 2. gcin window 3. 同時顯示?
我用 gcin 2.2.1 沒有你說的問題。
edited: 1
|
我的 GCIN 設定(Notebook),如附件。
|
|
我把 ~/.gcin 砍掉重來之後就沒問題了。Sorry...
不過砍掉重來後,在【輸入法選擇】裡卻多了【內碼】和【倉五】。 真的有點奇怪... XD
|
|
GTK 的陳年 bug 不知道什麼時候才會解。
我在 gcin windows 反而沒見過。
|
我寫了一個小小的 patch, 若 GCIN 的小灰出現時, 把滑鼠移過去, 就會在 console 下印出那個是哪段程式碼生出來的視窗, 或許會有助於 debug。
|
其實看 window 用 'xwininfo' 就可以了
我猜那個空白區域不是 window,而且我的 gcin 沒有這個問題,所以對我沒什麼用。
edited: 2
|
eliu |
我猜那個空白區域不是 window,而且我的 gcin 沒有這個問題,所以對我沒什麼用。
|
嗯,果然不是 window。
另外,我把 ~/.gcin 砍掉重建之後,包括遊標位置不正確、小灰等問題都解決了。 winlin 不妨可以試試看!
|
感謝T大關心,這情形自從今年5月份以來就如附骨之蛆一直跟著我...
Tetralet |
另外,我把 ~/.gcin 砍掉重建之後,包括遊標位置不正確、小灰等問題都解決了。 winlin 不妨可以試試看!
|
您真幸運...
小弟移除舊的~/.gcin後,以gcin的預設值來用,的確沒有切掉的情形, 試了T大的設定方式(如T大的附件),也沒有切掉的情形, 不過一旦改成「彈出式視窗」,問題又會再重現,真遺憾...
|
version 2.3.0 | export GCIN_DESTROY_WINDOW=1 可以設定 gcin 關閉 window 時 destroy
Window,可能可以避免輸入區出現空白的情形,不過這樣 window 比較容易閃爍 |
先試試 2.3.0,如果有用,那我就弄成選項。
$ pkill gcin ; export GCIN_DESTROY_WINDOW=1; gcin &
edited: 1
|
eliu |
先試試 2.3.0,如果有用,那我就弄成選項。
$ pkill gcin ; export GCIN_DESTROY_WINDOW=1; gcin &
|
感謝eliu兄,不過仍會出現,在LibreOffice中的出現率尤其高
|
winlin |
感謝eliu兄,不過仍會出現,在LibreOffice中的出現率尤其高
|
更正一下,剛剛是用2.2.0試的,剛剛換成2.3.0試,發現出現率有降低,但還是無法完全避免。
而且在這個狀況下( export GCIN_DESTROY_WINDOW=1; gcin)有發現一個規則, 只要切換到其他程式視窗,再切回LibreOffice writer,此時第一次拆字必定會出現被切掉的情形, 此後只要不切換到其他程式,就不會再出現拆字被切掉的情形。
小弟的設定如下:
|
請問 winlin 有找出是哪個關鍵選項會導致小灰出現呢?
|
不懂你的意思,2.3.0 的 GCIN_DESTROY_WINDOW 要設定 environ variable 才會打開,2.3.0 & 2.2.2 的變動就只有這一個。
那就不要設定 GCIN_DESTROY_WINDOW 就好了?
edited: 1
|
抱歉,是我弄錯了。沒事!
我看了一下程式碼,我論那個小灰是個 tooltip。 所以把選項中的『left_right_button_tips』關掉試試看? (但我看不出那是哪一個選項... XD)
|
那個 tooltip 在執行 gcin-tools 後就自動關閉,以後不會再出現。
edited: 1
|
好吧,新的 patch, 若 GCIN 的小灰出現在 win-gtab 裡時, 若把滑鼠移過去, 就會在 console 下印出那個是哪段程式碼生出來的 GtkWidget, 或許會有助於 debug。
|
感謝T大幫忙!
小弟試2次,出現被切掉的情形時,滑鼠移至被切掉的區域時,所得訊息如下:
第一次:
** (gcin:4471): DEBUG: window_get_focus(): Got win-gtab.cpp: create_win_gtab(gwin_gtab) for window = 0x92eb050 ** (gcin:4471): DEBUG: window_get_focus(): Got win-gtab.cpp: create_win_gtab_gui_simple(event_box_gtab) for window = 0x9265d90
第二次:
** (gcin:4471): DEBUG: window_get_focus(): Got win-gtab.cpp: create_win_gtab(gwin_gtab) for window = 0x92eb050 ** (gcin:4471): DEBUG: window_get_focus(): Got win-gtab.cpp: create_win_gtab_gui_simple(event_box_gtab) for window = 0x9273b90
至於「沒有被切掉」的時候,我也試看看有何訊息:
第一次:
** (gcin:4471): DEBUG: window_get_focus(): Got win-gtab.cpp: create_win_gtab(gwin_gtab) for window = 0x9347a18 ** (gcin:4471): DEBUG: window_get_focus(): Got win-gtab.cpp: create_win_gtab_gui_simple(event_box_gtab) for window = 0x92ec9b0
第二次:
** (gcin:4471): DEBUG: window_get_focus(): Got win-gtab.cpp: create_win_gtab(gwin_gtab) for window = 0x9347a18 ** (gcin:4471): DEBUG: window_get_focus(): Got win-gtab.cpp: create_win_gtab_gui_simple(event_box_gtab) for window = 0x92ec870
第三次:
** (gcin:4471): DEBUG: window_get_focus(): Got win-gtab.cpp: create_win_gtab(gwin_gtab) for window = 0x92eb050 ** (gcin:4471): DEBUG: window_get_focus(): Got win-gtab.cpp: create_win_gtab_gui_simple(event_box_gtab) for window = 0x9265ed0
所有差別好像只有在數字而已....
|
用 GCIN 2.2.1 的試應該會比較準... 因為 2.3.0 可能會把 window 給 destroy 掉。
另外問一下,【顯示輸入法名稱】這個是幹什麼用的?
|
|
eliu |
在 gtab window 顯示 倉頡、行列…
|
我的好像(很久以前)就不會顯示了... XD
|
Tetralet |
用 GCIN 2.2.1 的試應該會比較準... 因為 2.3.0 可能會把 window 給 destroy 掉。
另外問一下,【顯示輸入法名稱】這個是幹什麼用的?
|
用gcin-2.2.1試的結果:
有被切掉時: ** (gcin:4486): DEBUG: window_get_focus(): Got win-gtab.cpp: create_win_gtab(gwin_gtab) for window = 0x823a680 ** (gcin:4486): DEBUG: window_get_focus(): Got win-gtab.cpp: create_win_gtab_gui_simple(event_box_gtab) for window = 0x82d49e8
沒有被切掉時: ** (gcin:4486): DEBUG: window_get_focus(): Got win-gtab.cpp: create_win_gtab(gwin_gtab) for window = 0x823a680 ** (gcin:4486): DEBUG: window_get_focus(): Got win-gtab.cpp: create_win_gtab_gui_simple(event_box_gtab) for window = 0x8359b90
好像還是號碼的差異
Tetralet |
我的好像(很久以前)就不會顯示了... XD
|
請讓gtab設定專家(也就是小弟我)來為您解惑: 請取消勾選「隱藏第2列(輸入鍵...),這樣就能看到, 不過T大有開預覽字,如果有開自動選字和預選詞的話,最好連「輸入鍵移至第一列也一併取消」,否則看起來會很痛苦
|
Tetralet 想要找到原因,去 compile gtk, log GDK 的 draw functions ?
|
|
詞音不曾出現過,詞音的輸入區是「button」,不知道和這個是否有關?
還是eliu兄打算也把gtab的輸入區改成button?
|
|
eliu兄:超感恩!!!完全不會有被切掉的情形!!!怎麼試都不會出現!太優了!
想麻煩eliu兄看能不能把button的border值設小一點, 不然輸入區的字型大小要設得比緩衝區的字型小很多,才能讓介面看起來沒有多餘的空白。
↑「人十」下面有一些空白
↑要把輸入區的字設得小很多才能減少緩衝區下方的空白處
|