mirror of
https://github.com/arthur-pbty/arthur-os.git
synced 2026-08-03 12:47:50 +02:00
64 lines
1.7 KiB
QML
64 lines
1.7 KiB
QML
import QtQuick
|
|
import Quickshell
|
|
import Quickshell.Wayland
|
|
import qs.Commons
|
|
import qs.Ui
|
|
|
|
BarWidget {
|
|
id: root
|
|
moduleName: "omarchy.active-window"
|
|
|
|
|
|
readonly property var toplevel: ToplevelManager.activeToplevel
|
|
readonly property string title: toplevel ? (toplevel.title || toplevel.appId || "") : ""
|
|
readonly property int maxLabelWidth: Number(setting("maxWidth", 280))
|
|
|
|
visible: title !== "" && !vertical
|
|
implicitWidth: visible ? Math.min(maxLabelWidth, labelText.implicitWidth) + Style.spacing.controlPaddingX * 2 : 0
|
|
implicitHeight: barSize
|
|
|
|
Behavior on implicitWidth {
|
|
NumberAnimation { duration: 180; easing.type: Easing.OutCubic }
|
|
}
|
|
|
|
Item {
|
|
anchors.fill: parent
|
|
anchors.leftMargin: Style.space(8)
|
|
anchors.rightMargin: Style.space(8)
|
|
clip: true
|
|
|
|
Text {
|
|
id: labelText
|
|
anchors.verticalCenter: parent.verticalCenter
|
|
anchors.left: parent.left
|
|
width: parent.width
|
|
text: root.title
|
|
color: root.bar ? root.bar.foreground : Color.foreground
|
|
font.family: root.bar ? root.bar.fontFamily : Style.font.family
|
|
font.pixelSize: Style.font.body
|
|
elide: Text.ElideRight
|
|
opacity: 0.85
|
|
}
|
|
}
|
|
|
|
MouseArea {
|
|
anchors.fill: parent
|
|
hoverEnabled: true
|
|
acceptedButtons: Qt.LeftButton | Qt.MiddleButton | Qt.RightButton
|
|
cursorShape: Qt.PointingHandCursor
|
|
|
|
onClicked: function(mouse) {
|
|
if (!root.toplevel) return
|
|
if (mouse.button === Qt.MiddleButton) {
|
|
root.toplevel.close()
|
|
} else if (mouse.button === Qt.RightButton) {
|
|
root.toplevel.close()
|
|
} else {
|
|
root.toplevel.activate()
|
|
}
|
|
}
|
|
onEntered: if (root.bar) root.bar.showTooltip(root, root.title)
|
|
onExited: if (root.bar) root.bar.hideTooltip(root)
|
|
}
|
|
}
|