Skip to content

fix(noctalia): preserve app icon colors - #1695

Merged
shunkakinoki merged 1 commit into
mainfrom
fix/noctalia-tray-icon-colors
May 7, 2026
Merged

fix(noctalia): preserve app icon colors#1695
shunkakinoki merged 1 commit into
mainfrom
fix/noctalia-tray-icon-colors

Conversation

@shunkakinoki

@shunkakinoki shunkakinoki commented May 7, 2026

Copy link
Copy Markdown
Owner

Changes

  • Set Noctalia Tray.colorizeIcons = false so tray icons do not use the themed shader.
  • Set Noctalia ActiveWindow.colorizeIcons = false so the active-window app icon keeps its source colors instead of grayscale.
  • Keep the tray drawer disabled so tray items remain inline.
  • Extend the focused Noctalia bar spec to cover tray and active-window icon color settings.

Testing

  • shellspec spec/noctalia_bar_spec.sh
  • nix-instantiate --parse config/noctalia/default.nix >/dev/null
  • git diff --check

Generated with Codex.

@indent-zero

indent-zero Bot commented May 7, 2026

Copy link
Copy Markdown
Contributor
PR Summary

Disables noctalia's theme-driven icon colorization on both the Tray (right bar) and ActiveWindow (left bar) widgets so app-provided icons keep their native colors instead of being recolored by the active theme shader. Updates the shellspec to assert the new options on both widgets.

  • Set colorizeIcons = false; on the Tray widget in config/noctalia/default.nix.
  • Converted the ActiveWindow entry from a single-line attrset to block form and added colorizeIcons = false;.
  • Broadened the Tray-block awk pattern in spec/noctalia_bar_spec.sh to the full block and asserted both colorizeIcons = false; and drawerEnabled = false;.
  • Added a new keeps active window app icons uncolorized spec asserting colorizeIcons = false; inside the ActiveWindow block.

Issues

No issues found.

CI Checks

All CI checks passed on 003f344.

@mesa-dot-dev

mesa-dot-dev Bot commented May 7, 2026

Copy link
Copy Markdown

You do not have enough credits to review this pull request. Please purchase more credits to continue.

@coderabbitai

coderabbitai Bot commented May 7, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Summary by CodeRabbit

  • Bug Fixes

    • Disabled icon colorization for the ActiveWindow and Tray widgets for improved visual clarity.
  • Tests

    • Added test coverage to verify icon colorization settings in widgets.

Walkthrough

The pull request updates Noctalia bar widget configurations to explicitly disable icon colorization for the ActiveWindow and Tray widgets, then adds corresponding test assertions to verify these settings are correctly applied in the shell configuration.

Changes

Widget Icon Colorization Configuration

Layer / File(s) Summary
Widget Configuration
config/noctalia/default.nix
ActiveWindow widget expanded to include colorizeIcons = false; Tray widget expanded to include colorizeIcons = false.
Test Assertions
spec/noctalia_bar_spec.sh
Tray widget test updated to assert both colorizeIcons = false and drawerEnabled = false; ActiveWindow widget test added to assert colorizeIcons = false.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

Possibly related PRs

  • shunkakinoki/dotfiles#1692: Also modifies Noctalia bar widget configuration, specifically the Tray widget drawerEnabled setting and related configuration structure.

Poem

🐰 Widget icons now stay true,
No colorization hue,
Tests assert what we configure,
ActiveWindow, Tray—settings pure!

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title 'fix(noctalia): preserve app icon colors' accurately describes the main change—setting colorizeIcons to false for both Tray and ActiveWindow widgets to preserve app icon colors instead of applying themed shaders or grayscale effects.
Description check ✅ Passed The description is directly related to the changeset, detailing the specific configuration changes made to Noctalia's Tray and ActiveWindow widgets, along with corresponding test updates and verification steps.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/noctalia-tray-icon-colors

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@shunkakinoki shunkakinoki added the bug Indicates an unexpected problem or unintended behavior. label May 7, 2026
@mesa-dot-dev

mesa-dot-dev Bot commented May 7, 2026

Copy link
Copy Markdown

Mesa Description

TL;DR

Fixes Noctalia tray icon colors by enabling colorizeIcons.

What changed?

  • config/noctalia/default.nix: Enabled colorizeIcons = true; for the Noctalia tray widget in the right panel.
  • spec/noctalia_bar_spec.sh: Extended the focused Noctalia bar spec to verify colorizeIcons = true; when tray items are shown inline (i.e., drawerEnabled = false;).

Description generated by Mesa. Update settings

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request updates the Tray widget configuration in config/noctalia/default.nix by setting colorizeIcons to false. Correspondingly, the test specification in spec/noctalia_bar_spec.sh has been updated to verify this new configuration and improve the tray block matching logic. I have no feedback to provide.

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No issues found across 2 files

@shunkakinoki
shunkakinoki force-pushed the fix/noctalia-tray-icon-colors branch from 84158a9 to 4bbf999 Compare May 7, 2026 11:08
@shunkakinoki shunkakinoki changed the title fix(noctalia): preserve tray icon colors fix(noctalia): colorize tray icons May 7, 2026
Co-authored-by: Codex <noreply@openai.com>
@shunkakinoki
shunkakinoki force-pushed the fix/noctalia-tray-icon-colors branch from 4bbf999 to 003f344 Compare May 7, 2026 11:48
@shunkakinoki shunkakinoki changed the title fix(noctalia): colorize tray icons fix(noctalia): preserve app icon colors May 7, 2026

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@config/noctalia/default.nix`:
- Around line 85-89: The Tray section currently sets colorizeIcons = false while
the PR intends to colorize tray icons; update the Tray block (id = "Tray") to
set colorizeIcons = true and keep drawerEnabled = false so tray icons are
colorized but the drawer remains disabled; locate the Tray stanza containing id
= "Tray", change colorizeIcons to true and leave drawerEnabled unchanged.

In `@spec/noctalia_bar_spec.sh`:
- Around line 12-15: The spec "It 'shows tray items inline instead of hiding
them in the drawer'" asserts the wrong value for tray icon colorization —
replace the expectation for the string 'colorizeIcons = false;' with
'colorizeIcons = true;' so the test matches the PR's intent to colorize tray
icons; keep the existing 'drawerEnabled = false;' assertion as-is and ensure the
grep/awk target that captures the Tray block (the same block that yields
'drawerEnabled' and 'colorizeIcons') remains unchanged.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: baf7e0c7-8a95-4f7e-9caa-8cd0e89931a9

📥 Commits

Reviewing files that changed from the base of the PR and between acea66e and 003f344.

📒 Files selected for processing (2)
  • config/noctalia/default.nix
  • spec/noctalia_bar_spec.sh

Comment on lines 85 to 89
{
id = "Tray";
colorizeIcons = false;
drawerEnabled = false;
}

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major | ⚡ Quick win

Tray icon colorization is inverted relative to this PR objective.

Line 87 sets colorizeIcons = false, but this PR’s stated goal is to colorize tray icons while keeping the drawer disabled.

Suggested fix
         widgets.right = [
           {
             id = "Tray";
-            colorizeIcons = false;
+            colorizeIcons = true;
             drawerEnabled = false;
           }
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
{
id = "Tray";
colorizeIcons = false;
drawerEnabled = false;
}
{
id = "Tray";
colorizeIcons = true;
drawerEnabled = false;
}
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@config/noctalia/default.nix` around lines 85 - 89, The Tray section currently
sets colorizeIcons = false while the PR intends to colorize tray icons; update
the Tray block (id = "Tray") to set colorizeIcons = true and keep drawerEnabled
= false so tray icons are colorized but the drawer remains disabled; locate the
Tray stanza containing id = "Tray", change colorizeIcons to true and leave
drawerEnabled unchanged.

Comment thread spec/noctalia_bar_spec.sh
Comment on lines 12 to 15
It 'shows tray items inline instead of hiding them in the drawer'
When run bash -c "awk '/id = \"Tray\";/{in_tray=1} in_tray && /drawerEnabled = false;/{print; exit}' '$CONFIG'"
When run bash -c "awk '/id = \"Tray\";/{in_tray=1} in_tray && /^ }/{exit} in_tray{print}' '$CONFIG'"
The output should include 'colorizeIcons = false;'
The output should include 'drawerEnabled = false;'

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major | ⚡ Quick win

Tray spec asserts the wrong target behavior.

Line 14 expects colorizeIcons = false;, which contradicts the PR objective to colorize tray icons. This test will enforce the wrong config.

Suggested fix
 It 'shows tray items inline instead of hiding them in the drawer'
 When run bash -c "awk '/id = \"Tray\";/{in_tray=1} in_tray && /^          }/{exit} in_tray{print}' '$CONFIG'"
-The output should include 'colorizeIcons = false;'
+The output should include 'colorizeIcons = true;'
 The output should include 'drawerEnabled = false;'
 End
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
It 'shows tray items inline instead of hiding them in the drawer'
When run bash -c "awk '/id = \"Tray\";/{in_tray=1} in_tray && /drawerEnabled = false;/{print; exit}' '$CONFIG'"
When run bash -c "awk '/id = \"Tray\";/{in_tray=1} in_tray && /^ }/{exit} in_tray{print}' '$CONFIG'"
The output should include 'colorizeIcons = false;'
The output should include 'drawerEnabled = false;'
It 'shows tray items inline instead of hiding them in the drawer'
When run bash -c "awk '/id = \"Tray\";/{in_tray=1} in_tray && /^ }/{exit} in_tray{print}' '$CONFIG'"
The output should include 'colorizeIcons = true;'
The output should include 'drawerEnabled = false;'
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@spec/noctalia_bar_spec.sh` around lines 12 - 15, The spec "It 'shows tray
items inline instead of hiding them in the drawer'" asserts the wrong value for
tray icon colorization — replace the expectation for the string 'colorizeIcons =
false;' with 'colorizeIcons = true;' so the test matches the PR's intent to
colorize tray icons; keep the existing 'drawerEnabled = false;' assertion as-is
and ensure the grep/awk target that captures the Tray block (the same block that
yields 'drawerEnabled' and 'colorizeIcons') remains unchanged.

@shunkakinoki
shunkakinoki merged commit 51f790c into main May 7, 2026
38 checks passed
@shunkakinoki
shunkakinoki deleted the fix/noctalia-tray-icon-colors branch May 7, 2026 16:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Indicates an unexpected problem or unintended behavior.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant