20
849
Fork
You've already forked fuzzel
83

WIP: 🎨 ship optional Nord theme #645

Draft
markstos wants to merge 5 commits from issue-561-nord-theme-only into master
pull from: issue-561-nord-theme-only
merge into: dnkl:master
dnkl:master
dnkl:gnome-support
dnkl:releases/1.14
dnkl:issue-319-window-switching
dnkl:resvg-filtering-take-2
dnkl:resvg-filtering
dnkl:releases/1.13
dnkl:rehanzo-dont-ignore-execute-648
dnkl:keybinds-overwrite
dnkl:issue-561-refresh-theme
dnkl:ci-automated-testing
dnkl:reenable-legacy-icons
dnkl:releases/1.12
dnkl:test-coverage-for-fzf-caching
dnkl:releases/1.11
dnkl:releases/1.10
dnkl:releases/1.9
dnkl:releases/1.8
dnkl:releases/1.7
dnkl:releases/1.6
dnkl:releases/1.5
dnkl:releases/1.4
dnkl:releases/1.3
dnkl:releases/1.2
dnkl:releases/1.1
dnkl:releases/1.0
Collaborator
Copy link

This is a conversative alternative to #644 that adds a new Nord theme file, but doesn't activate it, or change the defaults the code or docs.

The benefit of this PR that it completely backwards compatible, but the downside is that far few people will see it and it doesn't actually change the default / first-impression.

Either one leaves open questions exactly which config files should be considered part of a "theme"-- particularly whether a Fuzzel theme is to be considered narrowly as a color palette or broadly as all possible design-related options.

While the theme itself is complete and tested and based on the standard Nord theme, I'm submitting it WIP as it's the first time an alternate default theme has been considered.

This is a conversative alternative to #644 that adds a new Nord theme file, but doesn't activate it, or change the defaults the code or docs. The benefit of this PR that it completely backwards compatible, but the downside is that far few people will see it and it doesn't actually change the default / first-impression. Either one leaves open questions exactly which config files should be considered part of a "theme"-- particularly whether a Fuzzel theme is to be considered narrowly as a color palette or broadly as all possible design-related options. While the theme itself is complete and tested and based on the standard Nord theme, I'm submitting it WIP as it's the first time an alternate default theme has been considered.
meson.build Outdated
@ -233,0 +235,4 @@
install_data(
files('themes/nord.ini'),
install_dir:join_paths(get_option('sysconfdir'),'xdg','fuzzel','themes'))
Owner
Copy link

/etc/xdg corresponds to XDG_CONFIG_DIRS which I don't think is right for theme files. XDG_DATA_DIRS (i.e /usr/share) is better. I'll update the MR.

`/etc/xdg` corresponds to `XDG_CONFIG_DIRS` which I don't think is right for theme files. `XDG_DATA_DIRS` (i.e `/usr/share`) is better. I'll update the MR.
Owner
Copy link

I pushed a commit that changes this. Let me know what you think.

I pushed a commit that changes this. Let me know what you think.
markstos marked this conversation as resolved
themes/nord.ini Outdated
@ -0,0 +15,4 @@
background=2e3440ff
# Text - Nord4 (Snow storm)
text=d8dee9ff
Owner
Copy link

For me at least, the whole theme file would be easier to read if it was a bit more compact:

[colors]
background=... # Nord0...
text=... # Nord4...
For me at least, the whole theme file would be easier to read if it was a bit more compact: ```ini [colors] background=... # Nord0... text=... # Nord4... ```
Owner
Copy link

I didn't change this (yet); if you agree, please update the theme file, otherwise we'll leave it as is.

I didn't change this (yet); if you agree, please update the theme file, otherwise we'll leave it as is.
markstos marked this conversation as resolved
markstos force-pushed issue-561-nord-theme-only from 9d8420f147
Some checks reported errors
ci/woodpecker/push/woodpecker Pipeline was successful
builds.sr.ht/freebsd-x64 Job failed
ci/woodpecker/pr/woodpecker Pipeline was successful
to 7398b0aec1
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
builds.sr.ht/freebsd-x64 Job completed
ci/woodpecker/pr/woodpecker Pipeline was successful
2025年08月19日 04:04:38 +02:00
Compare
themes/nord.ini Outdated
@ -0,0 +5,4 @@
lines=10
prompt="▶ "
width=30
font=FiraSans:size=18,Sans:size=14
Owner
Copy link

From previous discussions, I still don't think it makes sense with Sans as fallback, as it doesn't mean "use 'sans' if 'firesans' isn't available".

I would prefer if we set to either FiraSans, or Sans.

And if we do set if to FiraSans, we should make it clear for packagers that it's not really a hard requirement - fuzzel is still very much usable without FiraSans. It's not that important yet, but if/when this theme becomes the default, we need clear instructions for the packagers, that it's up to them if they want to make FiraSans and hard or optional dependency.

From previous discussions, I still don't think it makes sense with `Sans` as fallback, as it doesn't mean "use 'sans' if 'firesans' isn't available". I would prefer if we set to _either_ `FiraSans`, _or_ `Sans`. And if we do set if to _FiraSans_, we should make it clear for packagers that it's not really a hard requirement - fuzzel is still very much usable without FiraSans. It's not that important **yet**, but if/when this theme becomes the default, we need clear instructions for the packagers, that it's up to them if they want to make `FiraSans` and hard or optional dependency.
Author
Collaborator
Copy link

Resolving by simplifying to "Sans" font.

Resolving by simplifying to "Sans" font.
markstos marked this conversation as resolved
fixup: simplify Nord theme with simply Sans font
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
builds.sr.ht/freebsd-x64 Job completed
ci/woodpecker/pr/woodpecker Pipeline was successful
29a3dd37d5
Author
Collaborator
Copy link

I've updated the font settings. I feel like there's still an open question here about the appropriate scope of changes.

I think Fuzzel could use a refresh on the details included in the theme that are /not/ colors, including the font, font size, border radius and so on.

Rofi had an expansive idea of "themes" where different themes might be styled radically differently, but for some others app, "theme" is more narrowly associated with "color scheme".

Some may want only the color scheme and not the other details. They could always load this first and override all the other details, but they might prefer the include files were split, like

themes/nord-styles.ini
themes/nord-colors.ini

Where the "styles" file contains everything else. That might better satisfy both the camps that would like a full refresh vs those that only want a colorscheme.

I've updated the font settings. I feel like there's still an open question here about the appropriate scope of changes. I think Fuzzel could use a refresh on the details included in the theme that are /not/ colors, including the font, font size, border radius and so on. Rofi had an expansive idea of "themes" where different themes might be styled radically differently, but for some others app, "theme" is more narrowly associated with "color scheme". Some may want only the color scheme and not the other details. They could always load this first and override all the other details, but they might prefer the include files were split, like ``` themes/nord-styles.ini themes/nord-colors.ini ``` Where the "styles" file contains everything else. That might better satisfy both the camps that would like a full refresh vs those that only want a colorscheme.
Owner
Copy link

I think I like the split-file approach. Perhaps use one more level of sub-directories though?

themes/nord/colors.ini
themes/nord/styling|styles|font.ini

That also "solves" the problem with users not having the correct font(s) installed.

I think I like the split-file approach. Perhaps use one more level of sub-directories though? ``` themes/nord/colors.ini themes/nord/styling|styles|font.ini ``` That also "solves" the problem with users not having the correct font(s) installed.
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
builds.sr.ht/freebsd-x64 Job completed
ci/woodpecker/pr/woodpecker Pipeline was successful
This pull request has changes conflicting with the target branch.
  • CHANGELOG.md
View command line instructions

Manual merge helper

Use this merge commit message when completing the merge manually.

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin issue-561-nord-theme-only:issue-561-nord-theme-only
git switch issue-561-nord-theme-only

Merge

Merge the changes and update on Forgejo.
git switch master
git merge --no-ff issue-561-nord-theme-only
git switch issue-561-nord-theme-only
git rebase master
git switch master
git merge --ff-only issue-561-nord-theme-only
git switch issue-561-nord-theme-only
git rebase master
git switch master
git merge --no-ff issue-561-nord-theme-only
git switch master
git merge --squash issue-561-nord-theme-only
git switch master
git merge --ff-only issue-561-nord-theme-only
git switch master
git merge issue-561-nord-theme-only
git push origin master
Sign in to join this conversation.
No reviewers
Milestone
Clear milestone
No items
No milestone
Projects
Clear projects
No items
No project
Assignees
Clear assignees
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
dnkl/fuzzel!645
Reference in a new issue
dnkl/fuzzel
No description provided.
Delete branch "issue-561-nord-theme-only"

Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?