[轉貼]把gnome-shell中ibus的tray挪挪地兒

轉貼自網址

在很久很久以前 那時的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';
}

================

將ibus圖標移回狀態欄(右上角)
代碼:

sudo gedit /usr/share/gnome-shell/js/ui/statusIconDispatcher.js

將裡面的

‘ibus-ui-gtk’: ‘input-method’

改為

‘main.py’: ‘input-method’
PS:如果是gcin或hime,請改成 ‘gcin’: ‘input-method’ 或  ‘hime’: ‘input-method’ 
分類: ubuntu Mint LMDE Manjaro, 未分類。這篇內容的永久連結