signal-desktop/ts/OS.ts

22 lines
645 B
TypeScript
Raw Normal View History

2023-01-03 11:55:46 -08:00
// Copyright 2018 Signal Messenger, LLC
2020-10-30 15:34:04 -05:00
// SPDX-License-Identifier: AGPL-3.0-only
2018-05-02 19:57:02 -04:00
import os from 'os';
import semver from 'semver';
2020-09-11 12:37:01 -07:00
export const isMacOS = (): boolean => process.platform === 'darwin';
export const isLinux = (): boolean => process.platform === 'linux';
export const isWindows = (minVersion?: string): boolean => {
2018-05-02 19:57:02 -04:00
const osRelease = os.release();
2018-05-23 16:04:39 -07:00
if (process.platform !== 'win32') {
return false;
}
2023-01-12 12:58:53 -08:00
return minVersion === undefined ? true : semver.gte(osRelease, minVersion);
2018-05-02 19:57:02 -04:00
};
2022-07-05 09:44:53 -07:00
// Windows 10 and above
export const hasCustomTitleBar = (): boolean =>
isWindows('10.0.0') || Boolean(process.env.CUSTOM_TITLEBAR);