From debbugs-submit-bounces@debbugs.gnu.org Thu Apr 10 13:55:36 2025 Received: (at submit) by debbugs.gnu.org; 10 Apr 2025 17:55:36 +0000 Received: from localhost ([127.0.0.1]:46808 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1u2w7j-0003Lx-WC for submit@debbugs.gnu.org; Thu, 10 Apr 2025 13:55:36 -0400 Received: from lists.gnu.org ([2001:470:142::17]:60848) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1u2w7h-0003Lf-En for submit@debbugs.gnu.org; Thu, 10 Apr 2025 13:55:33 -0400 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 1u2w7a-00014v-LS for bug-gnu-emacs@gnu.org; Thu, 10 Apr 2025 13:55:26 -0400 Received: from mail-oo1-xc44.google.com ([2607:f8b0:4864:20::c44]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1u2w7Y-00008c-Q0 for bug-gnu-emacs@gnu.org; Thu, 10 Apr 2025 13:55:26 -0400 Received: by mail-oo1-xc44.google.com with SMTP id 006d021491bc7-60288fd4169so523044eaf.3 for ; Thu, 10 Apr 2025 10:55:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1744307722; x=1744912522; darn=gnu.org; h=mime-version:message-id:date:subject:to:from:from:to:cc:subject :date:message-id:reply-to; bh=g83HDNl4/wbmGSmRoth5v5kokn5/UmXj3heTyB5cuOE=; b=nmIuvi0PObZXoI3QHPl1tElyMHKv8WSe+yg2WBIN3fNkLPzXok5C/T9Ov83DYw9zdt APayBMuJdhqMeRg+wmoJYC/w147iuLyAPkBcnMivXWtxcLMV1mi33d5J6uBZplc3Vhee 18yTkqzfIcfQ1rNPexE3gWKqTMk0JwJN3SfmbF5NghDM0NXiEdsrGUPeKu5vZtM+Dnoh UTnO3lNItcw42B6RjYzIOoExqlXmH5oJEEKT01uNcVF3VOV+mssreItv+rvjo4cq2srd DlqJ436c0Qq49hIAazWZK4mCkwOChSw224GpoLr5wvWo7WLlnKVuXx0r+XRyjb0jsego SI9A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744307722; x=1744912522; h=mime-version:message-id:date:subject:to:from:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=g83HDNl4/wbmGSmRoth5v5kokn5/UmXj3heTyB5cuOE=; b=abnlnAUkEvIEdHo2rgWZypMX2+lwwZXHUZ177I27UadPCjzRSWgcrVDWW3HFnFqYHX xj70c3hvY7Qu87UU+ZBsGCVBm6h5bOwx6/0PbXiI7DkxDExwzGjhpbhAtqCv+KJ/1X21 eziIZelpjS3bE365UEkzT/nzr0abyEbgQVgyQfST9foUoXGLKHnvP9zmkfIBODtxLlJ+ ETFaz6oJoWCQ1fnRkwoYO2YWM4tCwmaGaVjxHvkOqCK0u82UvF8ueHr4OUZmL9GHHDFN 6sLQH5w2SjxaBF5obafDHnJ0InWHkSfhsV/1EBWW0G9dvdh5OXCAM/7IRBQbQ08g5m26 2scg== X-Gm-Message-State: AOJu0YwN0F4Oei5ZXLNqFKHlk9wKhRnAGILLjDo7H8Vd4KM9SW8WWT7X HZvxzEAhsJnNqvLYWY64ThpRJvNqDoPcuk+2UypHppOzvLpn9BKtq55iA1Ya X-Gm-Gg: ASbGncuB5U8TYvq+uvJnvg7VjnQCMAq8fxxsHZUGwHKkalkvifdeTJwt2UD39yHrz+b hkW39Sd/Xc4XD9oNMnWWv5rwpzd4360IeF0yVbEUTMEUT0fu21IckydY3fWTCpXDRiKI9LrYR64 pb8IHt2RAglgGZIDjVU8DmT7HZI1Dfz8qMwWu55pi5uubbtyD8dRZqWPgxxF9wFrfs+uFdAcPoD i92ihmFyiimIlPJUUtGfPavywrOasxzFwhB6JEnYqegQIxEIOzePaV+8M5GlxysqFvnKQgoBxJi biwHovBU X-Google-Smtp-Source: AGHT+IHKF9Wfe4fQL7hRkXXUB7g09ymsB7vafIjBU26QlZ+ukPpDzfM2U051BypU+EahdgX7+GyyHA== X-Received: by 2002:a05:6870:4710:b0:2bc:6675:2043 with SMTP id 586e51a60fabf-2d0b3647751mr2436206fac.14.1744307722519; Thu, 10 Apr 2025 10:55:22 -0700 (PDT) Received: from fedora ([2806:10ae:e:79da::1]) by smtp.gmail.com with ESMTPSA id 586e51a60fabf-2d096cdadd3sm756668fac.32.2025.04.10.10.55.21 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 10 Apr 2025 10:55:22 -0700 (PDT) From: =?utf-8?Q?Elijah_Gabe_P=C3=A9rez?= To: bug-gnu-emacs@gnu.org Subject: [PATCH] Add ring-bell functions for mode line and header line. X-Debbugs-Cc: Date: Thu, 10 Apr 2025 11:55:20 -0600 Message-ID: <87r01zlx4n.fsf@gmail.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" Received-SPF: pass client-ip=2607:f8b0:4864:20::c44; envelope-from=eg642616@gmail.com; helo=mail-oo1-xc44.google.com X-Spam_score_int: -17 X-Spam_score: -1.8 X-Spam_bar: - X-Spam_report: (-1.8 / 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_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: 1.2 (+) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: Tags: patch This feature flashes the current mode-line face (mode-line-active) once, this is intended to be used in `ring-bell-function', but it can be used for other purposes. There have been third-party packages that make this, however many of them diverge either in features or in faces. Content analysis details: (1.2 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [2001:470:142:0:0:0:0:17 listed in] [list.dnswl.org] 1.0 SPF_SOFTFAIL SPF: sender does not match SPF record (softfail) -0.0 SPF_HELO_PASS SPF: HELO matches SPF record 0.2 FREEMAIL_ENVFROM_END_DIGIT Envelope-from freemail username ends in digit (eg642616[at]gmail.com) 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (eg642616[at]gmail.com) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.2 (/) --=-=-= Content-Type: text/plain Tags: patch This feature flashes the current mode-line face (mode-line-active) once, this is intended to be used in `ring-bell-function', but it can be used for other purposes. There have been third-party packages that make this, however many of them diverge either in features or in faces. I think Emacs should have had this built-in. --=-=-= Content-Type: text/patch Content-Disposition: attachment; filename=0001-Add-ring-bell-functions-for-mode-line-and-header-lin.patch >From e17ea82e1476dd14c3502caa966332453c5513f2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?El=C3=ADas=20Gabriel=20P=C3=A9rez?= Date: Thu, 10 Apr 2025 11:38:21 -0600 Subject: [PATCH] Add ring-bell functions for flash mode line or header line. New functions for flash the mode line or header line once whether `ring-bell-function' is called. (bug#) * lisp/faces.el (mode-line-flash, header-line-flash): New faces. * lisp/simple.el (mode-line-ring-bell-delay) (header-line-ring-bell-delay): New user options. (mode-line-ring-bell--reset-face, mode-line-ring-bell) (header-line-ring-bell--reset-face, header-line-ring-bell): New functions. --- lisp/faces.el | 21 +++++++++++++++++++++ lisp/simple.el | 30 ++++++++++++++++++++++++++++++ 2 files changed, 51 insertions(+) diff --git a/lisp/faces.el b/lisp/faces.el index dbc0a2e04f6..b1d84c3dac0 100644 --- a/lisp/faces.el +++ b/lisp/faces.el @@ -2745,6 +2745,27 @@ mode-line-inactive :group 'mode-line-faces :group 'basic-faces) +(defface mode-line-flash + '((((class color) (min-colors 88)) + :box (:line-width -1 :color "brown" :style nil) + :background "red3" :foreground "white") + (((class color grayscale) (min-colors 88)) + :box (:line-width -1 :style nil) + :background "grey10" :foreground "white") + (t + :inherit error :inverse-video t)) + "Basic mode line face for flash it." + :version "31.1" + :group 'mode-line-faces + :group 'basic-faces) + +(defface header-line-flash + '((t :inherit mode-line-flash)) + "Basic header line face for flash it." + :version "31.1" + :group 'mode-line-faces + :group 'basic-faces) + (defface mode-line-highlight '((((supports :box t) (class color grayscale) (min-colors 88)) :box (:line-width 2 :color "grey40" :style released-button)) diff --git a/lisp/simple.el b/lisp/simple.el index 7037158df8d..ee995c35699 100644 --- a/lisp/simple.el +++ b/lisp/simple.el @@ -9383,6 +9383,36 @@ auto-save-mode (and (< buffer-saved-size 0) (setq buffer-saved-size 0))) +(defcustom mode-line-ring-bell-delay 0.05 + "Delay used by `mode-line-ring-bell'." + :type 'float + :version "31.1") + +(defun mode-line-ring-bell--reset-face () + (face-remap-reset-base 'mode-line-active)) + +(defun mode-line-ring-bell () + "Flash the mode line as ring a bell. +Intended to be used in `ring-bell-function'." + (face-remap-set-base 'mode-line-active 'mode-line-flash) + (run-with-timer mode-line-ring-bell-delay nil + #'mode-line-ring-bell--reset-face)) + +(defcustom header-line-ring-bell-delay 0.05 + "Delay used by `header-line-ring-bell'." + :type 'float + :version "31.1") + +(defun header-line-ring-bell--reset-face () + (face-remap-reset-base 'header-line-active)) + +(defun header-line-ring-bell () + "Flash the header line as ring a bell. +Intended to be used in `ring-bell-function'." + (face-remap-set-base 'header-line-active 'header-line-flash) + (run-with-timer header-line-ring-bell-delay nil + #'header-line-ring-bell--reset-face)) + (defgroup paren-blinking nil "Blinking matching of parens and expressions." :prefix "blink-matching-" -- 2.49.0 --=-=-= Content-Type: text/plain -- - E.G via GNU Emacs and Org. --=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Thu Apr 10 14:06:30 2025 Received: (at 77715) by debbugs.gnu.org; 10 Apr 2025 18:06:30 +0000 Received: from localhost ([127.0.0.1]:46898 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1u2wIH-00040v-SW for submit@debbugs.gnu.org; Thu, 10 Apr 2025 14:06:30 -0400 Received: from mail-ua1-x92f.google.com ([2607:f8b0:4864:20::92f]:61853) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1u2wIF-00040f-Sl for 77715@debbugs.gnu.org; Thu, 10 Apr 2025 14:06:28 -0400 Received: by mail-ua1-x92f.google.com with SMTP id a1e0cc1a2514c-873a2ba6f7cso465373241.3 for <77715@debbugs.gnu.org>; Thu, 10 Apr 2025 11:06:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1744308382; x=1744913182; darn=debbugs.gnu.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=OCRxBkEzJbIoquZKcnJ21bL4T/O2OIP1QOFAwj3Q2vE=; b=d/LOwjiI2z6dfciS8gG17/6o3eTVNYHDZprCD3pRKUXaT/81aRUNO0OOPNehfb5F5z aquDWBl/7oFn/ejVVtTDkyiDENL4QhJIaKI91/gOzBXtpB6GGgj7X37h49u/fe/TUJ0J BqqOtJ9Pd7tdHkk+yzyhOj6njB/RmiwOLfq+GLC8DR9vJBIm2X4maZheOaWH9PinIpPY 4vyKgOx2qspMWcjHv6kkzThFMwmFK+VkjTHgmfzPZot2UvOY+Dv8lQZxGkulBbDhBO2X tPth9eMMSqDHfdgJH6u9EIk0WCKewC25jKpyUnt7ETR0kayBS/W3IFE6LPLZrXmtBGxn khGg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744308382; x=1744913182; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=OCRxBkEzJbIoquZKcnJ21bL4T/O2OIP1QOFAwj3Q2vE=; b=fs/ATypTulvqJTy/icCDHPlWSJOaiMV6Wfq4KXWHxUpBnIhAdhgQUkAFBC6OjA/xET u8Syr2XVZe8BNbCp1MAeI69MtuBTFdoEHKY2+y34d7WSRmn/G7xFmHgMbasvnWgz3zPE WX5cX1DdcqqXlsjDS+a5ZUw7eN4PRKiPlUhstwGeuGNtPReyE5OPFfuLkyoJMDFRLUK+ KLfyLqeqI/ZkQq1qcVtFxzWIfaIFcxezOgeqT1l6L63LWu2V1HrZTXwXGLUW8ErFEy8Z R54VjejvSK0A2HYLWVaRCARpx9jw2ZnyGaKCCW4xUTbE0pPC7NL7s/z/YMgKv8dQlyWn UT5Q== X-Gm-Message-State: AOJu0YxlG9epdmGz/mrcc2iMUuo2WntVOhBUhfgFLTHUQV4nd1OS21KT yq4FV5fQ6K0bKhPY2+EMLgnZHL7f6/1SdxbV+hOEDWFyRypAF1AzBkhTyHmRmF5u+T6+Dzh9QEh lh3c1sNSKDt7PYvs7YwHFlSJhT+E= X-Gm-Gg: ASbGncuwuF6V/MX75+0wp9rCZoL4DYfCRICDcghBec3MSmzehkd6emQZlOK0+XZWUJ7 o9RgEWxMYuNC16BouB7VNndQFamkJCfc3kyyxmeUetD02FqP5SZlDJHj802rUDfibaVZpufXNeO t5mQ9dGCKqKHvHNUTN51tRm76ybr79bGnz X-Google-Smtp-Source: AGHT+IHNjUZYelZficgyl9bGflsn6yalb5j4LEQQO/+i9HeZJ1g6FY73mgvfnacqyRVj66BhQyLtu7D/JuRl4S7X7vA= X-Received: by 2002:a05:6122:12a3:b0:527:b88e:59bc with SMTP id 71dfb90a1353d-527b88e5a87mr2180733e0c.8.1744308381950; Thu, 10 Apr 2025 11:06:21 -0700 (PDT) MIME-Version: 1.0 References: <87r01zlx4n.fsf@gmail.com> In-Reply-To: <87r01zlx4n.fsf@gmail.com> From: Ship Mints Date: Thu, 10 Apr 2025 14:06:09 -0400 X-Gm-Features: ATxdqUEkVIhSkPaF62M_5JeZCMvLMFYDx4pHjmvRf6XcRrl7w2XlZ7nPP4Xk-H0 Message-ID: Subject: Re: bug#77715: [PATCH] Add ring-bell functions for mode line and header line. To: =?UTF-8?Q?Elijah_Gabe_P=C3=A9rez?= Content-Type: multipart/alternative; boundary="0000000000007c2e27063270715d" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 77715 Cc: 77715@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) --0000000000007c2e27063270715d Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Thu, Apr 10, 2025 at 1:56=E2=80=AFPM Elijah Gabe P=C3=A9rez wrote: > Tags: patch > > This feature flashes the current mode-line face (mode-line-active) once, > this is intended to be used in `ring-bell-function', but it can be used > for other purposes. > > There have been third-party packages that make this, however many of > them diverge either in features or in faces. > > I think Emacs should have had this built-in. > An implementation like the one below protects from erroneously leaving behind remapped faces: (defun my/flash-faces (interval faces &rest specs) (let ((cookies (mapcar (lambda (face) (face-remap-add-relative face specs)) faces))) (unwind-protect (sit-for interval) (mapc #'face-remap-remove-relative cookies)))) (defun my/ring-bell-function () (my/flash-faces my:mode-line-ring-bell-interval ; I use 0.05 my:mode-line-ring-bell-faces ; I use '(internal-border tab-bar mode-line-active mode-line-inactive) :background my:mode-line-ring-bell-backround)) ; I use "Firebrick" (I could have used the foreground from 'error) (setq ring-bell-function (if my:mode-line-ring-bell-interval ; I allow my users to disable this #'my/ring-bell-function nil)) --0000000000007c2e27063270715d Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
On Thu, Apr 10, 2025 at= 1:56=E2=80=AFPM Elijah Gabe P=C3=A9rez <eg642616@gmail.com> wrote:
Tags: patch

This feature flashes the current mode-line face (mode-line-active) once, this is intended to be used in `ring-bell-function', but it can be used=
for other purposes.

There have been third-party packages that make this, however many of
them diverge either in features or in faces.

I think Emacs should have had this built-in.

An implementa= tion like the one below protects from erroneously leaving behind remapped f= aces:
=C2=A0 = (defun my/flash-faces (interval faces &rest specs)
=C2=A0 =C2=A0 (le= t ((cookies (mapcar
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 (lambda (face) (face-remap-add-relative face specs))
= =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 faces= )))
=C2=A0 =C2=A0 =C2=A0 (unwind-protect
=C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 (sit-for interval)
=C2=A0 =C2=A0 =C2=A0 =C2=A0 (mapc #'face-r= emap-remove-relative cookies))))

=C2=A0 (defun my/ring-bell-function= ()
=C2=A0 =C2=A0 (my/flash-faces my:mode-line-ring-bell-interval ; I us= e 0.05
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 my:mode-line-ring-bell-faces ; I use '(internal-border tab-bar m= ode-line-active mode-line-inactive)
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 :background my:mode-line-ring-bell-backr= ound)) ; I use "Firebrick" (I could have used the foreground from= 'error)

=C2=A0 (setq ring-bell-function (if my:mode-line-ring-b= ell-interval ; I allow my users to disable this
=C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0#'my/ring-bell-function
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0ni= l))
--0000000000007c2e27063270715d-- From debbugs-submit-bounces@debbugs.gnu.org Thu Apr 10 14:40:15 2025 Received: (at 77715) by debbugs.gnu.org; 10 Apr 2025 18:40:15 +0000 Received: from localhost ([127.0.0.1]:46967 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1u2wox-00067Y-6a for submit@debbugs.gnu.org; Thu, 10 Apr 2025 14:40:15 -0400 Received: from mx0b-00069f02.pphosted.com ([205.220.177.32]:24406) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1u2wou-00064N-Ez for 77715@debbugs.gnu.org; Thu, 10 Apr 2025 14:40:13 -0400 Received: from pps.filterd (m0246632.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 53AHpq1t008244; Thu, 10 Apr 2025 18:40:11 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h= content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s= corp-2023-11-20; bh=SvgejP9WAMxLtGcmA69+TNY+X0fIWt22X6HsDKdWKgM=; b= MgFccdy4irJBx1izm0R29O/yAv8/eFQgBB8EwakvKSzIS6l2gcrU4FcK3nZpp8N+ P/n+OtHFsx0zQybVF6miBHpJCv8xsqG2bItWOCn/li/T//15iCJEteOXfXVkRgu2 ozLfErTl4svGYkAyyj0Tvs+uzt68p4ChZkP291jb5nrUGoDR7pRgBDquCiJ/ZrRu LBCh9prVbam3ctNgcXBYGfGxu75UgcwltCdoYCDyrpdd2czILWn7KXcRrHI7ct/E Z/XVDiLq6eNqkIFvNuG7f3VwatSd/TT6KkqrH5qpnKS7qfRQIUxdOmXzGkioEZjG 1t4BIeY1W4wle5k/pIFlmg== Received: from iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta03.appoci.oracle.com [130.35.103.27]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 45xjrsg3qr-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 10 Apr 2025 18:40:11 +0000 (GMT) Received: from pps.filterd (iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (8.18.1.2/8.18.1.2) with ESMTP id 53AH1LZO013824; Thu, 10 Apr 2025 18:40:10 GMT Received: from nam12-dm6-obe.outbound.protection.outlook.com (mail-dm6nam12lp2170.outbound.protection.outlook.com [104.47.59.170]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 45ttyk05x4-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 10 Apr 2025 18:40:10 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=V4yMWWWTM5pVlJN1VdmC5fuLdCINtRpgROws9M1F9NC6Rc2c3bK6Pi2gzPu+n1DNCn9JkA2LT4lqYWCE5laDmdr0rtCOkl8hwXCr0dUxaKzJHuZDqBhcyLEF9h8dnzXzDdavJsbwVaaKTII/zkRcyM54o9ISr724uzMteWPqQdp1Vb8QgjeEEmQ+FvECmJQQEk8FRabbCI28xCD47xIVSwJgw3OSiy9BavCipPMqYls5svAsM3IaiQmcEMdb7gXDAOr0VRlLR3CWi0+5piftbgv3LuxfwRWEjoekYMsDA4uBhOaEkrO44yPrq+Vzds7UpzAzgP356sD3Kg5vjFpyTA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=SvgejP9WAMxLtGcmA69+TNY+X0fIWt22X6HsDKdWKgM=; b=hI8OL1bvyU/OnJYnovHqTXo9SRe/mAc7gDR8sclRxeasbLr13vf4JqAnh6WjDK9J69JhGoICReWlm8f64VCqKfv2n8XTVS0KotWns+kd3R0BFno5HImGltw26XtMope4wKlNSAxe9nt0mT7U8OGRz30BbntVCmPZ6gGgS6FJwsB+rKoq+/AJ291vpg45HI12xPI6dQC0o7OBWlQm8hMSjIyZmzlHuHq16EUXPvHGRPScst+XiMegSylZyzqmSLGjxgJgauIEq1z4imC84iiTNVH3u3Xl/p0ABonx5NJzugtNEVPZ2DnPsHqq8kVf9iDf/Ox8CAOjYnwFBwxSNIlMkA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=SvgejP9WAMxLtGcmA69+TNY+X0fIWt22X6HsDKdWKgM=; b=Eo7DI4jiYP2W/gPKjKGT6o5tt90e/nUvmhQad7UWJoqiJ4GbWl+tLPp3Dj0DZtjyod6OHCnXmpG2HGXYbdPiZiF/Kpl+/aeEmXX4zRVnSRRhtvnY1ajCoJCufNekjrNVt6nK+hgZYS0xOauihE4n/0Vt3C2p+fVEzCbjvksY+v0= Received: from DS7PR10MB5232.namprd10.prod.outlook.com (2603:10b6:5:3aa::24) by CH3PR10MB7211.namprd10.prod.outlook.com (2603:10b6:610:125::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8632.22; Thu, 10 Apr 2025 18:40:08 +0000 Received: from DS7PR10MB5232.namprd10.prod.outlook.com ([fe80::8303:658f:14f8:2324]) by DS7PR10MB5232.namprd10.prod.outlook.com ([fe80::8303:658f:14f8:2324%4]) with mapi id 15.20.8632.025; Thu, 10 Apr 2025 18:40:08 +0000 From: Drew Adams To: =?utf-8?B?RWxpamFoIEdhYmUgUMOpcmV6?= , "77715@debbugs.gnu.org" <77715@debbugs.gnu.org> Subject: RE: [External] : bug#77715: [PATCH] Add ring-bell functions for mode line and header line. Thread-Topic: [External] : bug#77715: [PATCH] Add ring-bell functions for mode line and header line. Thread-Index: AQHbqkHrSszgehsyoEO3+tLeohvzyrOdOahw Date: Thu, 10 Apr 2025 18:40:08 +0000 Message-ID: References: <87r01zlx4n.fsf@gmail.com> In-Reply-To: <87r01zlx4n.fsf@gmail.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-traffictypediagnostic: DS7PR10MB5232:EE_|CH3PR10MB7211:EE_ x-ms-office365-filtering-correlation-id: 1964f058-bdd6-4e26-add9-08dd785f1e7b x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|366016|376014|1800799024|38070700018; x-microsoft-antispam-message-info: =?utf-8?B?dXhaZnJZV2w0eXhuVlpNQlBwYVB0YW5Wc1paay9UUmllQ3hSbSszYUVXL2Nz?= =?utf-8?B?TnI1TTllR1BsMzlmWHN1SzZMMjc1em9BQ3hzTXFXaGpJNitSWFpvM0JTbS9X?= =?utf-8?B?QkR1YnJQRUdBbGhUWFY0T0EvVndMNkNiOHNmZWJOZzZDSER1a1BzSFpDQXQ3?= =?utf-8?B?VXZJaEdhT1YzeFlnTTNnQksrZitJaHpXRCtBRDRBZ0VKMnR5V2hyOXBONTgr?= =?utf-8?B?YUh6QldHdFBIVUpFVUhucE44TEZYcFpSY0pxWWFQTVJZcXZYamZGMHdwQ01p?= =?utf-8?B?UDJNeVZVSHFQQmQzMkRQNDBZME43NVMyTG1WNkVOUCtHTnpCN1RSRTJvVUtk?= =?utf-8?B?a2orWFlVQWlGa2hXbldFZUpoamp2SmhpdWVLQlVYVkpYYjllUS9HSGloRU9I?= =?utf-8?B?RStUUXcvTTI5RmUrd2p4VmN0K3MyamkwYTgvV3JnWEpCR2ZlUnZ1RTA0MXFM?= =?utf-8?B?dHlQa0FQd1ZkUENEUm80Y0NRdVprUktRY0R0QnVyN3RNK3FreFBKb3RUZGYy?= =?utf-8?B?NXhJN2c1T3M1SFU5TzVNdFkySU1OWjVZY1dLTmFqbS9STnppRWhPZzRQMjhU?= =?utf-8?B?RkhMUTZpRGk1Rm9rd2hzcWp4VnFuMnFaVm4xN0ZRMHBOYlFrVGxBanZZRnNY?= =?utf-8?B?Skh4ejZycjRCWWVOMURrV2VTQXBRMCs5MkdnV1dXdXZQVXBtUGx5VGVHdS9x?= =?utf-8?B?dXJWcFpNUkdwZlFBQU0xV3Y1bzNJYkQ4NmpQRmNPNy9LeXZaVjQyMGpVeS9l?= =?utf-8?B?SXI1ZTNQaEk0QjJraXdFbjJLYWJsbEJhZzIxZ2xiYW9MSUhiSHd2dEI2VVM3?= =?utf-8?B?eWV3VXJ2WEU1RDk2V3l5U3JFVU5CRmYvaXE1KzVMS3lmTW53L1JvcmdSSFJx?= =?utf-8?B?c0dzZGNlMjZ1WGpmbzdTZzJPZndOZHJycHpnd2pYc1EveGZDaWVFL2NTVEI4?= =?utf-8?B?MERHRUdCckZ5WStiZDBvVkRYdEd5cXJURTRTRkRoeGdXdmhza2txK2krcDc1?= =?utf-8?B?UnRFVHdRTDVLbzgzaDJwV1VsbTNnYWVsSDg5dFovN0pYMktmQ1JHNjl6ZlU3?= =?utf-8?B?UXNRdmxTZlFHWEN4OG5IM3g0ZTczWXVFS3JTOVJOZmZ4aE9pTnUyMVRVc1py?= =?utf-8?B?RjdMNGMrUDFmL1ZiTGRWeGZJS0lRNW82a2ZNeHorQXdzWHd6NTBzNDlucmJB?= =?utf-8?B?VjZ5ZXNwOHhZQy9OZ2tSaVVnbmxaR3NTWlZzV3ZLK3pKTm85Nkd6Q2N1MkVM?= =?utf-8?B?QWlveWRpdlYyQnh2QXFLVzRCZ05seXBTSFlBQmtLV2hDTTI2SHhUZDhOWFYr?= =?utf-8?B?V3QxMFJpQWxxSU1NYnd2OS9GNDA5SEtGQU9EYytQTS90YjRNZGF2VS9tcHN1?= =?utf-8?B?YU1WTERVb1FwZUl0RmFaQnBHOGFmaVlGVWJhb2x0UE9BN1NqeUxvakVzZVZu?= =?utf-8?B?YTNSZUxNWi9DTzFwVkpIQmhta25ZS080ZityaGtLTmdOSUJDVXJiQW1Yc3dj?= =?utf-8?B?d1JrR2xtS2pNa3llb0YwejZ5NGd0YTRiNHpYWGM3aUlSbmlaR05yYjA5d1pt?= =?utf-8?B?YWZZY08zQzBUVlBpRTQrZTE5b1dNdXJkQy9jYUZpUGNhSGxCVTVJbmFZcm9w?= =?utf-8?B?dk1pYUdqRUNIUVlReXFNSEVUOGk4V2lpOCtvczRPTXVzZzBuVnlNei9uTWI4?= =?utf-8?B?SWNPQzJWdHhqWGNXemFaTzhud25YQjE1dUtreHhkbEhWNXNEbEtCQ01YOHVH?= =?utf-8?B?ZTljb2Nta0Y1U0RTQ05zcTF6c3QvWVJSQnplNGR0Z0FqODM1T3hZWFNZc3VO?= =?utf-8?B?VW9TL1JrSVRiQ3liWDNITCtKb2R6RDNya1U0TnJpU293blU2Y3lMU2JLcjFw?= =?utf-8?B?S3dMRnVwa1lEbFRxWHozWm45YUZJODJrRzBXcDdYdTdmUE1YU3lRQzRESUNO?= =?utf-8?Q?6LKSnOMmuB0=3D?= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DS7PR10MB5232.namprd10.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(366016)(376014)(1800799024)(38070700018); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?Z3J2bXR2SS9DcTVxTnQzQjR3WEFpQS90UHBVbDZFQ21FcEZBeWw3cHFLQnZk?= =?utf-8?B?aHkwdzJNNlIvT3BRV0JySk1yY3FnY2ZyNFBTbk9kNElobDlSZG04RUE5N2lJ?= =?utf-8?B?V1VQRWcxYWZvTGJkVWJKVVlDS1FXaWNpRC9IL2NLaSs1M21WeUg2WlAxNlZs?= =?utf-8?B?Z3hNZWlHL2VxeERlMEMzMGxyd3IzUVBmbXZidVNGdW0zQ0Z2RHhFbm1HTzQ5?= =?utf-8?B?cmU1R0JTOUZVNWZhRi9HMU0reEhjcFN5WS80ais5UkRzTjZ2bzQyVUxST2JM?= =?utf-8?B?akkrZGI3UWlUTDRNemJINytlNXJaRVV0Mms2MUdvaU1XbUlBQWRFeTVVTkl4?= =?utf-8?B?YW9UaU1udjh1R3o0cSttT3p0ZjJVOVhpUit5YjIxNmQwT2huK2l1VUNnbDI4?= =?utf-8?B?SFlXcSt0MjZxSy8xUVlEV05NMVpLOTNDcHdYbkJCRTZ1VnNRNjgrbDhKRVN0?= =?utf-8?B?Q3JaYzduQzlBd1AyOHZ3VDl2dUZLWkpZQlUrc0dMYU9KYmpjSlB1MGxLNHl0?= =?utf-8?B?Z0pSUndpNUN3Y24ydDdlY0k1WDVMUFF4Mlk3UkVCSSs5ZGdZU0ZpMFlyQXVv?= =?utf-8?B?OFRKMTVhU2dHSkxuNmF5bEFjZ29QWWpBYTZWQ3FVN1dxUTVqbFQ4R2V6cExS?= =?utf-8?B?bGlid2crYm5LMDVtRFJmM3p6bjJQRWxNcWVyNFltK0hPL1IxKzM1VnRDd01P?= =?utf-8?B?TytHaU5icmRzL1I4REJuWHlkVFlobWpER3dRdGZjOC9Bd3VTZmxsY3UzakhR?= =?utf-8?B?bE4wS3lTZk54THpVMkhyYU9VNlBXOVpUZ21jcFVXSmVyL3dETnZBMmZPWFFE?= =?utf-8?B?UHpTcStIYzhTNkZaY3RtTVFFQkk0VlpNd0lENksrdHU2ODZ0YTZuUWI4NmlO?= =?utf-8?B?dlpCQ3h3MHFvTlpFR1NabWREbllPekJvRGV4azlobnlpMnlnRGxYemRLRmZ4?= =?utf-8?B?dThrQzhLdEppRDBxS2lGVUN1TW4yZFpiMm8wQWlPTmptZ2ZXVXU2anB4NlB6?= =?utf-8?B?eDRuRHV2ekxNTEwzdnJwakxHczBtZFpDRk0yTTFDVHFKSVZJNG1NMmlCb1RB?= =?utf-8?B?Y2JvSXNOT1phVjhoSEtvQXRuRmhQVWw2SEVIVEdTMThiZ0ZMTzZqMEp4eEZZ?= =?utf-8?B?SGNVbnhpMHBCVXN6TVhCQi8zcTFncVlWWEUvTjFyVW1zS2lpQlQ2TnV6SE9j?= =?utf-8?B?bnduOHJVbkFZd25ubXNZZGVNd0pneUU0M0REOWNaSkVaZWd6NUVzbDhRbi9z?= =?utf-8?B?bFFQdVM0NGdZQVBGWm83bldzM04rSHhOSkpMMHV3NFZKMm5jc2tTQVl1M3Zr?= =?utf-8?B?eDRBMmdieXdJZzN6TFNTcThpMGF4WStmSDdUZWt4OFVRdUV2SVh3a2VmaGlT?= =?utf-8?B?NURpa2dUK3NtRGhleStENURVZzFkcVJ6UHFFeTN2ZXUwTDRERkxNcG9teXd3?= =?utf-8?B?QUptUjVCR1dIdU85cXRwdExLUnJRbTRXck1McUl6VlNuNDAzdXVlSUZ6d1JI?= =?utf-8?B?dzNvb3I0Wm5KN3IxYmNKT0dWZHZQVXBlcndObDdHeDVoK3duNENreExVaWt6?= =?utf-8?B?ckcvRUpPNWJvYTEzaFZKZEVIdlRDcmJwL0IwQmNUL0dEcDJCa0xpWFY3N3lB?= =?utf-8?B?bHRpaFpzQTcweFFHeE1ZaytkSE5saENpSGhMSHhoV0ttemhkREN1ZTl6TmFo?= =?utf-8?B?NGYzbUFjdjk4TEtObml1TTBJMDJ6N1AxNk1sd3RIeTNnUy91T3NtTmVYNGZN?= =?utf-8?B?N1BUd3Nud0l2OFlrN2l6S2cvWWVvd0NUdXNXckJyd2d2cnl6TWE1d0d4eUhl?= =?utf-8?B?OElyRHlFWitOcVVxZXRhUThVYjBXaWhnZHhqeitQRW9OOEYzcWorbnBLV25B?= =?utf-8?B?Z0dteGJyVU1OamZ3SFdDMFNxQjNIbjNBZmpiTkVsNHQzaE1LZzZtVEJvZ244?= =?utf-8?B?cktJa2VhcUQ4aUxObGNiR2xWTXB4WlJwWWRwbXRCVElBZE9YQUNlUVlXbmx5?= =?utf-8?B?OUo5NVdtM0UrSGkyaDlmeUIyOXRpcDhIL2R3VHd2MEN3V3JSWEpta3pyb2lB?= =?utf-8?B?OVB6RUJZbDZsVkZobUsxVVNIc0Jvb3AzYXUvSG9UeVNhSy9BcXo5ZUl0VkFq?= =?utf-8?Q?JM8oSSCNpDkHqHWaMwlJ5th4e?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: yUJQIPXgvoJ4C3rTQ5tIeympGLUMYY8Cse05tpW1VclujPHCDfOjJhQ0DfvnHXgzjm1pjYD7n+TnPY9DNVPvoPqVXBw4yJc+q2vuRccha05OTz2Y4J26RZiIPh5mNg9gApUAW5TbO81epWsK9VoCB5eBVJUDq8YWeCf6WJI56mQZOEHYoUFeAMjocyWE6aI4V9UWgabiw6OiuMvi/76NDs0t2ZaMLEGBM4HFQwhP1Eg7Lf/O06UfX8K+6+Owcm9tAogswNa7/+dHlJrxhWylR51NXLkkMsT6wcUpJV/joOmIbJVYPx5w5fWou6nRcIiRF6pUGbklBDFvAzRs/TNpRWKRmLmpM8YrfjwtUVUe4yACTZsgzc8sajTMLOycfypbEoZnlyzCn0rZ9bpQd+2OFvuBnKDM8X5VELs0coWjIbfUtQVv/MoMBWpwLVERM+vrg3yXxKPXHoKyfVqSPiwqsuPCJLd7nIZ1fitiBl0Hklx+9LHGNSSHGEVGtNwgQuDiiOfYQS67OQh9DAmuxYGjf0iYpsS245h6pAYXabH55/r3fDFBx+yMu3xRrYNdUZZ1/O36PK/1Hskbmk9cFJVyaJTo2VQu+FGxLdkKKR7RIdk= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DS7PR10MB5232.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1964f058-bdd6-4e26-add9-08dd785f1e7b X-MS-Exchange-CrossTenant-originalarrivaltime: 10 Apr 2025 18:40:08.5050 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 6DXOY/lwTcG+Pv4cXMaYb12P4fqNkRcRmag8eO9BUsF5tJOFjf5JhFE7SWYwEedgq9DCZqZbtUnro8Y/snLEww== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR10MB7211 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1095,Hydra:6.0.680,FMLib:17.12.68.34 definitions=2025-04-10_05,2025-04-10_01,2024-11-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 malwarescore=0 adultscore=0 mlxlogscore=999 bulkscore=0 suspectscore=0 mlxscore=0 spamscore=0 phishscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2502280000 definitions=main-2504100135 X-Proofpoint-GUID: bhGv-tZb9WP08vxvdYyW_4jDyE5B_W9- X-Proofpoint-ORIG-GUID: bhGv-tZb9WP08vxvdYyW_4jDyE5B_W9- X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 77715 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) PiBUaGVyZSBoYXZlIGJlZW4gdGhpcmQtcGFydHkgcGFja2FnZXMgdGhhdCBtYWtlIHRoaXMsIGhv d2V2ZXIgbWFueSBvZg0KPiB0aGVtIGRpdmVyZ2UgZWl0aGVyIGluIGZlYXR1cmVzIG9yIGluIGZh Y2VzLg0KPiANCj4gSSB0aGluayBFbWFjcyBzaG91bGQgaGF2ZSBoYWQgdGhpcyBidWlsdC1pbi4N Cg0KT25lIGFsdGVybmF0aXZlIChpdCBjb3VsZCBiZSBidWlsdC1pbik6DQoNCmh0dHBzOi8vd3d3 LmVtYWNzd2lraS5vcmcvZW1hY3MvZG93bmxvYWQvZWNoby1iZWxsLmVsDQoNCkl0IHVzZXMgYSBk ZWZjdXN0b20gaW5zdGVhZCBvZiBhIGRlZmZhY2UsIHRvIGRlZmluZSB0aGUgYmFja2dyb3VuZCBj b2xvciBmb3IgdGhlIHN0cmluZyBzaG93bi4gVGhlIHN0cmluZyBpcyBhbHNvIGEgZGVmY3VzdG9t OiAi4pmq4pmq4pmq4pmq4pmq4pmq4pmq4pmq4pmqIiBieSBkZWZhdWx0LiBBIHRoaXJkIG9wdGlv biBpcyB0aGUgbnVtYmVyIG9mIHNlY29uZHMgdG8gc2hvdyB0aGUgc3RyaW5nLg0KDQo= From debbugs-submit-bounces@debbugs.gnu.org Thu Apr 10 14:54:00 2025 Received: (at submit) by debbugs.gnu.org; 10 Apr 2025 18:54:00 +0000 Received: from localhost ([127.0.0.1]:47004 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1u2x2G-0006uC-2d for submit@debbugs.gnu.org; Thu, 10 Apr 2025 14:54:00 -0400 Received: from lists.gnu.org ([2001:470:142::17]:42468) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1u2x2D-0006ta-On for submit@debbugs.gnu.org; Thu, 10 Apr 2025 14:53:58 -0400 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 1u2x27-0007jd-37 for bug-gnu-emacs@gnu.org; Thu, 10 Apr 2025 14:53:51 -0400 Received: from mail-oo1-xc43.google.com ([2607:f8b0:4864:20::c43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1u2x25-0007Jb-Fo for bug-gnu-emacs@gnu.org; Thu, 10 Apr 2025 14:53:50 -0400 Received: by mail-oo1-xc43.google.com with SMTP id 006d021491bc7-601a8b6c133so990200eaf.1 for ; Thu, 10 Apr 2025 11:53:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1744311228; x=1744916028; darn=gnu.org; h=content-transfer-encoding:mime-version:user-agent:message-id:date :references:in-reply-to:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=aGwJAyDOFCuT1mbVE0IWTEZbKriM2o8SaJnAs7ZLPag=; b=jarJl0xDwigjmwfWABfcVlWYKGfWkg8BnBlGGpOsa+rynRl1wmPXJDZE/I5b/BF74l 4qbJ0Qv6PezThjISi2EBj4Hu7dDymZj9jK2Uy2OY/m9EZzdk0CkZlOwz5wxVc7mUWBL+ ZkFHP3OfgtrgTGVQgVmbV1/GEH2t825pov+FI+RaD7tx2xkjR2nCBVnfBcFLRsNoy0hT HkciKrZgVR0hQMn/AVdjcNzxyQXmd/fiDYtlbx2GYVtZQwVUG+vORuD/biEJFtqRXhRm 7cAeurK6iYHnTCqJPGo+3lGTmCYwUrB8JLmzxzzp6S7D5ipXYAxq9HMeIxx8zilLdCtC QgDQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744311228; x=1744916028; h=content-transfer-encoding:mime-version:user-agent:message-id:date :references:in-reply-to:subject:cc:to:from:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=aGwJAyDOFCuT1mbVE0IWTEZbKriM2o8SaJnAs7ZLPag=; b=O5ZBXIp7uvzS3WNN47twy3l6hfn/pLUP1EbTGEn+b0IB5ZuTwbDm/RV//wuQ4XYDwW vzXeulQQmLpZtgbIN5CQ+5khgP8eN7myeXqc7AjXVSxKM/mjCUgyQl1w/mOP6pW1xLs5 +19hf66CDeFFhsYI4FGkMPoY3mF62rHelgYDPykZKM7BipSNxpi57CTn5xHvCFVsBmYb +OZ5B94DsMY4ekKxlbAOMOagAwsNKrDy/xDEeJrCgTOByDIG+6YEB07EKR2BkF5mYsaX 9QVrsuXUeRkD4diuPYWquPPXih3irHiNfZ2idoKY4awGnvgpQ5ahVDQ7tz5f6BIIPdDF Pp2Q== X-Gm-Message-State: AOJu0YwozUghuqdrxiwrwomBKGhlGM4cmR3YIyKsayThRAce2tWAlHPH 9rw5ShFzcq9muRzEkZWsHa4fD0OemCGMuiC49US/jj41dZ/Yq0Jo X-Gm-Gg: ASbGnctZJivb9r+CHhUaJ+jZK5IPLjmGcEQMhi3r3xhaP6sdGBBIT4xrKV4c+xchcnT zB871XjRlJp9+/MUAowyAdypMAxl6DyM1VqbCLHDKlzQtolnReKY0rv3N/e9hewzt1ZlsmFvM/h 8yP/dLqM++5cqV2PLiWJdYhkHoOMpu8QI1Tb+7Tk255kaSnSaYG9pv8JtJfJrx6ik+HmOC4xsYu ADonmjX49e2mq/o5/kldn+6qHKHXBVJjR/IEB9d5J4mYxJFk2XAUoXfUqH0/3UfZXIiBwv004rJ sePtRu07 X-Google-Smtp-Source: AGHT+IHOSGln6vtdc7xSjURDfxqM/Dc3JOJGNuqwBH6e8QaCXn8HmyKSJ3+Ju9BgER0Q29eXo0mBEg== X-Received: by 2002:a05:6870:1787:b0:29d:c6dd:cc6c with SMTP id 586e51a60fabf-2d0d390aa39mr34846fac.15.1744311227891; Thu, 10 Apr 2025 11:53:47 -0700 (PDT) Received: from fedora ([2806:10ae:e:79da::1]) by smtp.gmail.com with ESMTPSA id 46e09a7af769-72e73d8d2f3sm665368a34.31.2025.04.10.11.53.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 10 Apr 2025 11:53:47 -0700 (PDT) From: =?utf-8?Q?Elijah_Gabe_P=C3=A9rez?= To: Drew Adams via "Bug reports for GNU Emacs, the Swiss army knife of text editors" Subject: Re: bug#77715: [PATCH] Add ring-bell functions for mode line and header line. In-Reply-To: References: <87r01zlx4n.fsf@gmail.com> Date: Thu, 10 Apr 2025 12:53:46 -0600 Message-ID: <874iyvetl1.fsf@gmail.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/31.0.50 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Received-SPF: pass client-ip=2607:f8b0:4864:20::c43; envelope-from=eg642616@gmail.com; helo=mail-oo1-xc43.google.com X-Spam_score_int: -17 X-Spam_score: -1.8 X-Spam_bar: - X-Spam_report: (-1.8 / 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_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: 1.2 (+) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: Drew Adams via "Bug reports for GNU Emacs, the Swiss army knife of text editors" writes: >> There have been third-party packages that make this, however many of >> them diverge either in features or in faces. >> >> I think Emacs should have had this built-in. > > One alternative (it could [...] Content analysis details: (1.2 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [2001:470:142:0:0:0:0:17 listed in] [list.dnswl.org] 1.0 SPF_SOFTFAIL SPF: sender does not match SPF record (softfail) -0.0 SPF_HELO_PASS SPF: HELO matches SPF record 0.2 FREEMAIL_ENVFROM_END_DIGIT Envelope-from freemail username ends in digit (eg642616[at]gmail.com) 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (eg642616[at]gmail.com) X-Debbugs-Envelope-To: submit Cc: "77715@debbugs.gnu.org" <77715@debbugs.gnu.org>, Ship Mints , Drew Adams X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.2 (/) Drew Adams via "Bug reports for GNU Emacs, the Swiss army knife of text editors" writes: >> There have been third-party packages that make this, however many of >> them diverge either in features or in faces. >>=20 >> I think Emacs should have had this built-in. > > One alternative (it could be built-in): > > https://www.emacswiki.org/emacs/download/echo-bell.el > > It uses a defcustom instead of a defface, to define the background color = for the string shown. The string is also a defcustom: "=E2=99=AA=E2=99=AA= =E2=99=AA=E2=99=AA=E2=99=AA=E2=99=AA=E2=99=AA=E2=99=AA=E2=99=AA" by default= . A third option is the number of seconds to show the string. I'm not sure about using the echo area, when working with multiple windows (and on large screens), the eyes tend to be more focused on where the cursor or window is. Another alternative would be flash other faces too, such as Ship config does. I have it almost ready. --=20 - E.G via GNU Emacs and Org. From debbugs-submit-bounces@debbugs.gnu.org Thu Apr 10 17:47:18 2025 Received: (at submit) by debbugs.gnu.org; 10 Apr 2025 21:47:18 +0000 Received: from localhost ([127.0.0.1]:47374 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1u2zjx-00083J-GU for submit@debbugs.gnu.org; Thu, 10 Apr 2025 17:47:17 -0400 Received: from lists.gnu.org ([2001:470:142::17]:40576) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1u2zju-00082w-Gy for submit@debbugs.gnu.org; Thu, 10 Apr 2025 17:47:16 -0400 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 1u2zjn-00068Y-Cv for bug-gnu-emacs@gnu.org; Thu, 10 Apr 2025 17:47:07 -0400 Received: from mx0a-00069f02.pphosted.com ([205.220.165.32]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1u2zjl-0001zN-KT for bug-gnu-emacs@gnu.org; Thu, 10 Apr 2025 17:47:07 -0400 Received: from pps.filterd (m0246627.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 53ALNQmR012439; Thu, 10 Apr 2025 21:46:57 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=cc :content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s= corp-2023-11-20; bh=/4YikfBuE3nC3j3enBVXlIPcS61RvYqnevAN74D9Ia4=; b= bDFzMtfG/Vukq+cnE/6RRbVUp+bV6CFrp5h/slFrfW9cbIYnhYRnYfuNwheaLl/c J7WD3SlQM0+hl9XfhEw0raaRgTkTE2q/BUPeDKLc9+TK/5pL4zVwIx5MY3hKIa+K stWzcgxmAd8hrScNIkDj1NlkgT+ag9PQkD8hcfvZFEg7YIpkhaS+Va9nTii9zkYR zoa6HdcR8U/xRKRZ0fU5kq0fbRIWfP5L+0q1IUrR3bxiNYYBWnHsGBbLiK/NfKch SQroA4UZ6PflSfHku532U7/gdlHIM8DtaS3mAnLPETylbvePZy0VG/cE2Nmubzol y1T8lsDKAKgUgBV3yUTIBw== Received: from iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta02.appoci.oracle.com [147.154.18.20]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 45xnu9r5kg-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 10 Apr 2025 21:46:56 +0000 (GMT) Received: from pps.filterd (iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (8.18.1.2/8.18.1.2) with ESMTP id 53AJxGaK020944; Thu, 10 Apr 2025 21:46:55 GMT Received: from cy7pr03cu001.outbound.protection.outlook.com (mail-westcentralusazlp17012039.outbound.protection.outlook.com [40.93.6.39]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 45ttyk6yyc-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 10 Apr 2025 21:46:55 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=tmBEyncuyomUAG2fONkSKxQUogeDJM79ufdj+vnekg4NUWeNw6OqGS3tnvkS7XNKKoMu20xThTP97wlACxbR0VSe38m21BFI14AZwgx1wSkHaJu0r9PEtqMTAneTTwtDbAzFv4nU43Ze3kgloZYx4HC/o2rKX7dHHoiyFvs9OFe5z+G3qZlOdvYSoadprWbY247f6cR4BPvHQt/5UsrxXmkyl+rG9EQ3hbI3V7dxs66oP/FT/90ksNC5Ru8/0IyIylfIgJHNsvQ1rJrCE0T8RT9LXt1D/AYvFcCxEp+zw3yoXjEZIlSaNPX0FBnkL3b54ZqYXePlA2VgIJSbfzD4gA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=/4YikfBuE3nC3j3enBVXlIPcS61RvYqnevAN74D9Ia4=; b=zK1xfLF5LYWP/s4wKvN6+VbO8qtFIEk7nOYtbUSnjS62OUEA+7u3kqNsH80ATi5apQ8cPq3KBbeYFeccFQQERVALG5B41lTyakn9lh2x/aI8bmS266cS4G0bVmBwLuFUuRtax2MdrqzDW6gg1Em0Um7kEa+x3LWlkRdgftXFm88nDeex09VYmpVfVCL0ASBnXyaqHl0Hzd/DtNIHnHiJNoB+Z6GuK6O/9wp0Ax/aZRAY+FCpQCNcy+hTrVQB0n/wz5PoxVDidgz2TqqBvfNFTfIsiyfDDTGXhl3t0S4Lk51ZEf9MT0m026zLyApUDCbxkGfEhw0Kr/l01dIrc5rPzw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=/4YikfBuE3nC3j3enBVXlIPcS61RvYqnevAN74D9Ia4=; b=yjrbbsqBkA8PBpz/IsD1NLr8eGibVxE7dibdi3yUemEQpHNCeijOXW+o9xoM2GhgdIEkjv9geuUBUOdeEdhJWpYDXNbVef3uhSSaGAZSiNLPC9HLXP3oVAPX5JPUE+cGjg7XJLLAifxov1bfnOR9DC9dBjmI+KsxY6lXVjVSxNU= Received: from DS7PR10MB5232.namprd10.prod.outlook.com (2603:10b6:5:3aa::24) by DS0PR10MB6773.namprd10.prod.outlook.com (2603:10b6:8:13d::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8632.24; Thu, 10 Apr 2025 21:46:53 +0000 Received: from DS7PR10MB5232.namprd10.prod.outlook.com ([fe80::8303:658f:14f8:2324]) by DS7PR10MB5232.namprd10.prod.outlook.com ([fe80::8303:658f:14f8:2324%4]) with mapi id 15.20.8632.025; Thu, 10 Apr 2025 21:46:53 +0000 From: Drew Adams To: =?utf-8?B?RWxpamFoIEdhYmUgUMOpcmV6?= , "Drew Adams via Bug reports for GNU Emacs, the Swiss army knife of text editors" Subject: RE: [External] : Re: bug#77715: [PATCH] Add ring-bell functions for mode line and header line. Thread-Topic: [External] : Re: bug#77715: [PATCH] Add ring-bell functions for mode line and header line. Thread-Index: AQHbqknqRw/6hZ6F90+28Fr3z7Y8+7Odatug Date: Thu, 10 Apr 2025 21:46:52 +0000 Message-ID: References: <87r01zlx4n.fsf@gmail.com> <874iyvetl1.fsf@gmail.com> In-Reply-To: <874iyvetl1.fsf@gmail.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-traffictypediagnostic: DS7PR10MB5232:EE_|DS0PR10MB6773:EE_ x-ms-office365-filtering-correlation-id: 3c333460-ded7-4fe8-3917-08dd787934e7 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|1800799024|376014|366016|38070700018; x-microsoft-antispam-message-info: =?utf-8?B?Z3kxZXRWeklxUEpwRWJvUHRVLyszTUtBWndsL09SYm5MZmVMekhGVFppa3JY?= =?utf-8?B?WGJ1aldpSTREQm5HTUNzL1Q4V1AvUm5lbFVmOTBndHJxakpNYzh4ems5L1hu?= =?utf-8?B?SXRGaTY4THRCaytkV1dXbTZFZCtjMUVFL1o4WTBEMlNjak91azEvTDc5N3Rr?= =?utf-8?B?QzdLWWREa1FrV0pJeG50SjBRbmNQeFp5YndVc240cndtYzQvSFhkVHpTVTlz?= =?utf-8?B?UmV2cHhCaFRMN0xGdWxXZXNheS9TSlpORDlSKzlEZjN2bVJabW0rVGhQYzRR?= =?utf-8?B?RzJ4YzFPVUhWcHltL240TjJCb0dML252dGNyVS9MVkJUdUdvUGR1VjF5WHp1?= =?utf-8?B?ZU9aV3FVeWQzc3ZmZkVpYS9nWDhHemEwbUZuVmU4L2ZUOHNnNTlSeTF1aHJD?= =?utf-8?B?NHY2V0F2SG9PMCs1c2JwV2h3cmQrR3RReWxRTlZYL3NTY3IxN3pGdnp2amtv?= =?utf-8?B?K2wvVDRrYnBQSWdiTWRkTzRDbnZaWEovenlDYmJudU4ybUh1OVlldXphN1Iw?= =?utf-8?B?Z0s2YWtvSG5QTVh3OUtWR3BMNjVoTFY2ak5pcHRabW9QTUNRTFRxcitSbldr?= =?utf-8?B?eitMVFRHSmJvcTdoTXo0UWliek9GMlM2cmE1aktvNlVPM0dXWWZ6NW9Jbmt0?= =?utf-8?B?NENJUStwVitXNHlMZ2YrcEF4QldZZjFSZnd4NG9EblpGUHp0TnRxMHlYS01M?= =?utf-8?B?UlJZZjhkN1JFWTR0T1VRcks1aVVxR241TEU5cVlRTm5seW1Cd0Z4eDdrVEdM?= =?utf-8?B?aVpiQk5tcmJ4ZEMzdld5M1A4MzAwSnVpdjNVQlJ5Y2NDTUxPUldpMThtQXN1?= =?utf-8?B?b2xGbWtYNFpIdzdIQ0lIUW16NFpXNnZyaWJkQWZVL3dRNUgxRXBnUlVwZnp3?= =?utf-8?B?RTNMNi93Slh3a1Y1amJubG5xQ3IvTTZiRjE0VkVzdmQ3U3BwWVFmdG5uQkFw?= =?utf-8?B?bmpBblhDeDdBOHllSjRVbEROSVRKMXd2aG4xY3NOQzlCbzRreW5OcGdBMU81?= =?utf-8?B?VUEzWnI0VFdKN2ZDeUcwQUcxVGJsQllqQWJ3djNkdytUU241Z3ZRZ2pkcWkx?= =?utf-8?B?ckQyanVaMUl3dkl0eXhkNkFlY3JMdDRSSkhady91L2w2Ulo4ZmFqUUJ3cis5?= =?utf-8?B?WTY4bFRvRklTSTZLajdSQjRMVWgxbGFwV2EybUllWjB6Ym5ZdVI5bDdZdkZq?= =?utf-8?B?TEYrSTFkd0twQnhXbFI0ZFlIMy90K21XczdzbTF5enNqM3ZTNktzdnNRaTM0?= =?utf-8?B?N051NVByS2FBUUhOU1VydmYzMVRQQ244OTBvU0pUcllDODg4TUYrdlZobElZ?= =?utf-8?B?UEhndFduN1NKcXpzRnVqTUZpUTRPODJlL04veFJXaExrd3RCZXFsb09abnNT?= =?utf-8?B?d3UzM0hDU3ZpSnFCalNvWG1TZnhNc3ZmczBoMWRzalMrMVNJYWFDTWxycitz?= =?utf-8?B?a1hrZTlFL1NZcFpzeER5cXFsejlZdWtZcG1RRnVLMFMvU2hvQ21kK2drVXlB?= =?utf-8?B?V2txbVdXZ2NqVUtJQTdTNnhGM3BhQVhramEyRGtGdG44dHJzbjVwTkczK2tt?= =?utf-8?B?WEtWUDNlOWtLQzM4L0lSUkdDbmVCT2g1d2d2Rk9UL1ZLWDJJejBhTEN0eTJG?= =?utf-8?B?OS9hTCtkWXF1clFMMkg2VEgzSTJseVJERVdMcEpCL25WOUs2YTVxLzNpeFpo?= =?utf-8?B?Qk8vUER1V2s2R3FnYmFBWkF5dGZjdWhJSkxpR2FoVzcxYUQ0SGhpM3kzR2ZE?= =?utf-8?B?R0k0N01uUHZPYmoxZzRvWkkzYzlad3pUbk5IcTZ1MURNazVRbElYWEdqZTAx?= =?utf-8?B?Y25QbGtCeU81S1U5cytTVFpLTGdEL2dTZFlnMVBzTHI5cUVQUEtWV0MvUTZ3?= =?utf-8?B?UDlXSHpadFplRERPbThXSjBWUERDcloyT2JwbytYd09vcThaMnIvRHVkM2dy?= =?utf-8?Q?BwBeqsEnMtJ7Ln8N0TQCG8HDkc3ziSLw?= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DS7PR10MB5232.namprd10.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(1800799024)(376014)(366016)(38070700018); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?K1hzaUpRLzlXV0dHdTY2a0N6dlZTNE5Na2ttYnlaWTFXVGN2dGFuSVcvak9J?= =?utf-8?B?WEdOTGZLbEJQR3RIRkRqK2NjRFQ0bWpsc2I4UGNwaFNBR3lQYnZEaWllSTgv?= =?utf-8?B?U1p0bHd4TmRKeE5rVUZZdWY2WEtvQ25VV3dJRVdLNFlacllkQ2lUTTdCOUxz?= =?utf-8?B?TE5PbGJDUk1ac3Q0YXNrZVZwSXl6dFA1aFd0bVBXbmw2R01jSWkzS3VWTWpZ?= =?utf-8?B?OThhSUkwVURYUEpObEtFNk92Smwwc3RzRlk2UlZTM09xSHhTM1NuNEVKWjVq?= =?utf-8?B?VlpGNWFFemRaa3A2aHBNODgzeXMwaXFWalBZblo2VmdyRXZpTUhDQ1NmMEtJ?= =?utf-8?B?R3JCRlVPUE1MZ2Zpc3l4bmRJRnFya01Xa0VESkk3VnkrTmhsSHBSTnFvcnJG?= =?utf-8?B?ZXdLUUdwQzgzN05kN3F1aG9CcEtualR3NVV2Q2NCQzB5cjd5bXVLbTYrVlVa?= =?utf-8?B?cWwvMk9mUGoycmlEaTMwTWNQc1hEcjdZUHl2UHJ2U29NaVQ1YkZmRXdKbkV5?= =?utf-8?B?VHVrTGFFTmUxTDJGSExtd2hMZHB6NzkzQlpsOWJDSUNkN2o1S0ZNb0pLb2t0?= =?utf-8?B?V0gwcDUvajhXWXp0SFNiLzhCSyt0dnF2eG5CMGg5MzVhWHBkNjBFaTJTUXBB?= =?utf-8?B?aStONDFFWXo4Q1pGaGgxNWY4NDgwcHgzalR3ZWl0TjROaEdkYlFMVlVVQ1B2?= =?utf-8?B?ZzAxeDVjdUs4a3dDVjBabkg2YXREZE9XdHhmQUZEK0R3S0pkK2xLVnR6c3d6?= =?utf-8?B?Uzd4NHdKMktOOEhOR21MMG1vWHRLajYwWlBWak0rQ3NVMmhMREo1N3N3TWN3?= =?utf-8?B?QzRDK3IxcFpNUGdISHBjK0ZYd01Hb3FCTEp3c2xYZHhDa0ZoYzZKTWxwR0FP?= =?utf-8?B?OFNVbHR2SkxEdGlIMXY4Tlo4YnY0ODV1MSs2b09HTGpncVhRVmpqd0NpWS9X?= =?utf-8?B?Yk11eWxsRXZyMkNiQ1dTVjRhS2FraUU0TUZsN3ZNb2VwWCtMQmhMTzNkOWpP?= =?utf-8?B?V1k0RldBV3IrSUp3d2gzRXBEaHBBTVhMVDhhdXRUWDdYcEZPNjJWQWU0SEhv?= =?utf-8?B?Z05BQ2lnRDlrelF6aVR4RmtEUHZTN2c5RmpKREJMc2tPcmo1UmpHR0o3MDZH?= =?utf-8?B?NFZCOHhjRzNpZFY1b3RwUnoyMGxYUzZLcWZnQjZDcmJ3Z2w2T2hnZDJ1aUFh?= =?utf-8?B?K2NIVWFyeW1mZXRlcHBiUGUrV3cwZHdIMlozRkJBMXZublIwTGZXOGp3NHpR?= =?utf-8?B?V1BiWmsrU2NYVklNZGU5K3RwZjZNandTKzVSZzBlOFFmTHVuejhvRHZ4bXU1?= =?utf-8?B?S0VVVWhTTENoWWdaeHcyMzJ6ZzdhWFRiY0MwbFYwUDVEaTNBaDluMWJjd1ZB?= =?utf-8?B?akl5WXJvRG5ETmdHRC81aHRjaVdBZDRBT3A5VlFrYUM5ZzZXMEJUTEF3MHQ0?= =?utf-8?B?eHNIVUZRajM0UWZ6cVFHd28yWWtKZkJnOHRUZ0xtN3Bha0JwWFlNSXh3T2x1?= =?utf-8?B?Z2NnOWJiZjJYV200emwyWHVDSlhhUDhTaVVUVjFmR1lOK1BaTENkbitoT2Vk?= =?utf-8?B?MDFaSEpQb3pGQXRMYzRDRnhKNWV4ckl1cUQ5cmc5SkhVQVluS2dqZnMrckxG?= =?utf-8?B?T0ZRZko3eXQvOFlrRTZqRmdoNTRWN0gyS1RUdU1STGl4d1FpVndRM1A1WXRw?= =?utf-8?B?cDIzRktZekV5amJTY0xKZzJ4NVN2SDR3c2M1NXRVU0VudHRXSGF2UHh0QlNW?= =?utf-8?B?cEdrMTZSanBLQThya2JnVkFmWHREbFRiMWo5TTlZUSsvMTBXSHFhdlY2a2di?= =?utf-8?B?WFF5d1BPUHFxQ0IxVExTM2x0ZVlsTlRFcWQ3ek5PODB2Wm03UUZVVVdHVjd6?= =?utf-8?B?SVV3TDVqVHgxSHFIcUpPZTQ4TWVoMW5VRW13UVpXRUp1YmZ2S2FmTDJJZ2RH?= =?utf-8?B?cnlKQVFJSE5zbUZsVTl5Q1hpcHB6eDBFNTIrR29NSkF5N1BLNllSdkM4WDdl?= =?utf-8?B?UEtmQTV0ODdvekkwN1N0UURjNVI3MVVaQVNNVlh6SDZoMmlaN1JqTWIzVytB?= =?utf-8?B?em90aFhwNUdqcjZaemdMMzFZRTEyTUxhcTk1OXpleGhEc0JCek03TjNrVHRu?= =?utf-8?Q?ywHqdnYdozS1QwwVVWgsU8tNg?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: v4X+pUNdcQ74hLHtBnAonNby6sNM4G83USmnC3hLGi3JL5zlDw9E1nak6kNWTuU1sIz7tKGc307TP+IXSYDNZ03dYtINC2OvRHMDyYMM7kCJKSHP3sGBGLagEMnqiXdCck7ZmIEQIvh0pJj1qTg/rIxNV+DVgsc8fis5YhNi+8GOkVbfbaa4BrZESyhixxJxNTEiCRnCroynX4dSXYKNlxBvJA1kfDKQnR2nwmH1fBO4C3be4T8vA2EcoI1WbXO+tPkwqjK5hV389jKXKkM0Zs6SMPQwubCqQGHoSgC2f+N3JN1+OQc0JJRd6W0nhKVaAR7YFmggXmIwmlM3bEWaNS5PZQoGovP343JrLGZO+TDcRymEhdddrhaSdfSugiwEe+GNVRD2Of8EqDAqlXyHIlP43KvgV/sphkIeZ9H2UUpH6UYadRpxMakflH/ez0bcMt//wW74YQl57KBKhleb8Bi2YqWCr1/5Z7hcwfVi2AYD3xcLDpTg9442q34iQzJvUcy9dUcWLUvgh238dp/zRo6jJ/gEpoNs1+X4sn+Pl4pJerhbqMGvdobwhTzm8FaLrblWdeE6BANImj1drPvdKtg/LvDEhpSDmbkjmwVsw5Y= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DS7PR10MB5232.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 3c333460-ded7-4fe8-3917-08dd787934e7 X-MS-Exchange-CrossTenant-originalarrivaltime: 10 Apr 2025 21:46:53.0041 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: umNZ14o/AWu/3n/Ps9StV08TembExsE5UTyiN8XTfbQWIbe2+7oCV6blcHotIH45tsdprVcqyTHRDDUpZwiG5g== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR10MB6773 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1095,Hydra:6.0.680,FMLib:17.12.68.34 definitions=2025-04-10_06,2025-04-10_01,2024-11-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 spamscore=0 mlxlogscore=946 phishscore=0 bulkscore=0 adultscore=0 malwarescore=0 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2502280000 definitions=main-2504100158 X-Proofpoint-GUID: qg1-IxpWgq0nbJzTtYH8hA0_KF25pWpZ X-Proofpoint-ORIG-GUID: qg1-IxpWgq0nbJzTtYH8hA0_KF25pWpZ Received-SPF: pass client-ip=205.220.165.32; envelope-from=drew.adams@oracle.com; helo=mx0a-00069f02.pphosted.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 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, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: submit Cc: "77715@debbugs.gnu.org" <77715@debbugs.gnu.org>, Ship Mints X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.0 (/) PiBJJ20gbm90IHN1cmUgYWJvdXQgdXNpbmcgdGhlIGVjaG8gYXJlYSwgd2hlbiB3b3JraW5nIHdp dGggbXVsdGlwbGUNCj4gd2luZG93cyAoYW5kIG9uIGxhcmdlIHNjcmVlbnMpLCB0aGUgZXllcyB0 ZW5kIHRvIGJlIG1vcmUgZm9jdXNlZCBvbg0KPiB3aGVyZSB0aGUgY3Vyc29yIG9yIHdpbmRvdyBp cy4NCg0KV2hlbiBFbWFjcyBkaW5ncyBpdCdzIHR5cGljYWxseSBkdWUgdG8gYSB1c2VyIGVycm9y Lg0KDQpXaGVyZSBkbyB5b3Ugc2VlIHRoZSBlcnJvciBtZXNzYWdlPyBJbiB0aGUgZWNobyBhcmVh Lg0KDQpQdXR0aW5nIHRoZSBhdHRlbnRpb24tZ3JhYmJpbmcgImZsYXNoIiBvciB3aGF0ZXZlcg0K aW4gdGhlIGVjaG8gYXJlYSBkcmF3cyB5b3VyIGF0dGVudGlvbiB0byBpdCwgd2hlcmUNCnlvdSBz ZWUgdGhlIG1zZyB0ZWxsaW5nIHlvdSB3aGF0IGhhcHBlbmVkLg0KDQpXaHkgZHJhdyBvciBrZWVw IHRoZSB1c2VyJ3MgYXR0ZW50aW9uIF9hd2F5XyBmcm9tDQp0aGF0IG1lc3NhZ2U/IFRoZSB1c2Vy IGVycm9yIG1pZ2h0IGhhdmUgbGl0dGxlIG9yDQpub3RoaW5nIHRvIGRvIHdpdGggdGhlIHRleHQg YXQgdGhlIGN1cnNvciBvZiB0aGUNCnNlbGVjdGVkIHdpbmRvdy4NCg0KRHJhdyB0aGUgdXNlcidz IGF0dGVudGlvbiBfZnJvbV8gdGhlcmUgdG8gdGhlIGhlbHBmdWwNCm1lc3NhZ2UuDQoNCg== From debbugs-submit-bounces@debbugs.gnu.org Thu Apr 10 17:57:44 2025 Received: (at 77715) by debbugs.gnu.org; 10 Apr 2025 21:57:44 +0000 Received: from localhost ([127.0.0.1]:47398 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1u2zu4-00007C-6d for submit@debbugs.gnu.org; Thu, 10 Apr 2025 17:57:44 -0400 Received: from mx0b-00069f02.pphosted.com ([205.220.177.32]:42330) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1u2zu1-000073-9s for 77715@debbugs.gnu.org; Thu, 10 Apr 2025 17:57:42 -0400 Received: from pps.filterd (m0333520.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 53ALatJQ006104; Thu, 10 Apr 2025 21:57:40 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=cc :content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s= corp-2023-11-20; bh=psYHMDANZ1CNIWheUsEtf/AIWB2/sS8hBQHgHyoyFq4=; b= NQ4bMjuI+/jItLXZQ9KILLmxdrbIuttCBxO80WWJooMkGsuDBSrh/VPiBYqIjtOR d9sEiZzdjuHas75tvhhC8iR/M7VPStHh4SAEVRZqrttK6wtmiSGWOF+Kzfj4mnAO 77i3Anhngx51/2HxvjwkKDrbDetZt6tLjCPSIaEf4zX9/Vt1cqWKt6yKyYZmEJMJ kX9BSJ1onRx7r6Ouv4PQmNJgonhUdlGDAkuHJ6/E7mcm6PuLtHLN6v4WY4G0B86o ICmkZ4o/CFKPJBL8mk/4LNcIWnl+awiwavtJgON2JJZnQ1D/htW8QndBd6X3e7th Za7DnN7TCuLeYAF81iJjQg== Received: from phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta02.appoci.oracle.com [147.154.114.232]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 45xp28g2ed-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 10 Apr 2025 21:57:40 +0000 (GMT) Received: from pps.filterd (phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (8.18.1.2/8.18.1.2) with ESMTP id 53ALVMN4016314; Thu, 10 Apr 2025 21:57:39 GMT Received: from sn4pr2101cu001.outbound.protection.outlook.com (mail-southcentralusazlp17012015.outbound.protection.outlook.com [40.93.14.15]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 45ttyctwwn-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 10 Apr 2025 21:57:39 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=NAA2b+/LMexSOAWV4Kcd3lw0OnPKM+xtSjgl/csCaiuczvlgAWsVQ4ucA4V4Nfmn+RWH2JwbWlVXtW6q8nHTVzSDNONbjNH0eTUe0Lp8LXPzrfkja6D3ECCGrskXBuxGrFYG7TF5UMcxh+tI9CHyKW6goWQzhfjPT8ZbfxCog4FH6goHfpm11G/GFuKlR9+ZLKARZ3g3ji1+GYsNOtc85rn89ssxYYYqsnkbujqy3zQrKMq4GgMXhrpdrLUMIVdN5QVhiezF/kYTEGZcCC8Lz6y+4iNI1JdA+Egzg5LcanZdVpyn3I4GRZB0lm1wFzDqj12S1Imv7AUK6yOCy2vilA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=psYHMDANZ1CNIWheUsEtf/AIWB2/sS8hBQHgHyoyFq4=; b=kRXKTdv6hn38R0PsRlvO2NlJN/+NlJk+mlRPZCraXEH9sCuKGuiIvJEscPzm9uyEJBBbLcX7CBUW/TqmcjLbPxBROdGmNcvlyd+6D0WmNnTIadsOkBXgUzxbgQGIz2Lt7Fz02T7aJ+ieGlvaeeW2FG3hJFleQsr/Wmq+JQvkIenvqr3AILBdnhySDX9M1WriOMnVRGaLgf+vcclSIcSeX4kTg2FESva4WDismA9gBJxweFwDtPxt/WJ9VGIL6ZeAC7LFm5KhtWxtBxuTKY3+DwHGD3mD2TpBqZbs47zOZNJuTlRz76Dv34wihBPEaUzr6u1p7xEw4iRDjxErQGJL3A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=psYHMDANZ1CNIWheUsEtf/AIWB2/sS8hBQHgHyoyFq4=; b=wVEHmvKc5uQBQBe0uQmJhUZaviU1lbO4ToEwb6XFg9ALjnXl3Ripoiy5CnZkyybBJEtxWahKQDtog0yv/99AK0ftgdMXAWO5DvPhx6dM9tu2fvYAJuYVZ/2SVKww2/8XlGbXP/ppfrlicSi485jNPROsxJBqjj7j8SOkRlp3lEg= Received: from DS7PR10MB5232.namprd10.prod.outlook.com (2603:10b6:5:3aa::24) by SA1PR10MB7816.namprd10.prod.outlook.com (2603:10b6:806:3a3::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8632.21; Thu, 10 Apr 2025 21:57:37 +0000 Received: from DS7PR10MB5232.namprd10.prod.outlook.com ([fe80::8303:658f:14f8:2324]) by DS7PR10MB5232.namprd10.prod.outlook.com ([fe80::8303:658f:14f8:2324%4]) with mapi id 15.20.8632.025; Thu, 10 Apr 2025 21:57:37 +0000 From: Drew Adams To: Drew Adams , "eg642616@gmail.com" , "77715@debbugs.gnu.org" <77715@debbugs.gnu.org> Subject: RE: [External] : bug#77715: [PATCH] Add ring-bell functions for mode line and header line. Thread-Topic: [External] : bug#77715: [PATCH] Add ring-bell functions for mode line and header line. Thread-Index: AQHbqknqRw/6hZ6F90+28Fr3z7Y8+7OdatuggAAGMOA= Date: Thu, 10 Apr 2025 21:57:37 +0000 Message-ID: References: <87r01zlx4n.fsf@gmail.com> <874iyvetl1.fsf@gmail.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-traffictypediagnostic: DS7PR10MB5232:EE_|SA1PR10MB7816:EE_ x-ms-office365-filtering-correlation-id: f34997fd-b07f-4d89-68aa-08dd787ab4d5 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|366016|1800799024|376014|38070700018; x-microsoft-antispam-message-info: =?utf-8?B?TWtMaFVsRlQ5eHg3MXJQTWJpcnVidHN3N2dOUG4wUk9Ed1Bwd2p3STE3S2xr?= =?utf-8?B?aW9NRHREckdneVMwcGE4QWZ3eG51YzM4UnhLMXZYODF6L1Z6WlFocFNrRC9R?= =?utf-8?B?SFJRWXJnbERSKzMxd09RTE0xb1dpRWw3QmdaSE1MWGRHOVVpOXgyTDBuai9C?= =?utf-8?B?TEZYcGx5VllNMmxiSmNMYjJtSmg2WXhKVW9ZeDNOZ0lxVzUxOHFXWjFoRTlB?= =?utf-8?B?MHpMQ1JpNkpGL0d0N0gxU3JWM3RmT2xvSUZFbm9xaWQwMURpNTY2d0NJNk92?= =?utf-8?B?Z1VOMDAzYzU2eGNZTUlITTVKM0gvNk41OTlmbkRsVUhvZjg0VXdEWFNZeXBD?= =?utf-8?B?bXROY2tmcjF5ZmFxdXpOTnJlbkFia2sycTNGa1BlVjh0RWduenBSSDFyQ0Fz?= =?utf-8?B?ZUNyRy8yMllFUlBlb1N6WlRiTnNpL2RrK2FmdTE2YVhkQ0VTMWZKOWFLSGRu?= =?utf-8?B?NTMxNjdDMjg3M2QyRWgra010T3hrVUpBSGZLcE1MYkMzbHFUWDRZdTI5cjQ3?= =?utf-8?B?YjFWU0lvN3lzSElteHc5M3U4UkNkcUxET2lmaFVlUWtrMDQ5TFRJR2ErOWl2?= =?utf-8?B?UzBTcEdFRGRHeHZJRDNTb1JPUEtoY1NmN25rT1MxRTRaYm14YkQ1c0hnd2s5?= =?utf-8?B?aDU4d3VYZFpQTmVPZGR1WGU1RGZBUytGZ2M2em5RWnlUd2tsdUNKd3VqZE00?= =?utf-8?B?V1hhYW9ERkljS3J0SWMvQWhUQUVrU29BWGEwNHB2ZmpVSkRjZytQcllTY2lp?= =?utf-8?B?ZytrMHZrYVlST2dnVExlQXk3SktzZkJOSWNxYmYra2FRaW4zMGxZbXNTdzRK?= =?utf-8?B?Ujg1Y2xzQW9sWHU1Zm9ObUFLbUhJVmovT1NGYlVUM3MvSVE5Tjl1REdSNWQ3?= =?utf-8?B?YkZ3cW5Id2JNQU8rNWlmcmMvalZtay9ieUI4REJUYWpKUlRWanZDN2szcHBU?= =?utf-8?B?dG4wQjN2WU5QVVc0VXBvZncxU09uWElkWWU3YTRjMGNkbGxObDh5RVY2RytT?= =?utf-8?B?ODlHTE5nbU1tQXkyVU5nN2dMNTFMeTBDNS93dU5sMDMwYUtxYSsycU1TTmZw?= =?utf-8?B?eE1WaGJYQXJ5YWJMbEg4akdMT0l5MXh5T2RZY293T21XRzRBYzdTK2M3THdB?= =?utf-8?B?ZTE3UTRIaE1SNjJzZ3VaOXU5dVloSlhLeGxaTnpTS2dzM0JEQ3B4WkFwSW02?= =?utf-8?B?NFRTclE1dFdPdStJM3ZxTXJuRXNjS0tDR0JadXlVZm45LzNlaHVTbUZTU1FK?= =?utf-8?B?ZHZ0TjNIQ2RVWlNzSjFCb0ZFYjFDWkhsSVRGNUhraExEZlNKZlBiMTNpT0V2?= =?utf-8?B?ZGM1T2NrRE9IZmNRblk0SFdIalliOTBpUmZCUy8rajd1Vzk2b0JWcG5XdG42?= =?utf-8?B?Wis3Y09ZalczMm5CUFAxcGpvSDZKWVZTeGZiYUVSYmN1dFVJOTBWcHRYU2JN?= =?utf-8?B?TS9mcHJjUnI2R0NWZUJNaGdWU2diT3ArcUIvcHJGdVZDVnhlL3hxeWcxUklL?= =?utf-8?B?RnU1WHAwUHR5ZEtmQXgyRFVHeVFGTi9rb2svN096L1hZZG4zWE8vNU9WamZj?= =?utf-8?B?eW1OeWNRVmN6RkxZMnpiYUd4NDRPcUxBMlFNejc1QndSeElYYkxtVWJGNEZ2?= =?utf-8?B?bmFNQmxPNjl3NjlJUnZQNjJRUHllWEhVK1AwZDVXMEJiRVJtRktNWkg1NUtK?= =?utf-8?B?eGNtMEY1QkRpUG9FRVBtbTZMdlQxMlVmRmYvbmVSUzFjdmdBNlQvZWpOc3Nw?= =?utf-8?B?NDlkQVJVazNCSld6OEY5d0xVL2RTYU0wUnVlTEdER0N3bThKRUdaUmM1bXBr?= =?utf-8?B?S0VFN1Z6aXJ0TENQaVdoSG5IMG5HVUZ4OHE0SitxK2tlVyt2VnN0RE5oaTQx?= =?utf-8?B?c2V4WDZ0b0xlU0FWSUZncFJiajZYK3Jkck5Rb1BhY1l2aUJtN2NkRkk5alAr?= =?utf-8?Q?pc8TkEfk06SZyeBS/6uADVNkQK2zGDmH?= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DS7PR10MB5232.namprd10.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(366016)(1800799024)(376014)(38070700018); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?K1RlRXpWa3pIRHV5WnlhZmxtT0dDeG40RHdYeTF5bGNZNmpaL0JQazZmU0Zj?= =?utf-8?B?TjhUMzZVSHFZVmkrakZxVExxQkhqL3lPVEtSNkxBY2lpU3dKQUsyY2w3VFZ6?= =?utf-8?B?OFdNOE9UN0RLaDBvbFgyRDFzZTd3QUtTaUdIdEhTM1M3RG5iTS84NWJtQVZB?= =?utf-8?B?NUFTc2lYYkJIZmMxR0RXV0d0NXFiN0FEVDRNNlhCYk90eDI1UkYzNEpMMUlD?= =?utf-8?B?T0J2ZndwK1FkWWtRakhMbnNXbG9OT3FKU1JBUlIyWFh2R1hiTUZmZ0dkOXIr?= =?utf-8?B?VlJubUJWLzZYd2hCMWJWTllkWnFEcXBHL1YrUzYzRllMb2tXT1g3a2JOa0Jm?= =?utf-8?B?N3lybWVmZnhyTTgwTXNJbnNsdVlJOUQ4TnlsM3Z4cysvVllGUXdRRERYU21I?= =?utf-8?B?Umd3ZlYyNTRZOUM3bzlEKzJaQUorOC9wVFQ1UVpwRHVnMGlCTExoUkVnSHV4?= =?utf-8?B?MGUyQlpPb0FUK21ON2NRRnNRNWdlNm1ZNGRDbzB5czVpL2dqWGZUajNKanFO?= =?utf-8?B?Q2lnZnpvbWlpZGwycnVocitXVHNEODQ1Y2VWTTE3VXoxM1ZNTUVKTE9XNGZ3?= =?utf-8?B?RnBBY282a0hZZ1pNKzZPSmdsRjJ1WnMyOFlteEFTZG9FNnpiSDVUUm9aKzVs?= =?utf-8?B?ZHgyN0tFMWpieldLY05Cc2E1RStvLzFaaXozMm8wOVpySFlHOVVEbEtNK0lt?= =?utf-8?B?eGUzdDRSVjJPbG40bWRZeUFNNFZLaUdXR2cyLytuLzdzUzlCN0NMWjc1bDFH?= =?utf-8?B?dG1lb2FYeWFsRDNueEZzbktBWHJua2NRNHlHNGt2V01VN0QxOC9jWWxyNHp3?= =?utf-8?B?Vm1tc3VSWFh3TzVyVmRidUpXTWxMSWFINE9IUHl5aU5jcitTK0cwZEM4Mk42?= =?utf-8?B?YzVSL1VKOFk1dU1NWVQ4Mkd2NVhiUGhOWmhOWko1Nmh3aFBhVXpOUG9NRFRG?= =?utf-8?B?dVVBUjhhOUxsbXVoSWU0aG5FdzRDZXdYYTBUZ2ZZMmtSdm91VXptT1JmMEdi?= =?utf-8?B?Tk9nZmJmdEluS1NSWGplOHlxYjY3bmgxa2g3SDJLN3k2K3Y2OVZhSFJIemQ2?= =?utf-8?B?UmNxMDNhemo0ZmJ1NU9oZDMzM1JaS3g0ZGhIK1dGQzAvSzRaTzJxUnVwaHJx?= =?utf-8?B?bWJpTTJrc1dmT2phV1Vtc2lycFJ4OFBmeksyQjZ4NjV1UHJsWlpwSEhEZ1BY?= =?utf-8?B?aVRRM3hpM2V0TGtRUkdRQ0d3c0xvcGpRQWhkOEFRNWJnMDNjaFNVb3I1SGRk?= =?utf-8?B?a0lDL2pUblNoY0FnVkZsZW5XV1hKOWpJSkRvS3JUQUJoVTRLZk5ZVXJGRHpp?= =?utf-8?B?MEJZblhOWTY3RUlZV3Yrek9LQlp0L3BUWnk1ZHUvZ0pnZVZQQUpGanlUMjFS?= =?utf-8?B?cFI1MUtCcldOVXI4ajUzVmtXU0RvbDVnclBjY0toTXV1MDhtMkN5RHh5bmZw?= =?utf-8?B?ZC83aHJtdDRGNXgwNklPeDh4VWFzcnpwbldQNDZhTEpNdUdaL3RVbEVmOUFR?= =?utf-8?B?bTZMOEV0bTZEVE5YRFBlSXZ2RlZFeTdTUmtKdjJaSVlRT2xXdU5HbWt0OW5D?= =?utf-8?B?WXVMQTJkVHB5cU90aEZlQWY3QU9IWEM2Vm5EakxOQ045dTUwdktvRExWandO?= =?utf-8?B?Y3BtTW5NazM5VDAwVkhrc3A2UjVNVXJRQ3hWYU5GVXoyWXZKYlBCV05MOHRp?= =?utf-8?B?WSs1QlVPVDNrVTNKRURWWDRYdmZodlFsRERaVUcrQ3BWNTV2Unl5dExsZWZT?= =?utf-8?B?eW5BckF1UlFTU1BmUWFob00zS0FhQVhXbkhiRVFYMVFBQUNnOG1LZ2tlNDht?= =?utf-8?B?RThXMDJRb1UwbzQ1NHU2b0kwTnU3V3E4K21FUGFMb1NLWHkzbXJqZnZpZzBY?= =?utf-8?B?MHMwenVzbTk3UzFTYlZYZjc1eG1TUFBSdUNYR1dGUko0MTlPQ29aaGJ6cnJl?= =?utf-8?B?Y2lZdHluZ01zU2NtdGZObHRKYkNFL0hPWFd5a04zWHo5SWNmcHllck4rRnZR?= =?utf-8?B?dEZxaXFKUXYzTGdmcGZUWnMyYkFYZ2RPdjV4YldLSDRxR3dsOHdJdU8vdTBJ?= =?utf-8?B?dSs4MDZpTEcwYTNyV29FRGthb2pTUVgwU3NoRmZvSkQ0NTM2MXlsMUNYZFo0?= =?utf-8?Q?5bDjJnED4p9/8TNdFEGEqmA+q?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: cuzq2EM5sUtw6LxzBKSkgUsx3MOuE/DKFhkE6ho4M+2b0zCuQE1GAn8sGLx/Zu7zXVmlm7JyTtz2eYO1vtZzjmcBEAMPrhivUlRQfeqhRs2miJo2f1BYktXok31CPOIQShsnHIwowmmSMPX4z8tJSPCqsK79GG9I6lTOHgUQHWQNCDM+9QvP1pNepwhnXTvGVfHKnLcYo4LMw/jmmyzH9ONoPsqcffu4WA95r9iJBu1Q7cYGw82jK/SXPMcoUXw5O648ruhRTo0I0+vIozyG5PEWGi10tHoaoy932O54/D+iphvEW9Y3oVO5sDaFArKiRriMX+XWUobrSO8C8JKfYIicecajaIhiMby+E+0ompBB8U4PBWLD0b267JrKE/FJHl78NEfH5Ss48D90WrWLMfip8d1Tpx/3XJjvHuasszJ+iahB/IcKp42yRAZGJbzrYK744g/rQ9Fy5yk6q8eIMHhsknSkgpgoKEdAzxMy0lmT53xyuFM3HNi10e0NatUU0IIIPHwWBORcWuhBmU4EfncYU5/JAqu7kft0YQsLr7EbgCMfYWdA5BO7CcXu+TpvC14AtQiczOIh54DaAAiBnIhklrfn+JLpr5xgGcfiLNU= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DS7PR10MB5232.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: f34997fd-b07f-4d89-68aa-08dd787ab4d5 X-MS-Exchange-CrossTenant-originalarrivaltime: 10 Apr 2025 21:57:37.1115 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 4HyjMZX5rrZKBsQg96ehUObhJ8jQPAsfjrw1ZXK9spsIF/OgvxSSR49ZdjmE7Zdkr5QXo9KrS/253pu1Wsp6bw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR10MB7816 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1095,Hydra:6.0.680,FMLib:17.12.68.34 definitions=2025-04-10_07,2025-04-10_01,2024-11-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxscore=0 spamscore=0 suspectscore=0 bulkscore=0 adultscore=0 malwarescore=0 phishscore=0 mlxlogscore=925 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2502280000 definitions=main-2504100159 X-Proofpoint-GUID: 4bChisTCRD48aiE3Feex0UirfOGS6h8C X-Proofpoint-ORIG-GUID: 4bChisTCRD48aiE3Feex0UirfOGS6h8C X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 77715 Cc: "shipmints@gmail.com" X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) DQpJIHdyb3RlOg0KDQo+IFdoZW4gRW1hY3MgZGluZ3MgaXQncyB0eXBpY2FsbHkgZHVlIHRvIGEg dXNlciBlcnJvci4NCj4gDQo+IFdoZXJlIGRvIHlvdSBzZWUgdGhlIGVycm9yIG1lc3NhZ2U/IElu IHRoZSBlY2hvIGFyZWEuDQo+IA0KPiBQdXR0aW5nIHRoZSBhdHRlbnRpb24tZ3JhYmJpbmcgImZs YXNoIiBvciB3aGF0ZXZlcg0KPiBpbiB0aGUgZWNobyBhcmVhIGRyYXdzIHlvdXIgYXR0ZW50aW9u IHRvIGl0LCB3aGVyZQ0KPiB5b3Ugc2VlIHRoZSBtc2cgdGVsbGluZyB5b3Ugd2hhdCBoYXBwZW5l ZC4NCj4gDQo+IFdoeSBkcmF3IG9yIGtlZXAgdGhlIHVzZXIncyBhdHRlbnRpb24gX2F3YXlfIGZy b20NCj4gdGhhdCBtZXNzYWdlPyBUaGUgdXNlciBlcnJvciBtaWdodCBoYXZlIGxpdHRsZSBvcg0K PiBub3RoaW5nIHRvIGRvIHdpdGggdGhlIHRleHQgYXQgdGhlIGN1cnNvciBvZiB0aGUNCj4gc2Vs ZWN0ZWQgd2luZG93Lg0KPiANCj4gRHJhdyB0aGUgdXNlcidzIGF0dGVudGlvbiBfZnJvbV8gdGhl cmUgdG8gdGhlIGhlbHBmdWwNCj4gbWVzc2FnZS4NCg0KYHZpc2libGUtYmVsbCcgaGFzIGJlZW4g YXJvdW5kIGZvcmV2ZXIuIEZsYXNoaW5nDQp0aGUgZW50aXJlIGZyYW1lIChvciBhcyB0aGUgRW1h Y3MgbWFudWFsIHNheXMsICJ0aGUNCndob2xlIHNjcmVlbiIpIGlzIG92ZXJraWxsLCBhbmQgaXQg ZG9lc24ndCBkaXJlY3QNCnlvdXIgYXR0ZW50aW9uIHRvIHRoZSBlcnJvciBtZXNzYWdlLiBTaW1p bGFyIHByb2JsZW0NCndpdGggdGhlIGFsdGVybmF0aXZlcyBJIHRoaW5rIHlvdSdyZSBjb25zaWRl cmluZywNCmV2ZW4gaWYgdGhleSdyZSBsZXNzIG92ZXJraWxsIHRoYW4gYHZpc2libGUtYmVsbCcN CmJlaGF2aW9yLg0KDQpBIG1vZGVzdCBhdHRlbnRpb24tZ3JhYmJlciwgb3V0IG9mIHRoZSB3YXkg aW4gdGhlIA0KZWNobyBhcmVhIGlzIGJldHRlciwgSU1PLg0K From debbugs-submit-bounces@debbugs.gnu.org Thu Apr 10 23:01:49 2025 Received: (at submit) by debbugs.gnu.org; 11 Apr 2025 03:01:50 +0000 Received: from localhost ([127.0.0.1]:47957 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1u34eL-0007vW-7k for submit@debbugs.gnu.org; Thu, 10 Apr 2025 23:01:49 -0400 Received: from lists.gnu.org ([2001:470:142::17]:56628) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1u34eH-0007v3-MU for submit@debbugs.gnu.org; Thu, 10 Apr 2025 23:01:48 -0400 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 1u34eB-0001qh-Hm for bug-gnu-emacs@gnu.org; Thu, 10 Apr 2025 23:01:39 -0400 Received: from mail-oi1-x244.google.com ([2607:f8b0:4864:20::244]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1u34e9-00038b-MH for bug-gnu-emacs@gnu.org; Thu, 10 Apr 2025 23:01:39 -0400 Received: by mail-oi1-x244.google.com with SMTP id 5614622812f47-3f9a7cbc8f1so490273b6e.0 for ; Thu, 10 Apr 2025 20:01:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1744340496; x=1744945296; darn=gnu.org; h=mime-version:user-agent:message-id:date:references:in-reply-to :subject:cc:to:from:from:to:cc:subject:date:message-id:reply-to; bh=RPAGW7v1sahg1W3fHr3w12So9O4u4kvXiJUJkLGhK2k=; b=fDr6cdGa0WsZIhUKNpkk8DwaSXH5VVOgA/MCMKy3JIwsgCxpbTATfAirmI5Sk4pEXh /c9yJz0jZf6qo+bC7JU6Ht7rMUZbeZpDj7X0rHG5jVppX5ekCM0Qs2Fw/xpZyE/iW0i3 kCKtaBNaywv9ytuN6fKdLkDgvzbuyxrT0RlbWnMOqpqwOqYYMtwDgBDROC6g8/FIGsLx oxLmM3eHZ5tlAw8+iDUIfiwqhPOhxnO/xs489ZfrzJAm4KS1ZoaJbrsL/MdcSjPdykkc p4cc5KbyE5f3L8J7mXIp5j0+f6Y+UqpzRjTsifkCe+qTkZQelFUJze0niLgwSR3eEXwD OBRQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744340496; x=1744945296; h=mime-version:user-agent:message-id:date:references:in-reply-to :subject:cc:to:from:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=RPAGW7v1sahg1W3fHr3w12So9O4u4kvXiJUJkLGhK2k=; b=vcUvW/UipDeDrgvW7q7RAaG/52oywlL/OA7k0pmCVtf1/6TD0hev949WHDiWZL6drz m2Cfux3m8Y2TH90V5Y/HuKqf1H64adB+jWv5RLTbC6UPfdy5mPFDVQ9mVmbMz2GidhKz No794jJU0vt4m3Pq9HXyJGfE+lXIRmFELrWWyX/mdLRsznEIGLel5j1+s7NlcBVdR7t1 0oqpZ9BS9No2BucN9wOyqQfld04HJQu4944vVoYdbtqWeoJe8XZRLEHQLOVORAt6z+m0 vapVEoL1WvZm4ZpawFA+xa6m5guiJ35NAj8048qt8GYo/LxOk4dB3liEwQOsEDSVdJ5R gjNw== X-Gm-Message-State: AOJu0YxRhI9GpVKPUbRCz2btfFS1IRZ4GgGeT/HKaA73fFeVooXvDKYc t8lbfeOTOO05TEn9q359AlAqVZopFavq4nEZUxEM8piWVNWv4/h/ X-Gm-Gg: ASbGncslng+UO0mlPAZP3dVkm1gmYi0kSGij42SCnrcS2vX6CcYhwEbrzi/OuGGQI8j cxAvffH/SNtJNOkFqYT3DFquAZR0fN6+KAf5IGYcGq0jZDwRH+XyezW3/vSacwAeQ9WkpmlGBba i1ogLWD6yHlxZBGFro45kO/yED9a4i+sYyr53QMXXum6JZpc+OCTLKhdS6lLw6j6pQO5bF15A7g nh9K4BJ1jnZ73kjV/FR2vBZ9VRVMj+bCleGbRJfkfSYjITLJKTy42IUF/QvvFW4UnVULPEPF+Zz eegGPZeS X-Google-Smtp-Source: AGHT+IGR0QrWirijt9bSFgUmFvzpwBCU1Jxqx+fVw7KXeCsv9SZZlJU5J1uuvPx0djR6aSBsH6gJBw== X-Received: by 2002:a05:6808:1b26:b0:3fe:aecb:7110 with SMTP id 5614622812f47-400850f95bbmr575897b6e.37.1744340495951; Thu, 10 Apr 2025 20:01:35 -0700 (PDT) Received: from fedora ([2806:10ae:e:79da::1]) by smtp.gmail.com with ESMTPSA id 5614622812f47-40082515ebesm237552b6e.11.2025.04.10.20.01.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 10 Apr 2025 20:01:35 -0700 (PDT) From: =?utf-8?Q?Elijah_Gabe_P=C3=A9rez?= To: Drew Adams via "Bug reports for GNU Emacs, the Swiss army knife of text editors" Subject: Re: bug#77715: [PATCH] Add ring-bell functions for mode line and header line. In-Reply-To: References: <87r01zlx4n.fsf@gmail.com> <874iyvetl1.fsf@gmail.com> Date: Thu, 10 Apr 2025 21:01:33 -0600 Message-ID: <874iyvv1te.fsf@gmail.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/31.0.50 MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" Received-SPF: pass client-ip=2607:f8b0:4864:20::244; envelope-from=eg642616@gmail.com; helo=mail-oi1-x244.google.com X-Spam_score_int: -17 X-Spam_score: -1.8 X-Spam_bar: - X-Spam_report: (-1.8 / 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_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: 1.2 (+) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: Drew Adams via "Bug reports for GNU Emacs, the Swiss army knife of text editors" writes: > I wrote: > >> When Emacs dings it's typically due to a user error. >> >> Where do you see the error message? In the echo area. >> >> Putting the attention-grabbing "flash" or whatever >> in the echo [...] Content analysis details: (1.2 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [2001:470:142:0:0:0:0:17 listed in] [list.dnswl.org] 1.0 SPF_SOFTFAIL SPF: sender does not match SPF record (softfail) -0.0 SPF_HELO_PASS SPF: HELO matches SPF record 0.2 FREEMAIL_ENVFROM_END_DIGIT Envelope-from freemail username ends in digit (eg642616[at]gmail.com) 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (eg642616[at]gmail.com) X-Debbugs-Envelope-To: submit Cc: "77715@debbugs.gnu.org" <77715@debbugs.gnu.org>, "shipmints@gmail.com" , Drew Adams X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.2 (/) --=-=-= Content-Type: text/plain Drew Adams via "Bug reports for GNU Emacs, the Swiss army knife of text editors" writes: > I wrote: > >> When Emacs dings it's typically due to a user error. >> >> Where do you see the error message? In the echo area. >> >> Putting the attention-grabbing "flash" or whatever >> in the echo area draws your attention to it, where >> you see the msg telling you what happened. >> >> Why draw or keep the user's attention _away_ from >> that message? The user error might have little or >> nothing to do with the text at the cursor of the >> selected window. >> >> Draw the user's attention _from_ there to the helpful >> message. > > `visible-bell' has been around forever. Flashing > the entire frame (or as the Emacs manual says, "the > whole screen") is overkill, and it doesn't direct > your attention to the error message. Similar problem > with the alternatives I think you're considering, > even if they're less overkill than `visible-bell' > behavior. > > A modest attention-grabber, out of the way in the > echo area is better, IMO. I think these features could coexist together, it wouldn't hurt. Flash the mode (or header) line for bell it is something that people have wanted to have, see packages such as mode-line-bell, doom-themes (both in MELPA), and nano-bell. I made my own implementation of echo-bell: --=-=-= Content-Type: text/x-patch Content-Disposition: attachment; filename=0001-Add-ring-bell-function-for-flash-faces.-bug-77715.patch >From af63c6ba42160de07c75cf3e2c483551798678b8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?El=C3=ADas=20Gabriel=20P=C3=A9rez?= Date: Thu, 10 Apr 2025 11:38:21 -0600 Subject: [PATCH] Add ring-bell function for flash faces. (bug#77715) New function for flash mode line, header line or echo area once whether `ring-bell-function' is called. * lisp/faces.el (flash-line): New faces. * lisp/simple.el (flash-line-length): New user option. (flash-header-line-bell-function, flash-header-line-bell-function) (flash-echo-area-bell-function): New functions. --- etc/NEWS | 20 ++++++++++++++++++++ lisp/faces.el | 14 ++++++++++++++ lisp/simple.el | 35 +++++++++++++++++++++++++++++++++++ 3 files changed, 69 insertions(+) diff --git a/etc/NEWS b/etc/NEWS index c08b0052639..4affd9c9d40 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -1716,6 +1716,26 @@ change their face if the current line exceeds the 'fill-column'. The new face 'display-fill-column-indicator-warning-face' is used to highlight the fill-column indicators. By default this is disabled. +--- +*** New function 'flash-mode-line-bell-function'. +This function when called will flash current mode line briefly. +Intended to be used in 'ring-bell-function'. + +--- +*** New function 'flash-header-line-bell-function'. +This function when called will flash current header line briefly. +Intended to be used in 'ring-bell-function'. + +--- +*** New function 'flash-echo-area-bell-function'. +This function when called will flash current echo area briefly. +Intended to be used in 'ring-bell-function'. + +--- +*** New user option 'flash-line-length'. +This option controls length for flash the mode line, header line or +echo area. + * New Modes and Packages in Emacs 31.1 diff --git a/lisp/faces.el b/lisp/faces.el index dbc0a2e04f6..cc1767fa41d 100644 --- a/lisp/faces.el +++ b/lisp/faces.el @@ -2745,6 +2745,20 @@ mode-line-inactive :group 'mode-line-faces :group 'basic-faces) +(defface flash-line + '((((class color) (min-colors 88)) + :box (:line-width -1 :color "brown" :style nil) + :background "red3" :foreground "white") + (((class color grayscale) (min-colors 88)) + :box (:line-width -1 :style nil) + :background "grey10" :foreground "white") + (t + :inherit error :inverse-video t)) + "Basic face for flash mode line or header line." + :version "31.1" + :group 'mode-line-faces + :group 'basic-faces) + (defface mode-line-highlight '((((supports :box t) (class color grayscale) (min-colors 88)) :box (:line-width 2 :color "grey40" :style released-button)) diff --git a/lisp/simple.el b/lisp/simple.el index 7037158df8d..6a8ea94cf14 100644 --- a/lisp/simple.el +++ b/lisp/simple.el @@ -9383,6 +9383,41 @@ auto-save-mode (and (< buffer-saved-size 0) (setq buffer-saved-size 0))) +(defcustom flash-line-length 0.05 + "Length (in seconds) used for control mode line and header line flash time. +This length is used by `flash-header-line-bell-function', +`flash-mode-line-bell-function' and `flash-echo-area-bell-function'." + :type 'float + :version "31.1") + +(defun flash-mode-line-bell-function () + "Flash current mode line as ring a bell. +Intended to be used in `ring-bell-function'." + (when-let* (flash-line-length ; Ensure time is non-nil + (cookie (face-remap-add-relative 'mode-line-active 'flash-line))) + (run-with-timer flash-line-length nil + #'face-remap-remove-relative + cookie))) + +(defun flash-header-line-bell-function () + "Flash current header line as ring a bell. +Intended to be used in `ring-bell-function'." + (when-let* (flash-line-length ; Ensure time is non-nil + (cookie (face-remap-add-relative 'header-line-active 'flash-line))) + (run-with-timer flash-line-length nil + #'face-remap-remove-relative + cookie))) + +(defun flash-echo-area-bell-function () + "Flash echo area as ring a bell. +Intended to be used in `ring-bell-function'." + (message + (propertize "ring!" + 'display `(space . (:align-to right)) + 'face 'flash-line)) + (sit-for flash-line-length) + (message "")) + (defgroup paren-blinking nil "Blinking matching of parens and expressions." :prefix "blink-matching-" -- 2.49.0 --=-=-= Content-Type: text/plain -- - E.G via GNU Emacs and Org. --=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Fri Apr 11 08:01:22 2025 Received: (at submit) by debbugs.gnu.org; 11 Apr 2025 12:01:22 +0000 Received: from localhost ([127.0.0.1]:49260 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1u3D4T-0007vi-Tv for submit@debbugs.gnu.org; Fri, 11 Apr 2025 08:01:22 -0400 Received: from lists.gnu.org ([2001:470:142::17]:35028) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1u3D4Q-0007vD-T1 for submit@debbugs.gnu.org; Fri, 11 Apr 2025 08:01:19 -0400 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 1u3D4J-0006MR-3m for bug-gnu-emacs@gnu.org; Fri, 11 Apr 2025 08:01:12 -0400 Received: from mail-qt1-x82c.google.com ([2607:f8b0:4864:20::82c]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1u3D4G-00042Y-RT for bug-gnu-emacs@gnu.org; Fri, 11 Apr 2025 08:01:10 -0400 Received: by mail-qt1-x82c.google.com with SMTP id d75a77b69052e-476805acddaso17382031cf.1 for ; Fri, 11 Apr 2025 05:01:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1744372865; x=1744977665; darn=gnu.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=GdShivn3nEAo7vf90fEjrmbin+MDLhEH9AsAijWCCK8=; b=cd/TjuNKqAOLiCnSpt1EkZ2aV/wnjuPF+GgUV3foLs6H/I6iznLy3e8M+Q5zYvL6jJ wNmr2RJY7kCfbcUDHO4vuVRvIJdY/tnzyNk2OBhFpKXpNgmgXcl42FNpu65HpdRvkUea Z43XnQfjCuSFI7FsIJTazmy4Ex9TFoYrL2aP1/KB43Z2wzVSTOAdv50qGN3rSqEE/4fQ jJYWdaWsa/GDxfyut/GgsQfpI1gDhPwY/MyNLFoN3xsrpUPTq6rVsZ3gfWqDvJW494iX lHltJY5x4N4gTq8/gfGcqqiOHQy2X9wlB1H/U2Iyvx0U9e8u7wO5k2rkDfSiOUV/LFAE qdhQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744372865; x=1744977665; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=GdShivn3nEAo7vf90fEjrmbin+MDLhEH9AsAijWCCK8=; b=ACCJ10IC5bBYTilDAqrhK8iKzG/5tOid9FY/2v6ZtckDWkZ/fBEGqrfm6PpXf0cRbz 8fWUx3OAmD1sWwBYK5yrY+aiUPCmWsgGYKcaQ8EXf+u1L4CE6EvgVBsCZvUxDywJ3EHj 6vWZUK7ddG4nvFtufSYteLuT6lMBFigO5jv+K9le7HRLnxUtEr68RG+vDi0eIYk8Joey Ndu6wwYUA5JL2sqUBwmWe5DE3gfnHPVvPqnYkNoRwK29mMdR/Byz5tu+oaPoH0RVfQf/ 9ine3VVnYVWzeIGzDOEV/iVxMP/soBG0CJo90FNF6WybjvvmbcQ6ADy0w+jNrdErVqsq Sxmg== X-Gm-Message-State: AOJu0YxmsK4JwufFRcxklScK0JUsB/vkTqZPX4AD1xJPiy3MQTYvAHo8 0g79arYogjJo+ptYaLrz/doOajWfmdXf2YJipjlAnkc6simMarQ934ggZEfaV27QA5ItykGhMja XJPl8ZZv90tJ2UvIdAkyE7OBAbmmWjQ== X-Gm-Gg: ASbGnctOExiT+QiCXaLf+Yq1/dTHGHRT6wcGOY5HJsX1hg8VJnCqUrTuPUOLlUPWfY9 lKfr+1P5ch4+X6Frbi5ZB+/s/ae43hF57H3zAgKCO/d2FE6NW8t1OAmrtecgDDMrpwnySbmEQWL QKdxrEyhcgP7WVKhCO5s2jlg== X-Google-Smtp-Source: AGHT+IGWlwFg+BZ2Fcv+ddg2X/dBvrF9mtunqZyG/xOpr/A5N6OC8VJr2u1R8rGA4LzpVgrmhnvZbg3VFAnDgUqKSeU= X-Received: by 2002:a05:6102:2acf:b0:4c5:8a2f:d244 with SMTP id ada2fe7eead31-4c9e4f1d1a6mr1076485137.13.1744372854599; Fri, 11 Apr 2025 05:00:54 -0700 (PDT) MIME-Version: 1.0 References: <87r01zlx4n.fsf@gmail.com> <874iyvetl1.fsf@gmail.com> <874iyvv1te.fsf@gmail.com> In-Reply-To: <874iyvv1te.fsf@gmail.com> From: Ship Mints Date: Fri, 11 Apr 2025 08:00:43 -0400 X-Gm-Features: ATxdqUHUOt3lPKve9cQOHajcvGVkg6ICGUtCTbGnyD4932u9N71jTvvonSOYNCk Message-ID: Subject: Re: bug#77715: [PATCH] Add ring-bell functions for mode line and header line. To: =?UTF-8?Q?Elijah_Gabe_P=C3=A9rez?= Content-Type: multipart/alternative; boundary="0000000000005acde306327f742b" Received-SPF: pass client-ip=2607:f8b0:4864:20::82c; envelope-from=shipmints@gmail.com; helo=mail-qt1-x82c.google.com 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, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: submit Cc: "Drew Adams via Bug reports for GNU Emacs, the Swiss army knife of text editors" , "77715@debbugs.gnu.org" <77715@debbugs.gnu.org>, Drew Adams X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.0 (/) --0000000000005acde306327f742b Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Thu, Apr 10, 2025 at 11:01=E2=80=AFPM Elijah Gabe P=C3=A9rez wrote: > Drew Adams via "Bug reports for GNU Emacs, the Swiss army knife of text > editors" writes: > > > I wrote: > > > >> When Emacs dings it's typically due to a user error. > >> > >> Where do you see the error message? In the echo area. > >> > >> Putting the attention-grabbing "flash" or whatever > >> in the echo area draws your attention to it, where > >> you see the msg telling you what happened. > >> > >> Why draw or keep the user's attention _away_ from > >> that message? The user error might have little or > >> nothing to do with the text at the cursor of the > >> selected window. > >> > >> Draw the user's attention _from_ there to the helpful > >> message. > > > > `visible-bell' has been around forever. Flashing > > the entire frame (or as the Emacs manual says, "the > > whole screen") is overkill, and it doesn't direct > > your attention to the error message. Similar problem > > with the alternatives I think you're considering, > > even if they're less overkill than `visible-bell' > > behavior. > > > > A modest attention-grabber, out of the way in the > > echo area is better, IMO. > > I think these features could coexist together, it wouldn't hurt. > > Flash the mode (or header) line for bell it is something that people > have wanted to have, see packages such as mode-line-bell, doom-themes > (both in MELPA), and nano-bell. > > I made my own implementation of echo-bell: I think the term duration is better than length when describing time intervals. I still prefer the unwind-protected sit-for method that guarantees the remaps are removed to the one with the timer where I've experienced errors intervening with a race condition creating new cookies that are not removed. Try mashing C-g with your timer implementation and you'll see it. I also prefer the implementation that I proposed that takes a list of faces to flash rather than hard-code an assumption about what users want to flash. Then this isn't tied to the mode line if that's not what people want. Is a new face really necessary just to implement a flash? The implementation I proposed allows the user to specify any face attributes to define what they want for a flash. I wouldn't use this feature without it being more reliable and flexible. --0000000000005acde306327f742b Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
= On Thu, Apr 10, 2025 at 11:01=E2=80=AFPM Elijah Gabe P=C3=A9rez <eg642616@gmail.com> wrote:
Drew Adams via "Bug reports for GNU E= macs, the Swiss army knife of text
editors" <bug-gnu-emacs@gnu.org> writes:

> I wrote:
>
>> When Emacs dings it's typically due to a user error.
>>
>> Where do you see the error message? In the echo area.
>>
>> Putting the attention-grabbing "flash" or whatever
>> in the echo area draws your attention to it, where
>> you see the msg telling you what happened.
>>
>> Why draw or keep the user's attention _away_ from
>> that message? The user error might have little or
>> nothing to do with the text at the cursor of the
>> selected window.
>>
>> Draw the user's attention _from_ there to the helpful
>> message.
>
> `visible-bell' has been around forever. Flashing
> the entire frame (or as the Emacs manual says, "the
> whole screen") is overkill, and it doesn't direct
> your attention to the error message. Similar problem
> with the alternatives I think you're considering,
> even if they're less overkill than `visible-bell'
> behavior.
>
> A modest attention-grabber, out of the way in the
> echo area is better, IMO.

I think these features could coexist together, it wouldn't hurt.

Flash the mode (or header) line for bell it is something that people
have wanted to have, see packages such as mode-line-bell, doom-themes
(both in MELPA), and nano-bell.

I made my own implementation of echo-bell:

I think the term du= ration is better than length when describing time intervals.

I still prefer the unwind-p= rotected sit-for method that guarantees the remaps are removed to the one w= ith the timer where I've experienced errors intervening with a race con= dition creating new cookies that are not removed.=C2=A0 Try mashing C-g wit= h your timer implementation and you'll see it.

I also prefer the implementation that= I proposed that takes a list of faces to flash rather than hard-code an as= sumption about what users want to flash.=C2=A0 Then this isn't tied to = the mode line if that's not what people want.=C2=A0 Is a new face reall= y necessary=C2=A0just to implement a flash?=C2=A0 The implementation I prop= osed allows the user to specify any face attributes to define what they wan= t for a flash.=C2=A0 I wouldn't use this feature without it being more = reliable and flexible.
--0000000000005acde306327f742b-- From debbugs-submit-bounces@debbugs.gnu.org Fri Apr 11 14:18:25 2025 Received: (at 77715) by debbugs.gnu.org; 11 Apr 2025 18:18:25 +0000 Received: from localhost ([127.0.0.1]:51705 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1u3IxN-0001Ch-5w for submit@debbugs.gnu.org; Fri, 11 Apr 2025 14:18:25 -0400 Received: from mail-oi1-x243.google.com ([2607:f8b0:4864:20::243]:42275) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1u3IxK-0001CS-PY for 77715@debbugs.gnu.org; Fri, 11 Apr 2025 14:18:23 -0400 Received: by mail-oi1-x243.google.com with SMTP id 5614622812f47-3fea0363284so1267235b6e.1 for <77715@debbugs.gnu.org>; Fri, 11 Apr 2025 11:18:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1744395497; x=1745000297; darn=debbugs.gnu.org; h=mime-version:user-agent:message-id:date:references:in-reply-to :subject:cc:to:from:from:to:cc:subject:date:message-id:reply-to; bh=fpu0HVker8YjkDo0jmjB0+XQDGWKAOqwgnfvO8opqzA=; b=G5teIWUauTOuwge16IegQtzlFJmHir6GoiWSB3nZ2NxeijEkxSDTYiGsacrzDP6j8p CYLR4jUVpUfIBrQDdwhPETBtqvrOvkErPbjFv8eTF8Ntivu3i0aQ1CwrEeqC4folKIjI xVYUTfVmDHjmc7uWZRRwpa2OiKEtrhfHG1TOtsyTXOSjy9Ao5OHcpG1C775GcJ6s0+dr 2I2NNL+sUPMGuYsy3mtf6FguxDkYn8vURYpxVugTHKN6q0SR+9q45pHmNnNaRL6230fU BMq7aq2yFgpg1JN+ftOFcknXbQZJGjBk8a5HXnpGSmK7ewuCOhSxGUwXoqMYWclSkDKt Y1ow== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744395497; x=1745000297; h=mime-version:user-agent:message-id:date:references:in-reply-to :subject:cc:to:from:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=fpu0HVker8YjkDo0jmjB0+XQDGWKAOqwgnfvO8opqzA=; b=HZoLXUWHhZardRWWAs0iTo0lK8XezIbLcr2SPnu8Lq6fTgank4H/CbqXqmTF5+RsX2 Ox/CL3ICS1FwtGgCeURtZ6xoEId1gBTSpo/Be6VxeYvk8b+cye/HnaYs6ciPI7QyTMv5 6rJ29gypAGz+DuAAy45+ey44h1jgs9vyHnUX4tkMG9Uoemf24gxcGBVaBk+mxHq83XLN 12oW4Oh16+JEVyYL1F8unU6M/VdfN1/LZvX6AkjIzE8SpZzBp5pbOyKx+YZR9g76byou WvI0dARAZ3oDMQ0tdRLwid5aIhgZZw7NSgN1cDM35Rgei7saA1WcrMzMIoKqlULD78XY 0TmA== X-Gm-Message-State: AOJu0Yy78TOaRbM/YqaGQHmWYZJbHBAmZ9qZ8/lQzfb8Ih8rcCktXtpN vvOX3fgPj6iwpBs/hU4dPdNJudwID6eZl6Ok8owLNG1oxxS7bIYR X-Gm-Gg: ASbGncvU5vjS+OPeO8i0PRm7x4EJXTz1x86AEKH4V8RLVfIyezgUtKqVTWf7Trftklj WcdHCIfytuez7SogT6FI8t50q3HL3OQgK54Ie8SnWovb8SxbAxjrJ8ZDGG3kwwJza2m/MNIgGgY 4A0brxzIugBzqrAmhtm8yxa+uEKgE4uB+KxXO6ouvTT07DebsTYm8UGx0j/SttfcC8PLN6oG5nC 0bSVZCWPNd/JeAOmOrHTWD9QyqdQpa8SGVucOzzbAM8wX+QuUUtoxX6s11/BSY/EcngtC+SGnUD s0YV4OMz X-Google-Smtp-Source: AGHT+IFL4LGVrhDnkLGaYmCLkki/WMyNELwaoK/8lf4nwf2WRd8N0QnwqeQSeL3SHelU3dHAaaUMPQ== X-Received: by 2002:a05:6808:2396:b0:3f4:11b3:206b with SMTP id 5614622812f47-4007c09cec3mr4878759b6e.17.1744395496844; Fri, 11 Apr 2025 11:18:16 -0700 (PDT) Received: from fedora ([2806:10ae:e:79da::1]) by smtp.gmail.com with ESMTPSA id 5614622812f47-400762a0724sm1018774b6e.16.2025.04.11.11.18.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 11 Apr 2025 11:18:16 -0700 (PDT) From: =?utf-8?Q?Elijah_Gabe_P=C3=A9rez?= To: Ship Mints Subject: Re: bug#77715: [PATCH] Add ring-bell functions for mode line and header line. In-Reply-To: References: <87r01zlx4n.fsf@gmail.com> <874iyvetl1.fsf@gmail.com> <874iyvv1te.fsf@gmail.com> Date: Fri, 11 Apr 2025 12:18:14 -0600 Message-ID: <87plhitvdl.fsf@gmail.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/31.0.50 MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Spam-Score: 0.3 (/) X-Debbugs-Envelope-To: 77715 Cc: 77715@debbugs.gnu.org, drew.adams@oracle.com X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) --=-=-= Content-Type: text/plain Ship Mints writes: > I think the term duration is better than length when describing time intervals. I agree. > I still prefer the unwind-protected sit-for method that guarantees the remaps are removed to the one with > the timer where I've experienced errors intervening with a race condition creating new cookies that are > not removed. Try mashing C-g with your timer implementation and you'll see it. The problem with using sit-for is that it delays the message displayed (usually "Quit") until timer stops (or if there is an input), it look like Emacs froze. Anyway, it changed it for use sit-for instead. > Is a new face really necessary just to implement a flash? The implementation I proposed > allows the user to specify any face attributes to define what they want for a flash. I wouldn't use this > feature without it being more reliable and flexible. I think that adding a new face for this would be better, it makes custom themes set it and change it dynamically; of course, the user can change face attributes freely. --=-=-= Content-Type: text/x-patch Content-Disposition: attachment; filename=0001-Add-ring-bell-function-for-flash-faces.-bug-77715.patch >From 00d44767ac13b9c8420319884fbb6dccb0c3bf73 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?El=C3=ADas=20Gabriel=20P=C3=A9rez?= Date: Thu, 10 Apr 2025 11:38:21 -0600 Subject: [PATCH] Add ring-bell function for flash faces. (bug#77715) New functions for flash any face or echo area once whether `ring-bell-function' is called. * lisp/faces.el (flash-face): New face. * lisp/simple.el (flash-line-duration, flash-face-faces): New user option. (flash-face-bell-function, flash-echo-area-bell-function): New functions. --- etc/NEWS | 24 ++++++++++++++++++++++++ lisp/faces.el | 11 +++++++++++ lisp/simple.el | 31 +++++++++++++++++++++++++++++++ 3 files changed, 66 insertions(+) diff --git a/etc/NEWS b/etc/NEWS index c08b0052639..dcf3608fcf5 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -1716,6 +1716,25 @@ change their face if the current line exceeds the 'fill-column'. The new face 'display-fill-column-indicator-warning-face' is used to highlight the fill-column indicators. By default this is disabled. +--- +*** New function 'flash-face-bell-function'. +This function when called will flash a face briefly. +Intended to be used in 'ring-bell-function'. + +--- +*** New function 'flash-echo-area-bell-function'. +This function when called will flash current echo area briefly. +Intended to be used in 'ring-bell-function'. + +--- +*** New user option 'flash-face-duration'. +This option controls duration for 'flash-face-bell-function' and +'flash-echo-area-bell-function'. + +--- +*** New user option 'flash-face-faces'. +This option tells 'flash-face-bell-function' which faces should flash. + * New Modes and Packages in Emacs 31.1 @@ -1753,6 +1772,11 @@ modes that support it, such as: c-mode, c++-mode, java-mode, js-mode, css-mode, and derived: html-mode, mhtml-mode, xml-mode and nxml-mode, pascal-mode, lua-ts-mode, lisp-mode and common-lisp-mode +** New face 'flash-face'. +This face is used for flash a face briefly. +Mainly used for 'flash-echo-area-bell-function' and +'flash-face-bell-function'. + * Incompatible Lisp Changes in Emacs 31.1 diff --git a/lisp/faces.el b/lisp/faces.el index dbc0a2e04f6..b749627254c 100644 --- a/lisp/faces.el +++ b/lisp/faces.el @@ -2825,6 +2825,17 @@ header-line-inactive :group 'mode-line-faces :group 'basic-faces) +(defface flash-face + '((((class color) (min-colors 88)) + :background "red3" :foreground "white") + (((class color grayscale) (min-colors 88)) + :background "grey10" :foreground "white") + (t + :inherit error :inverse-video t)) + "Basic face used for flash a face briefly." + :version "31.1" + :group 'basic-faces) + (defface vertical-border '((((type tty)) :inherit mode-line-inactive)) "Face used for vertical window dividers on ttys." diff --git a/lisp/simple.el b/lisp/simple.el index 7037158df8d..f2b94160cbd 100644 --- a/lisp/simple.el +++ b/lisp/simple.el @@ -9383,6 +9383,37 @@ auto-save-mode (and (< buffer-saved-size 0) (setq buffer-saved-size 0))) +(defcustom flash-face-duration 0.05 + "Time (in seconds) used for flash face duration." + :type 'float + :version "31.1") + +(defcustom flash-face-faces + '(mode-line-active) + "A list of faces which `flash-face-bell-function' will flash them." + :type 'float + :version "31.1") + +(defun flash-face-bell-function () + "Flash a face or faces as ring a bell. +Intended to be used in `ring-bell-function'." + (when-let* (flash-face-duration ; Ensure time is non-nil + (cookies (mapcar (lambda (f) (face-remap-add-relative f 'flash-face)) + flash-face-faces))) + (unwind-protect + (sit-for flash-face-duration) + (mapc #'face-remap-remove-relative cookies)))) + +(defun flash-echo-area-bell-function () + "Flash echo area as ring a bell. +Intended to be used in `ring-bell-function'." + (message + (propertize "ring!" + 'display `(space . (:align-to right)) + 'face 'flash-face)) + (sit-for flash-face-duration) + (message "")) + (defgroup paren-blinking nil "Blinking matching of parens and expressions." :prefix "blink-matching-" -- 2.49.0 --=-=-= Content-Type: text/plain -- - E.G via GNU Emacs and Org. --=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Fri Apr 11 14:23:03 2025 Received: (at 77715) by debbugs.gnu.org; 11 Apr 2025 18:23:03 +0000 Received: from localhost ([127.0.0.1]:51712 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1u3J1q-0001RA-PW for submit@debbugs.gnu.org; Fri, 11 Apr 2025 14:23:03 -0400 Received: from mail-ua1-x92d.google.com ([2607:f8b0:4864:20::92d]:55624) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1u3J1o-0001QZ-Ru for 77715@debbugs.gnu.org; Fri, 11 Apr 2025 14:23:01 -0400 Received: by mail-ua1-x92d.google.com with SMTP id a1e0cc1a2514c-86b9d1f729eso983773241.3 for <77715@debbugs.gnu.org>; Fri, 11 Apr 2025 11:23:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1744395774; x=1745000574; darn=debbugs.gnu.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=U7tCPJEXUcJPhojO62WBzbb5YDYxfNCqK7/aMZA4/JE=; b=A/7Yfi85r53q0q1EylC2YA5vsTq6jnYKOKM7Nk1su4hOoRGmscu+A1jgqInvTWqW38 +D+ZUoMHIJd1FteObf728muWA2w1G4TX8joeJVHg9JpUh2l6/ik6BSb1uY14ww94gPlA RoSHkeaD1tAF/HAKjgG6iVQx9OB9DiDKMKAT6QHVDrq6YtnVcR9eVRwE6o3xZC7+SNcX hd7JarXCuast1p4bENw2fjyyuENS3uWyRlRuw9uiUSPmh5yd5P92pKdSa8N/UJkiFyb7 WpgOamyuM+fJNvulF9PkaYioL7CSUsJ/D20LEInTsiGMF15KWQ3FyxUISs4/Ii8ioM1/ pTFQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744395774; x=1745000574; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=U7tCPJEXUcJPhojO62WBzbb5YDYxfNCqK7/aMZA4/JE=; b=QgwifcL+l4FLAnysZSwhK8SvkWrDW1sx0FQ1risay7k/SIndyZfB7FuBAF331crPjY fgvZiypK3BxTCU4KM837nMDvJ0buyZgrVnwfSqfOXW/pS1pQwnMsNffv8XPV5lhLFQ5S 7+88avMA60N4kTBuYcOZcsE1VxmRPZ/buSR2BfaTEO9tbYmHmKgebNTJag02umtmSsVF MzDjV+AlvVeJiO5y9KleUIjAk356AXIyS3dBSJScJxt7b90/qVVIiOCznvo8IVLjuunH 7/iZFFprULPjOmvsOJYMhPrzmzvX9lCwel0oWQeCqYPsWLujxLe0KJYnKINPjwVoL1x7 JGIA== X-Gm-Message-State: AOJu0YxayQNVowQx8ETH8uc5pgEviC4KgZXEyRSmj+pzs+KAhgt4mEFL tmXP9g4vRBrBKgYx0yO/Yf8iFkODKgYMswr9sm4St6hsgD7B5UzYdrccmgXVj7nwEvguWnLzBJv QDdUFii8/o+HWP7AyDIInSJqIKEynZA== X-Gm-Gg: ASbGncsxHPHuqas9pI358kE+cvygsVaRjPEMurxL97dEzuqEsRF2cxZkSgMVoL95mCT Bu2mZLcxQEibl+EUvDEo8snUmJC1YeiIBGoDDxN94JBUn1YmZyzRXbjUjBp/l0B40c0y+lhIyOq ByDMBtAsmPW4DADPwtVFhkBdgayiiO65RY X-Google-Smtp-Source: AGHT+IEn3pKn9NaBgZqPA9JzWAvsz1PHSrWWs34LYoNLi+MHnIv09FX5nkQHjuuc0r92oGmppZK4a1NNgsoX4ym/R1w= X-Received: by 2002:a05:6102:5e85:b0:4c4:f128:3acf with SMTP id ada2fe7eead31-4c9e4fff09amr2549636137.16.1744395774252; Fri, 11 Apr 2025 11:22:54 -0700 (PDT) MIME-Version: 1.0 References: <87r01zlx4n.fsf@gmail.com> <874iyvetl1.fsf@gmail.com> <874iyvv1te.fsf@gmail.com> <87plhitvdl.fsf@gmail.com> In-Reply-To: <87plhitvdl.fsf@gmail.com> From: Ship Mints Date: Fri, 11 Apr 2025 14:22:43 -0400 X-Gm-Features: ATxdqUHpXhWcjKx0mx8FGOEMTR_xmyawolx8JGzQ-Got3QVR_RUdjtEYEDvOHgk Message-ID: Subject: Re: bug#77715: [PATCH] Add ring-bell functions for mode line and header line. To: =?UTF-8?Q?Elijah_Gabe_P=C3=A9rez?= Content-Type: multipart/alternative; boundary="00000000000078de3f063284ca09" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 77715 Cc: 77715@debbugs.gnu.org, drew.adams@oracle.com X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) --00000000000078de3f063284ca09 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Fri, Apr 11, 2025 at 2:18=E2=80=AFPM Elijah Gabe P=C3=A9rez wrote: > Ship Mints writes: > > I think the term duration is better than length when describing time > intervals. > > I agree. > > > I still prefer the unwind-protected sit-for method that guarantees the > remaps are removed to the one with > > the timer where I've experienced errors intervening with a race > condition creating new cookies that are > > not removed. Try mashing C-g with your timer implementation and you'll > see it. > > The problem with using sit-for is that it delays the message displayed > (usually "Quit") until timer stops (or if there is an input), it look > like Emacs froze. > At 0.05 seconds, that's not likely. Anyway, it changed it for use sit-for instead. > Cool. You wrapped it with unwind-protect, yes? > Is a new face really necessary just to implement a flash? The > implementation I proposed > > allows the user to specify any face attributes to define what they want > for a flash. I wouldn't use this > > feature without it being more reliable and flexible. > > I think that adding a new face for this would be better, it makes custom > themes set it and change it dynamically; of course, the user can change > face attributes freely. > As long as the implementation accepts a list of faces to flash as mine does, that sounds good. I'd just ignore the new face in my use. --00000000000078de3f063284ca09 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
= On Fri, Apr 11, 2025 at 2:18=E2=80=AFPM Elijah Gabe P=C3=A9rez <eg642616@gmail.com> wrote:
Ship Mints <shipmints@gmail.com> writes:
> I think the term duration is better than length when describing time i= ntervals.

I agree.

> I still prefer the unwind-protected sit-for method that guarantees the= remaps are removed to the one with
> the timer where I've experienced errors intervening with a race co= ndition creating new cookies that are
> not removed.=C2=A0 Try mashing C-g with your timer implementation and = you'll see it.

The problem with using sit-for is that it delays the message displayed
(usually "Quit") until timer stops (or if there is an input), it = look
like Emacs froze.

At 0.05 seconds, that's not lik= ely.

Anyway, it changed it for use sit-for instead.

Cool.=C2=A0= You wrapped it with unwind-protect, yes?

> Is a new face really necessary just to implement a flash?=C2=A0 The im= plementation I proposed
> allows the user to specify any face attributes to define what they wan= t for a flash.=C2=A0 I wouldn't use this
> feature without it being more reliable and flexible.

I think that adding a new face for this would be better, it makes custom themes set it and change it dynamically; of course, the user can change
face attributes freely.

As long as the implementation acce= pts a list of faces to flash as mine does, that sounds good.=C2=A0 I'd = just ignore the new face in my use.
--00000000000078de3f063284ca09-- From debbugs-submit-bounces@debbugs.gnu.org Fri Apr 11 14:47:51 2025 Received: (at 77715) by debbugs.gnu.org; 11 Apr 2025 18:47:51 +0000 Received: from localhost ([127.0.0.1]:51741 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1u3JPr-0002dX-98 for submit@debbugs.gnu.org; Fri, 11 Apr 2025 14:47:51 -0400 Received: from mail-oo1-xc41.google.com ([2607:f8b0:4864:20::c41]:58529) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1u3JPo-0002dI-Oi for 77715@debbugs.gnu.org; Fri, 11 Apr 2025 14:47:49 -0400 Received: by mail-oo1-xc41.google.com with SMTP id 006d021491bc7-601a46ee19fso1108609eaf.0 for <77715@debbugs.gnu.org>; Fri, 11 Apr 2025 11:47:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1744397262; x=1745002062; darn=debbugs.gnu.org; h=mime-version:user-agent:message-id:date:references:in-reply-to :subject:cc:to:from:from:to:cc:subject:date:message-id:reply-to; bh=LGK1VH8YiiU+t19fJGyUaIrHOFGfIoEPmw6s3SeSn3E=; b=VWcAEsCSvSPaFsLmhuZcF/+gXN9bEdpz9V/yjH8Ajx6GCEZ8sep8wICaBHA9GmQMwH bIw71Z2mVD0UQA7erE2j77/U2FmL9Wfbe+eq7h0XC/EifPuxudAvsFGL4GGbxy7lTHN3 io2VAI8cCzo9iFHNMvoOFo+6E3PzBPPzLwCW03WAgyibqnurotnvxL7Q8GOnOqzSvYBN VOEuacTJYIKQfizOvAmrnsmafNpXVKFPPms+MCHXVG7ONdcx72NTGjVGen7Iq0kD4sYN /S8pek6NYTHpzPYUHG9DF8FTVPHfLaU8wQcMxk0H5lw/gEAplbB3+sKuAaWKFo4ba1Cz FC8Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744397262; x=1745002062; h=mime-version:user-agent:message-id:date:references:in-reply-to :subject:cc:to:from:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=LGK1VH8YiiU+t19fJGyUaIrHOFGfIoEPmw6s3SeSn3E=; b=aLCOyDfr8xoOwuYJqO5FEDkEEFZea9/I6TGIuTlAbN/9tA70/Kq9CvHBYoG0Z46U8h LgPifedXctEWpd1QIEOiBSnZKv2ok1Rl/Sa4QilhEDDreKi+e2k/C4bIb42mS4lAV0TH Ks1EIGBIh5SzGMheNJJJcR/AwEwCvvjfxmzk7/P86rWNfP74rNNGzk/fNEyGTQ6nShos 96NqGOkiTabnfcpf0w4+mQ8+jkIJzERKpjiWp9+97S9e28YQ5cxg7+A23LazXLvM5IzN YX222WYmGGP8biqmwD52w6kTBuppzgT5oHmvcpS/XHrICU6/E7S8MLBSlwYDyoQLHKcX N/AA== X-Gm-Message-State: AOJu0YzIKUOp/2XoiHznpvyFCjOcOvMSJvG7FDHr5g052RB1XORMTaQW zIYf0isWmEL5PjCnKpZ59TDEPLUiKffw7jnVyNA/xt3cYc5elfsg X-Gm-Gg: ASbGncu9vNp8cOrmkE4RQ4FcAk9F6PaPsGC9tGOA8agLs5k651A4eLP5l4y5JcfjzEa QnNjzlxJmAODc/zqHyNKXeQGaR9Gvil1orvCV3oVAF5Y+jr5HTWI/6nEuJpXymjj31cOFiok9iC 0V1scnJLifPql5CHjjYUFGBi4LAQR3eyREUHmFT/g4ziWhMnfUa9+Kd1dvKzqYKgp5XvPEog2Pw OFgeXFJKwG/yMHsCceSp0yZ0/pmAZApt8bk9xAUcbepBtI7kiapb7Xqi7zG5fiUUIx6o+qCiflo EmtKaTRz X-Google-Smtp-Source: AGHT+IFjBiRVHA2yun65gR56MH1Pc+Yi96RhTBoUjItaEzEtyfXwfUnVX5n8izUvtCmcGs82MDi6BA== X-Received: by 2002:a05:6820:1b85:b0:602:15e6:4559 with SMTP id 006d021491bc7-6046f59c185mr2053852eaf.6.1744397262642; Fri, 11 Apr 2025 11:47:42 -0700 (PDT) Received: from fedora ([2806:10ae:e:79da::1]) by smtp.gmail.com with ESMTPSA id 006d021491bc7-6045f5bdbf0sm1028013eaf.40.2025.04.11.11.47.41 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 11 Apr 2025 11:47:42 -0700 (PDT) From: =?utf-8?Q?Elijah_Gabe_P=C3=A9rez?= To: Ship Mints Subject: Re: bug#77715: [PATCH] Add ring-bell functions for mode line and header line. In-Reply-To: References: <87r01zlx4n.fsf@gmail.com> <874iyvetl1.fsf@gmail.com> <874iyvv1te.fsf@gmail.com> <87plhitvdl.fsf@gmail.com> Date: Fri, 11 Apr 2025 12:47:40 -0600 Message-ID: <87wmbqpmb7.fsf@gmail.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/31.0.50 MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.3 (/) X-Debbugs-Envelope-To: 77715 Cc: 77715@debbugs.gnu.org, drew.adams@oracle.com X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) Ship Mints writes: > Anyway, it changed it for use sit-for instead. > > Cool. You wrapped it with unwind-protect, yes? Yes. >>> Is a new face really necessary just to implement a flash? The implementation I proposed >>> allows the user to specify any face attributes to define what they want for a flash. I wouldn't use this >>> feature without it being more reliable and flexible. >> I think that adding a new face for this would be better, it makes custom >> themes set it and change it dynamically; of course, the user can change >> face attributes freely. > As long as the implementation accepts a list of faces to flash as mine does, that sounds good. I'd just > ignore the new face in my use. Yeah it does: +(defcustom flash-face-faces + '(mode-line-active) By default it is set to `mode-line-active'. -- - E.G via GNU Emacs and Org. From debbugs-submit-bounces@debbugs.gnu.org Sun Apr 27 14:13:11 2025 Received: (at 77715) by debbugs.gnu.org; 27 Apr 2025 18:13:11 +0000 Received: from localhost ([127.0.0.1]:44365 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1u96V5-0001yT-17 for submit@debbugs.gnu.org; Sun, 27 Apr 2025 14:13:11 -0400 Received: from mail-ot1-x342.google.com ([2607:f8b0:4864:20::342]:51295) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1u96V1-0001xn-N4 for 77715@debbugs.gnu.org; Sun, 27 Apr 2025 14:13:08 -0400 Received: by mail-ot1-x342.google.com with SMTP id 46e09a7af769-72c14138668so1089637a34.2 for <77715@debbugs.gnu.org>; Sun, 27 Apr 2025 11:13:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1745777581; x=1746382381; darn=debbugs.gnu.org; h=mime-version:user-agent:message-id:date:references:in-reply-to :subject:cc:to:from:from:to:cc:subject:date:message-id:reply-to; bh=Tc0Kvk2/O8HR95x1Uyf5lZbYCOAmwDU3gAZbaCM3Bck=; b=NvXo6084OqwH4EgXBD9mL+Whul6hii1gUfOEg74f3sPUZh5fxwvyZVZNAT6mKE2/4A iPHKFw0ChGaU9n8rsxMFQFMcFsks9uIwX0MlXcdMrpZTrhd5oFdg3/OAHTKm3wC9F0W/ owaLbtNNgyh7MHtO3Y3P0su964mdA7e/gHSnMc0c6Xr6+jHwwc6/aeSqu8mMhrt1KvwB 2Lg0xUDDM2QqjxNuBa+vOtJDqzcoDaCjAz73Yrv+RHX71BbApdtSqZoiEn0pauMOfXJU Ofnm+iXtP3u+ENoU/A+i02dCo7O4UlEnbAbvqdnczozUDP+BNHpCEjQNNXrSFtwzXa/Y wHCQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1745777581; x=1746382381; h=mime-version:user-agent:message-id:date:references:in-reply-to :subject:cc:to:from:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=Tc0Kvk2/O8HR95x1Uyf5lZbYCOAmwDU3gAZbaCM3Bck=; b=m4YRKeXOOhK52w2Gfz1l/T/aczOXdObAp8Pv3PqOoJ3jJcl3AGBH1Q9kc3fjKpVDMz WMf/0QB5EIPihY+JlNmAZThGysZOOcizP/+tKmkcYPbCbeG6oCQIzHB9/QzbSTiqH8Lv Ft2F0v0qNjCirkC8ty480ruXKrolQcb9L6JsV3Z6k5MfPA2SjlGUcyaKbMeZcXxRKkLD pAntqi9kjs0FVN+ml7oTCLGDDyjsYcc49sPKg/gKTm4eAFvCpPPtztBl4+cesVHxue/N qZIHrL/v4St6TGMLqJFT+2UVRqhrRSwd9Rj/SnDhUqFfUAnqisANi7ljo/NsFiKX1GN+ B3MA== X-Gm-Message-State: AOJu0YzGkSe5WCr9XtC2rc2TNCEUBYQ74YGPzBSz8CQICQE4Ljmjjlwi 1kx3iHdY/9jRpjIfLvMBwhiKl5zrd6OxDEsO42RrB6jdybQPpwnN X-Gm-Gg: ASbGncvqhV2Ox+tqSHt7ROyMzy8A9VgZ3c91Bu6ygetzyi3awP11X0tIDfB/T7AzZGK nPK0/np5LGgR4a5lZKEVgICxsL1yYN50nOWr/zw8AxfQGSdpZ/UN5g7GCFYS/U7e1hswFyPF/Yb AYyjOIPL7YApVKqHr/pJhT/lY4TtntZzqf3Tbko63avg4JzBTNrtrr5a1y72URmY8Y2RXv4J/dI k7gw2oCVfHXkA7c1aAWg4gGEDc/rzQVaH0E7GV0ausnADyC/ppQ6eFz0KgYgyTK24Yt7btJNmDX Fpp2+6SW X-Google-Smtp-Source: AGHT+IEiF8849Ng3ZRAab8TH42baelFxl52FrOIRlgcZsrceQTkhp34Qdr5LIRqrw9yk2vzZU6QDlQ== X-Received: by 2002:a05:6830:378c:b0:72c:320b:f76b with SMTP id 46e09a7af769-73065093a53mr3966096a34.1.1745777581335; Sun, 27 Apr 2025 11:13:01 -0700 (PDT) Received: from fedora ([2806:10ae:e:8863::1]) by smtp.gmail.com with ESMTPSA id 46e09a7af769-7304f399a10sm1484180a34.65.2025.04.27.11.12.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 27 Apr 2025 11:13:00 -0700 (PDT) From: =?utf-8?Q?Elijah_Gabe_P=C3=A9rez?= To: 77715@debbugs.gnu.org Subject: Re: bug#77715: [PATCH] Add ring-bell functions for mode line and header line. In-Reply-To: <87wmbqpmb7.fsf@gmail.com> References: <87r01zlx4n.fsf@gmail.com> <874iyvetl1.fsf@gmail.com> <874iyvv1te.fsf@gmail.com> <87plhitvdl.fsf@gmail.com> <87wmbqpmb7.fsf@gmail.com> Date: Sun, 27 Apr 2025 12:12:58 -0600 Message-ID: <87bjsh79sl.fsf@gmail.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/31.0.50 MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Spam-Score: 0.3 (/) X-Debbugs-Envelope-To: 77715 Cc: eliz@gnu.org, Ship Mints , drew.adams@oracle.com X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) --=-=-= Content-Type: text/plain I don't know if there still interest on this, I'm sending here a fixed and updated version of this patch. This is ready to merge into master (unless there is something else). --=-=-= Content-Type: text/x-patch Content-Disposition: attachment; filename=0001-New-ring-bell-functions-for-flash-faces.-bug-77715.patch >From 8941df9a32bdadef37a665f9665aafd5805dc255 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?El=C3=ADas=20Gabriel=20P=C3=A9rez?= Date: Thu, 10 Apr 2025 11:38:21 -0600 Subject: [PATCH] New ring-bell functions for flash faces. (bug#77715) New functions for flash any face or echo area once whether `ring-bell-function' is called. * lisp/faces.el (flash-face): New face. * lisp/simple.el (flash-line-duration, flash-face-faces): New user options. (flash-face-bell-function, flash-echo-area-bell-function): New functions. --- etc/NEWS | 24 ++++++++++++++++++++++++ lisp/faces.el | 11 +++++++++++ lisp/simple.el | 44 ++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 79 insertions(+) diff --git a/etc/NEWS b/etc/NEWS index ade5abc43fc..8fb56c341f5 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -429,6 +429,11 @@ on the header lines are now these two: the selected window uses ** In 'customize-face', the "Font family" attribute now supports completion. +** New face 'flash-face'. +This face is used for flash a face briefly. +Mainly used for 'flash-echo-area-bell-function' and +'flash-face-bell-function'. + ** 'process-adaptive-read-buffering' is now nil by default. Setting this variable to a non-nil value reduces performance and leads to wrong results in some cases. We believe that it is no longer useful; @@ -1919,6 +1924,25 @@ change their face if the current line exceeds the 'fill-column'. The new face 'display-fill-column-indicator-warning-face' is used to highlight the fill-column indicators. By default this is disabled. +--- +*** New function 'flash-face-bell-function'. +This function when called will flash a face briefly. +Intended to be used in 'ring-bell-function'. + +--- +*** New function 'flash-echo-area-bell-function'. +This function when called will flash current echo area briefly. +Intended to be used in 'ring-bell-function'. + +--- +*** New user option 'flash-face-duration'. +This option controls flash duration for 'flash-face-bell-function' and +'flash-echo-area-bell-function'. + +--- +*** New user option 'flash-face-faces'. +This option tells 'flash-face-bell-function' which faces should flash. + --- ** Flymake diff --git a/lisp/faces.el b/lisp/faces.el index dbc0a2e04f6..b749627254c 100644 --- a/lisp/faces.el +++ b/lisp/faces.el @@ -2825,6 +2825,17 @@ header-line-inactive :group 'mode-line-faces :group 'basic-faces) +(defface flash-face + '((((class color) (min-colors 88)) + :background "red3" :foreground "white") + (((class color grayscale) (min-colors 88)) + :background "grey10" :foreground "white") + (t + :inherit error :inverse-video t)) + "Basic face used for flash a face briefly." + :version "31.1" + :group 'basic-faces) + (defface vertical-border '((((type tty)) :inherit mode-line-inactive)) "Face used for vertical window dividers on ttys." diff --git a/lisp/simple.el b/lisp/simple.el index ee09a6f1b19..5aa3027ada2 100644 --- a/lisp/simple.el +++ b/lisp/simple.el @@ -9389,6 +9389,50 @@ auto-save-mode (and (< buffer-saved-size 0) (setq buffer-saved-size 0))) +(declare-function face-remap-remove-relative "face-remap" (cookie)) + +(defcustom flash-face-duration 0.05 + "Time (in seconds) used for flash face duration." + :type 'float + :version "31.1") + +(defcustom flash-face-faces + '(mode-line-active) + "A list of faces which `flash-face-bell-function' will flash them." + :type '(repeat face) + :version "31.1") + +(defun flash-face-bell-function () + "Flash a face or faces as ring a bell. +Intended to be used in `ring-bell-function'." + (when-let* (flash-face-duration ; Ensure time is non-nil + (cookies (mapcar (lambda (f) (face-remap-add-relative f 'flash-face)) + flash-face-faces))) + (unwind-protect + (sit-for flash-face-duration) + (mapc #'face-remap-remove-relative cookies)))) + +(defun flash-echo-area-bell-function () + "Flash echo area as ring a bell. +Intended to be used in `ring-bell-function'." + ;; like `with-temp-message' but suppress message log for not flood + ;; messages buffer + (unless (minibufferp) ; Avoid conflicts if cursor is in minibuffer + (let ((with-temp-message + (propertize " " 'display `(space :align-to right) 'face + 'flash-face)) + (current-message)) + (unwind-protect + (progn + (when with-temp-message + (setq current-message (current-message)) + (let (message-log-max) + (message "%s" with-temp-message))) + (sit-for flash-face-duration)) + (and with-temp-message + (if current-message (message "%s" current-message) + (message nil))))))) + (defgroup paren-blinking nil "Blinking matching of parens and expressions." :prefix "blink-matching-" -- 2.49.0 --=-=-= Content-Type: text/plain -- - E.G via GNU Emacs and Org. --=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Mon Apr 28 07:35:55 2025 Received: (at 77715) by debbugs.gnu.org; 28 Apr 2025 11:35:55 +0000 Received: from localhost ([127.0.0.1]:54840 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1u9Mm9-0003kh-5g for submit@debbugs.gnu.org; Mon, 28 Apr 2025 07:35:55 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:45648) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1u9Mm4-0003jO-SX for 77715@debbugs.gnu.org; Mon, 28 Apr 2025 07:35:50 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1u9Mlz-0007Ip-2a; Mon, 28 Apr 2025 07:35:43 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-version:References:Subject:In-Reply-To:To:From: Date; bh=jehHu+064wQ/yCRDjUWEV32fltyuUc7OhsVNJ0Bj3P0=; b=IOfEsMYcsmDQqbGF067r QOGAtLALpFaXACZr6anpYkjb32M2zN93ihS97DPiajc7hEJ/qxjmPg3YPY/28VbyxEEGUKhri5Qfu tcJHkhRicuZH4nmjAv4qFWJ9c7L3hAe2nn3cLOJ1JOANYKPgHvHEU9FyWnRg/rMkOGFXwn9pXS+sH JdJEhmXwT1rqviDqqapCgev/aOoChQ4FtM8h3+DKS4EEOcbO/I7mBKgI4SvjUPNXHjwZWm9hVqIWz Dt4oHZUjP3WQqwwA6JxXsXpXK14bXEv6a1ipUJyufYTMoYMbQd9XcGkYlsCbXH5pThmw324eUhYKi ubQy1A/r/+q1EA==; Date: Mon, 28 Apr 2025 14:35:32 +0300 Message-Id: <86ldrkr01n.fsf@gnu.org> From: Eli Zaretskii To: Elijah Gabe =?iso-8859-1?Q?P=E9rez?= In-Reply-To: <87bjsh79sl.fsf@gmail.com> (message from Elijah Gabe =?iso-8859-1?Q?P=E9rez?= on Sun, 27 Apr 2025 12:12:58 -0600) Subject: Re: bug#77715: [PATCH] Add ring-bell functions for mode line and header line. References: <87r01zlx4n.fsf@gmail.com> <874iyvetl1.fsf@gmail.com> <874iyvv1te.fsf@gmail.com> <87plhitvdl.fsf@gmail.com> <87wmbqpmb7.fsf@gmail.com> <87bjsh79sl.fsf@gmail.com> MIME-version: 1.0 Content-type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 77715 Cc: 77715@debbugs.gnu.org, shipmints@gmail.com, drew.adams@oracle.com X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Elijah Gabe Pérez > Cc: Ship Mints , drew.adams@oracle.com, eliz@gnu.org > Date: Sun, 27 Apr 2025 12:12:58 -0600 > > I don't know if there still interest on this, > I'm sending here a fixed and updated version of this patch. > > This is ready to merge into master (unless there is something else). Thanks, but there are a few aspects of this that I think "need work". > +** New face 'flash-face'. > +This face is used for flash a face briefly. > +Mainly used for 'flash-echo-area-bell-function' and > +'flash-face-bell-function'. I see no reason to announce this face in NEWS for the reasons I explain below. > +--- > +*** New function 'flash-face-bell-function'. > +This function when called will flash a face briefly. > +Intended to be used in 'ring-bell-function'. > + > +--- > +*** New function 'flash-echo-area-bell-function'. > +This function when called will flash current echo area briefly. > +Intended to be used in 'ring-bell-function'. The "when called" part is redundant: it should be clear that a function can do its job only if called. > --- a/lisp/faces.el > +++ b/lisp/faces.el > @@ -2825,6 +2825,17 @@ header-line-inactive > :group 'mode-line-faces > :group 'basic-faces) > > +(defface flash-face > + '((((class color) (min-colors 88)) > + :background "red3" :foreground "white") > + (((class color grayscale) (min-colors 88)) > + :background "grey10" :foreground "white") > + (t > + :inherit error :inverse-video t)) > + "Basic face used for flash a face briefly." > + :version "31.1" > + :group 'basic-faces) Can you tell why this face is defined in faces.el? We don't need to have it preloaded in Emacs. Moreover, AFAIU this is not really a face, to be used like other faces. Instead, this is just a collection of face attributes to add to other faces for producing the "flash" effect. So I'd rather we would not even use defface for it. Or if the alternatives are too awkward and inconvenient, at least let's make the name of this face be an internal name (with two dashes), and explain in the doc string how is this used. > --- a/lisp/simple.el > +++ b/lisp/simple.el > @@ -9389,6 +9389,50 @@ auto-save-mode > (and (< buffer-saved-size 0) > (setq buffer-saved-size 0))) I don't think we need this in simple.el. This is a minor convenience feature, so it doesn't have to be preloaded. It can be on a separate file with the 2 functions it exports autoloaded. > +(defcustom flash-face-duration 0.05 > + "Time (in seconds) used for flash face duration." > + :type 'float ^^^^^^^^^^^^ Why not 'number instead? Do you really want to support only floats? > +(defcustom flash-face-faces > + '(mode-line-active) > + "A list of faces which `flash-face-bell-function' will flash them." The doc string reads awkwardly. I suggest Faces to be flashed by `flash-face-bell-function'. > +(defun flash-face-bell-function () > + "Flash a face or faces as ring a bell. I'd say "Ring-bell function that flashes faces instead." > +Intended to be used in `ring-bell-function'." > + (when-let* (flash-face-duration ; Ensure time is non-nil ^^^^^^^^^^^^^^^^^^^^^^ Why non-nil and not numberp? > + (cookies (mapcar (lambda (f) (face-remap-add-relative f 'flash-face)) > + flash-face-faces))) Are you sure using face-remap-add-relative will work as expected with any face in flash-face-faces? Support for face remapping is not magic, it must be explicitly coded in several places. It might work quite well for basic faces, but I'm not sure what happens with faces defined by various packages. For that reason, I'm not sure asking users to specify a list of faces is the best idea. How many different faces did you test this with? Did you try the default face, or diff-mode faces, for example? > + (unwind-protect > + (sit-for flash-face-duration) > + (mapc #'face-remap-remove-relative cookies)))) Using sit-for means any input event will interrupt the wait. Other ring-bell-functions don't behave like that. Are you sure sleep-for is not better for this purpose? > +(defun flash-echo-area-bell-function () > + "Flash echo area as ring a bell. > +Intended to be used in `ring-bell-function'." > + ;; like `with-temp-message' but suppress message log for not flood > + ;; messages buffer > + (unless (minibufferp) ; Avoid conflicts if cursor is in minibuffer What conflict is that? It seems like the above means the feature will not work (i.e., no flash) if the minibuffer is active? If so, is that a good idea? > + (let ((with-temp-message > + (propertize " " 'display `(space :align-to right) 'face > + 'flash-face)) Why do you use propertize here instead of face-remap-add-relative? From debbugs-submit-bounces@debbugs.gnu.org Mon Apr 28 09:07:02 2025 Received: (at 77715) by debbugs.gnu.org; 28 Apr 2025 13:07:03 +0000 Received: from localhost ([127.0.0.1]:55112 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1u9OCM-0005kU-7Y for submit@debbugs.gnu.org; Mon, 28 Apr 2025 09:07:02 -0400 Received: from mail-yb1-xb2c.google.com ([2607:f8b0:4864:20::b2c]:44219) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1u9OCJ-0005k9-Qe for 77715@debbugs.gnu.org; Mon, 28 Apr 2025 09:07:00 -0400 Received: by mail-yb1-xb2c.google.com with SMTP id 3f1490d57ef6-e731cd5f2adso2127638276.0 for <77715@debbugs.gnu.org>; Mon, 28 Apr 2025 06:06:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1745845614; x=1746450414; darn=debbugs.gnu.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=+eV80Z4D/Qt4GwS1mGC+cTwoeX/sAmCLeCqshjlII0s=; b=Ey5BNhzG16PsQqVxR+BvFrbQ9fWLlo/l1zMTOBXUqL+9YREr+j3wv72tbuGw7ckrFl qVw9LdaWO/gRrpDINh9Dmj4taBee5sSqzLLmqgJ0UYonaZNQApCuAj4G50AWdeXASLR1 eD683CipHhmsgkPczVjRSxaOYp01Vm0jLOPNThI1SpDwHp13hU4ptRJRoJ77lUdHur97 KurNQlo2oXuaDtr3iUx+B0q/7ZOEVoNzOYAomO5u6OFlizLUuTURdylC9fXA2EEXBOPz FPCYH2oCOmej14Hzk/bF0Ns0WJjrNy/4jLyzf+NJAwJgE3qa8/ml90J6bokXU5adzyMX x3NQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1745845614; x=1746450414; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=+eV80Z4D/Qt4GwS1mGC+cTwoeX/sAmCLeCqshjlII0s=; b=U8dAuoMpPag1rSD1R4+mcaOxVrHSOzAdhJF+BteLikOy7tpnMzIj6LEAKJrscZGKe4 icZqArorE/Fp8PS1OmqrlrzRFLypAnOAeZolB4OiQ1cC4MTng25QNSkbMpNjJRP1mU94 DdCPJNHF7D8VXXRkLHBPax4KOKueKl8lT3zcP1zg60XdfhbQAq3vQPZIDbhdIpRsy1VD k6D+ysezbI7kIBDITDm5HLoLidONV27t2klBgQWyvq7uxL3L6576ZNknAVnhPXLLMlzt 2fn1gREG9UhoCXlpqqIKXRdXvSIWsg1LOs46ovqP3DltCVKYY5F4k3U0kZS4Er/JbzBu vyXw== X-Forwarded-Encrypted: i=1; AJvYcCW/UnxQTJSpTXtgFdv8NFUNZ/Dq2gkDWhFd22jvVbu+1z6b/dFnVLaxE3vKtWjKpJmGMTbD7A==@debbugs.gnu.org X-Gm-Message-State: AOJu0YznvXj9xmmlC51mXVPXuTE37ZDW9XLN0bl9+nikHrX4IW1OhurO kQpgGh1BSqcT5lSp9XTavm6nqmftK5yZ30lR1pzK0X6wlxB+MWQkuOCHhkZfQ6I2V5/oAGChelg SrexDHUx3oQYp5wyvwQ207/sJ8AY= X-Gm-Gg: ASbGncsOBee5wgvfWP41SvaOa4o6diAJ2sw6/xfiTkfPbEuzfc/2kMidI7JH7m7bzy/ 11k5tyxpPD8YWqSWiUfjDvDSRlujPEYnf8Eq23BG/rlrqLvEfpsubuQXoBnwL1hI2If0cwPB4+g 49v4z/DbRPUQz8fT6Mp4SyPA== X-Google-Smtp-Source: AGHT+IHW3znChejqSsR7SGNEx++AWyva1u1XUGzHINVyExNnSXXKqFojBxTUWC6FH1clvO4DPk+DrJNWul5tLOdB0OU= X-Received: by 2002:a05:6902:18ce:b0:e73:2d80:aae0 with SMTP id 3f1490d57ef6-e732d80abfamr9111494276.49.1745845613901; Mon, 28 Apr 2025 06:06:53 -0700 (PDT) MIME-Version: 1.0 References: <87r01zlx4n.fsf@gmail.com> <874iyvetl1.fsf@gmail.com> <874iyvv1te.fsf@gmail.com> <87plhitvdl.fsf@gmail.com> <87wmbqpmb7.fsf@gmail.com> <87bjsh79sl.fsf@gmail.com> <86ldrkr01n.fsf@gnu.org> In-Reply-To: <86ldrkr01n.fsf@gnu.org> From: Ship Mints Date: Mon, 28 Apr 2025 09:06:42 -0400 X-Gm-Features: ATxdqUHHjGq2ICDtyu2Byubt5EmtZCVFapHT8Y7OpWsh0JqN3-5mnlZ2BM42MUo Message-ID: Subject: Re: bug#77715: [PATCH] Add ring-bell functions for mode line and header line. To: Eli Zaretskii Content-Type: multipart/alternative; boundary="000000000000a6451c0633d65bc6" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 77715 Cc: =?UTF-8?Q?Elijah_Gabe_P=C3=A9rez?= , 77715@debbugs.gnu.org, drew.adams@oracle.com X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) --000000000000a6451c0633d65bc6 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Mon, Apr 28, 2025 at 7:35=E2=80=AFAM Eli Zaretskii wrote: > > + (cookies (mapcar (lambda (f) (face-remap-add-relative f > 'flash-face)) > > + flash-face-faces))) > > Are you sure using face-remap-add-relative will work as expected with > any face in flash-face-faces? Support for face remapping is not > magic, it must be explicitly coded in several places. It might work > quite well for basic faces, but I'm not sure what happens with faces > defined by various packages. For that reason, I'm not sure asking > users to specify a list of faces is the best idea. How many different > faces did you test this with? Did you try the default face, or > diff-mode faces, for example? > I use my version of this implementation with the following list of faces: '(internal-border tab-bar mode-line-active mode-line-inactive) > + (unwind-protect > > + (sit-for flash-face-duration) > > + (mapc #'face-remap-remove-relative cookies)))) > > Using sit-for means any input event will interrupt the wait. Other > ring-bell-functions don't behave like that. Are you sure sleep-for is > not better for this purpose? > My implementation uses sit-for and the duration is short enough (mine is set to 0.05 seconds) that this is fine. And if it were any longer, I'd want C-g to interrupt it and remove the remappings. > > > +(defun flash-echo-area-bell-function () > > + "Flash echo area as ring a bell. > > +Intended to be used in `ring-bell-function'." > > + ;; like `with-temp-message' but suppress message log for not flood > > + ;; messages buffer > > + (unless (minibufferp) ; Avoid conflicts if cursor is in minibuffer > > What conflict is that? > > It seems like the above means the feature will not work (i.e., no > flash) if the minibuffer is active? If so, is that a good idea? > My implementation doesn't have this condition so I'm not sure what it tries to do or avoid. -Stephane --000000000000a6451c0633d65bc6 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
= On Mon, Apr 28, 2025 at 7:35=E2=80=AFAM Eli Zaretskii <eliz@gnu.org> wrote:
> +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 (cookies = (mapcar (lambda (f) (face-remap-add-relative f 'flash-face))
> +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0= =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0flash-face-faces)))

Are you sure using face-remap-add-relative will work as expected with
any face in flash-face-faces?=C2=A0 Support for face remapping is not
magic, it must be explicitly coded in several places.=C2=A0 It might work quite well for basic faces, but I'm not sure what happens with faces defined by various packages.=C2=A0 For that reason, I'm not sure asking=
users to specify a list of faces is the best idea.=C2=A0 How many different=
faces did you test this with?=C2=A0 Did you try the default face, or
diff-mode faces, for example?

I use my version of this imp= lementation with the following list of faces: '(internal-border tab-bar= mode-line-active mode-line-inactive)

> +=C2=A0 =C2=A0 (unwind-protect
> +=C2=A0 =C2=A0 =C2=A0 =C2=A0 (sit-for flash-face-duration)
> +=C2=A0 =C2=A0 =C2=A0 (mapc #'face-remap-remove-relative cookies))= ))

Using sit-for means any input event will interrupt the wait.=C2=A0 Other ring-bell-functions don't behave like that.=C2=A0 Are you sure sleep-fo= r is
not better for this purpose?

My implementation uses sit-fo= r and the duration is short enough (mine is set to 0.05 seconds) that this = is fine.=C2=A0 And if it were any longer, I'd want C-g to interrupt it = and remove the remappings.

> +(defun flash-echo-area-bell-function ()
> +=C2=A0 "Flash echo area as ring a bell.
> +Intended to be used in `ring-bell-function'."
> +=C2=A0 ;; like `with-temp-message' but suppress message log for n= ot flood
> +=C2=A0 ;; messages buffer
> +=C2=A0 (unless (minibufferp) ; Avoid conflicts if cursor is in minibu= ffer

What conflict is that?

It seems like the above means the feature will not work (i.e., no
flash) if the minibuffer is active?=C2=A0 If so, is that a good idea?

My implementation do= esn't have this condition so I'm not sure what it tries to do or av= oid.
=C2=A0
-Stephane
--000000000000a6451c0633d65bc6-- From debbugs-submit-bounces@debbugs.gnu.org Mon Apr 28 09:19:39 2025 Received: (at 77715) by debbugs.gnu.org; 28 Apr 2025 13:19:39 +0000 Received: from localhost ([127.0.0.1]:55149 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1u9OOY-0007IX-T3 for submit@debbugs.gnu.org; Mon, 28 Apr 2025 09:19:39 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:39324) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1u9OOV-0007Hx-05 for 77715@debbugs.gnu.org; Mon, 28 Apr 2025 09:19:36 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1u9OOM-0006qS-EU; Mon, 28 Apr 2025 09:19:28 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-version:References:Subject:In-Reply-To:To:From: Date; bh=xLTYEXI4rEciBk3Rx0R5EA8nhdId6gyPZ+bGzCbB3eo=; b=RzzrumCqw26K6Gp4uKPD MkE8ks6iqGM/HVWWQvkfv13zCmnc4wv657H63LW+kjDq1NVLCKI/FeFN6pIBtHhm1aVoCnc8AvIXp ZbG91bVMXnke2HUvNvkz5NBtrcNaSATKoV4YQrFBt5taOaa5QeEEzWpOE/3QAwwv9L7bgIuptV3WZ MBqZnnSthNHAiBIKfYp6J26n/0/bY3DnbwIQDrdaPZt8zT5mEsTwwAb86AV5pk8fLEUd5K4pDSa53 vvOaSYqYbPzxhzriv+6ukFHFPw6pk5Pkx2ZDTEF2fIPjf9vlwFM0cxINTfHl0EhCsQp5yElqxM11N fV85kl6HtbxYkQ==; Date: Mon, 28 Apr 2025 16:19:00 +0300 Message-Id: <86a580qv97.fsf@gnu.org> From: Eli Zaretskii To: Ship Mints In-Reply-To: (message from Ship Mints on Mon, 28 Apr 2025 09:06:42 -0400) Subject: Re: bug#77715: [PATCH] Add ring-bell functions for mode line and header line. References: <87r01zlx4n.fsf@gmail.com> <874iyvetl1.fsf@gmail.com> <874iyvv1te.fsf@gmail.com> <87plhitvdl.fsf@gmail.com> <87wmbqpmb7.fsf@gmail.com> <87bjsh79sl.fsf@gmail.com> <86ldrkr01n.fsf@gnu.org> MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 77715 Cc: eg642616@gmail.com, 77715@debbugs.gnu.org, drew.adams@oracle.com X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Ship Mints > Date: Mon, 28 Apr 2025 09:06:42 -0400 > Cc: Elijah Gabe Pérez , > 77715@debbugs.gnu.org, drew.adams@oracle.com > > On Mon, Apr 28, 2025 at 7:35 AM Eli Zaretskii wrote: > > > + (cookies (mapcar (lambda (f) (face-remap-add-relative f 'flash-face)) > > + flash-face-faces))) > > Are you sure using face-remap-add-relative will work as expected with > any face in flash-face-faces? Support for face remapping is not > magic, it must be explicitly coded in several places. It might work > quite well for basic faces, but I'm not sure what happens with faces > defined by various packages. For that reason, I'm not sure asking > users to specify a list of faces is the best idea. How many different > faces did you test this with? Did you try the default face, or > diff-mode faces, for example? > > I use my version of this implementation with the following list of faces: '(internal-border tab-bar > mode-line-active mode-line-inactive) These are all basic faces (see xfaces.c), for which the C code applies face-remapping. I asked about other faces. > > + (unwind-protect > > + (sit-for flash-face-duration) > > + (mapc #'face-remap-remove-relative cookies)))) > > Using sit-for means any input event will interrupt the wait. Other > ring-bell-functions don't behave like that. Are you sure sleep-for is > not better for this purpose? > > My implementation uses sit-for and the duration is short enough (mine is set to 0.05 seconds) that this is > fine. And if it were any longer, I'd want C-g to interrupt it and remove the remappings. What if the user want 0.1 sec, and there's an input event after just 10 msec? The difference is perceptible by humans. From debbugs-submit-bounces@debbugs.gnu.org Mon Apr 28 09:24:01 2025 Received: (at 77715) by debbugs.gnu.org; 28 Apr 2025 13:24:01 +0000 Received: from localhost ([127.0.0.1]:55241 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1u9OSm-0007fl-Ek for submit@debbugs.gnu.org; Mon, 28 Apr 2025 09:24:01 -0400 Received: from mail-ua1-x930.google.com ([2607:f8b0:4864:20::930]:47324) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1u9OSh-0007ee-1H for 77715@debbugs.gnu.org; Mon, 28 Apr 2025 09:23:58 -0400 Received: by mail-ua1-x930.google.com with SMTP id a1e0cc1a2514c-877b9328604so3014757241.2 for <77715@debbugs.gnu.org>; Mon, 28 Apr 2025 06:23:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1745846629; x=1746451429; darn=debbugs.gnu.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=PReGLhewPISyJq5kfGOlJ/8DaVfiW5sIOgmyzAO6SFE=; b=iVWIiE6SkBkgwIxiSw8hJfqcTPKSSjNQO50BToxb68vfBERQkiwg49YxLvu+Gyu2Bb I0Xs+ZdcunWeOUiBS7FNtJdE/ES2Oe3VumAvoky/yKFPG5CtDWQ+WKZFvAoi1xXoyXIi 3lZKwfWJRiVFZKqYIpBWCKIqQcr5xzde7zg5CFvBIDlHv3NUB3988UqP/2H7ObBPcEMY 4kxdIvEAQIfNE6Q1ptlCLQ/ZixN3LtwvwDm3mpe52Fb46QU4L6eYTu+jBjqwn3P9uFdR YjRuOhSBHnZLn4WhtP0IWh4USzsS58kaeTSz69PQrr3h9S1J9hTLls+PfEQdTfBgwfCF jBjw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1745846629; x=1746451429; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=PReGLhewPISyJq5kfGOlJ/8DaVfiW5sIOgmyzAO6SFE=; b=RH1ek5uCfA+NOZRQjHmUlvDhHAzC59Q8Lf98IGkcKbI7L43v6xo8TU2aS6QK9gwVGz uH+Cnjq6heEGd7o2ILtVFcAU0LPueRZuJSd3eki8eG9plhpkMl2fM5pYSmBSo9PyY0cY pQxdLtXuLfTOPaqjB62QySfGbbOXkq/EJ19d8vClG4GVguCyUaU4DRJ02BI5EJP+P9Hu BODesuEqbIomPTqFFfRXTd/3QpIb8KAPY0yhD7/SMG7vyj8+lDnQqIw2ZXVbnrhxQuok tXWGWwAECGVGH8CjORKFMagVzpSyNj+32coQ9Q5sclRV7fAArd2rRJGTVbAj3vtYbs2y m6Ig== X-Forwarded-Encrypted: i=1; AJvYcCWk5v/kE3i+EZQ06czh8VWVR1pdgf78FTSt3pWuTXF1xBVOnUhsvV1QIgGZfIEclElFrJBhjA==@debbugs.gnu.org X-Gm-Message-State: AOJu0Yw7CNKIwMzOo+vs6NR0if/EmBwZPiu99lyZhszSCD4hjMr36haE +JY+jnwuA43MeGKo0YQIUjhemu8pj0J52eiuylMnAiU5aaF+3CLE8ahdmMCw7wOSfwqENhkYqBD HblbsnZjbZL0i8Upeo/JeS//+pFI= X-Gm-Gg: ASbGncuAa/mb8G26uePk3uZsdYCHzNZHi1J6x2G7tkqqrxGLqnP0AYlQnTCnicpy/k7 Gnnqo8WHjfbfGpT49D/JhNSOs1i8hUspL6Rmn13qiLaDOX9A1f0toI90NiC1C++geG96EYRxRwP wGhsuRbtHfshGW8lgGifthrA== X-Google-Smtp-Source: AGHT+IHcuTPQvQAYBX/14I0TwM+REq2E9pW+FwjJTQfi+P1vx+g0bYtH7ZQubUbYFJ/JXGX8r44+eQmE2Sv6JIUmsHA= X-Received: by 2002:a05:6102:160a:b0:4bb:e5bf:9c79 with SMTP id ada2fe7eead31-4d5456546a2mr7537930137.22.1745846629237; Mon, 28 Apr 2025 06:23:49 -0700 (PDT) MIME-Version: 1.0 References: <87r01zlx4n.fsf@gmail.com> <874iyvetl1.fsf@gmail.com> <874iyvv1te.fsf@gmail.com> <87plhitvdl.fsf@gmail.com> <87wmbqpmb7.fsf@gmail.com> <87bjsh79sl.fsf@gmail.com> <86ldrkr01n.fsf@gnu.org> <86a580qv97.fsf@gnu.org> In-Reply-To: <86a580qv97.fsf@gnu.org> From: Ship Mints Date: Mon, 28 Apr 2025 09:23:38 -0400 X-Gm-Features: ATxdqUHff4XTCpNz5vSlVY0mRw5qFOsKcLgfnYUytW_U7Jq5RF2IQp599ukFJ90 Message-ID: Subject: Re: bug#77715: [PATCH] Add ring-bell functions for mode line and header line. To: Eli Zaretskii Content-Type: multipart/alternative; boundary="0000000000002b0e3d0633d698c0" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 77715 Cc: eg642616@gmail.com, 77715@debbugs.gnu.org, drew.adams@oracle.com X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) --0000000000002b0e3d0633d698c0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Mon, Apr 28, 2025 at 9:19=E2=80=AFAM Eli Zaretskii wrote: > > From: Ship Mints > > Date: Mon, 28 Apr 2025 09:06:42 -0400 > > Cc: Elijah Gabe P=C3=A9rez , > > 77715@debbugs.gnu.org, drew.adams@oracle.com > > > > On Mon, Apr 28, 2025 at 7:35=E2=80=AFAM Eli Zaretskii wr= ote: > > > > > + (cookies (mapcar (lambda (f) (face-remap-add-relative > f 'flash-face)) > > > + flash-face-faces))) > > > > Are you sure using face-remap-add-relative will work as expected with > > any face in flash-face-faces? Support for face remapping is not > > magic, it must be explicitly coded in several places. It might work > > quite well for basic faces, but I'm not sure what happens with faces > > defined by various packages. For that reason, I'm not sure asking > > users to specify a list of faces is the best idea. How many different > > faces did you test this with? Did you try the default face, or > > diff-mode faces, for example? > > > > I use my version of this implementation with the following list of > faces: '(internal-border tab-bar > > mode-line-active mode-line-inactive) > > These are all basic faces (see xfaces.c), for which the C code applies > face-remapping. I asked about other faces. > I haven't tried others is what I was saying. Elijah should test more faces as part of the due diligence to get this into Emacs core. > > + (unwind-protect > > > + (sit-for flash-face-duration) > > > + (mapc #'face-remap-remove-relative cookies)))) > > > > Using sit-for means any input event will interrupt the wait. Other > > ring-bell-functions don't behave like that. Are you sure sleep-for is > > not better for this purpose? > > > > My implementation uses sit-for and the duration is short enough (mine i= s > set to 0.05 seconds) that this is > > fine. And if it were any longer, I'd want C-g to interrupt it and > remove the remappings. > > What if the user want 0.1 sec, and there's an input event after just > 10 msec? The difference is perceptible by humans. > Same. The ring bell use case is sufficiently visually intrusive that if the sit-for is interrupted by an input event, I'm good with that. --0000000000002b0e3d0633d698c0 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
= On Mon, Apr 28, 2025 at 9:19=E2=80=AFAM Eli Zaretskii <eliz@gnu.org> wrote:
> From: Ship Mints <shipmints@gmail.com>
> Date: Mon, 28 Apr 2025 09:06:42 -0400
> Cc: Elijah Gabe P=C3=A9rez <eg642616@gmail.com>,
>=C2=A0 =C2=A0 =C2=A0 =C2=A077715@debbugs.gnu.org, drew.adams@oracle.com
>
> On Mon, Apr 28, 2025 at 7:35=E2=80=AFAM Eli Zaretskii <eliz@gnu.org> wrote:
>
>=C2=A0 > +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 (cookies = (mapcar (lambda (f) (face-remap-add-relative f 'flash-face))
>=C2=A0 > +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0flash-face-faces)))<= br> >
>=C2=A0 Are you sure using face-remap-add-relative will work as expected= with
>=C2=A0 any face in flash-face-faces?=C2=A0 Support for face remapping i= s not
>=C2=A0 magic, it must be explicitly coded in several places.=C2=A0 It m= ight work
>=C2=A0 quite well for basic faces, but I'm not sure what happens wi= th faces
>=C2=A0 defined by various packages.=C2=A0 For that reason, I'm not = sure asking
>=C2=A0 users to specify a list of faces is the best idea.=C2=A0 How man= y different
>=C2=A0 faces did you test this with?=C2=A0 Did you try the default face= , or
>=C2=A0 diff-mode faces, for example?
>
> I use my version of this implementation with the following list of fac= es: '(internal-border tab-bar
> mode-line-active mode-line-inactive)

These are all basic faces (see xfaces.c), for which the C code applies
face-remapping.=C2=A0 I asked about other faces.

<= /div>
I haven&#= 39;t tried others is what I was saying.=C2=A0 Elijah should test more faces= as part of the due diligence to get this into Emacs core.

>=C2=A0 > +=C2=A0 =C2=A0 (unwind-protect
>=C2=A0 > +=C2=A0 =C2=A0 =C2=A0 =C2=A0 (sit-for flash-face-duration)<= br> >=C2=A0 > +=C2=A0 =C2=A0 =C2=A0 (mapc #'face-remap-remove-relativ= e cookies))))
>
>=C2=A0 Using sit-for means any input event will interrupt the wait.=C2= =A0 Other
>=C2=A0 ring-bell-functions don't behave like that.=C2=A0 Are you su= re sleep-for is
>=C2=A0 not better for this purpose?
>
> My implementation uses sit-for and the duration is short enough (mine = is set to 0.05 seconds) that this is
> fine.=C2=A0 And if it were any longer, I'd want C-g to interrupt i= t and remove the remappings.

What if the user want 0.1 sec, and there's an input event after just 10 msec?=C2=A0 The difference is perceptible by humans.

Sa= me. The ring bell use case is sufficiently visually intrusive that if the s= it-for is interrupted by an input event, I'm good with that.
--0000000000002b0e3d0633d698c0-- From debbugs-submit-bounces@debbugs.gnu.org Mon Apr 28 15:05:06 2025 Received: (at 77715) by debbugs.gnu.org; 28 Apr 2025 19:05:06 +0000 Received: from localhost ([127.0.0.1]:35409 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1u9Tmr-0005R5-1h for submit@debbugs.gnu.org; Mon, 28 Apr 2025 15:05:05 -0400 Received: from mail-oi1-x244.google.com ([2607:f8b0:4864:20::244]:61532) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1u9Tmn-0005On-Sj for 77715@debbugs.gnu.org; Mon, 28 Apr 2025 15:05:03 -0400 Received: by mail-oi1-x244.google.com with SMTP id 5614622812f47-3f6dccdcadaso4187834b6e.2 for <77715@debbugs.gnu.org>; Mon, 28 Apr 2025 12:05:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1745867096; x=1746471896; darn=debbugs.gnu.org; h=mime-version:user-agent:message-id:date:references:in-reply-to :subject:cc:to:from:from:to:cc:subject:date:message-id:reply-to; bh=snI1MtJhVXYFRJgChfeaKPyCa++K64leMICzGQ7g3oc=; b=eqsZNb0xcARks3d6SBBtzmghHGTsCGJqo+qT94IDqnnZLNzGLG3mrV2ClDpdZDbWYw DUcOt5w6zr1OYOwvmLr/QUxQyFefuRMMLalRhIqo1YOrwoRgIRCstpy4eDteB+TyaGvB hJUiFrgzmxLhcQ2h2atwv07fJQt9YjGSm1D3PErou/Fx/B2PDfoiUWBytG4PT5haG7Jd wDCx0CnA6L2tSs8Z8WMV8vznRcTJsAOJXIitOAiq2Ae/jl/Y0fZb2KSalo5J4rH5VwAO aDO5fAr7Gx7V3YrPNRIscQUZNB4r/PoGcnwARGHCOoyPs3VpBLO9hXM+79gEo5sxsgi0 qIcA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1745867096; x=1746471896; h=mime-version:user-agent:message-id:date:references:in-reply-to :subject:cc:to:from:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=snI1MtJhVXYFRJgChfeaKPyCa++K64leMICzGQ7g3oc=; b=tEPSkcuXbQUw69QNUbMjTl7moMUOrWE2UY8MfVAibrUWqnHCs0NP6D2G0kMTPwTt3Q UXkUqFWUX9mezByuiaqqZE6vImyKvso4VtbXG2JsRKjpaRP3Cl3kYfPSH5Vn1x7fn8k4 IPsuCKjkVgAwRTfNRENViJj4M32Q4WckmRhaQiAPSb2z8Sbs8OCFq4cBMe6rHjE86DTX qcCa9VFYuFJ5lqvv9pEl56lkIBViF+2f0A7ZtMT8hKcsMv9sBAgWz6pVnRF6T75DLSFJ teGnIne5n7DYIVvj+UmQfMhhOz0Z1+oBDwW6Nj3bjr+08Swf/m3cYsQzjPwIT39Gt6As w7kQ== X-Gm-Message-State: AOJu0YyuhXDUSO0vhI3ey0bE8+pKqZnLeUxCEQTXN4URN2JCwHEbd7KU xY/IKVAsa589+zal2NXZF+jBd6HpxDSZVAgFNwwslJzKA1b8qGnc X-Gm-Gg: ASbGncsP15LG/x1LnJ1L9HtrMIXrC++xs1VjQWSyLb5pC6LH/TR4fcble+ifgJhIPfU Qbd3QO0ZKbdrjip+U7RW07adZeOTq1w7BABOta2JDBBamgII/THE/mu2WJQuEtvOK/Gyyu29Y/x RK43DvmXZN8VO2QXQF9XJpgugKlGQ+NeS86Wdm5ITIsDNgnpvfxYemmJDwOvbL/PvRuEQSkIrFj jhvZTYdp0gSrk+vAxcDDpG38XFqsw+YK47yn4Je52YcKXVArq4isle+fdmMJTc0eK1jJknsLV8Q TG8aznit X-Google-Smtp-Source: AGHT+IG3TcOo3ecuhOchMR+6lO0hnfOn49pn6ED/gNiATt9zL8Gr9dlcoVpAbUCJMLkT9MWNeK7Pgg== X-Received: by 2002:aca:1006:0:b0:3f9:1fee:8055 with SMTP id 5614622812f47-402107efaa3mr388828b6e.15.1745867095621; Mon, 28 Apr 2025 12:04:55 -0700 (PDT) Received: from fedora ([2806:10ae:e:8863::1]) by smtp.gmail.com with ESMTPSA id 006d021491bc7-60646862ee9sm2037550eaf.4.2025.04.28.12.04.54 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 28 Apr 2025 12:04:55 -0700 (PDT) From: =?utf-8?Q?Elijah_Gabe_P=C3=A9rez?= To: Eli Zaretskii Subject: Re: bug#77715: [PATCH] Add ring-bell functions for mode line and header line. In-Reply-To: <86ldrkr01n.fsf@gnu.org> References: <87r01zlx4n.fsf@gmail.com> <874iyvetl1.fsf@gmail.com> <874iyvv1te.fsf@gmail.com> <87plhitvdl.fsf@gmail.com> <87wmbqpmb7.fsf@gmail.com> <87bjsh79sl.fsf@gmail.com> <86ldrkr01n.fsf@gnu.org> Date: Mon, 28 Apr 2025 13:04:53 -0600 Message-ID: <87plgwyune.fsf@gmail.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/31.0.50 MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Spam-Score: 0.3 (/) X-Debbugs-Envelope-To: 77715 Cc: 77715@debbugs.gnu.org, shipmints@gmail.com, drew.adams@oracle.com X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) --=-=-= Content-Type: text/plain Eli Zaretskii writes: >> --- a/lisp/faces.el >> +++ b/lisp/faces.el >> @@ -2825,6 +2825,17 @@ header-line-inactive >> :group 'mode-line-faces >> :group 'basic-faces) >> >> +(defface flash-face >> + '((((class color) (min-colors 88)) >> + :background "red3" :foreground "white") >> + (((class color grayscale) (min-colors 88)) >> + :background "grey10" :foreground "white") >> + (t >> + :inherit error :inverse-video t)) >> + "Basic face used for flash a face briefly." >> + :version "31.1" >> + :group 'basic-faces) > > Can you tell why this face is defined in faces.el? We don't need to > have it preloaded in Emacs. Moreover, AFAIU this is not really a > face, to be used like other faces. Instead, this is just a collection > of face attributes to add to other faces for producing the "flash" > effect. So I'd rather we would not even use defface for it. Or if > the alternatives are too awkward and inconvenient, at least let's make > the name of this face be an internal name (with two dashes), and > explain in the doc string how is this used. I made it a defface specially for any custom theme that wants to set it. So it can be "updated" to fit the current theme. Anyway, I've changed it to a defcustom. >> --- a/lisp/simple.el >> +++ b/lisp/simple.el >> @@ -9389,6 +9389,50 @@ auto-save-mode >> (and (< buffer-saved-size 0) >> (setq buffer-saved-size 0))) > > I don't think we need this in simple.el. This is a minor convenience > feature, so it doesn't have to be preloaded. It can be on a separate > file with the 2 functions it exports autoloaded. Sure, but wouldn't be redundant making yet another file for just these 2 functions? I added to simple.el because i didn't know where to put the code. In that case I have moved it to a separate file. >> +(defcustom flash-face-duration 0.05 >> + "Time (in seconds) used for flash face duration." >> + :type 'float > ^^^^^^^^^^^^ > Why not 'number instead? Do you really want to support only floats? Ops, i forgot it. >> +Intended to be used in `ring-bell-function'." >> + (when-let* (flash-face-duration ; Ensure time is non-nil > ^^^^^^^^^^^^^^^^^^^^^^ > Why non-nil and not numberp? Fixed. >> + (cookies (mapcar (lambda (f) (face-remap-add-relative f 'flash-face)) >> + flash-face-faces))) > > Are you sure using face-remap-add-relative will work as expected with > any face in flash-face-faces? Support for face remapping is not > magic, it must be explicitly coded in several places. It might work > quite well for basic faces, but I'm not sure what happens with faces > defined by various packages. For that reason, I'm not sure asking > users to specify a list of faces is the best idea. How many different > faces did you test this with? Did you try the default face, or > diff-mode faces, for example? I've tested it with built-in faces and with some third-party packages; it works fine: (setopt flash-face-faces '(mode-line-active mode-line default hl-line trailing-whitespace whitespace-trailing header-line-active header-line diff-added diff-removed diff-refine-added diff-indicator-added tab-bar tab-bar-tab centaur-tabs-selected centaur-tabs-close-selected solaire-mode-line-inactive-face solaire-mode-line-active-face)) And it should work for every face defined. Asking to user to specify others faces is necessary from my POV, there are packages that overrides some faces with their own one. >> + (unwind-protect >> + (sit-for flash-face-duration) >> + (mapc #'face-remap-remove-relative cookies)))) > > Using sit-for means any input event will interrupt the wait. Other > ring-bell-functions don't behave like that. Are you sure sleep-for is > not better for this purpose? Emacs would freeze if I use sleep-for instead, I've tested using it but it seems that emacs is going to crash, very uncomfortable when I'm editing quickly. Using sit-for at least makes it noticeable and without interrupting you while editing. I had planned to use `run-with-timer' but as Ship pointed, it is not recommended. >> +(defun flash-echo-area-bell-function () >> + "Flash echo area as ring a bell. >> +Intended to be used in `ring-bell-function'." >> + ;; like `with-temp-message' but suppress message log for not flood >> + ;; messages buffer >> + (unless (minibufferp) ; Avoid conflicts if cursor is in minibuffer > > What conflict is that? > > It seems like the above means the feature will not work (i.e., no > flash) if the minibuffer is active? If so, is that a good idea? When the cursor is the minibuffer (eval-expression, M-x and like) and the ring-bell function is called the message is displayed as: "[ ]" ^ The bell face. I found that it's caused by `minibuffer-message', but I'm not sure why and how to remove the "[" "]". I honestly think that while in the minibuffer this function is not necessary since it already displays a message (since you are supposed to be focused on the minibuffer) For example: Typing `M-x' inside minibuffer displays message: [Command attempted to use minibuffer while in minibuffer] If this function (flash-echo-area-bell-function) is enabled there it would display: [ ] and later: [Command attempted to use minibuffer while in minibuffer] >> + (let ((with-temp-message >> + (propertize " " 'display `(space :align-to right) 'face >> + 'flash-face)) > > Why do you use propertize here instead of face-remap-add-relative? That is for the echo-area/minibuffer, which AFAIK doesn't have a face that i can use for this. So instead it displays an empty message with a face that extends to the end of minibuffer. --=-=-= Content-Type: text/x-patch; charset=utf-8 Content-Disposition: attachment; filename=0001-New-ring-bell-functions-for-flash-faces.-bug-77715.patch Content-Transfer-Encoding: quoted-printable >From 129a5a772f1a578fd60ed4ba13cd12ae6fcd6229 Mon Sep 17 00:00:00 2001 From: =3D?UTF-8?q?El=3DC3=3DADas=3D20Gabriel=3D20P=3DC3=3DA9rez?=3D Date: Thu, 10 Apr 2025 11:38:21 -0600 Subject: [PATCH] New ring-bell functions for flash faces. (bug#77715) New functions for flash any face or echo area once whether `ring-bell-function' is called. * lisp/flash-bell.el: New file. * etc/NEWS: Announce changes. --- etc/NEWS | 25 +++++++++++++ lisp/flash-bell.el | 90 ++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 115 insertions(+) create mode 100644 lisp/flash-bell.el diff --git a/etc/NEWS b/etc/NEWS index a5936b1c6cf..6eee690e09b 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -1935,6 +1935,31 @@ change their face if the current line exceeds the 'f= ill-column'. The new face 'display-fill-column-indicator-warning-face' is used to highlight the fill-column indicators. By default, this is disabled. =20 +--- +*** New function 'flash-face-bell-function'. +This function flash a face briefly. +Intended to be used in 'ring-bell-function'. + +--- +*** New function 'flash-echo-area-bell-function'. +This function flash current echo area briefly. +Intended to be used in 'ring-bell-function'. + +--- +*** New user option 'flash-face-duration'. +This option controls flash duration for 'flash-face-bell-function' and +'flash-echo-area-bell-function'. + +--- +*** New user option 'flash-face-faces'. +This option tells 'flash-face-bell-function' which faces should flash. + +--- +*** New user option 'flash-face-attributes' +This option tells 'flash-face-bell-function' and +'flash-echo-area-bell-function' which face attributes should use +for flash. + --- ** Flymake =20 diff --git a/lisp/flash-bell.el b/lisp/flash-bell.el new file mode 100644 index 00000000000..a50c23ae3ea --- /dev/null +++ b/lisp/flash-bell.el @@ -0,0 +1,90 @@ +;;; flash-bell.el --- Functions intended to be used in ring-bell-function = -*- lexical-binding: t; -*- + +;; Copyright (C) 2025 Free Software Foundation, Inc. + +;; Author: Elijah Gabe P=C3=A9rez +;; Keywords: faces + +;; This file is part of GNU Emacs. + +;; GNU Emacs is free software: you can redistribute it and/or modify +;; it under the terms of the GNU General Public License as published by +;; the Free Software Foundation, either version 3 of the License, or +;; (at your option) any later version. + +;; GNU Emacs is distributed in the hope that it will be useful, +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with GNU Emacs. If not, see . + +;;; Commentary: + +;; Functions for flash something whether `ring-bell-function' is called. + +;;; Code: +(require 'face-remap) + +(defcustom flash-face-attributes + '(:background "red" :foreground "white") + "Face attributes to use in any function from flash-bell.el. +This is intended to be used in any function from flash-bell.el such as +`flash-face-bell-function' and `flash-echo-area-bell-function' for make +the flash face more noticeable." + :type 'plist + :group 'faces + :version "31.1") + +(defcustom flash-face-duration 0.05 + "Time (in seconds) used for flash face duration." + :type 'number + :group 'faces + :version "31.1") + +(defcustom flash-face-faces + '(mode-line-active) + "A list of faces to be flashed by `flash-face-bell-function'." + :type '(repeat face) + :group 'faces + :version "31.1") + +;;;###autoload +(defun flash-face-bell-function () + "Ring-bell function that flashes faces. +Intended to be used in `ring-bell-function'." + (when-let* (((numberp flash-face-duration)) ; Ensure time is a number + (cookies (mapcar (lambda (f) (apply #'face-remap-add-relativ= e f flash-face-attributes)) + flash-face-faces))) + (unwind-protect + (sit-for flash-face-duration) + (mapc #'face-remap-remove-relative cookies)))) + +;;;###autoload +(defun flash-echo-area-bell-function () + "Flash echo area as ring a bell. +Intended to be used in `ring-bell-function'." + ;; like `with-temp-message' but suppress message log for not flood + ;; messages buffer. + ;; If we are inside minibuffer, it already displays a noticeable message + ;; that can make our bell does not display properly, so disable it + ;; only if we are there. + (unless (minibufferp) + (let ((with-temp-message + (propertize " " 'display `(space :align-to right) 'face + flash-face-attributes)) + (current-message)) + (unwind-protect + (progn + (when with-temp-message + (setq current-message (current-message)) + (let (message-log-max) + (message "%s" with-temp-message))) + (sit-for flash-face-duration)) + (and with-temp-message + (if current-message (message "%s" current-message) + (message nil))))))) + +(provide 'flash-bell) +;;; flash-bell.el ends here --=20 2.49.0 --=-=-= Content-Type: text/plain -- - E.G via GNU Emacs and Org. --=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Tue Apr 29 01:36:35 2025 Received: (at 77715) by debbugs.gnu.org; 29 Apr 2025 05:36:35 +0000 Received: from localhost ([127.0.0.1]:45223 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1u9ddy-00018e-Fd for submit@debbugs.gnu.org; Tue, 29 Apr 2025 01:36:34 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:51950) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1u9ddt-00016x-SD for 77715@debbugs.gnu.org; Tue, 29 Apr 2025 01:36:32 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1u9ddn-0001m0-Ki; Tue, 29 Apr 2025 01:36:23 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-version:References:Subject:In-Reply-To:To:From: Date; bh=y5Ctpc/SGX+8P4+F9dJ7xv3pKMxyJyOcqQ8zkQQelEk=; b=hUJs9btfj67IyHGDO6OM xPCJn9Csy2FUNafu1WQ+ANY3veFjxKR9Y01vomvngZHnZ00ccMDj0kLU5qO44ubCwY8iIZCJqXQaI ++d73ZpDPo/qEPYjPeg5WqTrJj9NQpunungRmRHrw2XofiW+Q+XsUXZOQL3wyU+LqLAQIOXfVQIUV ezD4kYoFUxvocYPitKrz/TqKJmsAfXOVPsLC0yw17RcPV8Fx1/NKTz051IMMLTpLqjux3s2k0gLsQ zmGeo+FrSZPdZebIRZZg+HtGB+bJ3U+wnAesQtoxkCRmx8XcL3goc/VnWcxfeWU5qEdOZOdqoe9/U dzj5ASOuLXvpjQ==; Date: Tue, 29 Apr 2025 08:36:19 +0300 Message-Id: <861ptbr0ks.fsf@gnu.org> From: Eli Zaretskii To: Elijah Gabe =?iso-8859-1?Q?P=E9rez?= In-Reply-To: <87plgwyune.fsf@gmail.com> (message from Elijah Gabe =?iso-8859-1?Q?P=E9rez?= on Mon, 28 Apr 2025 13:04:53 -0600) Subject: Re: bug#77715: [PATCH] Add ring-bell functions for mode line and header line. References: <87r01zlx4n.fsf@gmail.com> <874iyvetl1.fsf@gmail.com> <874iyvv1te.fsf@gmail.com> <87plhitvdl.fsf@gmail.com> <87wmbqpmb7.fsf@gmail.com> <87bjsh79sl.fsf@gmail.com> <86ldrkr01n.fsf@gnu.org> <87plgwyune.fsf@gmail.com> MIME-version: 1.0 Content-type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 77715 Cc: 77715@debbugs.gnu.org, shipmints@gmail.com, drew.adams@oracle.com X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Elijah Gabe Pérez > Cc: 77715@debbugs.gnu.org, shipmints@gmail.com, drew.adams@oracle.com > Date: Mon, 28 Apr 2025 13:04:53 -0600 > > >> --- a/lisp/simple.el > >> +++ b/lisp/simple.el > >> @@ -9389,6 +9389,50 @@ auto-save-mode > >> (and (< buffer-saved-size 0) > >> (setq buffer-saved-size 0))) > > > > I don't think we need this in simple.el. This is a minor convenience > > feature, so it doesn't have to be preloaded. It can be on a separate > > file with the 2 functions it exports autoloaded. > > Sure, but wouldn't be redundant making yet another file for just these 2 > functions? Nothing wrong with having a separate file for this feature. We could call it ring-bell-fns.el or something, and with time other ring-bell functions might be added to it. Alternatively, we could add these two functions and the related variables to subr-x.el. > >> + (unwind-protect > >> + (sit-for flash-face-duration) > >> + (mapc #'face-remap-remove-relative cookies)))) > > > > Using sit-for means any input event will interrupt the wait. Other > > ring-bell-functions don't behave like that. Are you sure sleep-for is > > not better for this purpose? > > Emacs would freeze if I use sleep-for instead, I've tested using it > but it seems that emacs is going to crash, very uncomfortable when I'm > editing quickly. But that's how the built-in ring-bell functions work: they wait unconditionally. As I explained earlier, using sit-for might cause the entire feature to seem not to work. As a compromise, perhaps use sleep-for if the time is short enough, and sit-for otherwise? > >> +(defun flash-echo-area-bell-function () > >> + "Flash echo area as ring a bell. > >> +Intended to be used in `ring-bell-function'." > >> + ;; like `with-temp-message' but suppress message log for not flood > >> + ;; messages buffer > >> + (unless (minibufferp) ; Avoid conflicts if cursor is in minibuffer > > > > What conflict is that? > > > > It seems like the above means the feature will not work (i.e., no > > flash) if the minibuffer is active? If so, is that a good idea? > > When the cursor is the minibuffer (eval-expression, M-x and like) and the > ring-bell function is called the message is displayed as: > "[ ]" > ^ The bell face. > > I found that it's caused by `minibuffer-message', but I'm not sure why > and how to remove the "[" "]". That's a feature: the "[...]" is intended to tell the user that the message is from some background processing, unrelated to the minibuffer prompt. Why did you want to remove the brackets? > I honestly think that while in the minibuffer this function is not > necessary since it already displays a message (since you are supposed to > be focused on the minibuffer) Again, that's not how other ring-bell alternatives work. > For example: > Typing `M-x' inside minibuffer displays message: > [Command attempted to use minibuffer while in minibuffer] > > If this function (flash-echo-area-bell-function) is enabled there > it would display: > [ > ] > > and later: > > [Command attempted to use minibuffer while in minibuffer] This probably means there's some subtle bug in the current implementation, and avoiding to flash when in the minibuffer just sweeps the bug under the carpet. I suggest to debug the reasons and fix them, or at least understand them well enough so that we could reason whether fixing them is a good idea. > >> + (let ((with-temp-message > >> + (propertize " " 'display `(space :align-to right) 'face > >> + 'flash-face)) > > > > Why do you use propertize here instead of face-remap-add-relative? > > That is for the echo-area/minibuffer, which AFAIK doesn't have a face > that i can use for this. So instead it displays an empty message with > a face that extends to the end of minibuffer. The face used by default in the echo-area is the default face. (There could be cases when echo-area messages use other, non-default faces.) > +(defcustom flash-face-duration 0.05 > + "Time (in seconds) used for flash face duration." > + :type 'number > + :group 'faces Are you sure this is the best group for this option? Why not something related to flash-bell or bell-ring? Same question regarding the faces defined for this feature: placing them in the faces group could drown them in the large sea of faces we have, and make them less discoverable. From debbugs-submit-bounces@debbugs.gnu.org Tue Apr 29 20:07:18 2025 Received: (at 77715) by debbugs.gnu.org; 30 Apr 2025 00:07:18 +0000 Received: from localhost ([127.0.0.1]:37461 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1u9uyr-0006s7-6e for submit@debbugs.gnu.org; Tue, 29 Apr 2025 20:07:17 -0400 Received: from mail-ot1-x342.google.com ([2607:f8b0:4864:20::342]:49341) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1u9uyo-0006rd-3j for 77715@debbugs.gnu.org; Tue, 29 Apr 2025 20:07:15 -0400 Received: by mail-ot1-x342.google.com with SMTP id 46e09a7af769-7301c227512so4075250a34.2 for <77715@debbugs.gnu.org>; Tue, 29 Apr 2025 17:07:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1745971628; x=1746576428; darn=debbugs.gnu.org; h=mime-version:user-agent:message-id:date:references:in-reply-to :subject:cc:to:from:from:to:cc:subject:date:message-id:reply-to; bh=yCIvRxsZwLTuv7ses8ofr8b3ubLoSVhbKLnZtrPTmW4=; b=JDNoyXeW1+16PEOMDSPNbVfMIQwPtogTBKT0sXyOSBqHIMuR/7OG4zm922OUmaangu ObRMUHTUJTeDkr4R3vD4EnijO6cVMaR60S2OO8BPZFzDAaUmsycYRpw9UjfMlltIPc/1 bd1Glqy436pR1wzazAoMdAfd97SWVzGzaXKvRstIIJ+qjF/rsnSnGd3NKHQ9gNotNAW1 wYnQM2q+Ps7/KMFG2rVvDguGtmf48l9ZJJoIW3E4/zUFc9+fFZIeFdLl56AN/tbCIzhW /Efpi6PVX0X2TdyiehW0dL9+JYIiasaB/gl4wbWNq3fRdB9ZJyrAugJ+54nXGufwMetP gyMw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1745971628; x=1746576428; h=mime-version:user-agent:message-id:date:references:in-reply-to :subject:cc:to:from:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=yCIvRxsZwLTuv7ses8ofr8b3ubLoSVhbKLnZtrPTmW4=; b=gblsIRDWQ0/Azyepy3nGfEAQNra5gxyJfws0rjFkBr6RUp+XnbnByw+mOEz6UpjNon x0w8m/WF9qGUhoRLFnc6t00iF2/vGqHyzrJ9oWGLgWv1eBmV79nt2RJxC6Hp4CTl79cd rScDPXP2bNYcJ68l89Oq7UgTkWaUD367p+6WQNXLGkuNVVzf6V0jkCfmC+yHU6fy77WA JJ5k6dEnClf60Cb3+5RN4z3E4X37XJ7CMdlXfoAw6WJnYIk1G5cvz3RJIiZuJUbJpiqc ImLsQvlHKoJEabYD0vjoHUrgXlh5t76N2rHeXC9KL5LyErzs5uAnLAMiD4ziTPh4D1i9 iH/A== X-Gm-Message-State: AOJu0Yy2fMiHE5lMqYYIwnXj9NuITu8hN1cPk7CzXt8bThmVSnSAsJt+ LRUZ2YpvDnODJHEdD8Y9yM39TZk9oXArwv/Ds1rVD9uj8ttgC+3o X-Gm-Gg: ASbGnctaLlE4gkBJM1mWQJHKbrZuKIMME6FZL6WTuo6v81PhFFjL6Vf/HJyFGRUgbBx qKcDsJR1O2XLL0KS//7FUc9hPYRai5ikeGsRi530gPcRtGfuNGKmvKzEXBzr6aXOHU1XXOzxLXx hO9AG014KwVcm0ejQ9AyeRXgxAT3MxEIC9PHuAIJUhLf3Ll5KTXZPVDAPL39noRlG8eEXzQbzsD NmWLhdUjf4Yr5wSPTNV7gLpQCBCBoiuqx41OQ2/RIup7nIakkdWkMg4qNywK3XxY17h+e1ZLan9 EbqCRZYlAYxd0/Ar0M8= X-Google-Smtp-Source: AGHT+IGCKd6qciJ4k1nfad3TmAFpKnYcfAcwGFYUr13sYKQUEwSh1KoH9T0I/yuEEBt4Lp+eXjLxLg== X-Received: by 2002:a05:6830:3506:b0:72b:9965:d997 with SMTP id 46e09a7af769-731c0a961c3mr680466a34.18.1745971628055; Tue, 29 Apr 2025 17:07:08 -0700 (PDT) Received: from fedora ([2806:10ae:e:8863::1]) by smtp.gmail.com with ESMTPSA id 46e09a7af769-7308b118074sm579573a34.18.2025.04.29.17.07.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 29 Apr 2025 17:07:07 -0700 (PDT) From: =?utf-8?Q?Elijah_Gabe_P=C3=A9rez?= To: Eli Zaretskii Subject: Re: bug#77715: [PATCH] Add ring-bell functions for mode line and header line. In-Reply-To: <861ptbr0ks.fsf@gnu.org> References: <87r01zlx4n.fsf@gmail.com> <874iyvetl1.fsf@gmail.com> <874iyvv1te.fsf@gmail.com> <87plhitvdl.fsf@gmail.com> <87wmbqpmb7.fsf@gmail.com> <87bjsh79sl.fsf@gmail.com> <86ldrkr01n.fsf@gnu.org> <87plgwyune.fsf@gmail.com> <861ptbr0ks.fsf@gnu.org> Date: Tue, 29 Apr 2025 18:07:06 -0600 Message-ID: <87msby7brp.fsf@gmail.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/31.0.50 MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Spam-Score: 1.3 (+) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: Eli Zaretskii writes: >> From: Elijah Gabe Pérez >> Cc: 77715@debbugs.gnu.org, shipmints@gmail.com, drew.adams@oracle.com >> Date: Mon, 28 Apr 2025 13:04:53 -0600 >> >> >> --- a/lisp/simple.el >> >> +++ b/lisp/simple.el [...] Content analysis details: (1.3 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [2607:f8b0:4864:20:0:0:0:342 listed in] [list.dnswl.org] 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record -0.0 SPF_PASS SPF: sender matches SPF record 0.2 FREEMAIL_ENVFROM_END_DIGIT Envelope-from freemail username ends in digit (eg642616[at]gmail.com) 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (eg642616[at]gmail.com) 1.0 FREEMAIL_REPLY From and body contain different freemails X-Debbugs-Envelope-To: 77715 Cc: 77715@debbugs.gnu.org, shipmints@gmail.com, drew.adams@oracle.com X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Eli Zaretskii writes: >> From: Elijah Gabe P=C3=A9rez >> Cc: 77715@debbugs.gnu.org, shipmints@gmail.com, drew.adams@oracle.com >> Date: Mon, 28 Apr 2025 13:04:53 -0600 >>=20 >> >> --- a/lisp/simple.el >> >> +++ b/lisp/simple.el >> >> @@ -9389,6 +9389,50 @@ auto-save-mode >> >> (and (< buffer-saved-size 0) >> >> (setq buffer-saved-size 0))) >> > >> > I don't think we need this in simple.el. This is a minor convenience >> > feature, so it doesn't have to be preloaded. It can be on a separate >> > file with the 2 functions it exports autoloaded. >>=20 >> Sure, but wouldn't be redundant making yet another file for just these 2 >> functions? > > Nothing wrong with having a separate file for this feature. We could > call it ring-bell-fns.el or something, and with time other ring-bell > functions might be added to it. It makes sense, I've renamed the file to `ring-bell-fns.el'. >> >> + (unwind-protect >> >> + (sit-for flash-face-duration) >> >> + (mapc #'face-remap-remove-relative cookies)))) >> > >> > Using sit-for means any input event will interrupt the wait. Other >> > ring-bell-functions don't behave like that. Are you sure sleep-for is >> > not better for this purpose? >>=20 >> Emacs would freeze if I use sleep-for instead, I've tested using it >> but it seems that emacs is going to crash, very uncomfortable when I'm >> editing quickly. > > But that's how the built-in ring-bell functions work: they wait > unconditionally. As I explained earlier, using sit-for might cause > the entire feature to seem not to work. > > As a compromise, perhaps use sleep-for if the time is short enough, > and sit-for otherwise? Fine, i've updated it to only use sleep-for if flash duration time is long and fallback to sit-for otherwise. >> >> + (let ((with-temp-message >> >> + (propertize " " 'display `(space :align-to right) 'face >> >> + 'flash-face)) >> > >> > Why do you use propertize here instead of face-remap-add-relative? >>=20 >> That is for the echo-area/minibuffer, which AFAIK doesn't have a face >> that i can use for this. So instead it displays an empty message with >> a face that extends to the end of minibuffer. > > The face used by default in the echo-area is the default face. (There > could be cases when echo-area messages use other, non-default faces.) Thanks for the clarification, I've rewrote the function to remap the default face only in the minibuffer. >> +(defcustom flash-face-duration 0.05 >> + "Time (in seconds) used for flash face duration." >> + :type 'number >> + :group 'faces > > Are you sure this is the best group for this option? Why not > something related to flash-bell or bell-ring? Same question regarding > the faces defined for this feature: placing them in the faces group > could drown them in the large sea of faces we have, and make them less > discoverable. I've create its proper defgroup, but I'm not sure about the name and docstring I've given it. --=-=-= Content-Type: text/x-patch; charset=utf-8 Content-Disposition: attachment; filename=0001-New-ring-bell-functions-for-flash-faces.-bug-77715.patch Content-Transfer-Encoding: quoted-printable >From 9ed6088f05a54ef4e6a974ad157dff2d749e9b8c Mon Sep 17 00:00:00 2001 From: =3D?UTF-8?q?El=3DC3=3DADas=3D20Gabriel=3D20P=3DC3=3DA9rez?=3D Date: Thu, 10 Apr 2025 11:38:21 -0600 Subject: [PATCH] New ring-bell functions for flash faces. (bug#77715) New functions for flash any face or echo area once whether `ring-bell-function' is called. * lisp/ring-bell-fns.el: New file. * etc/NEWS: Announce changes. --- etc/NEWS | 25 ++++++++++++ lisp/ring-bell-fns.el | 95 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 120 insertions(+) create mode 100644 lisp/ring-bell-fns.el diff --git a/etc/NEWS b/etc/NEWS index a5936b1c6cf..6eee690e09b 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -1935,6 +1935,31 @@ change their face if the current line exceeds the 'f= ill-column'. The new face 'display-fill-column-indicator-warning-face' is used to highlight the fill-column indicators. By default, this is disabled. =20 +--- +*** New function 'flash-face-bell-function'. +This function flash a face briefly. +Intended to be used in 'ring-bell-function'. + +--- +*** New function 'flash-echo-area-bell-function'. +This function flash current echo area briefly. +Intended to be used in 'ring-bell-function'. + +--- +*** New user option 'flash-face-duration'. +This option controls flash duration for 'flash-face-bell-function' and +'flash-echo-area-bell-function'. + +--- +*** New user option 'flash-face-faces'. +This option tells 'flash-face-bell-function' which faces should flash. + +--- +*** New user option 'flash-face-attributes' +This option tells 'flash-face-bell-function' and +'flash-echo-area-bell-function' which face attributes should use +for flash. + --- ** Flymake =20 diff --git a/lisp/ring-bell-fns.el b/lisp/ring-bell-fns.el new file mode 100644 index 00000000000..e9ab59ef34f --- /dev/null +++ b/lisp/ring-bell-fns.el @@ -0,0 +1,95 @@ +;;; ring-bell-fns.el --- Collection of functions for ring-bell -*- lexica= l-binding: t; -*- + +;; Copyright (C) 2025 Free Software Foundation, Inc. + +;; Author: Elijah Gabe P=C3=A9rez +;; Keywords: faces + +;; This file is part of GNU Emacs. + +;; GNU Emacs is free software: you can redistribute it and/or modify +;; it under the terms of the GNU General Public License as published by +;; the Free Software Foundation, either version 3 of the License, or +;; (at your option) any later version. + +;; GNU Emacs is distributed in the hope that it will be useful, +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with GNU Emacs. If not, see . + +;;; Commentary: + +;; Collection of functions intended to be used with `ring-bell-function'. +;; as alternatives to `visible-bell' + +;;; Code: +(require 'face-remap) + +(defgroup ring-bell nil + "Customization options for ring bell." + :version "31.1" + :group 'emacs) + +(defcustom flash-face-attributes + '(:background "red" :foreground "white") + "Face attributes to use in any function from `ring-bell-fns'. +This is intended to be used in any function from `ring-bell-fns' such as +`flash-face-bell-function' and `flash-echo-area-bell-function' for make +the flash face more noticeable." + :type 'plist + :version "31.1") + +(defcustom flash-face-duration 0.05 + "Time (in seconds) used for flash face duration." + :type 'number + :version "31.1") + +(defcustom flash-face-faces + '(mode-line-active) + "A list of faces to be flashed by `flash-face-bell-function'." + :type '(repeat face) + :version "31.1") + +;;;###autoload +(defun flash-face-bell-function () + "Ring-bell function that flashes faces. +Intended to be used in `ring-bell-function'." + (when-let* (((numberp flash-face-duration)) ; Ensure time is a number + (cookies (mapcar (lambda (f) (apply #'face-remap-add-relativ= e f flash-face-attributes)) + flash-face-faces))) + (unwind-protect + ;; Use sit-for if the duration is very long for not blocking + ;; emacs, otherwise fallback to sleep-for. + (if (> flash-face-duration 0.1) + (sit-for flash-face-duration) + ;; And redisplay for apply the face remap + (redisplay) + (sleep-for flash-face-duration)) + (mapc #'face-remap-remove-relative cookies)))) + +;;;###autoload +(defun flash-echo-area-bell-function () + "Flash echo area as ring a bell. +Intended to be used in `ring-bell-function'." + (with-current-buffer (window-buffer (minibuffer-window)) ; Get in minibu= ffer buffer + (let ((cookie (apply #'face-remap-add-relative 'default flash-face-att= ributes))) + ;; When minibuffer is not displaying anything (empty) the face + ;; remap will not work, insert an temporal space in the + ;; minibuffer ONLY if it's empty for fix this. + (if (=3D (buffer-size) 0) + (insert ?\s)) + (unwind-protect + ;; Use sit-for if the duration is very long for not blocking + ;; emacs, otherwise fallback to sleep-for. + (if (> flash-face-duration 0.1) + (sit-for flash-face-duration) + ;; And redisplay for apply the face remap + (redisplay) + (sleep-for flash-face-duration)) + (face-remap-remove-relative cookie))))) + +(provide 'ring-bell-fns) +;;; ring-bell-fns.el ends here --=20 2.49.0 --=-=-= Content-Type: text/plain -- - E.G via GNU Emacs and Org. --=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Wed Apr 30 09:10:27 2025 Received: (at 77715) by debbugs.gnu.org; 30 Apr 2025 13:10:28 +0000 Received: from localhost ([127.0.0.1]:40691 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uA7Cl-0007o7-7R for submit@debbugs.gnu.org; Wed, 30 Apr 2025 09:10:27 -0400 Received: from mail-qt1-x82a.google.com ([2607:f8b0:4864:20::82a]:57376) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1uA7Cg-0007ng-Uj for 77715@debbugs.gnu.org; Wed, 30 Apr 2025 09:10:24 -0400 Received: by mail-qt1-x82a.google.com with SMTP id d75a77b69052e-47686580529so85031721cf.2 for <77715@debbugs.gnu.org>; Wed, 30 Apr 2025 06:10:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1746018617; x=1746623417; darn=debbugs.gnu.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=1NKgN91Go/QDfJsUZewKzauOWtXXqRr+cp2QlRMjdO4=; b=OHNc8m1P3Jr8zBtMDScAsGCK0j93YTqIlLpUYYrE/dpAhcoFPLArAn0H1fL6CQtp0h c4OwapZY9jUdXWZZWzs8HiaBx4fFWB0YEWhe38yQVyli9F6l0voyzSKn+2+4QeYMs761 y5c8FhF4681fddffDee+ZAvs4IJzsStBX3qlINbmIiuiMiXyQr/BLIPJh4NNpCwexVoi +E2Zb6xXrGGIjHBB8RBk4Sd+l7/fZBDLcW7OQXZvkSta/HGxKcya2FKVxiroO9dm68SC lJ38MYCeOyHRQpDIHCSI5q6KtHGtFfae4XspSPOafpGMQt32p7H1IiPNLDtDYJFAC3no KOlw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746018617; x=1746623417; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=1NKgN91Go/QDfJsUZewKzauOWtXXqRr+cp2QlRMjdO4=; b=wbabxQgHrJhcySx2+j70kO+J1Ta2AwvJrbwV+J29OLx58L8CXQLleERojdUVxucoAo 1283GQ62MkNx25DQFhVYdHXUpnPg1k4IxBVfF2su5wDUwdepFleRcltszWBAozTKp1Pw RhMQ5qUq5NOnriPkeYMu5MlRFaucHX86R7lZ4k9N15hJJbwt9XROb7/Lgf5VrNL6B5cT QWtKbOaF/hTWZKB5fWiqX7rc1Gxt+OGCHnF9YcCMfnDOSTNnIIDJPbmQ6uxF1zlNQ8m8 R6/FZhf5qk8tU8ie5fMkdetH7cu7FtRoDomw6M97kkU8bFOShQSdBXL/W8OcOso3zoMU ULtg== X-Forwarded-Encrypted: i=1; AJvYcCXHm5D5KyhHj4bTsQfz0WShjiw5nDCwBBf4OihHc72ad/URUskLU7JQrgAsvL6zqzQ88qql4w==@debbugs.gnu.org X-Gm-Message-State: AOJu0YxEPk0mHhc7lqiauHnzuGf/AH7Ak+K0bvwOWGkhiB1HRyhLjdzX aHs3eL+hTvFjMVUPaVKJ848vpHF99TlruxDwD6DBfu2w2zGYQfHgZ2O9L0VxbpJonowO0YC4LFl 53T6Tchn0THZ0bkYGe5A0gVTN2tk= X-Gm-Gg: ASbGnctP0OUsoMWyAFrVkUaKRZekRp207UXJxwtcPjD0fg9Fgsj/gSPXM7blJGyp5sg etlBsRi9HBW5jsnJlzr2VoQmEagXtvdzT9fGBQRDXlaPsTW416E2Qmd13Svww9xEImhaucCk/l4 FXkPIyMIvx8Bw/QOHgEMMzpb7+XYv1BBwF X-Google-Smtp-Source: AGHT+IFTqqiX8EsDmm5aGat1s8jg80/m2/QN7k190VSYPykfWVxIth8PGVs0WFAAT8vlrHUVcB+pIjN6DPcO/M0masQ= X-Received: by 2002:a05:622a:5c8b:b0:476:8296:17e5 with SMTP id d75a77b69052e-489c3c94323mr45488731cf.17.1746018616864; Wed, 30 Apr 2025 06:10:16 -0700 (PDT) MIME-Version: 1.0 References: <87r01zlx4n.fsf@gmail.com> <874iyvetl1.fsf@gmail.com> <874iyvv1te.fsf@gmail.com> <87plhitvdl.fsf@gmail.com> <87wmbqpmb7.fsf@gmail.com> <87bjsh79sl.fsf@gmail.com> <86ldrkr01n.fsf@gnu.org> <87plgwyune.fsf@gmail.com> <861ptbr0ks.fsf@gnu.org> <87msby7brp.fsf@gmail.com> In-Reply-To: <87msby7brp.fsf@gmail.com> From: Ship Mints Date: Wed, 30 Apr 2025 09:10:05 -0400 X-Gm-Features: ATxdqUGfmFeSmi8nDSMs4glUSCzbwRzQia8tjPcWiKoItUjlYcoviKfiERQ_LG8 Message-ID: Subject: Re: bug#77715: [PATCH] Add ring-bell functions for mode line and header line. To: =?UTF-8?Q?Elijah_Gabe_P=C3=A9rez?= Content-Type: multipart/alternative; boundary="0000000000006df1ce0633fea3d5" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 77715 Cc: Eli Zaretskii , 77715@debbugs.gnu.org, drew.adams@oracle.com X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) --0000000000006df1ce0633fea3d5 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Tue, Apr 29, 2025 at 8:07=E2=80=AFPM Elijah Gabe P=C3=A9rez wrote: > Eli Zaretskii writes: > > >> From: Elijah Gabe P=C3=A9rez > >> Cc: 77715@debbugs.gnu.org, shipmints@gmail.com, drew.adams@oracle.co= m > >> Date: Mon, 28 Apr 2025 13:04:53 -0600 > >> > >> >> --- a/lisp/simple.el > >> >> +++ b/lisp/simple.el > >> >> @@ -9389,6 +9389,50 @@ auto-save-mode > >> >> (and (< buffer-saved-size 0) > >> >> (setq buffer-saved-size 0))) > >> > > >> > I don't think we need this in simple.el. This is a minor convenienc= e > >> > feature, so it doesn't have to be preloaded. It can be on a separat= e > >> > file with the 2 functions it exports autoloaded. > >> > >> Sure, but wouldn't be redundant making yet another file for just these= 2 > >> functions? > > > > Nothing wrong with having a separate file for this feature. We could > > call it ring-bell-fns.el or something, and with time other ring-bell > > functions might be added to it. > > It makes sense, I've renamed the file to `ring-bell-fns.el'. > > >> >> + (unwind-protect > >> >> + (sit-for flash-face-duration) > >> >> + (mapc #'face-remap-remove-relative cookies)))) > >> > > >> > Using sit-for means any input event will interrupt the wait. Other > >> > ring-bell-functions don't behave like that. Are you sure sleep-for = is > >> > not better for this purpose? > >> > >> Emacs would freeze if I use sleep-for instead, I've tested using it > >> but it seems that emacs is going to crash, very uncomfortable when I'm > >> editing quickly. > > > > But that's how the built-in ring-bell functions work: they wait > > unconditionally. As I explained earlier, using sit-for might cause > > the entire feature to seem not to work. > > > > As a compromise, perhaps use sleep-for if the time is short enough, > > and sit-for otherwise? > > Fine, i've updated it to only use sleep-for if flash duration time is > long and fallback to sit-for otherwise. > > >> >> + (let ((with-temp-message > >> >> + (propertize " " 'display `(space :align-to right) > 'face > >> >> + 'flash-face)) > >> > > >> > Why do you use propertize here instead of face-remap-add-relative? > >> > >> That is for the echo-area/minibuffer, which AFAIK doesn't have a face > >> that i can use for this. So instead it displays an empty message with > >> a face that extends to the end of minibuffer. > > > > The face used by default in the echo-area is the default face. (There > > could be cases when echo-area messages use other, non-default faces.) > > Thanks for the clarification, I've rewrote the function to remap the > default face only in the minibuffer. > > >> +(defcustom flash-face-duration 0.05 > >> + "Time (in seconds) used for flash face duration." > >> + :type 'number > >> + :group 'faces > > > > Are you sure this is the best group for this option? Why not > > something related to flash-bell or bell-ring? Same question regarding > > the faces defined for this feature: placing them in the faces group > > could drown them in the large sea of faces we have, and make them less > > discoverable. > > I've create its proper defgroup, but I'm not sure about the name and > docstring I've given it. > Face flashing isn't a feature of bell ringing, it's the opposite. I'd consider putting the face flashing code with face-related code so it's clear faces can be flashed anywhere for any reason the users want. --0000000000006df1ce0633fea3d5 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
= On Tue, Apr 29, 2025 at 8:07=E2=80=AFPM Elijah Gabe P=C3=A9rez <eg642616@gmail.com> wrote:
Eli Zaretskii <eliz@gnu.org> writes:

>> From: Elijah Gabe P=C3=A9rez <eg642616@gmail.com>
>> Cc: 777= 15@debbugs.gnu.org,=C2=A0 shipmints@gmail.com,=C2=A0 drew.adams@oracle.com
>> Date: Mon, 28 Apr 2025 13:04:53 -0600
>>
>> >> --- a/lisp/simple.el
>> >> +++ b/lisp/simple.el
>> >> @@ -9389,6 +9389,50 @@ auto-save-mode
>> >>=C2=A0 =C2=A0 (and (< buffer-saved-size 0)
>> >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0(setq buffer-saved-size = 0)))
>> >
>> > I don't think we need this in simple.el.=C2=A0 This is a = minor convenience
>> > feature, so it doesn't have to be preloaded.=C2=A0 It can= be on a separate
>> > file with the 2 functions it exports autoloaded.
>>
>> Sure, but wouldn't be redundant making yet another file for ju= st these 2
>> functions?
>
> Nothing wrong with having a separate file for this feature.=C2=A0 We c= ould
> call it ring-bell-fns.el or something, and with time other ring-bell > functions might be added to it.

It makes sense, I've renamed the file to `ring-bell-fns.el'.

>> >> +=C2=A0 =C2=A0 (unwind-protect
>> >> +=C2=A0 =C2=A0 =C2=A0 =C2=A0 (sit-for flash-face-duration= )
>> >> +=C2=A0 =C2=A0 =C2=A0 (mapc #'face-remap-remove-relat= ive cookies))))
>> >
>> > Using sit-for means any input event will interrupt the wait.= =C2=A0 Other
>> > ring-bell-functions don't behave like that.=C2=A0 Are you= sure sleep-for is
>> > not better for this purpose?
>>
>> Emacs would freeze if I use sleep-for instead, I've tested usi= ng it
>> but it seems that emacs is going to crash, very uncomfortable when= I'm
>> editing quickly.
>
> But that's how the built-in ring-bell functions work: they wait > unconditionally.=C2=A0 As I explained earlier, using sit-for might cau= se
> the entire feature to seem not to work.
>
> As a compromise, perhaps use sleep-for if the time is short enough, > and sit-for otherwise?

Fine, i've updated it to only use sleep-for if flash duration time is long and fallback to sit-for otherwise.

>> >> +=C2=A0 =C2=A0 (let ((with-temp-message
>> >> +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 (proper= tize " " 'display `(space :align-to right) 'face
>> >> +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 'flash-face))
>> >
>> > Why do you use propertize here instead of face-remap-add-rela= tive?
>>
>> That is for the echo-area/minibuffer, which AFAIK doesn't have= a face
>> that i can use for this.=C2=A0 So instead it displays an empty mes= sage with
>> a face that extends to the end of minibuffer.
>
> The face used by default in the echo-area is the default face.=C2=A0 (= There
> could be cases when echo-area messages use other, non-default faces.)<= br>
Thanks for the clarification, I've rewrote the function to remap the default face only in the minibuffer.

>> +(defcustom flash-face-duration 0.05
>> +=C2=A0 "Time (in seconds) used for flash face duration."= ;
>> +=C2=A0 :type 'number
>> +=C2=A0 :group 'faces
>
> Are you sure this is the best group for this option?=C2=A0 Why not
> something related to flash-bell or bell-ring?=C2=A0 Same question rega= rding
> the faces defined for this feature: placing them in the faces group > could drown them in the large sea of faces we have, and make them less=
> discoverable.

I've create its proper defgroup, but I'm not sure about the name an= d
docstring I've given it.

Face flashing isn't a fea= ture of bell ringing, it's the opposite.=C2=A0 I'd consider putting= the face flashing code with face-related code so it's clear faces can = be flashed anywhere for any reason the users want.
--0000000000006df1ce0633fea3d5-- From debbugs-submit-bounces@debbugs.gnu.org Wed Apr 30 09:41:43 2025 Received: (at 77715) by debbugs.gnu.org; 30 Apr 2025 13:41:43 +0000 Received: from localhost ([127.0.0.1]:40871 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uA7h1-000191-HP for submit@debbugs.gnu.org; Wed, 30 Apr 2025 09:41:43 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:46728) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1uA7gx-00018Y-Nz for 77715@debbugs.gnu.org; Wed, 30 Apr 2025 09:41:40 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uA7gr-0001ET-Nw; Wed, 30 Apr 2025 09:41:33 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=ZgeDGw+7s5K3SoKqUWIfQw5g4KVOeU/QQrBuL80dfnY=; b=gdfcE57eN217 9g0VHeWp6Z8SeprCVjzG+h1WM2Brbhs11ssQkxcwia3zp+hdnwuMVVfGa7HVD3BFiRbphfx8jfqbN D8z4cQAT1e6Mx73khYbhltW3EkKNwIhDcKSuRM6lU/t1dgCfHzo0cECNw1XC8bJbm2uHSiliCFj2u NuEYLHCkfcmv0KUoYCi8g9qi5KBFphbtAtdEldLLnnc3SwXaZg50j2zlVGqEs4YXyyrFTksrGRCA/ b633Q+y9egoCQrMD5rB/D3vUksuBGPN+v9xZ6MCMng3I6QQkG0yYyBcKaa2OSbCDxlBJNNENt2y+u eKo5oB7IbKuY0RcyZ1aVJA==; Date: Wed, 30 Apr 2025 16:41:30 +0300 Message-Id: <864iy5ojg5.fsf@gnu.org> From: Eli Zaretskii To: Ship Mints In-Reply-To: (message from Ship Mints on Wed, 30 Apr 2025 09:10:05 -0400) Subject: Re: bug#77715: [PATCH] Add ring-bell functions for mode line and header line. References: <87r01zlx4n.fsf@gmail.com> <874iyvetl1.fsf@gmail.com> <874iyvv1te.fsf@gmail.com> <87plhitvdl.fsf@gmail.com> <87wmbqpmb7.fsf@gmail.com> <87bjsh79sl.fsf@gmail.com> <86ldrkr01n.fsf@gnu.org> <87plgwyune.fsf@gmail.com> <861ptbr0ks.fsf@gnu.org> <87msby7brp.fsf@gmail.com> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 77715 Cc: eg642616@gmail.com, 77715@debbugs.gnu.org, drew.adams@oracle.com X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Ship Mints > Date: Wed, 30 Apr 2025 09:10:05 -0400 > Cc: Eli Zaretskii , 77715@debbugs.gnu.org, drew.adams@oracle.com > > Face flashing isn't a feature of bell ringing, it's the opposite. ??? Then why is ring-bell-functions being mentioned? > I'd consider putting the face flashing code with > face-related code so it's clear faces can be flashed anywhere for any reason the users want. But this code is not general enough for that. It was written explicitly for additional optional values for ring-bell-functions, as the doc strings say. From debbugs-submit-bounces@debbugs.gnu.org Wed Apr 30 09:53:06 2025 Received: (at 77715) by debbugs.gnu.org; 30 Apr 2025 13:53:06 +0000 Received: from localhost ([127.0.0.1]:40947 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uA7s1-0004mP-Mf for submit@debbugs.gnu.org; Wed, 30 Apr 2025 09:53:06 -0400 Received: from mail-vs1-xe2c.google.com ([2607:f8b0:4864:20::e2c]:59606) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1uA7rx-0004lo-Bf for 77715@debbugs.gnu.org; Wed, 30 Apr 2025 09:53:02 -0400 Received: by mail-vs1-xe2c.google.com with SMTP id ada2fe7eead31-4c4ecf86e8bso342592137.2 for <77715@debbugs.gnu.org>; Wed, 30 Apr 2025 06:53:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1746021175; x=1746625975; darn=debbugs.gnu.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=x+pQODu4e4cq9onMJ6ZYR71sUhmSHwreO0gQVM23Ddw=; b=cIeWF/FYQtsfL4MlQ2Cbac58cB9oRYK0NldLx4CGz8qA7QMNR3owGWs/FBjvEUWh81 DEvm0GEg2BLrJpqlz3ayzsHd2Gz9IVnyNBEgyiF8K5M5oazRMtbI1tq7fC9rXX8a06Rl NZJ8RCu3HWS5W576knTtn6Sagv/Y5JpjHDFIMGaCcTevRauA7Qb/cppJKO/ugGbLZs6k qDXXrELpAtSmkANvwRG/TiOJ2Bla/PaInWIXG4OuahKpKI4IHAKrRJch5gBN8Heq8Vgw yNJr4rOgnL01DLW8el7v7dHJl8gl7dMLZXCSXPTWNLO+Mu0gx2icRW+dCF96A6MkkLi0 vOuQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746021175; x=1746625975; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=x+pQODu4e4cq9onMJ6ZYR71sUhmSHwreO0gQVM23Ddw=; b=nMTE8hnXEntA+wpgovSnMYB2HyY5WlEnEaLd33D6obXsOp6w1VIT6YIJ5WHtjLBF5O YpHAMaBraHAmP+tsoCd0pupE4wUgFFabnTD9Cfqh601AwHWEgarItXpw2+/uhxeJEhZ8 SeUENrmhPtZH0g2qWipvjE8SGgzG36Obm6ljsfXFoccYcfNXClusSKdipVX7No2yQExl 1H6qnSKV6CQG42uxfJ1k1wWxoxrSuvFAvkwMRsuyQ1fng/fcWRS/za6ln5+FEuAFQcTq +P6978x0LnK5pc1azKax6TDwjI81SgCNZiqGnT96OgpWws2khC9E7/IqiYZCUEZ6rXrz D7Kg== X-Forwarded-Encrypted: i=1; AJvYcCWJvMvhE34yBb/czpQRUwKp1uAhmyHbml9tjb4tRgZUc6vaMjk8d/2P4FwuAL8bTZmZ9dkzXQ==@debbugs.gnu.org X-Gm-Message-State: AOJu0Yw7So/G3DwpNebxZP8w6yupmuiwI5cDXPJ8Kgei/QPfpDyN/Xja I7hkowIMej/3RS/k7mg4fh6FIZHlaF1umKyMBhnqs6XKJv7sKfw3Ii92MA36FGEGkKm81t8uVQM iJKZhgWBnnkCy+2BmQ38UWpjcoYE= X-Gm-Gg: ASbGncuMTqTEqAgs0IZ+DjlJ8yXyIaputVRyQUY4JeklpauFlvOGcL/xOYxLYhHx6hp yw3z0hp/dPZ7ZXaMnQFMqLf8KAjfbg38jEORj6cMjAQb7S0BvPQd8J/MQC5xWVkSFU2krBZu/sJ FWVyvVysePQD9+MEUSH/5COw== X-Google-Smtp-Source: AGHT+IEKExRFbSCEtq9O1amYul3xBXE8nDszbO8BZBLrtK3EKRQHYWeQGRm3PlTAa7rRp1s++Pb3VrdQUpi6KW1SxG4= X-Received: by 2002:a05:6102:1528:b0:4bb:d062:430 with SMTP id ada2fe7eead31-4dad3393b2emr2395996137.0.1746021175451; Wed, 30 Apr 2025 06:52:55 -0700 (PDT) MIME-Version: 1.0 References: <87r01zlx4n.fsf@gmail.com> <874iyvetl1.fsf@gmail.com> <874iyvv1te.fsf@gmail.com> <87plhitvdl.fsf@gmail.com> <87wmbqpmb7.fsf@gmail.com> <87bjsh79sl.fsf@gmail.com> <86ldrkr01n.fsf@gnu.org> <87plgwyune.fsf@gmail.com> <861ptbr0ks.fsf@gnu.org> <87msby7brp.fsf@gmail.com> <864iy5ojg5.fsf@gnu.org> In-Reply-To: <864iy5ojg5.fsf@gnu.org> From: Ship Mints Date: Wed, 30 Apr 2025 09:52:44 -0400 X-Gm-Features: ATxdqUH0KAmNhRO722J6lih5NXVpFAEofFHHqVm4JlFLgRd7ojtN7_T70odOQqs Message-ID: Subject: Re: bug#77715: [PATCH] Add ring-bell functions for mode line and header line. To: Eli Zaretskii Content-Type: multipart/alternative; boundary="000000000000eee8070633ff3b7c" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 77715 Cc: eg642616@gmail.com, 77715@debbugs.gnu.org, drew.adams@oracle.com X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) --000000000000eee8070633ff3b7c Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Wed, Apr 30, 2025 at 9:41=E2=80=AFAM Eli Zaretskii wrote: > > From: Ship Mints > > Date: Wed, 30 Apr 2025 09:10:05 -0400 > > Cc: Eli Zaretskii , 77715@debbugs.gnu.org, > drew.adams@oracle.com > > > > Face flashing isn't a feature of bell ringing, it's the opposite. > > ??? Then why is ring-bell-functions being mentioned? > > > I'd consider putting the face flashing code with > > face-related code so it's clear faces can be flashed anywhere for any > reason the users want. > > But this code is not general enough for that. It was written > explicitly for additional optional values for ring-bell-functions, as > the doc strings say. > The prototype was derived from private code used in this narrow case but if we're going to adopt the functionality in core, I think we go the extra mile to make it appropriately general. --000000000000eee8070633ff3b7c Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
= On Wed, Apr 30, 2025 at 9:41=E2=80=AFAM Eli Zaretskii <eliz@gnu.org> wrote:
> From: Ship Mints <shipmints@gmail.com>
> Date: Wed, 30 Apr 2025 09:10:05 -0400
> Cc: Eli Zaretskii <eliz@gnu.org>, 77715@debbugs.gnu.org, drew.adams@oracle.com
>
> Face flashing isn't a feature of bell ringing, it's the opposi= te.

??? Then why is ring-bell-functions being mentioned?

> I'd consider putting the face flashing code with
> face-related code so it's clear faces can be flashed anywhere for = any reason the users want.

But this code is not general enough for that.=C2=A0 It was written
explicitly for additional optional values for ring-bell-functions, as
the doc strings say.

The prototype was derived from privat= e code used in this narrow case but if we're going to adopt the functio= nality in core, I think we go the extra mile to make it appropriately gener= al.
--000000000000eee8070633ff3b7c-- From debbugs-submit-bounces@debbugs.gnu.org Wed Apr 30 10:06:45 2025 Received: (at 77715) by debbugs.gnu.org; 30 Apr 2025 14:06:45 +0000 Received: from localhost ([127.0.0.1]:43446 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uA85E-00063l-Uk for submit@debbugs.gnu.org; Wed, 30 Apr 2025 10:06:45 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:56282) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1uA859-00063L-Sa for 77715@debbugs.gnu.org; Wed, 30 Apr 2025 10:06:40 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uA853-0004CM-EX; Wed, 30 Apr 2025 10:06:33 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-version:References:Subject:In-Reply-To:To:From: Date; bh=BNW12eiW8Fa1l147uknMiBaaEA6UVgrvypoiJ7Qjh4k=; b=lf9ZxoerweNbe+NK2jjv utm5pTCPJI8UNVdagCMTOUvhpAqmftAy0bfEWCiOvTiCyCsM0beV+s8imASVPLOjfqJmcHhs6nb0y sEHn9M4rbqCiQIdjXgJQeAe9aRZjiqCTrSsozpLhnDYcZ9cbKU8L+N2i+fbpNKdDYdCmg5g7ZlVNP 47HNg9ZPyWTYrovVV1zV+9jRQO2U0/XNhMHO0eNU5VS/SGfNCGDm3LmmL+6rZytD6+YoYEmozJhPV LlgZHb8EceAJ495dRyOl+GBe0cU9yVwtDnf+IADE75CqyXFRPLKwhwtSpdGDHsXIS7lYbN5llBxIV bko8VYnmSthvPA==; Date: Wed, 30 Apr 2025 17:06:22 +0300 Message-Id: <86zffxn3q9.fsf@gnu.org> From: Eli Zaretskii To: Ship Mints In-Reply-To: (message from Ship Mints on Wed, 30 Apr 2025 09:52:44 -0400) Subject: Re: bug#77715: [PATCH] Add ring-bell functions for mode line and header line. References: <87r01zlx4n.fsf@gmail.com> <874iyvetl1.fsf@gmail.com> <874iyvv1te.fsf@gmail.com> <87plhitvdl.fsf@gmail.com> <87wmbqpmb7.fsf@gmail.com> <87bjsh79sl.fsf@gmail.com> <86ldrkr01n.fsf@gnu.org> <87plgwyune.fsf@gmail.com> <861ptbr0ks.fsf@gnu.org> <87msby7brp.fsf@gmail.com> <864iy5ojg5.fsf@gnu.org> MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 77715 Cc: eg642616@gmail.com, 77715@debbugs.gnu.org, drew.adams@oracle.com X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Ship Mints > Date: Wed, 30 Apr 2025 09:52:44 -0400 > Cc: eg642616@gmail.com, 77715@debbugs.gnu.org, drew.adams@oracle.com > > On Wed, Apr 30, 2025 at 9:41 AM Eli Zaretskii wrote: > > > From: Ship Mints > > Date: Wed, 30 Apr 2025 09:10:05 -0400 > > Cc: Eli Zaretskii , 77715@debbugs.gnu.org, drew.adams@oracle.com > > > > Face flashing isn't a feature of bell ringing, it's the opposite. > > ??? Then why is ring-bell-functions being mentioned? > > > I'd consider putting the face flashing code with > > face-related code so it's clear faces can be flashed anywhere for any reason the users want. > > But this code is not general enough for that. It was written > explicitly for additional optional values for ring-bell-functions, as > the doc strings say. > > The prototype was derived from private code used in this narrow case but if we're going to adopt the > functionality in core, I think we go the extra mile to make it appropriately general. But then the entire implementation should be revisited and reviewed with that generality in mind. So please let's talk about that. Could you or someone else please describe what general features are meant to be implemented based on this functionality? From debbugs-submit-bounces@debbugs.gnu.org Wed Apr 30 10:09:59 2025 Received: (at 77715) by debbugs.gnu.org; 30 Apr 2025 14:09:59 +0000 Received: from localhost ([127.0.0.1]:43483 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uA88M-0006Bx-JZ for submit@debbugs.gnu.org; Wed, 30 Apr 2025 10:09:59 -0400 Received: from mail-qk1-x736.google.com ([2607:f8b0:4864:20::736]:46118) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1uA88I-0006Bd-Lw for 77715@debbugs.gnu.org; Wed, 30 Apr 2025 10:09:56 -0400 Received: by mail-qk1-x736.google.com with SMTP id af79cd13be357-7c55500d08cso806743085a.0 for <77715@debbugs.gnu.org>; Wed, 30 Apr 2025 07:09:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1746022188; x=1746626988; darn=debbugs.gnu.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=bE1L7Q8WLt71jnFoS/tK/EYi4YyCFf37R25XJPUVYek=; b=DF1+iULmeDCq//sJeseyNtzLe/hHLd7l8eZ0GdTRw1MzDJIWfCTlr2gjDkIIhGxpEu aI4vN7M4hWLHIopLHyXMYvVtpEWyhk1/nDQ4ZPZ+0LEmGuPOfdr9M65010Zf5hcgCETK 9QRdD/Xc0FO1ju3JoQKx98m18f1h8LvOTsLWyIANlNrUbbXvQnPz+VK57LdcmjQrZTtx rb1kKW4pi+otzCGUJ7JkvMZpum6zS/dbWJCqpf11aR71zAwLqFlvVPkt7ekJo+KHwJZq t0mrPvwo9iNu6bOtRzC88tVdq7aR5YicAvV9xJJFaXHEStiYkt2dd51Zt0FQFUYloIc3 QRcQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746022188; x=1746626988; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=bE1L7Q8WLt71jnFoS/tK/EYi4YyCFf37R25XJPUVYek=; b=fWvaoO1atjzTM5m83NsWzlFn3nYzUHuAdSyyO+IoPTaEvnx77cSSOT3xQNybuioNOb MYcKbhkZifP9x8KgVGIF24EC5UuDav6fzXU/dmg9D1hAbPm/5iMNcQlERNSo67iDw89t d0kPNoshFeeGDTzU+li7mMcqDNwxEM2vouhU+ASZ7QiVKTJ0geB9NvmtUtXYEC260V0D 0M4ihPbdBSJuyDCqbhLysXtzj+8Wdol7J44VOlf+zTq8rsrkLaiK1etc9YE/XlCAOVgp el5y3dFWkRbF8hHxYG3ZRDYVPYMZshKeBVj+OsaeG3hDZdF7zzhbMorIm3YWdvw3Sj3X TKcQ== X-Forwarded-Encrypted: i=1; AJvYcCXUajmkotuynSsvPIWJfeBN53Kaswkt0O1KQd8SZd+sTuq7PTiqoVVHMOOTwRtjBdzNgqvYNA==@debbugs.gnu.org X-Gm-Message-State: AOJu0YwxQiy0ZUooyDko/ddIzR7ws98ftm+J1XZGfE4NxYhWg0rzooHm xiHaVxXkA1vavFhcZmDoEUjJtRFv6DfsASgZcex8TOcoJzL+qypbBrvm8NKtuIguu6nEIgdX8xb BO0Cvr8bYrHPNtNHNYIhSSrWWP/o= X-Gm-Gg: ASbGncs9qYI1d2LK8311JaXgDQi4kafeYGlaqAuKu+tUB7Bgq6vc243OAxSO2YRuM3f Za99ot7LxMCBwiZYjUYjoGj48ANBwaX/4tWSK9cqaNirXDkRfl9EzJHdr5RnzZx/vweEoenWGBp VtO4tj0s4svs2q7WwZXNi6YQ== X-Google-Smtp-Source: AGHT+IHO2Ctatyx6ErEOUNmz5XbhK3RTXM/YkdPbtSjcIXQJLdSBlJCsOmJr8OMBN2dKgH/wuuzUh/9MsYt3K6be5ZE= X-Received: by 2002:a05:620a:3913:b0:7c5:5909:18d9 with SMTP id af79cd13be357-7cac740f1a2mr528624585a.5.1746022188462; Wed, 30 Apr 2025 07:09:48 -0700 (PDT) MIME-Version: 1.0 References: <87r01zlx4n.fsf@gmail.com> <874iyvetl1.fsf@gmail.com> <874iyvv1te.fsf@gmail.com> <87plhitvdl.fsf@gmail.com> <87wmbqpmb7.fsf@gmail.com> <87bjsh79sl.fsf@gmail.com> <86ldrkr01n.fsf@gnu.org> <87plgwyune.fsf@gmail.com> <861ptbr0ks.fsf@gnu.org> <87msby7brp.fsf@gmail.com> <864iy5ojg5.fsf@gnu.org> <86zffxn3q9.fsf@gnu.org> In-Reply-To: <86zffxn3q9.fsf@gnu.org> From: Ship Mints Date: Wed, 30 Apr 2025 10:09:36 -0400 X-Gm-Features: ATxdqUExHe4ykfmyuBALgSEPSmC3GkBD4W9sBEOLKC3s1K8AVokL9FrK3pCN_GA Message-ID: Subject: Re: bug#77715: [PATCH] Add ring-bell functions for mode line and header line. To: Eli Zaretskii Content-Type: multipart/alternative; boundary="0000000000005040170633ff7876" X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 77715 Cc: eg642616@gmail.com, 77715@debbugs.gnu.org, drew.adams@oracle.com X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) --0000000000005040170633ff7876 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Wed, Apr 30, 2025 at 10:06=E2=80=AFAM Eli Zaretskii wrote= : > > From: Ship Mints > > Date: Wed, 30 Apr 2025 09:52:44 -0400 > > Cc: eg642616@gmail.com, 77715@debbugs.gnu.org, drew.adams@oracle.com > > > > On Wed, Apr 30, 2025 at 9:41=E2=80=AFAM Eli Zaretskii wr= ote: > > > > > From: Ship Mints > > > Date: Wed, 30 Apr 2025 09:10:05 -0400 > > > Cc: Eli Zaretskii , 77715@debbugs.gnu.org, > drew.adams@oracle.com > > > > > > Face flashing isn't a feature of bell ringing, it's the opposite. > > > > ??? Then why is ring-bell-functions being mentioned? > > > > > I'd consider putting the face flashing code with > > > face-related code so it's clear faces can be flashed anywhere for an= y > reason the users want. > > > > But this code is not general enough for that. It was written > > explicitly for additional optional values for ring-bell-functions, as > > the doc strings say. > > > > The prototype was derived from private code used in this narrow case bu= t > if we're going to adopt the > > functionality in core, I think we go the extra mile to make it > appropriately general. > > But then the entire implementation should be revisited and reviewed > with that generality in mind. So please let's talk about that. Could > you or someone else please describe what general features are meant to > be implemented based on this functionality? > I think of face flashing as the face equivalent to ' pulse-momentary-highlight-region'. --0000000000005040170633ff7876 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
= On Wed, Apr 30, 2025 at 10:06=E2=80=AFAM Eli Zaretskii <eliz@gnu.org> wrote:
> From: Ship Mints <shipmints@gmail.com>
> Date: Wed, 30 Apr 2025 09:52:44 -0400
> Cc: eg642616@g= mail.com, 77= 715@debbugs.gnu.org, drew.adams@oracle.com
>
> On Wed, Apr 30, 2025 at 9:41=E2=80=AFAM Eli Zaretskii <eliz@gnu.org> wrote:
>
>=C2=A0 > From: Ship Mints <shipmints@gmail.com>
>=C2=A0 > Date: Wed, 30 Apr 2025 09:10:05 -0400
>=C2=A0 > Cc: Eli Zaretskii <eliz@gnu.org>, 77715@debbugs.gnu.org, drew.adams@oracle.com
>=C2=A0 >
>=C2=A0 > Face flashing isn't a feature of bell ringing, it's= the opposite.
>
>=C2=A0 ??? Then why is ring-bell-functions being mentioned?
>
>=C2=A0 > I'd consider putting the face flashing code with
>=C2=A0 > face-related code so it's clear faces can be flashed an= ywhere for any reason the users want.
>
>=C2=A0 But this code is not general enough for that.=C2=A0 It was writt= en
>=C2=A0 explicitly for additional optional values for ring-bell-function= s, as
>=C2=A0 the doc strings say.
>
> The prototype was derived from private code used in this narrow case b= ut if we're going to adopt the
> functionality in core, I think we go the extra mile to make it appropr= iately general.

But then the entire implementation should be revisited and reviewed
with that generality in mind.=C2=A0 So please let's talk about that.=C2= =A0 Could
you or someone else please describe what general features are meant to
be implemented based on this functionality?

I think of face=C2=A0flashing as the face equivalent = to 'pulse-momentary-highlight-regio= n'.
--0000000000005040170633ff7876-- From debbugs-submit-bounces@debbugs.gnu.org Wed Apr 30 10:30:19 2025 Received: (at 77715) by debbugs.gnu.org; 30 Apr 2025 14:30:19 +0000 Received: from localhost ([127.0.0.1]:43556 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uA8S3-0007Lo-4H for submit@debbugs.gnu.org; Wed, 30 Apr 2025 10:30:19 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:50752) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1uA8Rz-0007J5-Bq for 77715@debbugs.gnu.org; Wed, 30 Apr 2025 10:30:16 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uA8Rp-0007WM-1y; Wed, 30 Apr 2025 10:30:06 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-version:References:Subject:In-Reply-To:To:From: Date; bh=9A6egOx7aSSLyR72VINlia9fFqdy6ChC1jMN55PWq9s=; b=oUxm/+njEnPiH3MTPpbD en5hQti3JGEW9p2/hUXP1P/d44QbBhL59E8cf5XOlF8h38ufkX525woxLXGVKgE/bPrPjM0eQw4oK 5yYNQLvi3zRaTQwB2Dh1q+ML/PjvcPObtoy8XvBtDCaYLBu20WvyR/EyX+HrahVrkHzf/+EGcG7Fy SGEMFu7oGpM2K33RVKwFQSQ1g2RPZPS/uPM+xPljmgTslthT7hD9rSLiZoSqHMzMVZsVBz03DsW3e NgyEZ4LV4Inrz13ilgOrwExtjr4IwZKKVd8SOnnOACsAjj8SZtklWZab7LEIRLIe7eWrv5q+KiQfa 6ehyt2xL1i/mEA==; Date: Wed, 30 Apr 2025 17:29:14 +0300 Message-Id: <86v7qln2o5.fsf@gnu.org> From: Eli Zaretskii To: Ship Mints In-Reply-To: (message from Ship Mints on Wed, 30 Apr 2025 10:09:36 -0400) Subject: Re: bug#77715: [PATCH] Add ring-bell functions for mode line and header line. References: <87r01zlx4n.fsf@gmail.com> <874iyvetl1.fsf@gmail.com> <874iyvv1te.fsf@gmail.com> <87plhitvdl.fsf@gmail.com> <87wmbqpmb7.fsf@gmail.com> <87bjsh79sl.fsf@gmail.com> <86ldrkr01n.fsf@gnu.org> <87plgwyune.fsf@gmail.com> <861ptbr0ks.fsf@gnu.org> <87msby7brp.fsf@gmail.com> <864iy5ojg5.fsf@gnu.org> <86zffxn3q9.fsf@gnu.org> MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 77715 Cc: eg642616@gmail.com, 77715@debbugs.gnu.org, drew.adams@oracle.com X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Ship Mints > Date: Wed, 30 Apr 2025 10:09:36 -0400 > Cc: eg642616@gmail.com, 77715@debbugs.gnu.org, drew.adams@oracle.com > > On Wed, Apr 30, 2025 at 10:06 AM Eli Zaretskii wrote: > > > But this code is not general enough for that. It was written > > explicitly for additional optional values for ring-bell-functions, as > > the doc strings say. > > > > The prototype was derived from private code used in this narrow case but if we're going to adopt the > > functionality in core, I think we go the extra mile to make it appropriately general. > > But then the entire implementation should be revisited and reviewed > with that generality in mind. So please let's talk about that. Could > you or someone else please describe what general features are meant to > be implemented based on this functionality? > > I think of face flashing as the face equivalent to 'pulse-momentary-highlight-region'. Then why don't we use the functions defined in pulse.el in the first place? why invent a whole new family of functions,l face attributes, etc.? From debbugs-submit-bounces@debbugs.gnu.org Wed Apr 30 10:34:15 2025 Received: (at 77715) by debbugs.gnu.org; 30 Apr 2025 14:34:15 +0000 Received: from localhost ([127.0.0.1]:43577 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uA8Vq-0007U7-FJ for submit@debbugs.gnu.org; Wed, 30 Apr 2025 10:34:14 -0400 Received: from mail-qt1-x82e.google.com ([2607:f8b0:4864:20::82e]:56767) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1uA8Vn-0007Tp-1a for 77715@debbugs.gnu.org; Wed, 30 Apr 2025 10:34:12 -0400 Received: by mail-qt1-x82e.google.com with SMTP id d75a77b69052e-476977848c4so97995701cf.1 for <77715@debbugs.gnu.org>; Wed, 30 Apr 2025 07:34:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1746023645; x=1746628445; darn=debbugs.gnu.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=6zoRMlCwShHiU44rHD2198TQBrdFoUlHNDBZAMdQyEA=; b=IRfu42Qk8zJU/z4kavORlEKsLQjSpA0NB04XrNSf9M05276mpncx8r/Dbw441ANjrh GKC3AMb+ga/tyKkyHqb/iqA2qI1Wy+q3K51ienup+z8urJbTuktiN9zx2gemaZVQLP6P MwnwaWPhLkJyt9hpr38IlbKslTjxQLDZfckolvHOSEutxaCyyI/9WnV/9R7g8xRQQ+Mn DOZPsKwWdOAdHmY22VX06JHRPmwNwbBxbdQNusKru61he3HpNlm/xV2eQxzuTbUrTnB4 xPyw6Sdsu1tXiNg8f1j0ICIbCGK2zTrv0JJCeWmpLbuK+g9LEMq5kCAAaMpMhWxwJGbk LMEw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746023645; x=1746628445; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=6zoRMlCwShHiU44rHD2198TQBrdFoUlHNDBZAMdQyEA=; b=oYzT8HGzhNnPyZX6HvTySedbidyeu/O70JU5J19zLm7EHgVH3E7nOg/snvdlZMlUSg gcGeP2UCivcZJEGVscWUiTFJIovSEY5zzlRf5JJa6YxbKbjjRBA2Gc72/cyS5duFaEId 5QSMd0f9zgzHVwCmGp/Nm63ZxUTm9viEIYi+TpnjzvF6A1KVsNoL5LgDfaycnw4+YIPJ frX+lZOwguT9fvHGmvksXc5YddZSgrxkN0xqHN27F3GUxiJJBAEIPyMeHylfRgtBDRHy wnljCNxcvDOIclh/T42JVLpwUpMWN/9+C1yTDcp5nu3o2m5OXY3VnyiRERPNzILgIz0I N+yg== X-Forwarded-Encrypted: i=1; AJvYcCW9UNV11rlZoX+3Za3ahQofpYPnocZZtg/KRVMsEP+X8bsKoHhhQU/OVefSC6zdaQ784DMARw==@debbugs.gnu.org X-Gm-Message-State: AOJu0YxaGwKXbxaqV32E3YstufSLq9JNeT+kKNLA1f20KcR55w6TMG0V qbucBntF4ZBYIFHVW3j1Mjbai64qdPLqPwjbUn6/dNbmyD9Rn67So52RX9qnaNMvEsUwPitkEGn w/yMytPS80WbHrTyLq1Bj48F8mN8= X-Gm-Gg: ASbGncuMOayiM/yW5wCqh5d7Uqnhj7BLL677HzB8qWjLUi5uWkzliLErwtRLHV64uMr gApc713uxP5LbQ/CIhMgWx9p8jW155vfJx4/PjemOcd061Eg+i7oFBvn0acA/QIocWj0OOAYHdw 9SPctKyXz2wpZqBv+ztowpgQ== X-Google-Smtp-Source: AGHT+IEndhMcPA4DDe+MaZLyJGdoij+12xCLXocofnmIdQYEFvCl/178OE3LB2FcxIrZpWYd/GxLp5F63kinsxUW4bk= X-Received: by 2002:a05:622a:1b18:b0:476:add4:d2a9 with SMTP id d75a77b69052e-489c4450ce4mr63344831cf.30.1746023645247; Wed, 30 Apr 2025 07:34:05 -0700 (PDT) MIME-Version: 1.0 References: <87r01zlx4n.fsf@gmail.com> <874iyvetl1.fsf@gmail.com> <874iyvv1te.fsf@gmail.com> <87plhitvdl.fsf@gmail.com> <87wmbqpmb7.fsf@gmail.com> <87bjsh79sl.fsf@gmail.com> <86ldrkr01n.fsf@gnu.org> <87plgwyune.fsf@gmail.com> <861ptbr0ks.fsf@gnu.org> <87msby7brp.fsf@gmail.com> <864iy5ojg5.fsf@gnu.org> <86zffxn3q9.fsf@gnu.org> <86v7qln2o5.fsf@gnu.org> In-Reply-To: <86v7qln2o5.fsf@gnu.org> From: Ship Mints Date: Wed, 30 Apr 2025 10:33:52 -0400 X-Gm-Features: ATxdqUGYpw1iZ6OJ70zEVRxEhgx6HSFbPwg0lFVEJtCuVeZb1ErQEWM9sZd6h48 Message-ID: Subject: Re: bug#77715: [PATCH] Add ring-bell functions for mode line and header line. To: Eli Zaretskii Content-Type: multipart/alternative; boundary="00000000000024fe180633ffcf4c" X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 77715 Cc: eg642616@gmail.com, 77715@debbugs.gnu.org, drew.adams@oracle.com X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) --00000000000024fe180633ffcf4c Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Wed, Apr 30, 2025 at 10:30=E2=80=AFAM Eli Zaretskii wrote= : > > From: Ship Mints > > Date: Wed, 30 Apr 2025 10:09:36 -0400 > > Cc: eg642616@gmail.com, 77715@debbugs.gnu.org, drew.adams@oracle.com > > > > On Wed, Apr 30, 2025 at 10:06=E2=80=AFAM Eli Zaretskii w= rote: > > > > > But this code is not general enough for that. It was written > > > explicitly for additional optional values for ring-bell-functions, = as > > > the doc strings say. > > > > > > The prototype was derived from private code used in this narrow case > but if we're going to adopt the > > > functionality in core, I think we go the extra mile to make it > appropriately general. > > > > But then the entire implementation should be revisited and reviewed > > with that generality in mind. So please let's talk about that. Could > > you or someone else please describe what general features are meant to > > be implemented based on this functionality? > > > > I think of face flashing as the face equivalent to > 'pulse-momentary-highlight-region'. > > Then why don't we use the functions defined in pulse.el in the first > place? why invent a whole new family of functions,l face attributes, > etc.? > Overlays require a buffer and flashing faces like the inner border or tab-bar can't be accomplished using pulse.el functions unless I'm missing something. --00000000000024fe180633ffcf4c Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
= On Wed, Apr 30, 2025 at 10:30=E2=80=AFAM Eli Zaretskii <eliz@gnu.org> wrote:
> From: Ship Mints <shipmints@gmail.com>
> Date: Wed, 30 Apr 2025 10:09:36 -0400
> Cc: eg642616@g= mail.com, 77= 715@debbugs.gnu.org, drew.adams@oracle.com
>
> On Wed, Apr 30, 2025 at 10:06=E2=80=AFAM Eli Zaretskii <eliz@gnu.org> wrote:
>
>=C2=A0 >=C2=A0 But this code is not general enough for that.=C2=A0 I= t was written
>=C2=A0 >=C2=A0 explicitly for additional optional values for ring-be= ll-functions, as
>=C2=A0 >=C2=A0 the doc strings say.
>=C2=A0 >
>=C2=A0 > The prototype was derived from private code used in this na= rrow case but if we're going to adopt the
>=C2=A0 > functionality in core, I think we go the extra mile to make= it appropriately general.
>
>=C2=A0 But then the entire implementation should be revisited and revie= wed
>=C2=A0 with that generality in mind.=C2=A0 So please let's talk abo= ut that.=C2=A0 Could
>=C2=A0 you or someone else please describe what general features are me= ant to
>=C2=A0 be implemented based on this functionality?
>
> I think of face flashing as the face equivalent to 'pulse-momentar= y-highlight-region'.

Then why don't we use the functions defined in pulse.el in the first place? why invent a whole new family of functions,l face attributes,
etc.?

Overlays require a buffer and flashing faces like th= e inner border or tab-bar can't be accomplished=C2=A0using pulse.el fun= ctions unless I'm missing something.
--00000000000024fe180633ffcf4c-- From debbugs-submit-bounces@debbugs.gnu.org Wed Apr 30 10:53:02 2025 Received: (at 77715) by debbugs.gnu.org; 30 Apr 2025 14:53:02 +0000 Received: from localhost ([127.0.0.1]:43692 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uA8o1-00005o-Tk for submit@debbugs.gnu.org; Wed, 30 Apr 2025 10:53:02 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:47312) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1uA8ny-00005C-7G for 77715@debbugs.gnu.org; Wed, 30 Apr 2025 10:52:59 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uA8nr-00029H-H5; Wed, 30 Apr 2025 10:52:52 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-version:References:Subject:In-Reply-To:To:From: Date; bh=x3FqVkL/qJUJns76YhVpp8Zv2YyFoPzeXMkuTK+cak0=; b=X9oNZlO3XDNmQSm5Efp/ DoVoxQz84EBi00BQqHICFM0LnBwz7+vcXzVp0xV47NPhUx3o+IY1iA2ygO7ORRLu+ZpGRT2erwfBy TnSVrTgQBfjUhaRsm/Zh2AUcALwqYV8NuEcy8vTN4GOdPLUjZ4LfOGKU19bmAQPWJdeDczrERm1zr h3ztAdCzxYZO4AX8H50GsBQAZ64q2mUcgbJfGW47BYr4M/VIdMx7nriqkQ0QdGooYrvsrPZZ/WSI/ NI0dvBlp0kHDATKy5d10P4eOX02Z0Oh7m0qs4en9FNP1CQRp5mN4aw1kmr55LZbvJhG92QtZkLdVo ulzh+L4BrUY/qQ==; Date: Wed, 30 Apr 2025 17:52:18 +0300 Message-Id: <86tt65n1lp.fsf@gnu.org> From: Eli Zaretskii To: Ship Mints In-Reply-To: (message from Ship Mints on Wed, 30 Apr 2025 10:33:52 -0400) Subject: Re: bug#77715: [PATCH] Add ring-bell functions for mode line and header line. References: <87r01zlx4n.fsf@gmail.com> <874iyvetl1.fsf@gmail.com> <874iyvv1te.fsf@gmail.com> <87plhitvdl.fsf@gmail.com> <87wmbqpmb7.fsf@gmail.com> <87bjsh79sl.fsf@gmail.com> <86ldrkr01n.fsf@gnu.org> <87plgwyune.fsf@gmail.com> <861ptbr0ks.fsf@gnu.org> <87msby7brp.fsf@gmail.com> <864iy5ojg5.fsf@gnu.org> <86zffxn3q9.fsf@gnu.org> <86v7qln2o5.fsf@gnu.org> MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 77715 Cc: eg642616@gmail.com, 77715@debbugs.gnu.org, drew.adams@oracle.com X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Ship Mints > Date: Wed, 30 Apr 2025 10:33:52 -0400 > Cc: eg642616@gmail.com, 77715@debbugs.gnu.org, drew.adams@oracle.com > > On Wed, Apr 30, 2025 at 10:30 AM Eli Zaretskii wrote: > > > From: Ship Mints > > Date: Wed, 30 Apr 2025 10:09:36 -0400 > > Cc: eg642616@gmail.com, 77715@debbugs.gnu.org, drew.adams@oracle.com > > > > On Wed, Apr 30, 2025 at 10:06 AM Eli Zaretskii wrote: > > > > > But this code is not general enough for that. It was written > > > explicitly for additional optional values for ring-bell-functions, as > > > the doc strings say. > > > > > > The prototype was derived from private code used in this narrow case but if we're going to adopt > the > > > functionality in core, I think we go the extra mile to make it appropriately general. > > > > But then the entire implementation should be revisited and reviewed > > with that generality in mind. So please let's talk about that. Could > > you or someone else please describe what general features are meant to > > be implemented based on this functionality? > > > > I think of face flashing as the face equivalent to 'pulse-momentary-highlight-region'. > > Then why don't we use the functions defined in pulse.el in the first > place? why invent a whole new family of functions,l face attributes, > etc.? > > Overlays require a buffer and flashing faces like the inner border or tab-bar can't be accomplished using > pulse.el functions unless I'm missing something. But the code as submitted included echo-area as well, where there _is_ a buffer. And my question about the faces is still unanswered. From debbugs-submit-bounces@debbugs.gnu.org Wed Apr 30 10:55:23 2025 Received: (at 77715) by debbugs.gnu.org; 30 Apr 2025 14:55:23 +0000 Received: from localhost ([127.0.0.1]:43704 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uA8qJ-0000Gp-6U for submit@debbugs.gnu.org; Wed, 30 Apr 2025 10:55:23 -0400 Received: from mail-vs1-xe29.google.com ([2607:f8b0:4864:20::e29]:48352) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1uA8qF-0000GL-U9 for 77715@debbugs.gnu.org; Wed, 30 Apr 2025 10:55:20 -0400 Received: by mail-vs1-xe29.google.com with SMTP id ada2fe7eead31-4c32d6ddd50so392166137.0 for <77715@debbugs.gnu.org>; Wed, 30 Apr 2025 07:55:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1746024914; x=1746629714; darn=debbugs.gnu.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=wGUtMcT5q7l3D7VD2ETbKXapxLppgh+ONegXEVHl/L4=; b=g93GgMe7KaOV5fGXqlqqiCmJkHFyZKcECPA7i4cwnwkNIV6imzpdQONYLZOUobQSHz bWUUi5mEfbVLH60753qt0D2s+YPqx1gJYU0+cShHu/Q53pjQ9jXMVGtXxXcmjP40CQH7 ts3da/1nVYF+V4HsMwBv+9boJEXp6XkMGg70m/8S9IVBFY4ZNE41Iv8BhUkYiU8GGmXC mCD2+iIxR21NxOziVQXMRkGB+0eaeGfUdYl6cw9HPnNhoI2t9vl8B/AYvm/cma9tzrhz tdnBKSihFQwnU0LfphHBNY+sAwppIpt38MgosKmY+ddrw/yCAXnaI/PcPSzAKkMBM/Wi hueA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746024914; x=1746629714; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=wGUtMcT5q7l3D7VD2ETbKXapxLppgh+ONegXEVHl/L4=; b=n89pTgSeaY2ptFyzKi+alVq/81Go7zHmlPMqhhVIrKcIQIEomRn6Dy/3Bfu2G9SH4o PaEagA4fmjcC22blVS3jlUQP141Et+7hcXiRPsYSiiVWtp4QbWKMPM0Zlcvi14C1BgCH AYar/EOcDFYiQ/CJ7nmAHZO0t+bUP2Z2aad0PX1E+KLNra6OdyiitO6MsHknm3RONZSX If3oH2OfjvCaWmiC0/cuvYxVWeWlNOhFN8sEN/rRUxNaxrtry4WJj+7SbGp2W/kL854x 2mBuRSL4LfjdXqvfbrvmwpdZpQK0FNeguk6eeoIP0Doauv+DYW46AS8+yNPoNyzf9peQ 8kDA== X-Forwarded-Encrypted: i=1; AJvYcCUsxrnhUiGXO1Fh0tZ9NHke9dE3ImdZFtmMT6gohwzviVQMIARaFl6iYpgraZBYx7hRNe2VVw==@debbugs.gnu.org X-Gm-Message-State: AOJu0YwujdOoaDKRcvJyDV0YAXqTPjV90HyWUCqYglYWZC9sOQZlNVJo MkdWMNtiA65IpXDRsyYHwQ5EL1AsePk6+dwu/3dS/v6rQBnPaWISGXj7Q5C77m8viV4vJ/ccKDo 5mKTKNK0WfN0Ypg+6QRAT1JxzMnY= X-Gm-Gg: ASbGncv0VFcOmbUzPbVjcHuRECbpJ8Rolh0cVI8d8DpBjJjkKnTpgAVD7WuGiwXPqIO 7LJ90/7GP2rlH7248pB+1G7sz/CNWNnNnfN1+J/zd6Pl5i2XxjmcTvse4vSWzlhfaghnSxJw4Xl Ax1ALMG/OJ0LGAYCRVaOYM/A== X-Google-Smtp-Source: AGHT+IFHS0sQ7mgZanrTwRnHXW322MX03m6TYJhZXW/3RZyloa15NmLFyn6afn8zdJhDaqHY5DcTejCcniDlowGmbdc= X-Received: by 2002:a05:6102:b07:b0:4cb:5d6c:9943 with SMTP id ada2fe7eead31-4dad35d60a5mr2855923137.12.1746024914081; Wed, 30 Apr 2025 07:55:14 -0700 (PDT) MIME-Version: 1.0 References: <87r01zlx4n.fsf@gmail.com> <874iyvetl1.fsf@gmail.com> <874iyvv1te.fsf@gmail.com> <87plhitvdl.fsf@gmail.com> <87wmbqpmb7.fsf@gmail.com> <87bjsh79sl.fsf@gmail.com> <86ldrkr01n.fsf@gnu.org> <87plgwyune.fsf@gmail.com> <861ptbr0ks.fsf@gnu.org> <87msby7brp.fsf@gmail.com> <864iy5ojg5.fsf@gnu.org> <86zffxn3q9.fsf@gnu.org> <86v7qln2o5.fsf@gnu.org> <86tt65n1lp.fsf@gnu.org> In-Reply-To: <86tt65n1lp.fsf@gnu.org> From: Ship Mints Date: Wed, 30 Apr 2025 10:55:02 -0400 X-Gm-Features: ATxdqUE2Nr45VqHkaGERRXrQwi9vSdKli2pm69aMZ2PcoeX9_T3T_fIDqddRXXw Message-ID: Subject: Re: bug#77715: [PATCH] Add ring-bell functions for mode line and header line. To: Eli Zaretskii Content-Type: multipart/alternative; boundary="000000000000c5e0780634001a9e" X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 77715 Cc: eg642616@gmail.com, 77715@debbugs.gnu.org, drew.adams@oracle.com X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) --000000000000c5e0780634001a9e Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Wed, Apr 30, 2025 at 10:52=E2=80=AFAM Eli Zaretskii wrote= : > > From: Ship Mints > > Date: Wed, 30 Apr 2025 10:33:52 -0400 > > Cc: eg642616@gmail.com, 77715@debbugs.gnu.org, drew.adams@oracle.com > > > > On Wed, Apr 30, 2025 at 10:30=E2=80=AFAM Eli Zaretskii w= rote: > > > > > From: Ship Mints > > > Date: Wed, 30 Apr 2025 10:09:36 -0400 > > > Cc: eg642616@gmail.com, 77715@debbugs.gnu.org, drew.adams@oracle.com > > > > > > On Wed, Apr 30, 2025 at 10:06=E2=80=AFAM Eli Zaretskii wrote: > > > > > > > But this code is not general enough for that. It was written > > > > explicitly for additional optional values for > ring-bell-functions, as > > > > the doc strings say. > > > > > > > > The prototype was derived from private code used in this narrow > case but if we're going to adopt > > the > > > > functionality in core, I think we go the extra mile to make it > appropriately general. > > > > > > But then the entire implementation should be revisited and reviewed > > > with that generality in mind. So please let's talk about that. > Could > > > you or someone else please describe what general features are meant > to > > > be implemented based on this functionality? > > > > > > I think of face flashing as the face equivalent to > 'pulse-momentary-highlight-region'. > > > > Then why don't we use the functions defined in pulse.el in the first > > place? why invent a whole new family of functions,l face attributes, > > etc.? > > > > Overlays require a buffer and flashing faces like the inner border or > tab-bar can't be accomplished using > > pulse.el functions unless I'm missing something. > > But the code as submitted included echo-area as well, where there _is_ > a buffer. > My implementation did not. Elijah needs to defend that. And my question about the faces is still unanswered. > That's for Elijah to explain, that was his choice. I prefer the simplest possible thing that works and my original that I shared seems optimal and is only tangentially related to bell ringing because that's how I use it ATM. --000000000000c5e0780634001a9e Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
= On Wed, Apr 30, 2025 at 10:52=E2=80=AFAM Eli Zaretskii <eliz@gnu.org> wrote:
> From: Ship Mints <shipmints@gmail.com>
> Date: Wed, 30 Apr 2025 10:33:52 -0400
> Cc: eg642616@g= mail.com, 77= 715@debbugs.gnu.org, drew.adams@oracle.com
>
> On Wed, Apr 30, 2025 at 10:30=E2=80=AFAM Eli Zaretskii <eliz@gnu.org> wrote:
>
>=C2=A0 > From: Ship Mints <shipmints@gmail.com>
>=C2=A0 > Date: Wed, 30 Apr 2025 10:09:36 -0400
>=C2=A0 > Cc: eg642616@gmail.com, 77715@debbugs.gnu.org, drew.adams@oracle.com
>=C2=A0 >
>=C2=A0 > On Wed, Apr 30, 2025 at 10:06=E2=80=AFAM Eli Zaretskii <= eliz@gnu.org> wrot= e:
>=C2=A0 >
>=C2=A0 >=C2=A0 >=C2=A0 But this code is not general enough for th= at.=C2=A0 It was written
>=C2=A0 >=C2=A0 >=C2=A0 explicitly for additional optional values = for ring-bell-functions, as
>=C2=A0 >=C2=A0 >=C2=A0 the doc strings say.
>=C2=A0 >=C2=A0 >
>=C2=A0 >=C2=A0 > The prototype was derived from private code used= in this narrow case but if we're going to adopt
>=C2=A0 the
>=C2=A0 >=C2=A0 > functionality in core, I think we go the extra m= ile to make it appropriately general.
>=C2=A0 >
>=C2=A0 >=C2=A0 But then the entire implementation should be revisite= d and reviewed
>=C2=A0 >=C2=A0 with that generality in mind.=C2=A0 So please let'= ;s talk about that.=C2=A0 Could
>=C2=A0 >=C2=A0 you or someone else please describe what general feat= ures are meant to
>=C2=A0 >=C2=A0 be implemented based on this functionality?
>=C2=A0 >
>=C2=A0 > I think of face flashing as the face equivalent to 'pul= se-momentary-highlight-region'.
>
>=C2=A0 Then why don't we use the functions defined in pulse.el in t= he first
>=C2=A0 place? why invent a whole new family of functions,l face attribu= tes,
>=C2=A0 etc.?
>
> Overlays require a buffer and flashing faces like the inner border or = tab-bar can't be accomplished using
> pulse.el functions unless I'm missing something.

But the code as submitted included echo-area as well, where there _is_
a buffer.

My implementation did not.=C2=A0 Elijah needs to= defend that.

And my question about the faces is still unanswered.
<= br>
That&= #39;s for Elijah to explain, that was his choice.

I prefer the simplest possible thing t= hat works and my original that I shared seems optimal and is only tangentia= lly related to bell ringing because that's how I use it ATM.
--000000000000c5e0780634001a9e-- From debbugs-submit-bounces@debbugs.gnu.org Wed Apr 30 11:17:45 2025 Received: (at 77715) by debbugs.gnu.org; 30 Apr 2025 15:17:45 +0000 Received: from localhost ([127.0.0.1]:43848 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uA9Bx-0001Tz-5b for submit@debbugs.gnu.org; Wed, 30 Apr 2025 11:17:45 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:47336) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1uA9Bs-0001TU-Fr for 77715@debbugs.gnu.org; Wed, 30 Apr 2025 11:17:41 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uA9Bk-0005bm-HK; Wed, 30 Apr 2025 11:17:32 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-version:References:Subject:In-Reply-To:To:From: Date; bh=L9ZtsrGRbgXR2hHOhQOdv5MTHvR/gT/UQoUiG0+q4uA=; b=mmoS2ZXRNnp6Cl+F+YOc GJx9vx1r8WizXPYiEHefWylFAqs1Vr7sE746TK8Y0J4rR19KZOzsXGFu0eNUv10EfO84r1VWOgvq8 9c6ZT30oQ8nm1+QWBrtrGjuBsTNDp9Cr6zATFjSPQ2cE4NVt7H+pzp9YlUW2ScTntokr2viNLe2dO 7sYdYRb+ThM/S2oLN31IwaBCbhnmRwvNbL312EyVWKJiiKzdvpWun5BuAP+DwObbs7CICH75W7CV+ 7wUHoDos8tRUJBKnKjmxsHNQFpXAl3GQh2IiHCvch6KkhpSsCJgg9msrxRted2Km4rBz+CVS5Ti9f FRHJG6r+q+vV3Q==; Date: Wed, 30 Apr 2025 18:17:28 +0300 Message-Id: <86selpn0fr.fsf@gnu.org> From: Eli Zaretskii To: Ship Mints In-Reply-To: (message from Ship Mints on Wed, 30 Apr 2025 10:55:02 -0400) Subject: Re: bug#77715: [PATCH] Add ring-bell functions for mode line and header line. References: <87r01zlx4n.fsf@gmail.com> <874iyvetl1.fsf@gmail.com> <874iyvv1te.fsf@gmail.com> <87plhitvdl.fsf@gmail.com> <87wmbqpmb7.fsf@gmail.com> <87bjsh79sl.fsf@gmail.com> <86ldrkr01n.fsf@gnu.org> <87plgwyune.fsf@gmail.com> <861ptbr0ks.fsf@gnu.org> <87msby7brp.fsf@gmail.com> <864iy5ojg5.fsf@gnu.org> <86zffxn3q9.fsf@gnu.org> <86v7qln2o5.fsf@gnu.org> <86tt65n1lp.fsf@gnu.org> MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 77715 Cc: eg642616@gmail.com, 77715@debbugs.gnu.org, drew.adams@oracle.com X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Ship Mints > Date: Wed, 30 Apr 2025 10:55:02 -0400 > Cc: eg642616@gmail.com, 77715@debbugs.gnu.org, drew.adams@oracle.com > > On Wed, Apr 30, 2025 at 10:52 AM Eli Zaretskii wrote: > > > From: Ship Mints > > Date: Wed, 30 Apr 2025 10:33:52 -0400 > > Cc: eg642616@gmail.com, 77715@debbugs.gnu.org, drew.adams@oracle.com > > > > On Wed, Apr 30, 2025 at 10:30 AM Eli Zaretskii wrote: > > > > > From: Ship Mints > > > Date: Wed, 30 Apr 2025 10:09:36 -0400 > > > Cc: eg642616@gmail.com, 77715@debbugs.gnu.org, drew.adams@oracle.com > > > > > > On Wed, Apr 30, 2025 at 10:06 AM Eli Zaretskii wrote: > > > > > > > But this code is not general enough for that. It was written > > > > explicitly for additional optional values for ring-bell-functions, as > > > > the doc strings say. > > > > > > > > The prototype was derived from private code used in this narrow case but if we're going to > adopt > > the > > > > functionality in core, I think we go the extra mile to make it appropriately general. > > > > > > But then the entire implementation should be revisited and reviewed > > > with that generality in mind. So please let's talk about that. Could > > > you or someone else please describe what general features are meant to > > > be implemented based on this functionality? > > > > > > I think of face flashing as the face equivalent to 'pulse-momentary-highlight-region'. > > > > Then why don't we use the functions defined in pulse.el in the first > > place? why invent a whole new family of functions,l face attributes, > > etc.? > > > > Overlays require a buffer and flashing faces like the inner border or tab-bar can't be accomplished > using > > pulse.el functions unless I'm missing something. > > But the code as submitted included echo-area as well, where there _is_ > a buffer. > > My implementation did not. Elijah needs to defend that. > > And my question about the faces is still unanswered. > > That's for Elijah to explain, that was his choice. then perhaps Elijah had different plans for this? E.g., maybe he didn't intend to generalize this code at all? So let's wait for Elijah to chime in, okay? From debbugs-submit-bounces@debbugs.gnu.org Wed Apr 30 14:00:24 2025 Received: (at 77715) by debbugs.gnu.org; 30 Apr 2025 18:00:24 +0000 Received: from localhost ([127.0.0.1]:36083 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uABjL-0000ff-Sh for submit@debbugs.gnu.org; Wed, 30 Apr 2025 14:00:24 -0400 Received: from mail-qv1-xf43.google.com ([2607:f8b0:4864:20::f43]:53655) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1uABjJ-0000ba-J0 for 77715@debbugs.gnu.org; Wed, 30 Apr 2025 14:00:22 -0400 Received: by mail-qv1-xf43.google.com with SMTP id 6a1803df08f44-6e8f8657f29so1740346d6.3 for <77715@debbugs.gnu.org>; Wed, 30 Apr 2025 11:00:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1746036016; x=1746640816; darn=debbugs.gnu.org; h=content-transfer-encoding:mime-version:user-agent:message-id:date :references:in-reply-to:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=BvV9m1NiZOGYRkFz5Q/LJC1Q08ZN2G1TJv5Mq7Y55XI=; b=jFotSjH9QOpzgiQJQLE+4fHaE9nhUqjw5bmpGp8Nh+08vLw/u5n4w2OfRPh7gCnEqm WflLC5Ka4clNOhZwa6LmU3X1xamIaUUgbUPEl68ooEoo+At6TGsAOW3c38NQNzxQElKz Rbt7Za01ni5X9oFsvLcfSAZTVd9ZifKkT0QFzhuIcsXP/53jAxQ8TSbIWd7P7CGoxxAn iSXNqhUKJqN3issv9UkhZQslEBO/m17GjNp3LSI6AuO2SGzTZhDxa+N+4j+HYOtC/oig 7DU49zeoshD6huYkFhkOqbRJf2rBqo/wBhllrGdMmP4I6ZQVvuTCWYJRAD2owQWOjK43 bVQQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746036016; x=1746640816; h=content-transfer-encoding:mime-version:user-agent:message-id:date :references:in-reply-to:subject:cc:to:from:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=BvV9m1NiZOGYRkFz5Q/LJC1Q08ZN2G1TJv5Mq7Y55XI=; b=lWkLSbywYaZiGvRqdbtrWDtiTMsPvCUgbkNV4GQDLbJEu4N3TZu4apeyavC+m5IXMa 92SnRgMvXUVsYOUzdQKzEozjVIUZXaDlC55ZME2s4dvYGG4W8XD0tjODznwRWgmyR8Jy dVBONvqsTO1EqkIkIGlMmog0ETh92+rmPSXmgJzjtSKtDxGlqyvtWAUeo7TnIhdtVkhL zSK85azCYgx6L9ibDzecEYKDPL1VZvr3gQEye6n7/zJjmTWh9hW5vkJTGkXHGQsyKUYT yyGD7DWrtZBJFRLkD0wtk4bSiXaaxPKOXNQOxwPBkRh/jUYDm6zVDvRiLBhx0v+SJcbo Nb1A== X-Forwarded-Encrypted: i=1; AJvYcCXfYbofvRf9gz16jXTPdtUIR6hlR7QvOuVaFw8Cb9NMP+cp0vzo+CKkyy3dY0so1+1tI8AP+Q==@debbugs.gnu.org X-Gm-Message-State: AOJu0Yww22JZ/TVPuwB2eBI3qLMF+OcbkUJqwmGEeW/x1TmsUPp41jEa YoGvFrGr2Ud3oSUWzs5xODNb7pyc8xy4RoP6taVPbLALQ40bVU4b7LrR9goe X-Gm-Gg: ASbGncsw8c2iR4hGyKN4+Y1fJBYsxwzPFLTqtsswoAvPlcW5ZA62CTERuv+0B/AGRKf NoV5g+8f5kzGVP4EC9rd1FRyM6+9cKLL2snLxFkFGAtAvqZLzGq/o3XNkKBPnXpc59kULh7wDM8 mRJ+DE2+2ivEP5wB1Mrd5HaOVpyDgRgItzNkN7ULbKMQaYfR/Psva6B8khda51DhIZRQdfR2tuw MjPX/lN8f5YhqvUIkVGsT7kxzzoYJOYAptyPYGeFcucc9q11UrrU0qN9/BlkyEDMAU22q3EBQUv 2CeWFr6r X-Google-Smtp-Source: AGHT+IHhbs8mcW/A0wZaGXBpaosuOC/hbh0E13AHHCCLjFHE1Ct7rN/WCdf/24vlpuaBWxRzppbdpQ== X-Received: by 2002:a05:6830:310d:b0:727:3439:5bdf with SMTP id 46e09a7af769-731c24e4df2mr2570447a34.13.1746035507656; Wed, 30 Apr 2025 10:51:47 -0700 (PDT) Received: from fedora ([2806:10ae:e:8863::1]) by smtp.gmail.com with ESMTPSA id 46e09a7af769-7308b139000sm982307a34.40.2025.04.30.10.51.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 30 Apr 2025 10:51:47 -0700 (PDT) From: =?utf-8?Q?Elijah_Gabe_P=C3=A9rez?= To: Eli Zaretskii Subject: Re: bug#77715: [PATCH] Add ring-bell functions for mode line and header line. In-Reply-To: <86selpn0fr.fsf@gnu.org> References: <87r01zlx4n.fsf@gmail.com> <874iyvv1te.fsf@gmail.com> <87plhitvdl.fsf@gmail.com> <87wmbqpmb7.fsf@gmail.com> <87bjsh79sl.fsf@gmail.com> <86ldrkr01n.fsf@gnu.org> <87plgwyune.fsf@gmail.com> <861ptbr0ks.fsf@gnu.org> <87msby7brp.fsf@gmail.com> <864iy5ojg5.fsf@gnu.org> <86zffxn3q9.fsf@gnu.org> <86v7qln2o5.fsf@gnu.org> <86tt65n1lp.fsf@gnu.org> <86selpn0fr.fsf@gnu.org> Date: Wed, 30 Apr 2025 11:51:46 -0600 Message-ID: <87o6wdpmfh.fsf@gmail.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/31.0.50 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.3 (/) X-Debbugs-Envelope-To: 77715 Cc: 77715@debbugs.gnu.org, Ship Mints , drew.adams@oracle.com X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) Eli Zaretskii wrote: > > From: Ship Mints > > Date: Wed, 30 Apr 2025 10:09:36 -0400 > > Cc: eg642616@gmail.com, 77715@debbugs.gnu.org, drew.adams@oracle.com > >=20 > > On Wed, Apr 30, 2025 at 10:06=E2=80=AFAM Eli Zaretskii w= rote: > >=20 > > > But this code is not general enough for that. It was written > > > explicitly for additional optional values for ring-bell-functions, = as > > > the doc strings say. > > >=20 > > > The prototype was derived from private code used in this narrow case= but=20 > > if we're going to adopt the > > > functionality in core, I think we go the extra mile to make it=20 > > appropriately general. > >=20 > > But then the entire implementation should be revisited and reviewed > > with that generality in mind. So please let's talk about that. Could > > you or someone else please describe what general features are meant to > > be implemented based on this functionality? > >=20 > > I think of face flashing as the face equivalent to=20 > > 'pulse-momentary-highlight-region'. > Then why don't we use the functions defined in pulse.el in the first > place? why invent a whole new family of functions,l face attributes, > etc.? pulse.el is somewhat complex for me; as you pointed, the ring bell must wait until `sleep-for' ends, pulse.el uses `run-with-timer' which will not stop/freeze Emacs. I wasn't sure how to reuse pulse.el code for that (and I'm not sure if it is slow than this implementation). And the echo-area function will ensure all the echo-area/minibuffer background face will flash; pulse.el will only flash a region in the minibuffer instead the whole buffer face. The code is intended to flash/pulse `any face'. If it is required to move this code for general purposes. I'm not sure where to move it, maybe to pulse.el? But of course, the ring-bell functions must be kept but be rewritten for use that feature. --=20 - E.G via GNU Emacs and Org. From debbugs-submit-bounces@debbugs.gnu.org Thu May 01 13:11:49 2025 Received: (at 77715) by debbugs.gnu.org; 1 May 2025 17:11:49 +0000 Received: from localhost ([127.0.0.1]:52803 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uAXRs-0007f7-PS for submit@debbugs.gnu.org; Thu, 01 May 2025 13:11:49 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:54920) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1uAXRp-0007em-Dg for 77715@debbugs.gnu.org; Thu, 01 May 2025 13:11:45 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uAXRi-0001kf-Ta; Thu, 01 May 2025 13:11:39 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-version:References:Subject:In-Reply-To:To:From: Date; bh=vKLO2b1smd6RnEooaL5kbIRk444/UdyKLHR8s3n4Glw=; b=d3wA80L5N5zou/5ZilZ6 UNQovvb+eM4m+GtkcAdekSffVjGsaewkLc11lSsxeS3lwN5her9NRO46lbzTLF1A6Me7Zg7TYNEyn w0Yz3QABQbPlnpyxhIL2M91xGTc90lR1oBAcDfEIJTrwjk8l3tIRmXs0hTytFORjatIEHRnzlx3EC 5R9+RpCUWWexJUDUm+NVualDuecpEEaNk/0eyKtpTmGHmApplU9AwUp/Zbt3P8djCHZxTlK7NUvU4 ceQ3RB/n8ZLI+pnMIjNmBe+0h92213DsJKnh+vRfh627O66I3vsiCg/kR6Iw18RClpw3gU/gaBR7g BnGRbPBNM6OTUQ==; Date: Thu, 01 May 2025 20:11:36 +0300 Message-Id: <86ldrgmf1z.fsf@gnu.org> From: Eli Zaretskii To: Elijah Gabe =?utf-8?Q?P=C3=A9rez?= In-Reply-To: <87o6wdpmfh.fsf@gmail.com> (message from Elijah Gabe =?utf-8?Q?P=C3=A9rez?= on Wed, 30 Apr 2025 11:51:46 -0600) Subject: Re: bug#77715: [PATCH] Add ring-bell functions for mode line and header line. References: <87r01zlx4n.fsf@gmail.com> <874iyvv1te.fsf@gmail.com> <87plhitvdl.fsf@gmail.com> <87wmbqpmb7.fsf@gmail.com> <87bjsh79sl.fsf@gmail.com> <86ldrkr01n.fsf@gnu.org> <87plgwyune.fsf@gmail.com> <861ptbr0ks.fsf@gnu.org> <87msby7brp.fsf@gmail.com> <864iy5ojg5.fsf@gnu.org> <86zffxn3q9.fsf@gnu.org> <86v7qln2o5.fsf@gnu.org> <86tt65n1lp.fsf@gnu.org> <86selpn0fr.fsf@gnu.org> <87o6wdpmfh.fsf@gmail.com> MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 77715 Cc: 77715@debbugs.gnu.org, shipmints@gmail.com, drew.adams@oracle.com X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Elijah Gabe Pérez > Cc: Ship Mints , 77715@debbugs.gnu.org, > drew.adams@oracle.com > Date: Wed, 30 Apr 2025 11:51:46 -0600 > > Eli Zaretskii wrote: > > > From: Ship Mints > > > Date: Wed, 30 Apr 2025 10:09:36 -0400 > > > Cc: eg642616@gmail.com, 77715@debbugs.gnu.org, drew.adams@oracle.com > > > > > > On Wed, Apr 30, 2025 at 10:06 AM Eli Zaretskii wrote: > > > > > > > But this code is not general enough for that. It was written > > > > explicitly for additional optional values for ring-bell-functions, as > > > > the doc strings say. > > > > > > > > The prototype was derived from private code used in this narrow case but > > > if we're going to adopt the > > > > functionality in core, I think we go the extra mile to make it > > > appropriately general. > > > > > > But then the entire implementation should be revisited and reviewed > > > with that generality in mind. So please let's talk about that. Could > > > you or someone else please describe what general features are meant to > > > be implemented based on this functionality? > > > > > > I think of face flashing as the face equivalent to > > > 'pulse-momentary-highlight-region'. > > > Then why don't we use the functions defined in pulse.el in the first > > place? why invent a whole new family of functions,l face attributes, > > etc.? > > pulse.el is somewhat complex for me; as you pointed, the ring bell must > wait until `sleep-for' ends, pulse.el uses `run-with-timer' which will > not stop/freeze Emacs. > > I wasn't sure how to reuse pulse.el code for that > (and I'm not sure if it is slow than this implementation). > > And the echo-area function will ensure all the echo-area/minibuffer > background face will flash; pulse.el will only flash a region in the > minibuffer instead the whole buffer face. > > The code is intended to flash/pulse `any face'. > > If it is required to move this code for general purposes. > I'm not sure where to move it, maybe to pulse.el? > > But of course, the ring-bell functions must be kept but be rewritten for > use that feature. What future directions do you see for extending and generalizing this functionality? In particular, do you think it is basically limited to ring-bell-functions and similar, or are you planning on extending this for other cases, and if so, what are the plans? From debbugs-submit-bounces@debbugs.gnu.org Thu May 01 23:50:34 2025 Received: (at 77715) by debbugs.gnu.org; 2 May 2025 03:50:34 +0000 Received: from localhost ([127.0.0.1]:55104 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uAhQ1-000201-6c for submit@debbugs.gnu.org; Thu, 01 May 2025 23:50:33 -0400 Received: from mail-oi1-x244.google.com ([2607:f8b0:4864:20::244]:43219) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1uAhPy-0001zg-KM for 77715@debbugs.gnu.org; Thu, 01 May 2025 23:50:31 -0400 Received: by mail-oi1-x244.google.com with SMTP id 5614622812f47-401f6513cb2so1588335b6e.0 for <77715@debbugs.gnu.org>; Thu, 01 May 2025 20:50:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1746157825; x=1746762625; darn=debbugs.gnu.org; h=mime-version:user-agent:message-id:date:references:in-reply-to :subject:cc:to:from:from:to:cc:subject:date:message-id:reply-to; bh=vcGt9KbAkYjoC4U6/OVO+uP+NtAqJmvLPQ87sgtXWdw=; b=B0BAeOw+ZRIzXTBNeoNT2BYdtQN5MOrU2fz5Es4aMgbmX6ES9B/GOyqMQzFNaVgPi5 q7C5b1Ul2JtZbv5qZZNh4XcwNAjq1NHAjNZTrH2YjgbueRmfqnkMm1ZHZfiqCgB0cdpL /O/ofYxYn3mdowcbc3C0c9allq1tFO1kxI3cy7wV7qG+8562nvA3ayRU0NBPDSifQNGS 5rd5Wa3P1BVRme/Ci9YtXWdl/kfBMex255k9W6MxWtLmTLhp7i12nBy7ZO/7PebTLEEr 6Wr/LXjcdouNphw1ceA1+QRhGIHfhiEMKwhEDZottj2/v4JVeWoKnnfs+aSxjznf3xEd ZOgQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746157825; x=1746762625; h=mime-version:user-agent:message-id:date:references:in-reply-to :subject:cc:to:from:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=vcGt9KbAkYjoC4U6/OVO+uP+NtAqJmvLPQ87sgtXWdw=; b=i/qPB3H8gEZhGyN23l0FjYABjKSvSjeftDXpE5K7wu8HnqKlso5sNuYk/l5Q8ebXGR NWw5NgSlFwFVqGGlidXoeU0q8roWARK3DoQVNylGPxXqmJ/8yaPbB+ISOYqtSLI/FMiW bRe+a64WbNViQrvqukNrUQXIK3bUAOzpb+kvJesbHsAu2hz2X10qXUeuvM8anfTIcz19 oFQqgPX9j0RH9FpanAUBwnzDyYCfChBbDy4uLXFloJ8LyEZ9gpqkxYkNTX20RQAvcvGK fxS3cUGW5DDPShdEo5F/V83oUCre62XxJ1dbQ62fq7cdvrIcLcDe/9nV3qsQTaahFx91 3Dmg== X-Gm-Message-State: AOJu0YwuOaqV2+Ezzf198TmmWTJ4bXGSdjq7dB6aglr0QYfJcKx+Vm9B SdGWEm/Ttzi1MFFucsuGdeU97exnSuoaISbQZasGPSrirQeffC6R X-Gm-Gg: ASbGnct3RlfulTWO+mJ0IkrSt/2Q721BsfoJWPWMeFNo94wQHhlE10BTKYHofVoiE0G p9gV9pp/18Ryjv3DeoqdJ69yLOgSZA42iYSZBLLePt+YTAt6Lq9v9CGOajtf3P1c9GhY1UuQgQK LTMuPBFeEdX2/7zLxD/JBOTqEL02f0Fs2CjMxrp1oYPuEh7SnqwFbFXW9S1MuYzNf2XxT+3gScY cHuosmxfHPHUK5WvKyFdAnwh0FE0sn+Jv7lv149r1/foJuE5805OmI5reW7d8Cm0u5EmXaZzoHL 1Vrf1jymPKjFD5/acIE= X-Google-Smtp-Source: AGHT+IF0sDCeM21IEpGrjxJuPGYFhky//suXov/V33F1betX3+/AnGkgiKPcamNgpwTQvAclTsObrg== X-Received: by 2002:a05:6808:1452:b0:401:bb42:700c with SMTP id 5614622812f47-403360e6fc3mr2516319b6e.19.1746157824525; Thu, 01 May 2025 20:50:24 -0700 (PDT) Received: from fedora ([2806:10ae:e:8863::1]) by smtp.gmail.com with ESMTPSA id 5614622812f47-4033d9a519fsm420642b6e.9.2025.05.01.20.50.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 01 May 2025 20:50:23 -0700 (PDT) From: =?utf-8?Q?Elijah_Gabe_P=C3=A9rez?= To: Eli Zaretskii Subject: Re: bug#77715: [PATCH] Add ring-bell functions for mode line and header line. In-Reply-To: <86ldrgmf1z.fsf@gnu.org> References: <87r01zlx4n.fsf@gmail.com> <87plhitvdl.fsf@gmail.com> <87wmbqpmb7.fsf@gmail.com> <87bjsh79sl.fsf@gmail.com> <86ldrkr01n.fsf@gnu.org> <87plgwyune.fsf@gmail.com> <861ptbr0ks.fsf@gnu.org> <87msby7brp.fsf@gmail.com> <864iy5ojg5.fsf@gnu.org> <86zffxn3q9.fsf@gnu.org> <86v7qln2o5.fsf@gnu.org> <86tt65n1lp.fsf@gnu.org> <86selpn0fr.fsf@gnu.org> <87o6wdpmfh.fsf@gmail.com> <86ldrgmf1z.fsf@gnu.org> Date: Thu, 01 May 2025 21:50:22 -0600 Message-ID: <871pt74qo1.fsf@gmail.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/31.0.50 MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Spam-Score: 0.3 (/) X-Debbugs-Envelope-To: 77715 Cc: 77715@debbugs.gnu.org, shipmints@gmail.com, drew.adams@oracle.com X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Eli Zaretskii writes: >> From: Elijah Gabe P=C3=A9rez >> Cc: Ship Mints , 77715@debbugs.gnu.org, >> drew.adams@oracle.com >> Date: Wed, 30 Apr 2025 11:51:46 -0600 >>=20 >> Eli Zaretskii wrote: >> > > From: Ship Mints >> > > Date: Wed, 30 Apr 2025 10:09:36 -0400 >> > > Cc: eg642616@gmail.com, 77715@debbugs.gnu.org, drew.adams@oracle.com >> > >=20 >> > > On Wed, Apr 30, 2025 at 10:06=E2=80=AFAM Eli Zaretskii wrote: >> > >=20 >> > > > But this code is not general enough for that. It was written >> > > > explicitly for additional optional values for ring-bell-function= s, as >> > > > the doc strings say. >> > > >=20 >> > > > The prototype was derived from private code used in this narrow c= ase but=20 >> > > if we're going to adopt the >> > > > functionality in core, I think we go the extra mile to make it=20 >> > > appropriately general. >> > >=20 >> > > But then the entire implementation should be revisited and reviewed >> > > with that generality in mind. So please let's talk about that. Co= uld >> > > you or someone else please describe what general features are meant= to >> > > be implemented based on this functionality? >> > >=20 >> > > I think of face flashing as the face equivalent to=20 >> > > 'pulse-momentary-highlight-region'. >>=20 >> > Then why don't we use the functions defined in pulse.el in the first >> > place? why invent a whole new family of functions,l face attributes, >> > etc.? >>=20 >> pulse.el is somewhat complex for me; as you pointed, the ring bell must >> wait until `sleep-for' ends, pulse.el uses `run-with-timer' which will >> not stop/freeze Emacs. >>=20 >> I wasn't sure how to reuse pulse.el code for that >> (and I'm not sure if it is slow than this implementation). >>=20 >> And the echo-area function will ensure all the echo-area/minibuffer >> background face will flash; pulse.el will only flash a region in the >> minibuffer instead the whole buffer face. >>=20 >> The code is intended to flash/pulse `any face'. >>=20 >> If it is required to move this code for general purposes. >> I'm not sure where to move it, maybe to pulse.el? >>=20 >> But of course, the ring-bell functions must be kept but be rewritten for >> use that feature. > What future directions do you see for extending and generalizing this > functionality? Well, this feature can be implemented in pulse.el, but in separated functions (since pulse.el functions only works for text/regions). So this can be useful for packages that want to flash/pulse briefly a face for indicate something. Sadly, this feature doesn't use the `pulse smooth effect' unless I rewrite (or duplicate) most pulse.el code for that, so for now it just "pulse" without the fancy effect. > In particular, do you think it is basically limited to > ring-bell-functions and similar, or are you planning on extending this > for other cases? Well, the original code wasn't not limited to ring-bell-functions, it was a kind of alternative to pulse.el, but since this fits better there, I've moved and rewrote it to pulse.el, so anyone can use this for anything. Also I've updated the ring-bell functions for use that. --=-=-= Content-Type: text/x-patch; charset=utf-8 Content-Disposition: attachment; filename=0001-New-pulse-functions-for-pulse-faces-and-new-file-for.patch Content-Transfer-Encoding: quoted-printable >From 498f0a869edbc003b239fe3cce1eb660b81ab510 Mon Sep 17 00:00:00 2001 From: =3D?UTF-8?q?El=3DC3=3DADas=3D20Gabriel=3D20P=3DC3=3DA9rez?=3D Date: Thu, 10 Apr 2025 11:38:21 -0600 Subject: [PATCH] New pulse functions for pulse faces and new file for ring bell fns. These new pulse functions allow pulse any defined face briefly. The new file contains functions intended to be used in `ring-bell-function' as alternatives to `visible-bell' * etc/NEWS: Announce changes * lisp/pulse.el (pulse-face-duration): New user option. (pulse-flash-face): New function. * lisp/ring-bell-fns.el (flash-face-attributes) (flash-face-faces): New user options. (flash-face-bell-function, flash-echo-area-bell-function): New functions. (bug#77715) --- etc/NEWS | 25 ++++++++++++++ lisp/pulse.el | 42 +++++++++++++++++++++++ lisp/ring-bell-fns.el | 80 +++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 147 insertions(+) create mode 100644 lisp/ring-bell-fns.el diff --git a/etc/NEWS b/etc/NEWS index d149a7387e2..ef1a636e887 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -1943,6 +1943,31 @@ change their face if the current line exceeds the 'f= ill-column'. The new face 'display-fill-column-indicator-warning-face' is used to highlight the fill-column indicators. By default, this is disabled. =20 +--- +*** New function 'flash-face-bell-function'. +This function flash a face briefly. +Intended to be used in 'ring-bell-function'. + +--- +*** New function 'flash-echo-area-bell-function'. +This function flash current echo area briefly. +Intended to be used in 'ring-bell-function'. + +--- +*** New user option 'flash-face-duration'. +This option controls flash duration for 'flash-face-bell-function' and +'flash-echo-area-bell-function'. + +--- +*** New user option 'flash-face-faces'. +This option tells 'flash-face-bell-function' which faces should flash. + +--- +*** New user option 'flash-face-attributes' +This option tells 'flash-face-bell-function' and +'flash-echo-area-bell-function' which face attributes should use +for flash. + --- ** Flymake =20 diff --git a/lisp/pulse.el b/lisp/pulse.el index a2569338e11..c91521c7d5b 100644 --- a/lisp/pulse.el +++ b/lisp/pulse.el @@ -227,6 +227,48 @@ pulse-line-hook-function (when pulse-command-advice-flag (pulse-momentary-highlight-one-line (point)))) =20 +;;; Pulse faces +;; Functions for pulse any defined face. +(require 'face-remap) + +(defcustom pulse-face-duration pulse-delay + "Time (in seconds) used for pulse face duration." + :type 'number + :group 'pulse + :version "31.1") + +;; FIXME: The pulse smooth effect cannot be archieved here due +;; the face remaping will not work well for that. +(defun pulse-faces (faces &optional with-face) + "Pulse FACES with face WITH-FACE (if defined) briefly. +FACES must be a list of faces to pulse. +WITH-FACE is optional, it can be a defined face or a list of face +properties to apply." + (when-let* (((numberp pulse-face-duration)) ; Ensure time is a number + (with-face (or with-face 'pulse-highlight-face)) + (in-buffer (current-buffer)) + (cookies (mapcar (lambda (f) + (if (consp with-face) + (apply #'face-remap-add-relative f wi= th-face) + (face-remap-add-relative f with-face))) + faces))) + ;; Use run-with-timer if the duration is very long for not blocking + ;; emacs, otherwise fallback to sleep-for. + (if (> pulse-face-duration 0.1) + (run-with-timer pulse-face-duration 0 + (lambda () + ;; Remove the face remaping in the buffer + ;; where `pulse-faces' was called. + (if (buffer-live-p in-buffer) + (with-current-buffer in-buffer + (mapc #'face-remap-remove-relative cookies= ))))) + (unwind-protect + ;; redisplay for apply the face remap + (progn + (redisplay) + (sleep-for pulse-face-duration)) + (mapc #'face-remap-remove-relative cookies))))) + (provide 'pulse) =20 ;;; pulse.el ends here diff --git a/lisp/ring-bell-fns.el b/lisp/ring-bell-fns.el new file mode 100644 index 00000000000..ce947496657 --- /dev/null +++ b/lisp/ring-bell-fns.el @@ -0,0 +1,80 @@ +;;; ring-bell-fns.el --- Collection of functions for ring-bell -*- lexica= l-binding: t; -*- + +;; Copyright (C) 2025 Free Software Foundation, Inc. + +;; Author: Elijah Gabe P=C3=A9rez +;; Keywords: faces + +;; This file is part of GNU Emacs. + +;; GNU Emacs is free software: you can redistribute it and/or modify +;; it under the terms of the GNU General Public License as published by +;; the Free Software Foundation, either version 3 of the License, or +;; (at your option) any later version. + +;; GNU Emacs is distributed in the hope that it will be useful, +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with GNU Emacs. If not, see . + +;;; Commentary: + +;; Collection of functions intended to be used with `ring-bell-function'. +;; as alternatives to `visible-bell' + +;;; Code: +(require 'pulse) + +(defgroup ring-bell nil + "Customization options for ring bell." + :version "31.1" + :group 'emacs) + +(defcustom flash-face-attributes + '(:background "red" :foreground "white") + "Face attributes to use in any function from `ring-bell-fns'. +This is intended to be used in any function from `ring-bell-fns' such as +`flash-face-bell-function' and `flash-echo-area-bell-function' for make +the flash face more noticeable." + :type 'plist + :version "31.1") + +(defcustom flash-face-faces + '(mode-line-active) + "A list of faces to be flashed by `flash-face-bell-function'." + :type '(repeat face) + :version "31.1") + +;;;###autoload +(defun flash-face-bell-function () + "Ring-bell function that flashes faces. +Intended to be used in `ring-bell-function'." + (pulse-faces flash-face-faces flash-face-attributes)) + +(defun flash--echo-area-bell-1 (buf) + (with-current-buffer buf ; Get in minibuffer/echo area buffer + (pulse-faces '(default) flash-face-attributes))) + +;;;###autoload +(defun flash-echo-area-bell-function () + "Flash minibuffer or echo area as ring a bell. +Intended to be used in `ring-bell-function'." + ;; pulse-faces uses run-with-timer if `pulse-face-duration' + ;; is long, which makes the flashing in the echo area not visible. + ;; for fix this then apply the flashing to *Echo Area 0* + ;; and minibuffer buffer for the `run-with-timer', + ;; and fallback to minibuffer buffer if otherwise due + ;; performance. + (if (> pulse-face-duration 0.1) + (dolist (buf `(,(window-buffer (minibuffer-window)) + ;; get or create the echo area for flash it too. + ,(get-buffer-create" *Echo Area 0*"))) + (redisplay) + (flash--echo-area-bell-1 buf)) + (flash--echo-area-bell-1 (window-buffer (minibuffer-window))))) + +(provide 'ring-bell-fns) +;;; ring-bell-fns.el ends here --=20 2.49.0 --=-=-= Content-Type: text/plain -- - E.G via GNU Emacs and Org. --=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Sat May 10 06:01:18 2025 Received: (at 77715) by debbugs.gnu.org; 10 May 2025 10:01:18 +0000 Received: from localhost ([127.0.0.1]:44143 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uDh1C-0001ma-45 for submit@debbugs.gnu.org; Sat, 10 May 2025 06:01:18 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:36098) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1uDh19-0001mE-T1 for 77715@debbugs.gnu.org; Sat, 10 May 2025 06:01:16 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uDh13-0004Km-UG; Sat, 10 May 2025 06:01:09 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-version:References:Subject:In-Reply-To:To:From: Date; bh=FZ0t7JNnupKhYiDrMNohMGPHZGpzJYgtfP1eWg4v8NY=; b=bwTO//QqRl/syLuDGGA+ maf/onXTMsNq0J9fgriMcnWdXPNsDZG0Juqd786AD6DpixX1IDKlJVi/+2d5MdwR97OC8QiDzcdaH gVjSma/fqN0VaU2tbSkxnoH69CFZnmf76H+4u+/6GHLbkfVM22Qm54sv8Rqw7uG1CehCKsw2u3367 pa+Wb//V1bURB0bfmMFis/MdwJ+iwKXR183wJEHSjmkS890o3L0fRSENbTRAR3DXfbbUt3A30AmAb tDtqe+BFIZHODvzrW9j68XI42jOhQajb4eop0xk/reyAL/ARr+lPuQRpHXgidKxNGtBrFeWwTsiQ2 +jcS4bOJEi2qwQ==; Date: Sat, 10 May 2025 13:01:07 +0300 Message-Id: <86o6w0aios.fsf@gnu.org> From: Eli Zaretskii To: Elijah Gabe =?utf-8?Q?P=C3=A9rez?= In-Reply-To: <87msby7brp.fsf@gmail.com> (message from Elijah Gabe =?utf-8?Q?P=C3=A9rez?= on Tue, 29 Apr 2025 18:07:06 -0600) Subject: Re: bug#77715: [PATCH] Add ring-bell functions for mode line and header line. References: <87r01zlx4n.fsf@gmail.com> <874iyvetl1.fsf@gmail.com> <874iyvv1te.fsf@gmail.com> <87plhitvdl.fsf@gmail.com> <87wmbqpmb7.fsf@gmail.com> <87bjsh79sl.fsf@gmail.com> <86ldrkr01n.fsf@gnu.org> <87plgwyune.fsf@gmail.com> <861ptbr0ks.fsf@gnu.org> <87msby7brp.fsf@gmail.com> MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 77715 Cc: 77715@debbugs.gnu.org, shipmints@gmail.com, drew.adams@oracle.com X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Elijah Gabe Pérez > Cc: 77715@debbugs.gnu.org, shipmints@gmail.com, drew.adams@oracle.com > Date: Tue, 29 Apr 2025 18:07:06 -0600 Thanks, a few comments related to English grammar and wording in the documentation part of this patch: > +--- > +*** New function 'flash-face-bell-function'. > +This function flash a face briefly. ^^^^^ "flashes" > +Intended to be used in 'ring-bell-function'. ^^^^^^^^ "It is intended" > +--- > +*** New function 'flash-echo-area-bell-function'. > +This function flash current echo area briefly. > +Intended to be used in 'ring-bell-function'. Same here. > +--- > +*** New user option 'flash-face-duration'. > +This option controls flash duration for 'flash-face-bell-function' and ^^^^^^^^^^^^^^ "the flash duration" > +*** New user option 'flash-face-attributes' > +This option tells 'flash-face-bell-function' and > +'flash-echo-area-bell-function' which face attributes should use > +for flash. ^^^^^^^^^^ "should be used" > +This is intended to be used in any function from `ring-bell-fns' such as > +`flash-face-bell-function' and `flash-echo-area-bell-function' for make > +the flash face more noticeable." ^^^^^^^^ "to make" > +(defun flash-echo-area-bell-function () > + "Flash echo area as ring a bell. Suggest to rephrase: "Indicate ringing the bell by flashing the echo area." From debbugs-submit-bounces@debbugs.gnu.org Sat May 10 20:40:10 2025 Received: (at 77715) by debbugs.gnu.org; 11 May 2025 00:40:10 +0000 Received: from localhost ([127.0.0.1]:53836 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uDujh-0000oM-MM for submit@debbugs.gnu.org; Sat, 10 May 2025 20:40:10 -0400 Received: from mail-oa1-x42.google.com ([2001:4860:4864:20::42]:55311) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1uDuje-0000is-8h for 77715@debbugs.gnu.org; Sat, 10 May 2025 20:40:07 -0400 Received: by mail-oa1-x42.google.com with SMTP id 586e51a60fabf-2d9b61e02d1so1234633fac.2 for <77715@debbugs.gnu.org>; Sat, 10 May 2025 17:40:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1746924000; x=1747528800; darn=debbugs.gnu.org; h=mime-version:user-agent:message-id:date:references:in-reply-to :subject:cc:to:from:from:to:cc:subject:date:message-id:reply-to; bh=K5Cj/JwnTREF3bGlkHI+SenAUWOfuYLR9w+JFI3DddY=; b=cHi8Oh0urV2LWqzBdGd4VzuAIGrxBS38zXieCZzD2gC/e2fyg740eZPeABtkrfucrA KUvb4/BGJ8oLDz2Izt4+gy+uC7u/Tkgnv3EYnKKNrRnt90sm+KiB2Fom7rUHazPDFnAb pZfiWPQNHa4/8Z6bmKraxvo17WxQE1nzM9njX6f+RvEsQrEx1v2irGWBeB4GUveK5CHR 8Ay8KRMKbmhSYeGhuBXy4UhnLqargB24nwR1uXXyOSj0TFxYJ34L5m4PH2Ss5ouVBP7w 3dKZIwOeb46aOznVyIifcQGOL8XnNgu878KMrdlghUiocC+CNe8I2VMgXQd8fQaJqaLc 2Lng== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746924000; x=1747528800; h=mime-version:user-agent:message-id:date:references:in-reply-to :subject:cc:to:from:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=K5Cj/JwnTREF3bGlkHI+SenAUWOfuYLR9w+JFI3DddY=; b=S6Xts0+rNNUPz/++NHKTdSDlI3Tyi7V9pSqd2gfXq8evqQR9ufjAXdWYkw8M6/47cA GYS8JqltQvd+OHEc694dnt361Xi8YvaDHdTpp44OjDRSzpZUVi/PtLu5A8dHMboboTM5 lpkrujWfz1f3C0BUWBCh4FvvntJ3qV+fKm47oCUHRpwrXDJR/aN1OelEfjH+S27cp2td gwK9kaRQ9YH/a3xVtWUtuoI0jFYq2CWooL1cCq/3mZBPphg/carC22TqD9bB4FJo4Nea oR2unAPcjW3CsNvLrBHr8Oiu6AUUasO1kzV1DPbkcM8FI+wP26pYA36x/ZqQ7riWLumk IJZg== X-Gm-Message-State: AOJu0YwPh3pAea6ZPebjZUxEYTLp+ceuuGM3OmZ+lRaL9MssMqNODlrv QY3NVvT9Tm8Bfh6a9buiSdP4TB0EiaKREFkCXwlfC596y3JImKu2 X-Gm-Gg: ASbGncudqO+D9Z44qQU2oA9oTCr/sLRyjiCpw3KprSvqy/KaNISkbRWlIOMZtoDBGqF KwCO/bofcd04sbjBmz1IaaB3yEJgmHgxp1pF1MY0vpnmajA624K5NDr5hmpyQRGY9M2P/1xDZpZ J4YYRS+WXI4KQIlk2GqMjXrJ3FLmMuN8AITAcmMyYtIjiRLBfwo3vL9G7s15Nftrv49AEH9DS6E JbfZdTiZUPw5ZqsyYH4jqaByxtZIERoVKvMZ0B8vPQpqSpvQVqCf+BTsp+rli7+kei6MEjzYJuc Upm7J20fC7OOeguNBNo= X-Google-Smtp-Source: AGHT+IFY1P2EA1T79NwSbtbCTVhNJE5g41IJmqewP7iOy5kaujO6ePTLX7H4GiETfx7mLC1thrSgSg== X-Received: by 2002:a05:6870:a2c8:b0:2c1:62ba:cd7c with SMTP id 586e51a60fabf-2dba42914bcmr4714606fac.15.1746923999668; Sat, 10 May 2025 17:39:59 -0700 (PDT) Received: from fedora ([2806:10ae:e:7379::1]) by smtp.gmail.com with ESMTPSA id 586e51a60fabf-2dba06dded9sm1230024fac.14.2025.05.10.17.39.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 10 May 2025 17:39:58 -0700 (PDT) From: =?utf-8?Q?Elijah_Gabe_P=C3=A9rez?= To: Eli Zaretskii Subject: Re: bug#77715: [PATCH] Add ring-bell functions for mode line and header line. In-Reply-To: <86o6w0aios.fsf@gnu.org> References: <87r01zlx4n.fsf@gmail.com> <874iyvetl1.fsf@gmail.com> <874iyvv1te.fsf@gmail.com> <87plhitvdl.fsf@gmail.com> <87wmbqpmb7.fsf@gmail.com> <87bjsh79sl.fsf@gmail.com> <86ldrkr01n.fsf@gnu.org> <87plgwyune.fsf@gmail.com> <861ptbr0ks.fsf@gnu.org> <87msby7brp.fsf@gmail.com> <86o6w0aios.fsf@gnu.org> Date: Sat, 10 May 2025 18:39:57 -0600 Message-ID: <87jz6oj7z6.fsf@gmail.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/31.0.50 MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Spam-Score: 1.3 (+) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: Eli Zaretskii writes: >> From: Elijah Gabe Pérez >> Cc: 77715@debbugs.gnu.org, shipmints@gmail.com, drew.adams@oracle.com >> Date: Tue, 29 Apr 2025 18:07:06 -0600 > > Thanks, a few comments related to English grammar an [...] Content analysis details: (1.3 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [2001:4860:4864:20:0:0:0:42 listed in] [list.dnswl.org] 0.2 FREEMAIL_ENVFROM_END_DIGIT Envelope-from freemail username ends in digit (eg642616[at]gmail.com) 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (eg642616[at]gmail.com) -0.0 SPF_PASS SPF: sender matches SPF record 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record 1.0 FREEMAIL_REPLY From and body contain different freemails X-Debbugs-Envelope-To: 77715 Cc: 77715@debbugs.gnu.org, shipmints@gmail.com, drew.adams@oracle.com X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Eli Zaretskii writes: >> From: Elijah Gabe P=C3=A9rez >> Cc: 77715@debbugs.gnu.org, shipmints@gmail.com, drew.adams@oracle.com >> Date: Tue, 29 Apr 2025 18:07:06 -0600 > > Thanks, a few comments related to English grammar and wording in the > documentation part of this patch: > >> +--- >> +*** New function 'flash-face-bell-function'. >> +This function flash a face briefly. > ^^^^^ [...] Thanks, I've updated the patch. --=-=-= Content-Type: text/x-patch; charset=utf-8 Content-Disposition: attachment; filename=0001-New-pulse-functions-for-pulse-faces-and-new-file-for.patch Content-Transfer-Encoding: quoted-printable >From f17939edb4da709f056802a485dbbf7818d985f7 Mon Sep 17 00:00:00 2001 From: =3D?UTF-8?q?El=3DC3=3DADas=3D20Gabriel=3D20P=3DC3=3DA9rez?=3D Date: Thu, 10 Apr 2025 11:38:21 -0600 Subject: [PATCH] New pulse functions for pulse faces and new file for ring bell fns. These new pulse functions allow pulse any defined face briefly. The new file contains functions intended to be used in `ring-bell-function' as alternatives to `visible-bell' * etc/NEWS: Announce changes * lisp/pulse.el (pulse-face-duration): New user option. (pulse-flash-face): New function. * lisp/ring-bell-fns.el (flash-face-attributes) (flash-face-faces): New user options. (flash-face-bell-function, flash-echo-area-bell-function): New functions. (bug#77715) --- etc/NEWS | 25 +++++++++++++ lisp/pulse.el | 42 ++++++++++++++++++++++ lisp/ring-bell-fns.el | 81 +++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 148 insertions(+) create mode 100644 lisp/ring-bell-fns.el diff --git a/etc/NEWS b/etc/NEWS index d1b0189da0c..13f9acf8019 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -1985,6 +1985,31 @@ change their face if the current line exceeds the 'f= ill-column'. The new face 'display-fill-column-indicator-warning-face' is used to highlight the fill-column indicators. By default, this is disabled. =20 +--- +*** New function 'flash-face-bell-function'. +This function flashes a face briefly. +It is intended to be used in 'ring-bell-function'. + +--- +*** New function 'flash-echo-area-bell-function'. +This function flashes current echo area briefly. +It is intended to be used in 'ring-bell-function'. + +--- +*** New user option 'flash-face-duration'. +This option controls the flash duration for 'flash-face-bell-function' +and 'flash-echo-area-bell-function'. + +--- +*** New user option 'flash-face-faces'. +This option tells 'flash-face-bell-function' which faces should flash. + +--- +*** New user option 'flash-face-attributes' +This option tells 'flash-face-bell-function' and +'flash-echo-area-bell-function' which face attributes should be used +for flash. + --- ** Flymake =20 diff --git a/lisp/pulse.el b/lisp/pulse.el index a2569338e11..3663c6cafdc 100644 --- a/lisp/pulse.el +++ b/lisp/pulse.el @@ -227,6 +227,48 @@ pulse-line-hook-function (when pulse-command-advice-flag (pulse-momentary-highlight-one-line (point)))) =20 +;;; Pulse faces +;; Functions for pulse any defined face. +(require 'face-remap) + +(defcustom pulse-face-duration pulse-delay + "Time (in seconds) used for pulse face duration." + :type 'number + :group 'pulse + :version "31.1") + +;; FIXME: The pulse smooth effect cannot be archieved here due +;; the face remaping will not work well for that. +(defun pulse-faces (faces &optional with-face) + "Pulse FACES with face WITH-FACE (if defined) briefly. +FACES must be a list of faces to pulse. +WITH-FACE is optional, it can be a defined face or a list of face +properties to apply." + (when-let* (((numberp pulse-face-duration)) ; Ensure time is a number + (with-face (or with-face 'pulse-highlight-face)) + (in-buffer (current-buffer)) + (cookies (mapcar (lambda (f) + (if (consp with-face) + (apply #'face-remap-add-relative f wi= th-face) + (face-remap-add-relative f with-face))) + faces))) + ;; Use run-with-timer if the duration is very long for not blocking + ;; emacs, otherwise fallback to sleep-for. + (if (> pulse-face-duration 0.1) + (run-with-timer pulse-face-duration 0 + (lambda () + ;; Remove the face remaping in the buffer + ;; where `pulse-faces' was called. + (if (buffer-live-p in-buffer) + (with-current-buffer in-buffer + (mapc #'face-remap-remove-relative cookies= ))))) + (unwind-protect + (progn + ;; redisplay for apply the face remap + (redisplay) + (sleep-for pulse-face-duration)) + (mapc #'face-remap-remove-relative cookies))))) + (provide 'pulse) =20 ;;; pulse.el ends here diff --git a/lisp/ring-bell-fns.el b/lisp/ring-bell-fns.el new file mode 100644 index 00000000000..1a985225bf3 --- /dev/null +++ b/lisp/ring-bell-fns.el @@ -0,0 +1,81 @@ +;;; ring-bell-fns.el --- Collection of functions for ring-bell -*- lexica= l-binding: t; -*- + +;; Copyright (C) 2025 Free Software Foundation, Inc. + +;; Author: Elijah Gabe P=C3=A9rez +;; Keywords: faces + +;; This file is part of GNU Emacs. + +;; GNU Emacs is free software: you can redistribute it and/or modify +;; it under the terms of the GNU General Public License as published by +;; the Free Software Foundation, either version 3 of the License, or +;; (at your option) any later version. + +;; GNU Emacs is distributed in the hope that it will be useful, +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with GNU Emacs. If not, see . + +;;; Commentary: + +;; Collection of functions intended to be used with `ring-bell-function'. +;; as alternatives to `visible-bell' + +;;; Code: +(require 'pulse) + +(defgroup ring-bell nil + "Customization options for ring bell." + :version "31.1" + :group 'emacs) + +(defcustom flash-face-attributes + '(:background "red" :foreground "white") + "Face attributes to use in any function from `ring-bell-fns'. +This is intended to be used in any function from `ring-bell-fns' such as +`flash-face-bell-function' and `flash-echo-area-bell-function' to make +the flash face more noticeable." + :type 'plist + :version "31.1") + +(defcustom flash-face-faces + '(mode-line-active) + "A list of faces to be flashed by `flash-face-bell-function'." + :type '(repeat face) + :version "31.1") + +;;;###autoload +(defun flash-face-bell-function () + "Indicate ringing the bell by flashing some faces. +Intended to be used in `ring-bell-function'." + (pulse-faces flash-face-faces flash-face-attributes)) + +;;;###autoload +(defun flash-echo-area-bell-function () + "Indicate ringing the bell by flashing the echo area. +Intended to be used in `ring-bell-function'." + ;; pulse-faces uses run-with-timer if `pulse-face-duration' + ;; is long, which makes the flashing in the echo area not visible. + ;; for fix this then apply the flashing to *Echo Area 0* + ;; and minibuffer buffer for the `run-with-timer', + ;; and fallback to minibuffer buffer due performance. + (if (> pulse-face-duration 0.1) + (dolist (buf `(,(window-buffer (minibuffer-window)) + ;; get or create the echo area for flash it too. + ,(get-buffer-create" *Echo Area 0*"))) + (redisplay) + (with-current-buffer buf + (pulse-faces '(default) flash-face-attributes))) + (with-current-buffer (window-buffer (minibuffer-window)) + ;; For make the flash effect take effect in the + ;; minibuffer/echo area, insert a space only if it is empty. + (if (=3D (buffer-size) 0) + (insert ?\s)) + (pulse-faces '(default) flash-face-attributes)))) + +(provide 'ring-bell-fns) +;;; ring-bell-fns.el ends here --=20 2.49.0 --=-=-= Content-Type: text/plain -- - E.G via GNU Emacs and Org. --=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Sat May 17 04:58:54 2025 Received: (at 77715-done) by debbugs.gnu.org; 17 May 2025 08:58:54 +0000 Received: from localhost ([127.0.0.1]:45522 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uGDNd-0001lw-R6 for submit@debbugs.gnu.org; Sat, 17 May 2025 04:58:54 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:56940) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1uGDNa-0001li-Tp for 77715-done@debbugs.gnu.org; Sat, 17 May 2025 04:58:51 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uGDNU-0006Uw-S3; Sat, 17 May 2025 04:58:45 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-version:References:Subject:In-Reply-To:To:From: Date; bh=x/jEHlYN74GfVEmCo28rQiQYJyLK1tYmCc9seeUgUKw=; b=oR0x3puIwqcdN4UIGhUk n/Q+toj71toiP0hDdtH9X6eqfj3H7iOQxhkKoL/p9QUU/GwFxCR7J0oFyYbN5cELVkqQwFqu8/gme eIjQKHkcGge0E2QtqEm/blXyLlTebbFogy2ET3wdRCfhOnmrNza9zIXAGx+5l0wQTrBWcbqfBhsMU 2Vlw+xlDybllvcRwjF0MvoYP+332Fny10a3bLDhleZcMqD3CjRCuHiMSygljW5/2oL/1L20n78BA7 gmCd6JrbuAmOrQI+vhjGf+KNskHlrZE+w0btbF1hiRzU6zoxLJ6PF3Ri6Ve5MkbYDu0gR4vzF0sDv eTiXVVAxVNc4qg==; Date: Sat, 17 May 2025 11:58:41 +0300 Message-Id: <86ecwnwr3y.fsf@gnu.org> From: Eli Zaretskii To: Elijah Gabe =?utf-8?Q?P=C3=A9rez?= In-Reply-To: <87jz6oj7z6.fsf@gmail.com> (message from Elijah Gabe =?utf-8?Q?P=C3=A9rez?= on Sat, 10 May 2025 18:39:57 -0600) Subject: Re: bug#77715: [PATCH] Add ring-bell functions for mode line and header line. References: <87r01zlx4n.fsf@gmail.com> <874iyvetl1.fsf@gmail.com> <874iyvv1te.fsf@gmail.com> <87plhitvdl.fsf@gmail.com> <87wmbqpmb7.fsf@gmail.com> <87bjsh79sl.fsf@gmail.com> <86ldrkr01n.fsf@gnu.org> <87plgwyune.fsf@gmail.com> <861ptbr0ks.fsf@gnu.org> <87msby7brp.fsf@gmail.com> <86o6w0aios.fsf@gnu.org> <87jz6oj7z6.fsf@gmail.com> MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 77715-done Cc: 77715-done@debbugs.gnu.org, shipmints@gmail.com, drew.adams@oracle.com X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Elijah Gabe Pérez > Cc: 77715@debbugs.gnu.org, shipmints@gmail.com, drew.adams@oracle.com > Date: Sat, 10 May 2025 18:39:57 -0600 > > Eli Zaretskii writes: > > >> From: Elijah Gabe Pérez > >> Cc: 77715@debbugs.gnu.org, shipmints@gmail.com, drew.adams@oracle.com > >> Date: Tue, 29 Apr 2025 18:07:06 -0600 > > > > Thanks, a few comments related to English grammar and wording in the > > documentation part of this patch: > > > >> +--- > >> +*** New function 'flash-face-bell-function'. > >> +This function flash a face briefly. > > ^^^^^ > [...] > > Thanks, I've updated the patch. Thanks, now installed on the master branch, and closing the bug. From unknown Fri Jun 20 07:20:57 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Sat, 14 Jun 2025 11:24:08 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator