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
next prev parent 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.