···351351352352 // Handle local shortcuts (with window ID for mode-conditional shortcuts)
353353 window.webContents.on('before-input-event', (event, input) => {
354354+ // Page host windows (canvas) have their own Cmd+L handler for the floating navbar
355355+ // (registered in openWindow). Skip local shortcut handling for Cmd+L on those windows
356356+ // so the page host's before-input-event handler can handle it instead.
357357+ if (input.type === 'keyDown' && input.key === 'l') {
358358+ const mod = process.platform === 'darwin' ? input.meta : input.control;
359359+ if (mod && !input.alt && !input.shift) {
360360+ const winInfo = getWindowInfo(windowId);
361361+ const addr = winInfo?.params?.address as string | undefined;
362362+ if (addr && (addr.startsWith('http://') || addr.startsWith('https://') || addr.startsWith('file:///'))) {
363363+ return; // Let the page host's own handler deal with Cmd+L
364364+ }
365365+ }
366366+ }
367367+354368 if (handleLocalShortcut(input, windowId)) {
355369 event.preventDefault();
356370 }
+2-1
extensions/cmd/background.js
···412412 });
413413414414 // URL mode shortcut (Cmd+L) — opens panel in URL-only navigation mode
415415- // Page host windows intercept Cmd+L via before-input-event for their navbar,
415415+ // Page host windows have their own Cmd+L handler for the floating navbar.
416416+ // main.ts skips local shortcut dispatch for Cmd+L on page host windows,
416417 // so this only fires from non-page windows.
417418 api.shortcuts.register(URL_MODE_SHORTCUT, () => {
418419 api.publish('cmd:url-mode', {}, api.scopes.GLOBAL);
+7
extensions/cmd/commands.js
···6161/**
6262 * Initializes all command sources and registers them
6363 */
6464+let _sourcesInitialized = false;
6565+6466async function initializeCommandSources() {
6767+ if (_sourcesInitialized) {
6868+ debug && console.log('[cmd:commands] sources already initialized, skipping');
6969+ return;
7070+ }
7171+ _sourcesInitialized = true;
6572 debug && console.log('[cmd:commands] initializeCommandSources');
66736774 // Load commands from the commands module