taskbar-node
Version:
Get and control running apps, virtual desktop
59 lines (49 loc) • 1.42 kB
text/typescript
import * as LibTypes from "./lib-types";
const lib = require("./nbind.node") as {
Taskbar: typeof LibTypes.Taskbar;
VirtualDesktop: typeof LibTypes.VirtualDesktop;
};
export class Taskbar {
private instance: LibTypes.Taskbar;
constructor() {
this.instance = new lib.Taskbar();
}
public getAllApps(group = false): App[] {
return this.instance.getAllApps(group);
}
public bringAppToTop(hwnd: number): void {
this.instance.bringAppToTop(hwnd);
}
public destruct(): void {
if (this.instance.free) {
this.instance.free();
}
}
}
export class Workspace {
private instance: LibTypes.VirtualDesktop;
constructor() {
this.instance = new lib.VirtualDesktop();
}
public create(): number {
return this.instance.createDesktop();
}
public destroy(index: number): void {
this.instance.ex_destroyDesktop(index);
}
public switchTo(index: number): void {
this.instance.ex_switchToDesktop(index);
}
public getCurrent(): number {
return this.instance.getCurrentDesktop();
}
public getTotal(): number {
return this.instance.getDesktopCount();
}
public destruct(): void {
if (this.instance.free) {
this.instance.free();
}
}
}
export type App = LibTypes.App;