me like nix
0

Configure Feed

Select the types of activity you want to include in your feed.

1pragma Singleton 2 3import QtQuick 4import Quickshell 5import Quickshell.Io 6 7QtObject { 8 readonly property string profile: _profile 9 readonly property string backend: _backend 10 11 property string _profile: "" 12 property string _backend: "" 13 14 function setProfile(name) { 15 if (_backend === "system76") { 16 var s76profile = name === "power-saver" ? "battery" : name 17 _setProc.command = ["system76-power", "profile", s76profile] 18 } else { 19 _setProc.command = ["powerprofilesctl", "set", name] 20 } 21 _setProc.running = true 22 _profile = name 23 } 24 25 function cycleProfile() { 26 var next = "balanced" 27 if (_profile === "balanced") next = "performance" 28 else if (_profile === "performance") next = "power-saver" 29 else next = "balanced" 30 setProfile(next) 31 } 32 33 property var _backendProc: Process { 34 command: ["sh", "-c", "command -v system76-power >/dev/null 2>&1 && echo system76 || echo ppd"] 35 stdout: SplitParser { 36 onRead: data => { 37 if (!data) return 38 _backend = data.trim() 39 } 40 } 41 Component.onCompleted: running = true 42 } 43 44 property var _profileProc: Process { 45 command: ["sh", "-c", "if command -v system76-power >/dev/null 2>&1; then p=$(system76-power profile 2>/dev/null | grep -oiE 'performance|balanced|battery' | tr '[:upper:]' '[:lower:]'); [ \"$p\" = \"battery\" ] && p=\"power-saver\"; echo \"${p:-unknown}\"; else powerprofilesctl get 2>/dev/null || echo unknown; fi"] 46 stdout: SplitParser { 47 onRead: data => { 48 if (!data) return 49 _profile = data.trim() 50 } 51 } 52 Component.onCompleted: running = true 53 } 54 55 property var _setProc: Process { 56 id: _setProc 57 } 58 59 property var _timer: Timer { 60 interval: 2000 61 running: true 62 repeat: true 63 onTriggered: _profileProc.running = true 64 } 65}