unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#51049: 28.0.50; tool-bar :vert-only property is broken, not documented and of limited use
@ 2021-10-05 23:57 Stefan Kangas
  2021-10-06 16:32 ` Eli Zaretskii
  2022-09-12 10:55 ` Lars Ingebrigtsen
  0 siblings, 2 replies; 5+ messages in thread
From: Stefan Kangas @ 2021-10-05 23:57 UTC (permalink / raw)
  To: 51049

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.)

This is extra strange as AFAICT, the only place where we check for this
property is in gtkutil.c.  So the only place where it was implemented,
the feature is broken?

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.  This makes windows jump around
horizontally, which is eminently unusable.  (But this would be more
useful as a global user option than as properties, set to t by default,
to avoid the jumping.)

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

In GNU Emacs 28.0.50 (build 5, x86_64-pc-linux-gnu, GTK+ Version
3.24.24, cairo version 1.16.0)
 of 2021-09-30 built on joffe
Repository revision: ec9e8a9961362cd238879c9e96617ebd2f64af9a
Repository branch: master
Windowing system distributor 'The X.Org Foundation', version 11.0.12011000
System Description: Debian GNU/Linux 11 (bullseye)

Configured using:
 'configure --with-native-compilation'

Configured features:
ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM GSETTINGS HARFBUZZ JPEG
JSON LCMS2 LIBOTF LIBSELINUX LIBSYSTEMD LIBXML2 M17N_FLT MODULES
NATIVE_COMP NOTIFY INOTIFY PDUMPER PNG RSVG SECCOMP SOUND THREADS TIFF
TOOLKIT_SCROLL_BARS X11 XDBE XIM XPM GTK3 ZLIB

Important settings:
  value of $LC_COLLATE: C
  value of $LC_CTYPE: sv_SE.UTF-8
  value of $LC_TIME: C
  value of $LANG: en_US.UTF-8
  locale-coding-system: utf-8-unix





^ permalink raw reply	[flat|nested] 5+ messages in thread

* bug#51049: 28.0.50; tool-bar :vert-only property is broken, not documented and of limited use
  2021-10-05 23:57 bug#51049: 28.0.50; tool-bar :vert-only property is broken, not documented and of limited use Stefan Kangas
@ 2021-10-06 16:32 ` Eli Zaretskii
  2021-10-06 18:10   ` Stefan Kangas
  2022-09-12 10:55 ` Lars Ingebrigtsen
  1 sibling, 1 reply; 5+ messages in thread
From: Eli Zaretskii @ 2021-10-06 16:32 UTC (permalink / raw)
  To: Stefan Kangas; +Cc: 51049

> From: Stefan Kangas <stefan@marxist.se>
> 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.





^ permalink raw reply	[flat|nested] 5+ messages in thread

* bug#51049: 28.0.50; tool-bar :vert-only property is broken, not documented and of limited use
  2021-10-06 16:32 ` Eli Zaretskii
@ 2021-10-06 18:10   ` Stefan Kangas
  2021-10-06 18:27     ` Eli Zaretskii
  0 siblings, 1 reply; 5+ messages in thread
From: Stefan Kangas @ 2021-10-06 18:10 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 51049

Eli Zaretskii <eliz@gnu.org> writes:

> 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).

Right.  If the feature was never documented, it might be the case that
no one is using it, or are not aware of it, and that therefore no one
noticed that it's bitrotted.

>> 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.

I'm just asking the question based on my observations.  I don't see a
use-case for this feature, and if it is indeed broken then the fact that
no one has complained might be some indication.

If you think that this feature could be useful, then I have no objection
to keeping it.  But if it is indeed broken, it should at least be fixed
to work as intended, and then documented; preferably in that order.





^ permalink raw reply	[flat|nested] 5+ messages in thread

* bug#51049: 28.0.50; tool-bar :vert-only property is broken, not documented and of limited use
  2021-10-06 18:10   ` Stefan Kangas
@ 2021-10-06 18:27     ` Eli Zaretskii
  0 siblings, 0 replies; 5+ messages in thread
From: Eli Zaretskii @ 2021-10-06 18:27 UTC (permalink / raw)
  To: Stefan Kangas; +Cc: 51049

> From: Stefan Kangas <stefan@marxist.se>
> Date: Wed, 6 Oct 2021 14:10:52 -0400
> Cc: 51049@debbugs.gnu.org
> 
> > 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.
> 
> I'm just asking the question based on my observations.  I don't see a
> use-case for this feature, and if it is indeed broken then the fact that
> no one has complained might be some indication.
> 
> If you think that this feature could be useful, then I have no objection
> to keeping it.  But if it is indeed broken, it should at least be fixed
> to work as intended, and then documented; preferably in that order.

I suggested to step through the code, in order to understand what
happens there.  Then we will have a better idea of whether it works
and when.  I understand that you don't intend to do that, but perhaps
someone else will.  (I myself don't have access to a system where I
can run a GTK build on GUI display, so I unfortunately cannot do this
myself.)





^ permalink raw reply	[flat|nested] 5+ messages in thread

* bug#51049: 28.0.50; tool-bar :vert-only property is broken, not documented and of limited use
  2021-10-05 23:57 bug#51049: 28.0.50; tool-bar :vert-only property is broken, not documented and of limited use Stefan Kangas
  2021-10-06 16:32 ` Eli Zaretskii
@ 2022-09-12 10:55 ` Lars Ingebrigtsen
  1 sibling, 0 replies; 5+ messages in thread
From: Lars Ingebrigtsen @ 2022-09-12 10:55 UTC (permalink / raw)
  To: Stefan Kangas; +Cc: 51049

[-- Attachment #1: Type: text/plain, Size: 422 bytes --]

Stefan Kangas <stefan@marxist.se> writes:

> 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:

Here's how the default toolbar looks for me:


[-- Attachment #2: Type: image/png, Size: 38752 bytes --]

[-- Attachment #3: Type: text/plain, Size: 49 bytes --]


If I then add :vert-only to "Save" I get this:


[-- Attachment #4: Type: image/png, Size: 34658 bytes --]

[-- Attachment #5: Type: text/plain, Size: 686 bytes --]


So with the current implementation I think it just means "just show the
icon and not icon+text".

> 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.

Yes, I agree -- the intention seems to be to hide the text only when the
toolbar is vertical, but I think most people would rather prefer the
opposite if this is to be tweakable.

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

It seems useful and works, so I think it should be documented -- but the
name :vert-only is really misleading.  It should be :image-only, I
guess?


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2022-09-12 10:55 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-10-05 23:57 bug#51049: 28.0.50; tool-bar :vert-only property is broken, not documented and of limited use Stefan Kangas
2021-10-06 16:32 ` Eli Zaretskii
2021-10-06 18:10   ` Stefan Kangas
2021-10-06 18:27     ` Eli Zaretskii
2022-09-12 10:55 ` Lars Ingebrigtsen

Code repositories for project(s) associated with this public inbox

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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).