Work at SourceForge, help us to make it a better place! We have an immediate need for a Support Technician in our San Francisco or Denver office.

Close

#1088 Move Window ghost trail

v1.3.6
closed-fixed
Mathias Gumz
5
2014-07-13
2013-05-11
fluxboxfan
No

Upgraded from fluxbox 1.3.3 today (which performed fine).... but found that
1.3.4 and 1.3.5 have a problem/bug - - when window is dragged and moved
around the window edges leave 1 pixel frame traces that clutter up the
screen.

see picture of what gvim loks like when gvim is moved around the screen in a
circular motion: http://tinypic.com/r/v6m7vs/5

Runnning Slackware 12.2 on amd duron 800, gcc version 4.2.4

fluxbox 1.3.3 and earlier versions didn't have this problem. It is probably
the 2nd change listed below (from the ChangeLog) that is causing the problem.

*13/01/10:
* Including the code of the SystemTray into the binary is optional now
* Reduce window-movement lagging on slower systems (Thanks Aymeric
Vincent)

This change was introduced in v1.3.4.

I only just got around to updating my fluxbox today - which is why I never
noticed this before.

Discussion

  • fluxboxfan
    fluxboxfan
    2013-05-11

    Better and more clearer screenshots of ghost trails with fluxbox 1.3.5:
    gvim: http://tinypic.com/r/b843yw/5
    and when xemacs is moved around: http://tinypic.com/r/qsuqo3/5

     
    Last edit: fluxboxfan 2013-05-11
  • Mathias Gumz
    Mathias Gumz
    2013-05-12

    • Description has changed:

    Diff:

    --- old
    +++ new
    @@ -1,4 +1,3 @@
    -
     Upgraded from fluxbox 1.3.3 today (which performed fine).... but found that
     1.3.4 and 1.3.5 have a problem/bug - - when window is dragged and moved
     around the window edges leave 1 pixel frame traces that clutter up the
    
    • status: open --> open-accepted
    • assigned_to: Mathias Gumz
    • Group: v1.3.5 --> v1.3.6
     
  • Mathias Gumz
    Mathias Gumz
    2013-05-12

    yep, accepted. will be fixed in the next release.

     
  • fluxboxfan
    fluxboxfan
    2013-05-12

    Thank you Mathias.

    As a temporary solution until 1.3.6 is released I did reverse the "Move Window" changes in 1.3.5 back to the "Move Window" as it was in 1.3.3. The modified 1.3.5 works fine..no more ghost trails.
    I post this procedure below for any one else who has 1.3.5 and is having the same problem:

    Temporary workaround solution for 1.3.5:

    Reverse the changes for window move in Window.cc introduced in fluxbox 1.3.4
    Window move lagging changes:
    http://git.fluxbox.org/fluxbox.git/commit/?id=79fe2fca1de5140f538e68f6981b27cf7f917e7a

    Left hand side is original, right hand side are the changes.

    Changed Window.cc back to look like the listing on the left and recompiled and installed. Now windows move shows no more ghost trails when moving windows

    This way 1.3.5 users get all the other benefits of 1.3.4 and 1.3.5 changes but with the windows move method of 1.3.3.

    Thanks again Mathias. And keep up the great work, fluxbox is AWESOME!!

     
    Last edit: fluxboxfan 2013-05-12
  • Mathias Gumz
    Mathias Gumz
    2013-05-13

    mhh .. i tested around a bit: by moving the XCheckTypedEvent() part towards the top of that if (moving) ... block solved it for me. since the effect on your setup is much worse than on my machine: please try that.

     
  • fluxboxfan
    fluxboxfan
    2013-05-13

    Hi Mathias

    I did as you suggested.
    From pristine 1.3.5 source, I changed the Window.cc as follows:

    I moved the XCheckTypedEvent 'if block' to just after the 'Xevent e' statement,
    near the top of the 'if (moving) block'. I recompiled and installed. Success.
    No more ghost trails, and faster move of windows than with 1.3.3. The
    location of the new 'if block' is show below with line numbers.

    2396 if (moving) {
    2397 XEvent e;
    2398
    2399 // do not update display if another motion event is already pending
    2400 if (XCheckTypedEvent(display, MotionNotify, &e)) {
    2401 XPutBackEvent(display, &e);
    2402 return;
    2403 }

    I also tried setting 'opaque window moving' on. No problem with ghost trails.
    And I also tried setting 'workspace warping' on. No problem with ghost trails.

    Good idea Mathias. So for 1.3.6, you just need to relocate the
    XCheckTypedEvent 'if block'.

    Thanks again Mathias. :)

     
    Last edit: fluxboxfan 2013-05-13
  • Mathias Gumz
    Mathias Gumz
    2013-05-16

    • status: open-accepted --> closed-fixed