From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp2 ([2001:41d0:8:6d80::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms0.migadu.com with LMTPS id QFH2In5A5mAc0gAAgWs5BA (envelope-from ) for ; Thu, 08 Jul 2021 02:02:06 +0200 Received: from aspmx1.migadu.com ([2001:41d0:8:6d80::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp2 with LMTPS id oLGoHn5A5mBxRgAAB5/wlQ (envelope-from ) for ; Thu, 08 Jul 2021 00:02:06 +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 7B49229ED0 for ; Thu, 8 Jul 2021 02:02:05 +0200 (CEST) Received: from localhost ([::1]:58454 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1m1HUR-0007pG-Sc for larch@yhetil.org; Wed, 07 Jul 2021 20:02:03 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:59404) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1m1HTM-0007ow-Ps for emacs-orgmode@gnu.org; Wed, 07 Jul 2021 20:00:56 -0400 Received: from mail-pg1-x530.google.com ([2607:f8b0:4864:20::530]:46021) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1m1HTK-0000kv-FX for emacs-orgmode@gnu.org; Wed, 07 Jul 2021 20:00:56 -0400 Received: by mail-pg1-x530.google.com with SMTP id y17so4011103pgf.12 for ; Wed, 07 Jul 2021 17:00:53 -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=FeqNBUvAL+zo6XsxoNeVxSQO8ugW+pAo5/xuKQEPnkE=; b=GVB09eR863j7kMVCrWgke1cyLZaYG4PKTpRghjfYJplRwEMWj65BWzsVfsxcbqtcpD OKNP733ZvE2f5IvHESPkZ80DDl5dow+jnS63GJRAs5kp64zIugp3WF8tSJH7lFLchNPD MUbdja1+oYA4hDVoqLG5CP7CMxwz5zSIzLwnhhMWExcHnihH7ykLoCtxCSGMYUhKQ3sR 5sWMs0JOd9zZWUuMMcUVDBnsA4HamYJ65FJdFCgyJPSSOxxzZdBJAGnQUlScjBVhU0vH BCuaE/mx/RFvzT2XZ0EY+y1CNmK/1eWmgPs6p0lh8lFI3HsEs9kC/oWWscDOeozqwmau YARw== 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=FeqNBUvAL+zo6XsxoNeVxSQO8ugW+pAo5/xuKQEPnkE=; b=qvyV51Q3Da5M4HwgWWTmBJyNJjvk7hbOXsfahTa0MoZH7l7CN9RCXE9Gz7rrdjHDJH v3TSm6bG1AtHIXbi0cSWYo5/NVvCBkYtdjCPFfRr8PZh1PnUdjpyV7rVEceWz+rNm+lV xltKH4T6yEGMhCbhuyiqVn9uQATNUcX+WSDYD5o8FjtL8jHeHcm4S88BhpHSJ3KKv/az sUHKLT8AHXl0HBAG6Rhr9MpjOAvbhOSc5N+pmpNJIX/GDR/uy5XfPECQ1vdLS4a9VNcS u6eQeCv6i4YVq/5XXNe2/Z7fEWgFD3SkG6+DzcmxtjAnUShYMJd+LE7QlYsg/brj9SDf UkXQ== X-Gm-Message-State: AOAM531TaCxaZQCN74vOZ6jEY+00aNM/rw4zN8kESjEV45DYhW3gRakt /RAkC8DGymjZTU7+9M6Bsg== X-Google-Smtp-Source: ABdhPJxjQOzMdT4aE7iD5IvcXFmGLMwqobJTAIz2/astBFVvNQ9C3n81yu0PomClFX7z91MVp5E5Bg== X-Received: by 2002:a63:1601:: with SMTP id w1mr28414807pgl.116.1625702452116; Wed, 07 Jul 2021 17:00:52 -0700 (PDT) Received: from smtpclient.apple ([150.109.103.155]) by smtp.gmail.com with ESMTPSA id c14sm352333pgv.86.2021.07.07.17.00.50 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 07 Jul 2021 17:00:51 -0700 (PDT) From: stardiviner Message-Id: <10EF755E-7DA3-454D-88D7-80C0A8D0E566@gmail.com> Content-Type: multipart/alternative; boundary="Apple-Mail=_5C5168C3-FF18-4337-B338-44988A08520E" 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: Thu, 8 Jul 2021 08:00:47 +0800 In-Reply-To: <89A2389D-0283-4C12-B80D-831730ABB2A2@chopps.org> To: Christian Hopps References: <5B57CD8B-AA91-4C63-A449-A07364083AEE@gmail.com> <87im1ol2lb.fsf@gmail.com> <7318E1D0-613A-4301-8097-779D3FEF1105@gmail.com> <1CCC83B2-3EFB-4221-9543-03A7BA935C70@gmail.com> <89A2389D-0283-4C12-B80D-831730ABB2A2@chopps.org> X-Mailer: Apple Mail (2.3654.100.0.2.22) Received-SPF: pass client-ip=2607:f8b0:4864:20::530; envelope-from=numbchild@gmail.com; helo=mail-pg1-x530.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=1625702526; 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=FeqNBUvAL+zo6XsxoNeVxSQO8ugW+pAo5/xuKQEPnkE=; b=eyiIYVvERNmSga4+05v8YTHjju5YcRGWCPqORJt6Iu06eAc0Jlsa0atZC5gSvFrB8/ZgQv J6tIZB1Wk/q+0BbpYCOq3Z841gMxEXZ3DgMp45axkLMVf5lXgvPDoH7CxQgiMigRF1sfUx KcQoAzXISAU5PiXrVrQOOkkIR+3MWk6wa2gnK9l6F3sFLkP0/+tXgd9a+lCK0XogjsFeMD uDgNv2nM+fAD5QBGtWLrHjGWBp16O7EuEuXkU9hmLj/Jgym1KTWH0yAemn8/O03LGpLdwe 8Q4ek+L7hRCRdfUtH6MlgF20pIWmhNhX+8VV4jpj2kferX5R+jhLJCc1Qy7h3Q== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1625702526; a=rsa-sha256; cv=none; b=QePuZ6Hc1wLpFYNcFQCMw39NeHVtjekk5TSY1YQh9lcBPr2p5ewkqmf8ABpbsMepoPQVmu OE1n8n5FAMSUuaoFbfT+mChAZOpxsAjd0aEo5EzkqSRDaYgh6VJm7MgUM8uZFZ+437QEvp 8Jeh9XSEqXegW+k3FUXjMke7tvHC0v0nRYoPsmm1ZfX3IU4aQcF81L2m20OJ2sauq0CD7n EV2kbKkRK8vgM+dDpKD+1RCbuOHP9t3B3b5qI6kWmADkDeQDWeYaVtdFyKgphZATN+hCzR qfTuqXP8giSTIJ1Pmmxh8MFYYKd1FrD3c6UIp2gqEF5+5rYaD4mRUVR64h2iyg== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=gmail.com header.s=20161025 header.b=GVB09eR8; 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=GVB09eR8; 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: 7B49229ED0 X-Spam-Score: -2.61 X-Migadu-Scanner: scn1.migadu.com X-TUID: fTbR6ywLkFHi --Apple-Mail=_5C5168C3-FF18-4337-B338-44988A08520E Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 Hi Chris, thanks for your work. I have a question, will your patch of = notification code be merged to upstream? If yes, I think my patch will be not necessary. If no, then I think add = a my workaround for macOS is considerable. > On Jul 7, 2021, at 2:23 AM, Christian Hopps wrote: >=20 > It supports imagemagick (specify =E2=80=94with-imagemagick), and it = includes svg by default, I simply forked the railwaycat version and = added the native notification code. >=20 > Thanks, > Chris. >=20 >> On Jul 6, 2021, at 11:30 AM, stardiviner > wrote: >>=20 >> 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. >>=20 >>> 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 >>=20 >=20 --Apple-Mail=_5C5168C3-FF18-4337-B338-44988A08520E Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset=utf-8 Hi = Chris, thanks for your work. I have a question, will your patch of = notification code be merged to upstream?
If yes, I think = my patch will be not necessary. If no, then I think add a my workaround = for macOS is considerable.

On Jul 7, 2021, at 2:23 AM, = Christian Hopps <chopps@chopps.org> wrote:

It supports = imagemagick (specify =E2=80=94with-imagemagick), and it includes svg by = default, I simply forked the railwaycat version and added the native = notification code.

Thanks,
Chris.

On Jul 6, 2021, at 11:30 AM, stardiviner <numbchild@gmail.com>= wrote:

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=_5C5168C3-FF18-4337-B338-44988A08520E--