我正在使用我正在为 Linux Mint 开发的自定义主题中的 cinnamon.css 文件来自定义桌面的外观,并且我在文件中遇到了 osdWindow 类,并且能够更改背景颜色,音量和亮度osd通知的边框半径等。
但我想知道如何自定义它的外观,例如,我希望 osd 窗口在音量更改时仍然弹出,但我希望能够从弹出窗口中删除图标,或更改其布局。我查看了 osdWindow.js 文件,我相信这就是执行此操作的地方,但我不知道如何执行。
谁能帮我解决这个问题吗?
答案1
我想到了!
诀窍是打开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 窗口的大小,并执行了一些重新定位,因为我稍微改变了布局。