all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Jared Finder via "Bug reports for GNU Emacs, the Swiss army knife of text editors" <bug-gnu-emacs@gnu.org>
To: Eli Zaretskii <eliz@gnu.org>
Cc: philipk@posteo.net, 68765@debbugs.gnu.org,
	monnier@iro.umontreal.ca, juri@linkov.net
Subject: bug#68765: 30.0.50; Adding window-tool-bar package.
Date: Sun, 02 Jun 2024 08:57:52 -0700	[thread overview]
Message-ID: <b1e0386a2ae95dc18956514c97840a97@finder.org> (raw)
In-Reply-To: <864jabor61.fsf@gnu.org>

(I mistakenly sent this to just Eli.  Sorry about that!)

On 2024-06-02 08:56, Jared Finder wrote:
> On 2024-06-01 22:21, Eli Zaretskii wrote:
>>> Date: Sat, 01 Jun 2024 21:17:58 -0700
>>> From: Jared Finder <jared@finder.org>
>>> Cc: juri@linkov.net, 68765@debbugs.gnu.org, philipk@posteo.net,
>>>  monnier@iro.umontreal.ca
>>> 
>>> > I'm beginning to think that the feature whereby we don't display the
>>> > window's tool bar under some conditions "to conserve space" is more
>>> > confusing and hard to document than is useful, and perhaps we should
>>> > simply show the window's tool bar unconditionally?
>>> 
>>> I find it really useful to have this auto-show/hide behavior.  As I
>>> wrote in the docs, "you can think of the window tool bar as showing a
>>> major mode specific tool bar if it exists".
>> 
>> That's okay, I'm just saying that if the window's major mode has its
>> own tool bar, we should show that tool bar on a window regardless of
>> whether the frame's tool bar shows the same buttons.
> 
> <and also from later on>
> 
>>> +  The command @code{global-window-tool-bar-mode} toggles the display 
>>> of
>>> +a tool bar at the top of each window.  When enabled, multiple 
>>> windows
>>> +can display their own tool bar simultaneously.  To conserve space, a
>>> +window tool bar is only shown if the tool bar for the window's 
>>> displayed
>>> +buffer has a different binding from the global (default) tool bar.  
>>> The
>> 
>> This should explain what does "global (default) tool bar" mean.  My
>> understanding is that this is the tool bar shown for the frame, which
>> will continue working as it does now, i.e. be determined by the major
>> mode of the frame's selected window.
> 
> <and also>
> 
>>> Having no space taken up when editing a text file, then having the
>>> tool bar appear when I hit C-s lines up with what I see in many
>>> other programs.  I'd be sad to see this behavior removed.
>> 
>> That's not what I'm talking about.  I'm talking about removing the
>> window's tool bar because the frame's tool bar became identical to it.
>> Here's a scenario:
>> 
>>   . you have a frame with Info mode and some other mode
>>   . the frame's tool bar is the default one, and the window under Info
>>     shows its own tool bar from info.el
>>   . now I type "C-h i" in the window that was previously in mode other
>>     than Info -- now the frame's tool bar is the one from Info mode,
>>     and suddenly the other window loses its window-specific tool bar!
>> 
>> IOW, what bothers me is that we _remove_ the window's tool bar because
>> the frame-global tool bar changed.  And you just confirmed above that,
>> while currently this is not the behavior, you'd like to fix the code
>> so it _is_ the behavior.
>> 
>> Am I missing something?
> 
> There's a misunderstanding here.  Can you please suggest how I can 
> change the documentation?  I'm not sure why the documentation I wrote 
> is confusing.
> 
> Let me explicitly describe the terms I am using:
> 
> When I write "the global (default) tool bar", that refers to the value 
> of (default-value 'tool-bar-map).  It's the tool bar with New File, 
> Open File, Open Directory, Kill Buffer, Save, Undo, Cut, Copy, Paste, 
> Isearch.  This doesn't change with major mode.  As far as I can tell, 
> it doesn't change during normal Emacs operations (unless a user chooses 
> to modify it, of course).
> 
> When I write "the frame tool bar", that refers to the tool bar 
> displayed at the top of a frame, as controlled by M-x tool-bar-mode.  
> There is no change of behavior here except for the new user option 
> tool-bar-always-show-default.
> 
> When I write "the window tool bar", that refers to the tool bar 
> displayed at the top of a window, as controlled by (newly added) M-x 
> window-tool-bar-mode or M-x global-window-tool-bar-mode.  The window 
> tool bar displays the value of tool-bar-map the window's displayed 
> buffer.  But it only displays that tool bar if it is not the same as 
> the global (default) tool bar.  It does not pay attention to the frame 
> tool bar.  Specifically, the test is:
> 
>  (eq tool-bar-map ;a buffer's tool bar
>      (default-value 'tool-bar-map) ;the global (default) tool bar
>   )
> 
> I hope from the above description it is clear that switching windows 
> does not cause the window tool bar to flicker as the window tool bar 
> doesn't care what the frame tool bar shows.
> 
>>> The most prominent other source of a custom tool bar is isearch.
>> 
>> Oh, there are many more modes that customize the tool bar in important
>> ways.  Help mode, Info mode, Customize, GUD modes, email modes, Grep,
>> and EWW, to name just a few popular ones.
> 
> Are there any others that are minor modes like isearch?  I ask because 
> the "only display when tool bar is different" check isn't run on minor 
> mode changes.  That's the bug I'm referring to that I'd like to fix.  
> Currently Window Tool Bar mode adds a function to isearch-mode-hook and 
> isearch-mode-end-hook to work properly with isearch.  I would prefer a 
> generic way to handle this.
> 
> 
> All other suggested changes I'll add to my next patch.  I'm just 
> waiting to figure out how to properly document the above 
> misunderstanding.
> 
>   -- MJF





  reply	other threads:[~2024-06-02 15:57 UTC|newest]

Thread overview: 55+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-01-27 23:36 bug#68765: 30.0.50; Adding window-tool-bar package Jared Finder via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-02-10  8:19 ` Eli Zaretskii
2024-02-10 17:25   ` Juri Linkov
2024-02-26 22:38     ` Jared Finder via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-03-26 15:34       ` Jared Finder via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-03-27  7:04         ` Juri Linkov
2024-05-02  6:03           ` Juri Linkov
2024-05-09  8:00             ` Eli Zaretskii
2024-05-10  4:24               ` Jared Finder via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-05-11  4:33                 ` Jared Finder via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-05-12 16:34                   ` Juri Linkov
2024-05-14  4:14                     ` Jared Finder via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-05-14  6:01                       ` Juri Linkov
2024-05-18  9:50                         ` Eli Zaretskii
2024-05-19  3:55                           ` Jared Finder via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-05-19  6:43                             ` Eli Zaretskii
2024-05-20 17:14                         ` Juri Linkov
2024-05-21  2:25                           ` Jared Finder via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-05-21  6:12                             ` Juri Linkov
2024-05-18  9:45                       ` Eli Zaretskii
2024-05-18  9:48                       ` Eli Zaretskii
2024-05-19  3:58                         ` Jared Finder via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-05-19  6:48                           ` Eli Zaretskii
2024-05-23  4:19                             ` Jared Finder via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-05-23  6:52                               ` Eli Zaretskii
2024-05-25 15:49                                 ` Jared Finder via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-05-25 17:03                                   ` Eli Zaretskii
2024-05-25 19:54                                     ` Jared Finder via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-05-26  9:44                                       ` Eli Zaretskii
2024-05-26 16:20                                         ` Jared Finder via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-05-26 18:40                                           ` Eli Zaretskii
2024-06-02  4:17                                             ` Jared Finder via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-06-02  5:21                                               ` Eli Zaretskii
2024-06-02 15:57                                                 ` Jared Finder via Bug reports for GNU Emacs, the Swiss army knife of text editors [this message]
2024-06-02 16:46                                                   ` Eli Zaretskii
2024-05-19 14:41                           ` Philip Kaludercic
2024-05-20  3:25                             ` Jared Finder via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-05-20  6:39                               ` Philip Kaludercic
2024-05-20  9:19                               ` Philip Kaludercic
2024-05-21  4:18                                 ` Jared Finder via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-05-21 13:40                                   ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-05-22 16:16                                   ` Philip Kaludercic
2024-02-11 20:51 ` Philip Kaludercic
2024-02-27  3:02 ` Jared Finder via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-03-26 15:33   ` Jared Finder via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-04-13  7:43     ` Eli Zaretskii
2024-04-27  8:25       ` Eli Zaretskii
2024-04-27 10:00   ` Philip Kaludercic
2024-04-28  4:44     ` Jared Finder via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-06-04  5:24 ` Jared Finder via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-06-04 15:59   ` Eli Zaretskii
2024-06-05  4:22     ` Jared Finder via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-06-05 12:10       ` Eli Zaretskii
2024-06-09  0:29         ` Jared Finder via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-06-09 12:23           ` Eli Zaretskii

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=b1e0386a2ae95dc18956514c97840a97@finder.org \
    --to=bug-gnu-emacs@gnu.org \
    --cc=68765@debbugs.gnu.org \
    --cc=eliz@gnu.org \
    --cc=jared@finder.org \
    --cc=juri@linkov.net \
    --cc=monnier@iro.umontreal.ca \
    --cc=philipk@posteo.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.