Files
dotfiles/.config/SubMiner/config.jsonc##os.Linux
2026-03-28 00:02:25 -07:00

337 lines
8.1 KiB
Plaintext

{
"keybindings": [
{
"key": "KeyF",
"command": [
"cycle",
"fullscreen"
]
},
{
"key": "KeyR",
"command": [
"add",
"sub-pos",
-5
]
},
{
"key": "Shift+KeyR",
"command": [
"add",
"sub-pos",
5
]
},
{
"key": "KeyJ",
"command": [
"cycle",
"sub"
]
},
{
"key": "BracketRight",
"command": [
"add",
"sub-delay",
0.1
]
},
{
"key": "BracketLeft",
"command": [
"add",
"sub-delay",
-0.1
]
},
{
"key": "Backslash",
"command": [
"set_property",
"sub-delay",
0
]
}
],
"shortcuts": {
"copySubtitle": "CommandOrControl+C",
"copySubtitleMultiple": "CommandOrControl+Shift+C",
"updateLastCardFromClipboard": "CommandOrControl+V",
"triggerFieldGrouping": "CommandOrControl+G",
"triggerSubsync": "CommandOrControl+Alt+S",
"mineSentence": "CommandOrControl+S",
"mineSentenceMultiple": "CommandOrControl+Shift+S",
"multiCopyTimeoutMs": 3000,
"toggleSecondarySub": "CommandOrControl+Shift+V",
"markAudioCard": "CommandOrControl+Shift+A",
"openRuntimeOptions": "CommandOrControl+Shift+O",
"toggleVisibleOverlayGlobal": "Alt+Shift+O",
"toggleInvisibleOverlayGlobal": "Alt+Shift+I"
},
"auto_start_overlay": false,
"texthooker": {
"launchAtStartup": true,
"openBrowser": false
},
"websocket": {
"enabled": "auto",
"port": 6677
},
"ankiConnect": {
"enabled": true,
"url": "http://127.0.0.1:8765",
"deck": "Minecraft",
"pollingRate": 500,
"proxy": {
"enabled": true,
"host": "127.0.0.1",
"port": 8766,
"upstreamUrl": "http://127.0.0.1:8765"
},
"fields": {
"audio": "ExpressionAudio",
"image": "Picture",
"sentence": "Sentence",
"miscInfo": "MiscInfo",
"translation": "SelectionText"
},
"ai": {
"enabled": true,
"model": "openai/gpt-oss-120b:free",
"systemPrompt": "You are a translation engine for translating Japanese into natural-sounding, context-aware English. Return only the translated text with no extra explanations or commentary. The translation must preserve the original tone and intent of the source. If the input is not in the target language, translate it to the target language. If the input is already in the target language, return it as is."
},
"media": {
"generateAudio": true,
"generateImage": true,
"imageType": "avif",
"imageFormat": "webp",
"animatedFps": 24,
"animatedMaxWidth": 640,
"animatedMaxHeight": null,
"animatedCrf": 35,
"audioPadding": 0.5,
"fallbackDuration": 3,
"syncAnimatedImageToWordAudio": true
},
"behavior": {
"overwriteAudio": false,
"overwriteImage": true,
"mediaInsertMode": "append",
"highlightWord": true,
"notificationType": "both",
"showNotificationOnUpdate": true,
"autoUpdateNewCards": true
},
"knownWords": {
"decks": {
"Minecraft": [
"Expression",
"Reading"
],
"Kaishi 1.5k": [
"Word",
"Word Reading"
]
},
"highlightEnabled": true,
"refreshMinutes": 60,
"matchMode": "headword",
"addMinedWordsImmediately": true
},
"nPlusOne": {
"minSentenceWords": 3
},
"metadata": {
"pattern": "[SubMiner] %f (%t)"
},
"isLapis": {
"enabled": true,
"sentenceCardModel": "Lapis Morph"
},
"isKiku": {
"enabled": true,
"fieldGrouping": "manual",
"deleteDuplicateInAuto": false
},
"tags": [
"SubMiner"
]
},
"ai": {
"enabled": true,
"alwaysUseAiTranslation": false,
"apiKeyCommand": "cat ~/.openrouterapikey",
"baseUrl": "https://openrouter.ai/api/v1",
"sourceLanguage": "Japanese"
},
"secondarySub": {
"autoLoadSecondarySub": true,
"secondarySubLanguages": [
"en",
"eng"
]
},
"youtube": {
"primarySubLanguages": [
"ja",
"jpn"
]
},
"subsync": {
"defaultMode": "manual",
"alass_path": null,
"ffsubsync_path": null,
"ffmpeg_path": null,
"replace": true
},
"subtitleStyle": {
"fontFamily": "M PLUS 1 Medium, Source Han Sans JP, Noto Sans CJK JP",
"fontSize": 35,
"fontColor": "#cad3f5",
"fontWeight": 700,
"lineHeight": 1.35,
"letterSpacing": "-0.01em",
"wordSpacing": 0,
"fontKerning": "normal",
"textRendering": "geometricPrecision",
"textShadow": "0 3px 10px rgba(0,0,0,0.69)",
"fontStyle": "normal",
"backgroundColor": "#232634",
"hoverTokenColor": "#f4dbd6",
"hoverBackground": "rgba(54, 58, 79, 0.84)",
"preserveLineBreaks": false,
"autoPauseVideoOnHover": true,
"autoPauseVideoOnYomitanPopup": true,
"secondary": {
"fontFamily": "Manrope, Inter",
"fontSize": 24,
"fontColor": "#cad3f5"
},
"frequencyDictionary": {
"enabled": true,
"sourcePath": "",
"topX": 10000,
"mode": "single",
"matchMode": "headword",
"singleColor": "#f5a97f",
"bandedColors": [
"#ed8796",
"#f5a97f",
"#f9e2af",
"#a6e3a1",
"#8aadf4"
]
},
"enableJlpt": true,
"jlptColors": {
"N1": "#ed8796",
"N2": "#f5a97f",
"N3": "#f9e2af",
"N4": "#a6e3a1",
"N5": "#8aadf4"
},
"nPlusOneColor": "#c6a0f6",
"knownWordColor": "#a6da95"
},
"jimaku": {
"apiKeyCommand": "cat ~/.jimaku-api-key",
"apiBaseUrl": "https://jimaku.cc",
"languagePreference": "ja",
"maxEntryResults": 10
},
"anilist": {
"characterDictionary": {
"enabled": true,
"collapsibleSections": {
"description": false,
"characterInformation": false,
"voicedBy": false
}
}
},
"immersionTracking": {
"enabled": true,
"dbPath": ""
},
"jellyfin": {
"enabled": true,
"serverUrl": "http://pve-main:8096",
"username": "sudacode",
"deviceId": "subminer",
"clientName": "SubMiner",
"clientVersion": "0.1.0",
"defaultLibraryId": "",
"directPlayPreferred": true,
"remoteControlEnabled": true,
"remoteControlAutoConnect": true,
"autoAnnounce": false,
"remoteControlDeviceName": "SubMiner",
"directPlayContainers": [
"mkv",
"mp4",
"webm",
"mov",
"flac",
"mp3",
"aac"
],
"transcodeVideoCodec": "h265",
"pullPictures": true,
"iconCacheDir": "~/S/japanese/subminer-jellyfin-icons"
},
"logging": {
"level": "info"
},
"discordPresence": {
"enabled": true,
"detailsTemplate": "Mining and crafting (Anki cards)",
"stateTemplate": "Idle",
"largeImageKey": "subminer-logo",
"largeImageText": "SubMiner",
"smallImageKey": "study",
"smallImageText": "Sentence Mining",
"buttonLabel": "",
"buttonUrl": "",
"updateIntervalMs": 15000,
"debounceMs": 750
},
"startupWarmups": {
"lowPowerMode": false,
"mecab": true,
"yomitanExtension": true,
"subtitleDictionaries": true,
"jellyfinRemoteSession": false
},
"yomitan": {
"externalProfilePath": ""
},
"stats": {
"toggleKey": "Backquote",
"serverPort": 6969,
"autoStartServer": true,
"autoOpenBrowser": false
},
"subtitleSidebar": {
"enabled": true,
"toggleKey": "Backslash",
"pauseVideoOnHover": true,
"autoScroll": true,
"maxWidth": 420,
"opacity": 0.69,
"backgroundColor": "rgba(36, 39, 58, 0.78)",
"textColor": "#cad3f5",
"fontFamily": "\"M PLUS 1\", \"Noto Sans CJK JP\", sans-serif",
"fontSize": 16,
"timestampColor": "#a5adcb",
"activeLineColor": "#f5bde6",
"activeLineBackgroundColor": "rgba(138, 173, 244, 0.22)",
"hoverLineBackgroundColor": "rgba(54, 58, 79, 0.84)"
},
"controller": {
"preferredGamepadId": "8BitDo 8BitDo Ultimate 2 Wireless Controller for PC (Vendor: 2dc8 Product: 310b)",
"preferredGamepadLabel": "8BitDo 8BitDo Ultimate 2 Wireless Controller for PC (Vendor: 2dc8 Product: 310b)"
}
}