experiments in a post-browser web
10
fork

Configure Feed

Select the types of activity you want to include in your feed.

fix(windows): ESC always closes, remove fallback emoji

- Add escapeMode: 'close' so window dismisses on ESC regardless of focus
- Remove door emoji fallback, only show favicon for external URLs

+13 -10
+2
extensions/windows/background.js
··· 86 86 maximize: true, 87 87 // Don't use modal - we want windows view to stay open until ESC or selection 88 88 type: 'panel', 89 + // Always close on ESC (window switcher should dismiss easily) 90 + escapeMode: 'close', 89 91 trackingSource: 'windows', 90 92 trackingSourceId: 'main' 91 93 };
+11 -10
extensions/windows/windows.js
··· 240 240 card.className = 'card'; 241 241 card.dataset.windowId = win.id; 242 242 243 - // Try to get favicon from URL 244 - let faviconUrl = 'data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><text y=".9em" font-size="90">🪟</text></svg>'; 243 + // Try to get favicon from URL (only for external URLs) 244 + let faviconUrl = null; 245 245 if (win.url && !win.url.startsWith('peek://')) { 246 246 try { 247 247 const url = new URL(win.url); 248 248 faviconUrl = `${url.origin}/favicon.ico`; 249 249 } catch (e) { 250 - // Keep default favicon 250 + // No favicon 251 251 } 252 252 } 253 253 254 - const favicon = document.createElement('img'); 255 - favicon.className = 'card-favicon'; 256 - favicon.src = faviconUrl; 257 - favicon.onerror = () => { 258 - favicon.src = 'data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><text y=".9em" font-size="90">🪟</text></svg>'; 259 - }; 254 + // Only add favicon if we have one 255 + if (faviconUrl) { 256 + const favicon = document.createElement('img'); 257 + favicon.className = 'card-favicon'; 258 + favicon.src = faviconUrl; 259 + favicon.onerror = () => favicon.remove(); 260 + card.appendChild(favicon); 261 + } 260 262 261 263 const content = document.createElement('div'); 262 264 content.className = 'card-content'; ··· 272 274 content.appendChild(title); 273 275 content.appendChild(url); 274 276 275 - card.appendChild(favicon); 276 277 card.appendChild(content); 277 278 278 279 // Click to focus window and close windows view