From 44d34655632844a2e54cfedc48878cabd91af1de Mon Sep 17 00:00:00 2001 From: Linus Ammon <235536459+linusammon@users.noreply.github.com> Date: Fri, 8 May 2026 11:46:11 +0200 Subject: [PATCH 1/2] chore(ci/nix): port nix related github actions --- .github/workflows/cachix.yml | 26 ++++++++++++++++++++++++++ .github/workflows/update-flake.yml | 20 ++++++++++++++++++++ 2 files changed, 46 insertions(+) create mode 100644 .github/workflows/cachix.yml create mode 100644 .github/workflows/update-flake.yml diff --git a/.github/workflows/cachix.yml b/.github/workflows/cachix.yml new file mode 100644 index 000000000..fcb5c85bd --- /dev/null +++ b/.github/workflows/cachix.yml @@ -0,0 +1,26 @@ +name: cachix + +on: + push: + branches: + - v5 + workflow_run: + workflows: ["update flake"] + types: + - completed + branches: + - v5 + workflow_dispatch: + +jobs: + cache: + runs-on: ubuntu-latest + if: ${{ github.repository == 'noctalia-dev/noctalia-shell' }} + steps: + - uses: actions/checkout@v6 + - uses: cachix/install-nix-action@v31 + - uses: cachix/cachix-action@v17 + with: + name: "${{ secrets.CACHIX_CACHE_NAME }}" + authToken: "${{ secrets.CACHIX_AUTH_TOKEN }}" + - run: nix build . diff --git a/.github/workflows/update-flake.yml b/.github/workflows/update-flake.yml new file mode 100644 index 000000000..bb30e0946 --- /dev/null +++ b/.github/workflows/update-flake.yml @@ -0,0 +1,20 @@ +name: update flake + +on: + schedule: + - cron: "0 0 * * 0" + workflow_dispatch: + +jobs: + update: + runs-on: ubuntu-latest + if: ${{ github.repository == 'noctalia-dev/noctalia-shell' }} + permissions: + contents: write + steps: + - uses: actions/checkout@v6 + - uses: cachix/install-nix-action@v31 + - run: nix flake update + - uses: stefanzweifel/git-auto-commit-action@v7 + with: + commit_message: "chore(flake): update flake.lock" From 0a7bc6a96eaeb1b3b2669354371f51fedd629620 Mon Sep 17 00:00:00 2001 From: Ly-sec Date: Fri, 8 May 2026 14:04:58 +0200 Subject: [PATCH 2/2] fix(bar): allow grouped capsules with different padding --- src/shell/bar/bar.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/shell/bar/bar.cpp b/src/shell/bar/bar.cpp index cafb94e7d..919b3a401 100644 --- a/src/shell/bar/bar.cpp +++ b/src/shell/bar/bar.cpp @@ -1103,8 +1103,11 @@ void Bar::attachWidgetsToSections(BarInstance& instance) { auto canJoinCapsuleGroup = [](const Widget& first, const Widget& next) { const auto& firstSpec = first.barCapsuleSpec(); const auto& nextSpec = next.barCapsuleSpec(); + const bool sameCapsuleStyle = + firstSpec.fill == nextSpec.fill && firstSpec.group == nextSpec.group && firstSpec.border == nextSpec.border && + firstSpec.foreground == nextSpec.foreground && firstSpec.opacity == nextSpec.opacity; return firstSpec.enabled && nextSpec.enabled && !first.isAnchor() && !next.isAnchor() && - !firstSpec.group.empty() && firstSpec == nextSpec && first.contentScale() == next.contentScale(); + !firstSpec.group.empty() && sameCapsuleStyle && first.contentScale() == next.contentScale(); }; std::size_t index = 0; @@ -1172,6 +1175,7 @@ void Bar::attachWidgetsToSections(BarInstance& instance) { for (std::size_t memberIndex = index; memberIndex < runEnd; ++memberIndex) { auto& member = widgets[memberIndex]; + run.spec.padding = std::max(run.spec.padding, member->barCapsuleSpec().padding); member->setBarCapsuleScene(shellPtr, bgPtr); run.widgets.push_back(member.get()); innerPtr->addChild(member->releaseRoot());