tcorreabr / Parachute

Look at your windows and desktops from above.
GNU General Public License v3.0
356 stars 32 forks source link

Background-Blur missing #94

Open boredpengu opened 3 years ago

boredpengu commented 3 years ago

When I activate parachute (via shortcut or screen-edge) the background doesn't blur, even though enabled. Instead I'm seeing normal Desktop in the background. Same behavior with either v0.9.1 or v.0.9.0 . Also the virtual desktop's background does not appear (screenshot: blue thumbnails on the right side)

This happens to me on Kubuntu 20.04 LTS with Plasma 5.18.5. And also to user @-koma111 as stated in the discussion on Manjaro KDE with Plasma 5.20.4 .

Special behavior with secondary monitor connected: me: parachute only activates on secondary screen, but still without background-blur. when manually restarting kwin_x11: parachute works on both screens, still without any background-blur user @koma111: parachute activates on both screens, with background-blur on the secondary and without background-blur on the primary. when manually restarting kwin_x11: everything is working fine including background-blur until next login. (kinda citing this user from discussion section here.. hope this is ok! )

parachute_without_blur )

koma111 commented 3 years ago

(kinda citing this user from discussion section here.. hope this is ok! )

Totally fine with me

But this screenshot looks kinda busy, it is hard to make out what is Parachute and what is just the desktop with some windows, behind Parachute. Also, what is up with the virtual desktop backgrounds in Parachute? In your screenshot, they appear to be gone as well. Also, let me suggest that the title of this issue be shortened, to something along the lines of "Background blur not always working" or "Background blur missing on multi-monitor". I am not sure about the [bug] manual tag. It becomes unnecessary once @tcorreabr triages this issue with GitHub's tag system, and the little red "bug" label shows up. Until then, it may stay. The Plasma version is a detail that is important, but not so much that it should be in the title. Same story with the "instead normal Desktop in the Background" part. If there are a lot of issues, it helps the dev(s) if the title only says "background blur missing". If they decide to fix that bug, they will click it, and gather all the details. If they are, however, not focusing on this issue, the long text distracts them.

boredpengu commented 3 years ago

@koma111
exactly the kinda information I needed, thanks man. first issue I opened ever ;) so always open to learn how these things are done the right way.. will see if I can edit first post and add the missing virtual desktop background as well. the screenshot: I think on a second look one can figure out whats going on - especially the devs, knowing this app well - don't you think? I mean it's parachute active with the browser being opened in the background. thought I'd want a program to be opened so you can see clearly how the background is not blurred. thanks for your help!

koma111 commented 3 years ago

I just opened Parachute on my PC, and this is what I got: Parachute_WTF The wallpaper of the second monitor shows up blurred on the first monitor, but doesn't cover the first monitor since it is a different aspect ratio screen, so the browser window peeks out from behind, still not blurred. Background is not blurred on second monitor. Note that I have different wallpapers on the two screens. Upon restarting KWin by typing kwin_x11 --replace & into KRunner, this is what I get: Parachute_norm Plasma 5.20.4, Frameworks 5.77.0, Qt 5.15.2, Kernel 5.10.2, Manjaro KDE

PS: Also notice how the window layout in Parachute has changed due to KWin being restarted, even though no window has been moved or brought to the front.

koma111 commented 3 years ago

Today I happened to switch to single monitor mode in Plasma's Screen Settings applet, and when the secondary monitor is disabled, Parachute blurs correctly. When I switch back to Extend To The Right, the weird blur issue with the blue secondary wallpaper being blurred in front of a non-blurred red primary wallpaper comes back. After restarting KWin, the blurring works fine on both monitors, but after performing the maneuver described above (switch to single screen, then switch back), the bug comes back.

I hope this information is useful. I might do some more testing later this week.

mjlbach commented 3 years ago

I think this happens to me when I trigger parachute too quickly after logging in. For the rest of the session (until a kwin restart) I also lose the blur effect.

Merrit commented 3 years ago

I believe I am experiencing a related issue.

On the secondary monitor everything seems to work as expected, however on the primary monitor Parachute seems to be overlayed ontop of the active windows, and if I move my mouse over the previews there is no selection effect - though I can click one to select it.

https://user-images.githubusercontent.com/9575627/107837878-05bdf800-6d71-11eb-80c1-6f6e19c34874.mp4

I tried changing the compositor's scale method to Crisp / Smooth, changing settings within Parachute, rebooting, restarting kwin with kwin_x11 --replace & - nothing seems to make a difference.

If there is anything I can do to help debug I am happy to help - Parachute looks cool, I look forward to giving it a try! :heart:

tcorreabr commented 3 years ago

If there is anything I can do to help debug I am happy to help - Parachute looks cool, I look forward to giving it a try! heart

https://github.com/tcorreabr/Parachute/discussions/65

Merrit commented 3 years ago

Looking through main.qml @ updateScreens(), wondering if this might be a promising spot to look.

Looking through the developer docs I am seeing a few things that stand out, like:

int displayWidth: The width of the display, that is width of all combined screens. Deprecatedsince 5.0 use virtualScreenSize

Though displayWidth is an int, virtualScreenSize is a "QSize" so I can't just swap them out to test.. the tooling for Qt makes it all a bit weird to work with.

One thing that occurred to me might be an issue is that my two monitors have different resolutions - primary is 1920x1080, secondary is 1680x1050.. maybe the calculation gets borked because of this?

ayushsherpa111 commented 3 years ago

is there any fix to the missing background blur?

tcorreabr commented 3 years ago

Though displayWidth is an int, virtualScreenSize is a "QSize" so I can't just swap them out to test.. the tooling for Qt makes it all a bit weird to work with.

I tested using virtualScreenSize and unfortunately the problem is still there.

In my opinion the problem is not the tooling for Qt, but the fact that the project is a KWin script which prevents us from using debugging tools.

tcorreabr commented 3 years ago

is there any fix to the missing background blur?

No, unfortunately I have had little time to work on the project lately.

leohearts commented 3 years ago

On my machine there's the same problem : The problem may be at PlasmaCore.WindowThumbnail WindowThumbnail didn't generate, then FastBlur{} can't get the right resource. (Maybe because winId is missing?) A little workaround:

//     PlasmaCore.WindowThumbnail {
//         id: desktopBackground
//         anchors.fill: parent
//         winId: 0
//         opacity: mainWindow.configBlurBackground ? 0 : 1
//     }

    Image {
        id: desktopBackground
        source: "/home/leohearts/图片/壁纸/light/WhenThePromisedFlowerBlooms5.png.webp"
        sourceSize: Qt.size(parent.width, parent.height)
        smooth: false
        visible: false
    }

    FastBlur {
        id: blurBackground
        anchors.fill: parent
        source: desktopBackground
        radius: 64
//         visible: desktopBackground.winId !== 0 && mainWindow.configBlurBackground
        visible: true
        cached: true
    }

diff : my fork

erenfro commented 3 years ago

So, this problem exists in KDE 5.18.4 from Kubuntu 20.04. On KDE Neon, It was 5.22.4. 5.18 the blur effect did not work. 5.22 it did. This work around, though having to manually provide the background image manually in the script, does work in KDE 5.18.