mirror of
				https://github.com/TriliumNext/Notes.git
				synced 2025-10-31 04:51:31 +08:00 
			
		
		
		
	Merge pull request #875 from pano9000/refactor_isMac_isWin
refactor(utils): add isMac and isWindows util functions
This commit is contained in:
		
						commit
						6825fe2e03
					
				| @ -2,11 +2,11 @@ | |||||||
| 
 | 
 | ||||||
| import optionService from "./options.js"; | import optionService from "./options.js"; | ||||||
| import log from "./log.js"; | import log from "./log.js"; | ||||||
| import { isElectron as getIsElectron } from "./utils.js"; | import { isElectron as getIsElectron, isMac as getIsMac } from "./utils.js"; | ||||||
| import { KeyboardShortcut } from './keyboard_actions_interface.js'; | import { KeyboardShortcut } from './keyboard_actions_interface.js'; | ||||||
| import { t } from "i18next"; | import { t } from "i18next"; | ||||||
| 
 | 
 | ||||||
| const isMac = process.platform === "darwin"; | const isMac = getIsMac(); | ||||||
| const isElectron = getIsElectron(); | const isElectron = getIsElectron(); | ||||||
| 
 | 
 | ||||||
| function getDefaultKeyboardActions() { | function getDefaultKeyboardActions() { | ||||||
|  | |||||||
| @ -4,6 +4,7 @@ import { Request, Response } from "express"; | |||||||
| import fs from "fs"; | import fs from "fs"; | ||||||
| import dataDir from "./data_dir.js"; | import dataDir from "./data_dir.js"; | ||||||
| import cls from "./cls.js"; | import cls from "./cls.js"; | ||||||
|  | import { isWindows } from "./utils.js"; | ||||||
| 
 | 
 | ||||||
| if (!fs.existsSync(dataDir.LOG_DIR)) { | if (!fs.existsSync(dataDir.LOG_DIR)) { | ||||||
|     fs.mkdirSync(dataDir.LOG_DIR, 0o700); |     fs.mkdirSync(dataDir.LOG_DIR, 0o700); | ||||||
| @ -16,7 +17,7 @@ const MINUTE = 60 * SECOND; | |||||||
| const HOUR = 60 * MINUTE; | const HOUR = 60 * MINUTE; | ||||||
| const DAY = 24 * HOUR; | const DAY = 24 * HOUR; | ||||||
| 
 | 
 | ||||||
| const NEW_LINE = process.platform === "win32" ? '\r\n' : '\n'; | const NEW_LINE = isWindows() ? '\r\n' : '\n'; | ||||||
| 
 | 
 | ||||||
| let todaysMidnight!: Date; | let todaysMidnight!: Date; | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -1,7 +1,7 @@ | |||||||
| import optionService from "./options.js"; | import optionService from "./options.js"; | ||||||
| import type { OptionMap } from "./options.js"; | import type { OptionMap } from "./options.js"; | ||||||
| import appInfo from "./app_info.js"; | import appInfo from "./app_info.js"; | ||||||
| import { randomSecureToken } from "./utils.js"; | import { randomSecureToken, isWindows } from "./utils.js"; | ||||||
| import log from "./log.js"; | import log from "./log.js"; | ||||||
| import dateUtils from "./date_utils.js"; | import dateUtils from "./date_utils.js"; | ||||||
| import keyboardActions from "./keyboard_actions.js"; | import keyboardActions from "./keyboard_actions.js"; | ||||||
| @ -72,7 +72,7 @@ const defaultOptions: DefaultOption[] = [ | |||||||
|     { name: 'revisionSnapshotTimeInterval', value: '600', isSynced: true }, |     { name: 'revisionSnapshotTimeInterval', value: '600', isSynced: true }, | ||||||
|     { name: 'revisionSnapshotNumberLimit', value: '-1', isSynced: true }, |     { name: 'revisionSnapshotNumberLimit', value: '-1', isSynced: true }, | ||||||
|     { name: 'protectedSessionTimeout', value: '600', isSynced: true }, |     { name: 'protectedSessionTimeout', value: '600', isSynced: true }, | ||||||
|     { name: 'zoomFactor', value: process.platform === "win32" ? '0.9' : '1.0', isSynced: false }, |     { name: 'zoomFactor', value: isWindows() ? '0.9' : '1.0', isSynced: false }, | ||||||
|     { name: 'overrideThemeFonts', value: 'false', isSynced: false }, |     { name: 'overrideThemeFonts', value: 'false', isSynced: false }, | ||||||
|     { name: 'mainFontFamily', value: 'theme', isSynced: false }, |     { name: 'mainFontFamily', value: 'theme', isSynced: false }, | ||||||
|     { name: 'mainFontSize', value: '100', isSynced: false }, |     { name: 'mainFontSize', value: '100', isSynced: false }, | ||||||
|  | |||||||
| @ -332,6 +332,14 @@ export function getResourceDir() { | |||||||
|     } |     } | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | export function isMac() { | ||||||
|  |   return process.platform === "darwin"; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | export function isWindows() { | ||||||
|  |   return process.platform === "win32"; | ||||||
|  | } | ||||||
|  | 
 | ||||||
| export default { | export default { | ||||||
|     randomSecureToken, |     randomSecureToken, | ||||||
|     randomString, |     randomString, | ||||||
| @ -365,5 +373,7 @@ export default { | |||||||
|     hashedBlobId, |     hashedBlobId, | ||||||
|     toMap, |     toMap, | ||||||
|     isString, |     isString, | ||||||
|     getResourceDir |     getResourceDir, | ||||||
|  |     isMac, | ||||||
|  |     isWindows | ||||||
| }; | }; | ||||||
|  | |||||||
| @ -9,6 +9,7 @@ import cls from "./cls.js"; | |||||||
| import keyboardActionsService from "./keyboard_actions.js"; | import keyboardActionsService from "./keyboard_actions.js"; | ||||||
| import remoteMain from "@electron/remote/main/index.js"; | import remoteMain from "@electron/remote/main/index.js"; | ||||||
| import { App, BrowserWindow, BrowserWindowConstructorOptions, WebContents, ipcMain } from 'electron'; | import { App, BrowserWindow, BrowserWindowConstructorOptions, WebContents, ipcMain } from 'electron'; | ||||||
|  | import { isMac, isWindows } from "./utils.js"; | ||||||
| 
 | 
 | ||||||
| import { fileURLToPath } from "url"; | import { fileURLToPath } from "url"; | ||||||
| import { dirname } from "path"; | import { dirname } from "path"; | ||||||
| @ -115,14 +116,11 @@ async function createMainWindow(app: App) { | |||||||
| function getWindowExtraOpts() { | function getWindowExtraOpts() { | ||||||
|     const extraOpts: Partial<BrowserWindowConstructorOptions> = {}; |     const extraOpts: Partial<BrowserWindowConstructorOptions> = {}; | ||||||
| 
 | 
 | ||||||
|     const isMac = (process.platform === "darwin"); |  | ||||||
|     const isWindows = (process.platform === "win32"); |  | ||||||
| 
 |  | ||||||
|     if (!optionService.getOptionBool('nativeTitleBarVisible')) { |     if (!optionService.getOptionBool('nativeTitleBarVisible')) { | ||||||
|         if (isMac) { |         if (isMac()) { | ||||||
|             extraOpts.titleBarStyle = "hiddenInset"; |             extraOpts.titleBarStyle = "hiddenInset"; | ||||||
|             extraOpts.titleBarOverlay = true; |             extraOpts.titleBarOverlay = true; | ||||||
|         } else if (isWindows) { |         } else if (isWindows()) { | ||||||
|             extraOpts.titleBarStyle = "hidden"; |             extraOpts.titleBarStyle = "hidden"; | ||||||
|             extraOpts.titleBarOverlay = true; |             extraOpts.titleBarOverlay = true; | ||||||
|         } else { |         } else { | ||||||
| @ -132,7 +130,7 @@ function getWindowExtraOpts() { | |||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     // Window effects (Mica)
 |     // Window effects (Mica)
 | ||||||
|     if (optionService.getOptionBool('backgroundEffects') && isWindows) { |     if (optionService.getOptionBool('backgroundEffects') && isWindows()) { | ||||||
|         extraOpts.backgroundMaterial = "auto"; |         extraOpts.backgroundMaterial = "auto"; | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Elian Doran
						Elian Doran