Commit e3dbaed started skipping all system sounds (notifications, volume,
power, login) whenever an MPRIS player is playing, with no way to opt out.
Users who rely on notification sounds while listening to music lost them
entirely.
Add a 'Mute During Playback' toggle (SettingsData.muteSoundsWhenMediaPlaying,
default true) so the current behaviour is preserved, but users can disable
it to restore audible sounds while media is playing. The media check is
wrapped in shouldMuteForMedia(), which gates on the new setting before
querying the active player.
Closes#2616
* feat(tailscale): add connect/disconnect/exit-node/LAN-access backend
The Tailscale backend previously exposed only read-only status
(tailscale.getStatus, tailscale.refresh). This adds write actions through the
existing tailscale.com/client/local integration:
- tailscale.connect / tailscale.disconnect (EditPrefs WantRunning)
- tailscale.setExitNode (EditPrefs ExitNodeID; empty id clears it and any
legacy ExitNodeIP, mirroring `tailscale set --exit-node`)
- tailscale.setAllowLanAccess (EditPrefs ExitNodeAllowLANAccess)
The manager's client interface gains GetPrefs/EditPrefs; fetchState merges
ExitNodeAllowLANAccess from prefs, and Peer exposes ExitNodeOption so the UI
can list exit-node-capable peers.
* feat(tailscale): expose the new actions in TailscaleService
Adds connectTailscale/disconnectTailscale, setExitNode/clearExitNode and
setAllowLanAccess wrappers, plus derived exitNodeOptions/currentExitNode and the
exitNodeAllowLanAccess state. Write-action errors surface via ToastService.
* feat(tailscale): add connection, exit-node and LAN-access controls to the widget
The control-center widget toggle was a no-op. It now connects/disconnects, and
the detail panel gains a connection status row with a connect/disconnect button,
an exit-node picker and a LAN-access toggle.
- Add a full popout Notepad experience w/new layout settings
- New ability to choose the left or right side of the screen
- Add more safegaurds to preserve user data throughout
- New banner to show file reload/conflict handling
- New extensionless file support
- Polish settings with gap controls, compact buttons, and shortcuts help
* feat(media-control): support scroll and right-click on audio output devices in media popout
* feat(media-control): make device list volume scrolling optional
- Keep wallpaper surfaces persistent and remove `updatesEnabled` throttling that could leave wallpapers grey or frozen after DPMS, suspend, fullscreen, or output changes
Fixes#2612Fixes#2299Fixes#2272Fixes#2028
* feat(notifications): add user-configurable font size for summary and body in notification popups
* feat: add Unset for falling back to previous default values
* fix: prek hook errors
---------
Co-authored-by: Klesh Wong <kleshwong@gmail.com>
Adds a thin bar pinned to the bottom of the notification card that drains
full->empty over the auto-dismiss timer, as a visual countdown to
dismissal. Opt-in via notificationShowTimeoutBar (default off), with a
toggle in Settings > Notifications. Shown for any timed notification
(timer.interval > 0, including timed criticals); inset by the corner
radius, and frozen while hovered or during the exit animation. Plain
Rectangle - no offscreen textures or shader passes. A Connections on the
timer resets the bar on every (re)start, including the in-place restart
on a deduped notification.
Co-authored-by: bogdan-velicu <hydrotech074@gmail.com>
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
* feat(quickshell): add local to-do planner / tasks to calendar overview card
* feat(quickshell): add auto-focus and task reordering support in calendar planner
* feat(quickshell): implement smooth drag-and-drop task reordering and inline editing
* fix(quickshell): resolve overlap and jitter in task drag-and-drop
* fix(quickshell): fix boundary swaps and prevent task list scrambling on reload
* fix(quickshell): resolve race, fix qml error, simplify dragging, and remove python dependency
* fix(quickshell): use Log service instead of console.warn in CalendarService
* style: format QML files w/qmlformat-qt6
---------
* fix: ignore keyboard shortcuts of disabled powermenu actions
* fix typo when checking for lock shortcut
* ignore shortcuts for hidden powermenu actions in grid navigation
* ignore keyboard shortcuts of disabled actions in lock power menu
* ignore keyboard shortcuts of disabled actions in lock power menu (list navigation)
- Read and convert external compositor rules into editable DMS rules
- Preserve niri multi-match rules and add match editor
- niri background-effect (blur/xray/noise/saturation) support
* feat(control-center): add widget config overlay with showMountPath toggle for DiskUsage
Introduces WidgetConfigOverlay and DiskUsageWidgetConfigMenu components, allowing
users to toggle mount path visibility per DiskUsage widget in edit mode
* refactor(control-center): use Theme.iconSizeLarge and Theme.fontSizeLarge for small tiles
Standardize SmallDiskUsageButton and SmallBatteryButton sizing with Theme.iconSizeLarge
and Theme.fontSizeLarge, and unify font weight to Font.Bold on both tile widgets.
* fix(control-center): adjust SmallDiskUsageButton font size based on showMountPath
* refactor(control-center): simplify DiskUsage config menu i18n strings
Remove the redundant "Disk Usage Widget" title and the toggle description
to reduce translatable strings