* feat: add neovim-lualine template, set vim.o.background automatically based on dms light/dark mode
* feat(matugen): add option to follow dms background color or not on neovim
* chore: regenerate settings and translation index after merging master
* feat(filebrowser): add filebrowser video thumbnails display
- Find cached thumbnails first
- If not found, generate with ffmpegthumbnailer
- Fallback to placeholder icon if dependency not met
* fix(filebrowser): create thumbnail cache dir if not exists
* refactor(filebrowser): prefer using Paths lib
* fix(filebrowser): only check filetype once for each file
* fix(filebrowser): early test for thumbnails
* feat: add xdgCache path
fzf.js relied on stable Array.sort to preserve score ordering, which is
not guaranteed in QML's JS engine. Results appeared in arbitrary order
with low-relevance matches above exact matches. The sort comparator now
explicitly sorts by score descending, with a length-based tiebreaker so
shorter matches rank first when scores are tied.
Also fixed Object.assign mutating the shared defaultOpts object, which
could cause options to leak between Finder instances.
DankDropdown's onOpened handler now reinitializes the search when previous
search text exists, fixing the empty results shown on reopen.
Added resetSearch() for consumers to clear search state externally.
* Add tmux
* Add mux modal
* Restore the settings config version
* Revert typo
* Use DankModal for InputModal
* Simplify terminal flags
* use showWithOptions for inputModals instead
* Fix translation
* use Quickshell.env("TERMINAL") to choose terminal
* Fix typo
* Hide muxModal after creating new session
* Add mux check, moved exclusion to service, And use ScriptModel
* Revert unrelated change
* Add blank line
- Split auth capability state by lock screen and greeter
- Share detection between settings UI and lock runtime
- Broaden greeter PAM include detection across supported distros
* Issue:(Settings)Switched Neovim Mutagen Theme To Default False
* also set to false in settingsData
- this is the case when file fails to parse
---------
Co-authored-by: bbedward <bbedward@gmail.com>
Supersedes #1878. Rather than duplicating the moddedAppId + file path
substitution pattern inline across 8 files, this introduces two
centralized functions in Paths.qml:
- resolveIconPath(iconName): for Quickshell.iconPath() callsites,
with DesktopService.resolveIconPath() fallback
- resolveIconUrl(iconName): for image://icon/ URL callsites
All consumer files now use one-line calls. When no substitutions are
configured, moddedAppId() returns the original name unchanged (zero
cost), so this has no impact on users who don't use the feature.
Affected components:
- AppIconRenderer (8 lines → 1)
- NotificationCard, NotificationPopup, HistoryNotificationCard
- DockContextMenu, AppsDockContextMenu
- LauncherContent, LauncherTab (×3)
Co-authored-by: odtgit <odtgit@taliops.com>
- Added global toggles in the Themes tab
- Light color & directional user ovverides
- Independent shadow overrides per/bar
- Refactored various components to sync the updated designs
* feat: add setting for first day of the week
* fix: extract settings indices
* fix: formatting mistake
* fix(ui): add outline rectangle between settings and reorder settings
* fix: don't set firstDayOfWeek automatically to system's locale
Allow appIdSubstitutions to return absolute file paths (/, ~, file://)
that bypass Quickshell.iconPath theme lookup. This enables users to map
app IDs directly to icon files on disk via the existing substitution UI.
Fixes PWA icon resolution for Chrome, Chromium and Edge PWAs where
Qt's icon theme lookup fails to find icons installed to
~/.local/share/icons/hicolor/ by the browser.
Example substitutions (Settings → Running Apps → App ID Substitutions):
^msedge-_(.+)$ → ~/.local/share/icons/hicolor/128x128/apps/msedge-$1.png
^(chrome|msedge|chromium)-(.+)$ → ~/.local/share/icons/hicolor/128x128/apps/$1-$2.png
Tested with Chrome PWAs (YouTube, Twitch, ai-ta) and Edge PWAs
(Microsoft Teams, Outlook) on niri/Wayland.
Co-authored-by: odtgit <odtgit@taliops.com>
* feat: add setting to change and hotreload locale
* fix: typo in component id
* feat: add persistent locale setting
* feat: wrap useLocale in a settings set hook, enable locale hotreload when editing settings file
* chore: update translation and settings file
* feat: enable fuzzy search in locale setting
* fix: regenerate translations with official plugins cloned
* fix: revert back to system's locale for displaying certain time formats
* feat: Add FIDO2/U2F security key support for lock screen
Adds hardware security key authentication (e.g. YubiKey) with two modes:
Alternative (OR) and Second Factor (AND). Includes settings UI, PAM
integration, availability detection, and proper state cleanup.
Also fixes persist:false properties being reset on settings file reload.
* feat: Add U2F pending timeout and Escape to cancel
Cancel U2F second factor after 30s or on Escape key press,
returning to password/fingerprint input.
* fix: U2F detection honors custom PAM override for non-default key paths
* feat(lockscreen): enable use of videos as screensaver in the lock screen
* reducing debug logs
* feature becomes available only when QtMultimedia is available
- Implement deep search icon resolution in DesktopService with runtime caching.
- Update Paths.getAppIcon to utilize enhanced resolution for mismatched app IDs.
- Align Workspace Switcher fallback icons with AppsDock visual style.
- Synchronize fallback text logic between Switcher and Dock using app names.
- New background toggles
- New maxIcon & maxText widget sizes (global)
- Dedicated M3 padding slider
- New independent icon scale options
- Updated logic to improve performance on single & dual bar modes