mirror of
https://github.com/zoriya/noctalia-shell.git
synced 2026-08-15 18:43:59 +00:00
Properly hide ScreenRecorderIndicator when inactive (no spacing)
This commit is contained in:
+38
-6
@@ -54,6 +54,38 @@ Variants {
|
||||
right: Settings.data.bar.floating ? Settings.data.bar.marginHorizontal * Style.marginXL * scaling : 0
|
||||
}
|
||||
|
||||
|
||||
// Filter out potentially invisible widgets so they we don't have extra spacing around an invisble widget.
|
||||
// TODO: add activewindow
|
||||
property var visibleLeftWidgets: {
|
||||
if (!Settings.data.bar.widgets.left) return []
|
||||
return Settings.data.bar.widgets.left.filter(widget => {
|
||||
if (widget.id === "ScreenRecorderIndicator") {
|
||||
return ScreenRecorderService.isRecording
|
||||
}
|
||||
return true
|
||||
})
|
||||
}
|
||||
property var visibleCenterWidgets: {
|
||||
if (!Settings.data.bar.widgets.center) return []
|
||||
return Settings.data.bar.widgets.center.filter(widget => {
|
||||
if (widget.id === "ScreenRecorderIndicator") {
|
||||
return ScreenRecorderService.isRecording
|
||||
}
|
||||
return true
|
||||
})
|
||||
}
|
||||
property var visibleRightWidgets: {
|
||||
if (!Settings.data.bar.widgets.right) return []
|
||||
return Settings.data.bar.widgets.right.filter(widget => {
|
||||
if (widget.id === "ScreenRecorderIndicator") {
|
||||
return ScreenRecorderService.isRecording
|
||||
}
|
||||
return true
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
Item {
|
||||
anchors.fill: parent
|
||||
clip: true
|
||||
@@ -88,7 +120,7 @@ Variants {
|
||||
spacing: Style.marginS * root.scaling
|
||||
|
||||
Repeater {
|
||||
model: Settings.data.bar.widgets.left
|
||||
model: visibleLeftWidgets
|
||||
delegate: BarWidgetLoader {
|
||||
widgetId: (modelData.id !== undefined ? modelData.id : "")
|
||||
widgetProps: {
|
||||
@@ -111,7 +143,7 @@ Variants {
|
||||
spacing: Style.marginS * root.scaling
|
||||
|
||||
Repeater {
|
||||
model: Settings.data.bar.widgets.center
|
||||
model: visibleCenterWidgets
|
||||
delegate: BarWidgetLoader {
|
||||
widgetId: (modelData.id !== undefined ? modelData.id : "")
|
||||
widgetProps: {
|
||||
@@ -135,7 +167,7 @@ Variants {
|
||||
spacing: Style.marginS * root.scaling
|
||||
|
||||
Repeater {
|
||||
model: Settings.data.bar.widgets.right
|
||||
model: visibleRightWidgets
|
||||
delegate: BarWidgetLoader {
|
||||
widgetId: (modelData.id !== undefined ? modelData.id : "")
|
||||
widgetProps: {
|
||||
@@ -169,7 +201,7 @@ Variants {
|
||||
spacing: Style.marginS * root.scaling
|
||||
|
||||
Repeater {
|
||||
model: Settings.data.bar.widgets.left
|
||||
model: visibleLeftWidgets
|
||||
delegate: BarWidgetLoader {
|
||||
widgetId: (modelData.id !== undefined ? modelData.id : "")
|
||||
widgetProps: {
|
||||
@@ -194,7 +226,7 @@ Variants {
|
||||
spacing: Style.marginS * root.scaling
|
||||
|
||||
Repeater {
|
||||
model: Settings.data.bar.widgets.center
|
||||
model: visibleCenterWidgets
|
||||
delegate: BarWidgetLoader {
|
||||
widgetId: (modelData.id !== undefined ? modelData.id : "")
|
||||
widgetProps: {
|
||||
@@ -220,7 +252,7 @@ Variants {
|
||||
spacing: Style.marginS * root.scaling
|
||||
|
||||
Repeater {
|
||||
model: Settings.data.bar.widgets.right
|
||||
model: visibleRightWidgets
|
||||
delegate: BarWidgetLoader {
|
||||
widgetId: (modelData.id !== undefined ? modelData.id : "")
|
||||
widgetProps: {
|
||||
|
||||
Reference in New Issue
Block a user