Skip to content

implement simple custom background option for menus#469

Open
Follpvosten wants to merge 1 commit intoMalpenZibo:mainfrom
Follpvosten:custom-menu-bg
Open

implement simple custom background option for menus#469
Follpvosten wants to merge 1 commit intoMalpenZibo:mainfrom
Follpvosten:custom-menu-bg

Conversation

@Follpvosten
Copy link
Copy Markdown
Contributor

as per the title.

for my specific usecase, this allows me to style the top bar exactly like the one in GNOME - solid black bar, drop-down menus in grey/gtk colour. it remains backwards comspatible by using an Option and falling back to background_color if menu_background was not set in config.

I'm open for criticism or input/design suggestions, but also open to just getting a "no" (in which case I'd just maintain a downstream fork for this :)

@Follpvosten
Copy link
Copy Markdown
Contributor Author

Follpvosten commented Feb 6, 2026

TODO: should probably also affect the new Tempo module (
nevermind it already does, good thing I fetched upstream before I wrote the patch 😅

@MalpenZibo
Copy link
Copy Markdown
Owner

Ok, for these kinds of changes I would like to open a discussion on improving the styling configuration in the next release (post March)

@MalpenZibo
Copy link
Copy Markdown
Owner

Ok. Generally speaking, I'm ok with this change. About the configuration, I have some doubts.

I would like to maintain the palette as a 1to1 port of the iced palette. For this reason, the menu_background should go under the MenuAppearance section.
And then I think that the best solution would be to add a link to the color of a specific part of the interface to a palette color. For example, in this case, menu_background: Background | Primary | ..., maybe with the option of specifying a custom color.

I need to think about this also because I plan to have a similar solution for the status bar surface background in the future.

@Follpvosten
Copy link
Copy Markdown
Contributor Author

interesting! being able to set a background for the status bar itself would also solve my problem, perhaps even more elegantly. I hadn't considered that option. From my view, both achieve a very similar goal though: Being able to specify different backgrounds for different major parts of the UI.

for now I will rework my existing patch to implement things as requested. Further discussion does indeed sound reasonable though.

@Follpvosten
Copy link
Copy Markdown
Contributor Author

Follpvosten commented Apr 4, 2026

For now I have kept the menu_background in the internal AshellTheme for simplicity (otherwise I'd have to define an internal-specific version of MenuAppearance where background is resolved to a palette::Background).

But in the public API, I have moved appearance.menu_background to appearance.menu.background.

Docs-wise, I have removed the line I had previously (where it was documented directly under palette -> background), and instead created a new section further down in palette.md, because I felt that it fit best there as it's colour related. I'd be happy to change that again of course, in case it makes more sense to put it under General.

@clotodex
Copy link
Copy Markdown
Collaborator

@Follpvosten the palette rework is largely done. Feel free to check #574 and play around with it

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants