Discussion:
[Fluxbox-users] Problems with Opaque Window Moving
Bjorn Danielsson
2009-01-01 18:11:05 UTC
Permalink
When I use the "Opaque Window Moving" option, I get a very slow
update on the screen, resulting in several seconds of lag before
the moved window settles in the final position. There are also
large ugly artefacts on the screen during this slow motion.

I noticed the problem in fluxbox version 1.1.0 and I just tried
a fresh git-clone of January 1, 2009, and the problem remains.

My system is a quad core amd64 phenom 9550 with 4gb of ram and a
radeon hd3650 graphics card. Kernel is 2.6.27.7 and the distribution
is slamd64 12.1.0 (64-bit slackware). The screen is 1920x1200 @60Hz.

The ugly artefacts are visible with windows as small as 200x200,
and the lag is clearly noticeable at 600x600. However when I tried
fluxbox in an Xnest window, the problem disappeared completely.
So opaque window moving works in Xnest, but not in the root window.

Can this be fixed? Is there som hidden configuration I can tweak?

Regards,
--
Bjorn Danielsson <***@dax.nu>
Bjorn Danielsson
2009-01-02 17:20:34 UTC
Permalink
Post by Bjorn Danielsson
When I use the "Opaque Window Moving" option, I get a very slow
update on the screen, resulting in several seconds of lag before
the moved window settles in the final position. There are also
large ugly artefacts on the screen during this slow motion.
[...]
However when I tried fluxbox in an Xnest window, the problem
disappeared completely. So opaque window moving works in Xnest,
but not in the root window.
The part about Xnest turned out to be untrue -- the problem became
noticeable in Xnest too when I added a custom background and more
windows (the reason I tried Xnest was for testing the git version
of fluxbox without affecting my main screen).

I played around a bit with the source code today, and I think I have
found a quick-and-dirty solution. I don't know if this solution breaks
anything else, since I am not familiar with the internal machinery of
fluxbox. But it solves the problem for me, and the patch is very
simple: When a window is in motion, FluxboxWindow::motionNotifyEvent()
ignores the current event if the next event is also a MotionNotify
event. This causes the lag to disappear completely. The artefacts are
still there (i.e. LSD-like tracers) but they are not as disturbing as
before since the whole system feels more responsive.

My patch is attached below.

Continue reading on narkive:
Loading...