forked from Shinonome/dots-hyprland
screen corners: fix visibility for multimonitor with varying fullscreen state
This commit is contained in:
@@ -13,7 +13,8 @@ Scope {
|
|||||||
|
|
||||||
component CornerPanelWindow: PanelWindow {
|
component CornerPanelWindow: PanelWindow {
|
||||||
id: cornerPanelWindow
|
id: cornerPanelWindow
|
||||||
visible: (Config.options.appearance.fakeScreenRounding === 1 || (Config.options.appearance.fakeScreenRounding === 2 && !activeWindow?.fullscreen))
|
property bool fullscreen
|
||||||
|
visible: (Config.options.appearance.fakeScreenRounding === 1 || (Config.options.appearance.fakeScreenRounding === 2 && !fullscreen))
|
||||||
property var corner
|
property var corner
|
||||||
|
|
||||||
exclusionMode: ExclusionMode.Ignore
|
exclusionMode: ExclusionMode.Ignore
|
||||||
@@ -44,22 +45,34 @@ Scope {
|
|||||||
model: Quickshell.screens
|
model: Quickshell.screens
|
||||||
|
|
||||||
Scope {
|
Scope {
|
||||||
|
id: monitorScope
|
||||||
required property var modelData
|
required property var modelData
|
||||||
|
property HyprlandMonitor monitor: Hyprland.monitorFor(modelData)
|
||||||
|
|
||||||
|
// Hide when fullscreen
|
||||||
|
property list<HyprlandWorkspace> workspacesForMonitor: Hyprland.workspaces.values.filter(workspace=>workspace.monitor && workspace.monitor.name == monitor.name)
|
||||||
|
property var activeWorkspaceWithFullscreen: workspacesForMonitor.filter(workspace=>((workspace.toplevels.values.filter(window=>window.wayland.fullscreen)[0] != undefined) && workspace.active))[0]
|
||||||
|
property bool fullscreen: activeWorkspaceWithFullscreen != undefined
|
||||||
|
|
||||||
CornerPanelWindow {
|
CornerPanelWindow {
|
||||||
screen: modelData
|
screen: modelData
|
||||||
corner: RoundCorner.CornerEnum.TopLeft
|
corner: RoundCorner.CornerEnum.TopLeft
|
||||||
|
fullscreen: monitorScope.fullscreen
|
||||||
}
|
}
|
||||||
CornerPanelWindow {
|
CornerPanelWindow {
|
||||||
screen: modelData
|
screen: modelData
|
||||||
corner: RoundCorner.CornerEnum.TopRight
|
corner: RoundCorner.CornerEnum.TopRight
|
||||||
|
fullscreen: monitorScope.fullscreen
|
||||||
}
|
}
|
||||||
CornerPanelWindow {
|
CornerPanelWindow {
|
||||||
screen: modelData
|
screen: modelData
|
||||||
corner: RoundCorner.CornerEnum.BottomLeft
|
corner: RoundCorner.CornerEnum.BottomLeft
|
||||||
|
fullscreen: monitorScope.fullscreen
|
||||||
}
|
}
|
||||||
CornerPanelWindow {
|
CornerPanelWindow {
|
||||||
screen: modelData
|
screen: modelData
|
||||||
corner: RoundCorner.CornerEnum.BottomRight
|
corner: RoundCorner.CornerEnum.BottomRight
|
||||||
|
fullscreen: monitorScope.fullscreen
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user