UNPKG

taskbar-node

Version:

Get and control running apps, virtual desktop

59 lines (49 loc) 1.42 kB
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;