reworked Workspace.qml to support specialworkspace, fixed launcher opening on two monitors, added slider animation back as an option
This commit is contained in:
@@ -13,6 +13,22 @@ ModuleChip {
|
||||
chipColor: t.wsPanelBg
|
||||
chipBorderColor: t.wsPanelBorder
|
||||
|
||||
property string activeSpecial: ""
|
||||
property string lastActiveName: ""
|
||||
|
||||
Connections {
|
||||
target: Hyprland
|
||||
function onRawEvent(event) {
|
||||
if (event.name === "activespecial") {
|
||||
var name = event.data.split(",")[0]
|
||||
root.activeSpecial = name
|
||||
}
|
||||
if (event.name === "workspace") {
|
||||
root.lastActiveName = event.data
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
RowLayout {
|
||||
id: workspaceLayout
|
||||
anchors.centerIn: parent
|
||||
@@ -22,13 +38,25 @@ ModuleChip {
|
||||
model: Hyprland.workspaces
|
||||
|
||||
Rectangle {
|
||||
Layout.preferredWidth: modelData.active ? 34 : 28
|
||||
id: wsPill
|
||||
|
||||
visible: modelData.name !== "special:magic"
|
||||
|
||||
property bool isSelected: modelData.active || (root.activeSpecial !== "" && modelData.name === root.lastActiveName)
|
||||
|
||||
Layout.preferredWidth: isSelected ? 34 : 28
|
||||
Layout.preferredHeight: 22
|
||||
radius: 11
|
||||
|
||||
color: modelData.active
|
||||
? root.t.wsActiveBg
|
||||
: (wsHover.hovered ? root.t.wsHoverBg : root.t.wsInactiveBg)
|
||||
color: {
|
||||
if (isSelected && root.activeSpecial !== "") {
|
||||
return root.t.wsMagicActiveBg
|
||||
}
|
||||
if (modelData.active) {
|
||||
return root.t.wsActiveBg
|
||||
}
|
||||
return wsHover.hovered ? root.t.wsHoverBg : root.t.wsInactiveBg
|
||||
}
|
||||
|
||||
Behavior on color { ColorAnimation { duration: 200 } }
|
||||
Behavior on Layout.preferredWidth { NumberAnimation { duration: 200 } }
|
||||
@@ -38,9 +66,15 @@ ModuleChip {
|
||||
text: modelData.name
|
||||
font.pixelSize: 11
|
||||
font.bold: true
|
||||
color: modelData.active
|
||||
? root.t.wsActiveText
|
||||
: (wsHover.hovered ? root.t.wsHoverText : root.t.wsInactiveText)
|
||||
color: {
|
||||
if (isSelected && root.activeSpecial !== "") {
|
||||
return root.t.wsMagicActiveText
|
||||
}
|
||||
if (modelData.active) {
|
||||
return root.t.wsActiveText
|
||||
}
|
||||
return wsHover.hovered ? root.t.wsHoverText : root.t.wsInactiveText
|
||||
}
|
||||
}
|
||||
|
||||
HoverHandler { id: wsHover; cursorShape: Qt.PointingHandCursor }
|
||||
|
||||
Reference in New Issue
Block a user