Open tobiasBora opened 1 year ago
It requires an icon theme containing icons like pan-down-symbolic
and open-menu-symbolic
, for example gnome.adwaita-icon-theme
. Unfortunately, we cannot really specify such dependency in Nix.
Thanks! So it does solve the issue (but it seems not to work inside a nix shell + nix run), but is there really no way to add default icons, possibly playing with some XDG environment variables by prepending a path with the expected available icons?
Not really, the selected icon theme depends on user configuration. At best you could create a dummy hicolor
theme and fill it with icons, since most icon themes extend the empty hicolor
theme. But you would need to come up with icons you want to use. This is especially hard since icon-naming-spec is dead nowadays – none of the icons used by Inkscape by default are listed there.
See also https://github.com/NixOS/nixpkgs/pull/43150#issuecomment-450056204 for more context.
Well, if I understand the specification https://specifications.freedesktop.org/icon-theme-spec/icon-theme-spec-latest.html correctly, it is possible by copying e.g. the adwaita theme in a hicolor folder (the hicolor theme being the fallback theme), and add this folder in XDG_DATA_DIRS in inkscape's wrapper, last in the list to be sure that we pick it when no better alternative exists. Am I missing something?
Actually we don't even need to move the theme to hicolor, it seems that unthemed icons (not contained in any theme, so I guess at the root of icons/?) are loaded as a fallback, so adding the icons/adwaita folder might be enough. That beeing sayed, I'm not sure to understand why the current fix works: if the current theme (and parents) do no contains the icon, the only fallback seems to be unthemed icons, i.e. outside any theme folder and directly at the root… and I guess adwaita does not contain such unthemed icons, no?
it is possible by copying e.g. the adwaita theme in a hicolor folder (the hicolor theme being the fallback theme), and add this folder in XDG_DATA_DIRS in inkscape's wrapper, last in the list to be sure that we pick it when no better alternative exists. Am I missing something?
You are right, I forgot that the hicolor fallback is enforced and thought the themes had a different directory layout but that does not seem to be the case (any more). So we would only need to get rid of Adwaita’s index.theme
file and replace it with hicolor
’s one. Then only the size concern remains.
Actually we don't even need to move the theme to hicolor, it seems that unthemed icons (not contained in any theme, so I guess at the root of icons/?) are loaded as a fallback, so adding the icons/adwaita folder might be enough.
Yeah, unthemed icons are direct children of icons/
and pixmaps/
directories under XDG_DATA_DIRS
. (Plus some other directories.) If you wanted to do this, you would need to change the directory structure (move all icons into icons/
directory) and presumably would not be able to use GTK icon cache.
If unthemed icons are loaded as a fallback will depend on whether LookupIcon
or FindBestIcon
method from the spec is used. Only the latter falls back to unthemed icons. Although, I guess, implementations can probably decide to fall back on unthemed icons even for the former.
That beeing sayed, I'm not sure to understand why the current fix works: if the current theme (and parents) do no contains the icon, the only fallback seems to be unthemed icons, i.e. outside any theme folder and directly at the root… and I guess adwaita does not contain such unthemed icons, no?
Yeah, no unthemed icons in Adwaita. What icon theme do you have selected in theming page of Preferences?
Ok thanks a lot. So I checked: adwaita icons seems to be 28M, while Inkscape is like 98M… so it is indeed non-negligible, but not crazy either. Another solution is to add only the few missing icons.
Also, I investigated, and I understand now a bit better what’s going wrong:
This way I don’t need to install adwaita to get the missing icons. Now, if I install adwaita, it seems like all theme now get the missing icons… that I still can’t explain…
Any progress on this ?
Same problem. Is there a workaround that allows me to keep my current system icon theme and have something separate for inkscape?
@pinpox well if you install Adwaita, you can still use another theme for the system, and configure Thunderbird as explained above to use Adwaita's theme.
I had the same problem with Inkscape installed via Home Manger on Arch Linux, and for me, the problem was that I didn't have ~/.nix-profile/share
in the exported variable XDG_DATA_DIRS
, so GTK couldn't find the icon themes installed there. An easy way to achieve that for me was this setting in my home.nix:
xdg = {
enable = true;
systemDirs = {
data = [ "$HOME/.nix-profile/share" ];
};
Hope this will be helpful for other people stumbling over this issue! :)
installing gnome.adwaita-icon-theme
fixes the problem for me
installing
gnome.adwaita-icon-theme
fixes the problem for me
Then it should be added as dependency for the package
Describe the bug
Some icons are missing in Inkscape. Notably all the arrows:
the bottom-left part:
and most annoyingly, the text align options (left/right/center/…):
Steps To Reproduce
Steps to reproduce the behavior:
(tested with KDE plasma, if it matters, with dark breeze: )
Additional context
Notify maintainers
@jtojnar
Metadata
Tested originally on 2caf4ef5005ecc68141ecb4aac271079f7371c44 (system using flake), but I just tried with:
today, same issue.