From 39b41fb88047cd75981ae63285e9ce024d459181 Mon Sep 17 00:00:00 2001 From: purian23 Date: Tue, 13 Oct 2026 17:31:07 -0400 Subject: [PATCH] bars: update island & dbar defaults --- quickshell/Common/LayoutResolver.js | 15 ++++-- quickshell/Common/SettingsData.qml | 4 ++ quickshell/Common/ShellLayout.qml | 5 +- quickshell/Common/settings/SettingsSpec.js | 2 +- quickshell/Modals/PowerMenuModal.qml | 2 +- quickshell/Modules/DBar/DBarBody.qml | 8 ++-- quickshell/Modules/DBar/DBarContent.qml | 2 +- .../Modules/DBar/Popouts/DWLLayoutPopout.qml | 2 +- .../Modules/DBar/Widgets/RunningApps.qml | 2 +- quickshell/Modules/DIsland/IslandBarHost.qml | 1 - .../Modules/Settings/DBarAppearanceTab.qml | 25 +++++----- .../Settings/Widgets/BarSelectionState.qml | 2 +- quickshell/Widgets/DOSD.qml | 2 +- quickshell/Widgets/DPopout.qml | 4 +- quickshell/Widgets/DPopoutHost.qml | 2 +- quickshell/tests/layout-resolver.test.mjs | 16 +++++-- .../translations/settings_search_index.json | 48 +++++++++---------- 17 files changed, 82 insertions(+), 60 deletions(-) diff --git a/quickshell/Common/LayoutResolver.js b/quickshell/Common/LayoutResolver.js index dd92d3b0a..2bd14e065 100644 --- a/quickshell/Common/LayoutResolver.js +++ b/quickshell/Common/LayoutResolver.js @@ -38,14 +38,16 @@ function coversScreen(config, screen, screens, displayNameMode) { function islandMetrics(config, defaults) { const value = key => config?.[key] ?? defaults[key]; - const reserve = Math.max(24, Math.min(128, value("islandReserveThickness"))); + const strip = Math.max(24, Math.min(128, value("islandReserveThickness"))); const compact = Math.max(24, Math.min(72, value("islandCompactThickness"))); const gap = value("islandNotch") ? 0 : Math.max(0, Math.min(48, value("islandOuterGap"))); + const thickness = Math.max(strip, gap + compact); + // The default reservation follows the pill; any other value is reserved as set. return { - reserve, + reserve: value("islandReserveThickness") === defaults.islandReserveThickness ? thickness : strip, compact, gap, - thickness: Math.max(reserve, gap + compact) + thickness }; } @@ -53,6 +55,10 @@ function islandThickness(config, defaults) { return islandMetrics(config, defaults).thickness; } +function islandReserve(config, defaults) { + return islandMetrics(config, defaults).reserve; +} + function isIsland(config) { return config.island === true || config.dot === true; } @@ -138,7 +144,8 @@ function resolveScreen(inputs, screen, options) { const thickness = kind === "island" ? input.islandThickness : frameStyled ? Math.round(Math.round(options.frameBarSize * (screen.scale || 1)) / (screen.scale || 1)) : input.barThickness + spacing + (config.bottomGap ?? 0); const paintedThickness = thickness + (kind !== "island" && !frameStyled ? input.wingSize ?? 0 : 0); const reserves = kind === "island" ? !(input.islandFloating ?? config.islandFloating) : config.visible !== false && (!config.autoHide || frameStyled); - const contribution = reserves ? Math.max(0, rowOffset + thickness - reservation) : 0; + const reserved = kind === "island" ? Math.min(thickness, input.islandReserve) : thickness; + const contribution = reserves ? Math.max(0, rowOffset + reserved - reservation) : 0; instances.push({ key: JSON.stringify([screen.name, config.id]), screenName: screen.name, diff --git a/quickshell/Common/SettingsData.qml b/quickshell/Common/SettingsData.qml index 2e3c17a33..f17cf9552 100644 --- a/quickshell/Common/SettingsData.qml +++ b/quickshell/Common/SettingsData.qml @@ -996,6 +996,10 @@ Singleton { function islandStripThickness(bc) { return LayoutResolver.islandThickness(islandSettings(bc), islandDefaultsFor(bc)); } + + function islandReserveThickness(bc) { + return LayoutResolver.islandReserve(islandSettings(bc), islandDefaultsFor(bc)); + } readonly property var _islandHomeGroupIds: ["workspaces", "media", "clock", "weather", "status", "volume", "brightness", "notifications", "privacy"] readonly property var _islandHomeLayoutDefault: [ { diff --git a/quickshell/Common/ShellLayout.qml b/quickshell/Common/ShellLayout.qml index e8feff2de..cc1600363 100644 --- a/quickshell/Common/ShellLayout.qml +++ b/quickshell/Common/ShellLayout.qml @@ -21,10 +21,11 @@ Singleton { readonly property var primaryBar: SettingsData.getPrimaryBarConfig() readonly property var layouts: screens.map(screen => Resolver.resolveScreen(SettingsData.barConfigs.map(config => ({ config, - barThickness: Theme.barThickness(config.innerPadding ?? 4, screen.scale), + barThickness: Theme.barThickness(config.innerPadding ?? 2, screen.scale), wingSize: config.gothCornersEnabled && root.barSpansEdge(config) ? Math.max(0, config.gothCornerRadiusOverride ? config.gothCornerRadiusValue ?? 12 : Theme.windowRadius) : 0, - popupThickness: Theme.barThickness(Resolver.option(config, "innerPadding", root.primaryBar, 4), screen.scale), + popupThickness: Theme.barThickness(Resolver.option(config, "innerPadding", root.primaryBar, 2), screen.scale), islandThickness: Resolver.islandThickness(SettingsData.islandSettings(config), SettingsData.islandDefaultsFor(config)), + islandReserve: Resolver.islandReserve(SettingsData.islandSettings(config), SettingsData.islandDefaultsFor(config)), islandFloating: SettingsData.islandSetting(config, "islandFloating"), islandPlacement: SettingsData.islandFreePlacement(config) ? "free" : "edge", islandSatellites: SettingsData.islandSetting(config, "islandSatellitesEnabled") diff --git a/quickshell/Common/settings/SettingsSpec.js b/quickshell/Common/settings/SettingsSpec.js index bebf71bf7..a2bc2bf5f 100644 --- a/quickshell/Common/settings/SettingsSpec.js +++ b/quickshell/Common/settings/SettingsSpec.js @@ -1508,7 +1508,7 @@ var LOCAL_SPEC = { centerWidgets: ["music", "clock", "weather"], rightWidgets: ["systemTray", "clipboard", "cpuUsage", "memUsage", "notificationButton", "battery", "controlCenterButton"], spacing: 4, - innerPadding: 4, + innerPadding: 2, barInsetPadding: -1, barLengthPadding: 0, barLengthMode: "full", diff --git a/quickshell/Modals/PowerMenuModal.qml b/quickshell/Modals/PowerMenuModal.qml index 2e6fa7c7d..2cbfdc84e 100644 --- a/quickshell/Modals/PowerMenuModal.qml +++ b/quickshell/Modals/PowerMenuModal.qml @@ -44,7 +44,7 @@ DModal { customPosition: { if (parentBounds.width > 0) { const bar = SettingsData.getPrimaryBarConfig(); - const effectiveBarThickness = Theme.barThickness(bar?.innerPadding ?? 4, CompositorService.getScreenScale(parentScreen)); + const effectiveBarThickness = Theme.barThickness(bar?.innerPadding ?? 2, CompositorService.getScreenScale(parentScreen)); const barExclusionZone = effectiveBarThickness + (bar?.spacing ?? 4) + (bar?.bottomGap ?? 0); const barPosition = bar?.position ?? SettingsData.Position.Top; const screenW = parentScreen?.width ?? 1920; diff --git a/quickshell/Modules/DBar/DBarBody.qml b/quickshell/Modules/DBar/DBarBody.qml index a476a6f7f..9a7cb9728 100644 --- a/quickshell/Modules/DBar/DBarBody.qml +++ b/quickshell/Modules/DBar/DBarBody.qml @@ -53,7 +53,7 @@ Item { return palette === "bright" ? Theme.surfaceBright : palette === "dim" ? Theme.surfaceDim : _hostSurface; } readonly property real islandSatelliteOpacity: isIsland ? SettingsData.islandSatelliteTransparency(barConfig) : 1 - readonly property real islandChromePad: isIsland ? Theme.snap((barConfig?.innerPadding ?? 4) + Theme.spacingXS, _dpr) : 0 + readonly property real islandChromePad: isIsland ? Theme.snap((barConfig?.innerPadding ?? 2) + Theme.spacingXS, _dpr) : 0 readonly property real islandChromeInset: islandSatelliteBackground ? islandChromePad : 0 readonly property real islandSatelliteSweep: islandSatelliteBackground && SettingsData.islandSetting(barConfig, "islandSatelliteGothCorners") ? islandGothRadius : 0 readonly property real islandFlareClearance: ((islandHost?.notch ?? false) ? islandHost.surface.joinRadius * 2.5 : 0) + islandSatelliteSweep @@ -677,7 +677,7 @@ Item { } readonly property int notificationCount: NotificationService.notifications.length - readonly property real effectiveBarThickness: (FrameTransitionState.effectiveFrameEnabled && usesFrameBarChrome) ? SettingsData.frameBarSize : Theme.barThickness(barConfig?.innerPadding ?? 4, _dpr) + readonly property real effectiveBarThickness: (FrameTransitionState.effectiveFrameEnabled && usesFrameBarChrome) ? SettingsData.frameBarSize : Theme.barThickness(barConfig?.innerPadding ?? 2, _dpr) readonly property real effectiveBarLengthPadding: { if (barLengthMode === "percent") { const percent = Math.min(100, Math.max(10, barConfig?.barLengthPercent ?? 80)); @@ -722,7 +722,7 @@ Item { onTriggered: barWindow._fitSettled = true } readonly property bool effectiveOpenOnOverview: (FrameTransitionState.effectiveFrameEnabled && usesFrameBarChrome) ? SettingsData.frameShowOnOverview : (barConfig?.openOnOverview ?? false) - readonly property real widgetThickness: Theme.barWidgetThickness(barConfig?.innerPadding ?? 4, _dpr) + readonly property real widgetThickness: Theme.barWidgetThickness(barConfig?.innerPadding ?? 2, _dpr) readonly property bool hasAdjacentTopBar: isVertical && ShellLayout.adjacentBar(screen, "top", barConfig) !== null readonly property bool hasAdjacentBottomBar: isVertical && ShellLayout.adjacentBar(screen, "bottom", barConfig) !== null @@ -780,7 +780,7 @@ Item { readonly property bool reserveExclusiveWhenAutoHidden: FrameTransitionState.effectiveFrameEnabled && usesFrameBarChrome && !!barWindow.screen && SettingsData.isScreenInPreferences(barWindow.screen, SettingsData.frameScreenPreferences) - readonly property real surfaceExclusiveZone: isIsland ? ((islandFree || (islandHost?.floating ?? false)) ? 0 : islandStripThickness) : (!(barConfig?.visible ?? true) || (topBarCore.autoHide && !barWindow.reserveExclusiveWhenAutoHidden)) ? -1 : (barWindow.effectiveBarThickness + effectiveSpacing + (usesFrameBarChrome ? 0 : (barConfig?.bottomGap ?? 0))) + readonly property real surfaceExclusiveZone: isIsland ? ((islandFree || (islandHost?.floating ?? false)) ? 0 : SettingsData.islandReserveThickness(barConfig)) : (!(barConfig?.visible ?? true) || (topBarCore.autoHide && !barWindow.reserveExclusiveWhenAutoHidden)) ? -1 : (barWindow.effectiveBarThickness + effectiveSpacing + (usesFrameBarChrome ? 0 : (barConfig?.bottomGap ?? 0))) readonly property alias inputMaskItem: inputMask diff --git a/quickshell/Modules/DBar/DBarContent.qml b/quickshell/Modules/DBar/DBarContent.qml index 2f032a35a..c0ec863c7 100644 --- a/quickshell/Modules/DBar/DBarContent.qml +++ b/quickshell/Modules/DBar/DBarContent.qml @@ -125,7 +125,7 @@ Item { } property bool _animateFrameInsets: false - readonly property real innerPadding: barConfig?.innerPadding ?? 4 + readonly property real innerPadding: barConfig?.innerPadding ?? 2 readonly property real outlineThickness: (barConfig?.widgetOutlineEnabled ?? false) ? (barConfig?.widgetOutlineThickness ?? 1) : 0 readonly property real _edgeBaseMargin: Math.max(Theme.spacingXS, innerPadding * 0.8) readonly property bool _hasBarWindow: barWindow !== undefined && barWindow !== null diff --git a/quickshell/Modules/DBar/Popouts/DWLLayoutPopout.qml b/quickshell/Modules/DBar/Popouts/DWLLayoutPopout.qml index 32ad53675..0d9d8bb99 100644 --- a/quickshell/Modules/DBar/Popouts/DWLLayoutPopout.qml +++ b/quickshell/Modules/DBar/Popouts/DWLLayoutPopout.qml @@ -22,7 +22,7 @@ DPopout { triggerScreen = screen; root.screen = screen; - storedBarThickness = barThickness !== undefined ? barThickness : Theme.barThickness(SettingsData.getPrimaryBarConfig()?.innerPadding ?? 4, 1); + storedBarThickness = barThickness !== undefined ? barThickness : Theme.barThickness(SettingsData.getPrimaryBarConfig()?.innerPadding ?? 2, 1); storedBarSpacing = barSpacing !== undefined ? barSpacing : 4; storedBarConfig = barConfig; diff --git a/quickshell/Modules/DBar/Widgets/RunningApps.qml b/quickshell/Modules/DBar/Widgets/RunningApps.qml index fcdaa2b0b..6e32155d2 100644 --- a/quickshell/Modules/DBar/Widgets/RunningApps.qml +++ b/quickshell/Modules/DBar/Widgets/RunningApps.qml @@ -49,7 +49,7 @@ BasePill { if (barThickness > 0 && barSpacing > 0) { return barThickness + barSpacing; } - return Theme.barThickness(barConfig?.innerPadding ?? 4, CompositorService.getScreenScale(parentScreen)) + (barConfig?.spacing ?? 4); + return Theme.barThickness(barConfig?.innerPadding ?? 2, CompositorService.getScreenScale(parentScreen)) + (barConfig?.spacing ?? 4); } readonly property var barBounds: { diff --git a/quickshell/Modules/DIsland/IslandBarHost.qml b/quickshell/Modules/DIsland/IslandBarHost.qml index 79cc75cd5..e259ecf1e 100644 --- a/quickshell/Modules/DIsland/IslandBarHost.qml +++ b/quickshell/Modules/DIsland/IslandBarHost.qml @@ -139,7 +139,6 @@ Item { readonly property bool isVertical: !root.dotMode && SettingsData.islandVertical(root.barConfig) readonly property string edge: root.freeMode ? (root.isVertical ? "left" : "top") : SettingsData.islandEdge(root.barConfig) readonly property bool farEdge: root.edge === "bottom" || root.edge === "right" - readonly property int reservedStripThickness: root.islandMetrics.thickness readonly property real windowWidth: root.hostWindow?.width ?? 0 readonly property real windowHeight: root.hostWindow?.height ?? 0 readonly property real windowMarginLeft: root.hostWindow?.margins?.left ?? 0 diff --git a/quickshell/Modules/Settings/DBarAppearanceTab.qml b/quickshell/Modules/Settings/DBarAppearanceTab.qml index d3aa0dc66..5d3d9a781 100644 --- a/quickshell/Modules/Settings/DBarAppearanceTab.qml +++ b/quickshell/Modules/Settings/DBarAppearanceTab.qml @@ -354,7 +354,7 @@ Item { visible: bar.selectedBarIsIsland && !root.selectedIslandFree resetStore: bar resetKeys: ["islandCompactThickness"] - text: bar.selectedBarIsVertical ? I18n.tr("Compact width", "island settings: compact pill width slider") : I18n.tr("Compact height", "island settings: compact pill height slider") + text: bar.selectedBarIsVertical ? I18n.tr("Width") : I18n.tr("Height") unit: "px" minimum: 24 maximum: 72 @@ -366,10 +366,11 @@ Item { SettingsSliderRow { settingKey: "barSize" tags: ["size", "thickness", "height", "inner"] + visible: !bar.selectedBarIsIsland || bar.islandSetting("islandSatellitesEnabled") text: I18n.tr("Size") resetStore: bar resetKeys: ["innerPadding"] - value: bar.selectedBarConfig?.innerPadding ?? 4 + value: bar.selectedBarConfig?.innerPadding ?? 2 minimum: -8 maximum: 24 unit: "px" @@ -633,16 +634,6 @@ Item { tags: ["widget", "style", "pills", "segments", "opacity", "padding", "maximize"] visible: bar.selectedBarConfig?.enabled ?? false - SettingsToggleRow { - settingKey: "barNoBackground" - tags: ["transparent", "background", "invisible"] - text: I18n.tr("Background") - checked: !(bar.selectedBarConfig?.noBackground ?? false) - onToggled: checked => SettingsData.updateBarConfig(bar.selectedBarId, { - noBackground: !checked - }) - } - SettingsRow { settingKey: "barWidgetStyle" tags: ["widget", "style", "segments", "pills", "flat", "connected", "group"] @@ -674,6 +665,16 @@ Item { } } + SettingsToggleRow { + settingKey: "barNoBackground" + tags: ["transparent", "background", "invisible"] + text: I18n.tr("Background") + checked: !(bar.selectedBarConfig?.noBackground ?? false) + onToggled: checked => SettingsData.updateBarConfig(bar.selectedBarId, { + noBackground: !checked + }) + } + SettingsToggleSliderRow { resetStore: bar text: I18n.tr("Override", "verb, toggle to override the global setting for this item") diff --git a/quickshell/Modules/Settings/Widgets/BarSelectionState.qml b/quickshell/Modules/Settings/Widgets/BarSelectionState.qml index 022207b7c..4daa46334 100644 --- a/quickshell/Modules/Settings/Widgets/BarSelectionState.qml +++ b/quickshell/Modules/Settings/Widgets/BarSelectionState.qml @@ -69,7 +69,7 @@ Item { } // inset padding stores < 0 as "auto", resolved here to the mode's natural inset - readonly property real insetPadAutoUI: (SettingsData.connectedFrameModeActive && root.selectedBarFrameStyled) ? SettingsData.frameThickness : (selectedBarIsVertical ? Theme.spacingXS : Math.max(Theme.spacingXS, (selectedBarConfig?.innerPadding ?? 4) * 0.8)) + readonly property real insetPadAutoUI: (SettingsData.connectedFrameModeActive && root.selectedBarFrameStyled) ? SettingsData.frameThickness : (selectedBarIsVertical ? Theme.spacingXS : Math.max(Theme.spacingXS, (selectedBarConfig?.innerPadding ?? 2) * 0.8)) readonly property int insetPadDisplayValue: { const raw = SettingsData.barInsetPaddingSyncAll ? SettingsData.barInsetPaddingShared : (selectedBarConfig?.barInsetPadding ?? -1); return raw < 0 ? Math.round(insetPadAutoUI) : raw; diff --git a/quickshell/Widgets/DOSD.qml b/quickshell/Widgets/DOSD.qml index b53fab482..c279381ae 100644 --- a/quickshell/Widgets/DOSD.qml +++ b/quickshell/Widgets/DOSD.qml @@ -190,7 +190,7 @@ PanelWindow { continue; if (!SettingsData.barConfigCoversScreen(bc, screen)) continue; - const innerPadding = bc.innerPadding ?? (defaultBar?.innerPadding ?? 4); + const innerPadding = bc.innerPadding ?? (defaultBar?.innerPadding ?? 2); const thickness = Theme.barThickness(innerPadding, dpr); const spacing = bc.spacing ?? (defaultBar?.spacing ?? 4); const bottomGap = bc.bottomGap ?? (defaultBar?.bottomGap ?? 0); diff --git a/quickshell/Widgets/DPopout.qml b/quickshell/Widgets/DPopout.qml index cf81b0eec..c9aa0ed40 100644 --- a/quickshell/Widgets/DPopout.qml +++ b/quickshell/Widgets/DPopout.qml @@ -44,7 +44,7 @@ Item { property bool _primeContent: false property bool _warmContent: false - property real storedBarThickness: Theme.barThickness(SettingsData.getPrimaryBarConfig()?.innerPadding ?? 4, 1) + property real storedBarThickness: Theme.barThickness(SettingsData.getPrimaryBarConfig()?.innerPadding ?? 2, 1) property real storedBarSpacing: 4 property var storedBarConfig: null property var sourceRegistration: null @@ -344,7 +344,7 @@ Item { triggerSection = section; screen = targetScreen; - storedBarThickness = barThickness !== undefined ? barThickness : Theme.barThickness(SettingsData.getPrimaryBarConfig()?.innerPadding ?? 4, 1); + storedBarThickness = barThickness !== undefined ? barThickness : Theme.barThickness(SettingsData.getPrimaryBarConfig()?.innerPadding ?? 2, 1); storedBarSpacing = barSpacing !== undefined ? barSpacing : 4; storedBarConfig = barConfig; triggerUsesOverlayLayer = _triggerBarUsesOverlayLayer(targetScreen, barConfig); diff --git a/quickshell/Widgets/DPopoutHost.qml b/quickshell/Widgets/DPopoutHost.qml index d1dcaabf2..b7a5a983b 100644 --- a/quickshell/Widgets/DPopoutHost.qml +++ b/quickshell/Widgets/DPopoutHost.qml @@ -100,7 +100,7 @@ Item { readonly property real effectiveBarThickness: { if (root.usesConnectedSurfaceChrome) return Math.max(0, storedBarThickness); - return Theme.barThickness(storedBarConfig?.innerPadding ?? 4, dpr) + storedBarSpacing; + return Theme.barThickness(storedBarConfig?.innerPadding ?? 2, dpr) + storedBarSpacing; } readonly property var barBounds: { diff --git a/quickshell/tests/layout-resolver.test.mjs b/quickshell/tests/layout-resolver.test.mjs index d5c476ca4..55e23a004 100644 --- a/quickshell/tests/layout-resolver.test.mjs +++ b/quickshell/tests/layout-resolver.test.mjs @@ -15,20 +15,30 @@ const bar = (id, position = 0, values = {}) => ({ id, position, enabled: true, . function resolve(configs, options = {}, screen = screens[0]) { return resolver.resolveScreen(configs.map(config => ({ - config, wingSize: config.gothCornersEnabled ? 12 : 0, barThickness: 40, popupThickness: 40, islandThickness: resolver.islandThickness(config, islandDefaults) + config, wingSize: config.gothCornersEnabled ? 12 : 0, barThickness: 40, popupThickness: 40, islandThickness: resolver.islandThickness(config, islandDefaults), + islandReserve: resolver.islandReserve(config, islandDefaults) })), screen, { screens, displayNameMode: "name", framePreferences: ["all"], effectiveFrameEnabled: false, effectiveConnected: false, frameThickness: 12, frameBarSize: 48, ...options }); } -test("island metrics clamp each setting and reserve the larger of strip and gap plus compact", () => { - assert.deepEqual(plain(resolver.islandMetrics({}, islandDefaults)), { reserve: 40, compact: 38, gap: 4, thickness: 42 }); +test("island metrics clamp each setting and a default reservation follows the pill", () => { + assert.deepEqual(plain(resolver.islandMetrics({}, islandDefaults)), { reserve: 42, compact: 38, gap: 4, thickness: 42 }); + assert.deepEqual(plain(resolver.islandMetrics({ islandCompactThickness: 60 }, islandDefaults)), { reserve: 64, compact: 60, gap: 4, thickness: 64 }); assert.deepEqual(plain(resolver.islandMetrics({ islandReserveThickness: 500, islandCompactThickness: 1, islandOuterGap: -3 }, islandDefaults)), { reserve: 128, compact: 24, gap: 0, thickness: 128 }); assert.equal(resolver.islandThickness({ islandReserveThickness: 30, islandCompactThickness: 60, islandOuterGap: 10 }, islandDefaults), 70); assert.deepEqual(plain(resolver.islandMetrics({ islandOuterGap: 10, islandNotch: true }, islandDefaults)), { reserve: 40, compact: 38, gap: 0, thickness: 40 }); }); +test("an island set to reserve less than its pill paints the full pill but reserves only what was set", () => { + const island = bar("island", 0, { island: true, islandReserveThickness: 30 }); + const alone = resolve([island]); + assert.deepEqual(plain([alone.instances[0].rowThickness, alone.instances[0].exclusiveZone, alone.edges.top.reservation]), [42, 30, 30]); + const stacked = resolve([island, bar("below")]); + assert.deepEqual(plain([stacked.instances[1].rowOffset, stacked.edges.top.reservation]), [42, 86]); +}); + test("absent, empty, explicit and fallback assignments remain distinct", () => { for (const count of [1, 2]) { const live = screens.slice(0, count); diff --git a/quickshell/translations/settings_search_index.json b/quickshell/translations/settings_search_index.json index 1e0e9ab23..c6f9a8daa 100644 --- a/quickshell/translations/settings_search_index.json +++ b/quickshell/translations/settings_search_index.json @@ -5149,30 +5149,6 @@ "parentLabel": "Bar", "conditionKey": "islandEnabled" }, - { - "section": "islandCompactThickness", - "label": "Compact width", - "tabIndex": 6, - "category": "Appearance", - "keywords": [ - "appearance", - "bar", - "compact", - "height", - "island", - "panel", - "placement", - "satellite", - "size", - "statusbar", - "taskbar", - "thickness", - "topbar", - "width" - ], - "parentLabel": "Bar", - "conditionKey": "islandDocked" - }, { "section": "barCornerStyle", "label": "Corner style", @@ -6013,6 +5989,30 @@ "icon": "widgets", "description": "Opacity" }, + { + "section": "islandCompactThickness", + "label": "Width", + "tabIndex": 6, + "category": "Appearance", + "keywords": [ + "appearance", + "bar", + "compact", + "height", + "island", + "panel", + "placement", + "satellite", + "size", + "statusbar", + "taskbar", + "thickness", + "topbar", + "width" + ], + "parentLabel": "Bar", + "conditionKey": "islandDocked" + }, { "section": "networkStatus", "label": "Status",