HeyPuter / puter

🌐 The Internet OS! Free, Open-Source, and Self-Hostable.
https://puter.com
GNU Affero General Public License v3.0
22.04k stars 1.4k forks source link

Tiling window managment #29

Closed Jak2k closed 1 week ago

jelveh commented 4 months ago

@KernelDeimos 's dream is about to come true!

vineeth-vk11 commented 4 months ago

@jelveh this looks interesting, I want to give this a try.

jelveh commented 4 months ago

You got it! Assigning it to you :)

KernelDeimos commented 4 months ago

Some prerequisite issues to this:

I've used both i3 and xmonad, and I prefer i3's approach so that's what I'd recommend.

One thing that's important to know: this task is a long road. A very rewarding road though, since the changes necessary to make this possible will improve the stability, flexibility, and maintainability of Puter's ui.

jelveh commented 4 months ago

this escalated quickly.

vineeth-vk11 commented 4 months ago

It sure did, let me spend some time understanding what @KernelDeimos has suggested.

Jak2k commented 4 months ago

What about auto-tiling with extensive configuration, like hyprland does?

KernelDeimos commented 4 months ago

What about auto-tiling with extensive configuration, like hyprland does?

That definitely changes the nature of this task and makes it a bit simpler. Keybind configuration remains very important for that but the implementation could definitely be more like KDE's tiling feature.

I really prefer the idea of it being a "replacement window manager" since that would make gui a lot more flexible for different use-cases, but this could be a very good intermediate solution.

Jak2k commented 4 months ago

KDE's tiling is trash. It only let's you drop windows into predefined places, like Windows' fancy zones.

Auto-tiling places the window in the half of the currently focused window. Then you can drag it to the position you want (or use keybindings).

Hyprland additionaly has window rules, animations and so on.

It may be difficult to grab the input devices without interfering with the OS.

KernelDeimos commented 4 months ago

Auto-tiling places the window in the half of the currently focused window

I didn't understand this, do you mean the focused window covers half the screen? With auto-tiling you might be describing the same thing I was talking before regarding i3; i3 automatically tiles the windows, i.e. rather than having a key combination that "tiles it" everything is always tiled.

Jak2k commented 4 months ago

Auto-tiling places the window in the half of the currently focused window

I didn't understand this, do you mean the focused window covers half the screen? With auto-tiling you might be describing the same thing I was talking before regarding i3; i3 automatically tiles the windows, i.e. rather than having a key combination that "tiles it" everything is always tiled.

Hyprland let's you choose between dwindle and master layout: