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.41k stars 92 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...

alxlg commented 1 year ago

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.

I have not access to Plasma 5.27 to test the issue at the moment, this is why I didn't open a ticket myself, I took a look at changes in Kwin and I didn't find anything relevant, I asked to devs and they have no clue neither. If someone with Plasma 5.27 that can reproduce the issue could report it to bugs.kde.org it may helps.

ThorstenHeitzmann commented 1 year ago

Reading that Bismuth is coming to an end in here, I just tried out Plasma tiling (in 5.27, Xorg). However, it seems that individual layouts for virtual desktops are not supported by KDE tiling (yet?), so I switched back immediately.

rafauke commented 1 year ago

TBH kwin-bismuth v3.1.4 works very well on Arch with KDE Plasma v5.27.5. No major issues really! There are some little quirks with Plasma settings, but other than that it is really excellent. Thank you for all the work :pray:

image

dreamcat4 commented 1 year ago

@rafauke ok just you didnt mentioned in your report here... was that referring to X11, or on Wayland? (or on both?). To cross check with those other commentary

rafauke commented 1 year ago

@rafauke ok just you didnt mentioned in your report here... was that referring to X11, or on Wayland? (or on both?). To cross check with those other commentary

It's X11. Wayland is not reliable in general with my setup (NVIDIA laptop/Optimus Prime 🤖)

FantasyPvP commented 1 year ago

TBH kwin-bismuth v3.1.4 works very well on Arch with KDE Plasma v5.27.5. No major issues really! There are some little quirks with Plasma settings, but other than that it is really excellent. Thank you for all the work pray

image

from what i've seen it works really well in X but there are issues with windows sometimes not tiling on wayland, its getting really frustrating and i really dont see the current tiling system on kwin to be anywhere near complete enough to actually use over bismuth. the only annoyance with it at the moment is that sometimes I have to open 2 or 3 instances of an application because the first one wont tile, i'm not sure why but i cant manually set it to tiling mode either.

Jeoshua commented 1 year ago

I have been thinking about it, and my experience is much the same as the previous replies. Bismuth works okay in X and barely works in Wayland.

One thing that I've been able to do to help my situation is, when I open a window, and it doesn't tile correctly, I will mouse over the desktop and flick the scroll wheel, which moves to the next virtual desktop. Then, returning to the original desktop, the windows on that screen will refresh and tile properly. I do it this way since, with the gaps along the edge, it's as simple as flicking the mouse to the edge of the screen.

Hopefully this either helps someone figure out the problem, or at least give them a <1 sec fix for when it inevitably occurs.

andaag commented 1 year ago

https://github.com/zeroxoneafour/polonium

Disclaimer : Not my project, but I'm a heavy user. Strongly recommend giving it a try and see if it works for you 🙂

FantasyPvP commented 1 year ago

https://github.com/zeroxoneafour/polonium

Disclaimer : Not my project, but I'm a heavy user. Strongly recommend giving it a try and see if it works for you 🙂

Tysm this is exactly what I'm looking for XD

gianmarcogg03 commented 1 year ago

https://github.com/zeroxoneafour/polonium

Disclaimer : Not my project, but I'm a heavy user. Strongly recommend giving it a try and see if it works for you slightly_smiling_face

For me it doesn't work right and it also does not work exactly like Bismuth, which is a deal breaker.

crazyc4t commented 1 year ago

Thank you kind and good sir for your service!

dobladez commented 1 year ago

FYI: This small PR fixes the issues on 5.27 wayland (did for me at least): https://github.com/Bismuth-Forge/bismuth/pull/490

intentionally-left-nil commented 1 year ago

+1 fixes it for me too!!

farline99 commented 1 year ago

FYI: This small PR fixes the issues on 5.27 wayland (did for me at least): #490

Built package for Fedora for this fix. Here you go, maybe someone will need it ❤️

v3ss0n commented 1 year ago

@gikari can you add some maintainers , so we can work on keeping this working atleast across newer KDEs ,

I-Want-ToBelieve commented 1 year ago

NixOS:

{pkgs, ...}: {
  home.packages = with pkgs; [
    # @see https://ryantm.github.io/nixpkgs/stdenv/stdenv/#:~:text=As%20described%20in%20the%20Nix%20manual%2C%20almost%20any,so%20that%20certain%20other%20setup%20can%20take%20place.
    # @see https://github.com/NixOS/nixpkgs/blob/nixos-unstable/pkgs/desktops/plasma-5/3rdparty/addons/bismuth/default.nix#L43
    # @see https://ryantm.github.io/nixpkgs/using/overrides/#sec-pkg-overrideAttrs
    # @see https://github.com/Bismuth-Forge/bismuth/issues/474
    # @see https://github.com/Bismuth-Forge/bismuth/issues/471
    # @see https://github.com/Bismuth-Forge/bismuth/blob/ef69afe69f615149ab347e4402862ee900452a65/src/kdecoration/decoration.cpp#L63-L64
    # @see https://discourse.nixos.org/t/how-to-patch-in-an-overlay/3678
    # @see https://stackoverflow.com/a/28484585
    (libsForQt5.bismuth.overrideAttrs
      (finalAttrs: previousAttrs: {
        patches =
          (previousAttrs.patches or [])
          ++ [
            # (fetchpatch {
            #   name = "bismuth-3.1-4-border-color.patch";
            #   url = "https://github.com/I-Want-ToBelieve/bismuth/commit/dac110934fe1ae0da9e4aca8c331f27987b033cf.patch";
            #   sha256 = "sha256-3fQs/A4hc/qeiu+792nZBTl4ujg8rQD25kuwNr03YUs=";
            # })
            # https://github.com/NixOS/nixpkgs/commit/748ccc92a6f72c99258ce5b5bf464e79c6244710
            # (fetchpatch {
            #   name = "bismuth-3.1-4-static-block.patch";
            #   url = "https://github.com/I-Want-ToBelieve/bismuth/commit/99438b55a82f90d4df3653d00f1f0978eddc2725.patch";
            #   sha256 = "sha256-jEt0YdS7k0bJRIS0UMY21o71jgrJcwNp3gFA8e8TG6I=";
            # })
            (fetchpatch {
              name = "bismuth-3.1-4-window-id.patch";
              url = "https://github.com/jkcdarunday/bismuth/commit/ce377a33232b7eac80e7d99cb795962a057643ae.patch";
              sha256 = "sha256-15txf7pRhIvqsrBdBQOH1JDQGim2Kh5kifxQzVs5Zm0=";
            })
          ];
      }))
  ];
}

The https://github.com/I-Want-ToBelieve/bismuth/commit/99438b55a82f90d4df3653d00f1f0978eddc2725 will fix

Aug 31 11:20:00 k99-lite kwin_wayland_wrapper[4333]: ^, file:///etc/profiles/per-user/i.want.to.believe/share/kwin/scripts/bismuth/contents/code/index.mjs:796:9: Expected token (' Aug 31 11:20:00 k99-lite kwin_wayland_wrapper[4333]: ^, file:///etc/profiles/per-user/i.want.to.believe/share/kwin/scripts/bismuth/contents/code/index.mjs:795:10: Unexpected token{' lines 20-55/55 (END)

piotr-dobrogost commented 10 months ago

@gikari can you add some maintainers , so we can work on keeping this working atleast across newer KDEs ,

@gikari Could you please answer this?

kbloom commented 8 months ago

Mabye someone could try to be the official fork?

JohnRTitor commented 6 months ago

Mabye someone could try to be the official fork?

I suppose. It's just plain sad to see this die. Some maintainers or a fork can keep it alive atleast.

aitorpazos commented 6 months ago

Isn't this the case: https://github.com/Bismuth-Forge/bismuth/issues/471#issuecomment-1603771711

https://github.com/zeroxoneafour/polonium

Disclaimer : Not my project, but I'm a heavy user. Strongly recommend giving it a try and see if it works for you 🙂

czhunor commented 6 months ago

Isn't this the case: #471 (comment)

https://github.com/zeroxoneafour/polonium Disclaimer : Not my project, but I'm a heavy user. Strongly recommend giving it a try and see if it works for you 🙂

Not really.

On Plasma 6, bismuth officially is not working anymore. Until now, on 5.XX it worked fine at least for me.

abeerahmed576 commented 6 months ago

It's sad to see Bismuth die like this. After 5.27, I stopped using the auto-tiling and only used the decoration style. But that too is not recognized in system settings after Plasma 6 update.

Can someone fork this to feature only the decoration style which also successfully builds against KDE 6?

ca5ua1 commented 6 months ago

Can someone fork this to feature only the decoration style which also successfully builds against KDE 6?

Don't want to be mean but - do it yourself. If some developer would want to make it - it would be already done.

abeerahmed576 commented 6 months ago

Don't want to be mean but - do it yourself. If some developer would want to make it - it would be already done.

I mean, I know that and wouldn't even be here asking if I could. I have been trying to build this in KDE 6 but now running into a C specific error which I have no idea how to even approach.

ca5ua1 commented 6 months ago

Don't want to be mean but - do it yourself. If some developer would want to make it - it would be already done.

I mean, I know that and wouldn't even be here asking if I could. I have been trying to build this in KDE 6 but now running into a C specific error which I have no idea how to even approach.

Well, in my opinion you have few options what to do next:

While what you did is a bit off by my point of how things should be done - you wrote your idea in an issue about what to do after project unable to work with recent versions of KDE, an idea that isn't really popular and apart from that requires to "fix" project to work on more recent KDE (I suppose) and to cut out specific functionalaty that you want. I mean this may be really cool idea but it presented like you want someone to make this for you.

And that leads to this point, where I, you, others who read this message - waste time on this instead of maybe actually fixing this project or spend time more productivly.

But! The punch line is - as stated in "The Cult of Done" - (aprox.) "Who don't have dirty hands - isn't right". And as far as I remember I didn't contribute to Bismuth and I have not dealed with your specific kind of problem, or even tried to help you - so I am not right. Go do what you think will benefit community or your needs to ultimately proof how I'm wrong.

Yep, have a pleasant day :)

abeerahmed576 commented 6 months ago

While what you did is a bit off by my point of how things should be done - you wrote your idea in an issue about what to do after project unable to work with recent versions of KDE, an idea that isn't really popular and apart from that requires to "fix" project to work on more recent KDE (I suppose) and to cut out specific functionalaty that you want. I mean this may be really cool idea but it presented like you want someone to make this for you.

Well, I guess that was a bit of whining from my part for something that would only benefit me. I'll try setting up my mindset to think for the benefit of the greater community, thanks to you.

zyf0330 commented 3 months ago

After recent upgrading to Ubuntu 24.04 and plasmashell is updated to 5.27.11, the Bismuth doesn't work suddenly. But the Krohnkite still works, so I go back to use it .