GNOME Bugzilla – Bug 162555
[win32] Please don't blink
Last modified: 2005-01-12 21:31:51 UTC
It would be nice if the UI didn't blink when copying and pasting or selecting a cell while editing. An animation in those situations is very useful, but blinking can be very (very) irritating and distracting. Maybe an animated border like in Excel? (an ASCII animation demo follows:) - - - - - - - - - -
We have the walking "ants" on the unix side. The win32 side ought to have that too. What, precisely, are you seeing?
I see blinking cell borders. 1) Blink: if I type = in A1 and then press the down arrow key (or click cell A2 with the mouse), the borders of A2 alternate between these two states: "-- -- -- --" " " (no border) 2) No blink: if I type =A2 in A1, A2 gets thick blue borders that don't move: "-- -- --" This only works if you're using the fixed libgdk-win32 dll from bug 160343: 3) Blink: if I press ctrl-c in A2 to copy it, the borders blink again. I tested with two separate computers. Windows XP, Gnumeric 1.4.1-rc4.
Ok, thanks. I am guessing that Windows is combining some updates we don't want to.
Created attachment 35356 [details] [review] patch for gdk/win32 GDK_LINE_DOUBLE_DASH is not complete on Win32. Both GDK_LINE_ON_OFF_DASH and GDK_LINE_DOUBLE_DASH are simulated by the Win32 pen style PS_DASH which means that odd segments are not drawn. So by switching foreground/background color of dash lines didn't work. Furthermore, I can see on my xfree86 that even and odd segments are equal width. However that's not the case with Windows (PS_DASH). The patch attached try to simulate LineDoubleDash (instead of using PS_DASH) and dash_offset of XSetDashes also.
Created attachment 35357 [details] Prebuilt test binary (libgdk-win32-2.0-0.dll.bz2) Or get it from here: http://www.ivanwong.info/gnumeric/libgdk-win32-2.0-0.dll
Thanks, now it works. No more blinking. 1) walking ants 2) thick blue solid border "-----", doesn't move 3) walking ants
Created attachment 35360 [details] [review] revised patch for gdk/win32
Opened a gtk+ bug (bug 162790)
Fixed in gtk+.