diff options
| -rw-r--r-- | README.md | 1 | ||||
| -rw-r--r-- | config/BarConfig.qml | 1 | ||||
| -rw-r--r-- | modules/bar/BarWrapper.qml | 5 | ||||
| -rw-r--r-- | modules/drawers/Drawers.qml | 16 |
4 files changed, 21 insertions, 2 deletions
@@ -400,6 +400,7 @@ default, you must create it manually. } ] }, + "excludedScreens": [""], "activeWindow": { "inverted": false } diff --git a/config/BarConfig.qml b/config/BarConfig.qml index daa2b34..a0ce4be 100644 --- a/config/BarConfig.qml +++ b/config/BarConfig.qml @@ -12,6 +12,7 @@ JsonObject { property Status status: Status {} property Clock clock: Clock {} property Sizes sizes: Sizes {} + property list<string> excludedScreens: [] property list<var> entries: [ { diff --git a/modules/bar/BarWrapper.qml b/modules/bar/BarWrapper.qml index b496cfd..29961b6 100644 --- a/modules/bar/BarWrapper.qml +++ b/modules/bar/BarWrapper.qml @@ -12,11 +12,12 @@ Item { required property ShellScreen screen required property PersistentProperties visibilities required property BarPopouts.Wrapper popouts + required property bool disabled readonly property int padding: Math.max(Appearance.padding.smaller, Config.border.thickness) readonly property int contentWidth: Config.bar.sizes.innerWidth + padding * 2 - readonly property int exclusiveZone: Config.bar.persistent || visibilities.bar ? contentWidth : Config.border.thickness - readonly property bool shouldBeVisible: Config.bar.persistent || visibilities.bar || isHovered + readonly property int exclusiveZone: !disabled && (Config.bar.persistent || visibilities.bar) ? contentWidth : Config.border.thickness + readonly property bool shouldBeVisible: !disabled && (Config.bar.persistent || visibilities.bar || isHovered) property bool isHovered function closeTray(): void { diff --git a/modules/drawers/Drawers.qml b/modules/drawers/Drawers.qml index 2ba79a4..9fc38bd 100644 --- a/modules/drawers/Drawers.qml +++ b/modules/drawers/Drawers.qml @@ -18,6 +18,20 @@ Variants { id: scope required property ShellScreen modelData + readonly property bool barDisabled: { + const regexChecker = /^\^.*\$$/; + for (const filter of Config.bar.excludedScreens) { + // If filter is a regex + if (regexChecker.test(filter)) { + if ((new RegExp(filter)).test(modelData.name)) + return true; + } else { + if (filter === modelData.name) + return true; + } + } + return false; + } Exclusions { screen: scope.modelData @@ -169,6 +183,8 @@ Variants { visibilities: visibilities popouts: panels.popouts + disabled: scope.barDisabled + Component.onCompleted: Visibilities.bars.set(scope.modelData, this) } } |