mirror of
https://github.com/tomasriveral/nixos.git
synced 2026-08-12 02:28:37 +02:00
ported some quickshell stuff from rivendell-hyprdots
This commit is contained in:
@@ -0,0 +1,166 @@
|
||||
import QtQuick
|
||||
import QtQuick.Effects
|
||||
import Quickshell
|
||||
import QtQuick.Layouts
|
||||
import Quickshell.Wayland
|
||||
import "mpris" as Mpris
|
||||
import "systray" as SysTray
|
||||
import ".."
|
||||
|
||||
PanelWindow {
|
||||
id: root
|
||||
|
||||
property var modelData
|
||||
readonly property var tooltip: tooltip
|
||||
readonly property real tooltipYOffset: root.height + 2
|
||||
Tooltip {
|
||||
id: tooltip
|
||||
bar: root
|
||||
}
|
||||
function boundedY(targetY: real, height: real): real {
|
||||
return Math.max(bar.anchors.topMargin + height, Math.min(bar.height + bar.anchors.topMargin - height, targetY));
|
||||
}
|
||||
function boundedX(targetX: real, width: real): real {
|
||||
return Math.max(bar.anchors.leftMargin + width, Math.min(bar.width + bar.anchors.leftMargin - width, targetX));
|
||||
}
|
||||
|
||||
WlrLayershell.namespace: "shell:bar"
|
||||
anchors {
|
||||
top: true
|
||||
left: true
|
||||
right: true
|
||||
}
|
||||
exclusiveZone: 48
|
||||
implicitHeight: 72
|
||||
color: "transparent"
|
||||
mask: barRegion
|
||||
|
||||
Region {
|
||||
id: barRegion
|
||||
width: bar.width
|
||||
height: bar.height
|
||||
}
|
||||
|
||||
Item {
|
||||
id: bar
|
||||
|
||||
anchors {
|
||||
top: parent.top
|
||||
left: parent.left
|
||||
right: parent.right
|
||||
}
|
||||
|
||||
implicitHeight: 48
|
||||
|
||||
Rectangle {
|
||||
anchors {
|
||||
top: parent.top
|
||||
bottom: parent.bottom
|
||||
left: parent.left
|
||||
}
|
||||
|
||||
implicitWidth: left.width + left.anchors.leftMargin + left.anchors.rightMargin
|
||||
implicitHeight: left.height
|
||||
color: "#3B253F"
|
||||
|
||||
Rectangle {
|
||||
z: -1
|
||||
anchors.fill: parent
|
||||
color: "#BE850E"
|
||||
anchors.margins: -4
|
||||
}
|
||||
Image {
|
||||
width: 16 * 6
|
||||
height: 4 * 6
|
||||
anchors.top: parent.bottom
|
||||
anchors.left: parent.left
|
||||
source: "../assets/bar-decor.png"
|
||||
smooth: false
|
||||
}
|
||||
|
||||
RowLayout {
|
||||
id: left
|
||||
|
||||
anchors {
|
||||
top: parent.top
|
||||
bottom: parent.bottom
|
||||
left: parent.left
|
||||
leftMargin: 7
|
||||
rightMargin: 7
|
||||
}
|
||||
|
||||
spacing: 12
|
||||
|
||||
Launcher {}
|
||||
|
||||
Workspaces {
|
||||
bar: root
|
||||
}
|
||||
|
||||
SysTray.SysTray {
|
||||
bar: root
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Rectangle {
|
||||
anchors {
|
||||
top: parent.top
|
||||
bottom: parent.bottom
|
||||
right: parent.right
|
||||
}
|
||||
|
||||
implicitWidth: right.width + right.anchors.leftMargin + right.anchors.rightMargin
|
||||
implicitHeight: right.height
|
||||
color: "#3B253F"
|
||||
|
||||
Rectangle {
|
||||
z: -1
|
||||
anchors.fill: parent
|
||||
color: "#BE850E"
|
||||
anchors.margins: -4
|
||||
}
|
||||
Image {
|
||||
width: 16 * 6
|
||||
height: 4 * 6
|
||||
anchors.top: parent.bottom
|
||||
anchors.right: parent.right
|
||||
source: "../assets/bar-decor.png"
|
||||
smooth: false
|
||||
mirror: true
|
||||
}
|
||||
|
||||
RowLayout {
|
||||
id: right
|
||||
|
||||
anchors {
|
||||
top: parent.top
|
||||
bottom: parent.bottom
|
||||
right: parent.right
|
||||
leftMargin: 7
|
||||
rightMargin: 7
|
||||
}
|
||||
|
||||
spacing: 12
|
||||
|
||||
Time {}
|
||||
|
||||
Volume {
|
||||
bar: root
|
||||
}
|
||||
|
||||
Mpris.Players {
|
||||
window: root
|
||||
bar: root
|
||||
}
|
||||
|
||||
Theme {}
|
||||
|
||||
Power {
|
||||
id: power
|
||||
bar: root
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user