aunetx / blur-my-shell

Extension that adds a blur look to different parts of the GNOME Shell, including the top panel, dash and overview
https://extensions.gnome.org/extension/3193/blur-my-shell/
GNU General Public License v3.0
1.58k stars 88 forks source link

broken blur on panel #637

Closed Nekothegamer closed 3 months ago

Nekothegamer commented 3 months ago

updated the extension to the most recent version and got greeted with this broken blur on the panel

Schermata del 2024-08-16 04-31-25

mvolf commented 3 months ago

Having the exact same issue as @Nekothegamer . I tried changing the Pipilens and effects, but it doesn't resolve the issue. The only thing I noticed is that when changing blur type from static to dynamic the "semi-transparent" part of the panel moves to the right, while it's on the left (as the screenshot shows) when using static blur type.

Screenshot from 2024-08-16 07-59-55

azrdn commented 3 months ago

+1 I believe it has something to do with incorrect blur location when the external monitor set as a main monitor.

Dynamic Panel Blur Main Monitor on the right side ![Screenshot from 2024-08-16 11-36-55](https://github.com/user-attachments/assets/894d63d6-956f-41f7-8133-e44f53757e40) Main Monitor on left side (correct) ![Screenshot from 2024-08-16 11-37-31](https://github.com/user-attachments/assets/28e91fe5-c61c-44a5-948d-375519479b77) Main Monitor on bottom side ![Screenshot from 2024-08-16 11-37-58](https://github.com/user-attachments/assets/2419e027-9bed-4fd5-9be5-99e83b2d7c9e)

My temporary workaround is to set display as "External Only", then set it back to "Join Displays"

corngoblin commented 3 months ago

I'm also having this issue Fedora 40 Gnome 46

aunetx commented 3 months ago

Hello, sorry for the bugs, I would love to do something but I still don't have another monitor lying around to test it... (I though I had a shitty little 1024×768 monitor where I am now, but I don't find it...).

It somebody can investigate I would be glad to help but else it will need to wait a little bit :/

TheRsKing commented 3 months ago

grafik yeah same issue Aeon Desktop gnome 46

kimjongbing commented 3 months ago

Having the exact same issue Gnome 46 Arch

aunetx commented 3 months ago

Maybe you can try reversing the changes done in #619 and telling me if it works again?

Nekothegamer commented 3 months ago

uhm... how do i do that?

Nekothegamer commented 3 months ago

as in: how do i revert those changes? i should use the version prior to this release?

corngoblin commented 3 months ago

Maybe you can try reversing the changes done in #619 and telling me if it works again?

Reversing that did fix it for me.

@Nekothegamer You need to go to the commits tab in that link then open the post. Change the commits made in green, back to what's in red in "panel.js" located in your home directory at /.local/share/gnome-shell/extensions/blur-my-shell@aunetx/components. Once changed, log out and log back in.

Enable line numbers in your text editor and they should match up with what's in the commits to make finding the lines to change easier. :)

mvolf commented 3 months ago

@aunetx Reverting the mentioned commit solved the issue for me as well.

kimjongbing commented 3 months ago

reversing it fixes it for me too

neuromorph commented 3 months ago

Hello folks, That's my bad, oops! I added an update to fix some issues but messed up multi-monitor since I am on a single monitor setup and couldn't test for that. I found out when someone mentioned in the matrix channel, so let me fix it.

Can you please try with following updated snippet, this should work for multi-monitor as well:

        if (actors.static_blur) {
            // an alternative to panel.get_transformed_position, because it
            // sometimes yields NaN (probably when the actor is not fully
            // positionned yet)
            let [p_x, p_y] = panel_box.get_position();        
            let [p_p_x, p_p_y] = panel_box.get_parent().get_position();            
            let x =  p_x + p_p_x - monitor.x + (width - panel.width)/2;
            let y =  p_y + p_p_y - monitor.y + (height - panel.height)/2;

            background.set_clip(x, y, panel.width, panel.height);
            background.x = (width - panel.width)/2 - x;
            background.y = (height - panel.height)/2 - y;
        } else {
            background.x = panel_box.x;
            background.y = panel_box.y;
            background.width = width;
            background.height = height;
        }

OR you can replace the panel.js with the one attached here (after unzip).

Let me know if that works or any issues.

Thanks! panel.zip

corngoblin commented 3 months ago

@neuromorph I made those changes to test, and it's working for me.

neuromorph commented 3 months ago

Thank you for the feedback @corngoblin I would request others to test it as well so we can finalize it for the next update.

TheRsKing commented 3 months ago

Thank you for the feedback @corngoblin I would request others to test it as well so we can finalize it for the next update.

works for me :)

mvolf commented 3 months ago

@neuromorph This fixes the issue on static blur type for me, but on dynamic the issue still persists.

neuromorph commented 3 months ago

@mvolf Thank you for the feedback! Please try with following update for the Dynamic part:

       else {
            background.x = panel.x;
            background.y = panel.y;
            background.width = panel.width;
            background.height = panel.height;
        }

OR replace panel.js with the updated file attached here (after unzip).

Let us know if that works. panel.zip

alexbarton commented 3 months ago

Hi @neuromorph!

Let us know if that works. panel.zip

Your latest changes, included in the panels.zip file above, fix all issues for me. Static blur as well as dynamic is working as expected on my external display again. Yeah! :partying_face:

Thanks a lot! Alex

aunetx commented 3 months ago

Thanks a lot @neuromorph! I'll probably push an update by this afternoon (french one, so in a few hours), if you want to create a pull request with the changes that will be perfect!

neuromorph commented 3 months ago

@alexbarton

Static blur as well as dynamic is working as expected on my external display again. Yeah! 🥳

Thank you for letting us know ! Hope that now it works for all with their multi-display layout/setups.

@aunetx

I'll probably push an update by this afternoon (french one, so in a few hours), if you want to create a pull request with the changes that will be perfect!

Sure, I will create a PR for the fix :+1:

mvolf commented 3 months ago

@neuromorph the new code for dynamic type works as expected. Thanks for the quick fixes.

ettore-rollo commented 3 months ago

Had the same issue, but after reversing it, worked as intended :smile: Thanks @neuromorph!

Gnome 46 openSUSE Tumbleweed

aemisigna commented 3 months ago

@neuromorph

Had some issues with multi display setup and the new panel.js fixed them, thanks!

Nekothegamer commented 3 months ago

It got fixed! Amazing!