轉貼自網址
在很久很久以前 那時的gnome-shell的系統托盤還在右上角
不知從何時起 他們分成了status-icon和message-icon
status-icon有了CSS的外衣住在了右上角 message-icon則搬到了右下角
但是因為底部的通知區域設計成了有消息才會有反應 例如dbus的一些通知什麼的
因此產生了一些不爽的感覺
比如我想看一些程序tray的變化 我只能把鼠標挪到右下角才能看到
畢竟現在適合gnome-shell的這種通知模式的程序還很少
下面就以ibus為例 讓ibus的tray挪挪窩:
打開statusIconDispatcher.js文件
我用的是arch+testing安裝的gnome-shell,statusIconDispatcher.js文件在/usr/share/gnome-shell/js/ui目錄下
如果是自己編譯的gnome-shell那就應該在~/gnome-shell/install/share/gnome-shell/js/ui目錄下
看到statusIconDispatcher.js中的STANDARD_TRAY_ICON_IMPLEMENTATIONS變量了嗎 沒錯 這就是右上方status-icon的白名單~
這個字典的key呢 則是程序tray的wm_class
大家看出來了吧 其實gnome-shell是想把ibus的tray放在右上方的status-icon區域的
可他們畢竟不是中國人 不用ibus………… 這個ibus-ui-gtk好像還是很久很久以前要裝ibus-gtk、ibus-qt時候的東西呢吧????
現在ibus tray的wm_class沒有設 是默認的main.py……
所以我們只要吧ibus-ui-gtk改成main.py就大功告成啦~~~
其實這根本就不是什麼問題嘛 只要ibus的人和gnome-shell的人稍微溝通一些 下個版本大家一起做一兩行的就該就OK了嘛
白名單加上statusIconDispatcher.js中的_onTrayIconAdded、_onTrayIconRemoved就可以隨你挪啦~想挪誰挪誰 像以前那樣放在一起都沒問題~
PS:
ibus extensions
|
StatusIconDispatcher = imports.ui.statusIconDispatcher; |
|
|
function main() { |
|
StatusIconDispatcher.STANDARD_TRAY_ICON_IMPLEMENTATIONS[ 'main.py' ] = 'ibus' ; |
|
} |
================
代碼:
將裡面的
改為