No one responded to my last email, so I'll just assume it was because
everyone aggeed with it and not because it was so horribly structured that
no one understood a thing I was saying :).

It would be possible to redesign Wayland following the principles you
> have described. No-one is doing this, however.
>
If I added this feature through git, would it be accepted? It would just be
"void wl_surface_request_position(wl_surface *surface, unsigned int x,
unsigned int y);"

On Fri, Aug 5, 2022 at 8:14 PM samuel ammonius <sfammon...@gmail.com> wrote:

> Sorry, I just read over my last email and realized that I didn't even
> state what I was trying
> to say. I meant my last suggestion of letting the compositor handle the
> resize event. I was
> just giving some reasons as to why it may be the best solution.
>
> On Fri, Aug 5, 2022 at 6:32 PM samuel ammonius <sfammon...@gmail.com>
> wrote:
>
>> I don't understand why we're all asking if it should be up to the
>> compositor or app to set a
>> window's position. The only correct answer is that it should be up to the
>> user, so I don't
>> see what's wrong with my suggestion of a "set window size request"
>> function. Waylands
>> idea of not letting apps set their window position because it thinks it
>> knows better is very
>> similar to what's wrong with commercial operating systems nowadays, and
>> it's probably
>> why many of us left Windows. For example, you could only disable "live
>> security" in the
>> settings for up to 10 minutes to speed up a download, and you aren't
>> given an option to
>> never update the operating system (if you wanted to increase the life
>> expectancy of your
>> SSD, for example).
>>
>> The only compromise in this case that truly gives users full control is
>> one where users
>> get to configure their compositor to either.
>> 1) Allow apps to freely set their positions
>> 2) Have the window manager make them start in the center or at their last
>> location
>> 3) Use the position apps request to make smart decisions about how the
>> app should
>>      be placed (for example, if an app always starts at (100, 100) on a
>> 1000x700 monitor,
>>      but the user has recently switched to a new 3000x2400 monitor, then
>> the app can be
>>      placed at (300, 300))
>> The user can also configure individual apps to start in different ways if
>> they chose to
>> allow apps to pick their positions, or some compositors can even give
>> users the option to
>> apply the above to certain apps separately.
>>
>> This design gives everyone 200% of what they asked for. Compositors can
>> obtain even
>> more information about how a window should be placed, and windows can
>> choose their
>> own locations knowing that the compositor will optimize that position for
>> the users screen
>> to make sure they don't make any mistakes. I don't see a single thing
>> that this takes away
>> from Waylands current design.
>>
>> Also, as Igor said, flags on how the compositor should interpret the size
>> request would be
>> a great feature as well. There could be flags for priority,
>> relative/absolute positioning, or
>> any number of other things that could be added in the future. (Qt uses a
>> genius flag system,
>> where each flag is double the last one so they can just be added to each
>> other and no two
>> combinations of them will match. For example: NO_FLAGS = 0x00, FLAG_A =
>> 0x01,
>> FLAG_B = 0x02, FLAG_C = 0x04, FLAG_D = 0x08, FLAG_E = 0x10, FLAG_F =
>> 0x20, etc...,
>> and then the flags could be used like "FLAG_B | FLAG_E" ("|" is an
>> uncommon C/C++
>> feature for adding constants without optimization). It's probably
>> irrelevant but it's really cool)
>>
>

Reply via email to