unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#57113: 29.0.50; Confusing icon customization interface
       [not found] <87h72kxq18.fsf.ref@yahoo.com>
@ 2022-08-10 12:05 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2022-08-12 15:32   ` Lars Ingebrigtsen
  2023-11-06 11:12   ` Mauro Aranda
  0 siblings, 2 replies; 16+ messages in thread
From: Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2022-08-10 12:05 UTC (permalink / raw)
  To: 57113

Do "M-x customize-icon RET outline-open RET".

You will see the following interface:

INS DEL List:
            Choice: Value Menu Colorful Emojis
            Repeat:
            INS DEL String: 🔽
            INS
            Plist:
            INS
INS DEL List:
            Choice: Value Menu Monochrome Symbols
            Repeat:
            INS DEL String:  ⯆ 
            INS
            Plist:
            INS
INS DEL List:
            Choice: Value Menu Text Only
            Repeat:
            INS DEL String:  close 
            INS
            Plist:
            INS
INS
    State : STANDARD.

How to use this interface is not clear at all.  What does the first
level labeled "repeat" mean?  Why does it have multiple items, when it
is intended to represent a single icon?  What does it mean if I click
"INS"?  And if I click "DEL"?

Ignoring that, the individual items in the list are also badly
organized.  There is a menu of choices that seem to indicate the types
of the items in the value list (why it is a list is also unclear.)

Unfortunately, there is no help text in the menu explaining what the
individual icons mean, or what to do with the text or plist fields field
provided underneath.  The fields also don't update in response to
changes to the type, which doesn't make sense unless selecting "Images"
will automagically transform an Emoji symbol into an image.

The labels on the various fields should also be more informative than
"Repeat", "String" and "Plist"; those only tell you what the fields are,
and not what the fields do.

Thanks.





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

* bug#57113: 29.0.50; Confusing icon customization interface
  2022-08-10 12:05 ` bug#57113: 29.0.50; Confusing icon customization interface Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2022-08-12 15:32   ` Lars Ingebrigtsen
  2022-08-12 17:49     ` Eli Zaretskii
  2022-08-13  1:57     ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2023-11-06 11:12   ` Mauro Aranda
  1 sibling, 2 replies; 16+ messages in thread
From: Lars Ingebrigtsen @ 2022-08-12 15:32 UTC (permalink / raw)
  To: Po Lu; +Cc: 57113

Po Lu <luangruo@yahoo.com> writes:

> The labels on the various fields should also be more informative than
> "Repeat", "String" and "Plist"; those only tell you what the fields are,
> and not what the fields do.

If your point is that Customize sucks for complex structures, you're
totally correct.  A Customize/Widget rewrite to make these things look
better would be nice.






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

* bug#57113: 29.0.50; Confusing icon customization interface
  2022-08-12 15:32   ` Lars Ingebrigtsen
@ 2022-08-12 17:49     ` Eli Zaretskii
  2022-08-13  1:57     ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
  1 sibling, 0 replies; 16+ messages in thread
From: Eli Zaretskii @ 2022-08-12 17:49 UTC (permalink / raw)
  To: Lars Ingebrigtsen; +Cc: luangruo, 57113

> Cc: 57113@debbugs.gnu.org
> From: Lars Ingebrigtsen <larsi@gnus.org>
> Date: Fri, 12 Aug 2022 17:32:43 +0200
> 
> Po Lu <luangruo@yahoo.com> writes:
> 
> > The labels on the various fields should also be more informative than
> > "Repeat", "String" and "Plist"; those only tell you what the fields are,
> > and not what the fields do.
> 
> If your point is that Customize sucks for complex structures, you're
> totally correct.

I think we shouldn't offer complex structures as values of user
options to begin with.  It makes no sense to me to require users to
understand such structures to be able to customize the respective
features.  I think the user options we have whose values are such
complex structures are simply cases of lazy thinking: it is much
easier for a Lisp programmer to make a defcustom that accepts such
complex values than to try to factor them into several simpler ones.

We should flatly reject such user options when they are introduced.





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

* bug#57113: 29.0.50; Confusing icon customization interface
  2022-08-12 15:32   ` Lars Ingebrigtsen
  2022-08-12 17:49     ` Eli Zaretskii
@ 2022-08-13  1:57     ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2022-08-13 12:01       ` Lars Ingebrigtsen
  1 sibling, 1 reply; 16+ messages in thread
From: Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2022-08-13  1:57 UTC (permalink / raw)
  To: Lars Ingebrigtsen; +Cc: 57113

Lars Ingebrigtsen <larsi@gnus.org> writes:

> If your point is that Customize sucks for complex structures, you're
> totally correct.  A Customize/Widget rewrite to make these things look
> better would be nice.

My point is that customize-icon should be more like customize-face,
because so far I have no idea how to use it to change the arrow Emoji
into a PBM, and the manual does not help either.

See customize-face for something that does work.





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

* bug#57113: 29.0.50; Confusing icon customization interface
  2022-08-13  1:57     ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2022-08-13 12:01       ` Lars Ingebrigtsen
  2022-08-13 12:14         ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 1 reply; 16+ messages in thread
From: Lars Ingebrigtsen @ 2022-08-13 12:01 UTC (permalink / raw)
  To: Po Lu; +Cc: 57113

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

Po Lu <luangruo@yahoo.com> writes:

> My point is that customize-icon should be more like customize-face,
> because so far I have no idea how to use it to change the arrow Emoji
> into a PBM, and the manual does not help either.
>
> See customize-face for something that does work.

Yeah, any user understands this gorgeous interface immediately:


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

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




Anyway, icons are more complicated than faces.


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

* bug#57113: 29.0.50; Confusing icon customization interface
  2022-08-13 12:01       ` Lars Ingebrigtsen
@ 2022-08-13 12:14         ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2022-08-13 12:23           ` Lars Ingebrigtsen
  0 siblings, 1 reply; 16+ messages in thread
From: Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2022-08-13 12:14 UTC (permalink / raw)
  To: Lars Ingebrigtsen; +Cc: 57113

Lars Ingebrigtsen <larsi@gnus.org> writes:

> Po Lu <luangruo@yahoo.com> writes:
>
>> My point is that customize-icon should be more like customize-face,
>> because so far I have no idea how to use it to change the arrow Emoji
>> into a PBM, and the manual does not help either.
>>
>> See customize-face for something that does work.
>
> Yeah, any user understands this gorgeous interface immediately:

I know that's supposed to be sarcasm, but yes, what it does is
immediately obvious, "Box around text", "Width", "Vertical", "Color",
"Foreground", "Background" and "Inherit" tell you much more than
"Plist", "Repeat" and "Choice".

> Anyway, icons are more complicated than faces.

Why? If they really are that complicated, they should be made simpler.





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

* bug#57113: 29.0.50; Confusing icon customization interface
  2022-08-13 12:14         ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2022-08-13 12:23           ` Lars Ingebrigtsen
  2022-08-13 12:30             ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 1 reply; 16+ messages in thread
From: Lars Ingebrigtsen @ 2022-08-13 12:23 UTC (permalink / raw)
  To: Po Lu; +Cc: 57113

Po Lu <luangruo@yahoo.com> writes:

> Why? If they really are that complicated, they should be made simpler.

Some things are complicated.






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

* bug#57113: 29.0.50; Confusing icon customization interface
  2022-08-13 12:23           ` Lars Ingebrigtsen
@ 2022-08-13 12:30             ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2022-08-13 12:35               ` Lars Ingebrigtsen
  0 siblings, 1 reply; 16+ messages in thread
From: Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2022-08-13 12:30 UTC (permalink / raw)
  To: Lars Ingebrigtsen; +Cc: 57113

Lars Ingebrigtsen <larsi@gnus.org> writes:

> Po Lu <luangruo@yahoo.com> writes:
>
>> Why? If they really are that complicated, they should be made simpler.
>
> Some things are complicated.

How are they complicated, and why can't they be made simpler? I've never
seen another system where icons have to be so complicated that there is
no straightforward way for a user to make the icons images.





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

* bug#57113: 29.0.50; Confusing icon customization interface
  2022-08-13 12:30             ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2022-08-13 12:35               ` Lars Ingebrigtsen
  2022-08-13 12:48                 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 1 reply; 16+ messages in thread
From: Lars Ingebrigtsen @ 2022-08-13 12:35 UTC (permalink / raw)
  To: Po Lu; +Cc: 57113

Po Lu <luangruo@yahoo.com> writes:

> How are they complicated, and why can't they be made simpler?

See icons.el.

> I've never seen another system where icons have to be so complicated
> that there is no straightforward way for a user to make the icons
> images.

You've probably never seen another system that had just introduced a new
language level mechanism for icons a couple weeks earlier, either?

Like I said, fixing Customize to be less awful would be very welcome.
Please go ahead.






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

* bug#57113: 29.0.50; Confusing icon customization interface
  2022-08-13 12:35               ` Lars Ingebrigtsen
@ 2022-08-13 12:48                 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2022-08-15  5:45                   ` Lars Ingebrigtsen
  0 siblings, 1 reply; 16+ messages in thread
From: Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2022-08-13 12:48 UTC (permalink / raw)
  To: Lars Ingebrigtsen; +Cc: 57113

Lars Ingebrigtsen <larsi@gnus.org> writes:

> See icons.el.

That doesn't help, since I want to change an existing icon, not
introduce a new one.

> You've probably never seen another system that had just introduced a new
> language level mechanism for icons a couple weeks earlier, either?

Language-level mechanism?

> Like I said, fixing Customize to be less awful would be very welcome.

It's not a problem with Customize.  Customize is for customizing faces
and variables.  `customize-icon' is something new, so the problem is
there.

> Please go ahead.

I'm afraid I don't understand how icons.el is supposed to work, and it
seems overcomplicated.

How about replacing it with something straightforward, such as a single
function insert-icon, which inserts the appropriate icon according to a
list of image specs?  Then, the first image in the list that can be
displayed is inserted into the buffer.

Fallback text can also be supplied as the last element of the list, and
is displayed on terminals that do not support images.





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

* bug#57113: 29.0.50; Confusing icon customization interface
  2022-08-13 12:48                 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2022-08-15  5:45                   ` Lars Ingebrigtsen
  2022-08-15  6:51                     ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 1 reply; 16+ messages in thread
From: Lars Ingebrigtsen @ 2022-08-15  5:45 UTC (permalink / raw)
  To: Po Lu; +Cc: 57113

Po Lu <luangruo@yahoo.com> writes:

> I'm afraid I don't understand how icons.el is supposed to work, and it
> seems overcomplicated.

It's as simple as it can be.






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

* bug#57113: 29.0.50; Confusing icon customization interface
  2022-08-15  5:45                   ` Lars Ingebrigtsen
@ 2022-08-15  6:51                     ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2022-08-15  6:53                       ` Lars Ingebrigtsen
  0 siblings, 1 reply; 16+ messages in thread
From: Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2022-08-15  6:51 UTC (permalink / raw)
  To: Lars Ingebrigtsen; +Cc: 57113

Lars Ingebrigtsen <larsi@gnus.org> writes:

> It's as simple as it can be.

Why? You never answered that.

"As simple as it can be" would be a single string giving the file name
of an image.





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

* bug#57113: 29.0.50; Confusing icon customization interface
  2022-08-15  6:51                     ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2022-08-15  6:53                       ` Lars Ingebrigtsen
  2022-08-15  7:31                         ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 1 reply; 16+ messages in thread
From: Lars Ingebrigtsen @ 2022-08-15  6:53 UTC (permalink / raw)
  To: Po Lu; +Cc: 57113

Po Lu <luangruo@yahoo.com> writes:

> Why? You never answered that.

If you read the manual, it should answer your questions.







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

* bug#57113: 29.0.50; Confusing icon customization interface
  2022-08-15  6:53                       ` Lars Ingebrigtsen
@ 2022-08-15  7:31                         ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 0 replies; 16+ messages in thread
From: Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2022-08-15  7:31 UTC (permalink / raw)
  To: Lars Ingebrigtsen; +Cc: 57113

Lars Ingebrigtsen <larsi@gnus.org> writes:

> If you read the manual, it should answer your questions.

There is nothing in the manual about customizing icons, except for a
brief mention of `customize-icon'.  Hence this bug report.





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

* bug#57113: 29.0.50; Confusing icon customization interface
  2022-08-10 12:05 ` bug#57113: 29.0.50; Confusing icon customization interface Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2022-08-12 15:32   ` Lars Ingebrigtsen
@ 2023-11-06 11:12   ` Mauro Aranda
  2023-11-06 13:00     ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
  1 sibling, 1 reply; 16+ messages in thread
From: Mauro Aranda @ 2023-11-06 11:12 UTC (permalink / raw)
  To: Po Lu, 57113

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

Po Lu <luangruo@yahoo.com> writes:

 > Do "M-x customize-icon RET outline-open RET".
 >
 > You will see the following interface:
 >
 > INS DEL List:
 >             Choice: Value Menu Colorful Emojis
 >             Repeat:
 >             INS DEL String: 🔽
 >             INS
 >             Plist:
 >             INS
 > INS DEL List:
 >             Choice: Value Menu Monochrome Symbols
 >             Repeat:
 >             INS DEL String:  ⯆
 >             INS
 >             Plist:
 >             INS
 > INS DEL List:
 >             Choice: Value Menu Text Only
 >             Repeat:
 >             INS DEL String:  close
 >             INS
 >             Plist:
 >             INS
 > INS
 >     State : STANDARD.
 >
 > How to use this interface is not clear at all.  What does the first
 > level labeled "repeat" mean?  Why does it have multiple items, when it
 > is intended to represent a single icon?  What does it mean if I click
 > "INS"?  And if I click "DEL"?
 >
 > Ignoring that, the individual items in the list are also badly
 > organized.  There is a menu of choices that seem to indicate the types
 > of the items in the value list (why it is a list is also unclear.)
 >
 > Unfortunately, there is no help text in the menu explaining what the
 > individual icons mean, or what to do with the text or plist fields field
 > provided underneath.  The fields also don't update in response to
 > changes to the type, which doesn't make sense unless selecting "Images"
 > will automagically transform an Emoji symbol into an image.
 >
 > The labels on the various fields should also be more informative than
 > "Repeat", "String" and "Plist"; those only tell you what the fields are,
 > and not what the fields do.

I tried to improve the tags for the custom-icon widget.  See the
attached patch.

I'm willing to work on this, so any feedback is appreaciated. Thanks.

[-- Attachment #2: 0001-Improve-tags-in-custom-icon-widget.patch --]
[-- Type: text/x-patch, Size: 1921 bytes --]

From 168bb6380938b7e28116fdf3ec7429751b30484d Mon Sep 17 00:00:00 2001
From: Mauro Aranda <maurooaranda@gmail.com>
Date: Mon, 6 Nov 2023 08:04:41 -0300
Subject: [PATCH] Improve tags in custom-icon widget

* lisp/cus-edit.el (custom-icon-value-create): Give more informative
tags.  (Bug#57113)
---
 lisp/cus-edit.el | 16 +++++++++++++---
 1 file changed, 13 insertions(+), 3 deletions(-)

diff --git a/lisp/cus-edit.el b/lisp/cus-edit.el
index 4b8de6b9468..bebb2f6f681 100644
--- a/lisp/cus-edit.el
+++ b/lisp/cus-edit.el
@@ -5477,12 +5477,22 @@ custom-icon-value-create
 	 (symbol (widget-get widget :value))
 	 (tag (widget-get widget :tag))
 	 (type '(repeat
-                 (list (choice (const :tag "Images" image)
+                 :tag "Specifications by type"
+                 (list :tag "Single specification"
+                       (choice :tag "Type"
+                               (const :tag "Images" image)
                                (const :tag "Colorful Emojis" emoji)
                                (const :tag "Monochrome Symbols" symbol)
                                (const :tag "Text Only" text))
-                       (repeat string)
-                       plist)))
+                       (repeat :tag "Alternatives"
+                               (string :tag "File or text"))
+                       (plist :tag "Extra properties"
+                              :key-type (choice
+                                         (const :tag "Face" :face)
+                                         (const :tag "Height" :height)
+                                         (const :tag "Width" :width)
+                                         (const :tag "Rotation" :rotation)
+                                         (symbol :tag "Key"))))))
 	 (prefix (widget-get widget :custom-prefix))
 	 (last (widget-get widget :custom-last))
 	 (style (widget-get widget :custom-style))
-- 
2.34.1


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

* bug#57113: 29.0.50; Confusing icon customization interface
  2023-11-06 11:12   ` Mauro Aranda
@ 2023-11-06 13:00     ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 0 replies; 16+ messages in thread
From: Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2023-11-06 13:00 UTC (permalink / raw)
  To: Mauro Aranda; +Cc: 57113

Mauro Aranda <maurooaranda@gmail.com> writes:

> I tried to improve the tags for the custom-icon widget.  See the
> attached patch.
>
> I'm willing to work on this, so any feedback is appreaciated. Thanks.

Thanks.  I cannot devote any time to this problem, so please feel at
liberty to abound in your own sense.

I think that a handful of adjustments to the widget's layout won't
address the issues I raised, since they are intrinsic to the "array of
buttons and text fields" paradigm which most Customize widgets follow.

This paradigm befits customizing user options, which must frequently be
represented by individual widgets controlling nested data structures;
with icons, which are merely small symbols representing a capacity or
event, there is no analogous justification for such undue complexity.

The raison d'etre for Easy Customization is to provide an abstract and
unambiguous interface for the user to customize Emacs to his heart's
content--in the case of icons, it should provide a mechanism for
replacing the symbol displayed in one or two clicks and nothing beyond
that.





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

end of thread, other threads:[~2023-11-06 13:00 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <87h72kxq18.fsf.ref@yahoo.com>
2022-08-10 12:05 ` bug#57113: 29.0.50; Confusing icon customization interface Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-08-12 15:32   ` Lars Ingebrigtsen
2022-08-12 17:49     ` Eli Zaretskii
2022-08-13  1:57     ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-08-13 12:01       ` Lars Ingebrigtsen
2022-08-13 12:14         ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-08-13 12:23           ` Lars Ingebrigtsen
2022-08-13 12:30             ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-08-13 12:35               ` Lars Ingebrigtsen
2022-08-13 12:48                 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-08-15  5:45                   ` Lars Ingebrigtsen
2022-08-15  6:51                     ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-08-15  6:53                       ` Lars Ingebrigtsen
2022-08-15  7:31                         ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-11-06 11:12   ` Mauro Aranda
2023-11-06 13:00     ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors

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