From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp1 ([2001:41d0:8:6d80::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms0.migadu.com with LMTPS id QBYzF1p35GAEJQAAgWs5BA (envelope-from ) for ; Tue, 06 Jul 2021 17:31:38 +0200 Received: from aspmx1.migadu.com ([2001:41d0:8:6d80::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp1 with LMTPS id 8GW1Elp35GCNcgAAbx9fmQ (envelope-from ) for ; Tue, 06 Jul 2021 15:31:38 +0000 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 988D72DD2F for ; Tue, 6 Jul 2021 17:31:37 +0200 (CEST) Received: from localhost ([::1]:40262 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1m0n2t-0007FN-JJ for larch@yhetil.org; Tue, 06 Jul 2021 11:31:35 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:41908) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1m0n1y-0006A9-VV for emacs-orgmode@gnu.org; Tue, 06 Jul 2021 11:30:38 -0400 Received: from mail-pl1-x62f.google.com ([2607:f8b0:4864:20::62f]:47007) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1m0n1w-0000Pc-Ax for emacs-orgmode@gnu.org; Tue, 06 Jul 2021 11:30:38 -0400 Received: by mail-pl1-x62f.google.com with SMTP id c15so12203100pls.13 for ; Tue, 06 Jul 2021 08:30:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:message-id:mime-version:subject:date:in-reply-to:cc:to :references; bh=OOKbWjIkbjXnVi5o5XBDOiGOLSnXYBgJqieSsmJjhVg=; b=WNu/+N0Taf/mDFmM7YRYw1pY8J5m+R2++8tyfyI775QgICBADVtBtRHdv/YmRZ/+sj jQMz4KwpoRc/Bfu0Gi78r+rkPXYDha6fB6pSHnpxsktuTRSwfMv62fGTC2gRq9L0a3Mf 1X0hbtv4DAGZQFGa6k00nHFi7YwDubvlvswXDXJZtn8FkrOv8Wbfj1HFIE/aTNnIuLAJ Jw7Pyi8Dnyg/uze+S629foj5W9uilqXc4ikb8jy251CuAmdzsMhH6l3GmNFsn/Pck3c/ CPvDFc8tB1Yjovw75lFos41Mzm3okbhsN4pb0dBsDOcEOTIodSMr5JroGjT6+l85dAhV kWLg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:message-id:mime-version:subject:date :in-reply-to:cc:to:references; bh=OOKbWjIkbjXnVi5o5XBDOiGOLSnXYBgJqieSsmJjhVg=; b=guQFw2/q8uln9DEFipPi8hlBFbLyOioB1n76hOhNACeihoYnTARZMOAwOPCQ1eXnTd SdvsK57XPB6nRVNjWJqTIoThi/T+dRMhLQ3cetZ2IRlVLp1sWWD6uOZZDwfTl9UibaXg R8wXx6y9bgVQQPU24kZPdfvQKPEikTZUXGI7g6sqUNXHbmHugWEPUKW9dVDJr9By9VH3 qJof73VVDgZYTKEIyBya3SMHJin+5xgtCqOSZGxiVbfIw96XdMrV16lerY+PZpwYvnRT DqDC+priM/4Ihrrsw7WzZYLek95YT+APw1m3brTwmJEr4izm8qa/bFt4HAOgpcDwKiDC qPDQ== X-Gm-Message-State: AOAM532E468b0EVysUL/dX8mN95oNwjsjhPNmYYU/H3LJIFZVyD6R+iW fs9njjUhPECQTS/ncvrR+A== X-Google-Smtp-Source: ABdhPJzi0SdxsqzX2dc3WBX4kp7H3YSlupomRHjLUE5NVEl+KE/iQ5S8Sm8Bp9h/VauObBox9IhlpA== X-Received: by 2002:a17:902:e88a:b029:129:7624:1fa5 with SMTP id w10-20020a170902e88ab029012976241fa5mr13647124plg.2.1625585432517; Tue, 06 Jul 2021 08:30:32 -0700 (PDT) Received: from smtpclient.apple ([150.109.103.155]) by smtp.gmail.com with ESMTPSA id b10sm16719462pfi.122.2021.07.06.08.30.30 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 06 Jul 2021 08:30:32 -0700 (PDT) From: stardiviner Message-Id: <1CCC83B2-3EFB-4221-9543-03A7BA935C70@gmail.com> Content-Type: multipart/alternative; boundary="Apple-Mail=_889F681B-1FFA-4125-8073-26544D9D12F5" Mime-Version: 1.0 (Mac OS X Mail 14.0 \(3654.100.0.2.22\)) Subject: Re: [new patch] [PATCH] make org-notify support for macOS desktop notification Date: Tue, 6 Jul 2021 23:30:28 +0800 In-Reply-To: To: Christian Hopps References: <5B57CD8B-AA91-4C63-A449-A07364083AEE@gmail.com> <87im1ol2lb.fsf@gmail.com> <7318E1D0-613A-4301-8097-779D3FEF1105@gmail.com> X-Mailer: Apple Mail (2.3654.100.0.2.22) Received-SPF: pass client-ip=2607:f8b0:4864:20::62f; envelope-from=numbchild@gmail.com; helo=mail-pl1-x62f.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-BeenThere: emacs-orgmode@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Tim Cross , Org-mode Errors-To: emacs-orgmode-bounces+larch=yhetil.org@gnu.org Sender: "Emacs-orgmode" X-Migadu-Flow: FLOW_IN ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1625585498; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:in-reply-to:in-reply-to: references:references:list-id:list-help:list-unsubscribe: list-subscribe:list-post:dkim-signature; bh=OOKbWjIkbjXnVi5o5XBDOiGOLSnXYBgJqieSsmJjhVg=; b=G1cQDI3HXP9pcw8kTrSKCd5rRhLjdKFDCHixIjnnwKg+45pPiZaf2DaS4uAmKELqzAiYeo /dC0+EmjWZyJvsCGCEi2/ryRk1IFjRoLyt7Z7xqbXor58f8/89MYgTn1ezjmCnK+evzIWW sTDmEX1BZ2fHtBk4YoPmEa+ryG5JzkInAERdsQodBH3YPpzK+/Q0zj1TB5TAHZ9Moe+K1k 3cdqy0VktbzfeYERtNEiyvpdnPpzP+mRHkqOpaSzSsLTuDGTjL9qK5QV8nQAx4/Ubtd4yd +UKfZkjv7qK+b3whk91G60Sc2NrBqUHnyynvs5xVKZrw/tAfJMxNY4qLEevK/g== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1625585498; a=rsa-sha256; cv=none; b=ZmzPrP6uYErN9olClzTbTUSGhvCTIwlCQR8+ZeGCDQn5kHbEo3mlEQ1GkoCn9vevG3fwWP 3ELJFb/1+eTxfxwiTaHEQEpAEfMAv561/gGytNrTDelf0iMzHH/GeRlRL8lixlb18W+1os JV0+mgTtQlV4FYi5LZ3kbdw6w1f0ucU0g2ASZCwVdkCa2LZZotb6+9BGGotwFML2ozwpBd Z0Y2TxtX90e45GPlKeWD2KUE2xL5F+ogMC/isY6sOWZblgWgpyahO3YAXnMd7vH4lc0V/c e/FrKJmkc5321rXKXfclhbCtz6mrcHDzOPq/KLVsCF2htp4MmBmssH0BZHWsNA== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=gmail.com header.s=20161025 header.b="WNu/+N0T"; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (aspmx1.migadu.com: domain of emacs-orgmode-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=emacs-orgmode-bounces@gnu.org X-Migadu-Spam-Score: -2.61 Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=gmail.com header.s=20161025 header.b="WNu/+N0T"; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (aspmx1.migadu.com: domain of emacs-orgmode-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=emacs-orgmode-bounces@gnu.org X-Migadu-Queue-Id: 988D72DD2F X-Spam-Score: -2.61 X-Migadu-Scanner: scn0.migadu.com X-TUID: 5OSDTLBWUrA/ --Apple-Mail=_889F681B-1FFA-4125-8073-26544D9D12F5 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=us-ascii Thanks for your suggestion. Does your Emacs build supports imagemagick = image view and svg feature support? Because company-mode now have = built-in icons support. This is the reason that I switch from = https://emacsformacosx.com/ to Homebrew = cask Emacs version. > On Jul 6, 2021, at 12:21 PM, Christian Hopps = wrote: >=20 > Hi, >=20 > Please consider: I added full native notification support to the = popular OS X Emacs build available in homebrew. This supports rewrites = notifications-notify defun to use the native code rather than dbus, and = so everything "Just Works". >=20 > Info can be found here: >=20 > https://github.com/choppsv1/homebrew-emacsmacport >=20 > Thanks, > Chris. >=20 > stardiviner writes: >=20 >> Here is the new patch which invokes notifications though Emacs = built-in API `ns-do-applescript`. >>=20 >> [2. text/x-patch; = 0001-org-clock.el-Make-org-notify-support-macOS-notificat.patch]... >>=20 >>=20 >>=20 >>> On Jul 6, 2021, at 8:06 AM, Tim Cross wrote: >>>=20 >>>=20 >>> stardiviner writes: >>>=20 >>>>> On Jul 5, 2021, at 7:55 PM, Maxim Nikulin = wrote: >>>>>=20 >>>>> On 05/07/2021 10:50, stardiviner wrote: >>>>>> I updated the patch, I found the package `osx-lib` contains = solution. >>>>>> So I removed the directly osascript process invocation. >>>>>=20 >>>>> I have no objections any more. On the other hand I have no access = to macOS, so >>>>> I have not tested this patch. Feel free to ignore comments from = this message, >>>>> they are mostly matter of taste. >>>>>=20 >>>>> I expect that a simple script "notify-send" may allow to avoid = modification of >>>>> code. Something like (untested, unsure concerning "quoted form of = ...") >>>>>=20 >>>>> #!/usr/bin/env osascript >>>>> display notification (item 1 of argv) >>>>>=20 >>>>> However if osx-lib in is installed automatically, it may be more = convenient. >>>>> Unsure if some of currently supported linux distributions have = notify-send >>>>> that can not handle title as the first argument. >>>>>=20 >>>>>> - ((fboundp 'notifications-notify) >>>>>> + ((and (eq system-type 'gnu/linux) (fboundp = 'notifications-notify)) >>>>>=20 >>>>> Does it mean that `notifications-notify' is bound but it does not = work on >>>>> macOS? If so, maybe it is better to put new clause for 'darwin = above and to >>>>> drop 'gnu/linux here. =46rom my point of view, it is preferable to = avoid >>>>> additional requirement for `notifications-notify'. If someone will = create a >>>>> feature request for `notifications-notify' for macOS, it will just = work >>>>> without installing of additional packages as soon as such feature = is >>>>> implemented. >>>>>=20 >>>>>=20 >>>> I indeed tried `notifications-notify`. And it does not work, = reports error that >>>> it needs dbus. PS. I used the Homebrew formulae version Emacs. >>>> I considered the order of conditions. Because notifications and = notify-send etc >>>> requires dbus. So I guess only Linux supports that. So add = system-type detection >>>> will be better. WDYT? >>>=20 >>> I think you can add dbus support to macOS using homebrew and that = might >>> resolve the issue. At the very least, this will need to be = investigated >>> because otherwise, adding this patch may break configurations for = users >>> who have added dbus support via homebrew and have notifications = working, >>> but have not installed the osx-lib package. >>>=20 >>> My only small concern with your proposed changes is that it will add = a >>> dependency on a new package osx-lib, which I think is only available = in >>> melpa. At the very least, this will need to be documented somewhere. >>> However, I'm not sure what the situation is wrt adding code which >>> depends on an external package which is not available in either elpa = or >>> nongnuELPA? As org mode is a part of GNU Emacs, I suspect that any = code >>> which 'encourages' the use of melpa packages will not be acceptable. >>>=20 >>> -- >>> Tim Cross >>>=20 >=20 --Apple-Mail=_889F681B-1FFA-4125-8073-26544D9D12F5 Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset=us-ascii Thanks for your suggestion. Does your Emacs build supports = imagemagick image view and svg feature support? Because company-mode now = have built-in icons support. This is the reason that I switch = from https://emacsformacosx.com/ to Homebrew cask Emacs = version.

On Jul 6, 2021, at 12:21 PM, Christian Hopps = <chopps@chopps.org> wrote:

Hi,
Please consider: I added full native = notification support to the popular OS X Emacs build available in = homebrew. This supports rewrites notifications-notify defun to use the = native code rather than dbus, and so everything "Just Works".

Info can be found here:

https://github.com/choppsv1/homebrew-emacsmacport

Thanks,
Chris.

stardiviner <numbchild@gmail.com> writes:

Here is the new patch = which invokes notifications though Emacs built-in API = `ns-do-applescript`.

[2. text/x-patch; = 0001-org-clock.el-Make-org-notify-support-macOS-notificat.patch]...



On Jul 6, 2021, at 8:06 AM, Tim Cross <theophilusx@gmail.com> wrote:


stardiviner <numbchild@gmail.com>= writes:

On Jul 5, 2021, at 7:55 = PM, Maxim Nikulin <manikulin@gmail.com> wrote:

On 05/07/2021 10:50, stardiviner wrote:
I updated the patch, I = found the package `osx-lib` contains solution.
So I = removed the directly osascript process invocation.

I have no objections any more. On = the other hand I have no access to macOS, so
I have not = tested this patch. Feel free to ignore comments from this message,
they are mostly matter of taste.

I= expect that a simple script "notify-send" may allow to avoid = modification of
code. Something like (untested, unsure = concerning "quoted form of ...")

#!/usr/bin/env osascript
display notification = (item 1 of argv)

However if osx-lib in is = installed automatically, it may be more convenient.
Unsure = if some of currently supported linux distributions have notify-send
that can not handle title as the first argument.

- ((fboundp = 'notifications-notify)
+ ((and (eq system-type 'gnu/linux) = (fboundp 'notifications-notify))

Does it mean that `notifications-notify' is bound but it does = not work on
macOS? If so, maybe it is better to put new = clause for 'darwin above and to
drop 'gnu/linux here. =46rom= my point of view, it is preferable to avoid
additional = requirement for `notifications-notify'. If someone will create a
feature request for `notifications-notify' for macOS, it will = just work
without installing of additional packages as = soon as such feature is
implemented.


I indeed tried = `notifications-notify`. And it does not work, reports error that
it needs dbus. PS. I used the Homebrew formulae version = Emacs.
I considered the order of conditions. Because = notifications and notify-send etc
requires dbus. So I = guess only Linux supports that. So add system-type detection
will be better. WDYT?

I think you can add dbus support to macOS using homebrew and = that might
resolve the issue. At the very least, this will = need to be investigated
because otherwise, adding this = patch may break configurations for users
who have added = dbus support via homebrew and have notifications working,
but have not installed the osx-lib package.

My only small concern with your proposed changes is that it = will add a
dependency on a new package osx-lib, which I = think is only available in
melpa. At the very least, this = will need to be documented somewhere.
However, I'm not = sure what the situation is wrt adding code which
depends = on an external package which is not available in either elpa or
nongnuELPA? As org mode is a part of GNU Emacs, I suspect = that any code
which 'encourages' the use of melpa packages = will not be acceptable.

--
Tim = Cross



= --Apple-Mail=_889F681B-1FFA-4125-8073-26544D9D12F5--