Comment 9 for bug 1669524

Revision history for this message
Alan Griffiths (alan-griffiths) wrote :

I think there are distinct cases here:

Case 1: (easy I hope)

The client initiating a user-drag/resize is analogous to the existing input focus request. Vis:

    void mir_window_request_user_move(MirWindow* window, MirCookie const* cookie);
    void mir_window_request_user_resize(MirWindow* window, MirCookie const* cookie);

Should be passed to the server, validated and handled by the WM policy exactly the same as:

    void mir_window_raise(MirWindow* window, MirCookie const* cookie);

How the client decides on calling these (via a menu or not) isn't really the issue.

This is addressed by lp:~alan-griffiths/mir/client-initiates-user-move-and-resize/+merge/320917

Case 2:

"Always on top" would be a property of a window, the client could set (or reset) this on the MirWindowSpec. The WM policy gets to decide whether (and how) to respect this property.

There's currently no support for such a property in libmirserver's SurfaceStack - so addressing that would be a pre-requisite to introducing such a property.

Case 3: (comment #6)

If there were some generic "window manager menu" that toolkits could request then that might be requested with a similar mechanism to case 1. But I've not seen a requirement for this (yet).