mirror of
https://gitlab.com/asus-linux/asusctl.git
synced 2026-02-06 00:15:04 +01:00
41 lines
1.3 KiB
TypeScript
41 lines
1.3 KiB
TypeScript
import { Platform } from "../dbus/platform";
|
|
|
|
import GObject from 'gi://GObject';
|
|
import * as PopupMenu from 'resource:///org/gnome/shell/ui/popupMenu.js';
|
|
|
|
export const MenuTogglePanelOd = GObject.registerClass(
|
|
class MenuTogglePanelOd extends PopupMenu.PopupSwitchMenuItem {
|
|
private _dbus_platform: Platform;
|
|
public toggle_callback = () => {};
|
|
|
|
constructor(dbus_platform: Platform) {
|
|
super("Panel Overdrive", dbus_platform.bios.panel_overdrive);
|
|
|
|
this._dbus_platform = dbus_platform;
|
|
this.label = "Panel Overdrive";
|
|
|
|
this.connectObject(
|
|
"toggled", () => this._toggleMode(),
|
|
this);
|
|
|
|
this.connect("destroy", () => {
|
|
this.destroy();
|
|
});
|
|
|
|
this.sync();
|
|
}
|
|
|
|
_toggleMode() {
|
|
this._dbus_platform.getPanelOd();
|
|
const state = this._dbus_platform.bios.panel_overdrive;
|
|
if (this.state !== state)
|
|
this._dbus_platform.setPanelOd(this.state);
|
|
this.toggle_callback();
|
|
}
|
|
|
|
sync() {
|
|
this._dbus_platform.getPanelOd();
|
|
const toggled = this._dbus_platform.bios.panel_overdrive;
|
|
this.setToggleState(toggled);
|
|
}
|
|
}); |