From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: John Wiegley Newsgroups: gmane.emacs.devel Subject: Re: Proposed new core library: alert.el Date: Fri, 06 Nov 2015 10:50:54 -0500 Message-ID: References: <87io5g2po3.fsf@lifelogs.com> <87y4ec19gm.fsf@lifelogs.com> <83a8qrsatb.fsf@gnu.org> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: ger.gmane.org 1446826252 15713 80.91.229.3 (6 Nov 2015 16:10:52 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Fri, 6 Nov 2015 16:10:52 +0000 (UTC) Cc: tzz@lifelogs.com, emacs-devel@gnu.org To: Eli Zaretskii Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Fri Nov 06 17:10:47 2015 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1ZujbC-0007uQ-E5 for ged-emacs-devel@m.gmane.org; Fri, 06 Nov 2015 17:10:46 +0100 Original-Received: from localhost ([::1]:39714 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZujbB-0005yc-WD for ged-emacs-devel@m.gmane.org; Fri, 06 Nov 2015 11:10:46 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:43851) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Zuja4-0004ka-Vh for emacs-devel@gnu.org; Fri, 06 Nov 2015 11:09:37 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Zuja4-000872-1x for emacs-devel@gnu.org; Fri, 06 Nov 2015 11:09:36 -0500 Original-Received: from mail-vk0-x22c.google.com ([2607:f8b0:400c:c05::22c]:34373) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Zuja0-00084e-F9; Fri, 06 Nov 2015 11:09:32 -0500 Original-Received: by vkgs66 with SMTP id s66so17353245vkg.1; Fri, 06 Nov 2015 08:09:32 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:in-reply-to:date:message-id:references :user-agent:mail-followup-to:mime-version:content-type; bh=tIh9CeYn+BhWDB+OuLy8IrZ4xLvjkLN/+FmhzGSeD/8=; b=rxtpDvhZzCelLtaT3SIO4NT6XPngibu3ayW8pFzX1jyj/gPHaxoi/rURwz6Y75/lkp FMps3QPY/yfvmiZoW3pNkJe0XF47ju7JL8xOsReLNgPzI/STjCvn4+J3ntftzqtDbe3I CdHviPDMVU+Gnc60F4ZGFaVpM/Qwu1z60EWewnCNuKiYW2fsqmLM9IHRQDjYAnxq76F7 PrgRep525rxdsO5ahiCtSDsuuNOCe4x9SNNLbb5tQSYDSB9W7y8OPxqdk4pjJVrYG1QJ 7GLt6zeF3LFRxJpX9Cwa268sCHWEooqceJHELbI7F7twY5oZy4mSbW0cJAThqG3dEnj9 ET6Q== X-Received: by 10.31.166.209 with SMTP id p200mr14204340vke.26.1446826172083; Fri, 06 Nov 2015 08:09:32 -0800 (PST) Original-Received: from Hermes-2.local ([216.57.92.130]) by smtp.gmail.com with ESMTPSA id u13sm625804vke.14.2015.11.06.08.09.29 (version=TLSv1 cipher=RC4-SHA bits=128/128); Fri, 06 Nov 2015 08:09:30 -0800 (PST) X-Google-Original-From: "John Wiegley" Original-Received: by Hermes-2.local (Postfix, from userid 501) id ECD1548F2AA3; Fri, 6 Nov 2015 11:09:28 -0500 (EST) In-Reply-To: <83a8qrsatb.fsf@gnu.org> (Eli Zaretskii's message of "Fri, 06 Nov 2015 12:04:48 +0200") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.5 (darwin) Mail-Followup-To: Eli Zaretskii , emacs-devel@gnu.org, tzz@lifelogs.com X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2607:f8b0:400c:c05::22c X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:193446 Archived-At: >>>>> Eli Zaretskii writes: > I think it would make sense to provide an intermediate platform-independent > layer for displaying alerts, not unlike file-notify.el that conceals the > supported back-ends behind a unified portable API. Then Emacs features could > use this facility as part of their application code, knowing that the alert > will be displayed on most or all of the supported platforms. This is actually what alert.el was written to do. The various platform- specific backends are separate from the notification engine, and could easily be moved to their own files (and perhaps should be). The default alert backend is 'message+log', which works everywhere, and adds just a touch of extra functionality on top of the current `message'. For example, you could filter on severity, choose to colorize messages from a certain component, etc. Another backend is 'fringe' (it colors the fringe, for example turning green to indicate a successful M-x compile, or red to indicate a failing one). This won't work in contexts without a fringe, but it's also not platform specific. John