Subject: bug#51049: 28.0.50; tool-bar :vert-only property is broken, not documented and of limited use

From: Eli Zaretskii <[email-masked]>
Date: Wed, 06 Oct 2021 19:32:54 +0300

> From: Stefan Kangas <[email-masked]>
> Date: Tue, 5 Oct 2021 19:57:51 -0400
> 
> According to commit d2bd51898e4 the :vert-only property for toolbar
> items is supposed to be "for tool bar items with labels not shown
> horizontally".
> 
> These properties are used in some places in our sources, but are not
> documented in (info "(elisp) Tool Bar").
> 
> They also don't seem to be working, at least not in GTK:
> 
>   0. emacs -Q
>   1. (custom-set-variables '(tool-bar-position 'left))
>   2. M-x mpc RET
> 
>   (Note that the entire tool-bar in mpc.el has the :vert-only property.)

I suggest to step with a debugger into update_frame_tool_bar in
gtkutil.c, where this is implemented, and see what's going on there.
The effect of :vert-only is conditioned on other aspects of the tool
bar and its buttons, so it could be that what you see is the feature
working as designed, and you just didn't create the conditions for it
to have the effect.  Jan Djärv, who implemented that, was our X and
GTK expert, so it is hard for me to believe that the code didn't work
at least then (it could have bit-rotten with the newer versions of
GTK, of course).

> I also do wonder if this property is at all useful.  If anything, I
> would like the option to *hide* labels in horizontal mode, as having
> labels makes the toolbar change size when I switch between windows to
> with different major modes.

It's fine to introduce new features, but why remove old ones while at
that?  What is not useful to you could be useful to someone else.

> So should the :vert-only property be documented?  Fixed?  Removed?

Documented, probably -- but then :label should also be documented.
Fixed? not sure what to fix.  Removed? definitely no.