Bismuth-Forge / bismuth

KDE Plasma add-on, that tiles your windows automatically and lets you manage them via keyboard, similarly to i3, Sway or dwm.
https://bismuth-forge.github.io/bismuth/
Other
2.4k stars 94 forks source link

Future of the project after 5.27 #471

Open boehs opened 1 year ago

boehs commented 1 year ago

KDE is adding tiling in 5.27, and having tested it, it has a really nice UX.

In Nate's "This Week In KDE" post, he writes:

also the new APIs added for it should benefit 3rd-party tiling scripts that do want to let you turn KWin into a tiling window manager. Thanks very much to Marco Martin for contributing this work, which will be released in Plasma 5.27!

Is there some way you see that these two awesome features can work together?

edit: oh no...

gikari commented 1 year ago

Thank you for raising this issue.

I think I am going to deprecate the add-on after 5.27 releases. Here are a couple of reasons:

  1. As I see in #473, Bismuth apparently is not working in 5.27. Also, it is fundamentally incompatible by design with the new KWin feature and needs a rewrite from the ground up. As you can see from the project history, I am not so good at rewrites, primary because it is a very time-consuming task, which is impossible to do because of the second point.
  2. Currently, I do not have enough time and will to work on Bismuth due to a full-time software developer job to which I am committed. In general, my lifestyle changed drastically in the recent year, so I have new things to do and discover. Which takes us to the third point.
  3. I do not use KDE Plasma anymore, because it is no longer works for me as a technical solution for my problems, so I am no longer observe the KDE Community in the same amount of detail, that allow me to enhance my work on the add-on.

In my opinion, the best solution to the presented problem is to wait for someone with the fitting background to write a new KDE Plasma add-on, that is designed better around the new APIs and UI of Plasma 5.27 and eventually around Plasma 6. This would be better for the community in every way.

Sorry to inform about that.

boehs commented 1 year ago

thank you for your service to our community

Viraxi commented 1 year ago

Thank you for raising this issue.

I think I am going to deprecate the add-on after 5.27 releases. Here are a couple of reasons:

  1. As I see in [Bug]: Broken on KDE 5.27 beta #473, Bismuth apparently is not working in 5.27. Also, it is fundamentally incompatible by design with the new KWin feature and needs a rewrite from the ground up. As you can see from the project history, I am not so good at rewrites, primary because it is a very time-consuming task, which is impossible to do because of the second point.
  2. Currently, I do not have enough time and will to work on Bismuth due to a full-time software developer job to which I am committed. In general, my lifestyle changed drastically in the recent year, so I have new things to do and discover. Which takes us to the third point.
  3. I do not use KDE Plasma anymore, because it is no longer works for me as a technical solution for my problems, so I am no longer observe the KDE Community in the same amount of detail, that allow me to enhance my work on the add-on.

In my opinion, the best solution to the presented problem is to wait for someone with the fitting background to write a new KDE Plasma add-on, that is designed better around the new APIs and UI of Plasma 5.27 and eventually around Plasma 6. This would be better for the community in every way.

Sorry to inform about that.

thanks for everything! if you don’t mind me asking, what did you switch to after KDE?

maxfinnsjo commented 1 year ago

So long and thanks for all the tiling.

adrianvg commented 1 year ago

Thank you for raising this issue.

I think I am going to deprecate the add-on after 5.27 releases. Here are a couple of reasons:

  1. As I see in [Bug]: Broken on KDE 5.27 beta #473, Bismuth apparently is not working in 5.27. Also, it is fundamentally incompatible by design with the new KWin feature and needs a rewrite from the ground up. As you can see from the project history, I am not so good at rewrites, primary because it is a very time-consuming task, which is impossible to do because of the second point.
  2. Currently, I do not have enough time and will to work on Bismuth due to a full-time software developer job to which I am committed. In general, my lifestyle changed drastically in the recent year, so I have new things to do and discover. Which takes us to the third point.
  3. I do not use KDE Plasma anymore, because it is no longer works for me as a technical solution for my problems, so I am no longer observe the KDE Community in the same amount of detail, that allow me to enhance my work on the add-on.

In my opinion, the best solution to the presented problem is to wait for someone with the fitting background to write a new KDE Plasma add-on, that is designed better around the new APIs and UI of Plasma 5.27 and eventually around Plasma 6. This would be better for the community in every way.

Sorry to inform about that.

Well, we all need to prioritise! If this is the way Bismuth will go, I'd like to extend a thank you for the time given so far! So thanks!

ladydascalie commented 1 year ago

Thank you so much for all your work so far. It's sad to see Bismuth go, but it's totally understandable.

Congratulations on the awesome work, I'm pretty sure Bismuth is partly responsible for the popularity of tiling in the KDE community and probably was an influence on the decision to add those new features in 5.27

b1scu1t commented 1 year ago

I feared this would happen. I'm the user that suggested a merger of Bismuth and Kronkite on your Matrix server. Just want to say that you (@gikari), @esjeon, and the many other unnamed contributors did a damn good job. Kronkite/Bismuth was (arguably still is) the most feature-complete tiling window manager script for KWin, and I dread the day it finally stops working. Maybe both projects directly inspired the creation of KWin's new Tiling API...

Good luck in your future endeavours, and please don't start the Third Impact.

PhusionDev commented 1 year ago

Thanks for your hard work. I was using Bismuth on my Manjaro KDE setup as my first enjoyable tiler and enjoyed it a lot. I use amethyst on mac, and xmonad on my arch setup. I really liked bismuth and appreciate your efforts and wish you the best of luck in the future.

phrxmd commented 1 year ago

Thank you, and good luck!

ca5ua1 commented 1 year ago

Thanks a lot!

micoro commented 1 year ago

Thank you for creating and maintaining this great tool until now. I am sad to learn that it will be deprecated but that's life.

Good luck and thanks again.

rabfel-hobmet commented 1 year ago

bismuth is the main selling point of KDE for me. this is very sad, indeed.

boehs commented 1 year ago

bismuth is the main selling point of KDE for me. this is very sad, indeed.

As the author acknowledged and I mentioned in the original issue, KDE is getting some tiling support, and plugins should be able to tie in. It seems likely native tiling will eventually come (though It's possible developers will be reluctant to implement it until Plasma 6)

gagbo commented 1 year ago

Thanks for all the good stuff!

maxcurzi commented 1 year ago

Ouch, I wish I checked this issue before going back to KDE, I loved Bismuth on Manjaro KDE Plasma, and it was the single reason why I moved back to KDE (Neon this time) after a short time with Mint.

Bismuth is (was) my ideal tiling manager (I'm not a fan of tiling DEs) and 5.27 tiling manager is just ...ok for now. I hope KDE keeps pushing it to become as close as Bismuth as possible (autotiling, quick resize, keyboard shortcuts, instant layout switch).

I do wonder if 5.27 tiling could be disabled and let Bismuth do its work, but that's a question for new maintainers, if any :(

xfzv commented 1 year ago

Ouch, I wish I checked this issue before going back to KDE, I loved Bismuth on Manjaro KDE Plasma, and it was the single reason why I moved back to KDE (Neon this time) after a short time with Mint.

Bismuth is (was) my ideal tiling manager (I'm not a fan of tiling DEs) and 5.27 tiling manager is just ...ok for now. I hope KDE keeps pushing it to become as close as Bismuth as possible (autotiling, quick resize, keyboard shortcuts, instant layout switch).

I do wonder if 5.27 tiling could be disabled and let Bismuth do its work, but that's a question for new maintainers, if any :(

I've updated to 5.27 yesterday and Bismuth still works just fine

maxcurzi commented 1 year ago

I've updated to 5.27 yesterday and Bismuth still works just fine

You are right! I got worried because after installing it I couldn't find it or its shortcuts, but after a reboot it worked just fine. I even installed Krohnkite as a possible replacement in the meantime (unfortunately is a bit too slow to resize/rearrange).

Great! I'll keep using Bismuth until it breaks (hopefully never!) :)

ivan-gj commented 1 year ago

Wait, what?

Nano-Ocelot commented 1 year ago

I can confirm mine works as well with only a few bugs.

One is that window focus changing shortcuts no longer work (left,right,up,down directions) but other shortcuts that I tried worked fine. Another is that closing a tiled window no longer automatically resizes and repositions the other tiled windows, any subsequent window changes will cause the tiled windows to readjust (i.e. changing virtual desktops, opening new windows, hovering tooltips, etc). The last issue is that changing tiled window sizes with the mouse doesn't seem to properly work at all, the other windows don't change size and it will reset when any other window changes occur.

Since this extension mostly works fine with just a few bugs can we expect this project to continue or anyone to make a fork? I'm curious if anything has changed in that regard. I was under the impression that this extension was completely broken after the update and I'm pleasantly surprised.

xfzv commented 1 year ago

One is that window focus changing shortcuts no longer work (left,right,up,down directions) but other shortcuts that I tried worked fine. Another is that closing a tiled window no longer automatically resizes and repositions the other tiled windows, any subsequent window changes will cause the tiled windows to readjust (i.e. changing virtual desktops, opening new windows, hovering tooltips, etc). The last issue is that changing tiled window sizes with the mouse doesn't seem to properly work at all, the other windows don't change size and it will reset when any other window changes occur.

Cannot reproduce any of these issues on my end, it works exactly like 5.26.5. However, I had a couple of random kwin_x11 crashes but I can live with that.

maxcurzi commented 1 year ago

I can confirm mine works as well with only a few bugs.

One is that window focus changing shortcuts no longer work (left,right,up,down directions) but other shortcuts that I tried worked fine. Another is that closing a tiled window no longer automatically resizes and repositions the other tiled windows, any subsequent window changes will cause the tiled windows to readjust (i.e. changing virtual desktops, opening new windows, hovering tooltips, etc). The last issue is that changing tiled window sizes with the mouse doesn't seem to properly work at all, the other windows don't change size and it will reset when any other window changes occur.

Since this extension mostly works fine with just a few bugs can we expect this project to continue or anyone to make a fork? I'm curious if anything has changed in that regard. I was under the impression that this extension was completely broken after the update and I'm pleasantly surprised.

I don't see these bugs either. Everything works exactly as expected (refocusing, resizing, auto tiling etc).

The only thing I had to manually do was to set Kwin rules to remove title bar and border for most windows, in Manjaro I had a "Bismuth" decoration that took care of it (and I just had to add some exceptions)

ivan-gj commented 1 year ago

Just updated Arch Linux to Plasma 5.27 (Wayland) and everything that I have tried still works as expected!

This is so relieving, I was expecting a broken bismuth and the final day of a great project, but everything is fine as always. This made my week!

CarlosEkisde commented 1 year ago

I can confirm mine works as well with only a few bugs.

One is that window focus changing shortcuts no longer work (left,right,up,down directions) but other shortcuts that I tried worked fine. Another is that closing a tiled window no longer automatically resizes and repositions the other tiled windows, any subsequent window changes will cause the tiled windows to readjust (i.e. changing virtual desktops, opening new windows, hovering tooltips, etc). The last issue is that changing tiled window sizes with the mouse doesn't seem to properly work at all, the other windows don't change size and it will reset when any other window changes occur.

Since this extension mostly works fine with just a few bugs can we expect this project to continue or anyone to make a fork? I'm curious if anything has changed in that regard. I was under the impression that this extension was completely broken after the update and I'm pleasantly surprised.

I can confirm that it mostly works with the same bugs.

JustEnoughDucks commented 1 year ago

I can confirm mine works as well with only a few bugs.

One is that window focus changing shortcuts no longer work (left,right,up,down directions) but other shortcuts that I tried worked fine. Another is that closing a tiled window no longer automatically resizes and repositions the other tiled windows, any subsequent window changes will cause the tiled windows to readjust (i.e. changing virtual desktops, opening new windows, hovering tooltips, etc). The last issue is that changing tiled window sizes with the mouse doesn't seem to properly work at all, the other windows don't change size and it will reset when any other window changes occur.

Since this extension mostly works fine with just a few bugs can we expect this project to continue or anyone to make a fork? I'm curious if anything has changed in that regard. I was under the impression that this extension was completely broken after the update and I'm pleasantly surprised.

I have the same bugs, but if windows don't auto fill to their space on close and you have to refloat and tile every single window whenever you close a window, that is not working tiling. That pretty much defeats the purpose of a tiling window manager which is having good, automatic distribution of space for windows in your workspace.

Nano-Ocelot commented 1 year ago

I can confirm mine works as well with only a few bugs. One is that window focus changing shortcuts no longer work (left,right,up,down directions) but other shortcuts that I tried worked fine. Another is that closing a tiled window no longer automatically resizes and repositions the other tiled windows, any subsequent window changes will cause the tiled windows to readjust (i.e. changing virtual desktops, opening new windows, hovering tooltips, etc). The last issue is that changing tiled window sizes with the mouse doesn't seem to properly work at all, the other windows don't change size and it will reset when any other window changes occur. Since this extension mostly works fine with just a few bugs can we expect this project to continue or anyone to make a fork? I'm curious if anything has changed in that regard. I was under the impression that this extension was completely broken after the update and I'm pleasantly surprised.

I have the same bugs, but if windows don't auto fill to their space on close and you have to refloat and tile every single window whenever you close a window, that is not working tiling. That pretty much defeats the purpose of a tiling window manager which is having good, automatic distribution of space for windows in your workspace.

That's strange. Mine appropriately auto tiles again whenever any window or window manager changes take place like even just opening a plasmoid, new window, changing virtual desktops, etc. I don't need to manually float then retile all the windows. I'm on Wayland btw.

CarlosEkisde commented 1 year ago

I can confirm mine works as well with only a few bugs. One is that window focus changing shortcuts no longer work (left,right,up,down directions) but other shortcuts that I tried worked fine. Another is that closing a tiled window no longer automatically resizes and repositions the other tiled windows, any subsequent window changes will cause the tiled windows to readjust (i.e. changing virtual desktops, opening new windows, hovering tooltips, etc). The last issue is that changing tiled window sizes with the mouse doesn't seem to properly work at all, the other windows don't change size and it will reset when any other window changes occur. Since this extension mostly works fine with just a few bugs can we expect this project to continue or anyone to make a fork? I'm curious if anything has changed in that regard. I was under the impression that this extension was completely broken after the update and I'm pleasantly surprised.

I have the same bugs, but if windows don't auto fill to their space on close and you have to refloat and tile every single window whenever you close a window, that is not working tiling. That pretty much defeats the purpose of a tiling window manager which is having good, automatic distribution of space for windows in your workspace.

That's strange. Mine appropriately auto tiles again whenever any window or window manager changes take place like even just opening a plasmoid, new window, changing virtual desktops, etc. I don't need to manually float then retile all the windows. I'm on Wayland btw.

The problem seems to appear when a window is closed only. Then, in my case, the windows don't reposition themselves automatically until something external, like a program, or the user doing anything triggers any reposition event. Then, every window goes to their corresponding place.

I wonder what could be the difference between those who report a correct behaviour and those who report a faulty behaviour. But it doesn't seem to be related to being on X11 or Wayland. Btw I have tried on a fresh install on a VM and the same bugs are appearing in there.

intentionally-left-nil commented 1 year ago

As a fan and sponsor I want to say thank you for all the hard work you've put into the addon. It's really unfortunate that KDE broke the addon without providing a meaningful migration path forward. Best of luck in your future endeavors.

I can also confirm the 5.27 experience is more or less broken for me. Windows don't get resized when opening (sometimes). Windows never resize after closing a window. It's not a working experience any more

CarlosEkisde commented 1 year ago

https://github.com/Bismuth-Forge/bismuth/issues/473#issuecomment-1435768899

I wanted to post this in this issue, but is the same anyway. It seems that a fix to kwin probably related to our problem is going to arrive soon.

vtmx commented 1 year ago

Thank you for raising this issue.

I think I am going to deprecate the add-on after 5.27 releases. Here are a couple of reasons:

1. As I see in [[Bug]: Broken on KDE 5.27 beta #473](https://github.com/Bismuth-Forge/bismuth/issues/473), Bismuth apparently is not working in 5.27. Also, it is fundamentally incompatible by design with the new KWin feature and needs a rewrite from the ground up. As you can see from the project history, I am not so good at rewrites, primary because it is a very time-consuming task, which is impossible to do because of the second point.

2. Currently, I do not have enough time and will to work on Bismuth due to a full-time software developer job to which I am committed. In general, my lifestyle changed drastically in the recent year, so I have new things to do and discover. Which takes us to the third point.

3. I do not use KDE Plasma anymore, because it is no longer works for me as a technical solution for my problems, so I am no longer observe the KDE Community in the same amount of detail, that allow me to enhance my work on the add-on.

In my opinion, the best solution to the presented problem is to wait for someone with the fitting background to write a new KDE Plasma add-on, that is designed better around the new APIs and UI of Plasma 5.27 and eventually around Plasma 6. This would be better for the community in every way.

Sorry to inform about that.

Thank you very much for developing Bismuth, it has been an excellent tool in my daily life, I wish you health and happiness.

Out of curiosity, which DE did you replace KDE with?

Orio910 commented 1 year ago

hoping somebody will fork it and maintain. Bismuth is only way to have best tiling in KDE.

CarlosEkisde commented 1 year ago

As I'm seeing it is perfectly working on Xorg. Is on Wayland where we have a problem.

and-win commented 1 year ago

KDE developers promise to provide an API to communicate with new tiling feature. Probably Bismuth can be adjusted to use such API.

Jeoshua commented 1 year ago

I, too, have not noticed any major breaking bugs with the current version of KDE Plasma I'm using (XOrg, 5.27.1 Kubuntu Beta PPA, Bismuth installed via Volian PPA).

I really hope that this can be reconciled. I understand leaving the project lie since you're not even using Plasma, anymore, truly I do. But this being the absolute best KDE tiling project I have used I would be extremely sad to see it go, especially as the desktop environment, itself, adds new APIs which would specifically enable an even BETTER Bismuth.

May I humbly request to any reader of this message to keep us updated on if they are looking into, themselves, tying the new APIs into Bismuth, or have found an acceptable fork or other project which achieves the same thing?

b1scu1t commented 1 year ago

I don't think there is any documentation for the tiling API introduced in Plasma 5.27. That is a huge blocker for its adoption in tiling scripts.

phi-mah commented 1 year ago

Don't know if this helps, but I found these repos from the kde developer who merged the new tiling feature into kwin: https://invent.kde.org/mart/kwin-tiling-scripts

According to https://www.opendesktop.org/p/1955778 (and alike):

This is a KWin script that uses the new built-in tiling support for the upcoming 5.27 release (it won't work with prior Plasma versions)

Maybe they can shed some light on the new api to those who are already familiar with kwin scripting

CarlosEkisde commented 1 year ago

Don't know if this helps, but I found these repos from the kde developer who merged the new tiling feature into kwin: https://invent.kde.org/mart/kwin-tiling-scripts

According to https://www.opendesktop.org/p/1955778 (and alike):

This is a KWin script that uses the new built-in tiling support for the upcoming 5.27 release (it won't work with prior Plasma versions)

Maybe they can shed some light on the new api to those who are already familiar with kwin scripting

The one named autotile is the closest we have to a working (but it does not work very well) prototype of tiling script which uses the new tiling api.

gianmarcogg03 commented 1 year ago

On Plasma 5.27 Wayland on Arch it works, but it's wonky. When I close a window, often times the other one doesn't take the space of the now closed window until I maximize and restore it again. Some applications won't be tiled for some reason even if I have not excluded them from the tiling in the settings. Resizing a window with the mouse won't make the other window resize too like it used to on X11.

Mithras commented 1 year ago

On Wayland you can try https://github.com/zeroxoneafour/kwin-autotile instead.

gianmarcogg03 commented 1 year ago

On Wayland you can try https://github.com/zeroxoneafour/kwin-autotile instead.

Just tried it, it's garbage honestly.

Mithras commented 1 year ago

Then we have to wait until KDE actually releases tiling, not just API for tiling. Maybe in Plasma 6?

biqqles commented 1 year ago

Anyone still using i3wm with Plasma X11? Does this combo still work with 5.27?

and-win commented 1 year ago

Anyone still using i3wm with Plasma X11? Does this combo still work with 5.27?

Try Hyprland instead of Plasma.

alxlg commented 1 year ago

You guys are exaggerating, it must be a bug on Plasma's side, there is no reason to trash Bismuth. Try to modify this line in it: https://github.com/Bismuth-Forge/bismuth/issues/473#issuecomment-1486321142

edgerunnergit commented 1 year ago

You guys are exaggerating, it must be a bug on Plasma's side, there is no reason to trash Bismuth. Try to modify this line in it: #473 (comment)

does it fix the problem for you?

Anyone still using i3wm with Plasma X11? Does this combo still work with 5.27?

Try Hyprland instead of Plasma.

Made the switch myself. And honestly, I've been happier now. If setting up config is a problem then custom dotfiles from r/unixporn also help a lot.

HarunOr commented 1 year ago

Bismuth works fine for me, except for some little shortcut issues which can be easily worked around.

Using it with KDE Plasma 5.27.4 Wayland on a dual monitor setup.

biqqles commented 1 year ago

FWIW on Plasma 5.27.5 Bismuth still works the same as on 5.26 for me, as long as I use the X11 session. With Wayland things are badly broken, such as new windows not tiling until I switch desktops and back.

You guys are exaggerating, it must be a bug on Plasma's side, there is no reason to trash Bismuth. Try to modify this line in it: #473 (comment)

It is not us saying Bismuth will not be viable for much longer but @gikari himself at the top of this issue.

alxlg commented 1 year ago

It is not us saying Bismuth will not be viable for much longer but @gikari himself at the top of this issue.

I am saying to don't mix the fact Gikari is not developing anymore Bismuth with it being broken on Plasma 5.27.

There are 3 different things that happened at the same time:

  1. Gikari not developing Bismuth anymore
  2. Plasma 5.27 shipping its new tiling system
  3. Plasma Wayland session inadvertently breaking Bismuth in 5.27

And here people are acting like Bismuth was not FOSS and the bug with Plasma Wayland 5.27 couldn't be fixed in Bismuth or in Plasma.

Mithras commented 1 year ago

Plasma 5.27 shipping its new tiling system

the bug with Plasma Wayland 5.27 couldn't be fixed in Bismuth or in Plasma

Rather there is no point in fixing it. It needs a major rewrite to use new tiling API and with the main dev stepping down it's unlikely to happen. Somebody will be more likely to start a separate project from scratch instead of trying to fork and rewrite Bismuth.

alxlg commented 1 year ago

Rather there is no point in fixing it. It needs a major rewrite to use new tiling API and with the main dev stepping down it's unlikely to happen. Somebody will be more likely to start a separate project from scratch instead of trying to fork and rewrite Bismuth.

The API Bismuth is using are still there, it just happened to be a bug in Plasma Wayland session, indeed Bismuth works as intented in the X11 session.

The new tiling API have nothing to do with this and using them mean writing another project from scratch. Indeed the whole point of Bismuth is providing the tiling logic on top of Kwin scripting API.

There is a bug in the Wayland session only that it is not supposed to happen because the Kwin scripting API are still there and working as intended on X11. The bug is in Plasma and there is no reason for this not being fixable in Plasma or in Bismuth.

I don't know how to make it more clear, so I hope this time will be enough.

piaste commented 1 year ago

There is a bug in the Wayland session only that it is not supposed to happen because the Kwin scripting API are still there and working as intended on X11. The bug is in Plasma and there is no reason for this not being fixable in Plasma or in Bismuth.

Do you have the necessary information to open a bug report on https://bugs.kde.org pointing out the API breakage? I tried looking but did not find any reports related to Bismuth.