qs: add pinned tray entries

zsh: fix
yazi: update
hypridle: decided not switching to swayidle :)
This commit is contained in:
2026-05-12 19:31:42 +02:00
parent c30e4ae680
commit 50561e877a
14 changed files with 65 additions and 32 deletions
@@ -11,8 +11,11 @@ import qs.Modules.Bar.Modules
import qs.Services
Variants {
id: root
model: Quickshell.screens
property var pinnedTrayIds
Item {
property var modelData
@@ -133,7 +136,7 @@ Variants {
id: rightLayout
height: parent.height - Style.marginXS * 2
spacing: Style.marginM
spacing: Style.marginS
anchors {
right: parent.right
@@ -186,8 +189,8 @@ Variants {
RecordIndicator {
}
Ip {
}
// Ip {
// }
CpuTemp {
}
@@ -265,6 +268,21 @@ Variants {
Separator {
}
Loader {
Layout.fillHeight: true
active: NukeKded6.done
sourceComponent: SystemTray {
screen: modelData
pinnedIds: root.pinnedTrayIds
height: parent.height
}
}
Separator {
}
RowLayout {
Layout.fillHeight: true
spacing: Style.marginS
@@ -275,6 +293,7 @@ Variants {
sourceComponent: TrayExpander {
screen: modelData
baseSize: rightLayout.height - Style.marginXS * 2
excludeIds: root.pinnedTrayIds
}
}
@@ -15,8 +15,10 @@ Rectangle {
property ShellScreen screen
property var activeTrayItem: null
property var pinnedIds: []
property var excludeIds: []
implicitWidth: trayFlow.implicitWidth + 20
implicitWidth: trayFlow.implicitWidth > 0 ? trayFlow.implicitWidth + 20 : 0
implicitHeight: parent.height
radius: 0
color: Colors.transparent
@@ -36,7 +38,12 @@ Rectangle {
delegate: Item {
width: 18
height: 18
visible: modelData
visible: {
if (!modelData) return false
if (pinnedIds.length > 0) return pinnedIds.includes(modelData.id)
if (excludeIds.length > 0) return !excludeIds.includes(modelData.id)
return true
}
IconImage {
id: trayIcon
@@ -11,6 +11,7 @@ Item {
property ShellScreen screen
property int baseSize: Style.baseWidgetSize
property var excludeIds: []
implicitWidth: baseSize + trayContainer.implicitWidth
implicitHeight: layout.implicitHeight
@@ -40,6 +41,7 @@ Item {
id: expandedTray
screen: root.screen
excludeIds: root.excludeIds
}
Behavior on implicitWidth {
@@ -16,13 +16,13 @@ Singleton {
property bool isReplayStarted: false
property bool isStopping: false
property bool isReplayStopping: false
readonly property string codec: "libx264"
readonly property string container: "mkv"
readonly property string pixelFormat: "yuv420p"
readonly property string codec: "av1_nvenc"
readonly property string container: "mp4"
readonly property string pixelFormat: "p010le"
property string recordingDisplay: ""
readonly property int replayDuration: 15
readonly property int framerate: 60
readonly property var codecParams: Object.freeze(["preset=ultrafast", "crf=15", "tune=zerolatency", "color_range=tv"])
readonly property var codecParams: Object.freeze(["preset=p4", "rc=constqp", "qp=18", "color_range=tv"])
readonly property var filterArgs: ""
function getFilename(prefix = "recording") {
@@ -29,6 +29,8 @@ ShellRoot {
Bar {
id: bar
pinnedTrayIds: ["Fcitx", "nm-applet", "blueman"]
}
Corners {