Skip to content

feat: refactor template for Astal and add split style support#5

Open
GustavoBorges13 wants to merge 6 commits intoHyDE-Project:mainfrom
GustavoBorges13:refactor-templates
Open

feat: refactor template for Astal and add split style support#5
GustavoBorges13 wants to merge 6 commits intoHyDE-Project:mainfrom
GustavoBorges13:refactor-templates

Conversation

@GustavoBorges13
Copy link
Copy Markdown

@GustavoBorges13 GustavoBorges13 commented Apr 11, 2026

Resolves #4

I rewrote the Wallbash template from scratch to make it fully compatible with the new Astal-based HyprPanel version instead of the old AGS backend.

Changes made:

  • Rewrote the .dcol to use astal -i hyprpanel useTheme.
  • Kept the visual consistency similar to the previous version.
  • Created two separate templates: one for the default bar style (hyprpanel.dcol) and one for the split button style (hyprpanel_split.dcol).
  • Updated the README.md comprehensively to guide users on which template to use, what directory to place it in, and how to work around the Matugen override using a script.

Here is the preview and the checklist of the tested modules:

✅ Standard Modules

  • battery
  • dashboard
  • workspaces
  • windowtitle
  • media
  • notifications
  • volume
  • network
  • bluetooth
  • clock
  • systray

🔧 Basic Modules

  • separator
  • microphone
  • ram
  • cpu
  • cputemp
  • storage
  • netstat
  • kbinput
  • updates
  • weather
  • submap
  • hyprsunset
  • hypridle
  • power
  • cava

Template 1: hyprpanel.dcol

Without borders (not transparent bar x transparent bar)
Image
Image

With borders (not transparent bar x transparent bar)
Image
Image

Template 2: hyprpanel_split.dcol

Without borders (not transparent bar x transparent bar)
image
image

With borders (not transparent bar x transparent bar)
image
image

🧩 Custom Modules (not included)

  • HyDE-Menu
  • gpu
  • gputemp
  • gamemode

📂 Menus

  • audio
  • network
  • bluetooth
  • media
  • notifications
  • calendar
  • energy "I'm using a desktop (not tested in Laptop)."
  • dashboard
  • powerdropdown
🖼️ Click to expand Menu Screenshots Image Image Image Image Image Image Image Image Image Image

Summary by CodeRabbit

  • Documentation

    • Updated README with a new HyprPanel workflow, revised installation/directory guidance, template trigger behavior, Default vs Split template notes, and Matugen compatibility including a wallpaper-injection example.
  • New Features

    • Added a Split-style HyprPanel template variant.
  • Style / Theming

    • Major HyprPanel theme overhaul: expanded color tokens, many new UI element and module button styles, and widespread color assignment updates.

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Apr 11, 2026

Note

Reviews paused

It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 8c3b3496-954c-4ca1-ad4a-632d46dba225

📥 Commits

Reviewing files that changed from the base of the PR and between 7400a01 and 044a468.

📒 Files selected for processing (2)
  • hyprpanel.dcol
  • hyprpanel_split.dcol
✅ Files skipped from review due to trivial changes (2)
  • hyprpanel_split.dcol
  • hyprpanel.dcol

📝 Walkthrough

Walkthrough

Updated README to document an Astal-based HyprPanel workflow (astal -i hyprpanel useTheme), reworked install semantics to always/ and theme/, added two mutually exclusive templates (hyprpanel.dcol, hyprpanel_split.dcol) with expanded theme keys, and documented Matugen compatibility with a Bash/jq wallpaper-injection example.

Changes

Cohort / File(s) Summary
Documentation
README.md
Replaced ags invocation with astal -i hyprpanel useTheme; restructured installation semantics to always/ and theme/; added "Available Templates (Default vs Split)" and "Matugen Compatibility" with a Bash/jq wallpaper-injection example; removed one TODO and trailing newline.
Default Template (expanded theme)
hyprpanel.dcol
Replaced theme-loading command with astal -i hyprpanel useTheme; significantly expanded and reorganized the exported theme JSON with many new top-level color tokens and widened theme.bar.*, theme.bar.menus.*, theme.bar.buttons.*, theme.osd.*, and notification mappings; multiple color assignment changes and removals.
Split Template (new)
hyprpanel_split.dcol
New file added; invokes astal -i hyprpanel useTheme ${cacheDir}/landing/wallbash-hyprpanel.json and supplies a comprehensive static theme override tailored for the split-button style (many color token mappings and component-specific entries).

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Poem

🐰 From ags I hopped to astal's gate,
Two dcol blooms lined up to celebrate,
JSON petals, colors bold and bright,
A bash and jq to keep walls right—
I stamp my paw and bob with delight.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The PR title accurately and concisely summarizes the main changes: refactoring the template to work with Astal and adding split style support.
Linked Issues check ✅ Passed All coding objectives from issue #4 are met: replaced AGS-based commands with Astal, created two templates (default and split), updated README with installation instructions, and maintained visual consistency.
Out of Scope Changes check ✅ Passed All changes directly address the requirements in issue #4; no out-of-scope modifications are present in the PR.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

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

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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.

Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 4

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@hyprpanel_default.dcol`:
- Around line 12-13: The "scrollbar" and "separator" color token values use
malformed placeholders "#<$wallbash_2xa2>" and "#<$wallbash_2xa8>" which include
an extra "$"; update those token strings in hyprpanel_default.dcol (the
"scrollbar" and "separator" entries) to use the correct template format
"#<wallbash_2xa2>" and "#<wallbash_2xa8>" so they match the other Wallbash
tokens and will be substituted correctly.

In `@hyprpanel_split.dcol`:
- Around line 12-13: The scrollbar and separator token values use a malformed
placeholder syntax ("#<$wallbash_2xa2>" and "#<$wallbash_2xa8>"); update these
two entries (keys "scrollbar" and "separator") to use the same placeholder
format as the other tokens in the file (e.g., "#{wallbash_2xa2}" and
"#{wallbash_2xa8}" or whatever exact bracket/hash pattern is used elsewhere) so
the color placeholders resolve consistently.

In `@README.md`:
- Line 7: The README has a heading "Wallbash Template for HyprPanel" marked as
H3 (###) that jumps from the H1 above; change that heading to H2 (##) so heading
levels are sequential (H1 → H2) and comply with markdown lint rules by replacing
the "### Wallbash Template for HyprPanel" line with "## Wallbash Template for
HyprPanel".
- Around line 18-30: Update README references to match the shipped filenames:
replace occurrences of "hyprpanel.dcol" with "hyprpanel_default.dcol" (e.g., in
the paragraph listing templates and the Usage section) so the documented
template names exactly match the actual files `hyprpanel_default.dcol` and
`hyprpanel_split.dcol`; ensure all mentions, including the list entry and
download instruction, consistently use `hyprpanel_default.dcol` and
`hyprpanel_split.dcol`.
🪄 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: dd08daa9-a312-469f-bcc2-85af9bd9b9be

📥 Commits

Reviewing files that changed from the base of the PR and between e78eb33 and 456debe.

📒 Files selected for processing (4)
  • README.md
  • hyprpanel.dcol
  • hyprpanel_default.dcol
  • hyprpanel_split.dcol
💤 Files with no reviewable changes (1)
  • hyprpanel.dcol

Comment thread hyprpanel_default.dcol Outdated
Comment thread hyprpanel_split.dcol Outdated
Comment thread README.md Outdated
Comment thread README.md
Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

🧹 Nitpick comments (2)
hyprpanel.dcol (2)

389-389: Minor formatting inconsistency: missing space after colon.

This line lacks a space after the colon, unlike all other entries in the file.

🧹 Suggested fix
-  "theme.bar.buttons.modules.cava.text":"#<wallbash_2xa8>",
+  "theme.bar.buttons.modules.cava.text": "#<wallbash_2xa8>",
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@hyprpanel.dcol` at line 389, The entry
"theme.bar.buttons.modules.cava.text":"#<wallbash_2xa8>" is missing a space
after the colon; update this key-value pair (the
"theme.bar.buttons.modules.cava.text" mapping) to include a single space after
the colon so it matches the formatting of other entries (e.g.,
"theme.bar.buttons.modules.cava.text": "#<wallbash_2xa8>").

110-110: Minor formatting inconsistency: double space before value.

This line has an extra space before the value, unlike other entries. Consider aligning for consistency.

🧹 Suggested fix
-  "theme.bar.menus.menu.clock.weather.thermometer.extremelycold":  "#<wallbash_2xa9>",
+  "theme.bar.menus.menu.clock.weather.thermometer.extremelycold": "#<wallbash_2xa9>",
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@hyprpanel.dcol` at line 110, The theme entry
"theme.bar.menus.menu.clock.weather.thermometer.extremelycold" has an extra
space between the colon and its value; update that line to use a single space
after the colon to match other entries (i.e., change the double space before
"#<wallbash_2xa9>" to a single space) so the formatting is consistent with the
rest of the file.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Nitpick comments:
In `@hyprpanel.dcol`:
- Line 389: The entry "theme.bar.buttons.modules.cava.text":"#<wallbash_2xa8>"
is missing a space after the colon; update this key-value pair (the
"theme.bar.buttons.modules.cava.text" mapping) to include a single space after
the colon so it matches the formatting of other entries (e.g.,
"theme.bar.buttons.modules.cava.text": "#<wallbash_2xa8>").
- Line 110: The theme entry
"theme.bar.menus.menu.clock.weather.thermometer.extremelycold" has an extra
space between the colon and its value; update that line to use a single space
after the colon to match other entries (i.e., change the double space before
"#<wallbash_2xa9>" to a single space) so the formatting is consistent with the
rest of the file.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 6bb48eab-7837-4081-80d2-54b84552f49b

📥 Commits

Reviewing files that changed from the base of the PR and between 456debe and 5fe7c24.

📒 Files selected for processing (3)
  • README.md
  • hyprpanel.dcol
  • hyprpanel_split.dcol
✅ Files skipped from review due to trivial changes (1)
  • hyprpanel_split.dcol
🚧 Files skipped from review as they are similar to previous changes (1)
  • README.md

Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

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 the current code and only fix it if needed.

Inline comments:
In `@hyprpanel.dcol`:
- Around line 20-22: theme.bar.menus.background and
theme.bar.menus.popover.background currently reuse the same token as the bar
background (#<wallbash_pry1>), so replace one or both with a distinct, darker
token (e.g., introduce #<wallbash_menu_bg> or reuse an existing darker variable)
to create contrast for menu surfaces; update the entries for
theme.bar.menus.background and theme.bar.menus.popover.background to reference
that new/darker token and ensure any dependent menu color keys inherit from the
new token rather than #<wallbash_pry1>.
- Around line 325-326: This template omits the theme key that controls button
layout, so imported themes can inherit the wrong button structure; add the key
"theme.bar.buttons.style" with the value "default" alongside the existing button
entries (e.g., near "theme.bar.buttons.workspaces.numbered_active_text_color"
and "theme.bar.buttons.modules.microphone.border") to explicitly set the default
button style for this template.
🪄 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: 9cdd3cb1-73d1-4699-adcd-09b2b3ab56b2

📥 Commits

Reviewing files that changed from the base of the PR and between 9428f84 and 7400a01.

📒 Files selected for processing (2)
  • hyprpanel.dcol
  • hyprpanel_split.dcol
✅ Files skipped from review due to trivial changes (1)
  • hyprpanel_split.dcol

Comment thread hyprpanel.dcol Outdated
Comment thread hyprpanel.dcol
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feature: refactor template and adapt to new Hyprpanel version

1 participant