mirror of
https://github.com/danbulant/dots-hyprland
synced 2026-05-19 04:08:48 +00:00
61 lines
1.6 KiB
QML
61 lines
1.6 KiB
QML
import qs.modules.common
|
|
import QtQuick
|
|
import Quickshell
|
|
import Quickshell.Io
|
|
import Quickshell.Services.Pipewire
|
|
pragma Singleton
|
|
pragma ComponentBehavior: Bound
|
|
|
|
/**
|
|
* Handles EasyEffects active state and presets.
|
|
*/
|
|
Singleton {
|
|
id: root
|
|
|
|
property bool available: false
|
|
property bool active: false
|
|
|
|
function fetchAvailability() {
|
|
fetchAvailabilityProc.running = true
|
|
}
|
|
|
|
function fetchActiveState() {
|
|
fetchActiveStateProc.running = true
|
|
}
|
|
|
|
function disable() {
|
|
root.active = false
|
|
Quickshell.execDetached(["bash", "-c", "pkill easyeffects || flatpak pkill com.github.wwmm.easyeffects"])
|
|
}
|
|
|
|
function enable() {
|
|
root.active = true
|
|
Quickshell.execDetached(["bash", "-c", "easyeffects --gapplication-service || flatpak run com.github.wwmm.easyeffects --gapplication-service"])
|
|
}
|
|
|
|
function toggle() {
|
|
if (root.active) {
|
|
root.disable()
|
|
} else {
|
|
root.enable()
|
|
}
|
|
}
|
|
|
|
Process {
|
|
id: fetchAvailabilityProc
|
|
running: true
|
|
command: ["bash", "-c", "command -v easyeffects || flatpak info com.github.wwmm.easyeffects > /dev/null 2>&1"]
|
|
onExited: (exitCode, exitStatus) => {
|
|
root.available = exitCode === 0
|
|
}
|
|
}
|
|
|
|
Process {
|
|
id: fetchActiveStateProc
|
|
running: true
|
|
command: ["bash", "-c", "pidof easyeffects || flatpak ps | grep com.github.wwmm.easyeffects > /dev/null 2>&1"]
|
|
onExited: (exitCode, exitStatus) => {
|
|
root.active = exitCode === 0
|
|
}
|
|
}
|
|
}
|