20
850
Fork
You've already forked fuzzel
83

Configurable additional application icon contexts #726

Open
opened 2026年02月01日 07:19:56 +01:00 by sewn · 7 comments

Pre-checks

Do similar tools already implement this feature?

Other launchers that do support icons dont restrict themselves to only a handful of directories, allowing other icons to be used on the system.

Describe your feature request

The following contexts are defined in Adwaita:

/usr/share/icons/Adwaita/symbolic/actions
/usr/share/icons/Adwaita/symbolic/categories
/usr/share/icons/Adwaita/symbolic/devices
/usr/share/icons/Adwaita/symbolic/emotes
/usr/share/icons/Adwaita/symbolic/legacy
/usr/share/icons/Adwaita/symbolic/mimetypes
/usr/share/icons/Adwaita/symbolic/places
/usr/share/icons/Adwaita/symbolic/status
/usr/share/icons/Adwaita/symbolic/ui

These paths provide insightful icons that applications can call, but it may not be used by all, which is why a new configuration option (preferably a command-line only option), will be necessary for these applications to ask for extra contexts to be added.

### Pre-checks - [x] The [fuzzel.ini](https://codeberg.org/dnkl/fuzzel/src/branch/master/doc/fuzzel.ini.5.scd) and [fuzzel](https://codeberg.org/dnkl/fuzzel/src/branch/master/doc/fuzzel.1.scd) man pages. - [x] [Changelog](https://codeberg.org/dnkl/fuzzel/src/branch/master/CHANGELOG.md#unreleased) of newer and unreleased features ### Do similar tools already implement this feature? Other launchers that do support icons dont restrict themselves to only a handful of directories, allowing other icons to be used on the system. ### Describe your feature request The following contexts are defined in Adwaita: ``` /usr/share/icons/Adwaita/symbolic/actions /usr/share/icons/Adwaita/symbolic/categories /usr/share/icons/Adwaita/symbolic/devices /usr/share/icons/Adwaita/symbolic/emotes /usr/share/icons/Adwaita/symbolic/legacy /usr/share/icons/Adwaita/symbolic/mimetypes /usr/share/icons/Adwaita/symbolic/places /usr/share/icons/Adwaita/symbolic/status /usr/share/icons/Adwaita/symbolic/ui ``` These paths provide insightful icons that applications can call, but it may not be used by all, which is why a new configuration option (preferably a command-line only option), will be necessary for these applications to ask for extra contexts to be added.
Collaborator
Copy link

@sewn Can you say more about the use-case you have in mind? Fuzzel and is an application launcher, and the directories you mentioned don't contain application icons.

Other launchers that do support icons dont restrict themselves to only a handful of directories, allowing other icons to be used on the system.

Please be specific. Name the launchers and provide details of their CLI or config file options and documentation around these features.

@sewn Can you say more about the use-case you have in mind? Fuzzel and is an application launcher, and the directories you mentioned don't contain application icons. > Other launchers that do support icons dont restrict themselves to only a handful of directories, allowing other icons to be used on the system. Please be specific. Name the launchers and provide details of their CLI or config file options and documentation around these features.
Author
Copy link

Can you say more about the use-case you have in mind? Fuzzel and is an application launcher

Using fuzzel as a general application menu (aka the dmenu mode), where entries can have icons such as mediatype, settings, etc.

> Can you say more about the use-case you have in mind? Fuzzel and is an application launcher Using fuzzel as a general application menu (aka the `dmenu` mode), where entries can have icons such as mediatype, settings, etc.
Owner
Copy link

We're already supposed to ignore icon theme context in dmenu mode. This was changed in 1.13.0.

We're already supposed to ignore icon theme context in dmenu mode. This was changed in 1.13.0.
Collaborator
Copy link

Here's the changelog entry:

In application mode (not dmenu), fuzzel now ignores icon theme directories whose Context field is not Application or Apps, or Legacy. This is for performance reasons (#553)

Here's the changelog entry: > In application mode (not dmenu), fuzzel now ignores icon theme directories whose Context field is not Application or Apps, or Legacy. This is for performance reasons (#553)
Collaborator
Copy link

@sewn to reframe what you are asking for:

"For only dmenu mode, add in opt-in option that searches additional icon directories to provides more access to icons for menu-building. It's understood there will be some trade-off of a performance penalty to search the extra directories when this is option is enabled."

Is that accurate?

@sewn to reframe what you are asking for: "For only dmenu mode, add in opt-in option that searches additional icon directories to provides more access to icons for menu-building. It's understood there will be some trade-off of a performance penalty to search the extra directories when this is option is enabled." Is that accurate?
Collaborator
Copy link

I ran into this today when I wanted to use an icon that wasn't an app icon. I found there's already a workaround for app launcher mode in that providing the full path to any icon works.

In dmenu mode, for audio-headphonesI found I could also use a full-path there, and even without a full path, a version was found.

➤ echo -en "Firefox0円icon\x1faudio-headphones" | fuzzel --dmenu
➤ echo -en "Firefox0円icon\x1f/usr/share/icons/breeze-dark/devices/64/audio-headphones.svg" | fuzzel --dmenu
➤ locate audio-headphones.svg
/usr/share/icons/Adwaita/scalable/devices/audio-headphones.svg
/usr/share/icons/breeze/devices/22/audio-headphones.svg
/usr/share/icons/breeze/devices/24/audio-headphones.svg
/usr/share/icons/breeze/devices/64/audio-headphones.svg
/usr/share/icons/breeze-dark/devices/22/audio-headphones.svg
/usr/share/icons/breeze-dark/devices/24/audio-headphones.svg
/usr/share/icons/breeze-dark/devices/64/audio-headphones.svg
I ran into this today when I wanted to use an icon that wasn't an app icon. I found there's already a workaround for app launcher mode in that providing the full path to any icon works. In dmenu mode, for `audio-headphones`I found I could also use a full-path there, and even without a full path, a version was found. ``` ➤ echo -en "Firefox0円icon\x1faudio-headphones" | fuzzel --dmenu ➤ echo -en "Firefox0円icon\x1f/usr/share/icons/breeze-dark/devices/64/audio-headphones.svg" | fuzzel --dmenu ➤ locate audio-headphones.svg /usr/share/icons/Adwaita/scalable/devices/audio-headphones.svg /usr/share/icons/breeze/devices/22/audio-headphones.svg /usr/share/icons/breeze/devices/24/audio-headphones.svg /usr/share/icons/breeze/devices/64/audio-headphones.svg /usr/share/icons/breeze-dark/devices/22/audio-headphones.svg /usr/share/icons/breeze-dark/devices/24/audio-headphones.svg /usr/share/icons/breeze-dark/devices/64/audio-headphones.svg ```
Author
Copy link

The only workaround for me is to use icon-theme=Adwaita to access these icons.

The only workaround for me is to use `icon-theme=Adwaita` to access these icons.
Sign in to join this conversation.
No Branch/Tag specified
master
gnome-support
releases/1.14
issue-319-window-switching
issue-561-nord-theme-only
resvg-filtering-take-2
resvg-filtering
releases/1.13
rehanzo-dont-ignore-execute-648
keybinds-overwrite
issue-561-refresh-theme
ci-automated-testing
reenable-legacy-icons
releases/1.12
test-coverage-for-fzf-caching
releases/1.11
releases/1.10
releases/1.9
releases/1.8
releases/1.7
releases/1.6
releases/1.5
releases/1.4
releases/1.3
releases/1.2
releases/1.1
releases/1.0
1.14.1
1.14.0
1.13.1
1.13.0
1.12.0
1.11.1
1.11.0
1.10.2
1.10.1
1.10.0
1.9.2
1.9.1
1.9.0
1.8.2
1.8.1
1.8.0
1.7.0
1.6.5
1.6.4
1.6.3
1.6.2
1.6.1
1.6.0
1.5.4
1.5.3
1.5.2
1.5.1
1.5.0
1.4.2
1.4.1
1.4.0
1.3.0
1.2.0
1.1.0
1.0.1
1.0.0
0.9.0
Milestone
Clear milestone
No items
No milestone
Projects
Clear projects
No items
No project
Assignees
Clear assignees
No assignees
3 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#726
Reference in a new issue
dnkl/fuzzel
No description provided.
Delete branch "%!s()"

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?