overview: add active border

This commit is contained in:
end-4
2025-05-06 10:50:04 +02:00
parent 009bc60c41
commit e38a0bdac7
@@ -72,14 +72,19 @@ Item {
id: workspace id: workspace
property int colIndex: index property int colIndex: index
property int workspaceValue: root.workspaceGroup * workspacesShown + rowIndex * ConfigOptions.overview.numOfCols + colIndex + 1 property int workspaceValue: root.workspaceGroup * workspacesShown + rowIndex * ConfigOptions.overview.numOfCols + colIndex + 1
property color defaultColor: Appearance.colors.colLayer1 // TODO: reconsider this color for a cleaner look property color defaultWorkspaceColor: Appearance.colors.colLayer1 // TODO: reconsider this color for a cleaner look
property color hoveredWorkspaceColor: Appearance.mix(defaultWorkspaceColor, Appearance.colors.colLayer1Hover, 0.1)
property color hoveredBorderColor: Appearance.colors.colLayer2Hover
property color activeBorderColor: Appearance.m3colors.m3secondary
property bool hovered: false
implicitWidth: root.workspaceImplicitWidth implicitWidth: root.workspaceImplicitWidth
implicitHeight: root.workspaceImplicitHeight implicitHeight: root.workspaceImplicitHeight
color: defaultColor color: hovered ? hoveredWorkspaceColor : defaultWorkspaceColor
radius: Appearance.rounding.screenRounding * root.scale radius: Appearance.rounding.screenRounding * root.scale
border.width: 2 border.width: 2
border.color: "transparent" border.color: monitor.activeWorkspace?.id == workspaceValue ? activeBorderColor :
hovered ? hoveredBorderColor : "transparent"
MouseArea { MouseArea {
id: workspaceArea id: workspaceArea
@@ -99,12 +104,10 @@ Item {
onEntered: { onEntered: {
root.draggingTargetWorkspace = workspaceValue root.draggingTargetWorkspace = workspaceValue
if (root.draggingFromWorkspace == root.draggingTargetWorkspace) return; if (root.draggingFromWorkspace == root.draggingTargetWorkspace) return;
border.color = Appearance.colors.colLayer2Hover hovered = true
workspace.color = Appearance.mix(defaultColor, Appearance.colors.colLayer1Hover, 0.1)
} }
onExited: { onExited: {
border.color = "transparent" hovered = false
workspace.color = defaultColor
if (root.draggingTargetWorkspace == workspaceValue) root.draggingTargetWorkspace = -1 if (root.draggingTargetWorkspace == workspaceValue) root.draggingTargetWorkspace = -1
} }
} }