From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: David Ponce via "Bug reports for GNU Emacs, the Swiss army knife of text editors" Newsgroups: gmane.emacs.bugs Subject: bug#73178: 31.0.50; [PATCH] Improve the widget to customize icon Date: Wed, 11 Sep 2024 16:28:24 +0200 Message-ID: <4cd4a62c-6642-49a3-8b2c-5eda13ac79af@orange.fr> Reply-To: David Ponce Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------VpcLuYVgaJwoscLCCTCeyusE" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="26884"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Mozilla Thunderbird To: 73178@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Wed Sep 11 16:30:20 2024 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1soOMN-0006mL-Vm for geb-bug-gnu-emacs@m.gmane-mx.org; Wed, 11 Sep 2024 16:30:20 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1soOLI-0005Je-Hp; Wed, 11 Sep 2024 10:29:14 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1soOL2-0004yQ-HN for bug-gnu-emacs@gnu.org; Wed, 11 Sep 2024 10:28:57 -0400 Original-Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1soOL2-0003gK-6z for bug-gnu-emacs@gnu.org; Wed, 11 Sep 2024 10:28:56 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=debbugs.gnu.org; s=debbugs-gnu-org; h=From:MIME-Version:Date:To:Subject; bh=F8tDx2Kmc0qFfqaoqg1RhBmR0qWtJD+JfZ9HcevW2Es=; b=J089ebVLq/GEfDKmsmfIuENdxTIeoPrNrvZvADLngxHl047A9qhebKQOjRON/y6EBVNlCFPKhbGrE8/dxkDQb6O6NG2r8JBuqQGtu7e30QOdfuELV2Ks/OitwxLXB76dlZL5mmY28mrIuwBg2QqlknOKs5/U8dy5JX/sC1Ya5d7jFgcVPE6NXX/QyMNeOb+HVvgVtsrW8GToE8IO4eLHvU/a5m6XtaHKS2uj3PP0yQnFdipew/7k9Qe4fJAFfZpUAAtu9N8wKSa+0YRGA5ZcljoBcWZ1PRVvXPElcJo1zOWJC98sw4HhYb79ky4XU1JH8HrTi+yTGlRMlnRouGU6GA==; Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1soOL8-0005TB-IZ for bug-gnu-emacs@gnu.org; Wed, 11 Sep 2024 10:29:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: David Ponce Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 11 Sep 2024 14:29:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 73178 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Original-Received: via spool by submit@debbugs.gnu.org id=B.172606493321006 (code B ref -1); Wed, 11 Sep 2024 14:29:02 +0000 Original-Received: (at submit) by debbugs.gnu.org; 11 Sep 2024 14:28:53 +0000 Original-Received: from localhost ([127.0.0.1]:39319 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1soOKz-0005Sj-5U for submit@debbugs.gnu.org; Wed, 11 Sep 2024 10:28:53 -0400 Original-Received: from lists.gnu.org ([209.51.188.17]:48280) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1soOKv-0005SY-RA for submit@debbugs.gnu.org; Wed, 11 Sep 2024 10:28:51 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1soOKi-0003d0-E4 for bug-gnu-emacs@gnu.org; Wed, 11 Sep 2024 10:28:43 -0400 Original-Received: from smtp-15.smtpout.orange.fr ([80.12.242.15] helo=smtp.smtpout.orange.fr) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1soOKf-0003Yl-CV for bug-gnu-emacs@gnu.org; Wed, 11 Sep 2024 10:28:36 -0400 Original-Received: from [192.168.1.21] ([2.7.225.247]) by smtp.orange.fr with ESMTPA id oOKWsyzIseJiWoOKWsxi1n; Wed, 11 Sep 2024 16:28:25 +0200 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=orange.fr; s=t20230301; t=1726064905; bh=F8tDx2Kmc0qFfqaoqg1RhBmR0qWtJD+JfZ9HcevW2Es=; h=Message-ID:Date:MIME-Version:To:From:Subject; b=q0uB4IIu36E1Rhrqgn1IEGTCHwlLXIpPDNiGL5e2OJsKN7xTwlZSGsKQaM1xaft52 Mj22l0c9iMIVYCPwJEr1ZTTJArXbppW8VKSkl8q/stdgmfRjyRIsoLe9vWrG9bxYOf QBVL2GYYzVSkonp2D76bqogq+Muq9Xt82ozK5xmy3uwtZi2QXa8Cfsn5uolRSHqkYG iAUKMxweywuIUqNk1C8UMLb1GfnFdLdWoV6k9AFTfyZaFymFzOqM1w8SjshZCuKPpE Z8gkV3mxkDB082UhUwOU8BYaEEnNXrKvrGdrDy6koygPeb5lpSM7HJHQVNkixch/sH eGl5M67HrKBeA== X-ME-Helo: [192.168.1.21] X-ME-Auth: ZGFfdmlkQHdhbmFkb28uZnI= X-ME-Date: Wed, 11 Sep 2024 16:28:25 +0200 X-ME-IP: 2.7.225.247 Content-Language: fr, en-US Received-SPF: pass client-ip=80.12.242.15; envelope-from=da_vid@orange.fr; helo=smtp.smtpout.orange.fr X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.bugs:291604 Archived-At: This is a multi-part message in MIME format. --------------VpcLuYVgaJwoscLCCTCeyusE Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Hello, Whenever I try to use Emacs' built-in icons, I have some difficulty understanding the user interface for customizing an icon. For example, regardless of the type of icon element, all the fields have similar labels, which makes the interface difficult to understand and use. For instance, for Images, it is not clear that the String field is intended to enter the image file name: Choice: Value Menu [Images|Colorful Emojis|Monochrome Symbols|Text only] Repeat: INS DEL String: INS Plist: INS DEL : Key: Value: INS Also, nothing guides you regarding usage of this complex widget. I propose the attached patch that improves the widget used to customize an icon. Possible ChangeLog: 2024-09-11 David Ponce Improve usability of the widget used to customize icon. * lisp/cus-edit.el (custom-icon--images-sub-type) (custom-icon--emojis-sub-type, custom-icon--symbols-sub-type) (custom-icon--texts-sub-type): New constant. (custom-icon--type): New constant. (custom-icon-value-create): Use it. With this patch, a quick help summarizes usage, and the different fields are named according to the kind of icon element. Here is a view of the new UI when customizing the default `button' icon: --------------------------------------------------------------- Hide Button: Icon elements: - Only the first occurrence of a same element counts. - Missing elements will take their default value.: - At least one element should be provided with a valid value. INS DEL Choice: Value Menu Images: Values: INS DEL Image filename: INS Image attributes: INS DEL : Key: :face Value: icon-button INS INS DEL Choice: Value Menu Colorful Emojis: Values: INS DEL Emoji text: 🔵 INS Emoji text properties: INS DEL : Key: :face Value: icon INS INS DEL Choice: Value Menu Monochrome Symbols: Values: INS DEL Symbol text: ● INS Symbol text properties: INS DEL : Key: :face Value: icon-button INS INS DEL Choice: Value Menu Texts Only: Values: INS DEL Text: button INS Text properties: INS DEL : Key: :face Value: icon-button INS INS --------------------------------------------------------------- WDYT? Thanks! In GNU Emacs 31.0.50 (build 3, x86_64-pc-linux-gnu, GTK+ Version 3.24.43, cairo version 1.18.0) of 2024-09-11 Repository revision: 69e1aca041c57ba425425d31471e1c8f86d3bf04 Repository branch: master Windowing system distributor 'The X.Org Foundation', version 11.0.12014000 System Description: Fedora Linux 40 (KDE Plasma) Configured using: 'configure --with-x-toolkit=gtk3 --with-cairo-xcb --with-native-compilation=no PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:/usr/lib/pkgconfig' Configured features: ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM GSETTINGS HARFBUZZ JPEG LCMS2 LIBOTF LIBSELINUX LIBSYSTEMD LIBXML2 M17N_FLT MODULES NOTIFY INOTIFY PDUMPER PNG RSVG SECCOMP SOUND SQLITE3 THREADS TIFF TOOLKIT_SCROLL_BARS TREE_SITTER WEBP X11 XDBE XIM XINPUT2 XPM GTK3 ZLIB Important settings: value of $LC_TIME: fr_FR.utf8 value of $LANG: fr_FR.UTF-8 locale-coding-system: utf-8-unix --------------VpcLuYVgaJwoscLCCTCeyusE Content-Type: text/x-patch; charset=UTF-8; name="improve-widget-to-customize-icon-V0.patch" Content-Disposition: attachment; filename="improve-widget-to-customize-icon-V0.patch" Content-Transfer-Encoding: base64 ZGlmZiAtLWdpdCBhL2xpc3AvY3VzLWVkaXQuZWwgYi9saXNwL2N1cy1lZGl0LmVsCmluZGV4 IDNhYjVmMTE1MzJlLi5mZDc5MGIxODYzMCAxMDA2NDQKLS0tIGEvbGlzcC9jdXMtZWRpdC5l bAorKysgYi9saXNwL2N1cy1lZGl0LmVsCkBAIC01NTI1LDYgKzU1MjUsNTMgQEAgY3VzdG9t LWljb24tZXh0ZW5kZWQtbWVudQogICAiQSBtZW51IGZvciBgY3VzdG9tLWljb24nIHdpZGdl dHMuCiBVc2VkIGluIGBjdXN0b20taWNvbi1hY3Rpb24nIHRvIHNob3cgYSBtZW51IHRvIHRo ZSB1c2VyLiIpCiAKKyhkZWZjb25zdCBjdXN0b20taWNvbi0taW1hZ2VzLXN1Yi10eXBlCisg ICcobGlzdCA6Zm9ybWF0ICIleyV0JX06XG4ldlxuIgorICAgICAgICAgOnRhZyAiSW1hZ2Vz IgorICAgICAgICAgKGNvbnN0ICA6dGFnICIiIGltYWdlKQorICAgICAgICAgKHJlcGVhdCA6 dGFnICJWYWx1ZXMiCisgICAgICAgICAgICAgICAgIChzdHJpbmcgOnRhZyAiSW1hZ2UgZmls ZW5hbWUiKSkKKyAgICAgICAgIChwbGlzdCAgOnRhZyAiSW1hZ2UgYXR0cmlidXRlcyIpKSkK KworKGRlZmNvbnN0IGN1c3RvbS1pY29uLS1lbW9qaXMtc3ViLXR5cGUKKyAgJyhsaXN0IDpm b3JtYXQgIiV7JXQlfTpcbiV2XG4iCisgICAgICAgICA6dGFnICJDb2xvcmZ1bCBFbW9qaXMi CisgICAgICAgICAoY29uc3QgIDp0YWcgIiIgZW1vamkpCisgICAgICAgICAocmVwZWF0IDp0 YWcgIlZhbHVlcyIKKyAgICAgICAgICAgICAgICAgKHN0cmluZyA6dGFnICJFbW9qaSB0ZXh0 IikpCisgICAgICAgICAocGxpc3QgIDp0YWcgIkVtb2ppIHRleHQgcHJvcGVydGllcyIpKSkK KworKGRlZmNvbnN0IGN1c3RvbS1pY29uLS1zeW1ib2xzLXN1Yi10eXBlCisgICcobGlzdCA6 Zm9ybWF0ICIleyV0JX06XG4ldlxuIgorICAgICAgICAgOnRhZyAiTW9ub2Nocm9tZSBTeW1i b2xzIgorICAgICAgICAgKGNvbnN0ICA6dGFnICIiIHN5bWJvbCkKKyAgICAgICAgIChyZXBl YXQgOnRhZyAiVmFsdWVzIgorICAgICAgICAgICAgICAgICAoc3RyaW5nIDp0YWcgIlN5bWJv bCB0ZXh0IikpCisgICAgICAgICAocGxpc3QgIDp0YWcgIlN5bWJvbCB0ZXh0IHByb3BlcnRp ZXMiKSkpCisKKyhkZWZjb25zdCBjdXN0b20taWNvbi0tdGV4dHMtc3ViLXR5cGUKKyAgJyhs aXN0IDpmb3JtYXQgIiV7JXQlfTpcbiV2XG4iCisgICAgICAgICA6dGFnICJUZXh0cyBPbmx5 IgorICAgICAgICAgKGNvbnN0ICA6dGFnICIiIHRleHQpCisgICAgICAgICAocmVwZWF0IDp0 YWcgIlZhbHVlcyIKKyAgICAgICAgICAgICAgICAgKHN0cmluZyA6dGFnICJUZXh0IikpCisg ICAgICAgICAocGxpc3QgIDp0YWcgIlRleHQgcHJvcGVydGllcyIpKSkKKworKGRlZmNvbnN0 IGN1c3RvbS1pY29uLS10eXBlCisgIGAocmVwZWF0IDpmb3JtYXQgLChjb25jYXQgIiV7JXQl fSIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAocHJvcGVydGl6ZSAiOiIgJ2Rpc3Bs YXkgIiIpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlxuXG4ldiVpXG4iKQorICAg ICAgICAgICA6dGFnICJJY29uIGVsZW1lbnRzOgorLSBPbmx5IHRoZSBmaXJzdCBvY2N1cnJl bmNlIG9mIGEgc2FtZSBlbGVtZW50IGNvdW50cy4KKy0gTWlzc2luZyBlbGVtZW50cyB3aWxs IHRha2UgdGhlaXIgZGVmYXVsdCB2YWx1ZS4KKy0gQXQgbGVhc3Qgb25lIGVsZW1lbnQgc2hv dWxkIGJlIHByb3ZpZGVkIHdpdGggYSB2YWxpZCB2YWx1ZS4iCisgICAgKGNob2ljZSA6dm9p ZCAsY3VzdG9tLWljb24tLXRleHRzLXdpZGdldAorICAgICAgICAgICAgOmV4dHJhLW9mZnNl dCAtMworICAgICAgICAgICAgLGN1c3RvbS1pY29uLS1pbWFnZXMtc3ViLXR5cGUKKyAgICAg ICAgICAgICxjdXN0b20taWNvbi0tZW1vamlzLXN1Yi10eXBlCisgICAgICAgICAgICAsY3Vz dG9tLWljb24tLXN5bWJvbHMtc3ViLXR5cGUKKyAgICAgICAgICAgICxjdXN0b20taWNvbi0t dGV4dHMtc3ViLXR5cGUpKSkKKwogKGRlZnVuIGN1c3RvbS1pY29uLXZhbHVlLWNyZWF0ZSAo d2lkZ2V0KQogICAiSGVyZSBpcyB3aGVyZSB5b3UgZWRpdCB0aGUgaWNvbidzIHNwZWNpZmlj YXRpb24uIgogICAoY3VzdG9tLWxvYWQtd2lkZ2V0IHdpZGdldCkKQEAgLTU1MzUsMTMgKzU1 ODIsNyBAQCBjdXN0b20taWNvbi12YWx1ZS1jcmVhdGUKIAkgKGZvcm0gKHdpZGdldC1nZXQg d2lkZ2V0IDpjdXN0b20tZm9ybSkpCiAJIChzeW1ib2wgKHdpZGdldC1nZXQgd2lkZ2V0IDp2 YWx1ZSkpCiAJICh0YWcgKHdpZGdldC1nZXQgd2lkZ2V0IDp0YWcpKQotCSAodHlwZSAnKHJl cGVhdAotICAgICAgICAgICAgICAgICAobGlzdCAoY2hvaWNlIChjb25zdCA6dGFnICJJbWFn ZXMiIGltYWdlKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjb25zdCA6dGFn ICJDb2xvcmZ1bCBFbW9qaXMiIGVtb2ppKQotICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIChjb25zdCA6dGFnICJNb25vY2hyb21lIFN5bWJvbHMiIHN5bWJvbCkKLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAoY29uc3QgOnRhZyAiVGV4dCBPbmx5IiB0ZXh0KSkK LSAgICAgICAgICAgICAgICAgICAgICAgKHJlcGVhdCBzdHJpbmcpCi0gICAgICAgICAgICAg ICAgICAgICAgIHBsaXN0KSkpCisJICh0eXBlIGN1c3RvbS1pY29uLS13aWRnZXQpCiAJIChw cmVmaXggKHdpZGdldC1nZXQgd2lkZ2V0IDpjdXN0b20tcHJlZml4KSkKIAkgKGxhc3QgKHdp ZGdldC1nZXQgd2lkZ2V0IDpjdXN0b20tbGFzdCkpCiAJIChzdHlsZSAod2lkZ2V0LWdldCB3 aWRnZXQgOmN1c3RvbS1zdHlsZSkpCg== --------------VpcLuYVgaJwoscLCCTCeyusE--