kzones icon indicating copy to clipboard operation
kzones copied to clipboard

Allow window sizes to be defined independently

Open newhinton opened this issue 6 months ago • 1 comments

Is your feature request related to a problem? Or is it a new idea?

I'd like to make some convenience adjustments to my window snapping, like "push to top" for fullscreen.

I can achieve part of this by defining overlapping zones:

Image

However, when selected, the zone obviously does not fill the screen.

Describe the solution you'd like

In addition to defining the x, y, w, h-dimensions for the zone, i'd like to be able to define them aswell for the resulting window size.

That way i have a definition for the zone, which allows me to overlap or arrange them closely, with the final window size beeing fullscreen or a different size.

Describe alternatives you've considered

No response

Screenshots

No response

Edit:

I did try to implement this myself, but i fear i don't know enough about the used api's.

newhinton avatar Oct 06 '25 14:10 newhinton

I came here to suggest an "independently define target area and zone/size of window once snapped" feature, as well.

This is my use case for this feature (below JSON is from an actual Zone I use on my laptop). If I could define the trigger areas independently of the snapped window size, I would literally only have one layout on my laptop and could disable the Zone Selector feature entirely. (Would still do two on my desktop to be useful on my vertical side monitor.)

[
    {
        "name": "2x2 w/Center",
        "padding": 0,
        "zones": [
            {
                "x": 0,
                "y": 0,
                "height": 50,
                "width": 50
            },
            {
                "x": 0,
                "y": 50,
                "height": 50,
                "width": 50
            },
            {
                "x": 50,
                "y": 50,
                "height": 50,
                "width": 50
            },
            {
                "x": 50,
                "y": 0,
                "height": 50,
                "width": 50
            },
            {
                "x": 18,
                "y": 13,
                "height": 74,
                "width": 64,
                "optionalTargetZoneDefKey": {
                    "x": 25,
                    "y": 25,
                    "height": 50,
                    "width": 50
                }
            }
        ]
    }
]

To even write it out seems superfluous (it seems to me the only reasonable change to prevent breaking existing configs) but I've never looked at QML in my life so, unfortunately, this is the most I can contribute.

Big thanks to any and all that do eventually implement this feature, though! <3

jneuls avatar Oct 15 '25 08:10 jneuls