summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBora Gülerman <49169566+eratoriele@users.noreply.github.com>2025-11-26 07:45:49 +0300
committerGitHub <noreply@github.com>2025-11-26 15:45:49 +1100
commit24b313497f22f837577371675c145ba9b51d7ee5 (patch)
tree6cbbb9c45ef244a9c3443ada52af3e3ac0684882
parentbar/activewindow: add option to invert rotate (#922) (diff)
downloadcaelestia-shell-24b313497f22f837577371675c145ba9b51d7ee5.tar.gz
caelestia-shell-24b313497f22f837577371675c145ba9b51d7ee5.tar.bz2
caelestia-shell-24b313497f22f837577371675c145ba9b51d7ee5.zip
bar: add config option to disable on selected screens (#920)
* modules/drawers: Added a bar config option to disable the bar on selected screens Extended the visualizer on screens that the bar is hidden * modules/drawers: surrounded barwrapper with a loader * fix/modules/drawers: fix a null reference missed to fix a reference to bar object to barLoader.item * modules/drawers: added regex support also reverted the barLoader, added a disabled property to BarLoader instead * fix: module/drawers: applied requested changes
-rw-r--r--README.md1
-rw-r--r--config/BarConfig.qml1
-rw-r--r--modules/bar/BarWrapper.qml5
-rw-r--r--modules/drawers/Drawers.qml16
4 files changed, 21 insertions, 2 deletions
diff --git a/README.md b/README.md
index 1647b81..eb876e0 100644
--- a/README.md
+++ b/README.md
@@ -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)
}
}