GNU bug report logs -
#76084
31.0.50; Dragging tab line does not resize windows, unlike header line or mode line
Previous Next
Reported by: Jared Finder <jared <at> finder.org>
Date: Thu, 6 Feb 2025 06:09:01 UTC
Severity: normal
Fixed in version 31.0.50
Done: Juri Linkov <juri <at> linkov.net>
Bug is archived. No further changes may be made.
To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 76084 in the body.
You can then email your comments to 76084 AT debbugs.gnu.org in the normal way.
Toggle the display of automated, internal messages from the tracker.
Report forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#76084
; Package
emacs
.
(Thu, 06 Feb 2025 06:09:01 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
Jared Finder <jared <at> finder.org>
:
New bug report received and forwarded. Copy sent to
bug-gnu-emacs <at> gnu.org
.
(Thu, 06 Feb 2025 06:09:02 GMT)
Full text and
rfc822 format available.
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
Dragging on empty space in the tab line does not resize windows. This
is unlike the behavior when dragging on empty space in the mode line or
in the header line.
Additionally, hovering the mouse pointer over empty space on the the
header line, while it does resize the window, does not display the
"resize up down" icon. This behiavor is differnt from when you hover
the mouse pointer over the empty space on the mode line.
(this is secondary bug filing requested in bug#75844)
-- MJF
In GNU Emacs 31.0.50 (build 10, x86_64-pc-linux-gnu, GTK+ Version
3.24.38, cairo version 1.16.0) of 2025-02-05 built on electric-egg
Repository revision: ea04dd8ca93d609c0ee475c4acf58a56dfc0f1f3
Repository branch: HEAD
Windowing system distributor 'Microsoft Corporation', version
11.0.12010000
System Description: Debian GNU/Linux 12 (bookworm)
Configured features:
ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM GSETTINGS HARFBUZZ JPEG
LCMS2 LIBOTF LIBSELINUX LIBSYSTEMD LIBXML2 M17N_FLT MODULES NATIVE_COMP
NOTIFY INOTIFY PDUMPER PNG RSVG SECCOMP SOUND THREADS TIFF
TOOLKIT_SCROLL_BARS TREE_SITTER WEBP X11 XDBE XIM XINERAMA XINPUT2 XPM
XRANDR GTK3 ZLIB
Important settings:
value of $LANG: en_US.UTF-8
locale-coding-system: utf-8-unix
Major mode: Info
Minor modes in effect:
tab-line-mode: t
tooltip-mode: t
global-eldoc-mode: t
show-paren-mode: t
electric-indent-mode: t
mouse-wheel-mode: t
tool-bar-mode: t
menu-bar-mode: t
file-name-shadow-mode: t
isearch-fold-quotes-mode: t
global-font-lock-mode: t
font-lock-mode: t
blink-cursor-mode: t
minibuffer-regexp-mode: t
buffer-read-only: t
line-number-mode: t
indent-tabs-mode: t
transient-mark-mode: t
auto-composition-mode: t
auto-encryption-mode: t
auto-compression-mode: t
Load-path shadows:
None found.
Features:
(shadow sort mail-extr emacsbug message mailcap yank-media puny dired
dired-loaddefs rfc822 mml mml-sec password-cache epa derived epg rfc6068
epg-config gnus-util mm-decode mm-bodies mm-encode mail-parse rfc2231
mailabbrev gmm-utils mailheader sendmail rfc2047 rfc2045 ietf-drums
mm-util mail-prsvr mail-utils tab-line icons info time-date cl-loaddefs
cl-lib compile text-property-search comint subr-x ansi-osc ansi-color
ring comp-run bytecomp byte-compile comp-common rx ruler-mode rmc
iso-transl tooltip cconv eldoc paren electric uniquify ediff-hook
vc-hooks lisp-float-type elisp-mode mwheel term/x-win x-win
term/common-win x-dnd touch-screen tool-bar dnd fontset image regexp-opt
fringe tabulated-list replace newcomment text-mode lisp-mode prog-mode
register page tab-bar menu-bar rfn-eshadow isearch easymenu timer select
scroll-bar mouse jit-lock font-lock syntax font-core term/tty-colors
frame minibuffer nadvice seq simple cl-generic indonesian philippine
cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao
korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech
european ethiopic indian cyrillic chinese composite emoji-zwj charscript
charprop case-table epa-hook jka-cmpr-hook help abbrev obarray oclosure
cl-preloaded button loaddefs theme-loaddefs faces cus-face macroexp
files window text-properties overlay sha1 md5 base64 format env
code-pages mule custom widget keymap hashtable-print-readable backquote
threads dbusbind inotify lcms2 dynamic-setting system-font-setting
font-render-setting cairo gtk x-toolkit xinput2 x multi-tty move-toolbar
make-network-process tty-child-frames native-compile emacs)
Memory information:
((conses 16 87290 9777) (symbols 48 7255 0) (strings 32 23302 2118)
(string-bytes 1 771807) (vectors 16 13945)
(vector-slots 8 170553 12886) (floats 8 33 40)
(intervals 56 2441 157) (buffers 992 14))
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#76084
; Package
emacs
.
(Thu, 06 Feb 2025 09:02:02 GMT)
Full text and
rfc822 format available.
Message #8 received at 76084 <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
> Dragging on empty space in the tab line does not resize windows. This
> is unlike the behavior when dragging on empty space in the mode line or
> in the header line.
I attach a patch for this that hopefully does not negatively affect
'tab-line-mouse-move-tab'. Juri will have to check.
> Additionally, hovering the mouse pointer over empty space on the the
> header line, while it does resize the window, does not display the
> "resize up down" icon. This behiavor is differnt from when you hover
> the mouse pointer over the empty space on the mode line.
I suppose this will have to be done separately when specifying a header
line format (like, for example, 'ruler-mode' does).
martin
[drag-tab-line.diff (text/x-patch, attachment)]
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#76084
; Package
emacs
.
(Thu, 06 Feb 2025 17:14:02 GMT)
Full text and
rfc822 format available.
Message #11 received at 76084 <at> debbugs.gnu.org (full text, mbox):
>> Dragging on empty space in the tab line does not resize windows. This
>> is unlike the behavior when dragging on empty space in the mode line or
>> in the header line.
>
> I attach a patch for this that hopefully does not negatively affect
> 'tab-line-mouse-move-tab'. Juri will have to check.
Thanks! I confirm everything works nicely.
>> Additionally, hovering the mouse pointer over empty space on the the
>> header line, while it does resize the window, does not display the
>> "resize up down" icon. This behiavor is differnt from when you hover
>> the mouse pointer over the empty space on the mode line.
>
> I suppose this will have to be done separately when specifying a header
> line format (like, for example, 'ruler-mode' does).
Also changing the mouse cursor while dragging the tab-line tab with
'tab-line-mouse-move-tab' would be nice to do. But it seems
this is not simple to do, and need to add something like
'tab_bar__dragging_in_progress'.
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#76084
; Package
emacs
.
(Sat, 08 Feb 2025 16:02:02 GMT)
Full text and
rfc822 format available.
Message #14 received at 76084 <at> debbugs.gnu.org (full text, mbox):
On 2025-02-06 01:01, martin rudalics wrote:
>> Dragging on empty space in the tab line does not resize windows. This
>> is unlike the behavior when dragging on empty space in the mode line
>> or
>> in the header line.
>
> I attach a patch for this that hopefully does not negatively affect
> 'tab-line-mouse-move-tab'. Juri will have to check.
>
>> Additionally, hovering the mouse pointer over empty space on the the
>> header line, while it does resize the window, does not display the
>> "resize up down" icon. This behiavor is differnt from when you hover
>> the mouse pointer over the empty space on the mode line.
>
> I suppose this will have to be done separately when specifying a header
> line format (like, for example, 'ruler-mode' does).
The code in xdisp.c that updates the mouse icon for dragging the mode
line (search for "draggable") is straightforward to adjust to also
handle the header and tab lines. That works for almost all cases, I can
confirm it works fine for Info mode, tab-line mode, and window-tool-bar
mode. It doesn't work for ruler-mode still because ruler-mode sets its
own binding for <header-line> <down-mouse-1> in its keymap.
To handle this I would need to add checks against the down-mouse-1
keybinding before setting the mouse icon. I'm just worried about
performance here since looking up the keymap would get run on mouse
motion.
-- MJF
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#76084
; Package
emacs
.
(Mon, 10 Feb 2025 10:16:02 GMT)
Full text and
rfc822 format available.
Message #17 received at 76084 <at> debbugs.gnu.org (full text, mbox):
>> I attach a patch for this that hopefully does not negatively affect
>> 'tab-line-mouse-move-tab'. Juri will have to check.
>
> Thanks! I confirm everything works nicely.
Pushed now.
> Also changing the mouse cursor while dragging the tab-line tab with
> 'tab-line-mouse-move-tab' would be nice to do. But it seems
> this is not simple to do, and need to add something like
> 'tab_bar__dragging_in_progress'.
I think you should do that but maybe use a more generic name like
'drag_item_in_progress' so one could use it for tool bar items too.
martin
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#76084
; Package
emacs
.
(Mon, 10 Feb 2025 10:16:02 GMT)
Full text and
rfc822 format available.
Message #20 received at 76084 <at> debbugs.gnu.org (full text, mbox):
> The code in xdisp.c that updates the mouse icon for dragging the mode
> line (search for "draggable") is straightforward to adjust to also
> handle the header and tab lines. That works for almost all cases, I
> can confirm it works fine for Info mode, tab-line mode, and
> window-tool-bar mode.
Can you do that?
> It doesn't work for ruler-mode still because
> ruler-mode sets its own binding for <header-line> <down-mouse-1> in
> its keymap.
>
> To handle this I would need to add checks against the down-mouse-1
> keybinding before setting the mouse icon. I'm just worried about
> performance here since looking up the keymap would get run on mouse
> motion.
I think there's no reason to bother about 'ruler-mode'. IIRC, apart
from the scroll bar, the ruler has no "empty space" and dragging should
mostly happen in a horizontal fashion.
martin
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#76084
; Package
emacs
.
(Sat, 22 Feb 2025 22:40:01 GMT)
Full text and
rfc822 format available.
Message #23 received at 76084 <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
On 2025-02-10 02:15, martin rudalics wrote:
>> To handle this I would need to add checks against the down-mouse-1
>> keybinding before setting the mouse icon. I'm just worried about
>> performance here since looking up the keymap would get run on mouse
>> motion.
>
> I think there's no reason to bother about 'ruler-mode'. IIRC, apart
> from the scroll bar, the ruler has no "empty space" and dragging should
> mostly happen in a horizontal fashion.
Attached is a patch that adds the vertical scroll icon for header and
tab lines. I also altered ruler-mode so that dragging works with it as
well as it has no real reason to block dragging AFAICT. Similar changes
would be needed in other packages if the desire is to be aligned with
the newly shown drag icon. The only way to outright hide the drag icon
is to add a keymap via text properties, which is already the case for
the mode line. If this (small) breakage seems acceptable, then I think
this is strictly better.
The alternative here is to add a call to Fkey_binding in
note_line_or_margin_highlight to check what the down-mouse-1 binding is.
Let me know if that is more appropriate. I'm just nervous because
there are comments about Fkey_binding maybe causing GC and in general is
seems much more heavyweight an operation for each mouse move.
-- MJF
[0001-Show-drag-cursor-on-all-window-lines-mode-tab-header.patch (text/x-diff, attachment)]
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#76084
; Package
emacs
.
(Thu, 27 Feb 2025 18:29:02 GMT)
Full text and
rfc822 format available.
Message #26 received at 76084 <at> debbugs.gnu.org (full text, mbox):
> Attached is a patch that adds the vertical scroll icon for header and tab
> lines. I also altered ruler-mode so that dragging works with it as well as
> it has no real reason to block dragging AFAICT. Similar changes would be
> needed in other packages if the desire is to be aligned with the newly
> shown drag icon. The only way to outright hide the drag icon is to add
> a keymap via text properties, which is already the case for the mode line.
Thanks, I tried out your patch, and everything works nicely.
Looks like it's ready to be installed if Martin agrees?
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#76084
; Package
emacs
.
(Fri, 28 Feb 2025 09:27:03 GMT)
Full text and
rfc822 format available.
Message #29 received at 76084 <at> debbugs.gnu.org (full text, mbox):
> Thanks, I tried out your patch, and everything works nicely.
> Looks like it's ready to be installed if Martin agrees?
I think it's ready.
BTW when I do M-x ruler-mode a second time in the same buffer I'm told
Ruler mode disabled in current buffer
but I still see the ruler. It disappears only after a
'set-window-buffer'. Is that the intended behavior for minor modes?
martin
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#76084
; Package
emacs
.
(Mon, 03 Mar 2025 01:33:02 GMT)
Full text and
rfc822 format available.
Message #32 received at 76084 <at> debbugs.gnu.org (full text, mbox):
On 2025-02-28 01:25, martin rudalics wrote:
>> Thanks, I tried out your patch, and everything works nicely.
>> Looks like it's ready to be installed if Martin agrees?
>
> I think it's ready.
>
> BTW when I do M-x ruler-mode a second time in the same buffer I'm told
>
> Ruler mode disabled in current buffer
>
> but I still see the ruler. It disappears only after a
> 'set-window-buffer'. Is that the intended behavior for minor modes?
I don't see this behavior locally on
76342efe9d758a6ca66cdc0ed197381664a6fbbd + my patch. I just ran
src/emacs -q, and then ran M-x ruler-mode twice.
-- MJF
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#76084
; Package
emacs
.
(Mon, 03 Mar 2025 10:27:01 GMT)
Full text and
rfc822 format available.
Message #35 received at 76084 <at> debbugs.gnu.org (full text, mbox):
> I don't see this behavior locally on
> 76342efe9d758a6ca66cdc0ed197381664a6fbbd + my patch. I just ran
> src/emacs -q, and then ran M-x ruler-mode twice.
I now can't reproduce it either.
Thanks for checking, martin
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#76084
; Package
emacs
.
(Mon, 14 Apr 2025 06:16:02 GMT)
Full text and
rfc822 format available.
Message #38 received at 76084 <at> debbugs.gnu.org (full text, mbox):
On 2025-02-28 01:25, martin rudalics wrote:
>> Thanks, I tried out your patch, and everything works nicely.
>> Looks like it's ready to be installed if Martin agrees?
>
> I think it's ready.
Looks like installing the patch was forgotten.
The patch was attached to an earlier message in this thread. See
https://debbugs.gnu.org/cgi/bugreport.cgi?bug=76084#23.
-- MJF
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#76084
; Package
emacs
.
(Tue, 15 Apr 2025 18:56:07 GMT)
Full text and
rfc822 format available.
Message #41 received at 76084 <at> debbugs.gnu.org (full text, mbox):
close 76084 31.0.50
thanks
>>> Thanks, I tried out your patch, and everything works nicely.
>>> Looks like it's ready to be installed if Martin agrees?
>> I think it's ready.
>
> Looks like installing the patch was forgotten.
>
> The patch was attached to an earlier message in this thread. See
> https://debbugs.gnu.org/cgi/bugreport.cgi?bug=76084#23.
Sorry for the delay, now your patch is installed, thanks.
bug marked as fixed in version 31.0.50, send any further explanations to
76084 <at> debbugs.gnu.org and Jared Finder <jared <at> finder.org>
Request was from
Juri Linkov <juri <at> linkov.net>
to
control <at> debbugs.gnu.org
.
(Tue, 15 Apr 2025 18:56:11 GMT)
Full text and
rfc822 format available.
bug archived.
Request was from
Debbugs Internal Request <help-debbugs <at> gnu.org>
to
internal_control <at> debbugs.gnu.org
.
(Wed, 14 May 2025 11:25:16 GMT)
Full text and
rfc822 format available.
This bug report was last modified 4 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.