bar: use loader instead of swipeview

Also properly set it up
Make network reloadable cause getting is pretty slow
This commit is contained in:
2 * r + 2 * t 2025-04-30 23:26:16 +10:00
parent 232f299286
commit 9339394e07
4 changed files with 140 additions and 91 deletions

View file

@ -1,11 +1,7 @@
import "root:/widgets"
import "root:/config"
import "components"
import "components/workspaces"
import Quickshell
import Quickshell.Wayland
import QtQuick
import QtQuick.Controls
Variants {
model: Quickshell.screens
@ -41,11 +37,64 @@ Variants {
// }
// }
SwipeView {
anchors.fill: parent
currentIndex: 1
Preset {
presetName: "pills"
Pills {}
}
}
component Preset: Loader {
id: loader
required property string presetName
anchors.fill: parent
asynchronous: true
active: false
opacity: 0
states: [
State {
name: "visible"
when: BarConfig.preset.name === loader.presetName
PropertyChanges {
loader.opacity: 1
loader.active: true
}
}
]
transitions: [
Transition {
from: ""
to: "visible"
SequentialAnimation {
PropertyAction {}
NumberAnimation {
property: "opacity"
duration: Appearance.anim.durations.large
easing.type: Easing.BezierSpline
easing.bezierCurve: Appearance.anim.curves.standard
}
}
},
Transition {
from: "visible"
to: ""
SequentialAnimation {
NumberAnimation {
property: "opacity"
duration: Appearance.anim.durations.large
easing.type: Easing.BezierSpline
easing.bezierCurve: Appearance.anim.curves.standard
}
PropertyAction {}
}
}
]
}
}

View file

@ -8,7 +8,6 @@ import Quickshell.Wayland
import QtQuick
import QtQuick.Layouts
Item {
BoxLayout {
id: root
@ -107,7 +106,6 @@ Item {
anchors.verticalCenter: root.get(parent.verticalCenter, undefined)
}
}
}
component Pill: PaddedRect {
id: pill

View file

@ -49,7 +49,7 @@ Item {
Repeater {
model: ScriptModel {
values: Hyprland.clients.filter(c => c.workspace.id === root.ws)
values: Hyprland.clients.filter(c => c.workspace?.id === root.ws)
}
MaterialIcon {

View file

@ -11,6 +11,8 @@ Singleton {
active: true
}
reloadableId: "network"
Process {
running: true
command: ["nmcli", "m"]