mirror of
https://github.com/ksyasuda/SubMiner.git
synced 2026-02-28 06:22:45 -08:00
87 lines
3.5 KiB
TypeScript
87 lines
3.5 KiB
TypeScript
import type { OverlayContentMeasurement, RuntimeOptionId, RuntimeOptionValue } from '../../types';
|
|
|
|
export const OVERLAY_HOSTED_MODALS = ['runtime-options', 'subsync', 'jimaku'] as const;
|
|
export type OverlayHostedModal = (typeof OVERLAY_HOSTED_MODALS)[number];
|
|
|
|
export const IPC_CHANNELS = {
|
|
command: {
|
|
setIgnoreMouseEvents: 'set-ignore-mouse-events',
|
|
overlayModalClosed: 'overlay:modal-closed',
|
|
openYomitanSettings: 'open-yomitan-settings',
|
|
quitApp: 'quit-app',
|
|
toggleDevTools: 'toggle-dev-tools',
|
|
toggleOverlay: 'toggle-overlay',
|
|
saveSubtitlePosition: 'save-subtitle-position',
|
|
setMecabEnabled: 'set-mecab-enabled',
|
|
mpvCommand: 'mpv-command',
|
|
setAnkiConnectEnabled: 'set-anki-connect-enabled',
|
|
clearAnkiConnectHistory: 'clear-anki-connect-history',
|
|
refreshKnownWords: 'anki:refresh-known-words',
|
|
kikuFieldGroupingRespond: 'kiku:field-grouping-respond',
|
|
reportOverlayContentBounds: 'overlay-content-bounds:report',
|
|
},
|
|
request: {
|
|
getOverlayVisibility: 'get-overlay-visibility',
|
|
getVisibleOverlayVisibility: 'get-visible-overlay-visibility',
|
|
getInvisibleOverlayVisibility: 'get-invisible-overlay-visibility',
|
|
getCurrentSubtitle: 'get-current-subtitle',
|
|
getCurrentSubtitleRaw: 'get-current-subtitle-raw',
|
|
getCurrentSubtitleAss: 'get-current-subtitle-ass',
|
|
getMpvSubtitleRenderMetrics: 'get-mpv-subtitle-render-metrics',
|
|
getSubtitlePosition: 'get-subtitle-position',
|
|
getSubtitleStyle: 'get-subtitle-style',
|
|
getMecabStatus: 'get-mecab-status',
|
|
getKeybindings: 'get-keybindings',
|
|
getConfigShortcuts: 'get-config-shortcuts',
|
|
getSecondarySubMode: 'get-secondary-sub-mode',
|
|
getCurrentSecondarySub: 'get-current-secondary-sub',
|
|
focusMainWindow: 'focus-main-window',
|
|
runSubsyncManual: 'subsync:run-manual',
|
|
getAnkiConnectStatus: 'get-anki-connect-status',
|
|
getRuntimeOptions: 'runtime-options:get',
|
|
setRuntimeOption: 'runtime-options:set',
|
|
cycleRuntimeOption: 'runtime-options:cycle',
|
|
getAnilistStatus: 'anilist:get-status',
|
|
clearAnilistToken: 'anilist:clear-token',
|
|
openAnilistSetup: 'anilist:open-setup',
|
|
getAnilistQueueStatus: 'anilist:get-queue-status',
|
|
retryAnilistNow: 'anilist:retry-now',
|
|
appendClipboardVideoToQueue: 'clipboard:append-video-to-queue',
|
|
jimakuGetMediaInfo: 'jimaku:get-media-info',
|
|
jimakuSearchEntries: 'jimaku:search-entries',
|
|
jimakuListFiles: 'jimaku:list-files',
|
|
jimakuDownloadFile: 'jimaku:download-file',
|
|
kikuBuildMergePreview: 'kiku:build-merge-preview',
|
|
},
|
|
event: {
|
|
subtitleSet: 'subtitle:set',
|
|
subtitleVisibility: 'mpv:subVisibility',
|
|
subtitlePositionSet: 'subtitle-position:set',
|
|
mpvSubtitleRenderMetricsSet: 'mpv-subtitle-render-metrics:set',
|
|
subtitleAssSet: 'subtitle-ass:set',
|
|
overlayDebugVisualizationSet: 'overlay-debug-visualization:set',
|
|
secondarySubtitleSet: 'secondary-subtitle:set',
|
|
secondarySubtitleMode: 'secondary-subtitle:mode',
|
|
subsyncOpenManual: 'subsync:open-manual',
|
|
kikuFieldGroupingRequest: 'kiku:field-grouping-request',
|
|
runtimeOptionsChanged: 'runtime-options:changed',
|
|
runtimeOptionsOpen: 'runtime-options:open',
|
|
jimakuOpen: 'jimaku:open',
|
|
configHotReload: 'config:hot-reload',
|
|
},
|
|
} as const;
|
|
|
|
export type RuntimeOptionsSetRequest = {
|
|
id: RuntimeOptionId;
|
|
value: RuntimeOptionValue;
|
|
};
|
|
|
|
export type RuntimeOptionsCycleRequest = {
|
|
id: RuntimeOptionId;
|
|
direction: 1 | -1;
|
|
};
|
|
|
|
export type OverlayContentBoundsReportRequest = {
|
|
measurement: OverlayContentMeasurement;
|
|
};
|