Cinnamon

如何在cinnamon中自定義osd視窗?

  • January 9, 2022

我正在使用我正在為 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 視窗的大小,並執行了一些重新定位,因為我稍微改變了佈局。

引用自:https://unix.stackexchange.com/questions/685061