signal-desktop/ts/util/os/osMain.ts
2023-09-12 19:14:07 -07:00

32 lines
683 B
TypeScript

// Copyright 2023 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import os from 'os';
import { readFileSync } from 'fs-extra';
import { getOSFunctions } from './shared';
function getLinuxName(): string | undefined {
if (os.platform() !== 'linux') {
return undefined;
}
const etcOsRelease = readFileSync('/etc/os-release', 'utf-8');
const match = etcOsRelease.match(/^PRETTY_NAME=(.+?)$/m);
if (!match) {
return undefined;
}
return match[1];
}
function isWaylandEnabled(): boolean {
return Boolean(process.env.WAYLAND_DISPLAY);
}
const OS = {
...getOSFunctions(os.release()),
getLinuxName,
isWaylandEnabled,
};
export default OS;