it doesnt interfere, with a setting to turn it off
Some compositors like kwin/labwc/sway cannot have this without breaking
some built in layering they do.
niri can have this, but for focus follow mouse it may need to be disabled.
fixes#3717
* feat(freebsd): add comprehensive native FreeBSD support
* Update BatteryService.qml
* Add battery probe completion and fallback updates
* Add isVideoSource function and update PwObjectTracker filter
* Add isPipewireVideoSource function to AudioService
Added a function to check if a Pipewire node is a video source.
* Refactor video source check to use AudioService
* Remove unnecessary call in BatteryService.qml
* Add call to updateFreeBsdBatteryFallback on completion
* Simplify AudioService by eliminating redundant bindings
Removed unnecessary bindings in the AudioService loader to streamline the loading process.
* Improve error handling in CheckUpdates function
Handle specific exit error for package upgrade check.
* Enhance FreeBSD network detection logic
* Implement FreeBSD Wi-Fi hardware discovery in Initialize
Added FreeBSD Wi-Fi hardware discovery and updated initialization logic to handle cases where no wpa_supplicant control socket is found.
* Implement Ethernet state monitoring in StartMonitoring
Added monitoring for Ethernet state updates in StartMonitoring function.
* Add Ethernet management functions to backend
* Remove unimplemented Ethernet control methods
Removed unimplemented Ethernet control methods from WpaSupplicantBackend.
* Implement SetWiFiEnabled method for WiFi control
Add error handling and state management for WiFi control
* Update core/internal/server/network/backend_wpa_ethernet.go
Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com>
* Implement Ethernet monitoring in WpaSupplicantBackend
* Refactor startEthernetMonitor and add debounce logic
Refactor the startEthernetMonitor function to improve readability and maintainability. Introduce a debounce mechanism for processing relevant FreeBSD route events.
* Reorder import statements in backend_pkg.go
* Remove unnecessary blank line in backend_wpa_ethernet.go
* Implement FreeBSD audio polling based on UI visibility
Introduce a polling mechanism for FreeBSD audio device updates based on visibility of UI elements.
* Add readonly freeBsdPollingRequested property and optimize polling
Introduce a readonly property to determine if FreeBSD polling is requested based on various UI conditions. Update command execution to prioritize polling efficiency.
* Simplify freeBsdPollingRequested logic
Removed unnecessary conditions from freeBsdPollingRequested property.
* Implement reference counting for battery consumers
Added reference counting to manage battery information consumers and updated related functions for better battery state handling.
---------
Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com>
deprecation notice to plugin compatibility shims
- When qml-common became a thing, we left qs.Widgets shims in place for
plugin compatibility
- It's annoying to need to maintain them when qml-common has any change,
add a warning so we can safely deprecate them in the future
- One shot rename the common stuff to D to make it shorter and nicer to
write
- caps lock, power profile, idle inhibitor and charging pulse in the island
- microphone mute and volume as a level transient
- privacy slot while mic, camera or screen share is in use
- duo battery style: arc around the network glyph with signal dots
* bluetooth: identify codecs from the profile description
PipeWire describes profiles in the daemon's locale and only names the codec in
that description for the bare profile (LHDC settles on "a2dp-sink"), so the old
English "codec %s" match dropped LHDC profiles on non-English systems. Parsing
the translated shape instead only moves the coupling to word order and
punctuation.
Emit the profile index and raw description from the lua script and let the UI
name the codec by matching the untranslated literal from one codec table.
Switch by index, falling back to the profile name or codec literal, so no
translated text is parsed. Also teach the BlueZ fallback the Savitech ids
(LHDC v5 and v3).
Test: quickshell/tests/bluez-codec.test.mjs
* bluetooth: show unknown codec without masking bluez
* bluetooth: ignore stale codec query results
scrollbar: interface style toggle and no scrollbars in the dash
dash: never allow scrollbars
cc: widget sheet cards, header close button and content-sized dialogs
- Standard bars respond to the global surface opacity again
- Island dash stays open when an edit-mode menu is used
- Weather forecast chip and island level groove follow the foreground opacity
- Control center tile icons follow blur and foreground settings like the slider icons
- Restored the layer outline on control center tiles and slider rows
- Hover popouts setting is visible for island bars
- Bumped dank-qml-common