Re: libwayland surface coordinate question

2019-11-21 Thread Jonas Ã…dahl
On Thu, Nov 21, 2019 at 07:17:11PM -0800, Ken C wrote:
> 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().

FWIW, you should be able to make the gtk3 application not include any
pixels outside the window geometry by making it maximized. You should be
able to accomplish this by calling
weston_desktop_surface_set_maximized() with true on the corresponding
desktop surface instance.


Jonas

> 
> 
> On Thu, Nov 21, 2019 at 5:52 PM Scott Anderson
>  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
___
wayland-devel mailing list
wayland-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/wayland-devel

Re: libwayland surface coordinate question

2019-11-21 Thread Ken C
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
 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

Re: libwayland surface coordinate question

2019-11-21 Thread Scott Anderson

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

libwayland surface coordinate question

2019-11-21 Thread Ken C
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
___
wayland-devel mailing list
wayland-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/wayland-devel