Jazqa / kwin-quarter-tiling

An easy tiling script for KWin
GNU General Public License v2.0
367 stars 20 forks source link

The script stopped working after updating to plasma 5.17 #80

Closed kupiqu closed 4 years ago

kupiqu commented 4 years ago

the script seems to start properly but after initialization no window obeys quarter tiling anymore

kupiqu commented 4 years ago

I tried all branches and they all fail with the exception of javascript_rework and javascript_rework_quarter_layout.

Unfortunately these two branches make the script crash after restoring from maximized windows. It is better than master and other branches, but it would be great if this could be fixed.

kupiqu commented 4 years ago

Also, it does not seem possible to enforce the quarter layout properly in these branches, that is, more than 4 windows are possible in a desktop, and when there are 4, they are not evenly distributed in quarters

Jazqa commented 4 years ago

I’m running some ancient Plasma version on Debian, but I’ll setup an environment to test this when I get a chance.

The way adding and removing windows works in the rework branch is way more reliable and robust, I just haven’t gotten around implementing the actual tiling logic yet.

alxlg commented 4 years ago

I updated to Plasma 5.17 with the precise desire to use Quarter Tiling with Wayland since with this release KWin scripting is finally re enabled on Wayland so I can finally switch to it on a day by day basis (I can't live without this tiling script!) but sadly now it doesn't even work on X11 :-(

kupiqu commented 4 years ago

I can't live without this tiling script!

Same here, this script is so nice and efficient that my workflow has been dependent of it since it appeared but now all my windows in the desktop are a mess :)

I’ll setup an environment to test this when I get a chance

It's very much appreciated!

The way adding and removing windows works in the rework branch is way more reliable and robust, I just haven’t gotten around implementing the actual tiling logic yet.

do you think it is the right time to do it now, or do you think it would take too long?

kupiqu commented 4 years ago

KWin scripting is finally re enabled on Wayland

Oh wow, didn't know about that. Perhaps, once this issue with Quarter Tiling is fixed, it is the right time to move to Wayland once and for all :)

Jazqa commented 4 years ago

do you think it is the right time to do it now, or do you think it would take too long?

The right time to do it was two years ago. Hopefully I’ll find enough free time during the weekend.

However, the rework will remove a lot of functionality from the script. The codebase of the original script is a huge mess because of the weird logic applied to small windows. I’ve decided to completely exclude that logic from the script. Tiled windows will get stretched to their tiles, but small windows can be excluded from tiling via minimum width and height options.

Another controversial feature that I have to evaluate is the dynamic desktop switching. It’ll either become optional or a separate script.

kupiqu commented 4 years ago

While I totally understand the former, I fail to see the latter. I wonder, what is going to happen when > 4 windows are opened in a virtual desktop?

Jazqa commented 4 years ago

I will include the dynamic desktops either as an option or a separate script compatible with this one (personally, I’d prefer a separate script to keep the codebase clean and the scope of the scripts limited, but it’s most likely not possible as the dynamic desktop script would not be aware whether the windows are tiled or not).

If the user disables the feature, windows exceeding the tiling limit (1-4 with the quarter layout, possibility to add layouts supporting more in the future) would simply float.

alxlg commented 4 years ago

but it’s most likely not possible as the dynamic desktop script would not be aware whether the windows are tiled or not).

This seems problematic when using an Activity (or desktop) excluded from tiling... I mean, the move-to-next-desktop script would move the 5th window even if tiling is disabled for that Activity/desktop, no?

Also please be sure your scripts will be compatible with this one because they would be a very good combo in my opinion: https://github.com/Aetf/kwin-maxmize-to-new-desktop

waffler99 commented 4 years ago

I'm having the same issue, but just began using this script. Certain applications do not tile at all. For example:

Kate when loading by default Chrome when creating a new window, albeit randomly

Is there any way I can contribute? If not, is there a quarter-tiling alternative script. Thanks!

Jazqa commented 4 years ago

@waffler99, there are a plenty of tiling scripts for KWin, but they all have their quirks. As for contributing, I don’t think there’s much to help with as the script is not modular at all.

I did spend quite a few hours with the script last weekend, but didn’t come close to finishing as I ran into trouble with desktop management. Hopefully I’ll get further this weekend.

As an unrelated note, I’m probably giving babel and some form of typing solution (Flow, Typescript etc.) a go this weekend. If babel can convert modern Javascript to the ancient version that KWin will understand working on the script would be way more pleasant.

kupiqu commented 4 years ago

FYI, not sure if sth was fixed in Plasma 5.17.1 or 5.17.2, but master branch works again in Plasma 5.17.2

Jazqa commented 4 years ago

In case it fixed itself, it was most likely a KWin issue. I'll just go ahead and close this issue. I've been actively working on rewrite and will keep posting in #59.