Cinnamon
如何在cinnamon中自定義osd視窗?
我正在使用我正在為 Linux Mint 開發的自定義主題中使用 cinnamon.css 文件自定義桌面的外觀,我遇到了文件中的 osdWindow 類,並且能夠更改背景顏色,音量和亮度 osd 通知的邊界半徑等。
但是我想知道如何自定義它的外觀,例如,我希望 osd 視窗在音量更改時仍然彈出,但我希望能夠從彈出視窗中刪除圖示,或更改其佈局. 我查看了 osdWindow.js 文件,我相信這將是執行此操作的地方,但我不知道如何操作。
誰能幫我解決這個問題?
我想到了!
訣竅是打開
osdWindows.js
文件並找到以下行:this._icon = new St.Icon(); this.actor.add(this.icon, { expand: true });
並註釋掉第二行。然後我發現雖然這確實刪除了圖示,但它並沒有調整 osd 視窗的大小,所以我在
_monitorsChanged
函式中找到了以下幾行,並編輯了以下幾行:this.actor.set_size(this._popupSize, this._popupSize); this.actor.translation_y = (monitor.height + monitor.y) - (this._popupSize + (50 * scaleFactor)); this.actor.translation_x = ((monitor.width / 2) + monitor.x) - (this._popupSize / 2);
並將它們編輯為:
let popupWidth = 200; let popupHeight = 50; this.actor.set_size(popupWidth,popupHeight); this.actor.translation_y = monitor.height-3*popupHeight; this.actor.translation_x = ((monitor.width / 2)-(popupWidth / 2));
這調整了 osd 視窗的大小,並執行了一些重新定位,因為我稍微改變了佈局。