Re: Window positions under wayland

2022-08-09 Thread Alan Griffiths

On 09/08/2022 03:36, JiDe Zhang wrote:
Thanks. I read 
https://mir-server.io/docs/window-positions-under-wayland, Is your 
standpoint by adding more shell protocols to support windows that 
behave differently rather than allowing the client to take full 
control window position to implement some special behavior? Agree, 
wayland should maintain its current design goals.


--JiDe Zhang -- linuxdeepin.



Note that I don't speak for the whole Wayland community, just as an 
implementer of one of many Wayland compositors. But yes, that's what has 
happened with moving from wl-shell to xdg-shell and with more 
specialised extensions such as xdg-foreign and wlr-layer-shell. I 
anticipate that where there is sufficient justification additional 
features will be added either by updating existing extensions or by 
adding new ones.


Re: Use-case when positioning a window is necessary

2022-08-09 Thread David Edmundson
>And that is where positioning is necessary: to not occlude the line of
text where the cursor is, and to show the documentation at a sensible
place (near the cursor position).

xdg-foreign will just get that window on top. You don't have any
control of where on top it is, merely a child-parent relationship
It will occlude or be nowhere near the cursor. xdg-foreign alone won't
be a complete solution.

David


[ANNOUNCE] weston 10.0.91

2022-08-09 Thread Simon Ser
This is the alpha release for Weston 11.0.0.

Full commit history below.

Brenton DeGeer (1):
  rdp: Allow specifying a listener fd on the command line

Daniel Stone (186):
  backend-drm: Rewrite zpos-sorting list insertion
  backend-drm: Pre-sort plane list by zpos
  backend-drm: Assign plane_idx by plane list order
  backend-drm: Don't try to use planes without GBM
  backend-drm: Don't try to steal other-output special planes
  backend-drm: Don't try to import SHM buffers as drm_fb
  backend-drm: Early-out for cursor plane format testing
  backend-drm: Early-out for too-large SHM/cursor buffers
  backend-drm: Early-out for non-SHM buffers in renderer-only mode
  backend-drm: Don't try cursor buffers for client planes
  backend-drm: Minor comment rewording
  backend-drm: Remove separate zpos_plane list
  backend-drm: Move cursors_are_broken test earlier
  backend-drm: Move renderer-only vs. scanout_plane test earlier
  backend-drm: Move plane-type-specific checks to switch statement
  backend-drm: Change cursor checks to asserts
  backend-drm: Move overlay vs. primary plane check earlier
  backend-drm: Don't try non-fullscreen views on the primary plane
  backend-drm: Remove unnecessary check in prepare_scanout_view
  backend-drm: Move IN_FENCE_FD check to common code
  backend-drm: Remove unused enum
  backend-drm: Remove unnecessary check for fb
  backend-drm: Don't take buffer-release reference for cursor views
  backend-drm: Unify overlay/primary view->plane code
  backend-drm: Pass paint node through to plane_state find
  backend-drm: Add more view-to-plane failure states
  debug: Show client PID in debug protocol stream
  tests: Add dependency on screenshooter client protocol
  compositor: Fix harmless potential buffer overflow
  pixel-formats: Add XYUV format
  desktop-shell: Explicitly destroy black views on shutdown
  shell: Rename solid_color_surface to weston_curtain
  shell: Rename weston_solid_color_surface to weston_curtain_params
  shell: Move weston_curtain_create params into the struct
  shell: Add alpha to weston_curtain_create
  desktop-shell: Fix opaque region co-ordinate confusion
  desktop-shell: Remove redundant geometry dirty call
  desktop-shell: Clean up fullscreen black view code
  shell: Make input capture optional for curtains
  desktop-shell: Reuse curtains for focus animations
  shell: Encapsulate weston_curtain in its own struct
  desktop-shell: Reuse curtains for fades
  Move shell-utils to its own directory
  test/desktop-shell: Use weston_curtain
  fullscreen-shell: Link with shell-utils helpers
  fullscreen-shell: Use weston_curtain for black view
  gl-renderer: Remove unnecessary dmabuf conditional
  gl-renderer: Remove outdated comment
  renderer: Add buffer to flush_damage
  gl-renderer: Drop unnecessary NULL check
  renderers: Set buffer properties earlier
  gl-renderer: Reject unknown-format dmabufs
  gl-renderer: Add hook to fill weston_buffer for EGL
  weston_buffer: Add type field
  weston_buffer: Make use of weston_buffer->type
  weston_buffer: Add pixel format and modifier info
  weston_buffer: Change y_inverted to explicit origin enum
  gl-renderer: Simplify surface->is_opaque
  scene-graph: Use weston_buffer's format/modifier info to print
  weston_buffer: Print more buffer information in scene-graph
  backend-drm: Make use of weston_buffer format and type
  drm-backend: Refactor unpleasant keep_buffer if tree
  backend-drm: More failure reasons
  weston_buffer: Prepare for buffer to outlive resource
  gl-renderer: Prepare for buffer to outlive resource
  weston_buffer: Hold lifetime for resource/backend usage
  weston_buffer: Add mode to weston_buffer_reference
  weston_buffer: Separate buffer release from lifetime
  compositor: Downgrade rather than drop buffer reference when copied
  weston_buffer: Add solid buffer type
  gl-renderer: Support solid-colour weston_buffers
  pixman-renderer: Support solid-colour weston_buffers
  noop-render: Allow solid-color buffers
  backend-drm: Remove Pixman conditional for keep_buffer
  backend-drm: Handle solid-colour buffers in state propose
  shell: Explicitly use solid weston_buffers
  libweston: Remove weston_surface_set_color
  desktop-shell: Delete Exposay
  libweston: Move renderer interface to internal header
  gl-renderer: Split buffer state away from surface state
  gl-renderer: Change surface_set_color to attach_solid
  gl-renderer: Move EGL buffer error checks into attach_egl
  gl-renderer: Don't leak EGLImages on import fail
  gl-renderer: Add return value to attach handlers
  gl-renderer: Convert attach to flat-return style
  gl-renderer: Remove extraneous par

Re: Use-case when positioning a window is necessary

2022-08-09 Thread Christopher James Halse Rogers



On Tue, Aug 9 2022 at 15:46:30 +01:00:00, David Edmundson 
 wrote:
And that is where positioning is necessary: to not occlude the line 
of

text where the cursor is, and to show the documentation at a sensible
place (near the cursor position).

xdg-foreign will just get that window on top. You don't have any
control of where on top it is, merely a child-parent relationship
It will occlude or be nowhere near the cursor. xdg-foreign alone won't
be a complete solution.



This sounds quite a lot like an xdg_popup; that has all the “this 
surface is associated with this rectangle of this other surface” 
infrastructure. Extending xdg-foreign to allow import of xdg_popups in 
addition to xdg_toplevels looks like it would fully support this 
use-case?