Skip to content

Conversation

@Bugg4
Copy link
Contributor

@Bugg4 Bugg4 commented Aug 8, 2025

  • Turn Quirks into a Preface section
  • Improve formatting for table content
  • mouse -> cursor

A couple of clarifying questions:

  • single_window_aspect_ratio_tolerance has a type of int, but a default value of 0.1 and a hint for 0 - 1 range? Should it be a float?
  • permanent_direction_override: did I understand correctly? The possible values are either true, false, left, right, top, bottom or any other non-direction string?
  • in split bias I'm not sure I get how positional behaves

- Turn `Quirks` into a `Preface`
- Improve formatting for table content
- mouse --> cursor
@vaxerski vaxerski requested a review from fufexan August 10, 2025 16:48
@fufexan
Copy link
Member

fufexan commented Aug 11, 2025

A couple of clarifying questions:

* `single_window_aspect_ratio_tolerance` has a type of int, but a default value of `0.1` and a hint for `0 - 1` range? Should it be a float?

* `permanent_direction_override`: did I understand correctly? The possible values are either `true`, `false`, `left`, `right`, `top`, `bottom` or any other non-direction string?

* in `split bias` I'm not sure I get how `positional` behaves

@vaxerski

@vaxerski
Copy link
Member

  1. yes

the rest are community-written and I don't use them. Might be worth looking into the code

@Bugg4
Copy link
Contributor Author

Bugg4 commented Aug 15, 2025

  • Looks like permanent_direction_override is an int, but in the code is used basically as bool: DwindleLayout.cpp
    @DashieTM do you happen to remember the intended reason for it being an int ? Can it be made a bool instead?

  • @myQwil can you please clarify on what positional means?

@DashieTM
Copy link
Contributor

DashieTM commented Aug 15, 2025

@Bugg4 while I am no longer sure why it was and still is an int in code, the use case is definitely just a boolean flag.
My assumption is that I modeled it after what existed, like smart split, which has an int in code but is a boolean in the wiki.

@Bugg4
Copy link
Contributor Author

Bugg4 commented Aug 15, 2025

@Bugg4 while I am no longer sure why it was and still is an int in code, the use case is definitely just a boolean flag. My assumption is that I modeled it after what existed, like smart split, which has an int in code but is a boolean in the wiki.

Thank you! Yea, taking a quick look at config.cpp from Hyprlang, it seems that internally "true", "yes" and "on" are interpreted as ints since there doesn't seem to be the concept of a boolean config value internally (config.hpp)

@myQwil
Copy link
Contributor

myQwil commented Aug 15, 2025

@Bugg4 positional means that position is what determines whether or not the opening window is the bigger window.

For example, if these are my dwindle settings:

dwindle {
    default_split_ratio = 1.25
    split_bias = 0 # positional
}

The opening window will be the bigger window if it opens above or to the left of the current window, and smaller if it opens below or to the right of the current window.

@Bugg4
Copy link
Contributor Author

Bugg4 commented Aug 15, 2025

The opening window will be the bigger window if it opens above or to the left of the current window, and smaller if it opens below or to the right of the current window.

Ah gotcha, that's the piece I was missing: top/left takes precedence over bottom/right. Thanks for the clarification 👌🏻

@Bugg4 Bugg4 marked this pull request as ready for review August 15, 2025 19:58
To be consistent with the new Preface section.
@myQwil
Copy link
Contributor

myQwil commented Aug 15, 2025

This got me thinking about the split_bias variable. It can probably be simplified to just two options instead of three.

The reason we don't need a third option is because we can simply invert the ratio to give the bias to the opposite window or the opposite directions.

Incorporate changes from hyprwm#1202 to avoid merge conflicts
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants