Closed ilya-m32 closed 1 month ago
@jonian wdyt if I convert the remaining themes?
Hello @jonian As we discussed some time ago (https://github.com/hardpixel/unite-shell/issues/373#issuecomment-2323352557), I updated this PR to make the workaround optional and it can be enabled via extension settings. Let me know what do you think.
I tested it locally, but more testing is always welcomed.
Hey @ilya-m32, thanks for working on this!
It looks mostly good and the only issue I found is that, if I disable the workaround setting, the icons do not revert to the default (css) mode if I don't also change the theme.
Also I would avoid making some of the code changes in this PR and I will comment on them separately.
@jonian thanks for the swift reaction - I applied suggested changes. I also added a callback on configuration change, so it will update the rendering mode without extension/shell restart.
I've noticed that the fix is not pixel perfect but it should be good enough for a temporary workaround in my opinion.
@ilya-m32 looks great, thank you for your contribution!
fix #373 fix #106
Needs discussion, not for merging
A workaround for https://github.com/hardpixel/unite-shell/issues/106
It seems that the problem still exist in gnome-shell=45.0 and there's no reaction from the gnome team.
Since the bug is very annoying to me, I decided to take a look if there are any fixes we can do now. I found that if we leverage gicons instead of CSS backgrounds, shell renders icon size correctly after the screen scale changes. It is less convenient than CSS-based styling but works as intended.
For testing purposes, I converted
adwaita
andambience
themes to gicons in backward-compatible fashion and personally satisfied with this workaround.@jonian let me know what do you think. I can make a separate independent theme with this fix (for people like me with multi-scale setups) or try to convert other themes to gicons as well.
To all: extra testing could be also useful. I only tested this is gnome 45.0 with these two themes.
UPD 26.10.2024 As agreed before, I converted this MR to make workaround optional. It can be enabled via extension options.