Collection of feature ideas for future consideration. No commitment on timeline or implementation.
Folder statistics
A small summary badge when browsing folders: "12× ★★★★★, 3 Picks, 2 Rejects" — useful for getting a quick sense of a folder without opening it.
Fullscreen mode (Chrome/Edge only)
Browser-native Fullscreen API for Grid + Loupe + Slideshow — escapes the Nextcloud chrome (header, sidebar) so the gallery fills the entire screen, ideal for client presentations on a big display.
Design (orthogonal axes):
F toggles fullscreen on/off, regardless of current view (Grid, Loupe, or Slideshow).
Esc always means "Loupe → Grid", regardless of fullscreen state.
- The two are independent: leaving fullscreen never closes the loupe; pressing Esc never toggles fullscreen.
Why Chrome/Edge only: the model requires the Keyboard Lock API (navigator.keyboard.lock(['Escape'])) so our Esc handler still fires inside fullscreen instead of the browser swallowing Esc to exit. Keyboard Lock is supported in Chrome and Edge (HTTPS). Firefox and Safari don't support it — there, Esc in fullscreen would exit the browser-level fullscreen first and then a second Esc would go to the grid (two-step). To keep the model truly clean and avoid double-paths in code, the feature is feature-gated: if navigator.keyboard?.lock is missing, the F shortcut and button are simply hidden. No fallback logic, no degraded UX leakage.
Implementation sketch:
- Call
requestFullscreen() on the Gallery root so both Grid and Loupe benefit.
- Track state via
document.fullscreenchange event.
- Add an
F keyboard shortcut + a small button (icon-only) in both Grid and Loupe.
- On enter:
navigator.keyboard.lock(['Escape']) + optional navigator.wakeLock.request('screen') for client-presentation no-sleep.
- On exit: release Keyboard Lock + WakeLock.
- iOS Safari: button hidden anyway because Keyboard Lock isn't there.
Bonus: wake-lock is most valuable here — long slideshow on a tablet at a client meeting won't have the screen sleep.
NC Files integration (sidebar)
Set ratings directly in the Nextcloud Files sidebar without opening StarRate. Would make StarRate feel more native to NC and reduce context switching.
Mobile selection via long-press
Long-press (~500ms) on thumbnails to enter multi-selection on touchscreens (no modifier keys available). Standard gesture from iOS/Google Photos.
Mobile-optimized batch bar is a separate question — current bar might be sufficient, but worth revisiting if mobile usage grows.
(Moved from #14)
Ideas that don't fit elsewhere can be added here as comments.
Collection of feature ideas for future consideration. No commitment on timeline or implementation.
Folder statistics
A small summary badge when browsing folders: "12× ★★★★★, 3 Picks, 2 Rejects" — useful for getting a quick sense of a folder without opening it.
Fullscreen mode (Chrome/Edge only)
Browser-native Fullscreen API for Grid + Loupe + Slideshow — escapes the Nextcloud chrome (header, sidebar) so the gallery fills the entire screen, ideal for client presentations on a big display.
Design (orthogonal axes):
Ftoggles fullscreen on/off, regardless of current view (Grid, Loupe, or Slideshow).Escalways means "Loupe → Grid", regardless of fullscreen state.Why Chrome/Edge only: the model requires the Keyboard Lock API (
navigator.keyboard.lock(['Escape'])) so ourEschandler still fires inside fullscreen instead of the browser swallowing Esc to exit. Keyboard Lock is supported in Chrome and Edge (HTTPS). Firefox and Safari don't support it — there,Escin fullscreen would exit the browser-level fullscreen first and then a secondEscwould go to the grid (two-step). To keep the model truly clean and avoid double-paths in code, the feature is feature-gated: ifnavigator.keyboard?.lockis missing, theFshortcut and button are simply hidden. No fallback logic, no degraded UX leakage.Implementation sketch:
requestFullscreen()on the Gallery root so both Grid and Loupe benefit.document.fullscreenchangeevent.Fkeyboard shortcut + a small button (icon-only) in both Grid and Loupe.navigator.keyboard.lock(['Escape'])+ optionalnavigator.wakeLock.request('screen')for client-presentation no-sleep.Bonus: wake-lock is most valuable here — long slideshow on a tablet at a client meeting won't have the screen sleep.
NC Files integration (sidebar)
Set ratings directly in the Nextcloud Files sidebar without opening StarRate. Would make StarRate feel more native to NC and reduce context switching.
Mobile selection via long-press
Long-press (~500ms) on thumbnails to enter multi-selection on touchscreens (no modifier keys available). Standard gesture from iOS/Google Photos.
Mobile-optimized batch bar is a separate question — current bar might be sufficient, but worth revisiting if mobile usage grows.
(Moved from #14)
Ideas that don't fit elsewhere can be added here as comments.