[英]How to disable gnome-shell extension that overrides a system indicator
在我的系统上,由于某种原因,亮度指示器无法更改亮度。 尽管xbacklight确实可以更改亮度。
我编写了一个扩展,以在xbacklight更改亮度时运行它。 有用。 尽管它没有禁用(不是我需要的,但是我想拥有良好的代码)。 我不确定如何正确禁用扩展。 这是所有代码。
const Main = imports.ui.main;
const Lang = imports.lang;
const Util = imports.misc.util;
const Brightness = imports.ui.status.brightness;
const BrightnessIndicator = new Lang.Class({
Name : 'BrightnessIndicator',
Extends : Brightness.Indicator,
_sync : function () {
let visible = this._proxy.Brightness >= 0;
this._item.actor.visible = visible;
if (visible) {
this._slider.setValue(this._proxy.Brightness / 100.0);
}
let percent = this._proxy.Brightness.toString();
Util.spawn(['xbacklight', '-set', percent]);
}
});
function init() {
}
function enable() {
var indicator = new BrightnessIndicator();
Main.panel.statusArea.aggregateMenu._brightness = indicator;
}
function disable() {
delete indicator;
Main.panel.statusArea.aggregateMenu._brightness = null;
}
我也尝试过从enable()添加一个变量来保存旧的_brightness,然后在disable()代码中将_brightness重置为该变量。
两种方法都对我无济于事,因此不胜感激。
我经常检查GS扩展问题的第一位是GitHub中的代码。 在这种情况下,BrightnessIndicator扩展了panelMenu.SystemIndicator ,该菜单菜单不提供任何内容,因此从那里开始继承直到找到例如ClutterActor.destroy() 。 然后,我想像实例化panel.js一样实例化一个新的BrightnessIndicator。
要注意的一件事是,在锁定桌面时也会调用disable()。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.