Hi Michael,

Can I get screen coordinates of a window? I would like to be able to
caputure absolute mouse events and convert them to the window coordinate
system. I don't want to have relative mouse movement like I see in many
examples. In my context it doesn't work very well.

BTW the handle_relative_motion never seems to return anything. Is there a
configuration that I need? Would be terific if I could by some function
get window internal coordinates, but handle_relative_motion might not be
something for that?

both the nitpicker GUI server as well as the wm deliver only absolute motion events. Events delivered by nitpicker refer to the upper-left corner of the screen. Events delivered by the wm "virtualize" this upper-left corner so that the real window position is not exposed to the application. When creating a view at position (0,0), the received motion events refer to the position within the window.

BTW, the easiest way to see what input events you receive is to print each event. You can pass an Input::Event directly to the 'log' function.

The wm (specifically the layouter) reports the window layout (including pixel positions for each window) as "window_layout" report. This report is normally consumed only by the decorator. By reflecting this report as a ROM (using report_rom) to your application, you can make the application aware of the complete layout if you want so. You may have a look at [1] to see the interplay of the window-management components (wm, layouter, decorator).

[1] https://github.com/genodelabs/genode/blob/master/repos/gems/recipes/raw/motif_wm/wm.config

Cheers
Norman

--
Dr.-Ing. Norman Feske
Genode Labs

https://www.genode-labs.com · https://genode.org

Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden
Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth


_______________________________________________
Genode users mailing list
users@lists.genode.org
https://lists.genode.org/listinfo/users

Reply via email to