[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Scrollbar Issues
From: |
grischka |
Subject: |
Scrollbar Issues |
Date: |
Mon, 31 Jul 2006 23:58:09 +0200 |
With scrolling using the scrollbar, the text view eventually
moves in the opposite direction.
A bit hard to describe, so I added some logging code that
prints the mouse coordinate together with the top-line
in the editor window. (code snippet attached below).
In GNU Emacs 22.0.50.1 (i386-msvc-nt5.1.2600)
configured using `configure --with-msvc (12.00)'
1.5 GHz CPU, Windows XP, emacs built from CVS 28-Jul-2006.
(However just the same happens e.g. in 21.3, also)
Emacs is started from 'emacs-src\nt' with:
..\src\obj-spd\i386\emacs.exe -q ..\INSTALL.CVS
'INSTALL.CVS' has 78 lines and the editor shows initially
lines 1..38. Then I clicked the scrollbar, and dragged down
slowly.
Output log: (lb=left_button, y=mouse.y, line=first_visible)
[2700] mouse lb 1 y 145 -> line 1
[2700] mouse lb 1 y 146 -> line 1
[2700] mouse lb 1 y 147 -> line 1
[2700] mouse lb 1 y 148 -> line 1
[2700] mouse lb 1 y 149 -> line 1
[2700] mouse lb 1 y 150 -> line 1
[2700] mouse lb 1 y 151 -> line 1
[2700] mouse lb 1 y 152 -> line 1
[2700] mouse lb 1 y 153 -> line 1
[2700] mouse lb 1 y 154 -> line 1
[2700] mouse lb 1 y 155 -> line 3
[2700] mouse lb 1 y 156 -> line 3
[2700] mouse lb 1 y 157 -> line 3
[2700] mouse lb 1 y 158 -> line 3
[2700] mouse lb 1 y 159 -> line 3
[2700] mouse lb 1 y 160 -> line 3
[2700] mouse lb 1 y 161 -> line 3
[2700] mouse lb 1 y 162 -> line 3
[2700] mouse lb 1 y 163 -> line 3
[2700] mouse lb 1 y 164 -> line 3
[2700] mouse lb 1 y 165 -> line 3
[2700] mouse lb 1 y 166 -> line 3
[2700] mouse lb 1 y 167 -> line 3
[2700] mouse lb 1 y 168 -> line 3
[2700] mouse lb 1 y 169 -> line 4
[2700] mouse lb 1 y 170 -> line 4
[2700] mouse lb 1 y 171 -> line 4
[2700] mouse lb 1 y 172 -> line 4
[2700] mouse lb 1 y 173 -> line 4
[2700] mouse lb 1 y 174 -> line 4
[2700] mouse lb 1 y 175 -> line 4
[2700] mouse lb 1 y 176 -> line 4
[2700] mouse lb 1 y 177 -> line 4
[2700] mouse lb 1 y 178 -> line 4
[2700] mouse lb 1 y 179 -> line 4
[2700] mouse lb 1 y 180 -> line 4
[2700] mouse lb 1 y 181 -> line 4
[2700] mouse lb 1 y 182 -> line 5
[2700] mouse lb 1 y 183 -> line 5
[2700] mouse lb 1 y 184 -> line 5
[2700] mouse lb 1 y 185 -> line 5
[2700] mouse lb 1 y 186 -> line 5
[2700] mouse lb 1 y 187 -> line 5
[2700] mouse lb 1 y 188 -> line 5
[2700] mouse lb 1 y 189 -> line 5
[2700] mouse lb 1 y 190 -> line 5
[2700] mouse lb 1 y 191 -> line 5
[2700] mouse lb 1 y 192 -> line 5
[2700] mouse lb 1 y 193 -> line 6
[2700] mouse lb 1 y 195 -> line 6
[2700] mouse lb 1 y 196 -> line 6
[2700] mouse lb 1 y 197 -> line 6
[2700] mouse lb 1 y 198 -> line 6
[2700] mouse lb 1 y 199 -> line 7
[2700] mouse lb 1 y 201 -> line 8
[2700] mouse lb 1 y 202 -> line 6 !!!
[2700] mouse lb 1 y 203 -> line 9
[2700] mouse lb 1 y 204 -> line 6 !!!
[2700] mouse lb 1 y 205 -> line 9
[2700] mouse lb 1 y 206 -> line 8 !!!
[2700] mouse lb 1 y 207 -> line 9
[2700] mouse lb 1 y 208 -> line 8 !!!
[2700] mouse lb 1 y 209 -> line 9
[2700] mouse lb 1 y 210 -> line 9
[2700] mouse lb 1 y 212 -> line 9
[2700] mouse lb 1 y 213 -> line 9
[2700] mouse lb 1 y 214 -> line 11
[2700] mouse lb 1 y 216 -> line 11
[2700] mouse lb 1 y 217 -> line 11
[2700] mouse lb 1 y 218 -> line 11
[2700] mouse lb 1 y 219 -> line 11
[2700] mouse lb 1 y 220 -> line 11
[2700] mouse lb 1 y 221 -> line 11
[2700] mouse lb 1 y 222 -> line 11
[2700] mouse lb 1 y 223 -> line 11
[2700] mouse lb 1 y 224 -> line 11
[2700] mouse lb 1 y 225 -> line 11
[2700] mouse lb 1 y 227 -> line 11
[2700] mouse lb 1 y 228 -> line 11
[2700] mouse lb 1 y 229 -> line 11
[2700] mouse lb 1 y 230 -> line 12
[2700] mouse lb 1 y 231 -> line 12
[2700] mouse lb 1 y 232 -> line 12
[2700] mouse lb 1 y 233 -> line 12
[2700] mouse lb 1 y 234 -> line 12
[2700] mouse lb 1 y 235 -> line 12
[2700] mouse lb 1 y 236 -> line 12
[2700] mouse lb 1 y 238 -> line 12
[2700] mouse lb 1 y 239 -> line 13
[2700] mouse lb 1 y 240 -> line 12 !!!
[2700] mouse lb 1 y 241 -> line 14
[2700] mouse lb 1 y 242 -> line 12 !!!
[2700] mouse lb 1 y 243 -> line 14
[2700] mouse lb 1 y 244 -> line 12 !!!
[2700] mouse lb 1 y 245 -> line 14
[2700] mouse lb 1 y 246 -> line 13 !!!
[2700] mouse lb 1 y 247 -> line 14
[2700] mouse lb 1 y 248 -> line 14
[2700] mouse lb 1 y 249 -> line 14
[2700] mouse lb 1 y 250 -> line 14
[2700] mouse lb 1 y 251 -> line 14
[2700] mouse lb 1 y 252 -> line 14
[2700] mouse lb 1 y 253 -> line 14
[2700] mouse lb 1 y 255 -> line 14
[2700] mouse lb 1 y 256 -> line 14
[2700] mouse lb 1 y 257 -> line 14
[2700] mouse lb 1 y 258 -> line 14
[2700] mouse lb 1 y 259 -> line 14
[2700] mouse lb 1 y 260 -> line 14
[2700] mouse lb 1 y 262 -> line 14
[2700] mouse lb 1 y 263 -> line 14
[2700] mouse lb 1 y 264 -> line 15
[2700] mouse lb 1 y 265 -> line 15
[2700] mouse lb 1 y 266 -> line 15
[2700] mouse lb 1 y 267 -> line 15
[2700] mouse lb 1 y 268 -> line 15
[2700] mouse lb 1 y 269 -> line 15
[2700] mouse lb 1 y 270 -> line 15
[2700] mouse lb 1 y 272 -> line 15
[2700] mouse lb 1 y 273 -> line 15
[2700] mouse lb 1 y 274 -> line 15
[2700] mouse lb 1 y 275 -> line 16
[2700] mouse lb 1 y 276 -> line 19
[2700] mouse lb 1 y 277 -> line 15 !!!
[2700] mouse lb 1 y 278 -> line 16
[2700] mouse lb 1 y 279 -> line 20
[2700] mouse lb 1 y 280 -> line 16 !!!
[2700] mouse lb 1 y 281 -> line 20
[2700] mouse lb 1 y 282 -> line 16 !!!
[2700] mouse lb 1 y 283 -> line 21
[2700] mouse lb 1 y 284 -> line 16 !!!
[2700] mouse lb 1 y 285 -> line 21
[2700] mouse lb 1 y 286 -> line 16 !!!
[2700] mouse lb 1 y 287 -> line 21
[2700] mouse lb 1 y 288 -> line 18 !!!
[2700] mouse lb 1 y 289 -> line 21
[2700] mouse lb 1 y 290 -> line 18 !!!
[2700] mouse lb 1 y 291 -> line 21
[2700] mouse lb 1 y 292 -> line 19 !!!
[2700] mouse lb 1 y 293 -> line 21
[2700] mouse lb 1 y 294 -> line 20 !!!
[2700] mouse lb 1 y 295 -> line 21
[2700] mouse lb 1 y 296 -> line 20 !!!
[2700] mouse lb 1 y 297 -> line 21
[2700] mouse lb 1 y 298 -> line 21
[2700] mouse lb 1 y 299 -> line 21
[2700] mouse lb 1 y 300 -> line 21
[2700] mouse lb 1 y 301 -> line 21
[2700] mouse lb 1 y 302 -> line 21
[2700] mouse lb 1 y 303 -> line 21
[2700] mouse lb 1 y 305 -> line 21
[2700] mouse lb 1 y 306 -> line 21
[2700] mouse lb 1 y 307 -> line 22
[2700] mouse lb 1 y 308 -> line 25
[2700] mouse lb 1 y 309 -> line 19 !!!
[2700] mouse lb 1 y 310 -> line 25
[2700] mouse lb 1 y 311 -> line 19 !!!
[2700] mouse lb 1 y 312 -> line 25
[2700] mouse lb 1 y 313 -> line 20 !!!
[2700] mouse lb 1 y 314 -> line 25
[2700] mouse lb 1 y 315 -> line 20 !!!
[2700] mouse lb 1 y 316 -> line 25
[2700] mouse lb 1 y 317 -> line 21 !!!
[2700] mouse lb 1 y 318 -> line 25
[2700] mouse lb 1 y 319 -> line 21 !!!
[2700] mouse lb 1 y 320 -> line 25
[2700] mouse lb 1 y 321 -> line 21 !!!
[2700] mouse lb 1 y 322 -> line 25
[2700] mouse lb 1 y 323 -> line 21 !!!
[2700] mouse lb 1 y 324 -> line 25
[2700] mouse lb 1 y 325 -> line 21 !!!
[2700] mouse lb 1 y 326 -> line 25
[2700] mouse lb 1 y 327 -> line 22 !!!
[2700] mouse lb 1 y 328 -> line 26
[2700] mouse lb 1 y 329 -> line 25 !!!
[2700] mouse lb 1 y 330 -> line 23 !!!
[2700] mouse lb 1 y 331 -> line 25
[2700] mouse lb 1 y 332 -> line 23 !!!
[2700] mouse lb 1 y 333 -> line 26
[2700] mouse lb 1 y 334 -> line 25 !!!
[2700] mouse lb 1 y 335 -> line 25
[2700] mouse lb 1 y 336 -> line 25
[2700] mouse lb 1 y 337 -> line 25
[2700] mouse lb 1 y 338 -> line 25
[2700] mouse lb 1 y 340 -> line 25
[2700] mouse lb 1 y 341 -> line 25
[2700] mouse lb 1 y 342 -> line 25
[2700] mouse lb 1 y 344 -> line 25
[2700] mouse lb 1 y 345 -> line 25
[2700] mouse lb 1 y 347 -> line 25
[2700] mouse lb 1 y 348 -> line 25
[2700] mouse lb 1 y 349 -> line 25
[2700] mouse lb 1 y 351 -> line 25
[2700] mouse lb 1 y 352 -> line 25
[2700] mouse lb 1 y 354 -> line 26
[2700] mouse lb 1 y 355 -> line 27
[2700] mouse lb 1 y 356 -> line 28
[2700] mouse lb 1 y 357 -> line 26 !!!
[2700] mouse lb 1 y 358 -> line 28
[2700] mouse lb 1 y 359 -> line 26 !!!
[2700] mouse lb 1 y 360 -> line 28
[2700] mouse lb 1 y 361 -> line 26 !!!
[2700] mouse lb 1 y 362 -> line 28
[2700] mouse lb 1 y 363 -> line 27 !!!
[2700] mouse lb 1 y 364 -> line 28
[2700] mouse lb 1 y 365 -> line 28
[2700] mouse lb 1 y 366 -> line 28
[2700] mouse lb 1 y 367 -> line 28
[2700] mouse lb 1 y 368 -> line 28
[2700] mouse lb 1 y 370 -> line 28
[2700] mouse lb 1 y 371 -> line 28
[2700] mouse lb 1 y 373 -> line 28
[2700] mouse lb 1 y 374 -> line 28
[2700] mouse lb 1 y 375 -> line 28
[2700] mouse lb 1 y 377 -> line 28
[2700] mouse lb 1 y 378 -> line 28
[2700] mouse lb 1 y 379 -> line 28
[2700] mouse lb 1 y 381 -> line 28
[2700] mouse lb 1 y 382 -> line 29
[2700] mouse lb 1 y 383 -> line 29
[2700] mouse lb 1 y 384 -> line 29
[2700] mouse lb 1 y 385 -> line 29
[2700] mouse lb 1 y 387 -> line 29
[2700] mouse lb 1 y 388 -> line 29
[2700] mouse lb 1 y 389 -> line 29
[2700] mouse lb 1 y 391 -> line 29
[2700] mouse lb 1 y 392 -> line 29
[2700] mouse lb 1 y 394 -> line 29
[2700] mouse lb 1 y 395 -> line 29
[2700] mouse lb 1 y 396 -> line 29
[2700] mouse lb 1 y 398 -> line 29
[2700] mouse lb 1 y 399 -> line 29
[2700] mouse lb 1 y 401 -> line 29
[2700] mouse lb 1 y 402 -> line 30
[2700] mouse lb 1 y 403 -> line 30
[2700] mouse lb 1 y 404 -> line 31
[2700] mouse lb 1 y 405 -> line 31
[2700] mouse lb 1 y 407 -> line 31
[2700] mouse lb 1 y 408 -> line 31
[2700] mouse lb 1 y 409 -> line 31
[2700] mouse lb 1 y 410 -> line 32
[2700] mouse lb 1 y 411 -> line 32
[2700] mouse lb 1 y 413 -> line 32
[2700] mouse lb 1 y 414 -> line 32
[2700] mouse lb 1 y 415 -> line 32
[2700] mouse lb 1 y 416 -> line 32
[2700] mouse lb 1 y 417 -> line 32
[2700] mouse lb 1 y 419 -> line 32
[2700] mouse lb 1 y 420 -> line 32
[2700] mouse lb 1 y 421 -> line 33
[2700] mouse lb 1 y 422 -> line 33
[2700] mouse lb 1 y 423 -> line 33
[2700] mouse lb 1 y 424 -> line 33
[2700] mouse lb 1 y 425 -> line 35
[2700] mouse lb 1 y 426 -> line 35
[2700] mouse lb 1 y 427 -> line 35
[2700] mouse lb 1 y 428 -> line 35
[2700] mouse lb 1 y 430 -> line 35
[2700] mouse lb 1 y 431 -> line 35
[2700] mouse lb 1 y 432 -> line 37
[2700] mouse lb 1 y 433 -> line 35 !!!
[2700] mouse lb 1 y 434 -> line 37
[2700] mouse lb 1 y 435 -> line 37
[2700] mouse lb 1 y 436 -> line 37
[2700] mouse lb 1 y 437 -> line 38
[2700] mouse lb 1 y 438 -> line 37 !!!
[2700] mouse lb 1 y 439 -> line 38
[2700] mouse lb 1 y 440 -> line 37 !!!
[2700] mouse lb 1 y 441 -> line 38
[2700] mouse lb 1 y 442 -> line 38
[2700] mouse lb 1 y 443 -> line 38
[2700] mouse lb 1 y 444 -> line 38
[2700] mouse lb 1 y 445 -> line 38
[2700] mouse lb 1 y 447 -> line 38
[2700] mouse lb 1 y 448 -> line 38
[2700] mouse lb 1 y 449 -> line 38
[2700] mouse lb 1 y 450 -> line 40
[2700] mouse lb 1 y 451 -> line 40
[2700] mouse lb 1 y 452 -> line 40
[2700] mouse lb 1 y 454 -> line 40
[2700] mouse lb 1 y 455 -> line 40
[2700] mouse lb 1 y 456 -> line 40
[2700] mouse lb 0 y 481 -> line 40
>From the visual feedback point of view, it is a slightly confusing
experience, at best. E.g. around lines 19-25 the text jumps about
6 lines forth and back.
Note also that some lines just were left out, (e.g. line 2, 10, 39),
then again with other lines it doesn't move for more than 10 mouse
steps.
Also, where the log finishes, the scrollbar has arrived at the
bottom-most position, but the last line ("User YOUR_USERID")
still was not visible. When I move the mouse fast, it is more
lines that stay invisible, e.g. 4 lines in this run:
[2700] mouse lb 1 y 178 -> line 1
[2700] mouse lb 1 y 183 -> line 1
[2700] mouse lb 1 y 199 -> line 3
[2700] mouse lb 1 y 226 -> line 5
[2700] mouse lb 1 y 255 -> line 12
[2700] mouse lb 1 y 308 -> line 19
[2700] mouse lb 1 y 364 -> line 28
[2700] mouse lb 1 y 418 -> line 29
[2700] mouse lb 1 y 460 -> line 31
[2700] mouse lb 1 y 516 -> line 37
[2700] mouse lb 0 y 589 -> line 37
Also, whats bit unusual with the scrollbar, when you just click it
without any dragging, the text scrolls backwards already:
[2700] mouse lb 1 y 425 -> line 25
[2700] mouse lb 0 y 425 -> line 25
[2700] mouse lb 1 y 425 -> line 23
[2700] mouse lb 0 y 425 -> line 23
[2700] mouse lb 1 y 425 -> line 22
[2700] mouse lb 0 y 425 -> line 22
[2700] mouse lb 1 y 425 -> line 21
[2700] mouse lb 0 y 425 -> line 21
Well, hope this points out something. I know it's not easy to fix,
and maybe the scrollbar is not top priority for you either.
But still, after some concentrated typing, a scrollbar can be fun
to use and help to get a different view on the whole matter.
Provided it works precisely, that is. Otherwise it's maybe not worth
the two columns less from the always precious edit space ;)
--- grischka
------------------------------------------------------------------
Snippet added in w32term.c (~line 3770) at the end of
'w32_set_vertical_scroll_bar':
static void
w32_set_vertical_scroll_bar (w, portion, whole, position)
struct window *w;
int portion, whole, position;
{
...
...
{
char msg[100];
POINT pt;
int n, line, unexpected;
static int old_line, old_y;
GetCursorPos(&pt);
for (line = n = 1; n <= position; ++n)
if (FETCH_CHAR(n) == '\n')
++line;
unexpected = pt.y > old_y ? line < old_line : line > old_line;
old_line = line, old_y = pt.y;
sprintf(msg, "mouse lb %d y %d -> line %d%s\n",
0 != (GetAsyncKeyState(VK_LBUTTON) & 0x8000),
pt.y,
line,
unexpected ? " !!!" : ""
);
OutputDebugString(msg);
}
}
------------------------------------------------------------------
Important settings:
value of $LC_ALL: nil
value of $LC_COLLATE: nil
value of $LC_CTYPE: nil
value of $LC_MESSAGES: nil
value of $LC_MONETARY: nil
value of $LC_NUMERIC: nil
value of $LC_TIME: nil
value of $LANG: DEU
locale-coding-system: cp1252
default-enable-multibyte-characters: t
Major mode: Fundamental
Minor modes in effect:
encoded-kbd-mode: t
tooltip-mode: t
tool-bar-mode: t
mouse-wheel-mode: t
menu-bar-mode: t
file-name-shadow-mode: t
global-font-lock-mode: t
font-lock-mode: t
blink-cursor-mode: t
unify-8859-on-encoding-mode: t
utf-translate-cjk-mode: t
auto-compression-mode: t
line-number-mode: t
Recent input:
<mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1>
<mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1>
<mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1>
<mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1>
<mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1>
<mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1>
<mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1>
<mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1>
<mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1>
<mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1>
<mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1>
<mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1>
<mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1>
<mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1>
<mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1>
<mouse-1> <help-echo> <help-echo> <help-echo> <help-echo>
<help-echo> <help-echo> <menu-bar> <help-menu> <re
port-emacs-bug>
Recent messages:
(C:\test\emacs-22.cvs\src\obj-spd\i386\emacs.exe -q ..\INSTALL.CVS)
Loading encoded-kb...done
For information about the GNU Project and its goals, type C-h C-p.
Loading emacsbug...
Loading regexp-opt...done
Loading emacsbug...done
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Scrollbar Issues,
grischka <=