@launchmenu/applet-window-manager
Version:
An applet to manage LMs window
43 lines • 3.48 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.setupStartupController = void 0;
const settings_1 = require("../settings");
const model_react_1 = require("model-react");
const testing = false;
/**
* Sets up the startup controller that syncs with the setting
* @param settingsManager The settings manager to get the setting from
* @param isInDevMode Whether the application is in dev mode
*/
function setupStartupController(settingsManager, isInDevMode = () => false) {
var _a;
const installer = (_a = startupControllers[process.platform]) === null || _a === void 0 ? void 0 : _a.call(startupControllers);
let changingPromise = Promise.resolve();
const observer = new model_react_1.Observer(h => ({
automaticStartup: settingsManager
.getSettingsContext(h)
.get(settings_1.settings)
.automaticStartup.get(h),
devMode: isInDevMode(h),
})).listen(async ({ automaticStartup, devMode }) => {
changingPromise = changingPromise.then(async () => {
if (
// TODO: get dev from a LM property
(!devMode || testing) &&
installer &&
(await installer.isRegistered()) != automaticStartup) {
if (automaticStartup)
await installer.register();
else
await installer.deregister();
}
});
}, true);
return () => observer.destroy();
}
exports.setupStartupController = setupStartupController;
const startupControllers = {
win32: () => require("./OScontrollers/windowsStartup").default,
darwin: () => require("./OScontrollers/macStartup").default,
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dXBTdGFydHVwQ29udHJvbGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zdGFydHVwL3NldHVwU3RhcnR1cENvbnRyb2xsZXIudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLDBDQUFxQztBQUNyQyw2Q0FBZ0Q7QUFHaEQsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDO0FBRXRCOzs7O0dBSUc7QUFDSCxTQUFnQixzQkFBc0IsQ0FDbEMsZUFBZ0MsRUFDaEMsY0FBMEMsR0FBRyxFQUFFLENBQUMsS0FBSzs7SUFFckQsTUFBTSxTQUFTLFNBQUcsa0JBQWtCLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQywrQ0FBcEMsa0JBQWtCLENBQXNCLENBQUM7SUFFM0QsSUFBSSxlQUFlLEdBQUcsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ3hDLE1BQU0sUUFBUSxHQUFHLElBQUksc0JBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDaEMsZ0JBQWdCLEVBQUUsZUFBZTthQUM1QixrQkFBa0IsQ0FBQyxDQUFDLENBQUM7YUFDckIsR0FBRyxDQUFDLG1CQUFRLENBQUM7YUFDYixnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQzVCLE9BQU8sRUFBRSxXQUFXLENBQUMsQ0FBQyxDQUFDO0tBQzFCLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsRUFBQyxnQkFBZ0IsRUFBRSxPQUFPLEVBQUMsRUFBRSxFQUFFO1FBQzdDLGVBQWUsR0FBRyxlQUFlLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxFQUFFO1lBQzlDO1lBQ0ksbUNBQW1DO1lBQ25DLENBQUMsQ0FBQyxPQUFPLElBQUksT0FBTyxDQUFDO2dCQUNyQixTQUFTO2dCQUNULENBQUMsTUFBTSxTQUFTLENBQUMsWUFBWSxFQUFFLENBQUMsSUFBSSxnQkFBZ0IsRUFDdEQ7Z0JBQ0UsSUFBSSxnQkFBZ0I7b0JBQUUsTUFBTSxTQUFTLENBQUMsUUFBUSxFQUFFLENBQUM7O29CQUM1QyxNQUFNLFNBQVMsQ0FBQyxVQUFVLEVBQUUsQ0FBQzthQUNyQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBRVQsT0FBTyxHQUFHLEVBQUUsQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLENBQUM7QUFDcEMsQ0FBQztBQTVCRCx3REE0QkM7QUFFRCxNQUFNLGtCQUFrQixHQUFHO0lBQ3ZCLEtBQUssRUFBRSxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUMsZ0NBQWdDLENBQUMsQ0FBQyxPQUFPO0lBQzlELE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUMsNEJBQTRCLENBQUMsQ0FBQyxPQUFPO0NBQ0ksQ0FBQyJ9