left-bar working, bottom bar semi-broken

This commit is contained in:
2026-08-14 16:31:52 +02:00
parent 1d150292d3
commit 4517e5ecd0
28 changed files with 404 additions and 168 deletions
+24 -6
View File
@@ -49,7 +49,7 @@ GridLayout {
} else if (id === "tray" && Config.bar.popouts.tray && Config.bar.tray.showOnHover) {
const tray = ch.item as TrayIcons;
const layout = tray.layout;
const trayItem = horizontal ? layout.childAt(mapToItem(layout, pos, 0).x, layout.height / 2) : layout.childAt(items.width / 2, mapToItem(layout, 0, pos).y);
const trayItem = horizontal ? layout.childAt(mapToItem(layout, pos, 0).x, layout.height / 2) : layout.childAt(tray.width / 2, mapToItem(layout, 0, pos).y);
if (trayItem) {
const idx = trayItem.index;
@@ -92,7 +92,10 @@ GridLayout {
roleValue: "hyprsunset"
delegate: EntryWrapper {
Layout.fillWidth: !root.horizontal
HyprsunsetWidget {
horizontal: root.horizontal
visible: !root.fullscreen
}
}
@@ -123,6 +126,8 @@ GridLayout {
roleValue: "tray"
delegate: EntryWrapper {
Layout.fillWidth: !root.horizontal
TrayIcons {
horizontal: root.horizontal
loader: root
@@ -136,6 +141,8 @@ GridLayout {
roleValue: "statusIcons"
delegate: EntryWrapper {
Layout.fillWidth: !root.horizontal
StatusIcons {
horizontal: root.horizontal
}
@@ -146,6 +153,8 @@ GridLayout {
roleValue: "resources"
delegate: EntryWrapper {
Layout.fillWidth: !root.horizontal
Resources {
horizontal: root.horizontal
visibilities: root.visibilities
@@ -158,6 +167,8 @@ GridLayout {
roleValue: "updates"
delegate: EntryWrapper {
Layout.fillWidth: !root.horizontal
UpdatesWidget {
horizontal: root.horizontal
visible: !root.fullscreen
@@ -169,6 +180,8 @@ GridLayout {
roleValue: "notifBell"
delegate: EntryWrapper {
Layout.fillWidth: !root.horizontal
NotifBell {
horizontal: root.horizontal
popouts: root.popouts
@@ -182,6 +195,8 @@ GridLayout {
roleValue: "clock"
delegate: EntryWrapper {
Layout.fillWidth: !root.horizontal
Clock {
horizontal: root.horizontal
loader: root
@@ -196,6 +211,8 @@ GridLayout {
roleValue: "activeWindow"
delegate: EntryWrapper {
Layout.fillWidth: !root.horizontal
WindowTitle {
bar: root
horizontal: root.horizontal
@@ -209,7 +226,6 @@ GridLayout {
delegate: EntryWrapper {
NetworkWidget {
horizontal: root.horizontal
}
}
}
@@ -218,6 +234,8 @@ GridLayout {
roleValue: "media"
delegate: EntryWrapper {
Layout.fillWidth: !root.horizontal
MediaWidget {
horizontal: root.horizontal
visible: !root.fullscreen
@@ -233,11 +251,11 @@ GridLayout {
default property Item item
required property var modelData
Layout.alignment: Qt.AlignVCenter
Layout.alignment: root.horizontal ? Qt.AlignVCenter : Qt.AlignHCenter
Layout.bottomMargin: !root.horizontal && index === repeater.count - 1 ? root.vPadding : 0
Layout.leftMargin: root.horizontal && index === 0 ? root.vPadding : (entryId === "statusIcons") ? -root.rowSpacing + Appearance.spacing.extraSmall : 0
Layout.rightMargin: root.horizontal && index === repeater.count - 1 ? root.vPadding : 0
Layout.topMargin: !root.horizontal && index === 0 ? root.vPadding : (entryId === "statusIcons") ? -root.columnSpacing + Appearance.spacing.extraSmall : 0
Layout.leftMargin: root.horizontal && index === 0 ? root.vPadding : (entryId === "statusIcons" && root.horizontal) ? -root.rowSpacing + Appearance.spacing.extraSmall : root.horizontal ? 0 : Appearance.padding.smaller
Layout.rightMargin: root.horizontal && index === repeater.count - 1 ? root.vPadding : root.horizontal ? 0 : Appearance.padding.smaller
Layout.topMargin: !root.horizontal && index === 0 ? root.vPadding : (entryId === "statusIcons" && !root.horizontal) ? -root.columnSpacing + Appearance.spacing.extraSmall : 0
children: item
implicitHeight: item?.implicitHeight ?? 0
implicitWidth: item?.implicitWidth ?? 0
+2 -9
View File
@@ -1,28 +1,22 @@
pragma ComponentBehavior: Bound
import Quickshell
import Quickshell.Hyprland
import QtQuick
import QtQuick.Layouts
import qs.Components
import qs.Modules
import qs.Config
import qs.Helpers
import qs.Modules.SysTray
import qs.Modules.SysTray.Widgets
import qs.Modules.Network
Item {
id: root
readonly property int clampedExtent: Math.max(Config.bar.border, extent)
readonly property int contentThickness: Config.bar.height + padding * 2
readonly property int contentThickness: Math.max(Config.bar.height, (horizontal ? 24 : 30)) + padding * 2
readonly property int exclusiveZone: Config.bar.autoHide ? Config.bar.border : contentThickness
property real extent: fullscreen ? 0 : Config.bar.border
required property bool fullscreen
readonly property bool horizontal: position !== "left"
property bool isHovered
readonly property int padding: Math.max(Appearance.padding.smaller, Config.bar.border)
readonly property int padding: horizontal ? Math.max(Appearance.padding.smaller, Config.bar.border) : Math.max(Appearance.padding.larger, Config.bar.border)
required property Wrapper popouts
required property ClipWrapper popoutsWrapper
required property string position
@@ -89,7 +83,6 @@ Item {
sourceComponent: Bar {
fullscreen: root.fullscreen
height: root.contentHeight
horizontal: root.horizontal
popouts: root.popouts
popoutsWrapper: root.popoutsWrapper