That is going to be it. The client happens to be a minimal gtk3 app. Thank-you so much for the pointer towards weston_desktop_surface_get_geometry().
On Thu, Nov 21, 2019 at 5:52 PM Scott Anderson <scott.ander...@collabora.com> wrote: > > On 22/11/19 2:40 pm, Ken C wrote: > > I am just starting out with libweston and have a beginner question > > regarding surface/view coordinates. I am looking to implement > > something along the lines of issue #277 on gitlab[1], "New shell > > plugin for single-app usecases". I have swapped out > > weston-desktop-shell with a toy client just to get grounded, and am > > using the X11 and RDP backends for testing. I can see where the > > initial client position gets set up in > > weston_view_set_initial_position() in shell.c. However I am finding > > that even if weston_view_set_position() is called with {0,0}, the > > resulting window on output is offset by ~32ish pixels. I've also > > started from westiny[2], which is about as simple as it gets, but find > > the same mysterious (to me) offset. I can set the initial position to > > a negative x,y value in weston_view_set_initial_position(), forcing > > the window into the corner. Maximizing the toy client interestingly > > enough fills the screen (a single head). > > > > I've looked high and low for where that ~32 pixel offset comes from, > > but have not had luck. While I look some more maybe someone has a > > quick pointer. If I can set a breakpoint I'm sure it will become > > obvious. > > > > [1] https://gitlab.freedesktop.org/wayland/weston/issues/277 > > [2] https://gitlab.freedesktop.org/daniels/westiny/blob/master/westiny.c > > Hi, > > It may be because of the client's "window geometry"[1]. There may be > some drop shadows or otherwise transparent border around the client's > contents, and the window geometry will tell you which part of the > surface you should consider to be the client's contents. > > If you'll excuse the terrible ASCII drawing: > > (0,0) > +---------------+ <--- Surface > | (32,32) | > | +---------+<------- Geometry > | | |# | > | | |# | > | | |# | > | +---------+# | > | ############ | > +---------------+ > > When a client is maximized or fullscreened, they're asked to not draw > these kinds of things, and should fill the entire surface with their > window's contents. > > weston_desktop_surface_get_geometry is the function you call to get this > information. > > Scott > > > [1]: > https://gitlab.freedesktop.org/wayland/wayland-protocols/blob/master/stable/xdg-shell/xdg-shell.xml#L445-476 > _______________________________________________ wayland-devel mailing list wayland-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/wayland-devel