2017-05-26 11 views
2

私のシステムでは、何らかの理由で明るさが変化しても明るさが変わらない場合があります。 xbacklightは明るさを変更するように機能しましたが。システムインジケータをオーバーライドするgnome-shell拡張機能を無効にする方法

私はそれが明るさを変更するたびに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; 
} 

私も古い_brightnessを保持し、その無効に()コードに_brightnessをresetingする)(イネーブルから変数を追加しようとしています。

どちらのアプローチは、任意の助けをいただければ幸いですので、私のために働いています。

答えて

0

私はいつもGSエクステンションの質問をチェックするのがGitHubのコードです。この場合、BrightnessIndicatorはpanelMenu.SystemIndicatorを拡張します。これは何も提供しないので、見つかるまで継承を継承します(例えば、ClutterActor.destroy())。次に、新しいBrightnessIndicatorをインスタンシエートする方法は、panel.jsと同じです。注意すべき

一つは、デスクトップがロックされている時に()を無効とも呼ばれていることです。

関連する問題