forked from Shinonome/dots-hyprland
overview: add active border
This commit is contained in:
@@ -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
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user