1
0
mirror of https://github.com/AvengeMedia/DankMaterialShell.git synced 2026-05-06 04:22:11 -04:00

feat(bar/dock): add 'Hide When Fullscreen' opt-out toggles (#2349)

Adds per-bar 'fullscreenDetection' and global 'dockHideOnFullscreen'
settings to gate CompositorService.hasFullscreenToplevelOnScreen()
This commit is contained in:
Connor Welsh
2026-05-04 19:05:40 -04:00
committed by GitHub
parent 1e67927f8a
commit e60caf8028
6 changed files with 39 additions and 0 deletions

View File

@@ -136,6 +136,7 @@ Item {
popupGapsAuto: defaultBar.popupGapsAuto ?? true,
popupGapsManual: defaultBar.popupGapsManual ?? 4,
maximizeDetection: defaultBar.maximizeDetection ?? true,
fullscreenDetection: defaultBar.fullscreenDetection ?? true,
scrollEnabled: defaultBar.scrollEnabled ?? true,
scrollXBehavior: defaultBar.scrollXBehavior ?? "column",
scrollYBehavior: defaultBar.scrollYBehavior ?? "workspace",
@@ -706,6 +707,24 @@ Item {
});
}
}
Rectangle {
width: parent.width
height: 1
color: Theme.outline
opacity: 0.15
}
SettingsToggleRow {
text: I18n.tr("Hide When Fullscreen", "bar visibility toggle: hide the bar when a window is fullscreen")
checked: selectedBarConfig?.fullscreenDetection ?? true
onToggled: toggled => {
SettingsData.updateBarConfig(selectedBarId, {
fullscreenDetection: toggled
});
notifyHorizontalBarChange();
}
}
}
SettingsControlledByFrame {

View File

@@ -87,6 +87,16 @@ Item {
visible: CompositorService.isNiri
onToggled: checked => SettingsData.set("dockOpenOnOverview", checked)
}
SettingsToggleRow {
settingKey: "dockHideOnFullscreen"
tags: ["dock", "fullscreen", "hide"]
text: I18n.tr("Hide When Fullscreen", "dock visibility toggle: hide the dock when a window is fullscreen")
description: I18n.tr("Hide the dock when a window is fullscreen", "dock visibility toggle description")
checked: SettingsData.dockHideOnFullscreen
visible: SettingsData.showDock
onToggled: checked => SettingsData.set("dockHideOnFullscreen", checked)
}
}
SettingsCard {