add main-process cursor presence sync for locked lyric window

This commit is contained in:
kimjiwon
2026-04-12 13:29:02 +08:00
parent b0b3eb3326
commit e066efb373
2 changed files with 68 additions and 0 deletions
+16
View File
@@ -341,6 +341,7 @@ const displayMode = computed(() => lyricSetting.value.displayMode);
const showTranslation = computed(() => lyricSetting.value.showTranslation);
let hideControlsTimer: number | null = null;
let removeMousePresenceListener: (() => void) | null = null;
const isHovering = ref(false);
@@ -782,10 +783,25 @@ onMounted(() => {
// 通知主窗口歌词窗口已就绪,请求发送完整歌词数据
windowData.electron.ipcRenderer.send('lyric-ready');
removeMousePresenceListener = window.ipcRenderer.on(
'lyric-mouse-presence',
(isInside: boolean) => {
isHovering.value = isInside;
if (lyricSetting.value.isLock) {
windowData.electron.ipcRenderer.send('set-ignore-mouse', !isInside);
}
}
);
});
onUnmounted(() => {
window.removeEventListener('resize', updateContainerHeight);
if (removeMousePresenceListener) {
removeMousePresenceListener();
removeMousePresenceListener = null;
}
});
const checkTheme = () => {