fvwm3 icon indicating copy to clipboard operation
fvwm3 copied to clipboard

FvwmEvent + SendToModule lags FvwmPager when scrolling

Open somiaj opened this issue 2 years ago • 1 comments

When running an FvwmEvent to change a button title to state the current desk and page on the event new_page and scrolling in FvwmPager lags the Pager (probably due to the number of events being processed). Here is an example config.

DestroyModuleConfig: *PageButton
*PageButton: Geometry 100x50
*PageButton: Frame 0
*PageButton: (1x1, id pagetitle, Title "Desktop $[desk.n] ($[page.nx]x$[page.ny])", Frame 0)

DestroyFunc UpdateButton
AddToFunc UpdateButton
+ I SendToModule FvwmButtons ChangeButton pagetitle Title "Desktop $[desk.n] ($[page.nx]x$[page.ny])"

DestroyModuleConfig: *FE-NewPage
*FE-NewPage: new_page UpdateButton

Style PageButton Sticky
Style TestPager Sticky

Module FvwmButtons PageButton
Module FvwmEvent FE-NewPage
Module FvwmPager TestPager 0 4

If you right click to scroll in FvwmPager you lag the Scroll motion. If you kill FvwmEvent it works just fine. Note FvwmButtons doesn't even need to be running to cause the lag, so I think it is at the SendToModule + Number of events level.

somiaj avatar Jul 16 '21 23:07 somiaj

This also the case on fvwm2, because the server is grabbed performing the function; and with new_desk packets, the same operation blocks (therefore queuing the events) until the button is released.

To fix this, we need to have a flag to weed out the events, but this will have to be after 1.0.4

ThomasAdam avatar Jul 17 '21 14:07 ThomasAdam

I can't see this being fixed easily without really overhauling the event loop -- and even then, there's no guarantee that would help.

I think I'll close this.

ThomasAdam avatar May 10 '23 20:05 ThomasAdam