HIME 和 Ubuntu [論壇 - Ubuntu 與工具程式及軟體推薦]


正在瀏覽:   1 名遊客


 到底部   前一個主題   下一個主題  [無發表權] 請登錄或者註冊



HIME 和 Ubuntu
會員二級
註冊日期:
2011/12/13 22:18
所屬群組:
已註冊使用者
等級: 6
HP : 0 / 129
MP : 18 / 3115
EXP: 19
離線
最近敝人在打包 HIME 的 Ubuntu deb 時,遇到了一些麻煩。

一個問題是 hime-setup 視窗不知為何會有個 resize grip。
也就是視窗右下角會出現一個直角三角型的區塊,
告訴使用者這個視窗可用滑鼠拖拉。

這個原本應該是 GTK3+ 才有的功能,
但 Ubuntu 卻把它 port 回 GTK2+ 上了。
所以 HIME 必須檢查系統是否為 Ubuntu,
然後再想辨法在程式碼裡避開這個問題。

請參考:https://github.com/caleb-/hime/issues/59

這個問題不是很好解決,我們想不到什麼很單純的解決方案,
所以我們決定還是讓 Ubuntu 的 Package Maintainer 去傷腦筋好了,
請他們在包 deb 時稍稍更動一下程式碼,
這樣就能完美解決這個問題了。

另一個問題是 Ubuntu 採用了 Unity 做為預設的 Desktop Environmenscriptt,
而必須要把 HIME 加入 Unity System Tray 的白名單後,
HIME 的 icon 才會出現在 System Tray 上。
但這個小技巧似乎知道的人不多,
指令也長到實在很難背起來,
所以就有使用者來抱怨了。

請參考:https://github.com/caleb-/hime/issues/110

我們的解決方案是寫了一個小小的 script:distro/ubuntu/unity-systray
只要執行它就能直接把 HIME 加入 Unity System Tray 的白名單了。

然後,我又在 Ubuntu 的 deb 裡新增了一個按鈕,
位於【hime-setup】→【外觀設定】→【試著相容於 Ubuntu Unity (需重啟 Unity)】,
只要按一下就會自動執行 unity-systray 這個 script 了。
然後重啟您的 Unity 看看有沒有作用。

目前包含以上修正的 hime 0.9+git120101 的 deb 檔已上線,請大家多多試用!
安裝方式請參考:http://debian.luna.com.tw/

如果在安裝使用 HIME 時遇到任何問題,
或有任何意見或新奇點子,
請不吝到 https://github.com/caleb-/hime/issues/ 回報。
HIME 需要您的多多參與才能更快樂得成長茁壯!謝謝!

2012/1/1 0:45
應用擴展 工具箱
回覆: HIME 和 Ubuntu

註冊日期:
2009/12/6 10:32
所屬群組:
已註冊使用者
等級: 71
HP : 1404 / 1756
MP : 4456 / 52446
EXP: 24
離線
一個問題是 hime-setup 視窗不知為何會有個 resize grip。

看看 能否 幫到你

1. Bug #825692

class `GtkWindow' already contains a style property named `resize-grip-default'

已解決:
now fixed since we got 3.1.5 version upgrade
上面 3.1.5 版 猜測是指 gnome-session
目前更新版本 已到 3.2.1 版 所以猜測 這個 bug 應該已解決

2. gtkmm: Gtk::Window Class Reference
/ 參數 property_resize_grip_visible () const :
Specifies whether the window's resize grip is visible.
把這個參數 改爲 no 或 false 看看

2012/1/1 6:57
應用擴展 工具箱
回覆: HIME 和 Ubuntu
會員二級
註冊日期:
2011/12/13 22:18
所屬群組:
已註冊使用者
等級: 6
HP : 0 / 129
MP : 18 / 3115
EXP: 19
離線
RE: poloshiao

非常感謝您幫我們找資料!

我們遇到的問題並不是『不知該如何去掉那個 resize-grip』,
而是解決方案在 Ubuntu 上行不通。

在大部份的 Linux 系統上,
我們只要判斷 GTK 版本 > 2.91.1,
就知道它會有那個 resize-grip,
然後再寫程式碼直接去掉即可。

但在 Ubuntu 上,因為 Ubuntu 把它 port 回 GTK+2 了,
所以上面那個用版本來判斷的方法就無效了。
那事情就變得很棘手。

在『儘量不要大改程式碼』的前提下,
敝人試過了幾個方案,但成效都不好,
最後才決定在 Ubuntu 的 deb 裡動手腳即可,
不希望影響到 hime 的原始碼。

所以,如果您是手動編譯 hime 的,
您會發現那個 resize-grip 還是會出現,
只有敝人站上的 Ubuntu deb 是沒有這個問題的。
這雖然不是最完美的解決方案,
但目前情況下,這似乎是無可奈何...

2012/1/1 19:05
應用擴展 工具箱
回覆: HIME 和 Ubuntu

註冊日期:
2009/12/6 10:32
所屬群組:
已註冊使用者
等級: 71
HP : 1404 / 1756
MP : 4456 / 52446
EXP: 24
離線
所以上面那個用版本來判斷的方法就無效了。

第二個方案
是把 參數 property_resize_grip_visible
改爲 false
換句話說 改爲 invisible
這個參數 與 版本無關

因沒深入瞭解 所以我只是建議

2012/1/1 19:17
應用擴展 工具箱
回覆: HIME 和 Ubuntu
會員二級
註冊日期:
2011/12/13 22:18
所屬群組:
已註冊使用者
等級: 6
HP : 0 / 129
MP : 18 / 3115
EXP: 19
離線
Re: poloshiao

謝謝您的建議!

經查,property_resize_grip_visible 這個參數也是和版本有關的,
至少在 Debian Wheezy 裡的 gtkmm2.4 並沒有這個參數,gtkmm3.0 裡才有。

還有,HIME 是 GTK+2/3 based 的程式,
和 gtkmm 無關喔!

2012/1/1 20:17
應用擴展 工具箱


 [無發表權] 請登錄或者註冊


可以查看帖子.
不可發帖.
不可回覆.
不可編輯自己的帖子.
不可刪除自己的帖子.
不可發起投票調查.
不可在投票調查中投票.
不可上傳附件.
不可不經審核直接發帖.