Getting screen coordinate of a window

Michael Grunditz michael.grunditz at gmail.com
Tue Jan 23 16:04:42 CET 2024


In message <d35b0e7e-28ca-b4d5-d5e4-fb4bf3136979 at genode-labs.com>
          Norman Feske <norman.feske at genode-labs.com> wrote:



> 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).


Thanks . I sorted it .. turned out to be a misunderstandng from my side.
Can I hide the system mouse pointer?

Another issue:
I don't know if anyone knows about this but ( long shot :-) ),
I am relying on the imx8 message unit (MU). I have been using polling 
against it, but now I need interrupts. But I can't get it to work. I am 
trying to enable it on CPUB side. no effect. So I tried it in Genode CPUA 
(Core 0) and after setting up interrupt in the MU chip I got interrupts 
from the cpu. So the qeustion is: Is it only possible to set it on Core 0 
and if so , can I route it to Core 1 in Genode. I have been looking in the 
gicv3 code and it seems like it only does core 0. I have also tried to 
enable it in genode and after that setting affinity on the second core ( 
from the second core). No effect. Interresting enough is that I can enable 
SoC timer and get it to interrupt core 1 ( not setting anything in Genode 
/ Core 0).

Michael



More information about the users mailing list