mirror of
https://github.com/heyman/heynote.git
synced 2024-11-21 23:43:22 +01:00
76 lines
2.5 KiB
JavaScript
76 lines
2.5 KiB
JavaScript
import Store from "electron-store"
|
|
import { isMac } from "./detect-platform"
|
|
|
|
const isDev = !!process.env.VITE_DEV_SERVER_URL
|
|
|
|
const schema = {
|
|
additionalProperties: false,
|
|
|
|
windowConfig: {
|
|
type: "object",
|
|
properties: {
|
|
width: {type: "number"},
|
|
height: {type: "number"},
|
|
x: {type: "number"},
|
|
y: {type: "number"},
|
|
isMaximized: {type: "boolean"},
|
|
isFullScreen: {type: "boolean"},
|
|
},
|
|
additionalProperties: false,
|
|
},
|
|
|
|
settings: {
|
|
type: "object",
|
|
properties: {
|
|
"keymap": { "enum": ["default", "emacs"], default:"default" },
|
|
"emacsMetaKey": { "enum": [null, "alt", "meta"], default: null },
|
|
"showLineNumberGutter": {type: "boolean", default:true},
|
|
"showFoldGutter": {type: "boolean", default:true},
|
|
"autoUpdate": {type: "boolean", default: true},
|
|
"allowBetaVersions": {type: "boolean", default: false},
|
|
"enableGlobalHotkey": {type: "boolean", default: false},
|
|
"globalHotkey": {type: "string", default: "CmdOrCtrl+Shift+H"},
|
|
"bufferPath" : {type: "string", default: ""},
|
|
"showInDock": {type: "boolean", default: true},
|
|
"showInMenu": {type: "boolean", default: false},
|
|
"bracketClosing": {type: "boolean", default: false},
|
|
|
|
// when default font settings are used, fontFamily and fontSize is not specified in the
|
|
// settings file, so that it's possible for us to change the default settings in the
|
|
// future and have it apply to existing users
|
|
"fontFamily": {type: "string"},
|
|
"fontSize": {type: "integer"},
|
|
},
|
|
},
|
|
|
|
theme: {type: "string", default: "system"},
|
|
|
|
currency: {
|
|
type: "object",
|
|
properties: {
|
|
data: {type: "object"},
|
|
timeFetched: {type: "number"},
|
|
},
|
|
},
|
|
}
|
|
|
|
const defaults = {
|
|
settings: {
|
|
keymap: "default",
|
|
emacsMetaKey: isMac ? "meta" : "alt",
|
|
showLineNumberGutter: true,
|
|
showFoldGutter: true,
|
|
autoUpdate: true,
|
|
allowBetaVersions: false,
|
|
enableGlobalHotkey: false,
|
|
globalHotkey: "CmdOrCtrl+Shift+H",
|
|
bufferPath: "",
|
|
showInDock: true,
|
|
showInMenu: false,
|
|
bracketClosing: false,
|
|
},
|
|
theme: "system",
|
|
}
|
|
|
|
export default new Store({schema, defaults, name: isDev ? "config-dev" : "config"})
|