Git Product home page Git Product logo

Comments (11)

jelveh avatar jelveh commented on May 21, 2024 2

@KernelDeimos 's dream is about to come true!

from puter.

vineeth-vk11 avatar vineeth-vk11 commented on May 21, 2024 1

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

from puter.

jelveh avatar jelveh commented on May 21, 2024 1

You got it! Assigning it to you :)

from puter.

KernelDeimos avatar KernelDeimos commented on May 21, 2024

Some prerequisite issues to this:

  • window management needs to be decoupled from everything else
  • ensuring single-source-of-truth for state across the board will help greatly
  • do we need to move to web components first? We might create more work later if we don't
  • good keybind management is absolutely necessary for 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.

from puter.

jelveh avatar jelveh commented on May 21, 2024

this escalated quickly.

from puter.

vineeth-vk11 avatar vineeth-vk11 commented on May 21, 2024

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

from puter.

Jak2k avatar Jak2k commented on May 21, 2024

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

from puter.

KernelDeimos avatar KernelDeimos commented on May 21, 2024

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.

from puter.

Jak2k avatar Jak2k commented on May 21, 2024

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.

from puter.

KernelDeimos avatar KernelDeimos commented on May 21, 2024

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.

from puter.

Jak2k avatar Jak2k commented on May 21, 2024

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:

  • Dwindle: Looks, which window is focused; splits it in half; one half is that window, the other is the new window; when a mouse is placed in a window half, this is where the new window goes
  • Master: One half of the screen is one window; the other half contains the other windows in a vertical stack

from puter.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.