mirror of
https://github.com/AvengeMedia/DankMaterialShell.git
synced 2026-10-18 17:24:01 -04:00
* 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>
42 lines
932 B
QML
42 lines
932 B
QML
import QtQuick
|
|
import Quickshell.Services.Pipewire
|
|
import qs.Common
|
|
|
|
Item {
|
|
id: root
|
|
visible: false
|
|
|
|
readonly property bool ready: Pipewire.ready
|
|
readonly property var nodes: Pipewire.nodes.values
|
|
readonly property var defaultSink: Pipewire.defaultAudioSink
|
|
readonly property var defaultSource: Pipewire.defaultAudioSource
|
|
|
|
signal nodesUpdated
|
|
|
|
function setDefaultSink(node) {
|
|
Pipewire.preferredDefaultAudioSink = node;
|
|
}
|
|
|
|
function setDefaultSource(node) {
|
|
Pipewire.preferredDefaultAudioSource = node;
|
|
}
|
|
|
|
function isVideoSource(node) {
|
|
return !!node
|
|
&& (node.type & PwNodeType.VideoSource) === PwNodeType.VideoSource;
|
|
}
|
|
|
|
Connections {
|
|
target: Pipewire.nodes
|
|
function onValuesChanged() {
|
|
root.nodesUpdated();
|
|
}
|
|
}
|
|
|
|
PwObjectTracker {
|
|
objects: Pipewire.nodes.values.filter(node =>
|
|
node.audio || !node.isStream
|
|
)
|
|
}
|
|
}
|