refactor: configure Hachidori in the SubMiner build

This commit is contained in:
sudacode committed 2026-09-22 12:26:37 -07:00
1 parent 5354fdf7b9
commit d7e1d7edc6
10 files changed
+113 -21

No files matched your search

+3 -4
View File
@@ -2,8 +2,7 @@ import type { CompiledSessionBinding, PrimarySubMode, ShortcutsConfig } from '..
import type { RendererContext } from '../context';
import { createMpvInputForwarding } from './mpv-input-forwarding';
import {
YOMITAN_POPUP_HIDDEN_EVENT,
YOMITAN_POPUP_SHOWN_EVENT,
registerDictionaryPopupVisibilityListener,
YOMITAN_POPUP_COMMAND_EVENT,
isYomitanPopupVisible,
isYomitanPopupIframe,
@@ -1064,7 +1063,7 @@ export function createKeyboardHandlers(
subtree: true,
});
window.addEventListener(YOMITAN_POPUP_HIDDEN_EVENT, () => {
registerDictionaryPopupVisibilityListener('hidden', () => {
clearNativeSubtitleSelection();
if (!ctx.state.keyboardDrivenModeEnabled) {
syncKeyboardTokenSelection();
@@ -1072,7 +1071,7 @@ export function createKeyboardHandlers(
}
restoreOverlayKeyboardFocus();
});
window.addEventListener(YOMITAN_POPUP_SHOWN_EVENT, () => {
registerDictionaryPopupVisibilityListener('shown', () => {
if (!ctx.state.keyboardDrivenModeEnabled) {
return;
}
+3 -4
View File
@@ -1,10 +1,9 @@
import type { ModalStateReader, RendererContext } from '../context';
import { syncOverlayMouseIgnoreState } from '../overlay-mouse-ignore.js';
import {
YOMITAN_POPUP_HIDDEN_EVENT,
YOMITAN_POPUP_MOUSE_ENTER_EVENT,
YOMITAN_POPUP_MOUSE_LEAVE_EVENT,
YOMITAN_POPUP_SHOWN_EVENT,
registerDictionaryPopupVisibilityListener,
PRIMARY_SUB_VISIBLE_ON_YOMITAN_POPUP_CLASS,
isYomitanPopupVisible,
isYomitanPopupIframe,
@@ -470,7 +469,7 @@ export function createMouseHandlers(
function setupYomitanObserver(): void {
reconcilePopupInteraction({ allowPause: true });
window.addEventListener(YOMITAN_POPUP_SHOWN_EVENT, () => {
registerDictionaryPopupVisibilityListener('shown', () => {
reconcilePopupInteraction({
assumeVisible: true,
allowPause: true,
@@ -478,7 +477,7 @@ export function createMouseHandlers(
});
});
window.addEventListener(YOMITAN_POPUP_HIDDEN_EVENT, () => {
registerDictionaryPopupVisibilityListener('hidden', () => {
disablePopupInteractionIfIdle();
});