Hi,
On 19.07.2018 22:02, Roman Iten wrote:
What puzzles me more right now is the following behavior: when I grab and drag the resize handle of the window decorator in order to change the size of the window, the window edge doesn't "follow" the mouse pointer. Only after a delay of about 2 seconds of no mouse motion, the window border reflects the new dimensions. For me it looks like the window layouter "waits" until the guest additions acknowledges the resize hint?
In general, the new sized window will be become active as soon as the client requests the framebuffer dataspace.
For Vbox5 it takes place in NotifyChange of repos/ports/src/virtualbox5/frontend/fb.h. This method is called by the VBox5 contrib sources as acknowledgement of the accepted change in size (whatever this means and whenever this happens).
If you earlier request the framebuffer dataspace, you will get an immediate visible window resize effect. However you must then take some care, e.g. Vbox may still work with he old (outdated) size parameters, and you have to handle it (e.g. not to overwrite memory or page faulting due to too small framebuffers ...).
Some other questions related to development/debugging in this "area":
- Editing files in ports/src/virtualbox5 results in a long build time -
is there a way to circumvent that?
Yeahno, maybe. The headers in this folders are kind of central, as they are directly used by the Vbox5 sources. You may of course try to remove the implementation of functions out of the headers and put in own compilation units, so that a implementation change does not trigger a whole rebuild. Additionally, you may of course try to split up the large and big virtualbox5-main library in smaller pieces, in order that not everything gets rebuild.
- I'd like to add diagnostic debug messages to the VirtualBox console to
get an idea when which method is called - but this makes only sense if a can simultaneously see the virtual box window and the log terminal. I changed the alpha attribute of nit_fader in /config/leitzentrale from 0 to 100. But then I cannot grab the window resize handle any more to trigger the log output...
What about starting just the noux pkg from the /config/deploy next to the Virtualbox pkg and make there a "tail -f report/log".
Cheers,
Alex.