* RE: not too happy with Emacs 21 vertical-line dragging when scroll bars present
2004-09-29 17:54 not too happy with Emacs 21 vertical-line dragging when scroll bars present Drew Adams
@ 2004-09-29 18:29 ` Drew Adams
2004-09-30 15:59 ` Richard Stallman
0 siblings, 1 reply; 4+ messages in thread
From: Drew Adams @ 2004-09-29 18:29 UTC (permalink / raw)
Update - I don't know why, but I've tried this again and cannot reproduce
the "Attempt to drag leftmost scrollbar" error in another Emacs session. I
still have an Emacs session open that gives me the error (systematically),
but when I try on new sessions (same version of Emacs, and -q in all cases),
I don't get the error message.
Here's the backtrace (although it's not very helpful):
Debugger entered--Lisp error: (error "Attempt to drag leftmost scrollbar")
signal(error ("Attempt to drag leftmost scrollbar"))
error("Attempt to drag leftmost scrollbar")
mouse-drag-vertical-line((down-mouse-1 (#<window 3 on *Help*>
vertical-line (300 . 344) 7448410 nil 342 (0 . 8) nil (0 . 215) (1 . 16))))
call-interactively(mouse-drag-vertical-line)
In the session with the bug, the only buffers I have are these: *Help*,
*info*, *scratch*, and *Messages*. I have default values for everything, and
I have a single frame split vertically with *info* at the bottom, *Help* at
the top left, and *scratch* at the top right (although I doubt that is
significant). In case it helps, I've included the *Messages* buffer
contents, below.
I don't remember having done anything special, but, as I say, I can't seem
to reproduce it in other Emacs sessions.
Also, in the non-bugged sessions, the drag-handle is closer to where it
should be: you do not need to grab over the right mode line (in fact, you
cannot); you must grab at the mode-line division or slightly to the left.
In any case, I still would like to see a visible drag handle area, as I
described, even in the case of a single-window frame.
HTH,
- Drew
-------------------8<---------*Messages* buffer-------------
Searching subfile emacs-5...
Searching subfile emacs-6...
Searching subfile emacs-7...
Searching subfile emacs-8...
Searching subfile emacs-9...
Searching subfile emacs-10...
Searching subfile emacs-11...
Searching subfile emacs-12...
Searching subfile emacs-13...
Searching subfile emacs-14...
Searching subfile emacs-15...
Searching subfile emacs-16...
Searching subfile emacs-17...
Searching subfile emacs-18...
Searching subfile emacs-19...
Searching subfile emacs-20...
Searching subfile emacs-21...
Searching subfile emacs-22...
Searching subfile emacs-23...
Searching subfile emacs-24...
Searching subfile emacs-25...
Searching subfile emacs-26...
Searching subfile emacs-27...
Quit [2 times]
Loading debug...done
Entering debugger...
Back to top level.
Entering debugger...
Back to top level.
nil [2 times]
mouse-drag-vertical-line: Attempt to drag leftmost scrollbar [9 times]
Type C-x 4 b RET to restore the other window. C-M-v to scroll the help.
mouse-drag-vertical-line: Attempt to drag leftmost scrollbar [2 times]
Note, built-in variable `x-use-underline-position-properties' not bound
Debug on Error enabled
Entering debugger...
mouse-drag-vertical-line: Attempt to drag leftmost scrollbar
Back to top level.
Entering debugger...
Back to top level.
Entering debugger...
Debug on Error enabled
Entering debugger...
Back to top level.
Entering debugger...
byte-code: Buffer is read-only: #<buffer *Help*>
Back to top level.
Debug on Error disabled
mouse-drag-vertical-line: Attempt to drag leftmost scrollbar [5 times]
-------------------8<---------end *Messages* buffer-------------
-----Original Message-----
From: Drew Adams [mailto:drew.adams@oracle.com]
Sent: Wednesday, September 29, 2004 10:54 AM
To: emacs-devel@gnu.org; help-gnu-emacs@gnu.org; bug-gnu-emacs@gnu.org
Subject: not too happy with Emacs 21 vertical-line dragging when scroll
bars present
GNU Emacs 21.3.50.1 (i386-mingw-nt5.1.2600) of 2004-07-26 on BERATUNG4,
Windows XP SP1.
This may be Windows specific; I don't know.
In Emacs 20, the mode line did not extend under a vertical scroll bar (or
under a vertical line) -- there was a small (~4mm) square that you could
drag with the mouse to resize the window.
In Emacs 21, this small but visible "drag handle" has disappeared. If you
position the mouse _very_ carefully along the mode line at the window
division, you can grab and drag the divider. However, this effective drag
handle is _very_ small and not obvious at all (only the cursor change
indicates its presence).
Also, if you have two horizontally adjacent windows and try to drag the
divider, you actually need to place the mouse slightly to the right of the
divider, so that it is well over the right mode line, not the left (even
though it is the left mode line that extends under the scroll bar). This is
not intuitive at all.
If you try to grab & drag directly under the scroll bar (as in Emacs 20),
you grab the left mode line, and nothing happens (no drag cursor). If you
grab slightly to the right of this, at the right edge of the scroll bar, in
the modeline (that is, _at_ the vertical line that separates the windows),
then you see the drag cursor (so everything looks OK), but you also get this
error message: "Attempt to drag leftmost scrollbar".
There is no reason for this. Intuitively, that is just what you _want_ to
do: drag the "leftmost" scrollbar - that is, drag the only vertical
separation you see between the two windows. You certainly don't want to (and
cannot) drag the _rightmost_ scrollbar/vertical line!
To be able to drag the vertical line, you must in fact grab it slightly to
the right of the visible vertical line, that is, to the right of the right
edge of the scroll bar, so that you are well over the right mode line. The
proper position appears to be at the right edge of the fringe! Dragging here
also activates the right mode line, for no reason that I can see. All of
this is not very intuitive.
__Any chance we can get back the small square of real estate under the
scroll bar as a drag handle?__ It was a great visual clue to the existence
of a drag handle, and it was large enough to function as such. Ideal would
be to put a tiny drag-handle-cursor image (<-->) in this square, and leave
it there all the time.
Related enhancement request: If we had the small, visible drag handle of
Emacs 20 (as suggested above), then we could bind not just
mouse-drag-vertical-line, but a command that does this:
(if (one-window-p t)
(resize-frame)
(mouse-drag-vertical-line start-event))
That is, if there is only one window, you can click this spot to resize the
frame to fit the selected window. (`resize-frame' is not yet part of Emacs,
but is available for inclusion --
http://www.emacswiki.org/elisp/resize-frame.el.)
- Drew
^ permalink raw reply [flat|nested] 4+ messages in thread