diff --git a/.config/quickshell/ii/modules/bar/BarContent.qml b/.config/quickshell/ii/modules/bar/BarContent.qml index d8c4318d1..c0c5e31b8 100644 --- a/.config/quickshell/ii/modules/bar/BarContent.qml +++ b/.config/quickshell/ii/modules/bar/BarContent.qml @@ -289,22 +289,9 @@ Item { // Bar content region color: rightSidebarButton.colText } } - Loader { - active: HyprlandXkb.layoutCodes.length > 1 - visible: active + HyprlandXkbIndicator { + Layout.alignment: Qt.AlignVCenter Layout.rightMargin: indicatorsRowLayout.realSpacing - sourceComponent: Item { - implicitWidth: layoutCodeText.implicitWidth - StyledText { - id: layoutCodeText - anchors.centerIn: parent - horizontalAlignment: Text.AlignHCenter - text: HyprlandXkb.currentLayoutCode.split(":").join("\n") - font.pixelSize: text.includes("\n") ? Appearance.font.pixelSize.smallie : Appearance.font.pixelSize.small - color: rightSidebarButton.colText - animateChange: true - } - } } MaterialSymbol { Layout.rightMargin: indicatorsRowLayout.realSpacing diff --git a/.config/quickshell/ii/modules/bar/HyprlandXkbIndicator.qml b/.config/quickshell/ii/modules/bar/HyprlandXkbIndicator.qml new file mode 100644 index 000000000..0c33c98e8 --- /dev/null +++ b/.config/quickshell/ii/modules/bar/HyprlandXkbIndicator.qml @@ -0,0 +1,26 @@ +import QtQuick +import qs.services +import qs.modules.common +import qs.modules.common.widgets + +Loader { + id: root + property bool vertical: false + + active: HyprlandXkb.layoutCodes.length > 1 + visible: active + + sourceComponent: Item { + implicitWidth: root.vertical ? undefined : layoutCodeText.implicitWidth + implicitHeight: root.vertical ? layoutCodeText.implicitHeight : undefined + StyledText { + id: layoutCodeText + anchors.centerIn: parent + horizontalAlignment: Text.AlignHCenter + text: HyprlandXkb.currentLayoutCode.split(":").join("\n") + font.pixelSize: text.includes("\n") ? Appearance.font.pixelSize.smallie : Appearance.font.pixelSize.small + color: rightSidebarButton.colText + animateChange: true + } + } +} diff --git a/.config/quickshell/ii/modules/verticalBar/VerticalBarContent.qml b/.config/quickshell/ii/modules/verticalBar/VerticalBarContent.qml index 2c37f89f4..612510720 100644 --- a/.config/quickshell/ii/modules/verticalBar/VerticalBarContent.qml +++ b/.config/quickshell/ii/modules/verticalBar/VerticalBarContent.qml @@ -269,23 +269,10 @@ Item { // Bar content region color: rightSidebarButton.colText } } - Loader { - active: HyprlandXkb.layoutCodes.length > 1 - visible: active - Layout.bottomMargin: indicatorsColumnLayout.realSpacing + Bar.HyprlandXkbIndicator { + vertical: true Layout.alignment: Qt.AlignHCenter - sourceComponent: Item { - implicitHeight: layoutCodeText.implicitHeight - StyledText { - id: layoutCodeText - anchors.centerIn: parent - horizontalAlignment: Text.AlignHCenter - text: HyprlandXkb.currentLayoutCode.split(":").join("\n") - font.pixelSize: text.includes("\n") ? Appearance.font.pixelSize.smallie : Appearance.font.pixelSize.small - color: rightSidebarButton.colText - animateChange: true - } - } + Layout.bottomMargin: indicatorsColumnLayout.realSpacing } MaterialSymbol { Layout.bottomMargin: indicatorsColumnLayout.realSpacing