forked from Shinonome/dots-hyprland
overview: only show ws highlight on focused monitor
This commit is contained in:
@@ -18,6 +18,7 @@ Item {
|
|||||||
readonly property var toplevels: ToplevelManager.toplevels
|
readonly property var toplevels: ToplevelManager.toplevels
|
||||||
readonly property int workspacesShown: ConfigOptions.overview.numOfRows * ConfigOptions.overview.numOfCols
|
readonly property int workspacesShown: ConfigOptions.overview.numOfRows * ConfigOptions.overview.numOfCols
|
||||||
readonly property int workspaceGroup: Math.floor((monitor.activeWorkspace?.id - 1) / workspacesShown)
|
readonly property int workspaceGroup: Math.floor((monitor.activeWorkspace?.id - 1) / workspacesShown)
|
||||||
|
property bool monitorIsFocused: (Hyprland.focusedMonitor.id == monitor.id)
|
||||||
property var windows: HyprlandData.windowList
|
property var windows: HyprlandData.windowList
|
||||||
property var windowByAddress: HyprlandData.windowByAddress
|
property var windowByAddress: HyprlandData.windowByAddress
|
||||||
property var windowAddresses: HyprlandData.addresses
|
property var windowAddresses: HyprlandData.addresses
|
||||||
@@ -80,15 +81,15 @@ Item {
|
|||||||
property color hoveredWorkspaceColor: Appearance.mix(defaultWorkspaceColor, Appearance.colors.colLayer1Hover, 0.1)
|
property color hoveredWorkspaceColor: Appearance.mix(defaultWorkspaceColor, Appearance.colors.colLayer1Hover, 0.1)
|
||||||
property color hoveredBorderColor: Appearance.colors.colLayer2Hover
|
property color hoveredBorderColor: Appearance.colors.colLayer2Hover
|
||||||
property color activeBorderColor: Appearance.m3colors.m3secondary
|
property color activeBorderColor: Appearance.m3colors.m3secondary
|
||||||
property bool hovered: false
|
property bool hoveredWhileDragging: false
|
||||||
|
|
||||||
implicitWidth: root.workspaceImplicitWidth
|
implicitWidth: root.workspaceImplicitWidth
|
||||||
implicitHeight: root.workspaceImplicitHeight
|
implicitHeight: root.workspaceImplicitHeight
|
||||||
color: hovered ? hoveredWorkspaceColor : defaultWorkspaceColor
|
color: hoveredWhileDragging ? hoveredWorkspaceColor : defaultWorkspaceColor
|
||||||
radius: Appearance.rounding.screenRounding * root.scale
|
radius: Appearance.rounding.screenRounding * root.scale
|
||||||
border.width: 2
|
border.width: 2
|
||||||
border.color: monitor.activeWorkspace?.id == workspaceValue ? activeBorderColor :
|
border.color: (monitor.activeWorkspace?.id == workspaceValue && root.monitorIsFocused) ? activeBorderColor :
|
||||||
hovered ? hoveredBorderColor : "transparent"
|
hoveredWhileDragging ? hoveredBorderColor : "transparent"
|
||||||
|
|
||||||
MouseArea {
|
MouseArea {
|
||||||
id: workspaceArea
|
id: workspaceArea
|
||||||
@@ -108,10 +109,10 @@ Item {
|
|||||||
onEntered: {
|
onEntered: {
|
||||||
root.draggingTargetWorkspace = workspaceValue
|
root.draggingTargetWorkspace = workspaceValue
|
||||||
if (root.draggingFromWorkspace == root.draggingTargetWorkspace) return;
|
if (root.draggingFromWorkspace == root.draggingTargetWorkspace) return;
|
||||||
hovered = true
|
hoveredWhileDragging = true
|
||||||
}
|
}
|
||||||
onExited: {
|
onExited: {
|
||||||
hovered = false
|
hoveredWhileDragging = false
|
||||||
if (root.draggingTargetWorkspace == workspaceValue) root.draggingTargetWorkspace = -1
|
if (root.draggingTargetWorkspace == workspaceValue) root.draggingTargetWorkspace = -1
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user