{ "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": { "hoverTokenColor": "#f4dbd6", "hoverTokenBackgroundColor": "transparent", "preserveLineBreaks": false, "autoPauseVideoOnHover": true, "autoPauseVideoOnYomitanPopup": true, "secondary": { "css": { "font-family": "Manrope, Inter", "color": "#cad3f5", "background-color": "transparent", "font-size": "24px", "text-shadow": "0 1px 4px rgba(0,0,0,0.85), 0 0 10px rgba(0,0,0,0.5)", "paint-order": "stroke fill", "-webkit-text-stroke": "0.75px #000" }, }, "frequencyDictionary": { "enabled": true, "sourcePath": "", "topX": 10000, "mode": "single", "matchMode": "headword", "singleColor": "#f5a97f", "bandedColors": ["#ed8796", "#f5a97f", "#f9e2af", "#8bd5ca", "#8aadf4"], }, "enableJlpt": true, "jlptColors": { "N1": "#ed8796", "N2": "#f5a97f", "N3": "#f9e2af", "N4": "#8bd5ca", "N5": "#8aadf4", }, "nPlusOneColor": "#c6a0f6", "knownWordColor": "#a6da95", "css": { "font-family": "Hiragino Sans, M PLUS 1, Source Han Sans JP, Noto Sans CJK JP", "color": "#cad3f5", "background-color": "transparent", "font-size": "38px", "font-weight": "500", "font-style": "normal", "line-height": "1.4", "letter-spacing": "0.02em", "word-spacing": "0", "font-kerning": "normal", "text-rendering": "optimizeLegibility", "text-shadow": "0 2px 6px rgba(0,0,0,0.9), 0 0 12px rgba(0,0,0,0.55)", "paint-order": "stroke fill", "-webkit-text-stroke": "1.5px #000", "backdrop-filter": "blur(6px)" }, }, "jimaku": { "apiKeyCommand": "cat ~/.jimaku-api-key", "apiBaseUrl": "https://jimaku.cc", "languagePreference": "ja", "maxEntryResults": 10, }, "anilist": { "enabled": true, "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": { "enabled": true, "profiles": { "Sony Interactive Entertainment Wireless Controller (STANDARD GAMEPAD Vendor: 054c Product: 09cc)": { "label": "Sony Interactive Entertainment Wireless Controller (STANDARD GAMEPAD Vendor: 054c Product: 09cc)", "bindings": { "toggleMpvPause": { "kind": "button", "buttonIndex": 10, }, "quitMpv": { "kind": "button", "buttonIndex": 8, }, }, }, }, }, "mpv": { "executablePath": "", "launchMode": "normal", }, "updates": { "enabled": true, "checkIntervalHours": 24, "notificationType": "system", "channel": "prerelease", }, }