hardpixel / unite-shell

Unite is an extension that makes GNOME Shell look like Ubuntu Unity Shell.
GNU General Public License v3.0
948 stars 62 forks source link

gicon-based buttons to workaround the scaling issue #356

Closed ilya-m32 closed 1 month ago

ilya-m32 commented 1 year ago

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 and ambience 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. image

ilya-m32 commented 11 months ago

@jonian wdyt if I convert the remaining themes? ​

ilya-m32 commented 1 month ago

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.

image

I tested it locally, but more testing is always welcomed.

jonian commented 1 month ago

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.

ilya-m32 commented 1 month ago

@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.

jonian commented 1 month ago

@ilya-m32 looks great, thank you for your contribution!

jonian commented 1 month ago

fix #373 fix #106