feat: hidden mode
This commit is contained in:
parent
589aaaf95f
commit
608854ba03
4 changed files with 38 additions and 4 deletions
|
|
@ -123,6 +123,26 @@ Scope {
|
|||
}
|
||||
}
|
||||
|
||||
CustomShortcut {
|
||||
name: "hidden"
|
||||
description: "Enable hidden mode"
|
||||
onPressed: {
|
||||
States.screens.forEach((uiState, _, _) => {
|
||||
uiState.hidden = true;
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
CustomShortcut {
|
||||
name: "hiddenoff"
|
||||
description: "Disable hidden mode"
|
||||
onPressed: {
|
||||
States.screens.forEach((uiState, _, _) => {
|
||||
uiState.hidden = false;
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
CustomShortcut {
|
||||
name: "session"
|
||||
description: "Toggle session menu"
|
||||
|
|
|
|||
|
|
@ -9,6 +9,7 @@ Scope {
|
|||
id: root
|
||||
|
||||
required property ShellScreen screen
|
||||
property bool enabled: true
|
||||
|
||||
ExclusionZone {
|
||||
anchors.left: true
|
||||
|
|
@ -16,7 +17,7 @@ Scope {
|
|||
|
||||
ExclusionZone {
|
||||
anchors.top: true
|
||||
exclusiveZone: Config.bar.height
|
||||
exclusiveZone: root.enabled ? Config.bar.height : undefined
|
||||
}
|
||||
|
||||
ExclusionZone {
|
||||
|
|
@ -30,7 +31,8 @@ Scope {
|
|||
component ExclusionZone: CustomWindow {
|
||||
screen: root.screen
|
||||
name: "border-exclusion"
|
||||
exclusiveZone: Config.border.thickness
|
||||
exclusionMode: root.enabled ? ExclusionMode.Normal : ExclusionMode.Ignore
|
||||
exclusiveZone: root.enabled ? Config.border.thickness : undefined
|
||||
mask: Region {}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -14,6 +14,7 @@ Variants {
|
|||
|
||||
Exclusion {
|
||||
screen: scope.modelData
|
||||
enabled: !uiState.uiState.hidden
|
||||
}
|
||||
|
||||
CustomWindow {
|
||||
|
|
@ -37,9 +38,13 @@ Variants {
|
|||
// Exclusion
|
||||
|
||||
exclusionMode: ExclusionMode.Ignore
|
||||
mask: uiState.uiState.blockScreen ? exclusionBlock : exclusion
|
||||
mask: uiState.uiState.hidden ? exclusionHidden : uiState.uiState.blockScreen ? exclusionBlock : exclusion
|
||||
WlrLayershell.keyboardFocus: uiState.uiState.blockScreen ? WlrKeyboardFocus.Exclusive : WlrKeyboardFocus.None
|
||||
|
||||
Region {
|
||||
id: exclusionHidden
|
||||
}
|
||||
|
||||
Region {
|
||||
id: exclusionBlock
|
||||
intersection: Intersection.Xor
|
||||
|
|
@ -78,7 +83,7 @@ Variants {
|
|||
anchors.fill: parent
|
||||
color: Config.colors.overlay
|
||||
opacity: uiState.uiState.blockScreen ? 0.5 : 0
|
||||
visible: opacity > 0
|
||||
visible: !uiState.uiState.hidden && opacity > 0
|
||||
|
||||
Behavior on opacity {
|
||||
Anim {}
|
||||
|
|
@ -90,6 +95,7 @@ Variants {
|
|||
blurMax: 25
|
||||
blurMultiplier: 0
|
||||
glowColor: Config.colors.highlight
|
||||
visible: !uiState.uiState.hidden
|
||||
}
|
||||
|
||||
Interactions {
|
||||
|
|
@ -97,10 +103,12 @@ Variants {
|
|||
bar: bar
|
||||
panels: panels
|
||||
screen: scope.modelData
|
||||
visible: !uiState.uiState.hidden
|
||||
|
||||
Panels {
|
||||
id: panels
|
||||
|
||||
visible: !uiState.uiState.hidden
|
||||
uiState: uiState.uiState
|
||||
screen: scope.modelData
|
||||
bar: bar
|
||||
|
|
@ -109,11 +117,13 @@ Variants {
|
|||
|
||||
Border {
|
||||
id: border
|
||||
visible: !uiState.uiState.hidden
|
||||
}
|
||||
|
||||
Bar {
|
||||
id: bar
|
||||
|
||||
visible: !uiState.uiState.hidden
|
||||
uiState: uiState.uiState
|
||||
screen: scope.modelData
|
||||
popouts: panels.popouts
|
||||
|
|
|
|||
|
|
@ -24,6 +24,8 @@ Scope {
|
|||
property bool osd
|
||||
property bool session
|
||||
|
||||
// Special modes
|
||||
property bool hidden
|
||||
property bool blockScreen
|
||||
|
||||
// Other state
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue