Skip to content
This repository has been archived by the owner on Jun 16, 2024. It is now read-only.

[Bug]: Broken on KDE 5.27 beta #473

Open
rakbladsvalsen opened this issue Jan 29, 2023 · 20 comments · May be fixed by #490
Open

[Bug]: Broken on KDE 5.27 beta #473

rakbladsvalsen opened this issue Jan 29, 2023 · 20 comments · May be fixed by #490
Labels
bug Something isn't working

Comments

@rakbladsvalsen
Copy link

rakbladsvalsen commented Jan 29, 2023

Summary

Just as the title suggests, Bismuth is broken KDE 5.27 (beta).

Sometimes windows are not "detected" (or not tracked?) and bismuth is, in this case, useless. All keyboard shortcuts don't have any effect at all on windows, it's basically as if the extension was disabled.

When it does work everything is very buggy: some windows open in tiled mode, and some others open in floating mode. Windows opened in floating mode don't seem to be detected by bismuth at all, and "Toggle floating mode" doesn't re-tile them again.

This probably has something to do with the tilling changes introduced in KDE 5.27, but I'm not completely sure about this.

Steps to Reproduce

Just use bismuth on 5.27.
I'm only using Tile Layout.

Expected behavior

No buggy behavior.

Screenshots

No response

Bismuth version

3.1.4

KDE Plasma version

5.26.90 (5.27 beta)

The platform KWin is running on

Wayland

Additional context

pacman -Q | grep plasma:

kdeplasma-addons 5.26.90-1
plasma-browser-integration 5.26.90-1
plasma-desktop 5.26.90-2
plasma-framework 5.102.0-1
plasma-integration 5.26.90-1
plasma-nm 5.26.90-1
plasma-pa 5.26.90-1
plasma-thunderbolt 5.26.90-1
plasma-wayland-session 5.26.90-1
plasma-workspace 5.26.90-1
plasma5-applets-netspeed 1.9-1.1
plasma5-applets-window-title-git 0.7.1.r0.gb785c0a-1.1

@rakbladsvalsen rakbladsvalsen added the bug Something isn't working label Jan 29, 2023
@RobertBuhren
Copy link

I´ 'm using bismuth on KDE 5.7 Beta with X11 and I don't see any bigger issues so far.

@jkcdarunday
Copy link

Can confirm that it's also broken on Plasma 5.27.0 (non-beta) using Wayland. All windows become resized to the full screen instead of being tiled.

@jkcdarunday
Copy link

So I played around with Firefox windows and observed the following logs and noted the actions/events that I did in square brackets:

[Opened Firefox]
Feb 17 03:29:38 [redacted] kwin_wayland[1600]: org.kde.bismuth: Client added: KWin::XdgToplevelWindow(0x555c17eff000)
Feb 17 03:29:38 [redacted] kwin_wayland[1600]: org.kde.bismuth: Oops! undefined: undefined.
[Created New Browser Window]
Feb 17 03:29:44 [redacted] kwin_wayland[1600]: org.kde.bismuth: Client added: KWin::XdgToplevelWindow(0x555c1811f760)
Feb 17 03:29:44 [redacted] kwin_wayland[1600]: org.kde.bismuth: onWindowAdded,[object Object]
Feb 17 03:29:44 [redacted] kwin_wayland[1600]: org.kde.bismuth: arrange
Feb 17 03:29:44 [redacted] kwin_wayland[1600]: org.kde.bismuth: arrangeScreen/finished,[object Object]
Feb 17 03:29:44 [redacted] kwin_wayland[1600]: org.kde.bismuth: Client is ok, can manage. Bind events now...
Feb 17 03:29:44 [redacted] kwin_wayland[1600]: org.kde.bismuth: onWindowChanged,[object Object]
Feb 17 03:29:44 [redacted] kwin_wayland[1600]: org.kde.bismuth: arrange
Feb 17 03:29:44 [redacted] kwin_wayland[1600]: org.kde.bismuth: arrangeScreen/finished,[object Object]
[Login Popup of a Firefox Extension Appears]
Feb 17 03:29:47 [redacted] kwin_wayland[1600]: org.kde.bismuth: Client added: KWin::XdgToplevelWindow(0x555c182ac080)
Feb 17 03:29:47 [redacted] kwin_wayland[1600]: org.kde.bismuth: Oops! undefined: undefined.
[Created New Window]
Feb 17 03:29:52 [redacted] kwin_wayland[1600]: org.kde.bismuth: Client added: KWin::XdgToplevelWindow(0x555c182b26c0)
Feb 17 03:29:52 [redacted] kwin_wayland[1600]: org.kde.bismuth: Oops! undefined: undefined.
[Created New Window]
Feb 17 03:29:58 [redacted] kwin_wayland[1600]: org.kde.bismuth: Client added: KWin::XdgToplevelWindow(0x555c17ec9d40)
Feb 17 03:29:58 [redacted] kwin_wayland[1600]: org.kde.bismuth: onWindowAdded,[object Object]
Feb 17 03:29:58 [redacted] kwin_wayland[1600]: org.kde.bismuth: arrange
Feb 17 03:29:58 [redacted] kwin_wayland[1600]: org.kde.bismuth: arrangeScreen/finished,[object Object]
Feb 17 03:29:58 [redacted] kwin_wayland[1600]: org.kde.bismuth: Client is ok, can manage. Bind events now...
Feb 17 03:29:58 [redacted] kwin_wayland[1600]: org.kde.bismuth: onWindowChanged,[object Object]
Feb 17 03:29:58 [redacted] kwin_wayland[1600]: org.kde.bismuth: arrange
Feb 17 03:29:58 [redacted] kwin_wayland[1600]: org.kde.bismuth: arrangeScreen/finished,[object Object]

I notice that if I create enough windows, new windows start to actually get tiled. The main culprit seems to be the Oops! undefined: undefined. error right after the "Client added" event.

Looking at the code, it seems that the ff. line might be the one throwing the error as the "onWindowAdded" message which should be the first line of the onWindowAdded function call below it is never logged.

const window = this.windowMap.add(client);

This .add function seems to be calling the constructors of DriverWindowImpl and EngineWindowImpl that mostly reads window information from the KWin API.

Now not sure yet which of these reads actually throws the error and whether or not this is a bismuth or an upstream issue.

@jkcdarunday
Copy link

Also adding that it does work well with X11 on Plasma 5.27.0. The issue only happens on Wayland.

@CarlosEkisde
Copy link

CarlosEkisde commented Feb 18, 2023

I managed to get it working in Xorg, I don't know how, I'm almost sure that the last time I tested on Xorg it showed the same faulty behaviour. On the other hand I've seen this commit landing on the kwin side KDE/kwin@96fdc9d It seems very closely related to our problem. So maybe our pain is soon going to reach an end.

@intentionally-left-nil
Copy link

@CarlosEkisde: Built Plasma/kwin from source, but unfortunately it doesn't seem to fix the issue

@Akergez
Copy link

Akergez commented Feb 22, 2023

Can confirm it on 5.27, wayland, Fedora Kinoite. Works very unstable

@Jeoshua
Copy link

Jeoshua commented Feb 23, 2023

Honestly, I haven't noticed this plugin being any more or less stable under 5.27 (Kubuntu Beta PPA, X11 OR Wayland) than it has ever been. Yeah, there are some minor issues, but, again, nothing I didn't see in 5.26.

@Vistaus
Copy link

Vistaus commented Feb 27, 2023

It works for me on 5.27.1 Wayland on Tumbleweed, however, it's a little buggy. Some windows don't get autotiled and already tiled windows don't resize back to bigger tiles.

@dinotheextinct
Copy link

It works for me on 5.27.1 Wayland on Tumbleweed, however, it's a little buggy. Some windows don't get autotiled and already tiled windows don't resize back to bigger tiles.

Its not just a little buggy, its completely random buggy. Opening 10 Terminals in a row gives different results. (some tiled some arent)

Unuseable for me in this state.

@HelmicNewciv
Copy link

Can report the same issue on Wayland. Normally it takes the form of a centered floating window, and I"ll have to close and re-open that app multiple times to get a version that'll tile, but I just managed to get a form where my browser window was using the 3 column layout - max vertical, taking up about 1/2 the screen centered. And I had just been using the 3 column layout moments prior. I kept closing and repoening until I could get a tiling verison again, and it kept being that same layout.

Sometimes windows that were working also seem to randomly stop responding ot Bismuth. Makes swwapping between windows very difficult. It also mucks up the UI's of many apps that don't expect to be that small, rendering them inoperable until I either fix their layout with my mouse (I don't have tilebars or borders on applications to save screen space when using many windows) or I close and re-open them.

Maybe KDE's new tiling features will make this not a problem soon.

@Vistaus
Copy link

Vistaus commented Mar 17, 2023

@HelmicNewciv The only thing I miss from KDE's new tiling features is autotiling, which Bismuth does have. Someone has created a script for that now (https://store.kde.org/p/2003956), but it's supposedly very buggy and limited.

@alxlg
Copy link

alxlg commented Mar 18, 2023

Relevant fix for Krohnkite, can someone running Plasma 5.27 test the same change with Bismuth maybe?

esjeon/krohnkite#213 (comment)

@Thaodan
Copy link

Thaodan commented Mar 28, 2023

Relevant fix for Krohnkite, can someone running Plasma 5.27 test the same change with Bismuth maybe?

esjeon/krohnkite#213 (comment)

Maybe try to apply the change here:

const size = this.client.clientSize;

@alxlg
Copy link

alxlg commented Apr 1, 2023

@Thaodan thanks, did you or anyone else have the chance to try it? I have not Plasma 5.27 to test it.

@Thaodan
Copy link

Thaodan commented Apr 1, 2023 via email

@jkcdarunday
Copy link

I think I may have found the cause of the undefined issue in my earlier comment and managed to fix it. I created PR #490 which fixes a lot of issues on Wayland for me.

So far, bismuth is working great with the changes in the PR above but I have yet to use it for a day.

@dobladez
Copy link

I confirm @jkcdarunday 's PR #490 solves the issue for me. Thanks!

@endeavour
Copy link

Fixes it for me too, much appreciated!

@endeavour
Copy link

endeavour commented Aug 3, 2023

I noticed this also fixes an issue in KDE Dolphin where if you start typing into the location textbox the dropdown appears in wrong place on the screen. :)

Edit: Sometimes anyway... seems to be some weird edge cases

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
bug Something isn't working
Projects
None yet
Development

Successfully merging a pull request may close this issue.