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

[FEATURE]: Manual Tiling Layout like bspwm #182

Open
kinglouie opened this issue Nov 11, 2021 · 6 comments
Open

[FEATURE]: Manual Tiling Layout like bspwm #182

kinglouie opened this issue Nov 11, 2021 · 6 comments
Labels
enhancement New feature or request
Milestone

Comments

@kinglouie
Copy link

Summary

I'm coming from bspwm and tried a few other wms like awesome but always went back to bspwm because there I have a lot more freedom where the window is placed and which size it occupies.

I really would love a manual tiling layout for bismuth because it is the only viable option to use tiling with kwin.

A clear and concise description of what you want to happen

See https://github.com/baskerville/bspwm
or https://github.com/koekeishiya/yabai for macos

A clear and concise description of any alternative solutions or features you've considered.

No response

Additional info

No response

@kinglouie kinglouie added the enhancement New feature or request label Nov 11, 2021
@venglov
Copy link

venglov commented Nov 17, 2021

As I understood this is the same behavior as the pop shell has. Definitely super necessary to implement it in KDE! 🙏
@gikari

@kinglouie
Copy link
Author

Yes, basically each window is stored in a binary tree, where the size of the window is determined by a ratio between the two nodes on the same level. When creating new windows the currently focused window is getting split by a predefinded ratio, so I can create any custom layout on the fly very easily.

bspwm has a powerful rule system with oneshot rules which allows me to create a few different workspaces after boot with my default apps already running in my preferred layout for each workspace.

@gikari
Copy link
Member

gikari commented Nov 17, 2021

I think, in the future we should refactor the existing layouts into that binary tree approach and make every layout a preset with a particular tree structure and rules.

Still not sure about the implementation details, but the idea seems good, as it's flexible. However, some design is needed: how exactly the initial layouts could be wrapped around that?

This issue actually comes as the second item in the roadmap, right after implementing plasma applet (it's currently in progress). This is definitely will be implement in some way or another.

@gikari gikari added this to the 4.0 milestone Nov 17, 2021
@kinglouie
Copy link
Author

@GarlandKey while this would be nice it has nothing to do with my feature request because it doesnt use a binary tree and also this is about creating custom layouts on the fly not preconfiguring baked layouts.

@TamasBarta
Copy link

This popped up on Reddit as well.
The distinction definitely must be made. If we can use an "editor" to preconfigure custom layouts, that won't help a bit, because the very first second we open a new window, we have to fire up the editor to design a layout for the new setup, and we would have to switch between those layouts every time we open a new window or close. I'm sure you saw i3, or how you can alter layouts while using i3. In bspwm it is very similar, but you cannot go above 2 windows, opening a new window always puts the new and the currently selected one in a node that splits them either vertically or horizontally.
I personally grew to like i3's approach better after using both, but both works perfectly fine to tile windows manually on the fly.

We might be thinking of the same thing, but then you'd need to explain the editor better to us, because now it sounds like a UI, or a config file that lets us preconfigure and persist a layout.

@colemickens
Copy link

Sorry to add noise, but is this the same tiling that is available in Sway? I feel like a poser a bit, but I got very comfortable with divying things up however I wished by just $meta-dragging windows around and into place. I can already do that with Bismuth, but only in fixed layouts. I think this issue covers my use case, but if not I'll open another. Thanks <3 Bismuth has made me take another look at Plasma, and Wow! 🙂 ❤️

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants