@launchmenu/applet-window-manager
Version:
An applet to manage LMs window
52 lines • 4.5 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
const core_1 = require("@launchmenu/core");
const electron_1 = require("electron");
const settings_1 = require("./settings");
const setupPositionSettingSyncer_1 = require("./position/setupPositionSettingSyncer");
const setupSizeSettingSyncer_1 = require("./size/setupSizeSettingSyncer");
const setupVisibilityControls_1 = require("./visibility/setupVisibilityControls");
const setupStartupController_1 = require("./startup/setupStartupController");
const setupTrayMenu_1 = require("./tray/setupTrayMenu");
const icon_1 = require("./tray/icon");
const setupFrame_1 = require("./setupFrame");
const electron_2 = require("electron");
exports.default = core_1.declare({
info: settings_1.info,
settings: settings_1.settings,
coreCategory: core_1.CoreAppletType.WINDOW,
init: ({ LM, settings }) => {
const window = electron_1.remote.getCurrentWindow();
settings_1.settingsBrowserWindow.set(window);
const settingsManager = LM.getSettingsManager();
// Setup visibility controls
const { destroy: destroyVisibilityControls, exitBindings } = setupVisibilityControls_1.setupVisibilityControls(LM, window);
// Setup startup controls
const destroyWindowController = setupStartupController_1.setupStartupController(settingsManager, h => LM.isInDevMode(h));
// Setup the tray menu
const destroyTrayMenu = setupTrayMenu_1.setupTrayMenu(LM);
// Setup the size setting
const destroySizeSyncer = setupSizeSettingSyncer_1.setupSizeSettingSyncer(settingsManager, window);
// Setup the position setting
const destroyPositionSyncer = setupPositionSettingSyncer_1.setupPositionSettingSyncer(settingsManager, window);
// Setup the frame of the application
const removeFrame = setupFrame_1.setupFrame(LM);
// Set the window image
electron_1.remote.getCurrentWindow().setIcon(icon_1.windowIcon);
// Indicate that LM is now fully started
electron_2.ipcRenderer.send("LM-started");
// Return disposer and global bindings
return {
globalContextMenuBindings: exitBindings,
onDispose: () => {
destroyWindowController();
destroyVisibilityControls();
destroyPositionSyncer();
destroySizeSyncer();
destroyTrayMenu();
removeFrame();
},
};
},
});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsMkNBQXlEO0FBQ3pELHVDQUFnQztBQUNoQyx5Q0FBaUU7QUFDakUsc0ZBQWlGO0FBQ2pGLDBFQUFxRTtBQUNyRSxrRkFBNkU7QUFDN0UsNkVBQXdFO0FBQ3hFLHdEQUFtRDtBQUNuRCxzQ0FBdUM7QUFDdkMsNkNBQXdDO0FBQ3hDLHVDQUFxQztBQUVyQyxrQkFBZSxjQUFPLENBQUM7SUFDbkIsSUFBSSxFQUFKLGVBQUk7SUFDSixRQUFRLEVBQVIsbUJBQVE7SUFDUixZQUFZLEVBQUUscUJBQWMsQ0FBQyxNQUFNO0lBQ25DLElBQUksRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFFLFFBQVEsRUFBQyxFQUFFLEVBQUU7UUFDckIsTUFBTSxNQUFNLEdBQUcsaUJBQU0sQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQ3pDLGdDQUFxQixDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNsQyxNQUFNLGVBQWUsR0FBRyxFQUFFLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztRQUVoRCw0QkFBNEI7UUFDNUIsTUFBTSxFQUFDLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxZQUFZLEVBQUMsR0FDcEQsaURBQXVCLENBQUMsRUFBRSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBRXhDLHlCQUF5QjtRQUN6QixNQUFNLHVCQUF1QixHQUFHLCtDQUFzQixDQUFDLGVBQWUsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUN4RSxFQUFFLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUNwQixDQUFDO1FBRUYsc0JBQXNCO1FBQ3RCLE1BQU0sZUFBZSxHQUFHLDZCQUFhLENBQUMsRUFBRSxDQUFDLENBQUM7UUFFMUMseUJBQXlCO1FBQ3pCLE1BQU0saUJBQWlCLEdBQUcsK0NBQXNCLENBQUMsZUFBZSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBRTFFLDZCQUE2QjtRQUM3QixNQUFNLHFCQUFxQixHQUFHLHVEQUEwQixDQUFDLGVBQWUsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUVsRixxQ0FBcUM7UUFDckMsTUFBTSxXQUFXLEdBQUcsdUJBQVUsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUVuQyx1QkFBdUI7UUFDdkIsaUJBQU0sQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLE9BQU8sQ0FBQyxpQkFBVSxDQUFDLENBQUM7UUFFOUMsd0NBQXdDO1FBQ3hDLHNCQUFXLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBRS9CLHNDQUFzQztRQUN0QyxPQUFPO1lBQ0gseUJBQXlCLEVBQUUsWUFBWTtZQUN2QyxTQUFTLEVBQUUsR0FBRyxFQUFFO2dCQUNaLHVCQUF1QixFQUFFLENBQUM7Z0JBQzFCLHlCQUF5QixFQUFFLENBQUM7Z0JBQzVCLHFCQUFxQixFQUFFLENBQUM7Z0JBQ3hCLGlCQUFpQixFQUFFLENBQUM7Z0JBQ3BCLGVBQWUsRUFBRSxDQUFDO2dCQUNsQixXQUFXLEVBQUUsQ0FBQztZQUNsQixDQUFDO1NBQ0osQ0FBQztJQUNOLENBQUM7Q0FDSixDQUFDLENBQUMifQ==
;