GNU logs - #63620, boring messages


Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#63620: 30.0.50; [Feature Request] run hooks on sleep/wake
Resent-From: Andrew Cohen <acohen@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Sat, 20 May 2023 23:25:02 +0000
Resent-Message-ID: <handler.63620.B.168462508612787 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: report 63620
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: 63620 <at> debbugs.gnu.org
X-Debbugs-Original-To: bug-gnu-emacs@HIDDEN
Received: via spool by submit <at> debbugs.gnu.org id=B.168462508612787
          (code B ref -1); Sat, 20 May 2023 23:25:02 +0000
Received: (at submit) by debbugs.gnu.org; 20 May 2023 23:24:46 +0000
Received: from localhost ([127.0.0.1]:59603 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1q0VwL-0003KA-Hn
	for submit <at> debbugs.gnu.org; Sat, 20 May 2023 19:24:45 -0400
Received: from lists.gnu.org ([209.51.188.17]:57678)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <acohen@HIDDEN>) id 1q0VwJ-0003K3-Ly
 for submit <at> debbugs.gnu.org; Sat, 20 May 2023 19:24:44 -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 <acohen@HIDDEN>) id 1q0VwJ-00017Z-Fb
 for bug-gnu-emacs@HIDDEN; Sat, 20 May 2023 19:24:43 -0400
Received: from mail-tycjpn01on2072a.outbound.protection.outlook.com
 ([2a01:111:f403:7010::72a]
 helo=JPN01-TYC-obe.outbound.protection.outlook.com)
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <acohen@HIDDEN>) id 1q0VwG-00049d-TQ
 for bug-gnu-emacs@HIDDEN; Sat, 20 May 2023 19:24:43 -0400
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=HX38iqiWiqFuKIloy5/IXWANRw7zbtlsUqqLCMtthXbI/uM/y+yPOsF5mglOQNzDDMPkYENV+6gePVflFK5mV4Ybh1prb2akOPtaSjX9veZgbKTGAsqGFCe5EUmI1Enl4ABlrx9F8Pavt8DUEIMa+VafJ3SPaUwF9wOCKBgcMR1MnlFWazcDH95CzkzH3hV3HbwGzR5y7m2Rq5SaRF4gZxqrJlVPu6TFO38XTbvqcezyYqnIkwhiUZFLSokClKCQH9IFFDsUKNQckLHo2m4tepICZotUHRj4c87mp+nuYqFH76lzVzT2rcuqJUBF4dT1/W1giTuqX8BT0HXwVpQweA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; 
 s=arcselector9901;
 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=R/vMerENyhLB6MqkxKTPylMxzGx5V+YRFPXpXZosGoA=;
 b=adK6UwboLUaGVoeM8mYLft3RV0CiUZmHHHs697qqQg/UXyLH2VzBQ2X06nX23aU+UiDz3OeHCdd4UWjWkkVAVBFWCLElCcuMg4tQIaovkzKb6XPgX+BWZcdZish3DNkgkJE6kX5vfB4Yb5Tb9UY1iqapHVQy4qz46Hsci8o5yLkvxN8HOiSBEb+ZZ+OE7L+DG7SZVbBzf7/PuakjuxB80P4tHB3bt+IPLkek9NTvdrgBKcdokTDaOgbpjvLJKf/i5puuavxyFL7cpXPAl/uCBIpLhB71mvOkCLa9qegkJtmQkP+NHXiMK1GWWWQynAPx7sgig05XHRI1taYlw/AvCg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=ust.hk; dmarc=pass action=none header.from=ust.hk; dkim=pass
 header.d=ust.hk; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ust.hk; s=selector2;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=R/vMerENyhLB6MqkxKTPylMxzGx5V+YRFPXpXZosGoA=;
 b=bhYFJqm0V/5OOpDLJMAHbw+/4Z9+qsKRUI6hMbN34qsxSbnrUePlzsBMOxqRC1WwADcwiT9qjbq1Ulo1D1xSbNMvrtWuWSDcnjXOoiR+KCD0YEZMlMyrqnXBQtkNitpnpJqTEfBkeC9b0orA0iIlU7y1KNxfhpKDLnThI0WuA5NgMp3MeyZbyytflW7M56eeHz78yoKLe+fh7GwQXFdtIcnsJGmYMj8GNqQc6LRWfV8uP9zzN4ri4mHIRg4YUcIRr13nPk4Hcyw7CdCW/HIeVQMal/X0KGN9Z8CgQ8hv0i038EPPtyFbcKiG7JhOS5gGqbpICt49Sbtd7ewAaIWGEw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=ust.hk;
Received: from OS3P286MB1877.JPNP286.PROD.OUTLOOK.COM (2603:1096:604:1bf::11)
 by TYWP286MB1959.JPNP286.PROD.OUTLOOK.COM (2603:1096:400:164::8) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6411.27; Sat, 20 May
 2023 23:19:32 +0000
Received: from OS3P286MB1877.JPNP286.PROD.OUTLOOK.COM
 ([fe80::c1ac:edec:7164:36ec]) by OS3P286MB1877.JPNP286.PROD.OUTLOOK.COM
 ([fe80::c1ac:edec:7164:36ec%7]) with mapi id 15.20.6411.025; Sat, 20 May 2023
 23:19:31 +0000
From: Andrew Cohen <acohen@HIDDEN>
Date: Sun, 21 May 2023 07:19:27 +0800
Message-ID: <87fs7qmw00.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
Content-Type: text/plain
X-ClientProxiedBy: SGAP274CA0022.SGPP274.PROD.OUTLOOK.COM (2603:1096:4:b6::34)
 To OS3P286MB1877.JPNP286.PROD.OUTLOOK.COM
 (2603:1096:604:1bf::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: OS3P286MB1877:EE_|TYWP286MB1959:EE_
X-MS-Office365-Filtering-Correlation-Id: 787eba8d-a9b5-47ad-ac5c-08db5988aa95
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: 8cPUqa/znd24Sk+T/VAVRciHMy3tNClwNkgRdgt+o6HB8102+ldQWCfPlkZWo8/7AEmib7Tfq5hwDqOGETwU/VMGApPi4xz03/6Tkd+PMANuwd+Yq269v8FGQpgBxLW4iaoUl7Si+kgyszMbyvj/DiXZpcy8sOKqB3zIzkUr/h5alPtokcUu2LFaV+7oLu36H37+dCQEieBrNb/BXAjFdI4jVSMxu3W0yurajkbAEr3Q39FE5mU5DW7qOTfsBpMG+yyYHg2j8wzPyvP84jlL2SNA5ak71xa2k9zLEf/sfIemG4a2DwJE2yfxdbhybsslOOoQXIfWVB+mqvQjTbp2wZIVK1DOSm4CdueXPCfnrSm7yZhWSZaN1HkQ0/xVeMwEr15JhPWDeQiwHFyzSVgrnlUikiixhf8vukm09Pl8FebNy56uaHTBFQ+sw7PEAjk7WaIBkcB0sJJNmoBJkix54J3B+jUJADSijE6b3nxeD7aoFAC6/qYCtHi23bWULLDcYCJMdbVLuxabK9yoEOOml69AAWTCVLqPNLkFStkFy97gZFqkJ84VjFpYpzrreaEW
X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:;
 IPV:NLI; SFV:NSPM; H:OS3P286MB1877.JPNP286.PROD.OUTLOOK.COM; PTR:; CAT:NONE;
 SFS:(13230028)(4636009)(396003)(376002)(366004)(346002)(39860400002)(136003)(451199021)(2906002)(41320700001)(38100700002)(2616005)(6506007)(83380400001)(26005)(6512007)(186003)(8676002)(8936002)(36756003)(86362001)(316002)(786003)(41300700001)(5660300002)(6916009)(6486002)(6666004)(66476007)(66556008)(66946007)(478600001);
 DIR:OUT; SFP:1102; 
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: 9rq8D0krlsHKM1nDvg3Vuw0QJS5/XvyTFjK55TIcVBvl84zpT5otFlSV/Zfhhq/g9+GkL6Mh37eGS8b/PCEc+Mo8G8L34RsxOaiZACKJHskTFhy9ZSCTmH3HrGoSNQFG+/IbexkgGmv3YvM98LvYVyhhoSuxKiWFi2WaLNKufFyFHkVvvRl0J3fcKVb78VRAcHc2zRXErQxON5tD+LGkr41RIfqP0gyx8LkwFhgX4VNJh4tGWoYYn/ftheSHkx/1qj4tGTC10jnFmve6UgEVxs9K10mElkb/MMNlcz/wCs5cqlZgmCb+6oICtzEc8FcUU/PzBwDJ7cJLqbVx9tCQsWER6sTqAAIC/sGAIGK95wRPQc6AxgeduRZKZOp7X8y9lDAF10fY54Hc+juFQ9+RR8uhSdYMsR5s7UmRhXnTCH7m6mzKNPeHSqpDZvd2eP7TZVSd9oV6roBg+psGECv1hQ3/pwOvMxAktfZxBS0TYAafHp/QP4DssivcAKJjP4FL/aluB9kNlsaJ+jpGZu0gE6dAcA8XV9J0L95bUUFBP23TfBTgF8fDgxoI+BsGqWeiyJ6VVpzMfZ/cukE/jTKrK5uVJKX0Kw27cXDlVfw9qqvaZj0UpOkBicZc2kN9O4jn9paq04ClmclSgsE2ZHWG5Ta74wxuZRjfijUEjZOg9wrRYr04tgz+7KswWHOmRnKXjwFRrNcm1h5j28UnY0iRxENrNdLHQHTW2RehsKnU4/CunKo1JvjlJD8Xr2ms9O1dQ4qbSVfj7KgHxEQlYJDL5V1Eq+lIYmFzM1B6DUkGgvA49q5Xa5UV3XYNvNhXLqvEj6NJ7QjkALPWvTKzBNTwmUbw+c573qOcn2gEgFGufHc7krQoFF5eb7g7Tqjt0/deNOoVugxtcAcO0w0ih1HusRKTOk6MDXLiV0C5s3+ou/wK9/dypd8fYTj9Xq8tu181FjDBq9WAHPONnv1zhf6aioAzgMmKfooaglFk8lBa5pA+16ut3EuSZ+kGlp5OyVfotatlWTVWV+WQeaCoyZQ5TzuE+jkMorSwdlh5+ycu45z6dsgstCyV/NLVurvdMzacArz77gkc9hmU+rJbCRWwYS4xOXAzUIFGIofOct3PbflQ4VDUGprZPAvilictnf3XdxG9fcrnP9VNxdATq5g/KjYjUMtNL4Ixhygiki/crbQRJV6Eom6ESUbNFmZRQ0BjcY8Ikg5RFjyTIaeGkIi+q0IhH9Jp7dnP/KkVEhZRP73oHaWDnvTInSDcd8Guz1q3+ftjMmJuBuSQzjEulu6FyG78EzUF2F5qDrtYR3/MH707MUseTUOq0uVIuRRGdUPswtPMB61+SfxUOqWFTNIrugADl2QlBCe0zvWRuTeOY11MJeoSDdXtx0ZfUIkTjy5PQmpYjodhOf3SU1MT9oeq/NR5cOpsrdT7j5ZV07HKS1aAvFM02AV+E9Gq1sDoD9OXpYlbsTACEHgRAVetvKSx8LWP/DuQx3N6BeKQg0dOaUsEvYjbe2UlANbrwmhoQggPrKxT4mFuvlHeA5WRQK/nqEkDNs2KG3bXbBZNRQqeaqZPoN7aVIUUOGVk0qevInju
X-OriginatorOrg: ust.hk
X-MS-Exchange-CrossTenant-Network-Message-Id: 787eba8d-a9b5-47ad-ac5c-08db5988aa95
X-MS-Exchange-CrossTenant-AuthSource: OS3P286MB1877.JPNP286.PROD.OUTLOOK.COM
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 May 2023 23:19:31.6972 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: c917f3e2-9322-4926-9bb3-daca730413ca
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 41aUxSe+hIcG0QJpbO9vunWkZqHRm366anUzks4wbZgG8z2p2F5IZrbBZCy1Sy7n
X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYWP286MB1959
Received-SPF: pass client-ip=2a01:111:f403:7010::72a;
 envelope-from=acohen@HIDDEN;
 helo=JPN01-TYC-obe.outbound.protection.outlook.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, SPF_HELO_PASS=-0.001,
 SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no
X-Spam_action: no action
X-Spam-Score: -1.3 (-)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -2.3 (--)

I am playing around with various network things (mostly vpn related) and
need Emacs to take certain actions when my laptop sleeps and wakes. This
is easy to do using the existing dbus support (the relevant code is
below, which runs hooks on sleeping and waking) The question is whether
this is useful enough to add to Emacs, and if so the best place to put
it.

Not too long ago, Eric Abrahamsen added gnus-dbus.el which is similar,
although for a single purpose: to close gnus server network connections
on sleep. This has a single entry point for the user: set
'gnus-dbus-close-on-sleep to t to enable the feature. 


Options:
1. Do nothing (this isn't useful enough to change anything, and I can just
keep using my own code).

2. Add a small package dbus-sleep.el. I would also remove gnus-dbus.el
but leave the variable 'gnus-dbus-close-on-sleep and use it to control
the installation of appropriate gnus functions to the new hooks.

3. 2. Add the new code to the existing dbus.el. I would also remove
gnus-dbus.el but leave the variable 'gnus-dbus-close-on-sleep and use it
to control the installation of appropriate functions to the new hooks.

I mostly favor adding it to dbus.el. The argument against: dbus.el is
focused on providing language bindings for the D-Bus API rather than a
user-feature. The removal of gnus-dbus.el shouldn't cause any problem
since I would maintain the same functionality enabled by the same
variable, so no user-visible change. 

Advice?


;;; Code:

(require 'dbus)

(defcustom dbus-sleep-sleep-hook nil
  "Hook to run on sleep."
  :group 'dbus-sleep
  :type 'hook)

(defcustom dbus-sleep-wake-hook nil
  "Hook to run on wake."
  :group 'dbus-sleep
  :type 'hook)

(defvar dbus-sleep-registration-object nil
  "Object returned from `dbus-register-signal'.
This is used to unregister the signal.")

;;;###autoload
(defun dbus-sleep-enable ()
  "Use `dbus-register-signal' to close servers on sleep."
  (interactive)
  ;; Don't enable if it's already enabled.
  (when (and (featurep 'dbusbind) (not dbus-sleep-registration-object))
    (setq dbus-sleep-registration-object
          (dbus-register-signal :system
                                "org.freedesktop.login1"
                                "/org/freedesktop/login1"
                                "org.freedesktop.login1.Manager"
                                "PrepareForSleep"
                                #'dbus-sleep-handler))))

(defun dbus-sleep-disable ()
  "Unregister sleep signal."
  (interactive)
  (condition-case nil
      (dbus-unregister-object
       dbus-sleep-registration-object)
    (setq dbus-sleep-registration-object nil)
    (wrong-type-argument nil)))

(defun dbus-sleep-handler (sleep-wake)
  "Handler to execute sleep and wake functions.
SLEEP-WAKE is t on sleeping and nil on waking."
  (ignore-errors
    (if sleep-wake
        (run-hooks 'dbus-sleep-sleep-hook)
      (run-hooks 'dbus-sleep-wake-hook))))

-- 
Andrew Cohen




Message sent:


Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-Mailer: MIME-tools 5.505 (Entity 5.505)
Content-Type: text/plain; charset=utf-8
X-Loop: help-debbugs@HIDDEN
From: help-debbugs@HIDDEN (GNU bug Tracking System)
To: Andrew Cohen <acohen@HIDDEN>
Subject: bug#63620: Acknowledgement (30.0.50; [Feature Request] run hooks
 on sleep/wake)
Message-ID: <handler.63620.B.168462508612787.ack <at> debbugs.gnu.org>
References: <87fs7qmw00.fsf@HIDDEN>
X-Gnu-PR-Message: ack 63620
X-Gnu-PR-Package: emacs
Reply-To: 63620 <at> debbugs.gnu.org
Date: Sat, 20 May 2023 23:25:02 +0000

Thank you for filing a new bug report with debbugs.gnu.org.

This is an automatically generated reply to let you know your message
has been received.

Your message is being forwarded to the package maintainers and other
interested parties for their attention; they will reply in due course.

Your message has been sent to the package maintainer(s):
 bug-gnu-emacs@HIDDEN

If you wish to submit further information on this problem, please
send it to 63620 <at> debbugs.gnu.org.

Please do not send mail to help-debbugs@HIDDEN unless you wish
to report a problem with the Bug-tracking system.

--=20
63620: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D63620
GNU Bug Tracking System
Contact help-debbugs@HIDDEN with problems


Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#63620: 30.0.50; [Feature Request] run hooks on sleep/wake
Resent-From: Michael Albinus <michael.albinus@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Sun, 21 May 2023 08:14:01 +0000
Resent-Message-ID: <handler.63620.B63620.16846567878009 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 63620
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: Andrew Cohen <acohen@HIDDEN>
Cc: 63620 <at> debbugs.gnu.org
Received: via spool by 63620-submit <at> debbugs.gnu.org id=B63620.16846567878009
          (code B ref 63620); Sun, 21 May 2023 08:14:01 +0000
Received: (at 63620) by debbugs.gnu.org; 21 May 2023 08:13:07 +0000
Received: from localhost ([127.0.0.1]:59979 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1q0eBf-000257-Fr
	for submit <at> debbugs.gnu.org; Sun, 21 May 2023 04:13:07 -0400
Received: from mout.gmx.net ([212.227.17.21]:45797)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <michael.albinus@HIDDEN>) id 1q0eBc-00024b-De
 for 63620 <at> debbugs.gnu.org; Sun, 21 May 2023 04:13:06 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.de; s=s31663417;
 t=1684656773; i=michael.albinus@HIDDEN;
 bh=sBoByeaeOdJETzWswEUKQGHZzNKXH4sKwqNUk0PBHFY=;
 h=X-UI-Sender-Class:From:To:Cc:Subject:In-Reply-To:References:Date;
 b=DABWri0CSl3H6MSOpOKlX6grpBu8DaE0eWyw3fRQ7ekOLDOy52vafZaR5YEXM6KDt
 57s4nz4fT5tx8pf3cXix2OHFZV+cM60tFyIpPDsEmv4eNwIcCTGUaIEBlnkooBqV4Y
 nMkKxKTy6eysr84/SkInoD8dVT8wqZCB4KFTLbEf7PQZ4gZj/n1q8C+FUxoRcw+6jI
 +0fcXBTJXqVEYdlwSux1QeAGNtLXernTMsineZHxlIjuD9b5Z9kI3tIEU/vmNNkFsu
 BWdS/4+kn5KwW/JEL0iRpFvLzu6UAi6/AP61WsuG8ukght6VGUn9h/hKeMekuYKni6
 v+V8++trUxccQ==
X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a
Received: from gandalf.gmx.de ([185.89.39.13]) by mail.gmx.net (mrgmx104
 [212.227.17.168]) with ESMTPSA (Nemesis) id 1MdNY8-1qZhsz1wAq-00ZLFO; Sun, 21
 May 2023 10:12:53 +0200
From: Michael Albinus <michael.albinus@HIDDEN>
In-Reply-To: <87fs7qmw00.fsf@HIDDEN> (Andrew Cohen's message of "Sun, 21 May
 2023 07:19:27 +0800")
References: <87fs7qmw00.fsf@HIDDEN>
Date: Sun, 21 May 2023 10:12:51 +0200
Message-ID: <87lehinlvg.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-Provags-ID: V03:K1:Buy4P8/Uj6Nx/N1MGDFXNj+SF1rXqfG8PmfqSWqhpl5D23BQDr+
 sRj4p7lPwaEfS9fz9D1OZ70C212XxuE+907Hwz1VdKLdiVlVcExEWGwd4YpaG7OAienSwCt
 NtWnEBZw1h2UZLCpxS2eE280gY9XIBnEltYI7YMzrEhlFvzzkhx6t6A+XWmg2KRv38zediZ
 yRCUfWrMClzEA/XJ5EuuA==
X-Spam-Flag: NO
UI-OutboundReport: notjunk:1;M01:P0:ISS3QARFEqk=;Vroz3XJhCes5EROHDLuo/twjZZ1
 htoqCf4dLb3x8Vsso0MDuUvNetUbwoH1Z4gUr3WTYOTQpw/Br9+1gsgNvaUZc4PhJCCe2OUmv
 9zd+g9dLCSe3ceunoIyLe1uUZKRO+qrfD0B90wYyipMh8K3TOb5r/Xm9KLz/08hWwX+g1zU/2
 ps8sKVU5gQxTxZE/nNLHjf+1KoQ4uYLkgAYtWsxMDMZnd+vs4uFUvxPA8JRh27OkAvBTG+DBf
 8R+uDGgiQfkNDoBbGGp6baSpswBJ/oumaiJeS6asya5MRxpIIpWCI2SiYVh9t8pTOhH+mhSy/
 Vr8k5Dys1fkmCfjpcSZDlx8IOPEis63YSnB36S6RLG6jKLdV3R1kEvVV8DoA3D2QkSXpCKCCm
 cHuNTVR6daj91UzjfnHm8dOIOn/kZdAG8P8oL4fdgScYvdUQMZ+P9Zv+z6OLK4lcA2LyZRHUR
 7w2N3olcCovIHb2Ka4JjRugf5FlXIkbTt7sWezH2e17UqOVQyOJeMyEs3s7jnOCWo7pvBNxAq
 ajHNJhPmQEiSrHJ+4Rx7g07/sTA6o+Vq6dqSSwUrN27Unvyr6ikhJj22nwZFw+lMD800x9iIv
 BRGn56rBAoq64vzCi75Ei8cShWbzCypP1LsWeu/SfKw2U+I+oIV/X29QhUdTwJ4dSddmEYEwH
 Zq69Em2pFktQCMZdKVdlDSYh+GyStxDQ2zq12XSUzGfa6O1PNknoBn20uaBa7drZ56b2Ypfme
 pG43UhtqP3OJZfk8ai+nWIjMSKP0d7Bae81JytYgMdWvth481P52t6FEMTzndF90CmpiFrEDe
 roJHkBqmh6EBi0eHMrVSb0x28in3jU1XKWNvFxKY31EcyV1MbXpgDbrEQWlezIwXd1YZ/ptYu
 l/oudAN++Ngq8ItwHYny9m/RxUz/dHOQsMgh3n7hZtNHPebTXTcYtgxeu9fl6AFIue2+ePgBA
 BZiuhQ==
X-Spam-Score: -0.7 (/)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.7 (-)

Andrew Cohen <acohen@HIDDEN> writes:

Hi Andrew,

> 2. Add a small package dbus-sleep.el. I would also remove gnus-dbus.el
> but leave the variable 'gnus-dbus-close-on-sleep and use it to control
> the installation of appropriate gnus functions to the new hooks.
>
> 3. Add the new code to the existing dbus.el. I would also remove
> gnus-dbus.el but leave the variable 'gnus-dbus-close-on-sleep and use it
> to control the installation of appropriate functions to the new hooks.
>
> I mostly favor adding it to dbus.el. The argument against: dbus.el is
> focused on providing language bindings for the D-Bus API rather than a
> user-feature. The removal of gnus-dbus.el shouldn't cause any problem
> since I would maintain the same functionality enabled by the same
> variable, so no user-visible change.

Using D-Bus is just an implementation detail. What you want are
handlers, which are invoked when your laptop falls asleep or awakes.

A general package could implement it using D-Bus if available, or using
something else if there's no D-Bus. See battery.el, which uses the D-Bus
service "org.freedesktop.UPower" only if possible. Your package might be
called sleep.el or alike.

Your code uses the D-Bus service "org.freedesktop.login1", which isn't
part of the basic D-Bus spec. So it isn't suited for dbus.el anyway.

> ;;;###autoload
> (defun dbus-sleep-enable ()
>   "Use `dbus-register-signal' to close servers on sleep."
>   (interactive)

I would make it rather a global minor mode, that you can enable/disable
it easily.

>   ;; Don't enable if it's already enabled.
>   (when (and (featurep 'dbusbind) (not dbus-sleep-registration-object))

Perhaps, you check also for the service "org.freedesktop.login1", like

--8<---------------cut here---------------start------------->8---
(member "org.freedesktop.login1" (dbus-list-activatable-names :system))
--8<---------------cut here---------------end--------------->8---

This check might return nil for several reasons, like the system bus is
not running, or you don't have permissions to speak to the system bus,
or the service simply doesn't exist.

Best regards, Michael.




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#63620: 30.0.50; [Feature Request] run hooks on sleep/wake
Resent-From: Andrew Cohen <acohen@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Mon, 05 Jun 2023 13:07:01 +0000
Resent-Message-ID: <handler.63620.B63620.168597041518077 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 63620
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: Michael Albinus <michael.albinus@HIDDEN>
Cc: 63620 <at> debbugs.gnu.org
Received: via spool by 63620-submit <at> debbugs.gnu.org id=B63620.168597041518077
          (code B ref 63620); Mon, 05 Jun 2023 13:07:01 +0000
Received: (at 63620) by debbugs.gnu.org; 5 Jun 2023 13:06:55 +0000
Received: from localhost ([127.0.0.1]:48430 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1q69vC-0004hV-NU
	for submit <at> debbugs.gnu.org; Mon, 05 Jun 2023 09:06:55 -0400
Received: from mail-os0jpn01on2107.outbound.protection.outlook.com
 ([40.107.113.107]:5970 helo=JPN01-OS0-obe.outbound.protection.outlook.com)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <acohen@HIDDEN>) id 1q69v9-0004hC-78
 for 63620 <at> debbugs.gnu.org; Mon, 05 Jun 2023 09:06:52 -0400
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=U5sTqryY+cgAgzfq/wkJsVh5RpGOnR9YKIikdfr1b146xGfv2lqa+9wGuDdulCfI3nWO4/xSh+Soi/r5Ogc/QaP5yMKj7KTn4RL6M8nV4TSyAUNPkiasklTiUAttcM2uZYpU3aWUPNkFgFrP7FxfbTAnZm96s9CoGtdEL+MXJ0lrnCPmb7pQ+d4yhfl0OCRVgygP8aUoUOLmNOl8w6PjnufD8IA2iWA0kEZqRwmi+vSi2q8eNTe1TbBAl94pUjIQAr6L1hfvKQLGWTkEUh64sSGX8PH8KaG9OinedcQn09GEh5f94QDGhNmcIBaM9NW0btvfxYim8TgmI5L1KWZ1jw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; 
 s=arcselector9901;
 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=ByPxk3uByxTlt4F0+cZPCPMSKoW9mKYZPS+QUmqCSAw=;
 b=FCefDBiQ6sY5MnVKv1cVNubWLFIcDgORJrqFzy6vKS8UbGXgsEYFMqGnXFmTtV2xekch3eVj7lLiW3b/gMl6j8qXwFs8CdWI7rvKklP51HTeUC+v5UPcsgEZNEFra59Fc7+DJ/yMdhS102/HCfbAOQzBDTyG2Zny4Iy1o8tJ81hMFarP58yDQho9kJWjD/tN4nRMRt3QW/rDX8u5cV7J1+POdLQovUENhUcF/7KBsqlpPJd/b0S/rUKvEV82FHIi+lNhXGdNxLv5l3yc7n26M5ynzFNpoNZP0zkf7e+VUUJWU149nTBy3t/+7Vk2mlmyEcV6l0O+pKEJnk4JgCCmxw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=ust.hk; dmarc=pass action=none header.from=ust.hk; dkim=pass
 header.d=ust.hk; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ust.hk; s=selector2;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ByPxk3uByxTlt4F0+cZPCPMSKoW9mKYZPS+QUmqCSAw=;
 b=eHt3BDSXxKibgihvXOebMtEFDNiknUD/GpUYUL9zn3F5ZgI7cZcLe/XKyioX5s265lLYmrfaB0SKG35SwxoBSVoKEE51+9Y4aAmYkgCRO5P1pR/Pz+hL/+3CpCcud94VerGWFX49vMhvf4cgToWfOphm5AVFK/f++K1XMVpcDYKRcpz8OtmHeAQxzZ1DUNcyIj3ytle9f+/JLTCbhyyT00eOgHwyB9mU+wkOYSXfTosH57xMR+xJxFW+Fqsqhnl57XgPpxXctKHt/rLmbIzZrFdHMl48EcaRk79SpoAzfUPPK+imsjT5NS40yB7yDse8W8pmXVN69qRP8cBetrHKqw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=ust.hk;
Received: from OS3P286MB1877.JPNP286.PROD.OUTLOOK.COM (2603:1096:604:1bf::11)
 by TY1P286MB3257.JPNP286.PROD.OUTLOOK.COM (2603:1096:400:2e8::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6455.33; Mon, 5 Jun
 2023 13:06:43 +0000
Received: from OS3P286MB1877.JPNP286.PROD.OUTLOOK.COM
 ([fe80::873a:53e:955d:c20f]) by OS3P286MB1877.JPNP286.PROD.OUTLOOK.COM
 ([fe80::873a:53e:955d:c20f%7]) with mapi id 15.20.6455.030; Mon, 5 Jun 2023
 13:06:43 +0000
From: Andrew Cohen <acohen@HIDDEN>
In-Reply-To: <87lehinlvg.fsf@HIDDEN> (Michael Albinus's message of "Sun, 21
 May 2023 10:12:51 +0200")
Organization: Hong Kong University of Science and Technology
References: <87fs7qmw00.fsf@HIDDEN> <87lehinlvg.fsf@HIDDEN>
Date: Mon, 05 Jun 2023 21:06:37 +0800
Message-ID: <87y1ky83du.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
Content-Type: multipart/mixed; boundary="=-=-="
X-ClientProxiedBy: KU1PR03CA0029.apcprd03.prod.outlook.com
 (2603:1096:802:19::17) To OS3P286MB1877.JPNP286.PROD.OUTLOOK.COM
 (2603:1096:604:1bf::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: OS3P286MB1877:EE_|TY1P286MB3257:EE_
X-MS-Office365-Filtering-Correlation-Id: e665078d-0cc3-41ff-06db-08db65c5b57f
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: oL0+oPEfyh+4wm2rGxJS63rWV7WTdiiG2zZ1SuiHrtpYDj+F5x/X6SnFGi5XrZq9du6cB0MP444EnESJNEVzOMp3adAdYFgtbzdtoMR3Dc3nyNgVFIXZQKltJCmDnTy8oRDLk9gc/4Gk1LF7HieeMkc0kvE5LMAZk9sIl+TIedeKWncbxywoSW2VloX96eIGUcVqII50TaTKhJCoVKlh8DH5OIMW7MISMMn/3oGBIV4gjuKbuOd79UM9IxD2vonB4aLrMDCEuKXcaKVZnHrvjaCmxOc85Kyy4hUvSPeWc2NJi5ZECT4xH4UOwIzlQBgda1GNcPMpHsrdm9tC9lrbJr6Oh+HBL4JJeBcsM9eqN3zDeENsv2dJDhRfdTER+o68AO+nLG8NSJNaSnliAFo4Z7NmAJfr0atcLSRl+TAKZ2pMmfjesMYOEO90WVdq/KqjHNf1YelelNeLntVMgcGuV+wwAU9nHGgVIs9COrKwDW0CM415HIl8gaF9v7GvKVLQpEGNcoFmlh3UHFn6OPIhgkuAgELkOnVYli+iVzFnZGwMvaCJ91ekgZj53KKZ23Sfd2qfO2WkFFHL1WMQd0Na9JsuzcOhb59VJb0CyqMOaBYsg7CvhXfAfhEYtV6xvHP1
X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:;
 IPV:NLI; SFV:NSPM; H:OS3P286MB1877.JPNP286.PROD.OUTLOOK.COM; PTR:; CAT:NONE;
 SFS:(13230028)(4636009)(39860400002)(366004)(396003)(136003)(346002)(376002)(451199021)(478600001)(2906002)(36756003)(6486002)(36916002)(6666004)(2616005)(83380400001)(41320700001)(186003)(6512007)(6506007)(26005)(86362001)(38100700002)(786003)(316002)(8676002)(8936002)(66946007)(6916009)(4326008)(66556008)(66476007)(5660300002)(41300700001)(547064002);
 DIR:OUT; SFP:1102; 
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: zeaYcuFLqYQVcwDIiejP3lr+lw4rNl+KlQ2VLSRAzE5PHulGHzrzufHF1cRfIMPTxMg0jxwfOet+0+fULdSl/b1p/zMts5wAZkX1YMcOl/E4a6Ec93RT2jw/anWxkZJB5xcjjNHX3VmdDHBxhiw9fmAR+T3m0x1rCEzSxx1NLXmTOI7MoZCXLxsPCjVsQ0rtLtVsvdhPpADbuy/WFq1tNjKUwKrLLOoO9BtoZuAWCPhavCirfkSmS1rmDYL50tU6bP4eKJ+WMPKedbIMAzoXuUhWcb9iKM0ilXuBNMr6KZ3Vcv49KJ7FrNtPgGlve96RvjyePoilIV3tPYfPfkNIGitLRnhGJP6sGzf/deXkVIUg9VC1q2//ZHRh5LUxiBrUwlWPvihAPxd7c5z7/K6s3jjd27+3UiQNe9savBOj16T9Qfo/gxOu2q+5hMdao60L2dVa3VHBWWV4IH509494QiVc04tTPH6hqmleOCs8BTSYFdct14/jxKjK/WQCIWwaJ/Sun3mfGRdKcVDm9B1Vk0XpycScVaY+mLcRTnGTLnZyVWpzoNyMa7yk84IhChoY1Ak0+0pKI2eQ+I3qhN87jLBEspEeBnunikpxv/Hz6Khooq2qgVItFJltRibQH5OEqJFirAyYXZuu7yUhrxb1M2TUVvUJ7d6hg1qWHxHbdSoTYApY6G5mCwAwh7/1Yj9iQomMfrGbCrvJbE9UvicMzNb5foUpsd50QHIGaKtZRZRDBWeY5PdWoX1M7+Glf08XkLwVHrdkwYQBmQShBzdlBPo6FfS9s7qkehnQqEgfgKJo7aYwSWMkScaSfYOkuGCqdllyEqaVixIwmndM050qS1I5Dz6a7wvTcDg4zbyqxgKJxQ91iNsuWBI1YlUU1fYVXGp+gWnqOEFJi5VWZetrg0PZway6QG23VpMQcXz+LGqLhYSlkukenjWS4EFoMPKoD35Sv7ybha3tpkAW25oWjkWRwgfqy7l6iXQRsyrfpeLH0ejQdLHufterd1T3tcoQGTOJG8oBl3iy6VqFtTZ2UzxnIGYgmwSTDEVRKtR5xkARgKit2k5NoTdgJMtv7EtzVx9CALNtJ+GquwPp3d4vhAs5+9GVbtmKZO7yjZS7QUWgOJUIJo2Z46F75C1EuBpPoLOGYHpPIh4UQE9oBVaE3wc4rFRxtb7IhSUQx/iPhBPQo3BrivCxGHlYir6u0YbfSVtLge7WNGhUnxNQRqTm9Ec6NndaoW824bM8Aq19kn8i2s8l1jQ95tSWgxPJUOxvV20LT1ZtPf1zSwnOKgUXnGejdwnBM36Pa0wA0GZFoptp98fCDlP6uHurCLvXD71cBpLmJpKUVj7P+GpNj1enaJb7RwZYEtXrBMWIlHm6icVV2qhoO6JgShcY0WyM0xjQ1+aoMp2kk4Sn67WXu6kaDGEzKRYlhkcF9XIMXts77kZ0N/V6XoyxGPhV/w4A0ddWXL6NQo0fb+RIzK7MUrrFBIY5iUytLOSbMg0zwIqR2kk5rL/zSamAHOeM3xfsKLsqEJ/urYOvtSUbpOs4v2OOJ5U0OPPrXN00jab6NrrLiFGaLlacmrpesozNTat4WLUc
X-OriginatorOrg: ust.hk
X-MS-Exchange-CrossTenant-Network-Message-Id: e665078d-0cc3-41ff-06db-08db65c5b57f
X-MS-Exchange-CrossTenant-AuthSource: OS3P286MB1877.JPNP286.PROD.OUTLOOK.COM
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Jun 2023 13:06:43.3209 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: c917f3e2-9322-4926-9bb3-daca730413ca
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: PmAbTWXcoPuAOKdVUL9d86ptUTrZjSmhmaoZ4w2mSq9AmRmEo7ba+pzFh5RYDMol
X-MS-Exchange-Transport-CrossTenantHeadersStamped: TY1P286MB3257
X-Spam-Score: -0.0 (/)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

--=-=-=
Content-Type: text/plain

Dear Michael

>>>>> "MA" == Michael Albinus <michael.albinus@HIDDEN> writes:

[...]

    MA> Using D-Bus is just an implementation detail. What you want are
    MA> handlers, which are invoked when your laptop falls asleep or
    MA> awakes.

Yes, of course you are right!

    MA> A general package could implement it using D-Bus if available,
    MA> or using something else if there's no D-Bus. See battery.el,
    MA> which uses the D-Bus service "org.freedesktop.UPower" only if
    MA> possible. Your package might be called sleep.el or alike.

I am not familiar with other methods for detecting sleep/wake, so I just
have dbus at the moment. But if anyone knows of something else
(especially on windows) it can then be added.

[...]

MA> I would make it rather a global minor mode, that you can
MA> enable/disable it easily.

Yes, that is a better idea. 

[...]

    MA> Perhaps, you check also for the service
    MA> "org.freedesktop.login1", like

    MA> (member "org.freedesktop.login1" (dbus-list-activatable-names
    MA> :system))

OK, added.


I've now put everything together and modified the gnus code to use the
new sleep.el. But I remain unsure if I should remove gnus-dbus.el
entirely (everything remains the same for the user: setting
gnus-dbus-close-on-sleep to a non-nil value will enable the feature
using the global minor mode rather than gnus-dbus).  And is sleep.el
something worth adding?


--=-=-=
Content-Type: application/emacs-lisp
Content-Disposition: inline; filename=sleep.el
Content-Transfer-Encoding: quoted-printable
Content-Description: sleep.el

;;; sleep.el --- run hooks on sleep and wake  -*- lexical-binding:t -*-

;; Copyright (C) 2023 Free Software Foundation, Inc.

;; Author: Andrew Cohen <>
;; Maintainer: emacs-devel@HIDDEN
;; Keywords:

;; 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 <https://www.gnu.org/licenses/>.

;;; Commentary:

;;; This global minor mode enables evaluating code when the device
;;; running Emacs enters or leaves the sleep state.  Two hooks are
;;; used, sleep-sleep-hook and sleep-wake-hook, run when the system
;;; detects that it is going to sleep or waking up.  Currently only a
;;; dbus interface to detect sleep state change is implemented.

;;; Code:

(require 'dbus)

(defgroup sleep nil
  "Run hooks on entering/leaving the sleep state."
  :group 'hardware)

(defcustom sleep-sleep-hook nil
  "Hook to run on entering sleep."
  :group 'sleep
  :type 'hook)

(defcustom sleep-wake-hook nil
  "Hook to run on leaving sleep."
  :group 'sleep
  :type 'hook)

(defvar sleep-registration-object nil
  "Object returned from `dbus-register-signal'.
This is used to unregister the signal.")


(defun sleep-wake-enable ()
  "Enable detection of sleep/wake state change.
Run sleep-sleep-hook and sleep-wake-hook as appropriate."
  (unless sleep-registration-object
    (setq sleep-registration-object
          (dbus-register-signal :system
                                "org.freedesktop.login1"
                                "/org/freedesktop/login1"
                                "org.freedesktop.login1.Manager"
                                "PrepareForSleep"
                                #'sleep-handler))))

(defun sleep-wake-disable ()
  "Disable detection of sleep/wake state change."
  (condition-case nil
      (progn
        (dbus-unregister-object
         sleep-registration-object)
        (setq sleep-registration-object nil))
    (wrong-type-argument nil)))

(defun sleep-handler (sleep-wake)
  "Handler to execute sleep and wake functions.
SLEEP-WAKE is t on sleeping and nil on waking."
  (ignore-errors
    (if sleep-wake
        (run-hooks 'sleep-sleep-hook)
      (run-hooks 'sleep-wake-hook))))

;;;###autoload
(define-minor-mode sleep-wake-mode
  "Toggle sleep/wake detection.

When sleep-wake-mode is enabled, Emacs will execute the hooks
`sleep-sleep-hook' and `sleep-wake-hook' when entering or leaving
the sleep state.  This is currently only available on systems that
support dbus detection of sleep state change."
  :global t
  :group 'sleep
  (when (and (featurep 'dbusbind)
             (member "org.freedesktop.login1"
                     (dbus-list-activatable-names :system)))
    (if sleep-wake-mode
        (sleep-wake-enable)
      (sleep-wake-disable))))

(provide 'sleep)
;;; sleep.el ends here

--=-=-=
Content-Type: text/plain



-- 
Andrew Cohen

--=-=-=--




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#63620: 30.0.50; [Feature Request] run hooks on sleep/wake
Resent-From: Michael Albinus <michael.albinus@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Sat, 10 Jun 2023 10:48:02 +0000
Resent-Message-ID: <handler.63620.B63620.168639404821329 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 63620
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: Andrew Cohen <acohen@HIDDEN>
Cc: 63620 <at> debbugs.gnu.org
Received: via spool by 63620-submit <at> debbugs.gnu.org id=B63620.168639404821329
          (code B ref 63620); Sat, 10 Jun 2023 10:48:02 +0000
Received: (at 63620) by debbugs.gnu.org; 10 Jun 2023 10:47:28 +0000
Received: from localhost ([127.0.0.1]:33336 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1q7w7z-0005Xw-Uu
	for submit <at> debbugs.gnu.org; Sat, 10 Jun 2023 06:47:28 -0400
Received: from mout.gmx.net ([212.227.17.22]:46829)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <michael.albinus@HIDDEN>) id 1q7w7w-0005Xd-Ef
 for 63620 <at> debbugs.gnu.org; Sat, 10 Jun 2023 06:47:27 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.de;
 s=s31663417; t=1686394032; x=1686998832; i=michael.albinus@HIDDEN;
 bh=58rZXdSF9YrXXbPRgCKavpXrmqBTXpsIVYaiHWeY1As=;
 h=X-UI-Sender-Class:From:To:Cc:Subject:In-Reply-To:References:Date;
 b=TIO7/BPGTyfNnnTegpwXFv6ndVLJov0Xj2lcdFdXp+pgwTlpNV2fk7eyG2EqgjucvGJZ23Q
 yv40rkLGMI1vPBxOZTcexNupqM8pfS0KkWtYUC2i3dWY26yvetd9kKnKD8TinlDCSGnP7NBlu
 hlTtUAUsIOOyBlEV6bJhJ+tmKKNcwHkrGa4L8Q7bn7GfeEZ9pENtIOcq0iuz9knznkfayjPch
 mGk+w+V8BhcS4n3rnAIIb+Z36r373MW3+Aqc3rGA4cawP+3B2rHGfw5PsvVTPDEZ0VykIzbdC
 6j8euDxHqEgimSXuFyzbQmOpujAkVJ6DSn++xtEcib/gyXKGN2IQ==
X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a
Received: from gandalf.gmx.de ([185.89.39.13]) by mail.gmx.net (mrgmx105
 [212.227.17.168]) with ESMTPSA (Nemesis) id 1Mi2Jt-1pdXBR0L57-00e0sT; Sat, 10
 Jun 2023 12:47:12 +0200
From: Michael Albinus <michael.albinus@HIDDEN>
In-Reply-To: <87y1ky83du.fsf@HIDDEN> (Andrew Cohen's message of "Mon, 05 Jun
 2023 21:06:37 +0800")
References: <87fs7qmw00.fsf@HIDDEN> <87lehinlvg.fsf@HIDDEN>
 <87y1ky83du.fsf@HIDDEN>
Date: Sat, 10 Jun 2023 12:47:10 +0200
Message-ID: <87legr1tn5.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-Provags-ID: V03:K1:+7Vm+4Gyy1Z9PmskvjTk1LpsZ8UtHELNn1jmoKlnuVNpmdjWAlW
 sN8fWXRbP/fmna7hzSzNt5GV+9dWyd/nNPq42mhuiRyOqFDwtvKAiF2RI8Q+jtTcKqLnoZl
 pHp4oy+WHeYLJ1Mk/UPHsnFw/cptxikFAuu/KS/h4YBpwdRhJjDcbx9M3OgE+kDz32SuB81
 Wg9J8+EjNZB1EVX0dB6Fw==
X-Spam-Flag: NO
UI-OutboundReport: notjunk:1;M01:P0:I0NciSjItbM=;IW2RUAF7wLLXOa1ne7Fq3UQZZ47
 LGEDGWctDwbIgF0AtwET9HVIEf2OmaUzjbNdPWH0r3v+I3VkNh5lfSlM/QHkaxV+2hkDWmxGE
 0ogR8eCrcXGQuR3Y/kL9K57SvevjBUbeyVlIM4WY8Ne6eq5hvuzGJKOtmFuS5DGE7iL6R+8yn
 BjeHrWgm4h6QawqLoUEdA1vV1vHtOkaJ128ElgVpJycR31LrtNmeCmZMs3hygT/vRuEOJiQmM
 au4QMVkymtObRv9zIU7mJrka6/LZlYcAVJAkLCXmFnc6TUvu7D8rpoAh05ilOjZXS8jDBT/6b
 fUkeOv/6h1TLbTqeFyWlkzKI+kqnXkxvym5Vvr19398LHTQscAkv/v1MZ/JFOFXwqR+IKXhlx
 YJfFAqiHDwr6SXMYuil+MuAGoPse7d6bnHGbJlh8EpIZnbuxCDdjXzwLTpmZDPDQBxIGwFq7X
 vjBtcdfgfixk55zeloPsUxTL9VDwdz9SnO7s8vDreezs22kt9zzcZ8hvOAG6pSVlWz8TZkZdy
 F3ol/au9fcrkqZE2b8BzlMoZrc+1VrL8AndS1IOdi6YOe9jtGgVrrt6XEASxc5eNUQNka/Vw+
 ziY8kkqqALeOr+uReGH6dXCAoIfn657RQGGtFM+qlSurvv3bqwxFFDpD6oI7YTuga1yFkeDlg
 4whweh1LBM5+IZqBER0EwZP7mKvUNTnoCIu8n6THCfGevRyRWjA3g7M+Dfk/psPqiYOrYxaOC
 rJmwEZy5DhYa/zMZ62r0mQrtfOA98iCAwX4arf5TmqO+mcPDe23QmdepNDihEii6K9tpu3ue1
 NYPMDCu93EE8qOq4wEawTmM/YKI8ENcO5GLlwpRWiN3SGl/q+zZE9fiDuabJvF1s0Sh/aRQ/E
 7IZqzyTJ4tLZFzFezevm5VbVKR3RVul+SYxFa3PatHZbtHizEAvnnNfEIIsmlU0KHhE6xtHxy
 El1QBQ==
X-Spam-Score: -0.7 (/)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.7 (-)

Andrew Cohen <acohen@HIDDEN> writes:

> Dear Michael

Hi Andrew,

sorry for the delayed answer, I've been busy ...

> I've now put everything together and modified the gnus code to use the
> new sleep.el. But I remain unsure if I should remove gnus-dbus.el
> entirely (everything remains the same for the user: setting
> gnus-dbus-close-on-sleep to a non-nil value will enable the feature
> using the global minor mode rather than gnus-dbus).  And is sleep.el
> something worth adding?

It depends whether sleep.el will be added to vanilla Emacs, or as GNU
ELPA package. It's not my decision, but I lobby for the former.

In this case, it could be used in gnus-dbus.el.

Just some few comments on the code

> ;;; sleep.el --- run hooks on sleep and wake  -*- lexical-binding:t -*-

I would be more precise. You don't mean sleeping Emacs or another
application, but you mean sleeping the machine on OS level. Say it so.

> ;;; This global minor mode enables evaluating code when the device
> ;;; running Emacs enters or leaves the sleep state.  Two hooks are
> ;;; used, sleep-sleep-hook and sleep-wake-hook, run when the system
> ;;; detects that it is going to sleep or waking up.  Currently only a
> ;;; dbus interface to detect sleep state change is implemented.

Please quote Lisp objects like `sleep-sleep-hook'. D-Bus is spelled out
in commentaries as D-Bus.

> (defgroup sleep nil
>   "Run hooks on entering/leaving the sleep state."
>   :group 'hardware)
>
> (defcustom sleep-sleep-hook nil
>   "Hook to run on entering sleep."
>   :group 'sleep
>   :type 'hook)
>
> (defcustom sleep-wake-hook nil
>   "Hook to run on leaving sleep."
>   :group 'sleep
>   :type 'hook)

These are the user visible objects. Please be precise what is going to
sleep. The machine or device.

> Run sleep-sleep-hook and sleep-wake-hook as appropriate."

Please quote sleep-sleep-hook.

>   (unless sleep-registration-object
>     (setq sleep-registration-object
>           (dbus-register-signal :system
>                                 "org.freedesktop.login1"
>                                 "/org/freedesktop/login1"
>                                 "org.freedesktop.login1.Manager"
>                                 "PrepareForSleep"
>                                 #'sleep-handler))))

I would also protect against D-Bus errors. Like

(ignore-error dbus-error
  (unless sleep-registration-object
    (setq sleep-registration-object
          (dbus-register-signal
	   :system "org.freedesktop.login1"
           "/org/freedesktop/login1" "org.freedesktop.login1.Manager"
           "PrepareForSleep" #'sleep-handler))))

>   (condition-case nil
>       (progn
>         (dbus-unregister-object
>          sleep-registration-object)
>         (setq sleep-registration-object nil))
>     (wrong-type-argument nil)))

Aka

(ignore-error (dbus-error wrong-type-argument)
  (dbus-unregister-object
   sleep-registration-object)
  (setq sleep-registration-object nil))

> When sleep-wake-mode is enabled, Emacs will execute the hooks

Please quote sleep-wake-mode.

> support dbus detection of sleep state change."

D-Bus is spelled out ...

Furthermore, it would be nice if you add

- documentation in lispref node "(elisp) System Interface". I'm not sure
  whether it is good for a new subnode, or whether it shall be
  documented in "(elisp) System Environment". This documentation should
  also give a practical example for functions in sleep-sleep-hook and
  sleep-wake-hook.

- adding the functionality to etc/NEWS

- if possible, adding tests in test/lisp/sleep-tests.el

Best regards, Michael.




Message received at control <at> debbugs.gnu.org:


Received: (at control) by debbugs.gnu.org; 11 Sep 2023 23:13:06 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Sep 11 19:13:06 2023
Received: from localhost ([127.0.0.1]:55102 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1qfq5a-0002gd-5F
	for submit <at> debbugs.gnu.org; Mon, 11 Sep 2023 19:13:06 -0400
Received: from mail-lj1-x235.google.com ([2a00:1450:4864:20::235]:61725)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <stefankangas@HIDDEN>) id 1qfq5X-0002g6-NH
 for control <at> debbugs.gnu.org; Mon, 11 Sep 2023 19:13:05 -0400
Received: by mail-lj1-x235.google.com with SMTP id
 38308e7fff4ca-2b703a0453fso84809941fa.3
 for <control <at> debbugs.gnu.org>; Mon, 11 Sep 2023 16:12:59 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20221208; t=1694473973; x=1695078773; darn=debbugs.gnu.org;
 h=to:subject:message-id:date:mime-version:from:from:to:cc:subject
 :date:message-id:reply-to;
 bh=cBPhBj4NeS19p0Xs6Ig6rtKSkyA7LMkPIzZnSFngwWE=;
 b=rAvPbvzjIquvkRxsNaeyHwBMXaDo8z8gIsIjzBlgNLzZg9kz0TCyRo6wukU0r+vQCi
 GdHJva7fYePmMP9J5WVRZxvLMpgUlo0hMSmvLvl1z0UwgwNhKcuC7ENcE53VMGG4s54e
 5fT1KA6ss6zAQd4cp2rKtY+rRs0xAEvXPz3qzKUwtcr6xAwVgc7gs2E51xMwIvaShOQb
 34v0ynHth3QJrpYkMmGMY0V4+lnJec+8gjJNxZGMKVB3B+Q/Qw4Maw8+UW28+XtjyF+D
 1VCl94HsHzkbzHTyFUx2aT8xeo+jNEQvcKyjbGRng/tgxwcGcE/cNIleT9h1DNHKvCG5
 fE+A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1694473973; x=1695078773;
 h=to:subject:message-id:date:mime-version:from:x-gm-message-state
 :from:to:cc:subject:date:message-id:reply-to;
 bh=cBPhBj4NeS19p0Xs6Ig6rtKSkyA7LMkPIzZnSFngwWE=;
 b=D69BPbvOGC8ZeqrXtCkTnldPdnUKep7372vS6Ga+CQnFhzKoDJQ0eQuxjORQe2JrG5
 RcEqd9UnYOBnHKdj0j77eH8ITs8k3gCPn5R4kVUXTiHmaJKCes6TYPYlTzMkAZmWFa8w
 BuwgPfoMGTxBZg7AcbpYrNpDieJ7L7pLUNdq0NRwNwTexcJoWCSq+uwL6v3VVlvMkVye
 Pg4zso26hwceoKL29RNxmNBFQQrElwzADJEebmClr1k9EwYMBI9vhz/69OPRyV2PymHR
 jD7jJ40CAO92ZBQqF9TIOAOCQ5ltfREDAENR4zavDUilKOA641VkVM/qsrjw+pKir0Gh
 aDew==
X-Gm-Message-State: AOJu0YzWtvkanCHDNIUAAKQmleZHv8IotJzx6+jiowzwCVwpVJgQVsio
 7NWKdjY07Wmt6mDuT4ekCjnTt/oSODZusQONkaDVuAln
X-Google-Smtp-Source: AGHT+IG5P2xH7i8JlaEBghWQah7LttEtTJ9sqx3xoS59ruPNBhalXYC6pT3KxbMLj3oDKB32ryVJs3r0rYpM1fxZWKY=
X-Received: by 2002:a2e:851a:0:b0:2bc:b815:d64d with SMTP id
 j26-20020a2e851a000000b002bcb815d64dmr10126013lji.30.1694473973289; Mon, 11
 Sep 2023 16:12:53 -0700 (PDT)
Received: from 753933720722 named unknown by gmailapi.google.com with
 HTTPREST; Mon, 11 Sep 2023 16:12:52 -0700
From: Stefan Kangas <stefankangas@HIDDEN>
MIME-Version: 1.0
Date: Mon, 11 Sep 2023 16:12:52 -0700
Message-ID: <CADwFkmn6NifZ_e+hbuMuB+3Eyc2SZQ4bywhLu6e2e8Tzn3xS0A@HIDDEN>
Subject: control message for bug #63620
To: control <at> debbugs.gnu.org
Content-Type: text/plain; charset="UTF-8"
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: control
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

tags 63620 + patch
quit




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#63620: 30.0.50; [Feature Request] run hooks on sleep/wake
Resent-From: Andrew Cohen <acohen@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Tue, 04 Feb 2025 03:21:02 +0000
Resent-Message-ID: <handler.63620.B63620.17386392123288 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 63620
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: patch
To: Michael Albinus <michael.albinus@HIDDEN>
Cc: 63620 <at> debbugs.gnu.org
Received: via spool by 63620-submit <at> debbugs.gnu.org id=B63620.17386392123288
          (code B ref 63620); Tue, 04 Feb 2025 03:21:02 +0000
Received: (at 63620) by debbugs.gnu.org; 4 Feb 2025 03:20:12 +0000
Received: from localhost ([127.0.0.1]:42057 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tf9Tw-0000qn-5Z
	for submit <at> debbugs.gnu.org; Mon, 03 Feb 2025 22:20:12 -0500
Received: from mail-japanwestazon11021078.outbound.protection.outlook.com
 ([40.107.74.78]:8316 helo=OS0P286CU010.outbound.protection.outlook.com)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <acohen@HIDDEN>) id 1tf9Tr-0000po-8c
 for 63620 <at> debbugs.gnu.org; Mon, 03 Feb 2025 22:20:10 -0500
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=TwGXlOCru891YjaSIIqQpLlfzy52ep76zAuuh3CoptJylqO9am6LpJOi/sxgFxGvn4vdTVkp+ss9MduGntrglmUfM0HgeTczAouTS2ca+RGQOj+TjzfCTm/1Ks+H0vWLcHH2DAfT7R0zk9rglGjQPpLsX7KtS38/wt9IEWUWb/gPVY1jkmWlfpoiWGxg6xkolBI10laj1dAkEcWeuxE/jc3BgQUuOtlZJT2tUro+uoZO2UBCEHQpBcBdZnue+cKMqeIGMzkptF9zlk8mGwTn/p5LCXZOCyk5saDbdokiRCFLlZoTCxKPyeW0YlHAtgsw7FZ3eoxH4hKDiBFYlCtUhA==
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=4xOsgz+kcV/Nq3B1/qLHwKxTMD/v1BJDV5RB3OdtPBs=;
 b=FZZOHebDuRxtPmvxgh0v011+tIxycPUCC14qa880t0VDxnjXjocVpi3G2pqRx466kQ4rIA+iGStZwZlweaqPkPmRsM5HezzX7ULnaVFQlObt+yB1BdFdIWfpJUr10ldY7SgonMlmy9VQYlX9qlZfMNBgoGWSVwJtngJbvYJZVq6T9twAK5Bv/Z/BilQCPq7aGiz+HyBPWpGdm2QOv6OHjW4kcxWGPDmrbm/oS0Duxrp4bON0p8Xldhxyf/NoMpiQkq/G2NjiXWuLsp/kD2jgjQKEdCAD0vz9kSIKyN704DV866VF+A44xM1DRL0wSs6JwoWkyyK8b2aBTwRXWUimGA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=ust.hk; dmarc=pass action=none header.from=ust.hk; dkim=pass
 header.d=ust.hk; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ust.hk; s=selector2;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=4xOsgz+kcV/Nq3B1/qLHwKxTMD/v1BJDV5RB3OdtPBs=;
 b=TH5cpS2WcVU+nTXl38Vea9+JOyoYOaj/8xdiBwOGpaV87YKKa83AKs3fct1QKntvYqYKUuhwOc7Ie/vy+oBa/V5DtDAo4fFXgQQCu8Wta21hVNZtF4it0D5c8YMaqEnkjitsy6CZPkTgPWBl3xsm663i6Ddm0uZlWZBPhiFaANJGrbIytLKEQAY0Ab5f58GECFRyaTueCm8Wn3Iqpx8tRR+TDqDY0gwCJKktX+Sf+RHd+R7uBJOwhMYIgSyYW9isfTztcuHLUQPivmUUiWuTQ+e6vPIk7IomanRQd+N77UUR2X2og7Q2wCbRfMYY8j6gi6qaEshBePPgOVudwUPG+w==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=ust.hk;
Received: from OS3P286MB1877.JPNP286.PROD.OUTLOOK.COM (2603:1096:604:1bf::11)
 by OSCP286MB4788.JPNP286.PROD.OUTLOOK.COM (2603:1096:604:348::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8398.21; Tue, 4 Feb
 2025 03:19:58 +0000
Received: from OS3P286MB1877.JPNP286.PROD.OUTLOOK.COM
 ([fe80::4b6e:c37e:4327:cfab]) by OS3P286MB1877.JPNP286.PROD.OUTLOOK.COM
 ([fe80::4b6e:c37e:4327:cfab%4]) with mapi id 15.20.8398.025; Tue, 4 Feb 2025
 03:19:57 +0000
From: Andrew Cohen <acohen@HIDDEN>
In-Reply-To: <87legr1tn5.fsf@HIDDEN>
References: <87fs7qmw00.fsf@HIDDEN> <87lehinlvg.fsf@HIDDEN>
 <87y1ky83du.fsf@HIDDEN> <87legr1tn5.fsf@HIDDEN>
Date: Tue, 04 Feb 2025 11:19:55 +0800
Message-ID: <878qqmz99g.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
Content-Type: text/plain
X-ClientProxiedBy: TP0P295CA0048.TWNP295.PROD.OUTLOOK.COM
 (2603:1096:910:3::19) To OS3P286MB1877.JPNP286.PROD.OUTLOOK.COM
 (2603:1096:604:1bf::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: OS3P286MB1877:EE_|OSCP286MB4788:EE_
X-MS-Office365-Filtering-Correlation-Id: 7a17699a-5f8c-48ce-93fc-08dd44cacd6b
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|376014;
X-Microsoft-Antispam-Message-Info: 82MAIFQmwhyltmudnLem6aHO7DDGKTqYxL3I7lozqdM7s3sMa7Ogid/A1/5yUbeB8ALwkJUH5J+IVKgV/+uZmI5Av9QJZ7tEFowD+yddC+rXNI6r17XzK9oJdGhzlvVGrO+F8rUcjjjOHCSOoYxjP7XidUkKdBNLDB9Fv5rR9wfFGz/088nuPm/91Rr9BxYvq3GJc5xGhRRErdYRX0EMiggicVrB6gAH6E0VQUYmgW2bPsOeGRqHjoEP2MMouXh7V6+dFGUl4VpHqYxefqcqR5lkOP+BuxmcMFsNIdeQToISLS9usIvoTiFAXjxDOYikKgaYE3bJBKTOJhX5oD4WhsxNddpYXKlQ25QFxT0yAS8aQShZ3ADmt+sqQHFoB5Y06D3CPyILJaNt7P+YcTVC5nSB4eQ1PiW8uagNuouC3Bzg5MfLLCT3a0N/CBkojbHm99pZ3l3Z2ASTUpZkihLAYC1sAJ0BC2EKTM9+k9RbmvgPBpJcaBD/j4ICsnwZHabme5Ny9UXmbg7ujQAiL5qq+xoRt10y7GAM6pNCSHNZAcgiHutWLTceW0VfEkrlbquCf/63EqTYm4ZAH7WhSEy00/cELP/rm9rv3pV3ScZbcfTfXIfLtzUQVppfqL8eI9Cf0m6um3KCMeUrCJ4CVATqBpjtEyRl5pX0r4Z3LHrewjZOIPWkR57/jsVd6u9MSkZ05cz2a1KtocG9LZPe35EBymGn3bPRnA3aPhGGCbzb/A1ltIHiMQc3+k9KcozosUDStXwCqP/vKbceHAY+eKymN5DNe7eRCWSy/u/IiHMRxUaxb8EOrayPzOYHKqbziNGPWP88U0A8KQjwvQbY7stNzx7ZOw3H3traXKsD73EGLphDCDaCXANPug5y1ZcbeYK50Or77cslFwdWfzzhsJQDLA37qPWVl0K8kz1hp/guX/tkZZbgJozh/RijIz4BAWG6qW9Rm03fUUrssiQldTb0b0BRdgHoHeDkDlPcbzPZZ3rXn9GZH8mCMGywDjDS3jsgs7T8Sygj2dXiKcPYKZOIq5CHUH6vDmnKhczcS4nQuMIKVT5HJcf3V16B6x3GC/nMOCHrSBdRg5qwkx/pUVCQ2Sn8beTnqFnWOlLU+GX2nnuTx0k4e7YzsznvKtPgAzGcbaAbRhCnleEMs51rjvi/DamQ3Vx7+7FAZIpz4BqUt+Ti8HrJmcHtC2QS1rEnCzQiQ6qQTt5km7kGmuV3DeGu9Jco1U+Ld4TJS+3Fiu9MHdKuZBLBY9uGg9D0+sG8NgEhsR+5jsA+BIx0xhpoosymmGsp0cWkRw7zq1KA0uZbLWcn/2aXPOS6wu6uIF7Ywof/1dthRnCinjWolrCk8TElug==
X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:;
 IPV:NLI; SFV:NSPM; H:OS3P286MB1877.JPNP286.PROD.OUTLOOK.COM; PTR:; CAT:NONE;
 SFS:(13230040)(1800799024)(366016)(376014); DIR:OUT; SFP:1102; 
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: d6gJW5gj/WoCsQkXDbB9MaLuCuknhFtTdO73BfRrRvaQ7+hQpRnzvDMbUoXMUIYoFGP9dQa0/2ANKKh/QQ60Mn3TR5agRZoopkFwx6ysuypqSQCQTVpjCGhVCGFWJlFUMyg9OcPmmf+FvgQ6BrOptBRcNVKndv613AOCWhQfNcVfbNpbZ+UCoNFulktqqQDJlUQjMXvAMjPqZ9pHghS0T8oJ4va5yT1K1zOEDrisrLzOR8IkYj3K+V9MOlBLnSTV42sIgD+CdN4Ml7gxq9h+NmlE0ikQ2PM3E+U2uczeM4fQDq12eNW6Tw52W3L0/uS31QbG4cFdsCavjveGVmUFP71UYPZf7Pv7T3kSEPUVjq4Qx09uI6YA+lQS6/ozrMUpXpDoFmsjNdylXN2VyYpqF6NfS8QiHjllzZWyKIdJ6y8i1CoKttn4T1G8EzPa0r+n7eZd4nkongho5755z3Db+dtaTR93IhSieFtrQRn8kuuTS2fTUm4We0aUfzt6jx0t19dM8oGIqZ6D/K3E6ZhxucyfLH/0QeXjrhf2by7rrQ1xbTzzdBNpcSaJVzzlMmx7I4GRhYJtOM/cFc72SKAQ6hF9Ni3MkC4MpeyhxU4iUUGFJ7ON+w2b1a44k3PBLObIu4XmuJvtYhMDlGGwnAFLxalUSIX6yiKXktLkEbzWnzSTpdQw2HlW1jiDzH/ivgNuTSTpOoLSGn7dq+tLn+hY7qSIvIozvacaf2F4kPv+uaxxS6JYnKqiZqauwZ+kREgPhCXmws3fyYzlMv73KWhnkRO/rtbtGEVrhofuMy0Rr+v1puF31MRr0YnwguJM15RDp27l11qK+g4iNuQdH0HIhvXL7z9fAWZNsv/v8JG4F5HOtPqSXWG6a7i8TwxBOaB74WC25BeK1dj/QtTheNCiGbEzpxhlTJeKHKYGH481KNLxWPqzS7HPLyn6AtK2GvD9hlk5nGDunFHvyQtnv9nhPtsM3NM1VCF95LjzykfwuFObyuhf7lBEbIyttBegwv010RKvh6u7SUg6+WlYzH7SmlWi8a/jNOXqvSAZhF8B2nuFDBEJJMNXhg7PDRsqgUU+JyN+iXBqvBfx3iI3XV6qwCc7COIbVvm9vX54KNsMKDmXDvBHYz+92Sa/LALncr/0q9X0YneRlhQE8SLNYvF74LgGMkYI+97BgvOnu15avA8bApfqVkvLH3QZBR6+Pe6R8Z1APQZWaAyc9KEPpiDyU+TeyIvOqiD3qYsVmp5CQ7+jgfB+Qx8pt8K3apS4WJQeOyv9xcOO5xCg7KBoxRHMbuzhZjVY3bCGTPiB/HzwYf2tY3sy9xbvLzgIeK7x9990WyshQpR0ezPPNKG1asuOZueGQbcqjidsqBMaMKntIQVq9jtrB640cHDJNGowd3cRhFK8SL8h8BgTqfYLxVJbLM+q/JYNnn7avzG4Khf77Xq2ar4cRQSftTgLcPhL23OgN9hbwAk9ONPt6/JCtNqwf7ArcREd/gZ1p71jfZUHyF1SSM8piF7nPHf8Jc7dYbmwmhJJcTeVFpE/vi4z2gVxsMrJ/gGEXTrSAXwHPwUec2H6UOOcz9ra1azF0N8RRIRd
X-OriginatorOrg: ust.hk
X-MS-Exchange-CrossTenant-Network-Message-Id: 7a17699a-5f8c-48ce-93fc-08dd44cacd6b
X-MS-Exchange-CrossTenant-AuthSource: OS3P286MB1877.JPNP286.PROD.OUTLOOK.COM
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Feb 2025 03:19:57.8565 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: c917f3e2-9322-4926-9bb3-daca730413ca
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: w1Ij0keioGlUuv7Mv2d9Hbejf/PmegXo1Kxk0XooTkdsuu1cS7eyWc8tjQhDMYFo
X-MS-Exchange-Transport-CrossTenantHeadersStamped: OSCP286MB4788
X-Spam-Score: 0.0 (/)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

I have not had much time for Emacs outside of my regular activities, but
I made the changes you suggested and have been using the package for the
past year. Unless I hear objections, I'll push the package to master
sometime soon.

Best,
Andy

ea288bd05e7d11740f5d580771ed7ca5ad496b15
Author:     Andrew G Cohen <cohen@HIDDEN>
AuthorDate: Thu Mar 21 11:06:36 2024 +0800
Commit:     Andrew G Cohen <cohen@HIDDEN>
CommitDate: Tue Feb 4 11:14:26 2025 +0800

Parent:     c54d8d4cbe0 New functions to suspend and resume gnus demon
Merged:     master
Contained:  feature/igc
Follows:    emacs-29.1.90 (176369)

New sleep-wake-mode to run hooks on sleep state change

* lisp/sleep.el: New global minor mode. When enabled, the hooks
sleep-wake-hook and sleep-sleep-hook are run on the corresponding sleep
state change.

2 files changed, 112 insertions(+)
etc/NEWS      |   6 ++++
lisp/sleep.el | 106 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

modified   etc/NEWS
@@ -1015,6 +1015,12 @@ destination window is chosen using 'display-buffer-alist'.  Example:
 
 * New Modes and Packages in Emacs 31.1
 
+** New global minor mode 'sleep-wake'.
+With this minor mode enabled, the hooks 'sleep-sleep-hook' and
+'sleep-wake-hook' are run when the device running Emacs enters or leaves
+the sleep state. Currently only D-Bus detection of device sleep state
+changes is available.
+
 
 * Incompatible Lisp Changes in Emacs 31.1
 
new file   lisp/sleep.el
@@ -0,0 +1,106 @@
+;;; sleep.el --- run hooks on device sleep and wake  -*- lexical-binding:t -*-
+
+;; Copyright (C) 2025 Free Software Foundation, Inc.
+
+;; Author: Andrew Cohen <>
+;; Maintainer: emacs-devel@HIDDEN
+;; Keywords:
+
+;; 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 <https://www.gnu.org/licenses/>.
+
+;;; Commentary:
+
+;;; This global minor mode enables evaluating code when the device
+;;; running Emacs enters or leaves the sleep state.  The hooks
+;;; `sleep-sleep-hook' and `sleep-wake-hook' are run when the system
+;;; detects that it is going to sleep or waking up.  Currently only a
+;;; D-Bus interface to detect sleep state change is implemented.
+
+;;; Code:
+
+(require 'dbus)
+
+(defgroup sleep nil
+  "Run hooks on device entering/leaving the sleep state."
+  :group 'hardware)
+
+(defcustom sleep-sleep-hook nil
+  "Hook to run on device entering sleep."
+  :group 'sleep
+  :type 'hook)
+
+(defcustom sleep-wake-hook nil
+  "Hook to run on device leaving sleep."
+  :group 'sleep
+  :type 'hook)
+
+(defvar sleep-registration-object nil
+  "Object returned from `dbus-register-signal'.
+This is recorded so that the signal may be unregistered.")
+
+
+(defun sleep-dbus-enable ()
+  "Enable D-Bus detection of device sleep/wake state change.
+Run `sleep-sleep-hook' and `sleep-wake-hook' as appropriate."
+  (unless sleep-registration-object
+    (setq sleep-registration-object
+          (dbus-register-signal :system
+                                "org.freedesktop.login1"
+                                "/org/freedesktop/login1"
+                                "org.freedesktop.login1.Manager"
+                                "PrepareForSleep"
+                                #'sleep-handler))))
+
+(defun sleep-dbus-disable ()
+  "Disable D-Bus detection of device sleep/wake state change."
+  (condition-case nil
+      (progn
+        (ignore-error (dbus-error wrong-type-argument)
+          (dbus-unregister-object
+           sleep-registration-object))
+        (setq sleep-registration-object nil))
+    (wrong-type-argument nil)))
+
+(defun sleep-handler (sleep-wake)
+  "Handler to execute sleep and wake functions.
+SLEEP-WAKE is t on sleeping and nil on waking."
+  (ignore-errors
+    (if sleep-wake
+        (run-hooks 'sleep-sleep-hook)
+      (run-hooks 'sleep-wake-hook))))
+
+;;;###autoload
+(define-minor-mode sleep-wake-mode
+  "Toggle sleep/wake detection.
+
+With `sleep-wake-mode' enabled, the hooks `sleep-sleep-hook' and
+`sleep-wake-hook' will be executed when the device enters or leaves the
+sleep state.  This is currently only available on systems that support
+D-Bus detection of sleep state changes."
+  :global t
+  :group 'sleep
+  (cond
+   ((and (featurep 'dbusbind)
+         (member "org.freedesktop.login1"
+                 (dbus-list-activatable-names :system)))
+    (if sleep-wake-mode
+        (sleep-dbus-enable)
+      (sleep-dbus-disable)))
+   (t
+    (message "No sleep/wake detection method found."))))
+
+(provide 'sleep)
+;;; sleep.el ends here


-- 
Andrew Cohen




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#63620: 30.0.50; [Feature Request] run hooks on sleep/wake
Resent-From: Eli Zaretskii <eliz@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Tue, 04 Feb 2025 13:17:01 +0000
Resent-Message-ID: <handler.63620.B63620.17386749976373 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 63620
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: patch
To: Andrew Cohen <acohen@HIDDEN>
Cc: 63620 <at> debbugs.gnu.org, michael.albinus@HIDDEN, Stefan Monnier <monnier@HIDDEN>
Received: via spool by 63620-submit <at> debbugs.gnu.org id=B63620.17386749976373
          (code B ref 63620); Tue, 04 Feb 2025 13:17:01 +0000
Received: (at 63620) by debbugs.gnu.org; 4 Feb 2025 13:16:37 +0000
Received: from localhost ([127.0.0.1]:43128 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tfIn7-0001ei-0C
	for submit <at> debbugs.gnu.org; Tue, 04 Feb 2025 08:16:37 -0500
Received: from eggs.gnu.org ([2001:470:142:3::10]:60346)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1tfIn4-0001eK-Fz
 for 63620 <at> debbugs.gnu.org; Tue, 04 Feb 2025 08:16:35 -0500
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 <eliz@HIDDEN>)
 id 1tfImx-0002He-DO; Tue, 04 Feb 2025 08:16:27 -0500
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=PWtiv8Y7iGO/iIOpR5MqMDq0g5WP6cm6Fr2xe5S1sQI=; b=CEgvFaW+KvnL
 0qlKzOCG6GIEi7pVM4q5u5G9pdWzXRylQcQJAbniUYV/S/VjZKaiGnGPBylFy7Vwwu6UH3QXP8dcT
 mbBdMoNdb4xwRCvWDRwYyW/peeakHrqmF/mr1HlZ1n1/NDdoJevVHAcQaRmcDdS58euVZNiJ8mJbH
 pPcjZsIAcNKU9j01LvCHImvyHmOrXJLECU4ZPYo5QPgsNeE0I+kArUtZd7xtUYzl+t6I3VbcWn2ls
 f/sAaaSwPWqEJHLHFF7GNXTvfRsfdzw3UsFxzNA28GjlOtw55iiziXqSy8MN902iT81mpT2HO/lIY
 riyKHpwhmsBHBZ1MQUVa/w==;
Date: Tue, 04 Feb 2025 15:16:24 +0200
Message-Id: <8634gtc0k7.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
In-Reply-To: <878qqmz99g.fsf@HIDDEN> (message from Andrew Cohen on Tue, 04 Feb
 2025 11:19:55 +0800)
References: <87fs7qmw00.fsf@HIDDEN> <87lehinlvg.fsf@HIDDEN>
 <87y1ky83du.fsf@HIDDEN> <87legr1tn5.fsf@HIDDEN> <878qqmz99g.fsf@HIDDEN>
X-Spam-Score: -2.3 (--)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

> Cc: 63620 <at> debbugs.gnu.org
> From: Andrew Cohen <acohen@HIDDEN>
> Date: Tue, 04 Feb 2025 11:19:55 +0800
> 
> I have not had much time for Emacs outside of my regular activities, but
> I made the changes you suggested and have been using the package for the
> past year. Unless I hear objections, I'll push the package to master
> sometime soon.

Thanks, but could we perhaps implement this in a way that is less
modeled on D-Bus, thus allowing different back-ends on other systems?
For example, could we have the D-Bus backend inject an input event,
which could then be bound to a command, instead of directly calling
the hooks from a D-Bus event handler?  That would allow adding other
backend, which will generate the same input event "by other means".

Stefan and Michael, I'd appreciate your comments, both on the patch
and on my proposal.  Maybe you will have other, better design ideas.
(FWIW, I've read Michael's original comments in this bug report as
saying things similar to what I say above.  But either I misunderstood
or the patch as posted doesn't do what Michael suggested back then.)




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#63620: 30.0.50; [Feature Request] run hooks on sleep/wake
Resent-From: Andrew Cohen <acohen@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Tue, 04 Feb 2025 13:40:01 +0000
Resent-Message-ID: <handler.63620.B63620.173867635410302 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 63620
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: patch
To: Eli Zaretskii <eliz@HIDDEN>
Cc: 63620 <at> debbugs.gnu.org, michael.albinus@HIDDEN, Stefan Monnier <monnier@HIDDEN>
Received: via spool by 63620-submit <at> debbugs.gnu.org id=B63620.173867635410302
          (code B ref 63620); Tue, 04 Feb 2025 13:40:01 +0000
Received: (at 63620) by debbugs.gnu.org; 4 Feb 2025 13:39:14 +0000
Received: from localhost ([127.0.0.1]:43158 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tfJ90-0002g6-AO
	for submit <at> debbugs.gnu.org; Tue, 04 Feb 2025 08:39:14 -0500
Received: from mail-japaneastazlp170110002.outbound.protection.outlook.com
 ([2a01:111:f403:c405::2]:29832
 helo=TYVP286CU001.outbound.protection.outlook.com)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <acohen@HIDDEN>) id 1tfJ8x-0002fn-9x
 for 63620 <at> debbugs.gnu.org; Tue, 04 Feb 2025 08:39:12 -0500
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=j5dTzpjXQbVNPZvdDiFC1FrBHvqRzK1K9h28TE4JfvC24g0isG3i88a61/sqfrPoOyniK/Hl5qxyu7zWJ9EpV93uHLc75yPjWWXtv0OxCDtleBSr0j26gkCiaM9sz3IHCTzulg0FSKvqjjkS4Yt11nrI5IKukwpJ23FBSaPycuuBq7Ze7SkKvsftch4FRHHpDiMk3SCsfYDlIilZP/ysiWH9voyCfHGnLMtkldTARL6X3/Z3fvBqUEArLMvHWkG0+oZYCcNmoLOypINh553pv82dPU0d3kh8Q//sQHvPtAPWIeBGF9AtT/HRoHioDF28aGEnlwPSK+1iES7s59mgbw==
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=qOrBkDF91FIM4zET+c+X6EyLmFS1CH37uYd5BJQOGrw=;
 b=mRz+bCDKi0hrefkyAUARFTvMB+LeSxPKtP2IkyydFX5L8zr1ziJPBB3sWBeLZraX8sDOLwDsN8ghAuU8NGeWLWnjjws4Br9hpvn3ZW7he8WHVltNSR8BwpzrlI8Jem+K4bW76x9awY80bbdzS77DfJQ2CtZIMxg0OSB92sVAUdYVv+S6GcVRsAA+zXk09RPl5E86MgahkbBgW9TSuZu11p4doAo/Q9Cb91mwzhecQZE1TklzspQENkouAdIlFouAHMRIZVPrQNs5s3WQf0scmR+qXwJVlwAL9KPlTyOsA4X9TPj0JB/kgyX0yg7EVr4wgLTBB+01P7VB21VY4a3SJA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=ust.hk; dmarc=pass action=none header.from=ust.hk; dkim=pass
 header.d=ust.hk; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ust.hk; s=selector2;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=qOrBkDF91FIM4zET+c+X6EyLmFS1CH37uYd5BJQOGrw=;
 b=roqFxzljHWwzhk6zF+ZePAj31X5+2GzKFq6C33ayJWjm6JhLfgPJnJh3Poy6xBSjA1tBiaKOX99WA2WPN/cS91wQZSGLc/6MYThVWB3qMGTdmBf3PmPeGz9SZ2E32yc7kI4V6G6GejNaw1InNHQhsYtSzcuJ89QbPc68UAIQvAT2UsNRWmBZzsRrE5i+NEe5XzHtVq2PSWQPe1onDVO7SrzgdY7pcKbWwUnng5mi7PY6Ncl+Wr9vCZ5/MS+s9JEZLXINOXIhLb0udzNDy/orobwcN4j5L5b4aqkiCajqGIEZQ+FgGmQdBLQ2zflwRwMQYjwgeNomKK/oh/F5gOyWkA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=ust.hk;
Received: from OS3P286MB1877.JPNP286.PROD.OUTLOOK.COM (2603:1096:604:1bf::11)
 by TYTP286MB3960.JPNP286.PROD.OUTLOOK.COM (2603:1096:405:185::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8398.25; Tue, 4 Feb
 2025 13:38:56 +0000
Received: from OS3P286MB1877.JPNP286.PROD.OUTLOOK.COM
 ([fe80::4b6e:c37e:4327:cfab]) by OS3P286MB1877.JPNP286.PROD.OUTLOOK.COM
 ([fe80::4b6e:c37e:4327:cfab%4]) with mapi id 15.20.8398.025; Tue, 4 Feb 2025
 13:38:56 +0000
From: Andrew Cohen <acohen@HIDDEN>
In-Reply-To: <8634gtc0k7.fsf@HIDDEN>
References: <87fs7qmw00.fsf@HIDDEN> <87lehinlvg.fsf@HIDDEN>
 <87y1ky83du.fsf@HIDDEN> <87legr1tn5.fsf@HIDDEN>
 <878qqmz99g.fsf@HIDDEN> <8634gtc0k7.fsf@HIDDEN>
Date: Tue, 04 Feb 2025 21:38:53 +0800
Message-ID: <87seot3k42.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
Content-Type: text/plain
X-ClientProxiedBy: TP0P295CA0054.TWNP295.PROD.OUTLOOK.COM
 (2603:1096:910:3::18) To OS3P286MB1877.JPNP286.PROD.OUTLOOK.COM
 (2603:1096:604:1bf::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: OS3P286MB1877:EE_|TYTP286MB3960:EE_
X-MS-Office365-Filtering-Correlation-Id: 52dc0bd0-e22e-4d99-8ff2-08dd452145c2
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|376014|366016|7053199007;
X-Microsoft-Antispam-Message-Info: HJKL4HW1zBI6Gg7i1cdxOM1Xx2e+ITymuNy/+8jiOLCOMILw2WKlJARgtuAd0O6HOQZugT5ph4qktQaeWjb54+cxSkalq3SIYcDGZScsiryM+8won74ijAV7iM1Yo0Y/1Iwyyu3ZHSuxs1XoXGqTfzpXWaOC2FfyrfyCwxYdBVCiIJPFIcxGlF6HlmFRKuchYn6or35Bb4BEUUKL0U8f8H7kplbFE9lIMx1+t/2pSEqt3P2KOEDxuF1rtoamrzObUUmqFrE2b1oKGHk8ZMz3DZb+5ripJB6xb3PVmeY1Dz25xJ7NmnxK0UEXYZt4/FiNpxD6HsVGhBYbBBM2HFOeu5XVwFjyS8xwm+3KLcJp2n5dKJDVFM8aCOyA65JqEkmrK1DialLyHqkMyANn71qtiCSpOzlCrABEtVRUwrYE3pJna93udjEpaEMI0Ic1FE10abgledldElNLkxWvlCX5tLk/kgqC2JHocI0MDM0YTQ6eZnOQciQRtJQ1mam5wgLo3p1soWlsAnLLvGSRg0i8PUoB8OHEeqsCUNIRj1atjjovldOUX3IN+TjnBNnKKfvPJ1oZOOiR02VQ02B8/5WYvNWlBLpSShonxLxNDpEbI0S243eYUoVty7YY9dzoSbhA39CktCG6xVeCKV0Fjem5wFx9MjVBf18K6LOOiT+IAzN7BAiyysGkMsPOm9Q1/UhIK7Ys5w9mDRUxhPiOh6qnp2Jse8uPPtdEFcPOrIjC/+eI96I4i4MWypihrTREYJlBpXwYOjKSlpDmfhMvh9w3GNQHvxCUiaUrtlKU1WqOHNcD4VXbSfIJvgGKxr676E8lhyaoV+Ft3hyqIEL54guvGNXSrxeiEwhUZp332EQBhp4/GY+tnylY/iQjdMfxPb0qblfvyfrh2Qs4XSiHl2Kpc25i044YX90JXGOTXrEywBckVsbrKnkJWKhzM92UIrfNDejErqOKmcgiE0QSvNqKUcfu3uHn2E2Kd3Opwf9BkulunQY0exZbTlq8oO+OxuJ2+wnjqXuHh1cpPp9/6yZWw0Ht3XCwHxjje61kfxUs1Ohz0tm0eVwIQ3WuiyIis6KerjsDPfiCBnRF5CRY24td+PeFVqoqBUB1ZdZRNEGK6Jz5ZhV4MYzJojUd/oGbO9K8MWkpK2RHIQ/v4DTpuYlbDhS8kGtWyBdXR7GPGunEApJF154bCxuKVTNkXc+Wy/BXrAEM2PvgXpqey6+d/lKk38MSpQWxMe475mQeJb+ybq3wzHQf9UikgsVdWnUpDxD6hTESDL/IzZfZI5Vp4S0C4fOIOS01DNak60+Y04tJnt+CaoSEyp3WyIedW6QA80f0foNNO77waKek93XzeVkHNtQrvVplogqB+DVBzh9bABe5SHPyd447osaNamX0N2Ak
X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:;
 IPV:NLI; SFV:NSPM; H:OS3P286MB1877.JPNP286.PROD.OUTLOOK.COM; PTR:; CAT:NONE;
 SFS:(13230040)(1800799024)(376014)(366016)(7053199007); DIR:OUT; SFP:1102; 
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: K8qFVy7DLpyRMwVPxScDxm4+sNLxCe7NIUb9Nm6CUpsgh6UnCj5smfjEBurLdlqlLAdfifTVp/wZg7VnkOYg4dzhYpRugiNIEbOZB14f4R4GWcBzDZWTzfGhYW5I9t9SKLGjFcnKXCsli1Ca8NGmCPVNbEyQJhvAkMddt/RUY/z1iDhYaquc1N8mc4QeigqMypL+PgOaRWtqf4NTXj2hl1ZRx8WYPsINZ2fv9OVYrHAcBrEcGbz1or33wwbrmT3RkVvOAUhfNmZVln9/SGbyo/YEF1wTm5UwywFb8xYHSOzmdWbum6uY5/kwqyGHQBp9viUMLNWATaw8ftpDxjAjFdFQEUTQL+hooszjk+RAg5NqIRk3VxyWJDcjIHA28WAFLBl2Y7Exu/QNuoyr4DMI5uRbF237xvNpYEepFNlWbU2HFe+MmCT23I1I26T8myD7a7PJiHokEgJce6V9jQm5lkl3BigpphDdARgIatibT63bbO+gN6AbCGMMS3hAhQ0M1s35Cuh9gjIS78aWXzkVT07wop5RwRrrzTTbQjlYRTUtZUz1JvSvrl9n11CwcIN222MYy29YyI5kk8i55qBLRVKzuC/xFavd8v1lnu+jccqj3l3ZwTNtl5Uld9rd36u08V/ta68Pqh3ynqlkxsvOAAnwhWUDWMR9/1dFEC6azAatY9GfHDwFgQAQja31sNfp5K2R2TOLsqS4TI21+RsRYfpW/sCM8OD8UGh3lFLEldaJEnVKprzmalA6dF0RDz8KUNVUVpTHbQICBhG/GRbfpQWCxuuLN9B1pXr2T8rV3YDKcJPtvMjcytobV3QCZuFNPn4Qx/c789p1RJV2fmhy4LMGlUI3beGfp5pYsKFcckCiJHRSOZqdAcVxMtsz6oSBE9rZc9kIzb6CF06msOr9tz6tv/fGU4g0jx0XV+GF2+qYx2L9dHW4GbZuxXidDZewGxA3vN/MD4tckqY4j5cry7eD1wA5TB0SzxGxeWfOovIrT/v3Kt3UoFGPZ1G+GdEq8rvQtT+EeiACF0t3MOsrcrhl5EXBVEiOfEvy5Ere4cYyLv0nmuiIX09SJ/8J0HiE9LjOiTEuPtBr+vEHjHXi8CI6di6DKRqSm+G3G2VN8WAWzwpSw7FKg870uzZvpfWA9rCpQpXjLjmSSGeKShWInYKj32JU9aArLcj5kEQ0tBumAtWsgSSX1zpPrDz4LuCu7hTtl7jBMrYGY0P4PB61KNRxtVl5rV9gS7uJghmEEutTkIruRODogb5wVFAR0Fb0cJt4Y/PPx3P7pjfg+B9JlmiYYUz/a0LBCbIOjTPQIMXpYC0wmQMyIjeWQJ1U/SX3GsbzGxOJi3em3SzmazYe9nItnFuq2bwBvQPxIGggUkUz2eyeuYrnugjiHrKp1fk2DiatlpeNDaJZVT1KP2fcrp5EjUZEiK9vjLvUz7ukbxu25V4ZlCXgdNDJnDw4s4ouYsSf6EG1EJwD0r3wPNxtazksbSV35PBIdb/T5temTMC8bAH57Xvpi3FXU8XyZ/jYqVmvX7LwZu0VmWcLfk0eDauvdxGWWfpAAzASp9RTI15NIAWgDzWLhJ7ZP5LwVSg1
X-OriginatorOrg: ust.hk
X-MS-Exchange-CrossTenant-Network-Message-Id: 52dc0bd0-e22e-4d99-8ff2-08dd452145c2
X-MS-Exchange-CrossTenant-AuthSource: OS3P286MB1877.JPNP286.PROD.OUTLOOK.COM
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Feb 2025 13:38:56.5478 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: c917f3e2-9322-4926-9bb3-daca730413ca
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: fSYdWrdPaCMLEuP8llcy5JDfWm6PBNrOUvpIafiKuSELiSuxh2l47kGa9nxWfdEG
X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYTP286MB3960
X-Spam-Score: -0.0 (/)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

>>>>> "EZ" == Eli Zaretskii <eliz@HIDDEN> writes:

    >> Cc: 63620 <at> debbugs.gnu.org From: Andrew Cohen <acohen@HIDDEN>
    >> Date: Tue, 04 Feb 2025 11:19:55 +0800
    >> 
    >> I have not had much time for Emacs outside of my regular
    >> activities, but I made the changes you suggested and have been
    >> using the package for the past year. Unless I hear objections,
    >> I'll push the package to master sometime soon.

    EZ> Thanks, but could we perhaps implement this in a way that is
    EZ> less modeled on D-Bus, thus allowing different back-ends on
    EZ> other systems?  For example, could we have the D-Bus backend
    EZ> inject an input event, which could then be bound to a command,
    EZ> instead of directly calling the hooks from a D-Bus event
    EZ> handler?  That would allow adding other backend, which will
    EZ> generate the same input event "by other means".

    EZ> Stefan and Michael, I'd appreciate your comments, both on the
    EZ> patch and on my proposal.  Maybe you will have other, better
    EZ> design ideas.  (FWIW, I've read Michael's original comments in
    EZ> this bug report as saying things similar to what I say above.
    EZ> But either I misunderstood or the patch as posted doesn't do
    EZ> what Michael suggested back then.)


Thanks, I'm happy to make changes. I think I understand what you are
suggesting (and what Michael suggested earlier) and it is certainly
desirable to make this more independent of D-Bus. My programming skills
are extremely rudimentary so it might take some time (or I might fail
altogether).

Best,
Andy

-- 
Andrew Cohen




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#63620: 30.0.50; [Feature Request] run hooks on sleep/wake
Resent-From: Eli Zaretskii <eliz@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Tue, 04 Feb 2025 14:50:02 +0000
Resent-Message-ID: <handler.63620.B63620.17386805573667 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 63620
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: patch
To: Andrew Cohen <acohen@HIDDEN>
Cc: 63620 <at> debbugs.gnu.org, michael.albinus@HIDDEN, monnier@HIDDEN
Received: via spool by 63620-submit <at> debbugs.gnu.org id=B63620.17386805573667
          (code B ref 63620); Tue, 04 Feb 2025 14:50:02 +0000
Received: (at 63620) by debbugs.gnu.org; 4 Feb 2025 14:49:17 +0000
Received: from localhost ([127.0.0.1]:43382 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tfKEm-0000x4-Rt
	for submit <at> debbugs.gnu.org; Tue, 04 Feb 2025 09:49:17 -0500
Received: from eggs.gnu.org ([2001:470:142:3::10]:45198)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1tfKEj-0000wo-Et
 for 63620 <at> debbugs.gnu.org; Tue, 04 Feb 2025 09:49:14 -0500
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 <eliz@HIDDEN>)
 id 1tfKEc-0006hF-SK; Tue, 04 Feb 2025 09:49:06 -0500
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=CDwoTnclByj4NG8DoMmbvCNybsZS4dHevLcvmE/a06k=; b=Bf1vgqxpqUlm
 RF0Y4E+GdrYzYWlIJCmK8eFsvEPhly3b6b7TSm0nWeNMtyPC5uKM4mL9cNwWDGgzvmUeFwKK1uEgu
 zI95gT1P4+PNSuAP5RxPCdrBHzBRyMPP+Pf1GZxwQzW7fxtXY36EgUohHqk0ei6hx/hIBomJz/yD4
 J/cbfSAiYXA4dDjKo7UH/fEZNTg8PFXVCU/CNvq7SBOqbljL7cHIiRLkSCJ+tVUm+UGmX19DZhQcR
 EJZ4e4MMlIvqUYjvohww6mcHxitl5lmlHbcmUElYJOTFcTHo41cpYVPQIsyCIfTb1AXgxr9ttSQ3X
 bAANbc7kIpCsksLKb+x4mg==;
Date: Tue, 04 Feb 2025 16:49:03 +0200
Message-Id: <86r04dahpc.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
In-Reply-To: <87seot3k42.fsf@HIDDEN> (message from Andrew Cohen on Tue, 04 Feb
 2025 21:38:53 +0800)
References: <87fs7qmw00.fsf@HIDDEN> <87lehinlvg.fsf@HIDDEN>
 <87y1ky83du.fsf@HIDDEN> <87legr1tn5.fsf@HIDDEN>
 <878qqmz99g.fsf@HIDDEN> <8634gtc0k7.fsf@HIDDEN> <87seot3k42.fsf@HIDDEN>
X-Spam-Score: -2.3 (--)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

> From: Andrew Cohen <acohen@HIDDEN>
> Cc: <michael.albinus@HIDDEN>,  Stefan Monnier <monnier@HIDDEN>,
>   <63620 <at> debbugs.gnu.org>
> Date: Tue, 04 Feb 2025 21:38:53 +0800
> 
> Thanks, I'm happy to make changes. I think I understand what you are
> suggesting (and what Michael suggested earlier) and it is certainly
> desirable to make this more independent of D-Bus. My programming skills
> are extremely rudimentary so it might take some time (or I might fail
> altogether).

Thanks, and don't hesitate to ask questions where you have
difficulties.  I'm sure you will find here quite a few people willing
to help.

To make it clear: I think this is a very useful feature to have in
Emacs, given today's proliferation of laptops and devices that like to
go to sleep, so I hope we will be able to make it work on as many
platforms as possible.  Which is why I think we should try
implementing it using the most portable and flexible mechanisms we
have of triggering stuff in Emacs.




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#63620: 30.0.50; [Feature Request] run hooks on sleep/wake
Resent-From: Michael Albinus <michael.albinus@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Tue, 04 Feb 2025 14:56:01 +0000
Resent-Message-ID: <handler.63620.B63620.17386809325731 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 63620
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: patch
To: Andrew Cohen <acohen@HIDDEN>
Cc: 63620 <at> debbugs.gnu.org, Eli Zaretskii <eliz@HIDDEN>, Stefan Monnier <monnier@HIDDEN>
Received: via spool by 63620-submit <at> debbugs.gnu.org id=B63620.17386809325731
          (code B ref 63620); Tue, 04 Feb 2025 14:56:01 +0000
Received: (at 63620) by debbugs.gnu.org; 4 Feb 2025 14:55:32 +0000
Received: from localhost ([127.0.0.1]:44057 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tfKKq-0001UN-7g
	for submit <at> debbugs.gnu.org; Tue, 04 Feb 2025 09:55:32 -0500
Received: from mout.gmx.net ([212.227.15.19]:35481)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <michael.albinus@HIDDEN>)
 id 1tfKKm-0001Nm-Va
 for 63620 <at> debbugs.gnu.org; Tue, 04 Feb 2025 09:55:29 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmx.de;
 s=s31663417; t=1738680919; x=1739285719; i=michael.albinus@HIDDEN;
 bh=51DGarzsjRIW+/aBvBz0q2mELjx0fp09ilLXE5y6oD8=;
 h=X-UI-Sender-Class:From:To:Cc:Subject:In-Reply-To:References:Date:
 Message-ID:MIME-Version:Content-Type:cc:content-transfer-encoding:
 content-type:date:from:message-id:mime-version:reply-to:subject:
 to;
 b=U8eyYw5FDYBBGqWTzLC06oj/15w5burR5JNE6RRW8VXnXEXagXniXFrXrNvQacrW
 HU/wVP3RsSvLmDWMXEe5cpP9M3FBHc1l2enuwPVq42aOFo2dESATk1gL1hTR6P8SJ
 2XpXhg8MGftt2agQVygGZ5+mzxUgxB/xzn+xyzaMo7invZTzUlaGhntaEbs1JqVz4
 YRHd0hUoFlO2lAO2ndeRa8X7h4Hm8YchZIvNWSDNeksPXLBN0DagWc6JXVcCT8gO/
 40zevcseCubXqlcQ8SwnWtOqMco4mSLB7mVIynZDu0VtwNRzGSS4RR+bbqfaWe69h
 5d6/wIXPonGzSBHicw==
X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a
Received: from gandalf.gmx.de ([185.89.38.155]) by mail.gmx.net (mrgmx005
 [212.227.17.190]) with ESMTPSA (Nemesis) id 1N4zAs-1tGCmJ0Vl6-00wws0; Tue, 04
 Feb 2025 15:55:19 +0100
From: Michael Albinus <michael.albinus@HIDDEN>
In-Reply-To: <87seot3k42.fsf@HIDDEN> (Andrew Cohen's message of "Tue, 04 Feb
 2025 21:38:53 +0800")
References: <87fs7qmw00.fsf@HIDDEN> <87lehinlvg.fsf@HIDDEN>
 <87y1ky83du.fsf@HIDDEN> <87legr1tn5.fsf@HIDDEN>
 <878qqmz99g.fsf@HIDDEN> <8634gtc0k7.fsf@HIDDEN>
 <87seot3k42.fsf@HIDDEN>
Date: Tue, 04 Feb 2025 15:55:17 +0100
Message-ID: <87pljxwyi2.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-Provags-ID: V03:K1:2cbNsKBPwjYoZXZnHexOg78M0v50jLmFikAR3mMB0HaM6iL22Te
 +wbXGAnOmrRhz9xEvZ/AvxF86Xxog5905hFmnBTQOyZ4e905LhGiA/0pdxgeqXA81cH8cXd
 LU3/VDLBhm8GjF98XpfDVoWNwm2b0eYD7seQoq7JZjZeFkx1HZX4htzHT/xEnI8w/2GYXo9
 3iB8/boud1Jjd6ngrUJ3g==
X-Spam-Flag: NO
UI-OutboundReport: notjunk:1;M01:P0:uv/ioASZADY=;TjhUDo/HvrdLTp3jVcp04gzVNQ3
 57kHRKyrPXI90XLclAdiuUO4DEZ7UvXbE+WJnUm+LBDhLrd3HbDm0VguoIpe+vwJWCIqzQ/jn
 adVIKMPSb7+fJppQ5TT6rSF00pDWNZkswYxEwt8qJ1S6xKCeDNwUHEFAIOztkbIH176II0gMd
 +1Xba8PvJ/MjSutW29tnm3DBE/7c2Xq+HI1KDX/GR8AdFWUA0MZd7bcJxrNQ0L6LH1wh3l0WR
 hnFTqycDY+zLhDtFKXlCzQNn6Fxv6PhLxAJF2IlLhRVRnn0KtUCDIWDYnoTXkxntxihop1Klz
 ayBkLKh6RoSTJH1UIMnbSMM61jX4VOz6ohgAHlVFOs8vkz6Z6d0Bls2gn4/6g+KJxltykUGbk
 RBdZVg+p7tt30v0nN5aQBsQ7Y6hnSJYqhP2uNXlfZr6J/h/SGri5gsfGsplDMje3GHWXX0WLp
 ypNUlWMuJMG5FORqEiRmfn2wdqgtvBDDhLSqkpCkmvf55ApRXbE2j6KpquoKp5HCQsp7b3nPf
 s/WI8bW6OUiG5OQJitOBuwx0JEDwKnoadqf8+6DQQV0KzKu9JZT0Uxu+dZ/sshtuQ56nqD0UH
 Am9LmvmFDWgOtOjbR2f1vTuXPa6CPlw4EnlGtM8o2PcpnWi5QejrgS1frVHwlNTHieGgWYtsg
 Hu25zeq7G+n2ogaSGFvlZ27nclB4rSdm/EzbSECvy/07STwzWdP0xRTDl8mYbXeJ1wAivWPGn
 W/C7ZJy6T1FZfG5Ww/QWkqD4EHI6rAxaurKZqtk0WRS6XuUPiIt64DHvoqSG6QPIzn7a1G+Eg
 rR9lGJ0x9b76UU/GJZuTu3Mr4JrUfiC+Gffk2E3zo9VapbHdht4eTGSghveB61tZBttFUf7Gq
 LTZKhHLrZnbZAe/wnMfxURiwQv9xa+Qo7e2CxmHRkWJ30rWX7TsxOqHWk/ekrqkj0Z4JakyaN
 NMCd1X6GTRrxSAQ+oPBsMV63slBOheQb2vjSBGf0yFeLaGWgFUzrNNXz6Yu8K+G5SrRcvs926
 1Qq3M8LMtnz/nSoNAVqnUA+L2QceFJB3PpgbD1TZtMoZq0maU+zg6MSJj6mD8qSKQCFAgsWOK
 IxmEn9r2O2k/Z6tw8m0NCs8pj37wQTwEmo42Qf0DpbbgzAuOpYWdbV8T0HnG/DbZ+TNQtJ7tB
 Xg3Mgk+66t9tlZDaIXLk3HvTmMyXSLTKciztaAyJyOLvM3FFH/AHdWata8wYKCeqNdjWTunfF
 o2w8ycJzCY6QC+QYEyyQaGt/q9TYHPlfVQOQhgU/Oc0MzxJHJUZ3XXpKNufgUYjaqS9SW0B9E
 A/LrSDmAP3mFJh1sTCt6x+mgY82yKfMvqtEyHoH0Qj8x8I=
X-Spam-Score: -0.7 (/)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.7 (-)

Andrew Cohen <acohen@HIDDEN> writes:

Hi,

>     >> I have not had much time for Emacs outside of my regular
>     >> activities, but I made the changes you suggested and have been
>     >> using the package for the past year. Unless I hear objections,
>     >> I'll push the package to master sometime soon.
>
>     EZ> Thanks, but could we perhaps implement this in a way that is
>     EZ> less modeled on D-Bus, thus allowing different back-ends on
>     EZ> other systems?  For example, could we have the D-Bus backend
>     EZ> inject an input event, which could then be bound to a command,
>     EZ> instead of directly calling the hooks from a D-Bus event
>     EZ> handler?  That would allow adding other backend, which will
>     EZ> generate the same input event "by other means".
>
>     EZ> Stefan and Michael, I'd appreciate your comments, both on the
>     EZ> patch and on my proposal.  Maybe you will have other, better
>     EZ> design ideas.  (FWIW, I've read Michael's original comments in
>     EZ> this bug report as saying things similar to what I say above.
>     EZ> But either I misunderstood or the patch as posted doesn't do
>     EZ> what Michael suggested back then.)
>
>
> Thanks, I'm happy to make changes. I think I understand what you are
> suggesting (and what Michael suggested earlier) and it is certainly
> desirable to make this more independent of D-Bus. My programming skills
> are extremely rudimentary so it might take some time (or I might fail
> altogether).

Yes, I still believe my proposal stands. OTOH, nobody else has taken the
stab over the last months, so I don't know whether such changes will
happen.

FTR, the majority of my comments on the code are integrated. What's left
could be done later. What I'm missing is the documentation in the Elisp
manual, if we integrate it into Emacs core.

> Best,
> Andy

Best regards Michael.




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#63620: 30.0.50; [Feature Request] run hooks on sleep/wake
Resent-From: Ship Mints <shipmints@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Tue, 04 Feb 2025 15:24:02 +0000
Resent-Message-ID: <handler.63620.B63620.173868259324200 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 63620
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: patch
To: Michael Albinus <michael.albinus@HIDDEN>
Cc: Andrew Cohen <acohen@HIDDEN>, 63620 <at> debbugs.gnu.org, Eli Zaretskii <eliz@HIDDEN>, Stefan Monnier <monnier@HIDDEN>
Received: via spool by 63620-submit <at> debbugs.gnu.org id=B63620.173868259324200
          (code B ref 63620); Tue, 04 Feb 2025 15:24:02 +0000
Received: (at 63620) by debbugs.gnu.org; 4 Feb 2025 15:23:13 +0000
Received: from localhost ([127.0.0.1]:46218 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tfKlc-0006IG-Gm
	for submit <at> debbugs.gnu.org; Tue, 04 Feb 2025 10:23:13 -0500
Received: from mail-ua1-x92f.google.com ([2607:f8b0:4864:20::92f]:49442)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.84_2) (envelope-from <shipmints@HIDDEN>)
 id 1tfKlZ-0006Hy-Fq
 for 63620 <at> debbugs.gnu.org; Tue, 04 Feb 2025 10:23:10 -0500
Received: by mail-ua1-x92f.google.com with SMTP id
 a1e0cc1a2514c-85c4c9349b3so1396478241.3
 for <63620 <at> debbugs.gnu.org>; Tue, 04 Feb 2025 07:23:09 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1738682584; x=1739287384; 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=7hTiBu9MoYHteqbYIJTV5x9sw/+K1pZEoGIO52iynCo=;
 b=dEsKVEU7FAx9JM/F/fLcfftv2j5jwBUkV427t+MUKIAnAPMMrdBi9RIJ3UMv2Fm+6Y
 CMGOLz2XAKquIK3j4mn6PQ0CpoBc4opFTKu2ogcdX5QFcCiatd/oCmjO+1fYmA4rU+jO
 fipYMBt6hPO7x8B1bqfX8jb16e/XAAskOVc2Y+GiP5AYkr7lR5qsu+lI2AxWAGAV0AG5
 gmqtK4KMWT+pYZBJLQbNIcrIeWL9ZJuldJJSzXWcOV2uFub++rAbUx5snKFqIPouD/lJ
 8fTGhPf9dR8fYepewIY73Z8LdoD3WZA7pUua1BQ837P3IlGlQoXU5EYIBLOnIec7+KO/
 O2EQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1738682584; x=1739287384;
 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=7hTiBu9MoYHteqbYIJTV5x9sw/+K1pZEoGIO52iynCo=;
 b=TrdRhcsPNnfLhrGlbR67Ua0jM/iuXvTkvmxKKEGBOmJnvVdh0VUrNcs6WuvmGRUSlm
 SVqtYaIZVArDY6Wxm+lPDQMDvHfUgpYyXUsAhLu/D8WVsK7skphQZyaYLXm5XnhLw75+
 lS4OntNmGIQqYKrbU0LJFfuaZIKtSrcYh1HMOQ2hK8aGQAgX1NRI5pDIqwM/swzZtQcX
 R7yzyA26kaedkJOomMXZPrpFZLy7+1+A2H/Xi7Vr/QS3mtB3RSdu0pmw+tVJUL74Voys
 1kToItujM0L6QcAKs1MFvOedU3Y2XP8FrMPx5hJoa+txG93Jjw217dOpwGd7uNgLKfkU
 l3WA==
X-Forwarded-Encrypted: i=1;
 AJvYcCVe6+ndbE7bxIjBbbRiVcX3t72hhdmqh+IIoeOFpgr+nf5J6m4XAGWdx31sekw1uc/vlMtZEw==@debbugs.gnu.org
X-Gm-Message-State: AOJu0YxrVYZWzgY09DdTTM6wzh+SBv1rGKiB9bd8i6ccGv7br1roWyJd
 z1Xkm9G8SCBoumP8xpLuFsSA3k7DS78XMRf3vy0DL2KzucuD0xaOgDqkB68e1xbrgEOjifT1ycd
 4DGZaVwDA2y38HDTcKf8YfSBlUQE=
X-Gm-Gg: ASbGncttk8xHnGl6i8m2jpFKmhHdLul5RMQgkLFcgkZSq/2shNgXcH49ysqW3kRty1H
 X3spintAVQ10Z7E/SVWPeb5ClX39UWwXHpi2WmdCetJyeBkdY1IF7pWcLTYyzhb0WjXK6j16B
X-Google-Smtp-Source: AGHT+IHu+b1bbjLM0XOFqtKa6gSmQfxXOMjsPTcYLSlzLAqyiVO7y3IUyJ2snI6DNFvx5zrfn2gO7+ZTRgaMaNM5dhY=
X-Received: by 2002:a05:6122:882:b0:51d:eb9b:bf3 with SMTP id
 71dfb90a1353d-51e9e5190f5mr19053366e0c.8.1738682583749; Tue, 04 Feb 2025
 07:23:03 -0800 (PST)
MIME-Version: 1.0
References: <87fs7qmw00.fsf@HIDDEN> <87lehinlvg.fsf@HIDDEN>
 <87y1ky83du.fsf@HIDDEN> <87legr1tn5.fsf@HIDDEN> <878qqmz99g.fsf@HIDDEN>
 <8634gtc0k7.fsf@HIDDEN> <87seot3k42.fsf@HIDDEN> <87pljxwyi2.fsf@HIDDEN>
In-Reply-To: <87pljxwyi2.fsf@HIDDEN>
From: Ship Mints <shipmints@HIDDEN>
Date: Tue, 4 Feb 2025 10:21:05 -0500
X-Gm-Features: AWEUYZldwo8qbZAOYJhlXXd-L-d5Bj5dr8cyE622r1vFNgFXSTzNosGY_kR76PQ
Message-ID: <CAN+1HbpuZAs7BMNZx74WX2EhaAi7gKC5C5ZViaa9faUwjQ39Sg@HIDDEN>
Content-Type: multipart/alternative; boundary="000000000000c81d51062d5295eb"
X-Spam-Score: 0.0 (/)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

--000000000000c81d51062d5295eb
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Once an API is agreed in principle, I'd be willing to take a stab at an NS
implementation for sleep/wake events to exercise the API, and so we'd have
both dbus and NS. On macOS, it's basically "will sleep" and "did wake"
events, and I don't think there's a hibernate event.

On Tue, Feb 4, 2025 at 9:56=E2=80=AFAM Michael Albinus via Bug reports for =
GNU
Emacs, the Swiss army knife of text editors <bug-gnu-emacs@HIDDEN> wrote:

> Andrew Cohen <acohen@HIDDEN> writes:
>
> Hi,
>
> >     >> I have not had much time for Emacs outside of my regular
> >     >> activities, but I made the changes you suggested and have been
> >     >> using the package for the past year. Unless I hear objections,
> >     >> I'll push the package to master sometime soon.
> >
> >     EZ> Thanks, but could we perhaps implement this in a way that is
> >     EZ> less modeled on D-Bus, thus allowing different back-ends on
> >     EZ> other systems?  For example, could we have the D-Bus backend
> >     EZ> inject an input event, which could then be bound to a command,
> >     EZ> instead of directly calling the hooks from a D-Bus event
> >     EZ> handler?  That would allow adding other backend, which will
> >     EZ> generate the same input event "by other means".
> >
> >     EZ> Stefan and Michael, I'd appreciate your comments, both on the
> >     EZ> patch and on my proposal.  Maybe you will have other, better
> >     EZ> design ideas.  (FWIW, I've read Michael's original comments in
> >     EZ> this bug report as saying things similar to what I say above.
> >     EZ> But either I misunderstood or the patch as posted doesn't do
> >     EZ> what Michael suggested back then.)
> >
> >
> > Thanks, I'm happy to make changes. I think I understand what you are
> > suggesting (and what Michael suggested earlier) and it is certainly
> > desirable to make this more independent of D-Bus. My programming skills
> > are extremely rudimentary so it might take some time (or I might fail
> > altogether).
>
> Yes, I still believe my proposal stands. OTOH, nobody else has taken the
> stab over the last months, so I don't know whether such changes will
> happen.
>
> FTR, the majority of my comments on the code are integrated. What's left
> could be done later. What I'm missing is the documentation in the Elisp
> manual, if we integrate it into Emacs core.
>
> > Best,
> > Andy
>
> Best regards Michael.
>
>
>
>

--000000000000c81d51062d5295eb
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div class=3D"gmail_default" style=3D"font-family:monospac=
e">Once an API is agreed in principle, I&#39;d be willing to take a stab at=
 an NS implementation for sleep/wake events to exercise the API, and so we&=
#39;d have both dbus and NS. On macOS, it&#39;s basically &quot;will sleep&=
quot; and &quot;did wake&quot; events, and I don&#39;t think there&#39;s a =
hibernate event.</div></div><br><div class=3D"gmail_quote gmail_quote_conta=
iner"><div dir=3D"ltr" class=3D"gmail_attr">On Tue, Feb 4, 2025 at 9:56=E2=
=80=AFAM Michael Albinus via Bug reports for GNU Emacs, the Swiss army knif=
e of text editors &lt;<a href=3D"mailto:bug-gnu-emacs@HIDDEN">bug-gnu-emac=
s@HIDDEN</a>&gt; wrote:<br></div><blockquote class=3D"gmail_quote" style=
=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding=
-left:1ex">Andrew Cohen &lt;<a href=3D"mailto:acohen@HIDDEN" target=3D"_bla=
nk">acohen@HIDDEN</a>&gt; writes:<br>
<br>
Hi,<br>
<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt;&gt; I have not had much time for Emacs outside=
 of my regular<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt;&gt; activities, but I made the changes you sug=
gested and have been<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt;&gt; using the package for the past year. Unles=
s I hear objections,<br>
&gt;=C2=A0 =C2=A0 =C2=A0&gt;&gt; I&#39;ll push the package to master someti=
me soon.<br>
&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0EZ&gt; Thanks, but could we perhaps implement this =
in a way that is<br>
&gt;=C2=A0 =C2=A0 =C2=A0EZ&gt; less modeled on D-Bus, thus allowing differe=
nt back-ends on<br>
&gt;=C2=A0 =C2=A0 =C2=A0EZ&gt; other systems?=C2=A0 For example, could we h=
ave the D-Bus backend<br>
&gt;=C2=A0 =C2=A0 =C2=A0EZ&gt; inject an input event, which could then be b=
ound to a command,<br>
&gt;=C2=A0 =C2=A0 =C2=A0EZ&gt; instead of directly calling the hooks from a=
 D-Bus event<br>
&gt;=C2=A0 =C2=A0 =C2=A0EZ&gt; handler?=C2=A0 That would allow adding other=
 backend, which will<br>
&gt;=C2=A0 =C2=A0 =C2=A0EZ&gt; generate the same input event &quot;by other=
 means&quot;.<br>
&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0EZ&gt; Stefan and Michael, I&#39;d appreciate your =
comments, both on the<br>
&gt;=C2=A0 =C2=A0 =C2=A0EZ&gt; patch and on my proposal.=C2=A0 Maybe you wi=
ll have other, better<br>
&gt;=C2=A0 =C2=A0 =C2=A0EZ&gt; design ideas.=C2=A0 (FWIW, I&#39;ve read Mic=
hael&#39;s original comments in<br>
&gt;=C2=A0 =C2=A0 =C2=A0EZ&gt; this bug report as saying things similar to =
what I say above.<br>
&gt;=C2=A0 =C2=A0 =C2=A0EZ&gt; But either I misunderstood or the patch as p=
osted doesn&#39;t do<br>
&gt;=C2=A0 =C2=A0 =C2=A0EZ&gt; what Michael suggested back then.)<br>
&gt;<br>
&gt;<br>
&gt; Thanks, I&#39;m happy to make changes. I think I understand what you a=
re<br>
&gt; suggesting (and what Michael suggested earlier) and it is certainly<br=
>
&gt; desirable to make this more independent of D-Bus. My programming skill=
s<br>
&gt; are extremely rudimentary so it might take some time (or I might fail<=
br>
&gt; altogether).<br>
<br>
Yes, I still believe my proposal stands. OTOH, nobody else has taken the<br=
>
stab over the last months, so I don&#39;t know whether such changes will<br=
>
happen.<br>
<br>
FTR, the majority of my comments on the code are integrated. What&#39;s lef=
t<br>
could be done later. What I&#39;m missing is the documentation in the Elisp=
<br>
manual, if we integrate it into Emacs core.<br>
<br>
&gt; Best,<br>
&gt; Andy<br>
<br>
Best regards Michael.<br>
<br>
<br>
<br>
</blockquote></div>

--000000000000c81d51062d5295eb--




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#63620: 30.0.50; [Feature Request] run hooks on sleep/wake
Resent-From: Eli Zaretskii <eliz@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Tue, 04 Feb 2025 15:32:02 +0000
Resent-Message-ID: <handler.63620.B63620.173868307625981 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 63620
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: patch
To: michael.albinus@HIDDEN, Ship Mints <shipmints@HIDDEN>
Cc: acohen@HIDDEN, 63620 <at> debbugs.gnu.org, monnier@HIDDEN
Received: via spool by 63620-submit <at> debbugs.gnu.org id=B63620.173868307625981
          (code B ref 63620); Tue, 04 Feb 2025 15:32:02 +0000
Received: (at 63620) by debbugs.gnu.org; 4 Feb 2025 15:31:16 +0000
Received: from localhost ([127.0.0.1]:46259 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tfKtQ-0006kz-If
	for submit <at> debbugs.gnu.org; Tue, 04 Feb 2025 10:31:16 -0500
Received: from eggs.gnu.org ([2001:470:142:3::10]:46458)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1tfKtN-0006kf-Fj
 for 63620 <at> debbugs.gnu.org; Tue, 04 Feb 2025 10:31:14 -0500
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 <eliz@HIDDEN>)
 id 1tfKtB-0003J6-Dt; Tue, 04 Feb 2025 10:31:02 -0500
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=4S4CYPpFSPuAJUUItquQUVPpcffX+TnENFC2roFPBpY=; b=pXNPUsCsl1AZ
 eXIAue8pa3M6nnw8eRuGGtTGYXCNutgVOnxFrEDKs9zvnX0dGzpkd2UefWJvGaKlhFRscVwBywvkB
 E2KCR3lrZf47MLfFXn5rTvTuLBGIQwtw7VioeqGXrCQ0pvMBUwOSBQ2Z8CPpXGTFH2T+e+Rnnco+k
 ve8jgWBissMNIR1pt4+vhgsglPniP+IjHbKFilrC97W5fu3CkKP6WkNI96I2GEZikTbqou9dEBBFT
 N/J+jlp/CPunMO4FTIurS/hkqmn7KnCFrEs4oF3rTepUKF4hlwI2OWymn/8xnX5fwvTmFb59rAfo4
 z93gcSuOVTNmswI8/6aJoQ==;
Date: Tue, 04 Feb 2025 17:30:51 +0200
Message-Id: <86msf1afro.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
In-Reply-To: <CAN+1HbpuZAs7BMNZx74WX2EhaAi7gKC5C5ZViaa9faUwjQ39Sg@HIDDEN>
 (message from Ship Mints on Tue, 4 Feb 2025 10:21:05 -0500)
References: <87fs7qmw00.fsf@HIDDEN> <87lehinlvg.fsf@HIDDEN>
 <87y1ky83du.fsf@HIDDEN> <87legr1tn5.fsf@HIDDEN> <878qqmz99g.fsf@HIDDEN>
 <8634gtc0k7.fsf@HIDDEN> <87seot3k42.fsf@HIDDEN> <87pljxwyi2.fsf@HIDDEN>
 <CAN+1HbpuZAs7BMNZx74WX2EhaAi7gKC5C5ZViaa9faUwjQ39Sg@HIDDEN>
X-Spam-Score: -2.3 (--)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

> From: Ship Mints <shipmints@HIDDEN>
> Date: Tue, 4 Feb 2025 10:21:05 -0500
> Cc: Andrew Cohen <acohen@HIDDEN>, 63620 <at> debbugs.gnu.org, Eli Zaretskii <eliz@HIDDEN>, 
> 	Stefan Monnier <monnier@HIDDEN>
> 
> Once an API is agreed in principle, I'd be willing to take a stab at an NS implementation for sleep/wake
> events to exercise the API, and so we'd have both dbus and NS. On macOS, it's basically "will sleep" and
> "did wake" events, and I don't think there's a hibernate event.

What I had in mind is basically to have the D-Bus handler push a
special event onto unread-command-events, and then that event could be
bound to a command.

Michael and Stefan, does it make sense to work like that with D-Bus?




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#63620: 30.0.50; [Feature Request] run hooks on sleep/wake
Resent-From: Ship Mints <shipmints@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Tue, 04 Feb 2025 15:38:01 +0000
Resent-Message-ID: <handler.63620.B63620.173868343127014 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 63620
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: patch
To: Eli Zaretskii <eliz@HIDDEN>
Cc: acohen@HIDDEN, 63620 <at> debbugs.gnu.org, michael.albinus@HIDDEN, monnier@HIDDEN
Received: via spool by 63620-submit <at> debbugs.gnu.org id=B63620.173868343127014
          (code B ref 63620); Tue, 04 Feb 2025 15:38:01 +0000
Received: (at 63620) by debbugs.gnu.org; 4 Feb 2025 15:37:11 +0000
Received: from localhost ([127.0.0.1]:46281 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tfKz9-00071e-5h
	for submit <at> debbugs.gnu.org; Tue, 04 Feb 2025 10:37:11 -0500
Received: from mail-vs1-xe31.google.com ([2607:f8b0:4864:20::e31]:53718)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.84_2) (envelope-from <shipmints@HIDDEN>)
 id 1tfKz6-00071L-LG
 for 63620 <at> debbugs.gnu.org; Tue, 04 Feb 2025 10:37:09 -0500
Received: by mail-vs1-xe31.google.com with SMTP id
 ada2fe7eead31-4b11a11a4f0so1689245137.3
 for <63620 <at> debbugs.gnu.org>; Tue, 04 Feb 2025 07:37:08 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1738683423; x=1739288223; 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=/W1UVEaK+3oawP2LtOrp51Q4dxPBnqWOO9BcutVd0YM=;
 b=Fddt0IBmTe+5OpBMRo0zDDuJPhDrBQFpw9ly2OFgQflZSX4f6y9QLp+RKiyjY+w7Wy
 Pbg4rJICh6aXcjSxxxX3KZEfMbpMFQv3h9aU7biDxunEuDKnqxDksteYX7MetLAoLYPd
 IAJ7sNPuKZR6gKIojd7yO7HPGq7l2JwsEPmHXMBH7oxmrY0jEqAeVH+9Sl0WMwZ1htV7
 hlvQefajrxxhctLJibN8CmTcZWiW47LvvqSSfqRhulCrH5+TOUsIqm87fD0Ncv2OrXVi
 I1uLCU9g1/PirYy4pENWcvZYkNMXKSyOMsDZlPl8DYvcERdT1VUeACQnklNCe1VtQZAg
 ziMw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1738683423; x=1739288223;
 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=/W1UVEaK+3oawP2LtOrp51Q4dxPBnqWOO9BcutVd0YM=;
 b=DwKWLXnSssFc7l4rLZmsrXJ6Y9/q1hCSz6KygNIzrPdlwxmLqx2GwLYRIDTScrv/+8
 dWPjGsaknvS1dFJ9W4tknQNK12ArFn5ymFgi2nBmxm1Uzh8ROFjWuOozeL+26bivyFAz
 W7zBgDTFg3M/HQri1NA2KN7aHER7Y71AtTx0t7shUM8kF32N0Fv5OCrMhiLm6AmIRaEu
 mzkVYfn/ho83uOYB/nou7521GKKdNAgVLSF8LHS38Ejei4zwunqw9yalwEXZRWKIgrzB
 tnmKJkZNd0VGKNNqNaFwiszeQ7DPpIwrbGmB7XyRnS5wll2lIIRYtTZ24AvZgfBbrwA/
 bL5w==
X-Forwarded-Encrypted: i=1;
 AJvYcCWRBWfqrFWew1tEcvbP8TJUlRfr6ao13cEBd1uSDzBuCb/w5wA8pZuGLJOSe9Ixp70wvUJD+A==@debbugs.gnu.org
X-Gm-Message-State: AOJu0YziyIFkrfUumzi7varmc9NSbeRFl1Y63LEij3Hd1U3N/goQb5qd
 ngP5v7+RUo0BYSrY/5VrAoI0/C5siym+hjaMTy64X9tmwO2GQBxSSBnQ93aQwEYKAlZazzjPe1s
 zHZFXHYeY5Zj0sSy1my3ld/cslysUjupN
X-Gm-Gg: ASbGncvVJ2p9Fv8JiY7NmrOETkeP3XmPah3T7HlcbkNnBw6CYqWRNY/Ma6Gql0diXPh
 Of37jsD7gxdDwHZsknbTD0QGc54pX4fNdCdG1s2VrKAGfgb/YiO2svCuJ7MFRRlXFnnKxa82e
X-Google-Smtp-Source: AGHT+IEaY8yzJyXcCD8WJhnEkmhF4vL4n2hQl9O9i/73oFhlka/ozt8bg/vfWFU+5CNh3rmvkRqw6lKNNCEDCiBNP5Y=
X-Received: by 2002:a05:6102:2a63:b0:4b9:b986:591c with SMTP id
 ada2fe7eead31-4b9b98660dbmr11772412137.22.1738683422922; Tue, 04 Feb 2025
 07:37:02 -0800 (PST)
MIME-Version: 1.0
References: <87fs7qmw00.fsf@HIDDEN> <87lehinlvg.fsf@HIDDEN>
 <87y1ky83du.fsf@HIDDEN> <87legr1tn5.fsf@HIDDEN> <878qqmz99g.fsf@HIDDEN>
 <8634gtc0k7.fsf@HIDDEN> <87seot3k42.fsf@HIDDEN> <87pljxwyi2.fsf@HIDDEN>
 <CAN+1HbpuZAs7BMNZx74WX2EhaAi7gKC5C5ZViaa9faUwjQ39Sg@HIDDEN>
 <86msf1afro.fsf@HIDDEN>
In-Reply-To: <86msf1afro.fsf@HIDDEN>
From: Ship Mints <shipmints@HIDDEN>
Date: Tue, 4 Feb 2025 10:35:03 -0500
X-Gm-Features: AWEUYZkS6S8j3ujsmUOextfPlUXJQQT8t8hJIMPPTvpGU6PziIu4F8P7Vxz20sI
Message-ID: <CAN+1Hbqt-d-1AzoeMjDNuMv-7pTorPSO5296fZx3UKpx7PNaGg@HIDDEN>
Content-Type: multipart/alternative; boundary="000000000000ccdd15062d52c701"
X-Spam-Score: 0.0 (/)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

--000000000000ccdd15062d52c701
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

This would be kbd_buffer_store_event?

On Tue, Feb 4, 2025 at 10:31=E2=80=AFAM Eli Zaretskii <eliz@HIDDEN> wrote:

> > From: Ship Mints <shipmints@HIDDEN>
> > Date: Tue, 4 Feb 2025 10:21:05 -0500
> > Cc: Andrew Cohen <acohen@HIDDEN>, 63620 <at> debbugs.gnu.org, Eli Zaretskii =
<
> eliz@HIDDEN>,
> >       Stefan Monnier <monnier@HIDDEN>
> >
> > Once an API is agreed in principle, I'd be willing to take a stab at an
> NS implementation for sleep/wake
> > events to exercise the API, and so we'd have both dbus and NS. On macOS=
,
> it's basically "will sleep" and
> > "did wake" events, and I don't think there's a hibernate event.
>
> What I had in mind is basically to have the D-Bus handler push a
> special event onto unread-command-events, and then that event could be
> bound to a command.
>
> Michael and Stefan, does it make sense to work like that with D-Bus?
>

--000000000000ccdd15062d52c701
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div class=3D"gmail_default" style=3D"font-family:monospac=
e">This would be kbd_buffer_store_event?</div></div><br><div class=3D"gmail=
_quote gmail_quote_container"><div dir=3D"ltr" class=3D"gmail_attr">On Tue,=
 Feb 4, 2025 at 10:31=E2=80=AFAM Eli Zaretskii &lt;<a href=3D"mailto:eliz@g=
nu.org">eliz@HIDDEN</a>&gt; wrote:<br></div><blockquote class=3D"gmail_quo=
te" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204=
);padding-left:1ex">&gt; From: Ship Mints &lt;<a href=3D"mailto:shipmints@g=
mail.com" target=3D"_blank">shipmints@HIDDEN</a>&gt;<br>
&gt; Date: Tue, 4 Feb 2025 10:21:05 -0500<br>
&gt; Cc: Andrew Cohen &lt;<a href=3D"mailto:acohen@HIDDEN" target=3D"_blank=
">acohen@HIDDEN</a>&gt;, <a href=3D"mailto:63620 <at> debbugs.gnu.org" target=3D=
"_blank">63620 <at> debbugs.gnu.org</a>, Eli Zaretskii &lt;<a href=3D"mailto:eli=
z@HIDDEN" target=3D"_blank">eliz@HIDDEN</a>&gt;, <br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0Stefan Monnier &lt;<a href=3D"mailto:monnier=
@iro.umontreal.ca" target=3D"_blank">monnier@HIDDEN</a>&gt;<br>
&gt; <br>
&gt; Once an API is agreed in principle, I&#39;d be willing to take a stab =
at an NS implementation for sleep/wake<br>
&gt; events to exercise the API, and so we&#39;d have both dbus and NS. On =
macOS, it&#39;s basically &quot;will sleep&quot; and<br>
&gt; &quot;did wake&quot; events, and I don&#39;t think there&#39;s a hiber=
nate event.<br>
<br>
What I had in mind is basically to have the D-Bus handler push a<br>
special event onto unread-command-events, and then that event could be<br>
bound to a command.<br>
<br>
Michael and Stefan, does it make sense to work like that with D-Bus?<br>
</blockquote></div>

--000000000000ccdd15062d52c701--




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#63620: 30.0.50; [Feature Request] run hooks on sleep/wake
Resent-From: Michael Albinus <michael.albinus@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Tue, 04 Feb 2025 15:39:02 +0000
Resent-Message-ID: <handler.63620.B63620.173868353527201 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 63620
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: patch
To: Eli Zaretskii <eliz@HIDDEN>
Cc: acohen@HIDDEN, 63620 <at> debbugs.gnu.org, Ship Mints <shipmints@HIDDEN>, monnier@HIDDEN
Received: via spool by 63620-submit <at> debbugs.gnu.org id=B63620.173868353527201
          (code B ref 63620); Tue, 04 Feb 2025 15:39:02 +0000
Received: (at 63620) by debbugs.gnu.org; 4 Feb 2025 15:38:55 +0000
Received: from localhost ([127.0.0.1]:46285 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tfL0p-00074f-0t
	for submit <at> debbugs.gnu.org; Tue, 04 Feb 2025 10:38:55 -0500
Received: from mout.gmx.net ([212.227.15.15]:45623)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <michael.albinus@HIDDEN>)
 id 1tfL0m-00074P-1u
 for 63620 <at> debbugs.gnu.org; Tue, 04 Feb 2025 10:38:53 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmx.de;
 s=s31663417; t=1738683516; x=1739288316; i=michael.albinus@HIDDEN;
 bh=q41l1cnqaIk15/GTPd4f8Q70IaJEOoyuwi0xBuTxtoM=;
 h=X-UI-Sender-Class:From:To:Cc:Subject:In-Reply-To:References:Date:
 Message-ID:MIME-Version:Content-Type:cc:content-transfer-encoding:
 content-type:date:from:message-id:mime-version:reply-to:subject:
 to;
 b=JpV8pmKoM61H5FaPnuaeXe49pChlHyYm0Z6Mz3rHvqHzc7aLXIkB7jBwYd1XqgJX
 sDOKX5i3W8C3Bp1jIRCtSGnF1kJKC9yfmH252VygqCRyIU+JkK5trsTompHOFoKuv
 ns2oXiSODCJOUwcjpUqi1LobSO2qXXSdTpQISl10RCtr0oT81Neh/JmkpCf0EvzS8
 2YNR/CEyhkDsaESrCtkz9zlK7youyybtqyLO69NyOePqGxKixKYoXh3axSLyZTBSD
 7Xvd+zqtgmrWgdlU6sKoBbCowluOjKnAEJ0vfT0Mmx2ZtdT0SbLWiE8lpaA5m83rV
 aV8Okzi7BRrLO0WRqA==
X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a
Received: from gandalf.gmx.de ([185.89.38.155]) by mail.gmx.net (mrgmx005
 [212.227.17.190]) with ESMTPSA (Nemesis) id 1Mr9Fs-1t2NHG1HUs-00aLnH; Tue, 04
 Feb 2025 16:38:36 +0100
From: Michael Albinus <michael.albinus@HIDDEN>
In-Reply-To: <86msf1afro.fsf@HIDDEN> (Eli Zaretskii's message of "Tue, 04 Feb
 2025 17:30:51 +0200")
References: <87fs7qmw00.fsf@HIDDEN> <87lehinlvg.fsf@HIDDEN>
 <87y1ky83du.fsf@HIDDEN> <87legr1tn5.fsf@HIDDEN>
 <878qqmz99g.fsf@HIDDEN> <8634gtc0k7.fsf@HIDDEN>
 <87seot3k42.fsf@HIDDEN> <87pljxwyi2.fsf@HIDDEN>
 <CAN+1HbpuZAs7BMNZx74WX2EhaAi7gKC5C5ZViaa9faUwjQ39Sg@HIDDEN>
 <86msf1afro.fsf@HIDDEN>
Date: Tue, 04 Feb 2025 16:38:34 +0100
Message-ID: <87h659wwhx.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-Provags-ID: V03:K1:HfXbk9X5xti6ZlDB8Tptm+FWLComv5I+eV4WbOfj7a6eO5EBHAa
 70DmH2WCIyKx4U1/a4FaoDsihET+drBEDoTJwG3JQLH4UfcQe0ygPNAG+wrow8Jh/UMrdDz
 vFY01sKyysjQ0rwvQcxF4UEpVR4AToN3tQJhuHBjnmNG71SSOPqjUxOZdgwzJPa9dxKtzCp
 i4XPLSGaOhLs94bkDwwIA==
X-Spam-Flag: NO
UI-OutboundReport: notjunk:1;M01:P0:54AwSbGTVpQ=;Caovmds4p6nZIw705e4dLTklGV4
 5UYANqf9uk2N+5ig9C3Ja5povn6zNiQmVd95AFmSMfbPaMl1aGufY1PRdNcib1woWL5eQWHP6
 VMS0uSJJZfcjjaCwA1SuTVChZ6gndFS8176DAxv9frC4EcQ7oA/JXkLRI0SiWUvO/Z6c4nsPO
 W3KlSwB6k039dgb1PiX3IUEFLqyJPFa+Rax4RGJ+Niw8ts3Z+FzesuWB3tK62TfFmZwszbuml
 3cM4wRDcRG+ZxBXUakKAY1+zvmKPTxTF/N4EofFng3+qOtxPamXduF37doKdLyAzTacS0I+dO
 hk1RnTMiqk9vuuMD4ykvCH3Qkow3MkmwaNfjUJhiNjkNvWlZvi/2RRsVIu9xwT8LQlDcAKUsH
 gd3juJh7SHqrSEcneMZrqwg8ccNZPBxkfhz+MAgzPYKycM8qaRRikj758RQh4u+B/AmNXjZ6k
 t1+RQ/1P3a1mW2uRWKaKp18oVw3/BZuumb3KQxZ1w67HM3TrRJGtB0qlhAHeATyxe8XYctdw/
 P5Ac2VIQc4LKgj/l/xcJ+SFsfwGrm//mvOSpEOHYU4MAg2W3M3CXzSRsL9/yeT82ZpVTGGPMB
 jQ07XmZ2zxAhb7q2NOVq7sVC4tcQPP3HNehW7LjkjFZzuRI/a3QvjtMdtDbYxrDDYsDrfiPk9
 Rv3/xl4uxG7FzQ5+EDeVX12h1HSWASdt3e+L1YcKeTpoKGRu8YbOHonUFzKB0105kaW+s/opP
 7VXxRb/PfjPpz0J8Hd1BenZ4nSeZRk/zKropgjPONrZIgDgFMepEmjsE8KM1SDfJeqWZ5gMLu
 4Ws7GVQlW0lgo51QGJxY/2PQdaJbSAblCNBaHw8VR8fAitTMIffqgEznn73voj6PiBu+Lo6IH
 jXVQXk5013EBZye6zuBfE9HOaf4VevLIDV9RmXKUb+ScAhCnsou3pnUrx7BVb37obHfOqNYLC
 blDm3XujYvQSLZ/zYz71ge+KcwfW0fSkZToOO1rRn+7RAsunTJrCbkgd7U0Tp45l9gvwBdXg4
 P2KpUMlQ4nfdB4HvlQ4Z+jOb3WUMpG4IdmHB0ERlBfAnfqkN01qgb+KpccnZIKImZy6/5yoMO
 TfZycPWd7IgPGcFVvlLFcUN5LlbwJ9h5xl6ZKp90HxMma2SBDz2rFo/9X+kSx7gmXj9nCqSHX
 SjbDurf6cpNv9O+SEfe6X172RiltdCTJ6M4YItM6alNe4FS/WlmtcDPBpMAEmY5sDituYE4RQ
 D6CWkOVB8olRlOW+60HQb54G8RuI/joT32CRoCz60Kesn5TdFM85DtiWN0EZ15Iq24vo6h7l4
 M24OahGR+1koqOkDJYitHBCJNI7GeOUsly4ysLU9f53vyA=
X-Spam-Score: -0.7 (/)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.7 (-)

Eli Zaretskii <eliz@HIDDEN> writes:

>> Once an API is agreed in principle, I'd be willing to take a stab at an NS implementation for sleep/wake
>> events to exercise the API, and so we'd have both dbus and NS. On macOS, it's basically "will sleep" and
>> "did wake" events, and I don't think there's a hibernate event.
>
> What I had in mind is basically to have the D-Bus handler push a
> special event onto unread-command-events, and then that event could be
> bound to a command.
>
> Michael and Stefan, does it make sense to work like that with D-Bus?

Sure, no problem for D-Bus. This could be done in sleep-handler, instead
of running sleep-sleep-hook and sleep-wake-hook.

The event should have a boolean argument, for on/off (or sleep/wake,
however we name it).

Best regards, Michael.




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#63620: 30.0.50; [Feature Request] run hooks on sleep/wake
Resent-From: Michael Albinus <michael.albinus@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Tue, 04 Feb 2025 15:43:02 +0000
Resent-Message-ID: <handler.63620.B63620.173868375928010 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 63620
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: patch
To: Ship Mints <shipmints@HIDDEN>
Cc: acohen@HIDDEN, 63620 <at> debbugs.gnu.org, Eli Zaretskii <eliz@HIDDEN>, monnier@HIDDEN
Received: via spool by 63620-submit <at> debbugs.gnu.org id=B63620.173868375928010
          (code B ref 63620); Tue, 04 Feb 2025 15:43:02 +0000
Received: (at 63620) by debbugs.gnu.org; 4 Feb 2025 15:42:39 +0000
Received: from localhost ([127.0.0.1]:46304 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tfL4R-0007Hi-Bg
	for submit <at> debbugs.gnu.org; Tue, 04 Feb 2025 10:42:39 -0500
Received: from mout.gmx.net ([212.227.15.15]:42311)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <michael.albinus@HIDDEN>)
 id 1tfL4O-0007HR-5A
 for 63620 <at> debbugs.gnu.org; Tue, 04 Feb 2025 10:42:36 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmx.de;
 s=s31663417; t=1738683740; x=1739288540; i=michael.albinus@HIDDEN;
 bh=0G6pH941fJzoig6WVpLLOsuMVK+yG+xF97CH0yGKqH8=;
 h=X-UI-Sender-Class:From:To:Cc:Subject:In-Reply-To:References:Date:
 Message-ID:MIME-Version:Content-Type:cc:content-transfer-encoding:
 content-type:date:from:message-id:mime-version:reply-to:subject:
 to;
 b=A4k4EjDD7w5VZt35aYshaUbBTPVLPwGKZ/B7iYFDFnImV26OLOdRI+P3EsjNel5U
 Z/cm22PKo3M1ZqO3eNjKRfSsuq1eQ5v2qpA8WiyVB1vsTjoH56RE3q0hDbq6w7QxQ
 CMpkwhFsozct+ie0UltzFoRYgM+sFIpI/rp3JNXO4LjVwkT3mgHZyAuqG+UP3dqfi
 5u8tPo2Xzvt+dDsJD3j46LXowATO5JV/Smej+SJmj7WOWXx1CXN7dOln/CqsWha6b
 z7QG8zkIXlVvJAmquKXcfaJpWV8tv8JBaOUkY9yiXezYAUdAEJlyVU8wsnH0vi9J3
 HtuNzr4QXFeVWpE9Og==
X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a
Received: from gandalf.gmx.de ([185.89.38.155]) by mail.gmx.net (mrgmx005
 [212.227.17.190]) with ESMTPSA (Nemesis) id 1MOiDd-1u4Q1U4263-00UCxm; Tue, 04
 Feb 2025 16:42:20 +0100
From: Michael Albinus <michael.albinus@HIDDEN>
In-Reply-To: <CAN+1Hbqt-d-1AzoeMjDNuMv-7pTorPSO5296fZx3UKpx7PNaGg@HIDDEN>
 (Ship Mints's message of "Tue, 4 Feb 2025 10:35:03 -0500")
References: <87fs7qmw00.fsf@HIDDEN> <87lehinlvg.fsf@HIDDEN>
 <87y1ky83du.fsf@HIDDEN> <87legr1tn5.fsf@HIDDEN>
 <878qqmz99g.fsf@HIDDEN> <8634gtc0k7.fsf@HIDDEN>
 <87seot3k42.fsf@HIDDEN> <87pljxwyi2.fsf@HIDDEN>
 <CAN+1HbpuZAs7BMNZx74WX2EhaAi7gKC5C5ZViaa9faUwjQ39Sg@HIDDEN>
 <86msf1afro.fsf@HIDDEN>
 <CAN+1Hbqt-d-1AzoeMjDNuMv-7pTorPSO5296fZx3UKpx7PNaGg@HIDDEN>
Date: Tue, 04 Feb 2025 16:42:19 +0100
Message-ID: <87cyfxwwbo.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-Provags-ID: V03:K1:QY5A2jAh8+X7vtmmMKi0gPjNXxMgZ41/x1uediQJAEDZlFeohu2
 uUu+h+No2b6Oy936nzL5DvfdzYW5t1noQPaSB0HSCpXZzls4kmHgbRf43vUatW5+ZjXgqre
 C5QLARhyX2bXQk/oaCr69H5tJIgJnKVod2YIX6s00jaipj2sh8TwAGS+z2e0l3OnKHr/6Sx
 Em3UYgPs0ICMY6/f90aDg==
X-Spam-Flag: NO
UI-OutboundReport: notjunk:1;M01:P0:ELx8e9ZuYeI=;WJb8mLztwYF/TvYUrx6peFvQNgU
 9q3+eyLh9kNLLgbSw1EtUOrTZPNSJvX13Y1RaxXV3Uo8JKR382SQA7MKOAJ0iap4EZ9DOtu5L
 Hy5sq3u58LyCExSs0gHrpdPhiv3Caw37QD/0wvf0EEYYY2ye1CmPgM9lY52PZt2KRswcTRfob
 zYEYP8DoUHgsBwLTinhYzi0iCb7OsAoiGNMM9dapD0E+gpC1OeMl4B5QT9iSMPyt397zCzvSy
 48gjC+d7XR6HM1wL9+45jI7nxdpEgrk3sQhsOrpU347QWjI5gvhp24rSo2FR4pLMORL60vBnj
 AdYCanzHoL0WrIlAc7kRxAAY4iDaJrwrjd04fI377lmUx6xs+xx5h0Nw7T6dXMhNnNTzwPK5A
 PqX1Wtn6vqbIT2Zf3RnymDatn4klHZVsjrNFOu2gxzNvsHIyDMkDAuQrqRRlqc84R+wfDsWOE
 6HWZol5bhQ5bOKg1WhNrk0dRQxQJC8CW7kXN0VywQOyShhBddkn1fMSutAmonZuv3KWT1HjOx
 K+JyJ5dSvX5V49SWn8/Mpp6TEvFzg0YfO+5YRbjOPhhv0cicL/egbcDJ8wrhymfNWRqQRpTlM
 bSsVSiPSf3w55dB5+u6Y5J8JJMElCctUyznczyzUyCgtV5IVGPU9pUvn8+/lBKyS5QZA6oVnI
 T1OtmjNi7ZZp35HiV2eycD+2a6NZ6B+UyKQ0slyHcgYEpzpPb6jkiJ/AL1gis5cLjqX6VAJwU
 UO+W0K/tNp+wAY4fSUAX3O8CUWMTj5bAT9SWCBvJ6Eh2G6qB1yu9okJPG7+J0MqxCuxtY8zBT
 9n3Zl9+8QP7hIxDOyGjIR8WSKrnNSIqxhLoXVKq/cswBKMsXd4fi/qVQe2nKOnd86EcG0sAWi
 axy3D5rqmxZG7YF397zj4TW35UdtXG7OynylmiUB9YNbgpFRFaM8I/+IDszk8n16VJga7Zmgs
 VmcaatLWCxgVQqUpJ4XhJlMQu0xTuB/Vxjh/PjFu0vBgRcK1kxqgMwqKisjOiuKfkDGh4J/eF
 bKSG/sZqWn+3o/9QeX5oJfeO5oiWPBSpIVzMpNd36Lqc579RF7T2glGB3NGJOfSMWB/Fxcw+Y
 TietdejgbCT7lcXzK7gT2zGcVaNt8g6boOy3piO3vaY4fMj6rTkkhwA7KYwVaWofJkNjE5RBE
 q9S2llHCEPNVVNUX9njNUqvh7IjdSAOUio5NWMe1naN5y58EfEIegEG+pFTZDCBNLFDyxq7FI
 2GBm3IO2an0nFbQXEavp63o2wjkNf+KOuwW6HD7jkWiSwvfZdVynnxw9pcfr3uYRtNFGVbrIF
 XPb9CBysTr7Lg+FRbEaiWueKOfymfaQ5i9QPsyZ1oA94wc=
X-Spam-Score: -0.7 (/)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.7 (-)

Ship Mints <shipmints@HIDDEN> writes:

> This would be kbd_buffer_store_event?

On Lisp level, adding the event to unread-command-events, as Eli
said. See a similar handling in dbus-call-method.

>     What I had in mind is basically to have the D-Bus handler push a
>     special event onto unread-command-events, and then that event
>     could be
>     bound to a command.

Best regards, Michael.




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#63620: 30.0.50; [Feature Request] run hooks on sleep/wake
Resent-From: Ship Mints <shipmints@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Tue, 04 Feb 2025 15:54:02 +0000
Resent-Message-ID: <handler.63620.B63620.173868439829847 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 63620
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: patch
To: Michael Albinus <michael.albinus@HIDDEN>
Cc: acohen@HIDDEN, 63620 <at> debbugs.gnu.org, Eli Zaretskii <eliz@HIDDEN>, monnier@HIDDEN
Received: via spool by 63620-submit <at> debbugs.gnu.org id=B63620.173868439829847
          (code B ref 63620); Tue, 04 Feb 2025 15:54:02 +0000
Received: (at 63620) by debbugs.gnu.org; 4 Feb 2025 15:53:18 +0000
Received: from localhost ([127.0.0.1]:46317 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tfLEk-0007lK-4v
	for submit <at> debbugs.gnu.org; Tue, 04 Feb 2025 10:53:18 -0500
Received: from mail-vk1-xa2f.google.com ([2607:f8b0:4864:20::a2f]:49177)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.84_2) (envelope-from <shipmints@HIDDEN>)
 id 1tfLEi-0007l6-9J
 for 63620 <at> debbugs.gnu.org; Tue, 04 Feb 2025 10:53:17 -0500
Received: by mail-vk1-xa2f.google.com with SMTP id
 71dfb90a1353d-5187aa2c97dso1910493e0c.2
 for <63620 <at> debbugs.gnu.org>; Tue, 04 Feb 2025 07:53:16 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1738684390; x=1739289190; 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=9HdNm4mBLS56t91kJZc90N+4/3XEiNbB3ucnelF3Beo=;
 b=Woh7ntLRoi0Pxsn/XjG+eDRewfNYtBbsYG2z2goaViyvRYJK99ybBNNC60NerlfIhh
 gm+VXmx/y+gReLKeFK6uuBu/SwKrcZ1WeeRfO60eR7fmVbniPthTMr4OKLlxQuOeA9Sy
 TdxtRRpUq0tiQnPaNmSC0DwrjbJZ91g7KbLTQkMtdYwBULM+/q1ihtxOy65pAj88COnj
 6y1NmokzZYvF/V7povfGe7GPw5U3FFOyOwj3nEvODc0byk0BdjClV7fhMf4N3ZJCLZyk
 o0syY4lpRBN1HSVEhARHBQ3YMGFyASasU47SQ1c7mhgp/ScOj6EPME5JNmk3eev3pYqz
 b1Cw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1738684390; x=1739289190;
 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=9HdNm4mBLS56t91kJZc90N+4/3XEiNbB3ucnelF3Beo=;
 b=vHVwJrGHfwyDOeByHYl62IEAPv91ut0vZp5MG+zDMiAbNtj/TTAylIf4il44VvzBAx
 aDSTCUX5JoCtz5Ax607QozaL5SLkLFH4fomwSmHiLEUeHLasi3Om3VXSqckmVfDiKt/F
 D3OBH6JkWOHwWA2DQVuT//zs8kb00Nni3rT4hphu4JnwHVQ2a7h+m9DrYFigApM7LQAL
 pAiLPgg/Koj3I+32bG4PpnIlQ3L/iGBmmej7zSdfRio/f5P8TqI3Zll/yD1TsA6kc/eG
 c4JIF6OhuyhfD0sa6HmzHcDSXPxBWpwrMbtRpNbD1x6WbCO4i+AYU+P5W2cvpxkbaxth
 EAjQ==
X-Forwarded-Encrypted: i=1;
 AJvYcCVCsk47u4MdTTy4eGZEMovgTQ/e3xnXcF7rRdIGQUy9CWQPDRgoEfw1D2UfgnvPuMQ7wXtSgw==@debbugs.gnu.org
X-Gm-Message-State: AOJu0YwG8v+ggO9eWTjt6dfb1JROWiSVIw44TdePTUG7ReazYzOu/7Yw
 Whvlc68WOyfhgoXOb6ewStXw3Cv6TRgNvZ1xycv99X//q8Pr4Qm9VO97WjhzV7lrpptxA4LtN/X
 Vut51IBPVGWsaRNeUbKnaxhDioBE=
X-Gm-Gg: ASbGncuXtjeMNofH6JilMsObwMd9ZU95rtQobkBbzXRqKd23K1nf9XChIPyPElHpY9/
 oTLiwxZnO9s9WlRQItL9w2jdPCLoGMupGhk6KHmgdAmTPnEfai9e9amKeXeN5KDWYWztbat0m
X-Google-Smtp-Source: AGHT+IFSgPbFU7tBzF6029I1u6Q+QpJ7bLMY9XH9sKeFA2aQxgPdC+6TsduFXdIFjm5mTJPk0Mr/tQE4jA+qCR6+aQs=
X-Received: by 2002:a05:6102:4a82:b0:4b2:ad50:a99c with SMTP id
 ada2fe7eead31-4b9a4ec91demr20845296137.2.1738684390377; Tue, 04 Feb 2025
 07:53:10 -0800 (PST)
MIME-Version: 1.0
References: <87fs7qmw00.fsf@HIDDEN> <87lehinlvg.fsf@HIDDEN>
 <87y1ky83du.fsf@HIDDEN> <87legr1tn5.fsf@HIDDEN> <878qqmz99g.fsf@HIDDEN>
 <8634gtc0k7.fsf@HIDDEN> <87seot3k42.fsf@HIDDEN> <87pljxwyi2.fsf@HIDDEN>
 <CAN+1HbpuZAs7BMNZx74WX2EhaAi7gKC5C5ZViaa9faUwjQ39Sg@HIDDEN>
 <86msf1afro.fsf@HIDDEN>
 <CAN+1Hbqt-d-1AzoeMjDNuMv-7pTorPSO5296fZx3UKpx7PNaGg@HIDDEN>
 <87cyfxwwbo.fsf@HIDDEN>
In-Reply-To: <87cyfxwwbo.fsf@HIDDEN>
From: Ship Mints <shipmints@HIDDEN>
Date: Tue, 4 Feb 2025 10:51:11 -0500
X-Gm-Features: AWEUYZn9LbZ3dewqxsOEvYwxp26SCho3OzkBQUbqFYsO2ilfJDJrjKEuPcHzsZs
Message-ID: <CAN+1HbpF+qqt5=XMWxmntUNTr8PEdLNLSUG9NmQOmurMU7MtHg@HIDDEN>
Content-Type: multipart/alternative; boundary="00000000000077104f062d5301c3"
X-Spam-Score: 0.0 (/)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

--00000000000077104f062d5301c3
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

For macOS, we'll have to do this via objective-c so would be the
lower-level function that would post the event.

On Tue, Feb 4, 2025 at 10:42=E2=80=AFAM Michael Albinus <michael.albinus@gm=
x.de>
wrote:

> Ship Mints <shipmints@HIDDEN> writes:
>
> > This would be kbd_buffer_store_event?
>
> On Lisp level, adding the event to unread-command-events, as Eli
> said. See a similar handling in dbus-call-method.
>
> >     What I had in mind is basically to have the D-Bus handler push a
> >     special event onto unread-command-events, and then that event
> >     could be
> >     bound to a command.
>
> Best regards, Michael.
>

--00000000000077104f062d5301c3
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div class=3D"gmail_default" style=3D"font-family:monospac=
e">For macOS, we&#39;ll have to do this via objective-c so would be the low=
er-level function that would post the event.</div></div><br><div class=3D"g=
mail_quote gmail_quote_container"><div dir=3D"ltr" class=3D"gmail_attr">On =
Tue, Feb 4, 2025 at 10:42=E2=80=AFAM Michael Albinus &lt;<a href=3D"mailto:=
michael.albinus@HIDDEN">michael.albinus@HIDDEN</a>&gt; wrote:<br></div><blo=
ckquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left=
:1px solid rgb(204,204,204);padding-left:1ex">Ship Mints &lt;<a href=3D"mai=
lto:shipmints@HIDDEN" target=3D"_blank">shipmints@HIDDEN</a>&gt; writ=
es:<br>
<br>
&gt; This would be kbd_buffer_store_event?<br>
<br>
On Lisp level, adding the event to unread-command-events, as Eli<br>
said. See a similar handling in dbus-call-method.<br>
<br>
&gt;=C2=A0 =C2=A0 =C2=A0What I had in mind is basically to have the D-Bus h=
andler push a<br>
&gt;=C2=A0 =C2=A0 =C2=A0special event onto unread-command-events, and then =
that event<br>
&gt;=C2=A0 =C2=A0 =C2=A0could be<br>
&gt;=C2=A0 =C2=A0 =C2=A0bound to a command.<br>
<br>
Best regards, Michael.<br>
</blockquote></div>

--00000000000077104f062d5301c3--




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#63620: 30.0.50; [Feature Request] run hooks on sleep/wake
Resent-From: Eli Zaretskii <eliz@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Tue, 04 Feb 2025 16:13:02 +0000
Resent-Message-ID: <handler.63620.B63620.17386855781037 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 63620
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: patch
To: Ship Mints <shipmints@HIDDEN>
Cc: acohen@HIDDEN, 63620 <at> debbugs.gnu.org, michael.albinus@HIDDEN, monnier@HIDDEN
Received: via spool by 63620-submit <at> debbugs.gnu.org id=B63620.17386855781037
          (code B ref 63620); Tue, 04 Feb 2025 16:13:02 +0000
Received: (at 63620) by debbugs.gnu.org; 4 Feb 2025 16:12:58 +0000
Received: from localhost ([127.0.0.1]:46350 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tfLXm-0000Ge-6N
	for submit <at> debbugs.gnu.org; Tue, 04 Feb 2025 11:12:58 -0500
Received: from eggs.gnu.org ([2001:470:142:3::10]:60290)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1tfLXj-0000GK-6L
 for 63620 <at> debbugs.gnu.org; Tue, 04 Feb 2025 11:12:56 -0500
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 <eliz@HIDDEN>)
 id 1tfLXb-0005yf-ON; Tue, 04 Feb 2025 11:12:47 -0500
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=xhk/tKDWWuYlNVug9l9vOcanEyRPkjUfP5Avayx8/1U=; b=cha1K1AnFbyd
 389v/jx3C1u0W485MbcacJ/kXI7VGG91eSmkXMtLoGNfPwGkJf2v/NB6+UgpfVuFtstSAhDH7Ec/P
 n749qj1X67xGXi87JGX3sz/oRX4rXa86O0VhLWUxwQXGJ+XXNeHXpg3BsqD0Dd2UsZkOFMNhQQVDh
 JcKzLXHqXqVTcVaa7pRRoUkeKbmt3hh1rmMy6RrwFTCWO74JaTLlj9dSWbb0/DCcx2/cYIqBei0zj
 laM0qU+KMWFzQi/fVuKaLAOt1PBdFj5NFnBzulZolY3jOizen3hfYDETab7F1L0b8eSg3ts0vNlTL
 GMuqa1pNCB+kvtxubyYf0g==;
Date: Tue, 04 Feb 2025 18:12:42 +0200
Message-Id: <86lduladtx.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
In-Reply-To: <CAN+1Hbqt-d-1AzoeMjDNuMv-7pTorPSO5296fZx3UKpx7PNaGg@HIDDEN>
 (message from Ship Mints on Tue, 4 Feb 2025 10:35:03 -0500)
References: <87fs7qmw00.fsf@HIDDEN> <87lehinlvg.fsf@HIDDEN>
 <87y1ky83du.fsf@HIDDEN> <87legr1tn5.fsf@HIDDEN> <878qqmz99g.fsf@HIDDEN>
 <8634gtc0k7.fsf@HIDDEN> <87seot3k42.fsf@HIDDEN> <87pljxwyi2.fsf@HIDDEN>
 <CAN+1HbpuZAs7BMNZx74WX2EhaAi7gKC5C5ZViaa9faUwjQ39Sg@HIDDEN>
 <86msf1afro.fsf@HIDDEN>
 <CAN+1Hbqt-d-1AzoeMjDNuMv-7pTorPSO5296fZx3UKpx7PNaGg@HIDDEN>
X-Spam-Score: -2.3 (--)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

> From: Ship Mints <shipmints@HIDDEN>
> Date: Tue, 4 Feb 2025 10:35:03 -0500
> Cc: michael.albinus@HIDDEN, acohen@HIDDEN, 63620 <at> debbugs.gnu.org, 
> 	monnier@HIDDEN
> 
> This would be kbd_buffer_store_event?

Basically, yes.  But I meant to do it in Lisp, not in C.




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#63620: 30.0.50; [Feature Request] run hooks on sleep/wake
Resent-From: Eli Zaretskii <eliz@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Tue, 04 Feb 2025 16:16:02 +0000
Resent-Message-ID: <handler.63620.B63620.17386857461775 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 63620
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: patch
To: Ship Mints <shipmints@HIDDEN>
Cc: acohen@HIDDEN, 63620 <at> debbugs.gnu.org, michael.albinus@HIDDEN, monnier@HIDDEN
Received: via spool by 63620-submit <at> debbugs.gnu.org id=B63620.17386857461775
          (code B ref 63620); Tue, 04 Feb 2025 16:16:02 +0000
Received: (at 63620) by debbugs.gnu.org; 4 Feb 2025 16:15:46 +0000
Received: from localhost ([127.0.0.1]:46359 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tfLaU-0000SZ-1G
	for submit <at> debbugs.gnu.org; Tue, 04 Feb 2025 11:15:46 -0500
Received: from eggs.gnu.org ([2001:470:142:3::10]:38450)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1tfLaR-0000SJ-0G
 for 63620 <at> debbugs.gnu.org; Tue, 04 Feb 2025 11:15:44 -0500
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 <eliz@HIDDEN>)
 id 1tfLaK-0007JU-3h; Tue, 04 Feb 2025 11:15:36 -0500
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=0ICcf+eil1/yOvAIVmnLdqJh+YeV6DmhJ/JKvsDqIMM=; b=Q0zko4pnBuyM
 rNvwLwt74NG81Yc9db3VUy189hIB4Qj+zewqL8266PvSYyvXptZo4Yyt+4pn3U0z8XcrFKTMZBMhH
 /0jEUjgCSask+A9ewW9gM8m94qSBhX6DwcM2PJtITJhGk+BOcPu7VfY1yboyWrpddK0oeLF0lLAsl
 BDS6OBiRxK11rzP9gnTZCHtq21EHO7+Fz7EkDK01Z/C11tHcnPdqH0n3qJiQIGlYIl46MXNII3K0g
 tGPPOI63CQ5lJENYROT/0BF+ghoNMtPtbfR2esTzKKT/iQSUQhPfaC1+LHP2cjHr5At83M+V3iNqo
 ITJMgRyj9a5Yr5ceP/3Epg==;
Date: Tue, 04 Feb 2025 18:15:15 +0200
Message-Id: <86jza5adpo.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
In-Reply-To: <CAN+1HbpF+qqt5=XMWxmntUNTr8PEdLNLSUG9NmQOmurMU7MtHg@HIDDEN>
 (message from Ship Mints on Tue, 4 Feb 2025 10:51:11 -0500)
References: <87fs7qmw00.fsf@HIDDEN> <87lehinlvg.fsf@HIDDEN>
 <87y1ky83du.fsf@HIDDEN> <87legr1tn5.fsf@HIDDEN> <878qqmz99g.fsf@HIDDEN>
 <8634gtc0k7.fsf@HIDDEN> <87seot3k42.fsf@HIDDEN> <87pljxwyi2.fsf@HIDDEN>
 <CAN+1HbpuZAs7BMNZx74WX2EhaAi7gKC5C5ZViaa9faUwjQ39Sg@HIDDEN>
 <86msf1afro.fsf@HIDDEN>
 <CAN+1Hbqt-d-1AzoeMjDNuMv-7pTorPSO5296fZx3UKpx7PNaGg@HIDDEN>
 <87cyfxwwbo.fsf@HIDDEN>
 <CAN+1HbpF+qqt5=XMWxmntUNTr8PEdLNLSUG9NmQOmurMU7MtHg@HIDDEN>
X-Spam-Score: -2.3 (--)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

> From: Ship Mints <shipmints@HIDDEN>
> Date: Tue, 4 Feb 2025 10:51:11 -0500
> Cc: Eli Zaretskii <eliz@HIDDEN>, acohen@HIDDEN, 63620 <at> debbugs.gnu.org, 
> 	monnier@HIDDEN
> 
> For macOS, we'll have to do this via objective-c so would be the lower-level function that would post the
> event.

Yes, platforms that get the event from their window-systems should do
it in C.  Then we'd need to define a new event kind and inject it.




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#63620: 30.0.50; [Feature Request] run hooks on sleep/wake
Resent-From: Stefan Monnier <monnier@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Tue, 04 Feb 2025 18:15:01 +0000
Resent-Message-ID: <handler.63620.B63620.173869289914082 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 63620
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: patch
To: Eli Zaretskii <eliz@HIDDEN>
Cc: acohen@HIDDEN, 63620 <at> debbugs.gnu.org, michael.albinus@HIDDEN, Ship Mints <shipmints@HIDDEN>
Received: via spool by 63620-submit <at> debbugs.gnu.org id=B63620.173869289914082
          (code B ref 63620); Tue, 04 Feb 2025 18:15:01 +0000
Received: (at 63620) by debbugs.gnu.org; 4 Feb 2025 18:14:59 +0000
Received: from localhost ([127.0.0.1]:46574 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tfNRq-0003f4-QG
	for submit <at> debbugs.gnu.org; Tue, 04 Feb 2025 13:14:59 -0500
Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:12891)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <monnier@HIDDEN>)
 id 1tfNRp-0003ep-1m
 for 63620 <at> debbugs.gnu.org; Tue, 04 Feb 2025 13:14:57 -0500
Received: from pmg3.iro.umontreal.ca (localhost [127.0.0.1])
 by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id 801F34439EE;
 Tue,  4 Feb 2025 13:14:50 -0500 (EST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca;
 s=mail; t=1738692889;
 bh=atZ5ypbvjTScbcLpridpbCnTNSFYiAvkvYLZTaZEUBg=;
 h=From:To:Cc:Subject:In-Reply-To:References:Date:From;
 b=GUwbQUqlNMSKISG3CQclCt0muEo30LMTFqL6qhTmKG1Bh3yM0VLSa81Og9y2lGZwH
 92t8R2VRsicqwFUMCGxz3yfxAwAhwbml0mOjdgbyT6reblIgir5nNv+L69JcM1F/zR
 Kgl3TRSq/8JMGSVrLTmr6rRCtnZPLF9/MLTsJtFc5kYLhC/0KacP5eeC5sICGJnPW0
 it0Koxug4Fy7Thw+kBviC2oPm2GB1wgWH6kPibNs94t/LXtoIje7pimET6dhZvzCG0
 ohWrJDdgc7lKEmo3pi+Cid6KEmyecrulSIDx2GCAN4Yw2NMqUdLOt+qn0PdcN1e8BD
 f/T69vluz1KMQ==
Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1])
 by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id 9CBF04439D9;
 Tue,  4 Feb 2025 13:14:49 -0500 (EST)
Received: from pastel (104-195-232-86.cpe.teksavvy.com [104.195.232.86])
 by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 54E92120602;
 Tue,  4 Feb 2025 13:14:49 -0500 (EST)
From: Stefan Monnier <monnier@HIDDEN>
In-Reply-To: <86msf1afro.fsf@HIDDEN> (Eli Zaretskii's message of "Tue, 04 Feb
 2025 17:30:51 +0200")
Message-ID: <jwvjza5mvbz.fsf-monnier+emacs@HIDDEN>
References: <87fs7qmw00.fsf@HIDDEN> <87lehinlvg.fsf@HIDDEN>
 <87y1ky83du.fsf@HIDDEN> <87legr1tn5.fsf@HIDDEN>
 <878qqmz99g.fsf@HIDDEN> <8634gtc0k7.fsf@HIDDEN>
 <87seot3k42.fsf@HIDDEN> <87pljxwyi2.fsf@HIDDEN>
 <CAN+1HbpuZAs7BMNZx74WX2EhaAi7gKC5C5ZViaa9faUwjQ39Sg@HIDDEN>
 <86msf1afro.fsf@HIDDEN>
Date: Tue, 04 Feb 2025 13:14:47 -0500
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-SPAM-INFO: Spam detection results:  0
 ALL_TRUSTED                -1 Passed through trusted hosts only via SMTP
 AWL -0.009 Adjusted score from AWL reputation of From: address
 BAYES_00                 -1.9 Bayes spam probability is 0 to 1%
 DKIM_SIGNED               0.1 Message has a DKIM or DK signature,
 not necessarily valid
 DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature
 DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's
 domain
 DKIM_VALID_EF -0.1 Message has a valid DKIM or DK signature from envelope-from
 domain
X-SPAM-LEVEL: 
X-Spam-Score: -2.3 (--)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

> What I had in mind is basically to have the D-Bus handler push a
> special event onto unread-command-events, and then that event could be
> bound to a command.
> Michael and Stefan, does it make sense to work like that with D-Bus?

It would likely be bound in `special-event-map`, yes, that makes sense.


        Stefan





Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#63620: 30.0.50; [Feature Request] run hooks on sleep/wake
Resent-From: Andrew Cohen <acohen@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Wed, 05 Feb 2025 12:52:01 +0000
Resent-Message-ID: <handler.63620.B63620.17387599211986 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 63620
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: patch
To: Eli Zaretskii <eliz@HIDDEN>
Cc: 63620 <at> debbugs.gnu.org, michael.albinus@HIDDEN, monnier@HIDDEN
Received: via spool by 63620-submit <at> debbugs.gnu.org id=B63620.17387599211986
          (code B ref 63620); Wed, 05 Feb 2025 12:52:01 +0000
Received: (at 63620) by debbugs.gnu.org; 5 Feb 2025 12:52:01 +0000
Received: from localhost ([127.0.0.1]:48972 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tfesq-0000Vu-Py
	for submit <at> debbugs.gnu.org; Wed, 05 Feb 2025 07:52:01 -0500
Received: from mail-japanwestazon11021108.outbound.protection.outlook.com
 ([40.107.74.108]:61777 helo=OS0P286CU010.outbound.protection.outlook.com)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <acohen@HIDDEN>) id 1tfesm-0000VW-Lb
 for 63620 <at> debbugs.gnu.org; Wed, 05 Feb 2025 07:51:58 -0500
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=XkaK2KDLs+540i6AymnWAMnlLkugSiVt/RPN/RiFfz0aOY2XUkfKT80IUFXWQQlmP5CY7Z81cq8iVgV769zsFsdaH5LCExDRSOtHUPbFyeDGM332WaHt9DG3AjQ2DkJPJREJEw/t3piJyIAKu5v/gAAnIyLw3OL05THVdLE05DP5HRgFbLx/zNAB6yRFsruV9kc5SJq9h2q/0YGczfny2PRoXdDVODqswIq4TtRtZCTgSZMB5vEA7OI0g6eJnJw7ofh7r/TqnGx+CTTBCeVO0TnaiuMRoIYx01xj1YXV5MNHjRXOH9hBBZnzSYIg73+CQKN+QtfkYKhMlU1VHk8e0Q==
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=KyaU5TPAjP1aW/xbhDlZgOZdJQ0EmssAP3i3zSPX7gQ=;
 b=KU+WK3O22dB7q7IvO2L7xFNPJxgU7zo2x4MQnvKNj4mfNL2kgru8bwT1WkKkONn5pWtzjUArsMeXG1xrFQL0CLrM/jkAQTjUeUjzcHs7MLILFhseXasrzsIbcfo9C7aeJQKY4KIAny3O6jYcaBZDyjsMZkk3PGJTHtIV+rqkFBG7BcQs2NAWzGL37IKdU0Bb+s+xohJRDDGJjeVS24dJQuzSWIYv5RfORRw3DzMjsfhf+NHsiWJwrEYUlOZVFUJbiPoqV6VuZTfiWdDdoruoPuNHbzXVl4FHRV9EqgjPbOKp+qHP44DbsVYU9p85sO0s1EzrlHZtgT61HKzJu9+STg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=ust.hk; dmarc=pass action=none header.from=ust.hk; dkim=pass
 header.d=ust.hk; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ust.hk; s=selector2;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=KyaU5TPAjP1aW/xbhDlZgOZdJQ0EmssAP3i3zSPX7gQ=;
 b=RHlI7XkORE3inGH++z2r5qjUipbjjvZYCkCU00mMRxDSrPju1zHEsbCWVtWbuFKf8Zl8D+19tGtZYp639U/MKtrakczRvrZ5I3uL1PkLpucWxCJ3mQJyHK6KkomFy4hqXIb6eNsokqyLEmpHnBujDf9IFso/WHSbyiJOg4xt1lQKy/DjkeS2bKmL9NE10VDfAAaPRUyHTXIxuYNge5QZGEg/mwrsLHNKLxPIjtkEV0R18X93k8cEVlegDqBxjYJAN5Tazdlh2G/twdgzSfFWQiXS3nmgNBIAlagBBesHA/8PDxNlyLWlVoW+ArB5Cz5aafu4Ut0TcN1qXk4CG73cqQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=ust.hk;
Received: from OS3P286MB1877.JPNP286.PROD.OUTLOOK.COM (2603:1096:604:1bf::11)
 by OS3P286MB2524.JPNP286.PROD.OUTLOOK.COM (2603:1096:604:1e9::9) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8398.21; Wed, 5 Feb
 2025 12:51:47 +0000
Received: from OS3P286MB1877.JPNP286.PROD.OUTLOOK.COM
 ([fe80::4b6e:c37e:4327:cfab]) by OS3P286MB1877.JPNP286.PROD.OUTLOOK.COM
 ([fe80::4b6e:c37e:4327:cfab%4]) with mapi id 15.20.8422.009; Wed, 5 Feb 2025
 12:51:47 +0000
From: Andrew Cohen <acohen@HIDDEN>
In-Reply-To: <86r04dahpc.fsf@HIDDEN>
References: <87fs7qmw00.fsf@HIDDEN> <87lehinlvg.fsf@HIDDEN>
 <87y1ky83du.fsf@HIDDEN> <87legr1tn5.fsf@HIDDEN>
 <878qqmz99g.fsf@HIDDEN> <8634gtc0k7.fsf@HIDDEN>
 <87seot3k42.fsf@HIDDEN> <86r04dahpc.fsf@HIDDEN>
Date: Wed, 05 Feb 2025 20:51:42 +0800
Message-ID: <878qqkzh9d.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
Content-Type: text/plain
X-ClientProxiedBy: KL1PR01CA0158.apcprd01.prod.exchangelabs.com
 (2603:1096:820:149::14) To OS3P286MB1877.JPNP286.PROD.OUTLOOK.COM
 (2603:1096:604:1bf::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: OS3P286MB1877:EE_|OS3P286MB2524:EE_
X-MS-Office365-Filtering-Correlation-Id: 8b9692a8-cf51-49b0-a9f0-08dd45e3d9ac
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|376014|1800799024;
X-Microsoft-Antispam-Message-Info: gQRjyXgAtbszccNCU8outkIE2fORkpUa5bhkRuhMxQzoMAWFycJ/m+HFWw31guBAgZ9PjmQL8CG65/QN79v8wCnXPUC79g3Nfww6WJajbgDfujVk2sydu8NAn6nnSvBe/ySZro7XEj17P9Z50N5zVuvqRbZ3ARPkNhAG5YPJzds6tb45Ah8D8L8QW4bMbZ88RQ1OcwBJx7sEDPd2Kf6ABsFSBy0sLj5S7miCd7kEmHudChvx4LgtgjLTKvsQRoeC7GhADi8zW8Wb3X3hvsUj41lpY1jilSMI3zNZKpNgkVnnuQXVkOSE2CWsT6JzE5ZHr+1x5/YYeoCktvKnSs2BgyXC8p+ADb05wy0tjIycYe+HfwPvpBvaIYVLecxpOeqi/D9rMd+BEAH+RaQXtauV98GJsxBxWKQxLr7wqHeJAo4HcIHfQEvUpKOLcLS7QsbP33a7ck4rBrC+tozTbMOgabCNXRLkVs37KsfNh8JwI71Djwlzcv7k3YW6A4L3ZqDWB+ODbnX6tAxtapS+ALA14lIgfw2Efma279Xr7iw5epOTU/Xt4jvvKm83gNPCniCiM/M92ZLnwGZuDUQtLltBeYud1WPxYVxdKD88p9t84SXppbF+PeZWQhAboodUGrolqetLJXGi0n+ZeCHBA9BVwxaSdIIgMXvCNWGnWmjtW8ObE6Xq/CTGpqOTMQmipvO5lYbLvTwmIwA/SEK0HH07ZMj9GcqTMKuOEbQYrTap/VIikORon7RGG01pgaKPuo6ibWQGRowHhj1uA31bglDCc9t/rnZC4v/ZBPg2CaxiI8GA7jYRe2+OoXJwSmlmXbTYTXuiwhm9XmyxaH97BDrw1XKsV0BMXW+I1fRlG3ZiJxzOA6he2GDe8JsPFXq7VDYDYkVD5CwZtgwGC0gjNTK6uLrR9vP2WRqwLVPZHT78ZHzJneGlrtJvvC9boU/XKoBEi942S1sweSipSN5L0ZbN7CDHz8ppHgDCpOiyvk+RailkbtZUgp+t0kIpHayPpeCWD/jR8/iLlxV33d+yTriZMfxHFZJlHCNbNW4phJsGRpp+H+/hYrlkSiepO9KWAeCjVLVSTuGYlABK+gg0eLYoSbdh70nXWWZLxuGJRu7vgfbBn8+lb2lGje8a4ltImbnBFXc7r9RH3OjZ34pGVGv+wYKsl2i9ST6nycgnjJUa6F7TfYbhOB1ObyE5uI2pavEjIq2pd2Izflw3zrYvvpUBa6QsKyCbi7KS1Kr4RQFkdiWNZ8HNZeSwBuufsx90934AtdCJZACUVu/S45hiLLIjxD8BlDM6d7kkdZc6rTUb6KWseZfam10tMV2BZKZHw1shsYtJBY0FMd/+znb2IsBTX0oi6SXIs9+m+sRnIGHBxtDeobKiNQJwH4msIfWJF5G4
X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:;
 IPV:NLI; SFV:NSPM; H:OS3P286MB1877.JPNP286.PROD.OUTLOOK.COM; PTR:; CAT:NONE;
 SFS:(13230040)(366016)(376014)(1800799024); DIR:OUT; SFP:1102; 
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: qrxcLQijizIjbee4Y45CdAr2Q6Qxra1di9BsPE6E+OQQ62es/ab6LenJOK8iXKfMYPEdJA0cNjqbz2n0sP1KRnaFojpf9Q5OimyYKGOm2ricNnuilxbxYGvF4xF/a/jvh57uQQ+TDnAFdj8LYknAioLbpnnEqvO2oLHB0MZ14NDENp2MYvFO5ziJV37BsF4mMX4leQE7BAkMpefYHRv9kD7CB/Ws8BBnjOAm4LaiwGlmrm95V51/XQOXl+EAIZeFaVJvGVdR9jgIK6f/JxHUTW6rMnCArpYhkJXt5R+iMBLTyjxAW0lLdnAYdEmMFXJUJQRXV/8HSKeVdJnFqUMDAQOhjdOo9LL/anOE5N1jyATEMehd3W3+EvxWu2IN8gOy9qtpnLBXIEX3URrAOmWWLu9DOJqwCcei9fMmCTbMfwIg2uzqaVhzGSnKTCDcCxzAxg43gMuggdklz0yK1gF+qAI/Rh+lcJWkJQXXfPhNmEmKBzYQ2k25+3pjLTRY06FAkY3b2b0pv6flg2K0Hbtar90nHXg8tKWltXrRz0EBxz8hrtID5eGzzAytjJixGEMHZQFxrE9KkYbDo9d2VY4Ye57otTi96+IN6TuRE1TYK1zs7fgji0h1AAsfmn+VmJqxBs7D/UkIFHdrn4lj5kzL2k8Hb6Y0JfhPUU3sMWEl/gYnF4RpUwUeu/aMpt+cFW7WCcMr891WvlmfJqMEDQnjcY+nBoRHNm3EYF5mNClXSVsmMAvIm7IghrAJCqX6KwXWBpa4eLew1yYQQy4MJ9taKTwW+9wIBGXcYZhOOg4k9XroZiXmqUDykh65L3xbQPMTXeMkXotDWs++VAT+kRqEk5UWX8FY1ijl6+KmF5UNiOyOU5U5491ch48aK8xc2oE0QFLzmqufq67Ughwlu5NNJcDU62t1HupUqCLQMnPXlEkgzv6pG0cIOKw29Yke8D6NbIlEsNNNL7HD/auKzRTx6dDP8/QU/ui0/QPEi09P2ljOTjqHArMZIXtah4GPaLJWeceIWTFaEwiRDSXk9N6oIdtGaYZ5lsYTTIEQW+6svGQl8RPaqGo7JtbWW3351gEEYp7jZD33LdnCziLbETeCdGQb42a3uPSltjJG2z0OGtHiKlN+5IhYay6gLwTpWPrH73VlSdsbsyg9pb3PktzcbXAP6wsQQ3IS85jj4fZP3+JrAKKr2JkPFFCUogUiu+ECXbxXbwXKVC/15E3x/FaRPnRa45xXrkB1TFsD6MEFD8olx0BrLeL4l2gOpxdsquoF+lmrvS8e3+0CXn2cPV+O2RC9pekClNj0OYhrNdA2l1A7E3u4VRXPffrhDNyKjIK3qjXSO8Kzm2MSnyhoEnmR+cPLsmXGT0YjPLKwpUksdsIqBbO5ocsJsVPj7UiuPYKg8fFFeN9RRq5WymdHQAF0NGt4x0t9S9s7u/g1cT+snBymr5eV44Sng/V62Ij/UhntpIi3T/rjIh08nLhuWkTwGgBgZFWRU2nAxsJa1adqb+n/hE9yW9X8b4wbBqakWC6cmk9p09u2yZ8AAKbm6k96Vp0hojoUbI3PCj6SM2FZhMWRkOBe2KGib5siqjBKCiBf
X-OriginatorOrg: ust.hk
X-MS-Exchange-CrossTenant-Network-Message-Id: 8b9692a8-cf51-49b0-a9f0-08dd45e3d9ac
X-MS-Exchange-CrossTenant-AuthSource: OS3P286MB1877.JPNP286.PROD.OUTLOOK.COM
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Feb 2025 12:51:47.0762 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: c917f3e2-9322-4926-9bb3-daca730413ca
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: bo0k0Q1myUCzZNcCevh79LhSg6qbitoPT5i/9QnFDCHmbdJJI9V6QnGEKBowuRBy
X-MS-Exchange-Transport-CrossTenantHeadersStamped: OS3P286MB2524
X-Spam-Score: 0.0 (/)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

>>>>> "EZ" == Eli Zaretskii <eliz@HIDDEN> writes:

    EZ> Thanks, and don't hesitate to ask questions where you have
    EZ> difficulties.  I'm sure you will find here quite a few people
    EZ> willing to help.

OK, I have almost no idea what I am doing. I am trying to understand how
to use unread-command-events to make this work. I guess a new event
(sleep-event) will get added in the C code? Then backends other than
dbus will generate this event when a system sleeps or wakes, and we have
a handler installed like

(define-key special-event-map [sleep-event] 'handle-sleep-event)

with the function 'handle-sleep-event that runs the appropriate hooks.

For the dbus backend we install a dbus callback that injects the
sleep-event onto unread-command-events, which would then trigger the
'handle-sleep-event function. 

So I thought I would play around a bit. I tried installing [sleep-event]
in the special-event map, but when I push the sleep-event onto
unread-command-events I get an error: "<sleep-event> is undefined".
After playing around I found that if I also install it in the global
keymap, it works (that is, pushing a sleep-event onto
unread-command-events then triggers the handler).

So how exactly do I add a new sleep-event to the C source? I tried
copying how its done for dbus-event in keyboard.c and termhooks.h (I'm
only trying to create such an event in lisp so I didn't worry about
generating such an event in C). Is this right? And do I always have to
install the handler in the global keymap (just to test this I tried
pushing an existing dbus-event onto unread-command-events, and also get
"dbus-event is undefined" unless I install a handler on the global
keymap. So it seems that I do. I also notice that other special events,
like delete-frame, have handlers installed in both the global keymap and
the special-event-map).

Sorry for the very naive questions. Assuming that my understanding is
correct I think I can make the necessary modifications to the lisp
package. Then the C code to generate the sleep-event on other systems
can be added.

Best,
Andy
-- 
Andrew Cohen




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#63620: 30.0.50; [Feature Request] run hooks on sleep/wake
Resent-From: Andrew Cohen <acohen@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Wed, 05 Feb 2025 13:28:02 +0000
Resent-Message-ID: <handler.63620.B63620.17387620498588 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 63620
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: patch
To: Eli Zaretskii <eliz@HIDDEN>
Cc: 63620 <at> debbugs.gnu.org, michael.albinus@HIDDEN, monnier@HIDDEN
Received: via spool by 63620-submit <at> debbugs.gnu.org id=B63620.17387620498588
          (code B ref 63620); Wed, 05 Feb 2025 13:28:02 +0000
Received: (at 63620) by debbugs.gnu.org; 5 Feb 2025 13:27:29 +0000
Received: from localhost ([127.0.0.1]:49078 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tffRA-0002ER-Uh
	for submit <at> debbugs.gnu.org; Wed, 05 Feb 2025 08:27:29 -0500
Received: from mail-japaneastazon11021100.outbound.protection.outlook.com
 ([52.101.125.100]:63798 helo=TYVP286CU001.outbound.protection.outlook.com)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <acohen@HIDDEN>) id 1tffR7-0002E4-KB
 for 63620 <at> debbugs.gnu.org; Wed, 05 Feb 2025 08:27:27 -0500
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=h092bSfBEVDkkc0w7kif/Orq6eTLbk1gh+gZQgWYAPRZ78rSz+oi91/n47HoXmp4E4K/4Jws0pRAHNr0vGpO77C5cpsCoEUbvzSwAkqCyXs70Rs4gRaowB7SbM8X8kVMu7H5fAwgML5INlznEgkevnEKMCJSi7XeQ9FUTdY8OJVvqBBtz4sDGa8Q+gxOiXSWdHyUhr9m3CjM2xt9vQabQ4cr0NcuBB1wxaLzXEQ0+imwaEuZjsUwbBzaOWwY/czPujxdLSF+d3hjy/cRHVlRe3peYPQuOLRKloUCWshXmAk/qw8uNcXqbEATeckVbLF2SiR3mhCexQOW/MLPpwePnA==
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=b/NtzTx9Uoa1Y7HXVHQ75FynrGI+hIx2fWOBAlXbSGE=;
 b=mA1+TtER2IoJ8SBsK3uHHJq6MZXPE4NAcKG8iuYY5a21daebhvvg2Xy5y4nOM1gMKe7bTAr5Q0lK8I2nnQYakdXty7jXRsGUa7/F95AjBQBmzTObk9ZYoFW8lVVzrw2/vVpmC5yhX0nRPDozeItJNTlz5bcFkU+UZw2oq6re+1T5EzkGXAOwl6YGlZV6IXmCZWGkeUw13GDy9gXw11Z2WZ0DG92Fo/tPJGhDaV18Pwyg5oT7QMayTvlKBKy0r5XWyenVt0SPS7x3qlXfYDT7aTOmalsVhR2gh6JpD1Dqy0vPAjGyAC0oAaAHXE/WG4sxPgF8HjOS+N3VOjbOHBOSUg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=ust.hk; dmarc=pass action=none header.from=ust.hk; dkim=pass
 header.d=ust.hk; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ust.hk; s=selector2;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=b/NtzTx9Uoa1Y7HXVHQ75FynrGI+hIx2fWOBAlXbSGE=;
 b=IXmtLjmfK6bW/Cf8k8E7MEXn+eT3ZaYP/+qfJ63DRHtNpBO3QfWoD3km6QXn7/2Zkz4bRz39nqNtlX+RAUicT9EcotGwlgNdiJy7+3r3O/InTq0WvIqbTcEKK//xFVuKZe/tTTQ1qtwmZINJufQomTApdsudTu4UYsp4rp8JqZTa4N5ati3TFjJWPsnP9yaywhrqAWEo3R9y4/wtqNLlPuzoYykheytz4h1t3z4y0ZJxCbtj7NCS4SMTyr3U8Uqw4KphE+1eniC7lCswcZzXhyK3pP0HxgZgLBqgdltOWtSNmnwRKy1tYpXCc2ibnMR+IbyuPzzsah11KfhZMieWKQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=ust.hk;
Received: from OS3P286MB1877.JPNP286.PROD.OUTLOOK.COM (2603:1096:604:1bf::11)
 by OSOP286MB4239.JPNP286.PROD.OUTLOOK.COM (2603:1096:604:308::6) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8422.11; Wed, 5 Feb
 2025 13:27:16 +0000
Received: from OS3P286MB1877.JPNP286.PROD.OUTLOOK.COM
 ([fe80::4b6e:c37e:4327:cfab]) by OS3P286MB1877.JPNP286.PROD.OUTLOOK.COM
 ([fe80::4b6e:c37e:4327:cfab%4]) with mapi id 15.20.8422.009; Wed, 5 Feb 2025
 13:27:16 +0000
From: Andrew Cohen <acohen@HIDDEN>
In-Reply-To: <878qqkzh9d.fsf@HIDDEN>
References: <87fs7qmw00.fsf@HIDDEN> <87lehinlvg.fsf@HIDDEN>
 <87y1ky83du.fsf@HIDDEN> <87legr1tn5.fsf@HIDDEN>
 <878qqmz99g.fsf@HIDDEN> <8634gtc0k7.fsf@HIDDEN>
 <87seot3k42.fsf@HIDDEN> <86r04dahpc.fsf@HIDDEN>
 <878qqkzh9d.fsf@HIDDEN>
Date: Wed, 05 Feb 2025 21:27:13 +0800
Message-ID: <874j18zfm6.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-ClientProxiedBy: SI2PR01CA0042.apcprd01.prod.exchangelabs.com
 (2603:1096:4:193::23) To OS3P286MB1877.JPNP286.PROD.OUTLOOK.COM
 (2603:1096:604:1bf::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: OS3P286MB1877:EE_|OSOP286MB4239:EE_
X-MS-Office365-Filtering-Correlation-Id: b581cf98-6268-43e4-7543-08dd45e8ced4
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|376014|366016;
X-Microsoft-Antispam-Message-Info: r1RC0Ux5pbEoeOM43nxIzcXYXLmPASCK9HTar3FFz70hJLTXpaafOoLE6raWwMaw2ZKQuxyfa1Xpriu8+QIGHichO33ICJirw52PG4mgJShQNEs74Cgj0WV/wVo6jXZnOi5r+JDcyqNig2yq+lk8b2x2oEfgfMFtKgx4LZGQl34+AGIe0j9kj5+mFcyQ85FOrUfii23quINa+vVT0eGsZjMfbBh3arzee5ozXWiZLMLErDiAb/Vcj//gVVyxchU5tATun47Opgbe/P1bxfF7Y3yNgEtp75sdsQhuePLPH//Ipzs/Dn7yKlhoi44FWQA8fTIkIRNN5PQ0IgBxw/YcbYaGUUTUzsA45gAAAYtOc65i3T+mWpS4WEZ9BA4zd1E52tNfclbexoi01bvHfYljjEQlDGQBoKlVtM5sb5Ts1HIkyQFXjWNdndnWPQZaHToxOVM+hGJl5rutvIish0FddT5cvYTgRWZLkGkDRfAl0RiulFC6f3b2aIPIICM0kVH7OhI+/KMowqVrG48EJ9BZDYdKcg7flz0NLUXFf1wRu02FUfdklZygwoRX50JgAcIDrMDcFm8CYtjqEOpCK9OJndU9v0FfpLmuP3G4UBJ98o0MvUeNY04kBXB1EJr8n7wrf5GodcohSsJqjwyU5yqd4U0ZtAusVEfOqst79Gg7rs/UWey8kXpyzlCfMgwiwkPLT58KwOX/lu5ivhDbJ+jmAA9wq5yCeLFEJzDQ2md4PLlvmkho6km5QASmu9sjR7/fgF88XWvDf32EK4RhDimaJFZMpviVNguiqTpfIX0ECLbB0rhOPXX2jqNWY0asIOJW0yFbqjh1dNVEjIgqd5GiTSAYImEhWN+f/t1PcfXb3QtXBluGwsl2a9Pjj+NMtAuWf3PEdrTF/+qLynqPl/bUBPNfIvR97VHWhBwoVrQD2talCMO/OfuJfe4VPv8OLHP805B3Fd9BWmDqJT0pyLQMDyDPEsDpnLZLpEVUJuPmcDKu1BEYGTvMsPYHk8m5Nb50gPjG/f4kejHTBvx7ah0C9iAtGYGLlVKSoHWR0Qpr4WI3+p7o2FEjO5GM967ERSF5McvVf1DAEP3cTfavJI20GacBjR3cotjksKl+siuLFBrRZ+aR8R2JcmZwzAK1/E85+t6vzJOQptimBJO4l5X22vI9EE3coDlrNCuy4qykPhq13Osf6rL8ytkEZ4AjCcoqlu3vPdfCHt3CchkyDjA3Q0lVXMtVs7k/kBQvA3UQM2I3cZfG9nJL+8erJc7wCm1isVZhJMjUnLdJi/mROYirTIa+yVvtZzS+ZcgHiD1i5cplosngPQMs0EsYEmaZK3/ffWi5bhxngMlwze4sNswU9wGvyw/9mSK4Q0XQ3217fHDR8209DThkcKmtCottg0r0
X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:;
 IPV:NLI; SFV:NSPM; H:OS3P286MB1877.JPNP286.PROD.OUTLOOK.COM; PTR:; CAT:NONE;
 SFS:(13230040)(1800799024)(376014)(366016); DIR:OUT; SFP:1102; 
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: X1aAhdDlmqC9j7ZMHrzmOOX0aC93mAUPEC9LIjLiqsuYHUEX1LNbXg02RllYe5GUVD9qXDiYIavtr+hgmcHlHt4arZnROtNfXPJ6TRtH2BRouoZKwa4Hlog0RVx5kjMRJwItn7DpsaKH22C8kdPozba34FGyYfGtoT72qkJKEhY3YIxeoNfprrlCSbPRhryXeHsho1yM+hh4sT9v63+EBucpKyw76H1QdaI1vBeSLlcmFsURI+2grUrKbRoMEVW25g4rsVPUED7wFPf/IrkVtDoD6miPCyImttsq6k3SMolOTY1a+lBeF2XY3nfmeTXnaRg7Qh7JvErhcJyVx50JMGg39JGCw9ZXzkQOw36VxEMu1WI7WnVTOJkgM8oi88SQ+hYfjj5kV3mqL7NhANWw2xcg8RcHek2g8mG01bnFUaVwO99sr7+mWNtTyW/DLMugDmtWsiY3Y945yKL2cbmsxQJbbOjoK2JAyrhUUkBn6cccIRx2m8U3bVUhtOrzQWRA5Y9bN0A5hQSO8Pn1ynuAgi5hilSFTsiVu7zDAYZiM9476Ai22T3OvGQ3DYZ4kmszeQEd9QPu1yMDxyLB5/UBvCppM5p7mPupTT6gp8x3mz8UzCq4MdhFL2nL4dATBXtxnBf+c/ON+TbYhJoEwraOO6dY2y0uUpe5Hj0jtdIiC/p1Q/9frvd/CSULP2jDoHIkOhM/g00DUkraSosL/6w3+y+s6pWgOB6K8z0TN0aHI1Dv0Z+1lvHw/zFyhlT6z1/qC04lLjw7N1fOPkj58CpxPNnM7ymxUfo6CDS60zs7fK+OCv0CaKxN59OHRVV0vMzmjVD2EvzuZUdCU2s01fcY5AmzuQsPaFpnmOJPiWvMadSVUFWSq4JFIuVMu6U9K7jNnIl/W+/jusuMbQeuR+0fkB9kSN0M4d5uYwvVgqeCsyBahw+zVZO087PkLVo77eFBf2QojhKZKp04qu8K6o4XlWgAXP5rOJRHYxU20a0LIqbc2JdpyZZL0+8mhEDtUDZE/n6QEeaKQYmh5xDHgXcxX79sijMdTFUMNk0H8sRQ//l5o3goQ5gEIxOgxZ9ZXObo/hheZtMknzfOqFMT+zxSjeicVnm8OpEy58CJwWRtHTDu6ocS2G4M2RjoK947Lds9LG3Fz7BpHMCK2ZcxeUP6QN3v/bI9oVc/WqW2nMf2vHWTArbTZe5LkPFweWAPIZaFt4FYyCdHcxLyIXywe94XP7bdSePQs7+FUpzAtGQJSJ4ZPBHJylUNQNg0y/gmlfnDt3qfOIaaO7RUCMQnO80pAc8vRYgkunWIMvpVlQqQNWLrf6g/qwKYx4c3U62AUCLoohEM/V9MBOiJsLsX5fvY2ejRdP63nHE/3AOlseW/5zF1P3n5d6rg14j/nYWUxRsMrTKUJ/qNMqDnle/ZWGNM+IxWFCMM6ICF3dzPflRReCk/IYZ6u/aEToOmh8xjWaCzT0qs6XGPEoZui6jmELzza5yfrf6dyttlfjKXM7XWbT8PbDuD0SksNO+vE6DhcAyku2rdKSVLh275SVdVOEo0Pga3oN2hKdu4o/bPM51E7SZcRMGBv+0m6V7FyJzQgyN+
X-OriginatorOrg: ust.hk
X-MS-Exchange-CrossTenant-Network-Message-Id: b581cf98-6268-43e4-7543-08dd45e8ced4
X-MS-Exchange-CrossTenant-AuthSource: OS3P286MB1877.JPNP286.PROD.OUTLOOK.COM
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Feb 2025 13:27:16.2786 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: c917f3e2-9322-4926-9bb3-daca730413ca
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: jTK6EeT3VRT97jJs06P6aYUCyPT1nSIFswbiHn+K6aF4rYueM4JFKJEkwL8bz13t
X-MS-Exchange-Transport-CrossTenantHeadersStamped: OSOP286MB4239
X-Spam-Score: 0.0 (/)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

>>>>> "AC" =3D=3D Andrew Cohen <acohen@HIDDEN> writes:

[...]

    AC> So how exactly do I add a new sleep-event to the C source? I
    AC> tried copying how its done for dbus-event in keyboard.c and
    AC> termhooks.h (I'm only trying to create such an event in lisp so
    AC> I didn't worry about generating such an event in C). Is this
    AC> right? And do I always have to install the handler in the global
    AC> keymap (just to test this I tried pushing an existing dbus-event
    AC> onto unread-command-events, and also get "dbus-event is
    AC> undefined" unless I install a handler on the global keymap. So
    AC> it seems that I do. I also notice that other special events,
    AC> like delete-frame, have handlers installed in both the global
    AC> keymap and the special-event-map).

And maybe answering my own questions:

According the the elisp manual special events "cannot be unread with
=E2=80=98unread-command-events=E2=80=99". Not sure exactly what this means =
(and I
haven't yet read the code to figure it out) but it certainly appears
that special events can't trigger a function bound in special-event-map
by pushing an event onto unread-command-events. But that's probably OK,
since we can /also/ bind the handler to the special event in the global
keymap, as is done for several of the existing special events
(delete-frame, make-frame-visible, iconify-frame). Then we can trigger
the event directly in C by generating the special event, or
synthetically in Lisp by pushing onto unread-command-events.=20

I'll assume that this is OK unless I hear otherwise and make changes to
the package accordingly.

Best,
Andy
--=20
Andrew Cohen




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#63620: 30.0.50; [Feature Request] run hooks on sleep/wake
Resent-From: Stefan Monnier <monnier@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Wed, 05 Feb 2025 15:30:02 +0000
Resent-Message-ID: <handler.63620.B63620.173876935813140 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 63620
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: patch
To: Andrew Cohen <acohen@HIDDEN>
Cc: 63620 <at> debbugs.gnu.org, Eli Zaretskii <eliz@HIDDEN>, michael.albinus@HIDDEN
Received: via spool by 63620-submit <at> debbugs.gnu.org id=B63620.173876935813140
          (code B ref 63620); Wed, 05 Feb 2025 15:30:02 +0000
Received: (at 63620) by debbugs.gnu.org; 5 Feb 2025 15:29:18 +0000
Received: from localhost ([127.0.0.1]:51919 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tfhL4-0003Ps-9b
	for submit <at> debbugs.gnu.org; Wed, 05 Feb 2025 10:29:18 -0500
Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:63986)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <monnier@HIDDEN>)
 id 1tfhL1-0003Pa-Dc
 for 63620 <at> debbugs.gnu.org; Wed, 05 Feb 2025 10:29:16 -0500
Received: from pmg1.iro.umontreal.ca (localhost.localdomain [127.0.0.1])
 by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id 7C81710004C;
 Wed,  5 Feb 2025 10:29:08 -0500 (EST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca;
 s=mail; t=1738769347;
 bh=vpVXEXnVqo7YajP1ttf7WMkUrFt2eTT4frXo9r0NIdg=;
 h=From:To:Cc:Subject:In-Reply-To:References:Date:From;
 b=QOHwZLykUMEsTmQPA9gMa+p91HeqjBFJWr567k1vjVIaM+ZOevEnelpd8j4oGafRe
 Bc9C94rvW5vnax3cbO8hdZEqQUr1MmTHfXE0sTAwfHBoIIbnMcrzmAf+hblz6OAPtM
 sMSFROY3aQoVj2NFWDvC6dA3UbaojwDUCpAA88lpMkzXuQQfnuZ5f0A21CSFnGABZk
 K1oWEUoosKAh6OEwXEuiJsVYFnQSixkoVMEm1YEIKfI96JucCEIyb8DIrh1ZuzKFQD
 tPPaSsrzSjAPFGsXLvZ5YGeORceOHkK9GfFBqgQ+/ofk4vVVjg6P5O8QUOxysOeG0Z
 b413wZ1fxeAkQ==
Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1])
 by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id C5FD6100034;
 Wed,  5 Feb 2025 10:29:07 -0500 (EST)
Received: from alfajor (unknown [23.233.149.155])
 by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 99E7612086C;
 Wed,  5 Feb 2025 10:29:07 -0500 (EST)
From: Stefan Monnier <monnier@HIDDEN>
In-Reply-To: <874j18zfm6.fsf@HIDDEN> (Andrew Cohen's message of "Wed, 05 Feb
 2025 21:27:13 +0800")
Message-ID: <jwvy0ykjtwa.fsf-monnier+emacs@HIDDEN>
References: <87fs7qmw00.fsf@HIDDEN> <87lehinlvg.fsf@HIDDEN>
 <87y1ky83du.fsf@HIDDEN> <87legr1tn5.fsf@HIDDEN>
 <878qqmz99g.fsf@HIDDEN> <8634gtc0k7.fsf@HIDDEN>
 <87seot3k42.fsf@HIDDEN> <86r04dahpc.fsf@HIDDEN>
 <878qqkzh9d.fsf@HIDDEN> <874j18zfm6.fsf@HIDDEN>
Date: Wed, 05 Feb 2025 10:28:59 -0500
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-SPAM-INFO: Spam detection results:  0
 ALL_TRUSTED                -1 Passed through trusted hosts only via SMTP
 AWL -0.605 Adjusted score from AWL reputation of From: address
 BAYES_00                 -1.9 Bayes spam probability is 0 to 1%
 DKIM_SIGNED               0.1 Message has a DKIM or DK signature,
 not necessarily valid
 DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature
 DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's
 domain
 DKIM_VALID_EF -0.1 Message has a valid DKIM or DK signature from envelope-from
 domain
X-SPAM-LEVEL: 
X-Spam-Score: -2.3 (--)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

> According the the elisp manual special events "cannot be unread with
> =E2=80=98unread-command-events=E2=80=99".

Oh, right!  So pushing to `unread-command-events` will only work if the
binding is made in a normal map.  That's not the end of the world, but
it's not ideal.  E.g. it doesn't really make sense to have the behavior
depend on the mode of the current buffer, and it seems undesirable to
fail to run the binding if you happened to type `C-x` just
before sleeping.

Hmm...


        Stefan





Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#63620: 30.0.50; [Feature Request] run hooks on sleep/wake
Resent-From: Stefan Monnier <monnier@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Wed, 05 Feb 2025 18:22:01 +0000
Resent-Message-ID: <handler.63620.B63620.17387797133422 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 63620
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: patch
To: Andrew Cohen <acohen@HIDDEN>
Cc: 63620 <at> debbugs.gnu.org, Eli Zaretskii <eliz@HIDDEN>, michael.albinus@HIDDEN
Received: via spool by 63620-submit <at> debbugs.gnu.org id=B63620.17387797133422
          (code B ref 63620); Wed, 05 Feb 2025 18:22:01 +0000
Received: (at 63620) by debbugs.gnu.org; 5 Feb 2025 18:21:53 +0000
Received: from localhost ([127.0.0.1]:52348 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tfk25-0000t8-4M
	for submit <at> debbugs.gnu.org; Wed, 05 Feb 2025 13:21:53 -0500
Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:45774)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <monnier@HIDDEN>)
 id 1tfk22-0000ss-Af
 for 63620 <at> debbugs.gnu.org; Wed, 05 Feb 2025 13:21:50 -0500
Received: from pmg2.iro.umontreal.ca (localhost.localdomain [127.0.0.1])
 by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id C94C08092A;
 Wed,  5 Feb 2025 13:21:42 -0500 (EST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca;
 s=mail; t=1738779702;
 bh=9mupy18Hn/HnS07moeRWLbxI4AwdxugYylHFnaLOlUI=;
 h=From:To:Cc:Subject:In-Reply-To:References:Date:From;
 b=SXNKiOWkuJxNZugim2a9a92FeXfKt/mveVexsK5VWPlKaIwiePm9tq7bUq7eXrSE5
 uvK/14o2JKdDfruFD3VnbhsuTRqdOYz3mNj4c4pTEKhRQVzWFGIhi193EOEmd5klGG
 Fft/TJH+86gserT9CpNZtt7oM+017YGYldganwr1VxnYZV6JXKU1RTu8GVxIhY4DIe
 H9WZ2jbGLhDA+zojwHDdsiHPvSdTu86HJ+IF1+g5L6a6r5HmhbsxHhi80JsKvm2A9x
 xvqzV/NVtbpD2/q3OJ/XN8P40PfqSh/nNEAcTfLrNaBma+9PnsxyyLGXj77NLTWtjU
 1U4RTejDorVVQ==
Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1])
 by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id 1BAAA80065;
 Wed,  5 Feb 2025 13:21:42 -0500 (EST)
Received: from alfajor (unknown [23.233.149.155])
 by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id E8D0F120401;
 Wed,  5 Feb 2025 13:21:41 -0500 (EST)
From: Stefan Monnier <monnier@HIDDEN>
In-Reply-To: <jwvy0ykjtwa.fsf-monnier+emacs@HIDDEN> (Stefan Monnier's message
 of "Wed, 05 Feb 2025 10:28:59 -0500")
Message-ID: <jwvh658jlr1.fsf-monnier+emacs@HIDDEN>
References: <87fs7qmw00.fsf@HIDDEN> <87lehinlvg.fsf@HIDDEN>
 <87y1ky83du.fsf@HIDDEN> <87legr1tn5.fsf@HIDDEN>
 <878qqmz99g.fsf@HIDDEN> <8634gtc0k7.fsf@HIDDEN>
 <87seot3k42.fsf@HIDDEN> <86r04dahpc.fsf@HIDDEN>
 <878qqkzh9d.fsf@HIDDEN> <874j18zfm6.fsf@HIDDEN>
 <jwvy0ykjtwa.fsf-monnier+emacs@HIDDEN>
Date: Wed, 05 Feb 2025 13:21:41 -0500
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-SPAM-INFO: Spam detection results:  0
 ALL_TRUSTED                -1 Passed through trusted hosts only via SMTP
 AWL 0.047 Adjusted score from AWL reputation of From: address
 BAYES_00                 -1.9 Bayes spam probability is 0 to 1%
 DKIM_SIGNED               0.1 Message has a DKIM or DK signature,
 not necessarily valid
 DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature
 DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's
 domain
 DKIM_VALID_EF -0.1 Message has a valid DKIM or DK signature from envelope-from
 domain
X-SPAM-LEVEL: 
X-Spam-Score: -2.3 (--)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

>> According the the elisp manual special events "cannot be unread with
>> =E2=80=98unread-command-events=E2=80=99".
> Oh, right!  So pushing to `unread-command-events` will only work if the
> binding is made in a normal map.  That's not the end of the world, but
> it's not ideal.  E.g. it doesn't really make sense to have the behavior
> depend on the mode of the current buffer, and it seems undesirable to
> fail to run the binding if you happened to type `C-x` just
> before sleeping.

Maybe a hook is not such a bad idea after all.


        Stefan





Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#63620: 30.0.50; [Feature Request] run hooks on sleep/wake
Resent-From: Eli Zaretskii <eliz@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Wed, 05 Feb 2025 20:23:02 +0000
Resent-Message-ID: <handler.63620.B63620.17387869305629 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 63620
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: patch
To: Stefan Monnier <monnier@HIDDEN>
Cc: acohen@HIDDEN, 63620 <at> debbugs.gnu.org, michael.albinus@HIDDEN
Received: via spool by 63620-submit <at> debbugs.gnu.org id=B63620.17387869305629
          (code B ref 63620); Wed, 05 Feb 2025 20:23:02 +0000
Received: (at 63620) by debbugs.gnu.org; 5 Feb 2025 20:22:10 +0000
Received: from localhost ([127.0.0.1]:52789 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tfluT-0001Se-PG
	for submit <at> debbugs.gnu.org; Wed, 05 Feb 2025 15:22:10 -0500
Received: from eggs.gnu.org ([2001:470:142:3::10]:43210)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1tfluQ-0001S2-5t
 for 63620 <at> debbugs.gnu.org; Wed, 05 Feb 2025 15:22:08 -0500
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 <eliz@HIDDEN>)
 id 1tfluJ-0003zl-OJ; Wed, 05 Feb 2025 15:21:59 -0500
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=I4eVMdq1vcCl9RHEMl2Ls/UrVRYgKOKvNTXOi9xDORE=; b=mQtDmxaUJ30dYTYmD54Z
 i8MgsjboLN/ubKhna41JW84Cl+0tVRy9xW0TIVEsiyyMIlkA0RkaNXmS8tpwD7TpnNoST+Q5A5fvm
 hwjYeA1n1Ty1ivbqHLuhlJmMYwAWDEJhdaPMc1slcS0hYf11xZI22dNog4tvOvQ42YPCqiLDo6nON
 LKxqpg0A0Rt1r+DRJGCTlcSEFpKPj4Dji/bwhYWFRQercmeB/rapTOBrl+kMCbqs+mCMNtVwIFduU
 fyYWxoN1NKBAILnwy2/xssnKuvQ0d2UhP3RSQ5h2h3acn3ZiGTPk+rA5ow3FP3GY8wB/q0eDpccQ8
 dW2PZVrwrWGANw==;
Date: Wed, 05 Feb 2025 22:21:55 +0200
Message-Id: <86y0yk6t24.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
In-Reply-To: <jwvh658jlr1.fsf-monnier+emacs@HIDDEN> (message from Stefan
 Monnier on Wed, 05 Feb 2025 13:21:41 -0500)
References: <87fs7qmw00.fsf@HIDDEN> <87lehinlvg.fsf@HIDDEN>
 <87y1ky83du.fsf@HIDDEN> <87legr1tn5.fsf@HIDDEN>
 <878qqmz99g.fsf@HIDDEN> <8634gtc0k7.fsf@HIDDEN>
 <87seot3k42.fsf@HIDDEN> <86r04dahpc.fsf@HIDDEN>
 <878qqkzh9d.fsf@HIDDEN> <874j18zfm6.fsf@HIDDEN>
 <jwvy0ykjtwa.fsf-monnier+emacs@HIDDEN>
 <jwvh658jlr1.fsf-monnier+emacs@HIDDEN>
MIME-version: 1.0
Content-type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
X-Spam-Score: -2.3 (--)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

> From: Stefan Monnier <monnier@HIDDEN>
> Cc: Eli Zaretskii <eliz@HIDDEN>,  63620 <at> debbugs.gnu.org,
>   michael.albinus@HIDDEN
> Date: Wed, 05 Feb 2025 13:21:41 -0500
> 
> >> According the the elisp manual special events "cannot be unread with
> >> ‘unread-command-events’".
> > Oh, right!  So pushing to `unread-command-events` will only work if the
> > binding is made in a normal map.  That's not the end of the world, but
> > it's not ideal.  E.g. it doesn't really make sense to have the behavior
> > depend on the mode of the current buffer, and it seems undesirable to
> > fail to run the binding if you happened to type `C-x` just
> > before sleeping.
> 
> Maybe a hook is not such a bad idea after all.

But then how would platforms where these events come from the
window-system call that hook?  We'd need two different mechanisms for
the same feature, and two different ways of calling user-defined
functions when the event comes in.  Or what am I missing?




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#63620: 30.0.50; [Feature Request] run hooks on sleep/wake
Resent-From: Stefan Monnier <monnier@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Wed, 05 Feb 2025 22:38:02 +0000
Resent-Message-ID: <handler.63620.B63620.173879505321131 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 63620
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: patch
To: Eli Zaretskii <eliz@HIDDEN>
Cc: acohen@HIDDEN, 63620 <at> debbugs.gnu.org, michael.albinus@HIDDEN
Received: via spool by 63620-submit <at> debbugs.gnu.org id=B63620.173879505321131
          (code B ref 63620); Wed, 05 Feb 2025 22:38:02 +0000
Received: (at 63620) by debbugs.gnu.org; 5 Feb 2025 22:37:33 +0000
Received: from localhost ([127.0.0.1]:53108 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tfo1V-0005Uk-AB
	for submit <at> debbugs.gnu.org; Wed, 05 Feb 2025 17:37:33 -0500
Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:3263)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <monnier@HIDDEN>)
 id 1tfo1S-0005UL-Su
 for 63620 <at> debbugs.gnu.org; Wed, 05 Feb 2025 17:37:31 -0500
Received: from pmg2.iro.umontreal.ca (localhost.localdomain [127.0.0.1])
 by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id 753D6803EA;
 Wed,  5 Feb 2025 17:37:23 -0500 (EST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca;
 s=mail; t=1738795042;
 bh=1wr1BOrDFZZr2lhP5QvtKWQOPRcBJQkdju2Uj6on39g=;
 h=From:To:Cc:Subject:In-Reply-To:References:Date:From;
 b=OuBl17VTdfIqvmL5hNUM8GRmTJXFwJ3cC0uCrb2C3MKAVMXG/bJCvD/gevJzcdBI7
 c79m1wz5/Xist7jDRksMGA79Y1TI4v4b8fLfu+i33H+sUdtMtog4hNyPqr+jLNQkz8
 uEPJiYoWJyjQereg8+/W9TqSkgaYm/BKXkYgzGeZmDodCqA9/KXb8WTHz7/s39wehS
 tcC0+GcKL4fqq87cMnDYjqkPEqVOHEnD+rscpx29Kd+cbWIXDhQ3kkFK56kXpkhJnV
 f2HR3eBpd76r0s6xom+ERZGvRpsyJcI+q+V4ocr9rR9mwiWULMNEHU0AII7kkJovu4
 hof+yJe9tVSPA==
Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1])
 by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id 9E7D38045E;
 Wed,  5 Feb 2025 17:37:22 -0500 (EST)
Received: from alfajor (104-195-232-86.cpe.teksavvy.com [104.195.232.86])
 by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 6458312041A;
 Wed,  5 Feb 2025 17:37:22 -0500 (EST)
From: Stefan Monnier <monnier@HIDDEN>
In-Reply-To: <86y0yk6t24.fsf@HIDDEN> (Eli Zaretskii's message of "Wed, 05 Feb
 2025 22:21:55 +0200")
Message-ID: <jwv5xloja7l.fsf-monnier+emacs@HIDDEN>
References: <87fs7qmw00.fsf@HIDDEN> <87lehinlvg.fsf@HIDDEN>
 <87y1ky83du.fsf@HIDDEN> <87legr1tn5.fsf@HIDDEN>
 <878qqmz99g.fsf@HIDDEN> <8634gtc0k7.fsf@HIDDEN>
 <87seot3k42.fsf@HIDDEN> <86r04dahpc.fsf@HIDDEN>
 <878qqkzh9d.fsf@HIDDEN> <874j18zfm6.fsf@HIDDEN>
 <jwvy0ykjtwa.fsf-monnier+emacs@HIDDEN>
 <jwvh658jlr1.fsf-monnier+emacs@HIDDEN> <86y0yk6t24.fsf@HIDDEN>
Date: Wed, 05 Feb 2025 17:37:20 -0500
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-SPAM-INFO: Spam detection results:  0
 ALL_TRUSTED                -1 Passed through trusted hosts only via SMTP
 AWL -0.037 Adjusted score from AWL reputation of From: address
 BAYES_00                 -1.9 Bayes spam probability is 0 to 1%
 DKIM_SIGNED               0.1 Message has a DKIM or DK signature,
 not necessarily valid
 DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature
 DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's
 domain
 DKIM_VALID_EF -0.1 Message has a valid DKIM or DK signature from envelope-from
 domain
X-SPAM-LEVEL: 
X-Spam-Score: -2.3 (--)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

>> Maybe a hook is not such a bad idea after all.
> But then how would platforms where these events come from the
> window-system call that hook?

I don't understand the question: why would those not be ale to run the
hook?  If it's because it's in a separate UI thread, they can push to
`pending_funcalls`, or in the worst case they can add an event into the
event queue and then use `special-event-map` to run an ad-hoc function
which runs the hook.

Of course, we could similarly make the D-bus code manually do
(lookup-key special-event-map [sleep-event])


        Stefan





Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#63620: 30.0.50; [Feature Request] run hooks on sleep/wake
Resent-From: Andrew Cohen <acohen@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Thu, 06 Feb 2025 01:45:02 +0000
Resent-Message-ID: <handler.63620.B63620.173880625013047 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 63620
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: patch
To: Stefan Monnier <monnier@HIDDEN>
Cc: 63620 <at> debbugs.gnu.org, Eli Zaretskii <eliz@HIDDEN>, michael.albinus@HIDDEN, Ship Mints <shipmints@HIDDEN>
Received: via spool by 63620-submit <at> debbugs.gnu.org id=B63620.173880625013047
          (code B ref 63620); Thu, 06 Feb 2025 01:45:02 +0000
Received: (at 63620) by debbugs.gnu.org; 6 Feb 2025 01:44:10 +0000
Received: from localhost ([127.0.0.1]:53364 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tfqw6-0003OM-5n
	for submit <at> debbugs.gnu.org; Wed, 05 Feb 2025 20:44:10 -0500
Received: from mail-japanwestazlp170100001.outbound.protection.outlook.com
 ([2a01:111:f403:c406::1]:61539
 helo=OS0P286CU011.outbound.protection.outlook.com)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <acohen@HIDDEN>) id 1tfqw4-0003Nb-CQ
 for 63620 <at> debbugs.gnu.org; Wed, 05 Feb 2025 20:44:09 -0500
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=VlEWwPfNsV1dQPb8ZAHOyJTftK8oEMUmGPNW1Du70ovsdjfTeedAgglhHV4Bs+UjwTt2g3cgEy+bPctm5e08QPzZSfPifsV4QtrYFbRUhGLHMvz1YA1JX7aqvdhhzWwEQviaDYmoe7g0Rz2yshVbh0nWKzKbFOtLMLKHdo3Kn3US3nrc2YEpeWfngqDrbplyDfs97CyMQKdhRdP/a5QeJExXla8WyLDYgnYAEDDy+TeuuLt6qkjftW9dtZTnZsaebevCf+qCF52znp/lMfytLy0fcRLAY+ePAi/2JHQ67KwJZg8L4guD9IOLNKXposFDAYzFFdMe3mAbsK42Eu9UDA==
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=xf/cebNemosDlrDmmmEpGaHK/jJ0gG5dN8DhXu7X/As=;
 b=EQOz9mFwE1yQUDeo+PlEFL8w5d2z/43YJhIXhIdov8RxYEIQHfwgmaRLNgczG8znzPhzpm2RaBBSS9E/qQV8e2vAVkamgXzPPig258PHsadzxqd6TlTBgFrU8AcwXWcriBuZoYsx5jwdCd3ZlC5ZmSpl+feDMz+s0jcUilTkfcker6OIJMmqYP41GUChAQGiNr7LSeA5vKelMWyDF62MzI4jfPArsxTS+xu8jWetCcx7p76MnhGrT8ET4APtnSPEzhtHbVtlVb1lMy4m/UMnPuqhHIFq1VS3ZVJCosbCSe/y6JvZZ6Qf13tLQ1aFpQVJXDDPDajjBLdZ20UoleC8/g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=ust.hk; dmarc=pass action=none header.from=ust.hk; dkim=pass
 header.d=ust.hk; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ust.hk; s=selector2;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=xf/cebNemosDlrDmmmEpGaHK/jJ0gG5dN8DhXu7X/As=;
 b=GRaMfkxA9uyV9YqXoekA/ml8epqwnMaR6DzhZsRgZ2yIO6rk/vklGOWqYFoHby+U/uas1W/E+3mwrrFX4Qa+1fUB7kTKmM52hJ8NAbX19ezcnm3q11NoWRuuY7rvFN2S7IY5FbjWTW6Bk+NrQ0wKuLxFTplvVK7SHag+DTSGLF1ynAvl3bs4QGwemL/PY0TfeStvqbHK/SjPxyKTzrxQ6pxyy1h2k6F0m5LeSgTPKwrCxOS40xBNCp1ukTbqO5MMOd3FSowrB3p4gciVbbALOAM5z8IigdY0026WXAbZ4t6lyr3ua8YwvolPgtITQ6qfgOhQoZTp1Bh+mNES5S4hhQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=ust.hk;
Received: from OS3P286MB1877.JPNP286.PROD.OUTLOOK.COM (2603:1096:604:1bf::11)
 by OS9P286MB5221.JPNP286.PROD.OUTLOOK.COM (2603:1096:604:311::8) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8398.25; Thu, 6 Feb
 2025 01:43:59 +0000
Received: from OS3P286MB1877.JPNP286.PROD.OUTLOOK.COM
 ([fe80::4b6e:c37e:4327:cfab]) by OS3P286MB1877.JPNP286.PROD.OUTLOOK.COM
 ([fe80::4b6e:c37e:4327:cfab%4]) with mapi id 15.20.8422.009; Thu, 6 Feb 2025
 01:43:59 +0000
From: Andrew Cohen <acohen@HIDDEN>
In-Reply-To: <jwv5xloja7l.fsf-monnier+emacs@HIDDEN>
References: <87fs7qmw00.fsf@HIDDEN> <87lehinlvg.fsf@HIDDEN>
 <87y1ky83du.fsf@HIDDEN> <87legr1tn5.fsf@HIDDEN>
 <878qqmz99g.fsf@HIDDEN> <8634gtc0k7.fsf@HIDDEN>
 <87seot3k42.fsf@HIDDEN> <86r04dahpc.fsf@HIDDEN>
 <878qqkzh9d.fsf@HIDDEN> <874j18zfm6.fsf@HIDDEN>
 <jwvy0ykjtwa.fsf-monnier+emacs@HIDDEN>
 <jwvh658jlr1.fsf-monnier+emacs@HIDDEN> <86y0yk6t24.fsf@HIDDEN>
 <jwv5xloja7l.fsf-monnier+emacs@HIDDEN>
Date: Thu, 06 Feb 2025 09:43:56 +0800
Message-ID: <87bjvfx2xv.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
Content-Type: text/plain
X-ClientProxiedBy: TP0P295CA0045.TWNP295.PROD.OUTLOOK.COM
 (2603:1096:910:4::16) To OS3P286MB1877.JPNP286.PROD.OUTLOOK.COM
 (2603:1096:604:1bf::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: OS3P286MB1877:EE_|OS9P286MB5221:EE_
X-MS-Office365-Filtering-Correlation-Id: 0f0712cf-aed1-429b-c677-08dd464fb9ea
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|376014|1800799024;
X-Microsoft-Antispam-Message-Info: eJAmRgIVv9Rxhi8N9Rtr/yIoNPeGLeolRdJQ8Hv5mCXImQBxoFIXX4DXjr74TDzGwXg4UccHPNcfZC2/HfCxv5fIMBXwnBNR1NefhT93CLGvRqWgYekjH5QgRysmGedRsDr8NYOKu9qiNiQ/FaJT/sRSSkI82wb/pSZs0r4U5DeZQjuFOuDyfliZJgY/Yp9nMh4LAWnOiTdkADB3DaqWO+KtHWx7IdK3qJ1DjfbMa5bsPfY3cAUG5R7hwoZMB/+dLRazkRgylTzcZ2nTRaLhR6MAYdCAfKRkT4fOAHKPUGP2L1wM0gG7Yeq8tfLAYcBXO91toNQ4tBwIoZKjKP5srzolc1rus8Qg3BCH4ELWLz+hMFuMUKaC3NIZ78D9zlSgTpuyi6OL/3ndSCC0eA2Auww0Q2+deNpfVBMt9ylcz5hxBiisgxAwcTChEgGHjBuzx5omQF4eqcvOtMmdwrJZkwGyWN0YRa0hGRn0n044WqD+GLgjCl0dLtcapo+5DFY3F0QeNv14irfoiLVFzgHDCwowC2uF/sm9kgPEsrNIj4BJIPhF7GXZucZdH12Y8CkbZVYPfZzlxJGZv8vo5EQGVZ9xr47t3AclVdL9+gh60XCv9YERr87FQ+u5FG+C16scd2OdFapnHRZWKjjrV6pA0JxY7IsutDdS0xYNjtaDxe4Ica2fvoYgsEYh8Nrf5PoM2WuvdjKihX1nbE5jvBYLcWrFqrtbCQp2h4oh0K+9/Po95AarqqKpZPB/gS2OuRtw0E1+ZtGheryIMN03d0q7ho+4OD70lkHnPtrhHuPY31NdcOW7dVWgSB0k5Gflf0HCHG1sGQtBCQrH3q7v0h9L/JyRnBIFg0r1TeT5rFeb20Fl3sMcPJnKe2TxgoHHFIKdmfA7iYj3hgl++yiXhNWSS0TB6mjzVsPXUv0SQTqC/PaDUVsTIZYNdDHjzReSqUJBoT8+EIJHvD7YKes39TqTblS+Xlt/9txNfYE14PjJPD5YOEi3eFGEhjg5WXNkmrtz+/BAKf0rwz2d2ySPoq6fbqZoOjpgSIJdLzuuV2Q7QfrD4sHYRAkq15Wqtk1mvl31g03KMQKW6DBUEBGRf/WBDp2UqvgzPNhEZD+S8ofYiuJ1ykhKR680EqIA7iqzjysK4wEpFdkBJd5Dg0GkJGcPSAE3aK8ayf2hh3gu5V+mRuEZ8Tl60VtYpVyuIRUezFxEjKvp5wPfAzV23MdxMMkvUwkYWsDHSM5lfoDBr8E1eXgOh1vAy38pFMsgefw8YEqkNnM9oRjh0b9O5cSg0kcfdyWRmM9t+W60NRzXxNZ9ER8rEnsW7j0tTiCbChcUEBJqozJstq0w97UrhuCfg58GoA==
X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:;
 IPV:NLI; SFV:NSPM; H:OS3P286MB1877.JPNP286.PROD.OUTLOOK.COM; PTR:; CAT:NONE;
 SFS:(13230040)(366016)(376014)(1800799024); DIR:OUT; SFP:1102; 
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: UOt34DHrZNSE3MROGXbGph+L7I0H61UBpEKr9zSbXQqtTAMqYGOqWgHvi8QT8HaVzblHSGNy2N/wfpYiFYTW0wpYO439FCW7u+6/GJrkUES1PiJ2lZaclr0zGt3DriWyw54Pa6l/ircI470347dd7zWPtCb5r09+skD9RAXKfG0IWHvtzGT9mjHfPlHaAdjF6jeuArDcdmV/QH18caynPRcmJDy3zaNRUDTNdtzZ+tgytOMrdvM+4USsXGnvUEYCLjOPmgzfXglXPUl53TwyB6CZ7FafeRZdS6nCVMx0hHdNKGZSN0pI1dXo8/wFYKLwCQmTQnax5Q+GoKKta7czxghfeIXiyv8ax+h1Awj/d0rP0RSci8wPWwb/NzmxMkRAbri8thy4abHPcuDiaYNZ0P+Brd4qyjfPVqusrK9347+v2EVT50bg3Qqr+2nFmTIMI6FLMgesztXZc+pvGajZ1L9RycTyiOMxkDkOL8qxsFgScqDiDdOVbDYzOWFj5rca41Yc/pl2FeTCzrnJzzNqCD8u8we/KKCC5hNLP5OiUvlMHpWtFbdWcpQYJqHyDa4nEd5NKjR71ulDIFPc1SdJripIS9otuPGnnAaRYkjmzc0jSCk5sw3xBXthj+ilekfMKT1yGkqVdDnJ3MoerZnuLPr/uTdmpbyQyxsbXx0iF7rKIrgkHBE8Wlw1+iyCsYQd8YMf7hKJ894RQhMBUMWVsihu1JicbAofX/AOLtwzmEq1tYHTDFJ5dZ4qBngPKhqsBc2zYyYkAmK4qz/f4mvoiOfbssmXj7tdYUEgT+7pdoV/D+vITorVV41DPuxOSwXzKZkZ+nuzoRlL4OyNNOIWYMH5+TWSK/PidJ0+SL+pg8pAnrNoMT0Jf+j3VkAg1RLhkJzSPnqAianu8eL8N22lCiPqFXep7Ax32DJEAvui3qYtQH8tUbo8bW7UTHaa2ybdnu8RDXJp5tnUAePvfcVHJJb3FJflNYMZ6LeYh9mTAqF1UV8sia8bMLcIb7SpXTZooRvkYqn/0s5k2GK1CkUR4lEj/3EMqX83xvDx9Yd8sjGjfpqg5zF0/lXpQ6VKYT31LUjdachtOY5GDpEx+prg3ydvo8zFYVlUng2byLgu/xEB5JHSEWE1hBGC61wVt+2m6fy9G5oXnsngoHAKJ15jkIg7wEsqjhCL+IgpLjWw6ynxuxIRr6x85PYwQswDBVk3dJjX+mZ+DiImUMFrVJrjdlvgrdSkvZUiEPuRCbT6W6dhf+4lJwARx2x8Z0f0M9a+1+8fOnPzur0jHBnB8dgaaEGs+qd7cpzCYjRvkE0qGX+9mOxrspjW5oai5ybfq0QfVbcCT1cS4d74f+JJRbZ3T+EN4GXZ5Giqtfz3WdSsEbZMSlBTh1FB8OMIzAt8H3c9CxdZswNV+aOlUyTixELv5Cthr5XUk1KuQy6khtNGjomoaILtIk3SOYWOJjMaNLOot8zBi+jU7kHm84Wd8UBPS4j9PoEYdA//UDAXsFJnndj/bXAbj+tHXY6ZnqDjroJO5fzd0k1I4Zzi66rE7YbsH8Z1wjo95hrtyG11JS2N1MjYUDBSwV7GzvcA1fDtzWBV
X-OriginatorOrg: ust.hk
X-MS-Exchange-CrossTenant-Network-Message-Id: 0f0712cf-aed1-429b-c677-08dd464fb9ea
X-MS-Exchange-CrossTenant-AuthSource: OS3P286MB1877.JPNP286.PROD.OUTLOOK.COM
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Feb 2025 01:43:59.3996 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: c917f3e2-9322-4926-9bb3-daca730413ca
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: NCRihFwzhvaZQmX/hJJZUz06pG0qodaYXBzWEGH8wJRTEvKi3VXPEWpPQ+p489oQ
X-MS-Exchange-Transport-CrossTenantHeadersStamped: OS9P286MB5221
X-Spam-Score: -0.0 (/)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

>>>>> "SM" == Stefan Monnier <monnier@HIDDEN> writes:

    >>> Maybe a hook is not such a bad idea after all.
    >> But then how would platforms where these events come from the
    >> window-system call that hook?

    SM> I don't understand the question: why would those not be ale to
    SM> run the hook?  If it's because it's in a separate UI thread,
    SM> they can push to `pending_funcalls`, or in the worst case they
    SM> can add an event into the event queue and then use
    SM> `special-event-map` to run an ad-hoc function which runs the
    SM> hook.

I remain open to other ideas, but it seems to me that the most
straightforward is to allow systems to add a sleep-event into the event
queue.  My original code installed a callback function to run the hooks
when a state change is detected.  So this same function can be installed
into special-event-map and the behavior on all systems is the same.

I've modified the code a bit---I've made the handler function
configurable with a defcustom and set it by default to the function that
just runs the hooks. But the same handler will be used on both
sleep-events and dbus detection.  The only difference is that if the
system supports dbus, dbus detection of state changes will be used,
while in other cases sleep-events will trigger the handler.

;;; sleep.el --- run hooks on device sleep and wake  -*- lexical-binding:t -*-

;; Copyright (C) 2025 Free Software Foundation, Inc.

;; Author: Andrew Cohen <>
;; Maintainer: emacs-devel@HIDDEN
;; Keywords:

;; 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 <https://www.gnu.org/licenses/>.

;;; Commentary:

;;; This global minor mode enables evaluating code when the device
;;; running Emacs enters or leaves the sleep state.  The hooks
;;; `sleep-sleep-hook' and `sleep-wake-hook' are run when the system
;;; detects that it is going to sleep or waking up.  Currently only a
;;; D-Bus interface to detect sleep state change is implemented.

;;; Code:

(require 'dbus)

(defgroup sleep nil
  "Run hooks on device entering/leaving the sleep state."
  :group 'hardware)

(defcustom sleep-handler-function 'handle-sleep-event
  "Function called on device sleep state change.
The function takes a single boolean argument (t for sleep and nil for
wake).  The default function just runs the sleep and wake hooks."
  :group 'sleep
  :type 'function)

(defcustom sleep-sleep-hook nil
  "Hook to run on device entering sleep."
  :group 'sleep
  :type 'hook)

(defcustom sleep-wake-hook nil
  "Hook to run on device leaving sleep."
  :group 'sleep
  :type 'hook)

(defvar sleep-dbus-registration-object nil
  "Object returned from `dbus-register-signal'.
This is recorded so that the signal may be unregistered.")

(defun sleep-dbus-detection (mode)
  "Enable D-Bus detection of device sleep/wake state change.
When enabled run `sleep-handler-function' when a state change is
detected.  Disable detection if MODE is nil."
  (if mode
      (unless sleep-dbus-registration-object
        (setq sleep-dbus-registration-object
              (dbus-register-signal :system
                                    "org.freedesktop.login1"
                                    "/org/freedesktop/login1"
                                    "org.freedesktop.login1.Manager"
                                    "PrepareForSleep"
                                    sleep-handler-function)))
    (condition-case nil
        (progn
          (ignore-error (dbus-error wrong-type-argument)
            (dbus-unregister-object
             sleep-dbus-registration-object))
          (setq sleep-dbus-registration-object nil))
      (wrong-type-argument nil))))

(defun handle-sleep-event (sleep-wake)
  "Handler to execute sleep and wake functions.
SLEEP-WAKE is t on sleeping and nil on waking."
  (ignore-errors
    (if sleep-wake
        (run-hooks 'sleep-sleep-hook)
      (run-hooks 'sleep-wake-hook))))

;;;###autoload
(define-minor-mode sleep-wake-mode
  "Toggle sleep/wake detection.

With `sleep-wake-mode' enabled, the hooks `sleep-sleep-hook' and
`sleep-wake-hook' will be executed when the device enters or leaves the
sleep state.  This is currently only available on systems that support
D-Bus detection of sleep state changes."
  :global t
  :group 'sleep
  (cond
   ((and (featurep 'dbusbind)
         (member "org.freedesktop.login1"
                 (dbus-list-activatable-names :system)))
    (sleep-dbus-detection sleep-wake-mode))
   (t
    (if sleep-wake-mode
        (define-key special-event-map [sleep-event] sleep-handler-function)
      (define-key special-event-map [sleep-event] 'ignore)))))

(provide 'sleep)
;;; sleep.el ends here


-- 
Andrew Cohen




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#63620: 30.0.50; [Feature Request] run hooks on sleep/wake
Resent-From: Ship Mints <shipmints@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Thu, 06 Feb 2025 02:09:01 +0000
Resent-Message-ID: <handler.63620.B63620.173880772517325 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 63620
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: patch
To: Andrew Cohen <acohen@HIDDEN>
Cc: 63620 <at> debbugs.gnu.org, Eli Zaretskii <eliz@HIDDEN>, michael.albinus@HIDDEN, Stefan Monnier <monnier@HIDDEN>
Received: via spool by 63620-submit <at> debbugs.gnu.org id=B63620.173880772517325
          (code B ref 63620); Thu, 06 Feb 2025 02:09:01 +0000
Received: (at 63620) by debbugs.gnu.org; 6 Feb 2025 02:08:45 +0000
Received: from localhost ([127.0.0.1]:53385 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tfrJs-0004VN-6F
	for submit <at> debbugs.gnu.org; Wed, 05 Feb 2025 21:08:45 -0500
Received: from mail-vs1-xe2f.google.com ([2607:f8b0:4864:20::e2f]:47492)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.84_2) (envelope-from <shipmints@HIDDEN>)
 id 1tfrJo-0004V5-8X
 for 63620 <at> debbugs.gnu.org; Wed, 05 Feb 2025 21:08:42 -0500
Received: by mail-vs1-xe2f.google.com with SMTP id
 ada2fe7eead31-4ba7738fbc7so94635137.3
 for <63620 <at> debbugs.gnu.org>; Wed, 05 Feb 2025 18:08:40 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1738807714; x=1739412514; 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=LOw//sGB2QPaeDT0Y3MMtYOp4CnKJw0qIrDOydnyqoA=;
 b=Io07aTbi9+7y6Cu8hVporihAcDdYJp5NDa0L/ZCJKnStzV57ploX0zj7WYGkBuOAyi
 AdVfiUvgFIGxh6+zYZz1r+Gxf3F2NlcoZkbigsJah5UJCQaKaSCQa4RD6RYpuJSPBDeO
 nYYgZh7st1Tr7SwjIZ/1Pbo3NgWtwXWlOTr1I1D8Q9ZK4Zcpb8+wjBJWelMTn8Y3AXaA
 xcb0dgvvVUhpYiHABimUTFpfxeEjL57k8Vi9JdBmHqp5Ns3HZTuGA8G/PX6CE27Z/yPy
 qjyXzF9GF7TYwZodaQL8gStiKF4MmUroYKD9Y1hwjfqZVRZXp1aeSCbN1P4NcgfI5prd
 0gWQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1738807714; x=1739412514;
 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=LOw//sGB2QPaeDT0Y3MMtYOp4CnKJw0qIrDOydnyqoA=;
 b=wWrnP3VuAySbNa9M8GVcp7tE43q5YbJOqUAHGrLyAheEuOWsS/+pGdynELSw86z8rr
 3hrT5BpdFyJU3Ncfd1wS2SElgKNMmbNJqI4bee9MKmYs6O47s9/KIuWdqpv6idnFguZ/
 GfyxaY0X7PiT6Ycpa6rkqijGqiz/CmJurvmqsjCnExFvomJctT8GFRDIkDVSapShw0HN
 y4yF79HosL0CYlC6qANPwyGbMu1EDtaNORoYYxV0eNtZNJYv7PKLGo/VBx4MR8MCBfla
 zZMzEfrUqSCQuiVGYj5PL5rqpCY+XHOoIcYb0Uocytb4gQXS05TlBv3uu3E+ppTGrJ04
 4cUw==
X-Forwarded-Encrypted: i=1;
 AJvYcCUmdwhVZLiypwDVLyxCT73VcvgvN2JNW6/fvWt9ZtxYgQe3F71VmK61x0BNwjWSpJSBjXbdEA==@debbugs.gnu.org
X-Gm-Message-State: AOJu0YxZILgd6sSyr59y3QSOyAzqpOiyPawOE/f8rS6MmfJO0vcLM6TD
 wzH5gc3to8vGUehvzalooTrWT3SaCY7TGgHc0YGteIN4jCI5tZ/Ecn29GQwpHFQYhW7eB3Nb7PS
 9BZ0dk0Br6LXoItOwN2BOL23+pes=
X-Gm-Gg: ASbGncvDt7bkUrtv14wkPYdRb1FRpc3FJrPGhO/ozfV0DMv3aDE6kTF91speb4atXhH
 L2JrUZvoYbN+48Poiciyvfwf2UXZC9Smkbxgz77AUN8WdUOPeUdfIPFx8fuQIflD147UtUGAU
X-Google-Smtp-Source: AGHT+IGkdB5FuuJIrZA/S+8WzeIvXMPmFxOtqdGjw6apr7FwHv+2eViKKPePRzR3esdbhq7F9l4xBW6ogdb83BolReI=
X-Received: by 2002:a05:6102:508f:b0:4b2:5ecf:d124 with SMTP id
 ada2fe7eead31-4ba47a37394mr3497853137.14.1738807714442; Wed, 05 Feb 2025
 18:08:34 -0800 (PST)
MIME-Version: 1.0
References: <87fs7qmw00.fsf@HIDDEN> <87lehinlvg.fsf@HIDDEN>
 <87y1ky83du.fsf@HIDDEN> <87legr1tn5.fsf@HIDDEN> <878qqmz99g.fsf@HIDDEN>
 <8634gtc0k7.fsf@HIDDEN> <87seot3k42.fsf@HIDDEN> <86r04dahpc.fsf@HIDDEN>
 <878qqkzh9d.fsf@HIDDEN> <874j18zfm6.fsf@HIDDEN>
 <jwvy0ykjtwa.fsf-monnier+emacs@HIDDEN>
 <jwvh658jlr1.fsf-monnier+emacs@HIDDEN> <86y0yk6t24.fsf@HIDDEN>
 <jwv5xloja7l.fsf-monnier+emacs@HIDDEN> <87bjvfx2xv.fsf@HIDDEN>
In-Reply-To: <87bjvfx2xv.fsf@HIDDEN>
From: Ship Mints <shipmints@HIDDEN>
Date: Wed, 5 Feb 2025 21:06:33 -0500
X-Gm-Features: AWEUYZkcE6Iyoe84cCdb_ECdVfesP2DArtJx15U1-L6vA_EGfAr7TpucLoU-Vaw
Message-ID: <CAN+1Hbr3fsHfGyDbVVLOO-7k=LRbSXp94ib+jGd9UKDgdT_OoQ@HIDDEN>
Content-Type: multipart/alternative; boundary="00000000000026f43c062d6fb81e"
X-Spam-Score: 0.0 (/)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

--00000000000026f43c062d6fb81e
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

If someone builds without dbus, say on macOS, does this approach work
without dbus?

On Wed, Feb 5, 2025 at 8:44=E2=80=AFPM Andrew Cohen <acohen@HIDDEN> wrote:

> >>>>> "SM" =3D=3D Stefan Monnier <monnier@HIDDEN> writes:
>
>     >>> Maybe a hook is not such a bad idea after all.
>     >> But then how would platforms where these events come from the
>     >> window-system call that hook?
>
>     SM> I don't understand the question: why would those not be ale to
>     SM> run the hook?  If it's because it's in a separate UI thread,
>     SM> they can push to `pending_funcalls`, or in the worst case they
>     SM> can add an event into the event queue and then use
>     SM> `special-event-map` to run an ad-hoc function which runs the
>     SM> hook.
>
> I remain open to other ideas, but it seems to me that the most
> straightforward is to allow systems to add a sleep-event into the event
> queue.  My original code installed a callback function to run the hooks
> when a state change is detected.  So this same function can be installed
> into special-event-map and the behavior on all systems is the same.
>
> I've modified the code a bit---I've made the handler function
> configurable with a defcustom and set it by default to the function that
> just runs the hooks. But the same handler will be used on both
> sleep-events and dbus detection.  The only difference is that if the
> system supports dbus, dbus detection of state changes will be used,
> while in other cases sleep-events will trigger the handler.
>
> ;;; sleep.el --- run hooks on device sleep and wake  -*- lexical-binding:=
t
> -*-
>
> ;; Copyright (C) 2025 Free Software Foundation, Inc.
>
> ;; Author: Andrew Cohen <>
> ;; Maintainer: emacs-devel@HIDDEN
> ;; Keywords:
>
> ;; 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 <https://www.gnu.org/licenses/>.
>
> ;;; Commentary:
>
> ;;; This global minor mode enables evaluating code when the device
> ;;; running Emacs enters or leaves the sleep state.  The hooks
> ;;; `sleep-sleep-hook' and `sleep-wake-hook' are run when the system
> ;;; detects that it is going to sleep or waking up.  Currently only a
> ;;; D-Bus interface to detect sleep state change is implemented.
>
> ;;; Code:
>
> (require 'dbus)
>
> (defgroup sleep nil
>   "Run hooks on device entering/leaving the sleep state."
>   :group 'hardware)
>
> (defcustom sleep-handler-function 'handle-sleep-event
>   "Function called on device sleep state change.
> The function takes a single boolean argument (t for sleep and nil for
> wake).  The default function just runs the sleep and wake hooks."
>   :group 'sleep
>   :type 'function)
>
> (defcustom sleep-sleep-hook nil
>   "Hook to run on device entering sleep."
>   :group 'sleep
>   :type 'hook)
>
> (defcustom sleep-wake-hook nil
>   "Hook to run on device leaving sleep."
>   :group 'sleep
>   :type 'hook)
>
> (defvar sleep-dbus-registration-object nil
>   "Object returned from `dbus-register-signal'.
> This is recorded so that the signal may be unregistered.")
>
> (defun sleep-dbus-detection (mode)
>   "Enable D-Bus detection of device sleep/wake state change.
> When enabled run `sleep-handler-function' when a state change is
> detected.  Disable detection if MODE is nil."
>   (if mode
>       (unless sleep-dbus-registration-object
>         (setq sleep-dbus-registration-object
>               (dbus-register-signal :system
>                                     "org.freedesktop.login1"
>                                     "/org/freedesktop/login1"
>                                     "org.freedesktop.login1.Manager"
>                                     "PrepareForSleep"
>                                     sleep-handler-function)))
>     (condition-case nil
>         (progn
>           (ignore-error (dbus-error wrong-type-argument)
>             (dbus-unregister-object
>              sleep-dbus-registration-object))
>           (setq sleep-dbus-registration-object nil))
>       (wrong-type-argument nil))))
>
> (defun handle-sleep-event (sleep-wake)
>   "Handler to execute sleep and wake functions.
> SLEEP-WAKE is t on sleeping and nil on waking."
>   (ignore-errors
>     (if sleep-wake
>         (run-hooks 'sleep-sleep-hook)
>       (run-hooks 'sleep-wake-hook))))
>
> ;;;###autoload
> (define-minor-mode sleep-wake-mode
>   "Toggle sleep/wake detection.
>
> With `sleep-wake-mode' enabled, the hooks `sleep-sleep-hook' and
> `sleep-wake-hook' will be executed when the device enters or leaves the
> sleep state.  This is currently only available on systems that support
> D-Bus detection of sleep state changes."
>   :global t
>   :group 'sleep
>   (cond
>    ((and (featurep 'dbusbind)
>          (member "org.freedesktop.login1"
>                  (dbus-list-activatable-names :system)))
>     (sleep-dbus-detection sleep-wake-mode))
>    (t
>     (if sleep-wake-mode
>         (define-key special-event-map [sleep-event] sleep-handler-functio=
n)
>       (define-key special-event-map [sleep-event] 'ignore)))))
>
> (provide 'sleep)
> ;;; sleep.el ends here
>
>
> --
> Andrew Cohen
>

--00000000000026f43c062d6fb81e
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div class=3D"gmail_default" style=3D"font-family:monospac=
e">If someone builds without dbus, say on macOS, does this approach work wi=
thout dbus?</div></div><br><div class=3D"gmail_quote gmail_quote_container"=
><div dir=3D"ltr" class=3D"gmail_attr">On Wed, Feb 5, 2025 at 8:44=E2=80=AF=
PM Andrew Cohen &lt;<a href=3D"mailto:acohen@HIDDEN">acohen@HIDDEN</a>&gt; =
wrote:<br></div><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0=
px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">&gt;&gt;&=
gt;&gt;&gt; &quot;SM&quot; =3D=3D Stefan Monnier &lt;<a href=3D"mailto:monn=
ier@HIDDEN" target=3D"_blank">monnier@HIDDEN</a>&gt; wr=
ites:<br>
<br>
=C2=A0 =C2=A0 &gt;&gt;&gt; Maybe a hook is not such a bad idea after all.<b=
r>
=C2=A0 =C2=A0 &gt;&gt; But then how would platforms where these events come=
 from the<br>
=C2=A0 =C2=A0 &gt;&gt; window-system call that hook?<br>
<br>
=C2=A0 =C2=A0 SM&gt; I don&#39;t understand the question: why would those n=
ot be ale to<br>
=C2=A0 =C2=A0 SM&gt; run the hook?=C2=A0 If it&#39;s because it&#39;s in a =
separate UI thread,<br>
=C2=A0 =C2=A0 SM&gt; they can push to `pending_funcalls`, or in the worst c=
ase they<br>
=C2=A0 =C2=A0 SM&gt; can add an event into the event queue and then use<br>
=C2=A0 =C2=A0 SM&gt; `special-event-map` to run an ad-hoc function which ru=
ns the<br>
=C2=A0 =C2=A0 SM&gt; hook.<br>
<br>
I remain open to other ideas, but it seems to me that the most<br>
straightforward is to allow systems to add a sleep-event into the event<br>
queue.=C2=A0 My original code installed a callback function to run the hook=
s<br>
when a state change is detected.=C2=A0 So this same function can be install=
ed<br>
into special-event-map and the behavior on all systems is the same.<br>
<br>
I&#39;ve modified the code a bit---I&#39;ve made the handler function<br>
configurable with a defcustom and set it by default to the function that<br=
>
just runs the hooks. But the same handler will be used on both<br>
sleep-events and dbus detection.=C2=A0 The only difference is that if the<b=
r>
system supports dbus, dbus detection of state changes will be used,<br>
while in other cases sleep-events will trigger the handler.<br>
<br>
;;; sleep.el --- run hooks on device sleep and wake=C2=A0 -*- lexical-bindi=
ng:t -*-<br>
<br>
;; Copyright (C) 2025 Free Software Foundation, Inc.<br>
<br>
;; Author: Andrew Cohen &lt;&gt;<br>
;; Maintainer: <a href=3D"mailto:emacs-devel@HIDDEN" target=3D"_blank">ema=
cs-devel@HIDDEN</a><br>
;; Keywords:<br>
<br>
;; This file is part of GNU Emacs.<br>
<br>
;; GNU Emacs is free software: you can redistribute it and/or modify<br>
;; it under the terms of the GNU General Public License as published by<br>
;; the Free Software Foundation, either version 3 of the License, or<br>
;; (at your option) any later version.<br>
<br>
;; GNU Emacs is distributed in the hope that it will be useful,<br>
;; but WITHOUT ANY WARRANTY; without even the implied warranty of<br>
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.=C2=A0 See the<br>
;; GNU General Public License for more details.<br>
<br>
;; You should have received a copy of the GNU General Public License<br>
;; along with GNU Emacs.=C2=A0 If not, see &lt;<a href=3D"https://www.gnu.o=
rg/licenses/" rel=3D"noreferrer" target=3D"_blank">https://www.gnu.org/lice=
nses/</a>&gt;.<br>
<br>
;;; Commentary:<br>
<br>
;;; This global minor mode enables evaluating code when the device<br>
;;; running Emacs enters or leaves the sleep state.=C2=A0 The hooks<br>
;;; `sleep-sleep-hook&#39; and `sleep-wake-hook&#39; are run when the syste=
m<br>
;;; detects that it is going to sleep or waking up.=C2=A0 Currently only a<=
br>
;;; D-Bus interface to detect sleep state change is implemented.<br>
<br>
;;; Code:<br>
<br>
(require &#39;dbus)<br>
<br>
(defgroup sleep nil<br>
=C2=A0 &quot;Run hooks on device entering/leaving the sleep state.&quot;<br=
>
=C2=A0 :group &#39;hardware)<br>
<br>
(defcustom sleep-handler-function &#39;handle-sleep-event<br>
=C2=A0 &quot;Function called on device sleep state change.<br>
The function takes a single boolean argument (t for sleep and nil for<br>
wake).=C2=A0 The default function just runs the sleep and wake hooks.&quot;=
<br>
=C2=A0 :group &#39;sleep<br>
=C2=A0 :type &#39;function)<br>
<br>
(defcustom sleep-sleep-hook nil<br>
=C2=A0 &quot;Hook to run on device entering sleep.&quot;<br>
=C2=A0 :group &#39;sleep<br>
=C2=A0 :type &#39;hook)<br>
<br>
(defcustom sleep-wake-hook nil<br>
=C2=A0 &quot;Hook to run on device leaving sleep.&quot;<br>
=C2=A0 :group &#39;sleep<br>
=C2=A0 :type &#39;hook)<br>
<br>
(defvar sleep-dbus-registration-object nil<br>
=C2=A0 &quot;Object returned from `dbus-register-signal&#39;.<br>
This is recorded so that the signal may be unregistered.&quot;)<br>
<br>
(defun sleep-dbus-detection (mode)<br>
=C2=A0 &quot;Enable D-Bus detection of device sleep/wake state change.<br>
When enabled run `sleep-handler-function&#39; when a state change is<br>
detected.=C2=A0 Disable detection if MODE is nil.&quot;<br>
=C2=A0 (if mode<br>
=C2=A0 =C2=A0 =C2=A0 (unless sleep-dbus-registration-object<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 (setq sleep-dbus-registration-object<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 (dbus-register-signal :sys=
tem<br>
=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=A0 =C2=A0 &quot;org.freedesktop.=
login1&quot;<br>
=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=A0 =C2=A0 &quot;/org/freedesktop=
/login1&quot;<br>
=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=A0 =C2=A0 &quot;org.freedesktop.=
login1.Manager&quot;<br>
=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=A0 =C2=A0 &quot;PrepareForSleep&=
quot;<br>
=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=A0 =C2=A0 sleep-handler-function=
)))<br>
=C2=A0 =C2=A0 (condition-case nil<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 (progn<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 (ignore-error (dbus-error wrong-type-arg=
ument)<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 (dbus-unregister-object<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0sleep-dbus-registration-obj=
ect))<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 (setq sleep-dbus-registration-object nil=
))<br>
=C2=A0 =C2=A0 =C2=A0 (wrong-type-argument nil))))<br>
<br>
(defun handle-sleep-event (sleep-wake)<br>
=C2=A0 &quot;Handler to execute sleep and wake functions.<br>
SLEEP-WAKE is t on sleeping and nil on waking.&quot;<br>
=C2=A0 (ignore-errors<br>
=C2=A0 =C2=A0 (if sleep-wake<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 (run-hooks &#39;sleep-sleep-hook)<br>
=C2=A0 =C2=A0 =C2=A0 (run-hooks &#39;sleep-wake-hook))))<br>
<br>
;;;###autoload<br>
(define-minor-mode sleep-wake-mode<br>
=C2=A0 &quot;Toggle sleep/wake detection.<br>
<br>
With `sleep-wake-mode&#39; enabled, the hooks `sleep-sleep-hook&#39; and<br=
>
`sleep-wake-hook&#39; will be executed when the device enters or leaves the=
<br>
sleep state.=C2=A0 This is currently only available on systems that support=
<br>
D-Bus detection of sleep state changes.&quot;<br>
=C2=A0 :global t<br>
=C2=A0 :group &#39;sleep<br>
=C2=A0 (cond<br>
=C2=A0 =C2=A0((and (featurep &#39;dbusbind)<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0(member &quot;org.freedesktop.login1&quot=
;<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0(dbus-list-ac=
tivatable-names :system)))<br>
=C2=A0 =C2=A0 (sleep-dbus-detection sleep-wake-mode))<br>
=C2=A0 =C2=A0(t<br>
=C2=A0 =C2=A0 (if sleep-wake-mode<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 (define-key special-event-map [sleep-event] sle=
ep-handler-function)<br>
=C2=A0 =C2=A0 =C2=A0 (define-key special-event-map [sleep-event] &#39;ignor=
e)))))<br>
<br>
(provide &#39;sleep)<br>
;;; sleep.el ends here<br>
<br>
<br>
-- <br>
Andrew Cohen<br>
</blockquote></div>

--00000000000026f43c062d6fb81e--




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#63620: 30.0.50; [Feature Request] run hooks on sleep/wake
Resent-From: Andrew Cohen <acohen@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Thu, 06 Feb 2025 02:22:02 +0000
Resent-Message-ID: <handler.63620.B63620.173880846419772 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 63620
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: patch
To: Ship Mints <shipmints@HIDDEN>
Cc: 63620 <at> debbugs.gnu.org, Eli Zaretskii <eliz@HIDDEN>, michael.albinus@HIDDEN, Stefan Monnier <monnier@HIDDEN>
Received: via spool by 63620-submit <at> debbugs.gnu.org id=B63620.173880846419772
          (code B ref 63620); Thu, 06 Feb 2025 02:22:02 +0000
Received: (at 63620) by debbugs.gnu.org; 6 Feb 2025 02:21:04 +0000
Received: from localhost ([127.0.0.1]:53400 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tfrVo-00058c-1F
	for submit <at> debbugs.gnu.org; Wed, 05 Feb 2025 21:21:04 -0500
Received: from mail-japaneastazon11021095.outbound.protection.outlook.com
 ([52.101.125.95]:19925 helo=TYVP286CU001.outbound.protection.outlook.com)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <acohen@HIDDEN>) id 1tfrVg-00057r-TC
 for 63620 <at> debbugs.gnu.org; Wed, 05 Feb 2025 21:21:01 -0500
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=H1DnzqJq5EGgfdmKF7KZ0qUgHb/78N0CiM1NPnNC3y/uWeKwf9TgNXhPaXL7rioSELPV3H/4VYPXQWqTVTFRZSYedYIQvi+Lon5OzxEl5JaOwiiauuuyfpscPymqIAM1H2DUmpuQ8u2a1HTie0NATbho2Zo0p3mlQxQeWLGTpv585LW/woW/D9EKFrRwrME9hek0LxbQPpeFZ2cl7lQjpqmRz3fyYgZY+v0ldfXJUmXl51d/SOiB5sfJrfzg5dSir/fCzQq71awIIR96xAIhMnWiwul4vAVPy9g8L1aobfpzHREP4gL6H1E4Eo4PekPdwKVG5S3evuwRBkv0IRfk4g==
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=JpeO4Rqzz4IP1rYQJngrxXzz5E1UOmFIhXrAJi7tDUA=;
 b=W2khcnpF5Ss5CZN2IjrIQbk3dOND7WxjlYCYUpXB4rO/88qRTnP9nNphdEf9BrMzNWbOw3hsdQnS4g7ZaTVYmBfZITErufmY/TeOQESgbyHizar149wvbI0RYIm3+omQ3QkZvOxUE1CRJa0j55rspemTxROAOzJehJEGLg0aE+sWMZGZXnnK/5fJsHshaGAF69lXu0HkGFosb1r1TO78yNwBFNAmK8J73xbp7agMfCa93jjDvtNwLXuXUDSQcu1Z8aSNcmxT/z1S0gdqPrPHEIN1Nx/Ii5tefKXnqIpmxcRWrWqUZ1mpoxrLz4OcE1fVat7sDaiYfpGsg6Qlg0eWIA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=ust.hk; dmarc=pass action=none header.from=ust.hk; dkim=pass
 header.d=ust.hk; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ust.hk; s=selector2;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=JpeO4Rqzz4IP1rYQJngrxXzz5E1UOmFIhXrAJi7tDUA=;
 b=NCiGg1eXT1khW880Kpn5gXCZKeqkrA4jBzyBRh30//Sc0oPzF2K+Hzj3e9DED2OpRH/imTf6aabTMw41z3187IExXt2mrDRqMIOfink/JW5NKYtoIjF79/CgV9amY/9dkJip2D9jn9RV6CWYpVnjyBR8aKDEk3UvwnjuCUXJMjYB3aU2PAyHOeFqNTVBXvSr0FdzPpGOPZBQXZc2AdB1Psf+l87EvljmqoHPG7rWgV7wYtF6Rd4gsK7JZzJ0HwDPu/RQZ8fWmRGyrSdOzh3+VnhCEiCl2rvdn7YR9Z/7mMAU7FM7kEzHIK5SrzKkddDuklB6lbAHF/vUHB1/XQjEYQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=ust.hk;
Received: from OS3P286MB1877.JPNP286.PROD.OUTLOOK.COM (2603:1096:604:1bf::11)
 by OSCP286MB4999.JPNP286.PROD.OUTLOOK.COM (2603:1096:604:348::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8422.10; Thu, 6 Feb
 2025 02:20:47 +0000
Received: from OS3P286MB1877.JPNP286.PROD.OUTLOOK.COM
 ([fe80::4b6e:c37e:4327:cfab]) by OS3P286MB1877.JPNP286.PROD.OUTLOOK.COM
 ([fe80::4b6e:c37e:4327:cfab%4]) with mapi id 15.20.8422.009; Thu, 6 Feb 2025
 02:20:47 +0000
From: Andrew Cohen <acohen@HIDDEN>
In-Reply-To: <CAN+1Hbr3fsHfGyDbVVLOO-7k=LRbSXp94ib+jGd9UKDgdT_OoQ@HIDDEN>
References: <87fs7qmw00.fsf@HIDDEN> <87lehinlvg.fsf@HIDDEN>
 <87y1ky83du.fsf@HIDDEN> <87legr1tn5.fsf@HIDDEN>
 <878qqmz99g.fsf@HIDDEN> <8634gtc0k7.fsf@HIDDEN>
 <87seot3k42.fsf@HIDDEN> <86r04dahpc.fsf@HIDDEN>
 <878qqkzh9d.fsf@HIDDEN> <874j18zfm6.fsf@HIDDEN>
 <jwvy0ykjtwa.fsf-monnier+emacs@HIDDEN>
 <jwvh658jlr1.fsf-monnier+emacs@HIDDEN> <86y0yk6t24.fsf@HIDDEN>
 <jwv5xloja7l.fsf-monnier+emacs@HIDDEN> <87bjvfx2xv.fsf@HIDDEN>
 <CAN+1Hbr3fsHfGyDbVVLOO-7k=LRbSXp94ib+jGd9UKDgdT_OoQ@HIDDEN>
Date: Thu, 06 Feb 2025 10:20:44 +0800
Message-ID: <877c63x18j.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
Content-Type: text/plain
X-ClientProxiedBy: TP0P295CA0043.TWNP295.PROD.OUTLOOK.COM
 (2603:1096:910:4::18) To OS3P286MB1877.JPNP286.PROD.OUTLOOK.COM
 (2603:1096:604:1bf::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: OS3P286MB1877:EE_|OSCP286MB4999:EE_
X-MS-Office365-Filtering-Correlation-Id: 8a8b23eb-6c7d-44a1-eae5-08dd4654dd50
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|376014;
X-Microsoft-Antispam-Message-Info: YFD0zw/9E0eGK9QAe9OJtusvkl11hURMBukPw6T6StjTqrDH/vos07Rp+DSqOLf7b/1K9DlJD0JVAyX/nTYEu5ZoAvpRSKQVB1wVpmW51bBIQFyeJZfyZTWcJoomH3aKDkOAYOe2uC6RNshnE6ftuB7aDLAi+P6oxxwa7TOOA9oiPnHQjeSw3zA3yXZxWwvYfdeMGLcHrJ0nSgewrIk+ByGxcBr4TvTKiyPWHdDS7iwV0m8SDTCtpCwSm5uV1HJrAB+Yqh/6MbpA57C6W98kO6p3CFhcKN5lW2cB9aOi9HXPOMLdBBylouZRneMJopnyscSphdfa8NfVmZr4+wV1ENi4qXZHzb7v2/wp7deoS6gH+65BtkVD8TkQGNaX4Ie5PV4d6GpRO+FaQoDAWX/b61o9mXj3HVFX497Y0vENvMihndHwg6Y2WlCRBJVRTWxfXFjZnKSUNdyS9SWv3PNJADIubn0QjoSmuBsDx4tRCSPegXwcMoPFAdNd/i2uoOmyc1I7GRE+A33fY43alnNf5eYaRRZH4tzFIKx4EAWLTfCDSq702+vKu4gmtAUPPgBaHp+0qXEp49A7bVvjsgsb6y6cEEy+CPniBLXGKe28VH7J9mM+DOssLuo4wtrYcoaC/OCcP6IPBMZSwDTxt+QTw5+J8/fFpsTNQp9EclDgheZsnOW6frHS5gk2t0yiykuSYcaaDbn3GCrS+nDSDvnPCBaJuLTZOjxuQrmp1NoiNqrXxVRfAfjMtIsSyebHPqmqvHDcTL42+h7n0qXxFoinftlvmU5MM0PD/IMBPpSErKP2rlKCcnUdsAIzWlkf99jyxr8rCArV1uJXO93HpcnZ4GQglesYzzGnanLVl2kH14xSY64dA1pEIs2EcgXI3oIlBXgv7sYv46VskW9fau7IMdRCD6kBuQUnV0oxUJCJYt7DIwnQ/BCjmuI6rew2F8nTEaROLWYK58EFj37mz70Ah/NXUrKQ2E3q3sI72amyJgKGTFCPS1MuDWGY0TypIrF4dSTD+vZ/+wDFZUN5pfJL5WSurSn4SkbfDpiwFGSgueRpoY1F0E7EZaphUIp+o0oObk3TxP+qKpzotx4hA9aoiTudnRBJQSPyhC4N7aH8xdqleODOi0rPqx6GvKt8BEQaBP0SXLxjDx9j6q2S9AVXFsmt+scYC58WHlRDs0Rnu5woaR/6kJM8SqLKwNM4B76VLY4KxEARgRvQAhM7PBnU05PQTsbNUpVJ0ltzY4/uGhlsKEh0Dh0MdMvbxAYpB+6EWEv/lXrZeybQCh3JNPQUC5BbF8R+6Jmn6IAXPdCf5u002pchDPBzCTNqPE7wegBgI1Gu/x05S3nqD/jf+1p4xI/rzV5fCiVBHQ1LjryYBlGv7hpgddy5Q1hQMv81N3Uy
X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:;
 IPV:NLI; SFV:NSPM; H:OS3P286MB1877.JPNP286.PROD.OUTLOOK.COM; PTR:; CAT:NONE;
 SFS:(13230040)(366016)(1800799024)(376014); DIR:OUT; SFP:1102; 
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: 1lti2PSY1BnFCMhlDRvh0C4DCSlgAChrX9X+Ac6KBg4dD7PCIHQwfVDi3gGAd45BQj3V77NFfSDHlFu0OSL63zQ/uZ6heuwR5WVRL/+Yv1lSGaqPTneXlgrVAncVuZ/pCepU6DZSzy5SUcqxhsi0nrufXTP3MXCKGGx1SsVyU62WpIYbbfEGlRkx/9Otv6oAsmbfH3lQcdd3pjNqctnWR7ipMoJciuEAAqXdhJYk/xombW8ofWag90kD3UVaB7PH2JSNkVeWXQJv6bsmbEJxa2vDpISAEfUDGyBnosm1Fl9Df/mVtOjJWbrOhkrPEdRs/9ma1rufYtjH1EILq0HiEMaYMEcey7dE43jNp6exVZTrPEFmlSkahDeWTEtjY/QUfoGfd+175mon8Dvxb79sdf57Li3ZH/kXeLB4OPu/X9iB5DccjS7foNMFZt87RaQKMhgx7TRgoiF7Jp81RG4RBVpearuMZJnw/+AvzMec+urvfqQYHVSqSWMBP5yN3DCee3drse/fueiCcfSwWpC+kswJPufH0MO/72QZ2bTYafupOn9LfIUVjK379n1VhclruMle9PBOIgv8WJXZkk9mXdPlJkNlduJJlg9sOTkvfke4tgfhOAJpUJhsH8MxxrTeo3ESNtb3vVUkkeRKm3kC+zTnJyBMwAlHrkNJ4maYxpQ6kP94aGJ2M0qSD0XnBrM63YB5uI+u3jOrBd3rsYxrOB7xddND3ERkz5qsdSP2JoUMROeAUiofqeF2reIIFlq53jRL0cnhkJezK2XZ3r8tpmosyvW/GfLCo5xWfc8s6IjttE+I99+cAUsfyDT9QDwIUQrzq7IWiF6ZK4ExRREIAwm2egS8vnovkZ4v7S74Syl3KYw5ynC3/QfQ2U1meily3wR6/3HR+6/J8Y4BA64RhjCzo6SHt6CDEGkOkJgHvGLlcpjoMMiisPLxqVGdyF1x2YhTgV1tyNdpE+pEjtHBjUikz0eNzd+yGEOMRdgO5EnWL+jJgz8slSvfY1DhYPzcOuf9cpHWOfeilbSnWetM7zeLnHq7xicu6DSOl+VcTrahi5GwBXyV4EjhhYrpEXEiMjHvAyiyWg6J6ft3QGoRYsWxGTGm7jlIYPFDot+pTQDaef0bQyG7e5oBEfjvxxi3BQWp07EseiUsq80nX/7wavtCnjKcD4A3poyzhi84wTBdgpWEHaaUvyR10ya0ktqK+ldEMJN6NcEZeZQzcYi6zxpxlmlW3JhVjdzet1DUYECcsovrh4Gm3yyq2pDhdDJrxt3FyItn46x9SSpPhix7eH+esAuJkp3Q+oRTDpIh7E+/KucWecAo54MH4H0la7CEtUAN52Ujyc+YeWLVXlvfvNFiHj4nOowKPUOShEtA7lw+1YxGHOWDYxAgjgkSp0TnH5aIIpRUDexauT+RCAjdl+9hjCNszxxtdTxNZqjZmLfYcfEt64n7ntlOpANRjFNaTAmwutuAmrKzlM0NhBAWbm4xzsTqnR6nU+4vMyI1nwBdgDOKnpxR60IV70vxIQmajrIS/CXn9TP2dg+50hZaCZ7MRQuB1icua0O3IN18I26U1pqNVw2rd9YzLCVVO7wd
X-OriginatorOrg: ust.hk
X-MS-Exchange-CrossTenant-Network-Message-Id: 8a8b23eb-6c7d-44a1-eae5-08dd4654dd50
X-MS-Exchange-CrossTenant-AuthSource: OS3P286MB1877.JPNP286.PROD.OUTLOOK.COM
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Feb 2025 02:20:47.0777 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: c917f3e2-9322-4926-9bb3-daca730413ca
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: rondnJ3xcnjGevGiCQs4c1uirEOT3Cg1e6rZeqzNYvw/HKg7GqKoVZfqhF41YnbF
X-MS-Exchange-Transport-CrossTenantHeadersStamped: OSCP286MB4999
X-Spam-Score: 0.0 (/)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

>>>>> "SM" == Ship Mints <shipmints@HIDDEN> writes:

    SM> If someone builds without dbus, say on macOS, does this approach
    SM> work without dbus?

This assumes that detection of sleep/wake state changes will be added to
the C source (as you offered to implement for NS :)). The idea is that
you add code to detect the change at the OS level, and then create an
event of type sleep-event with an argument of t for sleep and nil for
wake.  The lisp package detects the sleep-event and runs the appropriate
code.

It won't work quite yet (this was just showing the concept) since the C
code has to be written, and the handler function needs to accept either
an event (a cons) or a boolean. But if everyone thinks this is a valid
approach we can take care of this.

Best,
Andy
-- 
Andrew Cohen




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#63620: 30.0.50; [Feature Request] run hooks on sleep/wake
Resent-From: Ship Mints <shipmints@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Thu, 06 Feb 2025 02:27:02 +0000
Resent-Message-ID: <handler.63620.B63620.173880879720715 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 63620
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: patch
To: Andrew Cohen <acohen@HIDDEN>
Cc: 63620 <at> debbugs.gnu.org, Eli Zaretskii <eliz@HIDDEN>, michael.albinus@HIDDEN, Stefan Monnier <monnier@HIDDEN>
Received: via spool by 63620-submit <at> debbugs.gnu.org id=B63620.173880879720715
          (code B ref 63620); Thu, 06 Feb 2025 02:27:02 +0000
Received: (at 63620) by debbugs.gnu.org; 6 Feb 2025 02:26:37 +0000
Received: from localhost ([127.0.0.1]:53415 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tfrbB-0005O3-0r
	for submit <at> debbugs.gnu.org; Wed, 05 Feb 2025 21:26:37 -0500
Received: from mail-ua1-x92a.google.com ([2607:f8b0:4864:20::92a]:53343)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.84_2) (envelope-from <shipmints@HIDDEN>)
 id 1tfrb8-0005Nn-1S
 for 63620 <at> debbugs.gnu.org; Wed, 05 Feb 2025 21:26:34 -0500
Received: by mail-ua1-x92a.google.com with SMTP id
 a1e0cc1a2514c-866f123081aso118880241.2
 for <63620 <at> debbugs.gnu.org>; Wed, 05 Feb 2025 18:26:34 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1738808788; x=1739413588; 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=3pjbFsLvbUzZ3hZDQmcI2FyanHhbbZuYzszgBWzzpQw=;
 b=BaFCRfLhmrcng3+aIul/KwLzJoXHX3m3tWsXOSZw9md0SlzFZj8tIzTDeni0k/kRF7
 yGeAXnA5ra7iJmlP2QMEu7Xe/4PrQ5T82VEWffjTrQepDIxNhRAHuC2TPp2kZxgpbPln
 oxKorPrTwOdL7eFu5EUrR9yyRbkaznoylhYk7tZrFsPwhvHT5uyGFgHdIMEj+9sZOHZM
 9UALpx4ku0TVIm7alhE32gJTRSjWgzhY2FaYo85K75gZjz77o72CBkjLAamdOoHwlUMB
 MnuhNd35nh/FC+/W3kGF1x0x9eFWHs03KXmrti/AdaAsRGYnpHrSmF4ezCJiSW+/GYxX
 vwUw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1738808788; x=1739413588;
 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=3pjbFsLvbUzZ3hZDQmcI2FyanHhbbZuYzszgBWzzpQw=;
 b=b5TZIoXU9bjSZ11Fa03XCyswZLLOgbKo5TJqGtoXvWBhnfL+j5uyZj/TlkbdH1Y2TY
 Hmtacl8bMNWnTgra5SSbKPu2LOL7Yb4Pm7LQp7mgXgutS9pCQfhOBX7I++JGR9wMN56p
 rGtoG8roZA0liKui6Oej8wYAAdLOhiY0N24qK5dJfW4rVQCtZ3b5BHwAm9/6b9ZSAegp
 1jEe4JDjpTrKvKrdO8QlBa/yMTE1XoR8FA6je7YyTnUIsAI10Jo2pagoIt6B+9d16+Co
 WBW5k5WBXMLIEBHSQgDIEBBTwEHlCUKDoLUBWvtfLpKM9Z1kGWWKd2d9bsDfsf3wPXyj
 ZVbQ==
X-Forwarded-Encrypted: i=1;
 AJvYcCVIrpcQ8BxiYf47JEQWjyuUwe5HIBwh+j8aIJFMnaQwh5cM+O3jhgbLViUgAxF0Pyehan+1pw==@debbugs.gnu.org
X-Gm-Message-State: AOJu0Yx3bYlut7O4ubUB2SpnTgI9xFDtXGWEQpiL+oeXsiYBVzWcHXA9
 +GB+zvujDDniZhlhB8LA+9vxL+ZzgUNjPK121QLWoKSsSNv3ulz6s2oigynwmR81K/4VYtsHzyh
 SMtblT7sCuGuSXYBg6LTF/IkJjvc=
X-Gm-Gg: ASbGncsRLAD6/RYIaYwjKAe6jBN++H9qCP1hdFQa0BkNq1FqHs19HkBU3/9odpTkmKi
 erBgTmCmMgb7LYRUVZ5Z04mHrilZbEFFyHk+TeUjJ+0cwBqAFqrmoOQhtP3MHbq4tlhJqLsTY
X-Google-Smtp-Source: AGHT+IEejlI2S0Jgbfw/E4zm2dBuZTDnNFASmlhFsHi9XpNYb26buG96XIuhD/d4BGUovHVRE9qXSPWlg9xyWp2JxB4=
X-Received: by 2002:a05:6122:4315:b0:516:18cd:c1fc with SMTP id
 71dfb90a1353d-51f0c4e6243mr3390560e0c.8.1738808788171; Wed, 05 Feb 2025
 18:26:28 -0800 (PST)
MIME-Version: 1.0
References: <87fs7qmw00.fsf@HIDDEN> <87lehinlvg.fsf@HIDDEN>
 <87y1ky83du.fsf@HIDDEN> <87legr1tn5.fsf@HIDDEN> <878qqmz99g.fsf@HIDDEN>
 <8634gtc0k7.fsf@HIDDEN> <87seot3k42.fsf@HIDDEN> <86r04dahpc.fsf@HIDDEN>
 <878qqkzh9d.fsf@HIDDEN> <874j18zfm6.fsf@HIDDEN>
 <jwvy0ykjtwa.fsf-monnier+emacs@HIDDEN>
 <jwvh658jlr1.fsf-monnier+emacs@HIDDEN> <86y0yk6t24.fsf@HIDDEN>
 <jwv5xloja7l.fsf-monnier+emacs@HIDDEN> <87bjvfx2xv.fsf@HIDDEN>
 <CAN+1Hbr3fsHfGyDbVVLOO-7k=LRbSXp94ib+jGd9UKDgdT_OoQ@HIDDEN>
 <877c63x18j.fsf@HIDDEN>
In-Reply-To: <877c63x18j.fsf@HIDDEN>
From: Ship Mints <shipmints@HIDDEN>
Date: Wed, 5 Feb 2025 21:26:17 -0500
X-Gm-Features: AWEUYZmumRq2HmQ3g68kJzzzk5R-4jcLECblfvwFGU4UES-rnPPJPCMgPO6PDSk
Message-ID: <CAN+1Hbr91g3vFHZD2a4iOZJr5jY8nYCvxUiX9_im0bJ-aK_V8w@HIDDEN>
Content-Type: multipart/alternative; boundary="00000000000026c5ac062d6ff886"
X-Spam-Score: 0.0 (/)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

--00000000000026c5ac062d6ff886
Content-Type: text/plain; charset="UTF-8"

I didn't read the code yet so I'm glad this approach doesn't depend on
dbus.

I will happily work on the NS event generation. I can prototype any time
we're ready.

On Wed, Feb 5, 2025 at 21:20 Andrew Cohen <acohen@HIDDEN> wrote:

> >>>>> "SM" == Ship Mints <shipmints@HIDDEN> writes:
>
>     SM> If someone builds without dbus, say on macOS, does this approach
>     SM> work without dbus?
>
> This assumes that detection of sleep/wake state changes will be added to
> the C source (as you offered to implement for NS :)). The idea is that
> you add code to detect the change at the OS level, and then create an
> event of type sleep-event with an argument of t for sleep and nil for
> wake.  The lisp package detects the sleep-event and runs the appropriate
> code.
>
> It won't work quite yet (this was just showing the concept) since the C
> code has to be written, and the handler function needs to accept either
> an event (a cons) or a boolean. But if everyone thinks this is a valid
> approach we can take care of this.
>
> Best,
> Andy
> --
> Andrew Cohen
>

--00000000000026c5ac062d6ff886
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"auto">I didn&#39;t read the code yet so I&#39;m glad this appro=
ach doesn&#39;t depend on dbus.=C2=A0</div><div dir=3D"auto"><br></div><div=
 dir=3D"auto">I will happily work on the NS event generation. I can prototy=
pe any time we&#39;re ready.=C2=A0</div><div dir=3D"auto"><br><div class=3D=
"gmail_quote gmail_quote_container" dir=3D"auto"><div dir=3D"ltr" class=3D"=
gmail_attr">On Wed, Feb 5, 2025 at 21:20 Andrew Cohen &lt;<a href=3D"mailto=
:acohen@HIDDEN">acohen@HIDDEN</a>&gt; wrote:<br></div><blockquote class=3D"=
gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-=
left:1ex">&gt;&gt;&gt;&gt;&gt; &quot;SM&quot; =3D=3D Ship Mints &lt;<a href=
=3D"mailto:shipmints@HIDDEN" target=3D"_blank">shipmints@HIDDEN</a>&g=
t; writes:<br>
<br>
=C2=A0 =C2=A0 SM&gt; If someone builds without dbus, say on macOS, does thi=
s approach<br>
=C2=A0 =C2=A0 SM&gt; work without dbus?<br>
<br>
This assumes that detection of sleep/wake state changes will be added to<br=
>
the C source (as you offered to implement for NS :)). The idea is that<br>
you add code to detect the change at the OS level, and then create an<br>
event of type sleep-event with an argument of t for sleep and nil for<br>
wake.=C2=A0 The lisp package detects the sleep-event and runs the appropria=
te<br>
code.<br>
<br>
It won&#39;t work quite yet (this was just showing the concept) since the C=
<br>
code has to be written, and the handler function needs to accept either<br>
an event (a cons) or a boolean. But if everyone thinks this is a valid<br>
approach we can take care of this.<br>
<br>
Best,<br>
Andy<br>
-- <br>
Andrew Cohen<br>
</blockquote></div></div>

--00000000000026c5ac062d6ff886--




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#63620: 30.0.50; [Feature Request] run hooks on sleep/wake
Resent-From: Stefan Monnier <monnier@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Thu, 06 Feb 2025 05:21:01 +0000
Resent-Message-ID: <handler.63620.B63620.173881925510534 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 63620
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: patch
To: Andrew Cohen <acohen@HIDDEN>
Cc: 63620 <at> debbugs.gnu.org, Eli Zaretskii <eliz@HIDDEN>, michael.albinus@HIDDEN, Ship Mints <shipmints@HIDDEN>
Received: via spool by 63620-submit <at> debbugs.gnu.org id=B63620.173881925510534
          (code B ref 63620); Thu, 06 Feb 2025 05:21:01 +0000
Received: (at 63620) by debbugs.gnu.org; 6 Feb 2025 05:20:55 +0000
Received: from localhost ([127.0.0.1]:53801 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tfuJr-0002jo-8Q
	for submit <at> debbugs.gnu.org; Thu, 06 Feb 2025 00:20:55 -0500
Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:8164)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <monnier@HIDDEN>)
 id 1tfuJn-0002jX-OZ
 for 63620 <at> debbugs.gnu.org; Thu, 06 Feb 2025 00:20:53 -0500
Received: from pmg2.iro.umontreal.ca (localhost.localdomain [127.0.0.1])
 by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id 21CC8803C1;
 Thu,  6 Feb 2025 00:20:44 -0500 (EST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca;
 s=mail; t=1738819242;
 bh=cW3X86FFdihb88lJrbVKDF+DZDT3qKE5H6lMzQy+vMs=;
 h=From:To:Cc:Subject:In-Reply-To:References:Date:From;
 b=Q8maTDuAsfOHJjkd8PuUhWNiv9c3MmsswdUGTqdNRD7/u1H/CjGqh/wNNRNWi36zR
 9Di1b4ll4Z0LWil7sRc0w0+Z/ZnFSUzocImTSInJWzA4yIkKHrThOyfr1d5YFJOIy0
 XAFkIhCUToNTklEcSAi5v1Oi5J+dYVV2ezc7i3bw3zakDl87QHu1/jdolndW7jSNbK
 oLo9Q0S7aDqc1EjDtUPA80OpqAII9GUWSRh+KPOlQFP8+k3VHhrpU8mMfAE2Re+c78
 OrZywxlSbGtHbKKsYUJvvTBcruIGC4M76YDk5Cqee0SP4PU3FuA9Nsn0bp+uUHBU9p
 CbcWXwmLrRwnA==
Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1])
 by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id C40AC801FA;
 Thu,  6 Feb 2025 00:20:42 -0500 (EST)
Received: from pastel (104-195-232-86.cpe.teksavvy.com [104.195.232.86])
 by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 808F71203D7;
 Thu,  6 Feb 2025 00:20:42 -0500 (EST)
From: Stefan Monnier <monnier@HIDDEN>
In-Reply-To: <877c63x18j.fsf@HIDDEN> (Andrew Cohen's message of "Thu, 06 Feb
 2025 10:20:44 +0800")
Message-ID: <jwva5azk5vw.fsf-monnier+emacs@HIDDEN>
References: <87fs7qmw00.fsf@HIDDEN> <87lehinlvg.fsf@HIDDEN>
 <87y1ky83du.fsf@HIDDEN> <87legr1tn5.fsf@HIDDEN>
 <878qqmz99g.fsf@HIDDEN> <8634gtc0k7.fsf@HIDDEN>
 <87seot3k42.fsf@HIDDEN> <86r04dahpc.fsf@HIDDEN>
 <878qqkzh9d.fsf@HIDDEN> <874j18zfm6.fsf@HIDDEN>
 <jwvy0ykjtwa.fsf-monnier+emacs@HIDDEN>
 <jwvh658jlr1.fsf-monnier+emacs@HIDDEN> <86y0yk6t24.fsf@HIDDEN>
 <jwv5xloja7l.fsf-monnier+emacs@HIDDEN> <87bjvfx2xv.fsf@HIDDEN>
 <CAN+1Hbr3fsHfGyDbVVLOO-7k=LRbSXp94ib+jGd9UKDgdT_OoQ@HIDDEN>
 <877c63x18j.fsf@HIDDEN>
Date: Thu, 06 Feb 2025 00:20:40 -0500
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-SPAM-INFO: Spam detection results:  0
 ALL_TRUSTED                -1 Passed through trusted hosts only via SMTP
 AWL -0.037 Adjusted score from AWL reputation of From: address
 BAYES_00                 -1.9 Bayes spam probability is 0 to 1%
 DKIM_SIGNED               0.1 Message has a DKIM or DK signature,
 not necessarily valid
 DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature
 DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's
 domain
 DKIM_VALID_EF -0.1 Message has a valid DKIM or DK signature from envelope-from
 domain
X-SPAM-LEVEL: 
X-Spam-Score: 0.0 (/)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

> The idea is that you add code to detect the change at the OS level,
> and then create an event of type sleep-event with an argument of t for
> sleep and nil for wake.  The lisp package detects the sleep-event and
> runs the appropriate code.

BTW: I understand what a "wake" event means, but what about
a "sleep" event?  I mean: how can we receive this event before we wake
up again?  Or does it mean that we're about to sleep?  If so what do we
know about when we'll sleep?  Can we influence (e.g. delay) it?


        Stefan





Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#63620: 30.0.50; [Feature Request] run hooks on sleep/wake
Resent-From: Andrew Cohen <acohen@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Thu, 06 Feb 2025 06:01:01 +0000
Resent-Message-ID: <handler.63620.B63620.173882160317267 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 63620
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: patch
To: Stefan Monnier <monnier@HIDDEN>
Cc: 63620 <at> debbugs.gnu.org, Eli Zaretskii <eliz@HIDDEN>, michael.albinus@HIDDEN, Ship Mints <shipmints@HIDDEN>
Received: via spool by 63620-submit <at> debbugs.gnu.org id=B63620.173882160317267
          (code B ref 63620); Thu, 06 Feb 2025 06:01:01 +0000
Received: (at 63620) by debbugs.gnu.org; 6 Feb 2025 06:00:03 +0000
Received: from localhost ([127.0.0.1]:53873 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tfuvi-0004Tx-9c
	for submit <at> debbugs.gnu.org; Thu, 06 Feb 2025 01:00:03 -0500
Received: from mail-japanwestazon11021123.outbound.protection.outlook.com
 ([40.107.74.123]:13083 helo=OS0P286CU010.outbound.protection.outlook.com)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <acohen@HIDDEN>) id 1tfuvf-0004T7-3W
 for 63620 <at> debbugs.gnu.org; Thu, 06 Feb 2025 00:59:59 -0500
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=NMyAhmZl+Xh1dLDoCS3EBQbSLdGJolxHg/yOEtotivmoeaFS/XSm+3UZCg9tn26IJmAJv/utntj9dQqkQRjUCGnQ/XaqJkP0hrk3If7McI1khEuyUBGlWNliwmXOvm2GHKOMBAg5wJt2+qH3UkZGKlA3CXyAfpIzRYIGh2MEgvR520TOMR65AbAwHjtc7U4Dy7Qns0t87iA5+eEQeT9b4cL/+c55y8oruVc11nSJd6jkVZu/p8CCUSwbdyBxtYkt2P9mqzGylcY219UzF7bYvvDj7hAvnaVsvCPkDh+s4ATcNYUW63TlPtqXjzeegbxGbXHdqcQ127dcMkdQJ3Y6bQ==
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=OBVJYvue0wn7DKItiiLpELHRRQlBfEe5kNSrpJFSHB4=;
 b=j7/bcs1ku1fAFQPSp+SKy3n2fueKHgxIC6GUKMLRUk1120cQVR8xkoaROXxXG7p6er5+LQCa+PY3tKUiYwT1IQIRosNNfHbHka3ST+S0cwVJNyVU6CwIEAEGpryThFe+CO0DJz0haTXusLAOFS6Zh/yw8qwJB4gqAO3lOM63YvHodATBD8IL7ZYqmn7LCKLY4n7YtvajcG3+1DsGWE9nHUrMewbbZhxoCiL4SrKGxJSW8ciNZQFFi9wJh160Qq9euQdgCs5biwb/3AAjEdktZx4wwcVIPOPhEpiCjba+tLEfxiZbL9WCnWU8JT+Y7Rcn2+kWdyKndPVaIklUch+A4Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=ust.hk; dmarc=pass action=none header.from=ust.hk; dkim=pass
 header.d=ust.hk; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ust.hk; s=selector2;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=OBVJYvue0wn7DKItiiLpELHRRQlBfEe5kNSrpJFSHB4=;
 b=SG/Y81CoU2QaoZ96Xw+8B4SBtc4rIOMls2eCof5k7VNGUTFQnx289n+uXi5mJJ+KnGN10u8uoWaPZqG+BE8u57rB9sHsv9CwuRQJ7gGVuu9Gmy/Uh8qLKJvUHmFJrL7YGzDdIqGFwpECPe6hdhFXHqkSJa1qokBmwzuMPGehdm4iED7UMHIEVn9XKwKgZXImjX29snYYSQNBl5ab4haHJnLJz0rjLoyMisNmaA6CNWICF1axWjlz8R4NtggeHRitKgYBCuYjID9+TSx4cLm42FX1SIlHN37QXOeLaqYy6fgjPxSkjXMB82N/5rqCCpZVyjCy6Iribo5d3wimNvMj8A==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=ust.hk;
Received: from OS3P286MB1877.JPNP286.PROD.OUTLOOK.COM (2603:1096:604:1bf::11)
 by TYTP286MB3899.JPNP286.PROD.OUTLOOK.COM (2603:1096:405:181::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8422.11; Thu, 6 Feb
 2025 05:59:43 +0000
Received: from OS3P286MB1877.JPNP286.PROD.OUTLOOK.COM
 ([fe80::4b6e:c37e:4327:cfab]) by OS3P286MB1877.JPNP286.PROD.OUTLOOK.COM
 ([fe80::4b6e:c37e:4327:cfab%4]) with mapi id 15.20.8422.009; Thu, 6 Feb 2025
 05:59:43 +0000
From: Andrew Cohen <acohen@HIDDEN>
In-Reply-To: <jwva5azk5vw.fsf-monnier+emacs@HIDDEN>
Organization: Hong Kong University of Science and Technology
References: <87fs7qmw00.fsf@HIDDEN> <87lehinlvg.fsf@HIDDEN>
 <87y1ky83du.fsf@HIDDEN> <87legr1tn5.fsf@HIDDEN>
 <878qqmz99g.fsf@HIDDEN> <8634gtc0k7.fsf@HIDDEN>
 <87seot3k42.fsf@HIDDEN> <86r04dahpc.fsf@HIDDEN>
 <878qqkzh9d.fsf@HIDDEN> <874j18zfm6.fsf@HIDDEN>
 <jwvy0ykjtwa.fsf-monnier+emacs@HIDDEN>
 <jwvh658jlr1.fsf-monnier+emacs@HIDDEN> <86y0yk6t24.fsf@HIDDEN>
 <jwv5xloja7l.fsf-monnier+emacs@HIDDEN> <87bjvfx2xv.fsf@HIDDEN>
 <CAN+1Hbr3fsHfGyDbVVLOO-7k=LRbSXp94ib+jGd9UKDgdT_OoQ@HIDDEN>
 <877c63x18j.fsf@HIDDEN> <jwva5azk5vw.fsf-monnier+emacs@HIDDEN>
Date: Thu, 06 Feb 2025 13:59:40 +0800
Message-ID: <8734grwr3n.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
Content-Type: text/plain
X-ClientProxiedBy: TP0P295CA0043.TWNP295.PROD.OUTLOOK.COM
 (2603:1096:910:4::18) To OS3P286MB1877.JPNP286.PROD.OUTLOOK.COM
 (2603:1096:604:1bf::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: OS3P286MB1877:EE_|TYTP286MB3899:EE_
X-MS-Office365-Filtering-Correlation-Id: 0b2f36f3-ab15-4eb7-e49a-08dd4673735b
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|376014|366016;
X-Microsoft-Antispam-Message-Info: MDiy0sC/3RvzNuHB2jGoK6r4PlbbWyGmnbYxncSnQQeUZetY0bGkjT3LOE5uJN1dzhRpBEfG2o56zzPVr4jSul3ECkmzdIW7PB+8O0QH7nmq8Uz0UrHiVhUPoPEYsFzB4NgTPuKJSxPmglXAll5FbOPnCc+dvS0oYSRBJgNo+8pRjwD3jW3oQWqYSGcEBg/ay8PuSSpHQ5SgU+DfGDMQTOuyvuTEM8Sa33zdpeAKVf5qinHTp+p193kGzyOuCHjcb1ngPEX1s06PWdioWBfNfi2/UalDMPgyGYEpJ+3+ag1uqJWi8yNZ6khM6p40YaRcy9Nd6FIEDGoHtVyufw/3P60Txe+UxZ/TwYjU8LJqnrIpuNUkCe9NpSb3i3sqQlUpNJyhmpWHLWs4UDMzW8ZGBohPbPuQq579oDa+zcINfdbVSKJBxVZXaTnCwNSeqnmtSej08HrAzn9iu/3jUyds8bbvLsCFYn0oIKZ1+ECW4BnHA52iphKUgqOg6sw+Eejac2skfjJeYocg27mhmVJFjQGdEwZKMDK0n3lbG+mPl4GvPxo8x0GhPG3TAzUoWQmsb3tebitVKgLkIsSKHI7+2ceRONIHA/cAJpdbwi/DxYjHSqsNlT0cKhf77Cn31fk5KJXZBIXBcfbiSiDd11sWu1Y+VkCJDzlDpvOMrdCqib9p4etNBv8+WIarFOMDsvm2IHoS27sPEZrXnYuO+30rAcI+MLbUprkva9rHaK35hyxU4my5I1LUy6ZgLvh6QerhrIbwUFcUucoopIWZzOLPD53NHhXuBXvhZNse3gxlgiT2lcjAurPAzd+B21oU0FQEBLjroLuLmD6iM+0T6ds7HHC2uMqoUrKI+FvZwI//qTe91KgS91i7O2USscUX1iauq9/c1tVNrfapYVQlrjx3VeHjuwqXwOvkYErvTnVVnQwR4o6VaVnhuGfuqvM8lFYAu3LwUN1u51NOMGQpouQkfGLp8DriRZLj4K1Dt8tQZri9xlY7k05gdjvYXSvk0egM2cXvrNsrkSAd1M7MvlFsVDZ5/Lr6OhE2esc8Dwo13v8a+BZXAPyC9ZOfZpagilJDYlSfrkIpIJEyyga6Pt5nn8VNUj3jJ5b91PKssDSQVG2eZmDq6cKMhtE80tCam/YzHM5ydd5ZOUZBDu36PLcXr8aS//U7wnYwaysq+xYApyelHr+mqXa6V5HEJvAfzkZbe3VFNBFIgAqnLjx+K5GEzLrTRZiJH7aPuTcXYkYLJyGWRBV9ssjv76Zr+iK1XXwItEtYyw0SE5ziAEQr2cJVublIJZIdGGzXohj4BE5MKAxXpLyLvyiH++zBcuz/n+2RtKLKQU9hVfD0f9ZkV9NBouJF4+sAc14V6LFn4FjhR+P7UZtDZG9AEbZLIaETg25C
X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:;
 IPV:NLI; SFV:NSPM; H:OS3P286MB1877.JPNP286.PROD.OUTLOOK.COM; PTR:; CAT:NONE;
 SFS:(13230040)(1800799024)(376014)(366016); DIR:OUT; SFP:1102; 
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: bJJCuu/+s7g+tpLw6YVWPfA5bmEf/QAeLUWTHWC0RB9BHFqovNSawl/dx7s5KHV0pW7OxUWfb1PkdS9IZOs3oqxUVswNopFfy0CQ6lnJmN4wAyR4CW/2qzJrzzP+1f+EcXTp1LJiZBkBhiTWbgGc+Xpt579kqIrhHbTNhQekZxRYEbI7VBZhF6nkhSnyjRNJ9gRTm/9tNYgExg0wg8EXZFPmzmHby8KGzpqUvD4LHOwvW03bwx/vsqKPmZohFacII7NWVkmHg4NXthVFON837dqX+8dHMsOsIt8+uhJESrAkDDTZQ/CIlGnsE4WsUMpOQn9l/6SBwNw/77BGK59wGUSVeEgC+jE5FRG/+0g7+/IEaQQMWbMExvRS7k6dRzJeOU4pddeD9/ph6AV1U2v/mcApTlnfXrnE10G9qUgLdkxDqzPuKzszu3PCRbT6cnosax7HmIkD7DYIAJOzueXA94j8YxXY6CnV0r8If4VNPrWK2nX8FGXFuLdiYOXf5YZywwIqM26G/f1UX+N7XuzZK64MWHEBaRVEvqNW7KjNodK5rJwCEeP9DTf3qiRGVdpaS5hEkBcPdTW9XRFRUWbbnfn6RXSm2E9ATl1BPGCh7aR8CjLGJ7wuzcOFU5qBA93oPAtr7lLRDGQp+bks84MLdDhZ035A33CBU6sqoQEyIh7RXi/8wf1iyO8m8qBxCuKx9ryXrvKd4W9Iysv9yVaYllCUr1XPGNwgEActCuiWcQf1DpT0UGMIWDaMdiKPrSodptV1npzhs2d2guTI+95J0dK+U95s0av6LZFdhs2kRhXI62sP78W4xMM1Iduy1f62Eg5TmlZK5u4eZ8gGaBYbucfVFZvz0Y1NE6VItzgo//0bUonOJ2Ge4irnyvJAsYc8hSfCRphRhMpgnHdKX+zUWVSfOGaPhZzE0ymaLW+Y/DGxSDCmIEoDAnB28xyRhIyDriuXprDa4RmW3SBj3ZTm6egKVXasUCAbBetajUOrkPyLC1BZHyIRAIRDku7gFVLguouZAGFDqmNtJWROHhvUIYxAXbfFIm/LZF64FXLdzpq/VHJFlsEGo2g4jaoWBG382SQxjjhsXV1wg2lVHKWvA4XGJ3z8nNCOWyfNVHP9zEoy+XFhQxNyL245HKiFNQrNMK6xf/lvZRJewJYNl1AKgjTqlP8IpfCHGULQ/iXpROR1UlTNj5dNoeCYu5iuHhJoWviPkIVbYhyrCiA9UZBvtZv5fy7DtQzkLHSNaKpUHvPhQp04+gyG7z9rilrydccV4/Xj6sCnHO7Hhs3MgSveVeI5IRLBOM747GvEjr44Y309f6uZ2YBBhvnvxY4C82ZvuZlj0wP+KhaOeXUhCyD6uEJBnmT46hN9u0Y8Alkh5n7+txRHu9kyoL/+SHPqNIUFqo2uR5ePUk7j56Yq/dIgQ4/qEzbL7tbSQCvW9igOoGQgywYaQf5amMhdmBVHh77DQsxy4gJU/VWjk1jqaulquVjLWyPYHBjHA4DEDSirGqhqAJQGKew2xeXIqVokwCp0FmzBQgQ+pyXuhR6N6X/DLK9ukrYZkSFSJHmj70dCOw5KH9MAbioX5mqf6J3N4Nqc
X-OriginatorOrg: ust.hk
X-MS-Exchange-CrossTenant-Network-Message-Id: 0b2f36f3-ab15-4eb7-e49a-08dd4673735b
X-MS-Exchange-CrossTenant-AuthSource: OS3P286MB1877.JPNP286.PROD.OUTLOOK.COM
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Feb 2025 05:59:42.9814 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: c917f3e2-9322-4926-9bb3-daca730413ca
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: fvkoIdkTi0o7FZdYNEzm1+SJq52UvvG0kDLGZlrMw94YJv/PS+leGGB8uj6t8cJl
X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYTP286MB3899
X-Spam-Score: 0.0 (/)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

>>>>> "SM" == Stefan Monnier <monnier@HIDDEN> writes:

[...]

    SM> BTW: I understand what a "wake" event means, but what about a
    SM> "sleep" event?  I mean: how can we receive this event before we
    SM> wake up again?  Or does it mean that we're about to sleep?  

The events that I am detecting with D-Bus are actually part of logind, a
tiny daemon that manages user logins in various ways. The process
monitors the status of a variety of hardware components (such as the
state of the lid, power, etc), and is responsible for managing
suspension and hibernation.  I think that logind, part of
freedesktop.org, is pretty universal on gnu/linux.

The signal I am accessing, PrepareForSleep, is sent right before the
systems enters suspend/hibernate (with argument True), and right after
the system leaves suspend/hibernate (with argument False). 

    SM> If so what do we know about when we'll sleep?  

I don't think there is a guarantee how much time remains before the
sleep state is fully realized. However I've been using this for a couple
of years and have never had a failure to run the hooks to completion.

    SM> Can we influence (e.g. delay) it?

logind has a method to inhibit sleeping (exposed through D-Bus), which
can be used to create an inhibition lock, preventing sleep until the
lock is released. It would be ideal to implement this around running the
hooks to ensure that all the Emacs code completes before finishing
sleep. It shouldn't be hard, I just haven't found it necessary. I'll
take a look. And its probably important to have some well-designed API
for this as well.

The real question is what to do on systems that don't use logind. That
will depend on what kind of information is available and how we can
control things. Inevitably this means that we will have a fair amount of
system-specific code in the package.

Best,
Andy

PS:

In trying to understand `unread-command-events' and 'special-event-map'
I came across this bit in bindings.el:

;; FIXME: Do those 3 events really ever reach the global-map ?
;;        It seems that they can't because they're handled via
;;        special-event-map which is used at very low-level.  -stef
(global-set-key [delete-frame] 'handle-delete-frame)
(global-set-key [iconify-frame] 'ignore)
(global-set-key [make-frame-visible] 'ignore)

So I think the answer to the question is "yes, provided someone puts the
event on unread-command-events" where it won't be handled first by
special-event-map. This is why I found that I could inject these special
events onto unread-command-events and have them trigger a callback, but
not the others.

-- 
Andrew Cohen




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#63620: 30.0.50; [Feature Request] run hooks on sleep/wake
Resent-From: Andrew Cohen <acohen@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Thu, 06 Feb 2025 07:33:01 +0000
Resent-Message-ID: <handler.63620.B63620.17388271762945 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 63620
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: patch
To: Stefan Monnier <monnier@HIDDEN>
Cc: 63620 <at> debbugs.gnu.org, Eli Zaretskii <eliz@HIDDEN>, michael.albinus@HIDDEN, Ship Mints <shipmints@HIDDEN>
Received: via spool by 63620-submit <at> debbugs.gnu.org id=B63620.17388271762945
          (code B ref 63620); Thu, 06 Feb 2025 07:33:01 +0000
Received: (at 63620) by debbugs.gnu.org; 6 Feb 2025 07:32:56 +0000
Received: from localhost ([127.0.0.1]:54066 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tfwNb-0000lR-Mv
	for submit <at> debbugs.gnu.org; Thu, 06 Feb 2025 02:32:55 -0500
Received: from mail-japaneastazlp170100001.outbound.protection.outlook.com
 ([2a01:111:f403:c405::1]:45282
 helo=TY3P286CU002.outbound.protection.outlook.com)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <acohen@HIDDEN>) id 1tfwNX-0000l8-PG
 for 63620 <at> debbugs.gnu.org; Thu, 06 Feb 2025 02:32:53 -0500
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=WhNs7HuUfQ+5mjk5hT1rHxNjG/wUS98qqrra1UOAM02R8FUCs+d9khMFjJQHMMr3xSuBFaku4F36dVG2J1UZV1Wa5pl2RJaCMapLuxx/ryOr0ubvircTixex/K+TnvJjHdF8Y/uSt3wG2fhX1IEFtUKh7JogOknYroFf6J8ebF6NswpxxCIeW8oPqcmwaUbzbBV2/wN6KSJ7i+l4f4e24q9+J77qXGM911RCBQ0IJ3iP9xCIC/ebYh91IZPBsCazBJqNq8qqoyh8eaUCrlWhRMeLg89XLvfL9HobCpH0G8Re+kt/Yfe9z//TXyHft+e3H+QDoho5HlKAOmLjYN9Tgg==
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=OtXJEm3BHqcOUZOtkYOke5LWHuG8/KI5SWT9uCggA14=;
 b=TSDEapCbpcXQpfNB8kmHIXqSkCI+5Fo7GXJKWAOaijkr5zPsHck/29UpLx94AIObzvGdVdmCschvvzls7jwAUflKYombTn3XlmON9bJQSIGFRXXc6CrJSIFrVLvHUtWsaNPhRb1Ph3WwnYzmrctPpboFLuMiXQkLBDmMCxJfDluUH/+bRauKwYIFlDAVck5SbFWdBFetpW5NAE8cgTUCr5OiBD9BCNGEswLXA/paTK6Jmq0iB79WX6oMJV3BxCfSvbBGvtZ39rw8Tm0TnlG2RjMfJC0Fx+Cz+y6EWe70Q78cK9r5/jCUbxDEXpoKH/C8hFOVC4SEqdcc8mG/lhD8fA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=ust.hk; dmarc=pass action=none header.from=ust.hk; dkim=pass
 header.d=ust.hk; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ust.hk; s=selector2;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=OtXJEm3BHqcOUZOtkYOke5LWHuG8/KI5SWT9uCggA14=;
 b=GxrQDlF6TszJdgGiI1davoZK5mTJciPcYRcZBl+WkIWeSDbb+59ldrBkpR7Jm1/C4ekAFH4LGzE/9xoWxYChZERsp29vhk2xLYzjspZ2bRFBFCKfA/kMdgSs0x0tvP6sCA7YMR/JLKPdic8cOq1SFSHrGmsGMfG0zUGF4RcoV1u1n19Nhonk+XiC3XNVnaEHVR1b7mLzVwiS9NjSUA0SGLTWYxYpbD10Q4RcoVqz0hxkVAKtdBdVymAYEw9xeZ0V9usYWFRSViOUGvt2MjCOQ2YN2dVwmrQoSh51vqLEVlWvrLpIgm2v2/7LxIrSpZ1XQcEciP+dONGpxxlLQ6n+6Q==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=ust.hk;
Received: from OS3P286MB1877.JPNP286.PROD.OUTLOOK.COM (2603:1096:604:1bf::11)
 by TYVP286MB3652.JPNP286.PROD.OUTLOOK.COM (2603:1096:400:36d::9) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8422.11; Thu, 6 Feb
 2025 07:32:38 +0000
Received: from OS3P286MB1877.JPNP286.PROD.OUTLOOK.COM
 ([fe80::4b6e:c37e:4327:cfab]) by OS3P286MB1877.JPNP286.PROD.OUTLOOK.COM
 ([fe80::4b6e:c37e:4327:cfab%4]) with mapi id 15.20.8422.009; Thu, 6 Feb 2025
 07:32:38 +0000
From: Andrew Cohen <acohen@HIDDEN>
In-Reply-To: <jwva5azk5vw.fsf-monnier+emacs@HIDDEN>
References: <87fs7qmw00.fsf@HIDDEN> <87lehinlvg.fsf@HIDDEN>
 <87y1ky83du.fsf@HIDDEN> <87legr1tn5.fsf@HIDDEN>
 <878qqmz99g.fsf@HIDDEN> <8634gtc0k7.fsf@HIDDEN>
 <87seot3k42.fsf@HIDDEN> <86r04dahpc.fsf@HIDDEN>
 <878qqkzh9d.fsf@HIDDEN> <874j18zfm6.fsf@HIDDEN>
 <jwvy0ykjtwa.fsf-monnier+emacs@HIDDEN>
 <jwvh658jlr1.fsf-monnier+emacs@HIDDEN> <86y0yk6t24.fsf@HIDDEN>
 <jwv5xloja7l.fsf-monnier+emacs@HIDDEN> <87bjvfx2xv.fsf@HIDDEN>
 <CAN+1Hbr3fsHfGyDbVVLOO-7k=LRbSXp94ib+jGd9UKDgdT_OoQ@HIDDEN>
 <877c63x18j.fsf@HIDDEN> <jwva5azk5vw.fsf-monnier+emacs@HIDDEN>
Date: Thu, 06 Feb 2025 15:32:35 +0800
Message-ID: <87o6zfplyk.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
Content-Type: text/plain
X-ClientProxiedBy: TP0P295CA0023.TWNP295.PROD.OUTLOOK.COM
 (2603:1096:910:5::19) To OS3P286MB1877.JPNP286.PROD.OUTLOOK.COM
 (2603:1096:604:1bf::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: OS3P286MB1877:EE_|TYVP286MB3652:EE_
X-MS-Office365-Filtering-Correlation-Id: a30501ba-41d5-4054-5f9a-08dd46806e93
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|366016|1800799024;
X-Microsoft-Antispam-Message-Info: sBbjU82kOnKaY/S6jl+kThb88RY+vky79FHgKFZr2g/gEwzjn5FiJFFfH9Iv+rjqZaZ45U0TdO1P9O0DhTT+cdUk+jxf6sIbN/i6bGIQkj8CHTfwsg/4kTqWxgWHBdQD95hRnMtsodz83FaJciO4orngxUVTaOlUioqkw8G9ZZhQCr42qYuufYjOnSLu/Qq9YJp5J4RmhXKJ3CXQRZKpydpvOeXuq9yTACdlYm4Vy7tKVZl+NRJrrXyYbFS3tp0l4OqAt19TiHsLe1GLTsIlmrRXMEkt4WrkCoY97WbiaQzjnb8UKt+qYMHq6ZflJs8+v6K/jrIQEqEjJrufQ0TP1xQ7w9KKMbfsiqMbacZPoDCdTzaLofd18prWWRgwzIT5KcFm0/bDvcpc9Pzsa1j/LT/GKPiZgAIkRpSoC385gK0H6sWjk837wn07E67St2N116WThRjb7/7BbBpMQQiq4LpEhIxTmFOVTfYV8gV0jNcQsciPBdI/c6BQd9Qaj9VOPYsYTBNVWBCbLaAeQL3AUeR2iFAm5xNgNgKx1HSjcLoaT3LzCW9VWZhrAEqwBfa0ajsXD3scbe5y02xQWpuC5bNCEpVjrSssCaylCk3kHtcVO5KUeMYmkzfqoOEXWNXwrVkP/NdGa7GUjYJoNM5l3zJuouqzruPg5W2KeXmVJ3XgCtrPzOQ1SrdzfRJwMjnMlpsOxMQ1MH1ifz3Q1f7qXX6w4CVVytsHc+v61TxgMw6D9pBZufMdYTKof5nY2gdJLa00Yl9ne+6ATTurwJZweC4JhS0I5feK9TfmZ6rhIwxeOYQ5KbxJ15b4YoMJVrL1tB21sK6DAEdjMo7J9GK6kKIP+0sEdQ0wgdK9OQeEcoJns1+LYyI+wnvemhlmxx9doOuZcL3NgRRT+F3L5wC3+1u4fsD15eBYfs5f+bEhfd9/pLD6wvWr3ZX0Zi3vyPNdHOVyaA+KURMdabnP6gfBw1Svs8Z1iFOdZ0YvEigBgOh/lc5Gi3hlZOeTg+AD3Hz99begrNAkg2R7e84VgEefrLDDQy9d29OR+dv7BU2g11zag5ULgwVgJOry4eObSrF4yIJZAno+9r2uZ6aHz8tUeHecMHvWkwp44zZiq6wXthocP87vi8fedyPiEAnq0/V6R38lGNUiZ1iK3sJ1EKcANpUxOl2Lz3PSiBcbhbJ21qd3zO1peO/pUBFPsZmoiYyCP3iCDJ/RplhkZR6pn5tf13GupWsRytj61Whs/oETgaIXFs6i7kw7sPzuP/jN+HrJ4rkUhRtL6ZEC2/AxoVvTL3byJJNlpN+/rpUPdIq8PIR2lxMPx3PtDTj/6p1awLxJaaZnHcxY8nZ+Vj2fenaIDgaLVBoNEm9LY7VWY+blAN9aoaAyH2zZg0+2kJtgwhmO
X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:;
 IPV:NLI; SFV:NSPM; H:OS3P286MB1877.JPNP286.PROD.OUTLOOK.COM; PTR:; CAT:NONE;
 SFS:(13230040)(376014)(366016)(1800799024); DIR:OUT; SFP:1102; 
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: 3D1m76O2t9ucpyV93R5h8LERvFLOIYy4/kLjTzRR2GCeESmWaMsFaCHk9cHwJn5TzBf2UTo6MaRv7e+NYBpbl2RTMVh00vcPl9iDOHVYBbSX7PPbOlYKm1eLmfCpHIAgMFR31vxXJ/0rw3zv1tJNWKrkqN0YtUkYQ26QE2EJVTNqw6AaSuCLSBDvl1xr0ezWZLnwzYNL2utfBjbOkWWnkdr/QdUvyKL2qnyhssBQboGflezDqfXq1LL0zyhwRRxTQn8MXx8zv/+v5lTZZbuLp46kXgcSYnJvS28KbCGaQxNoMqBAXrrwSmEzervgtQ1n7guz66OcLGgeb+yuCIT36X66kDnWf3YsObmlVIVi7L4q27wC+Gj1GSISAuSsisimozvDGbrFYY5YLU9wpih+fgGeEXIsF+oF4lzScAHhbdjR/QEiuW1twohdjwAKtFiBJdwvrt5GffNMDG6tX9RCdomVzDw6R6k70+L9HfKiD8MWz2rV6aQFZ0jpAtEEcn9wrWBLQWMG8UaBNsZ/q0MX4qmnVg14n/S/yG2V/cM0a6BgkDv9Xtzb/JlInlqM5ODgKtjwSt4zc6Cz1cyXbaulB5SMUgUx/Fj3zpPtq+a87Gx8SBFS7ekHRyxx/YDXegU95rCOB0Uma8ncxNDqAeMJur4/0moyre+1vg/hq4GMyu4Hei2E5p/1MejT9Rrlvnrxc8F8GPxYIDRSxDgKwkeWkyznKosn43ZP/iPazJrOzKd5GZ4WngPF4bAqIvV88CLG8tdfUpBFAx6yVvf1CqJaNQMkNe59fuq+M3soKnmBog2DBy+zLM4fhdE4xHEeyeWy2IzVXEvvu6A08Qkw3y4RGDJJ2Oe4RDEDPVhJEuLzbN/fdXfEnuDTg4okurlPfWgCNCup0x+QrN1qTys716QZrU1Y6qXVSwPoTsIWgcyyQegThasw8/qIl8Ms2fgfY+/ooFA+LEBbmaN+K/COi9jUKVTGn3THv+4hSWbFjiG+UqNAG9if8WhRY4CNFuQnrkJOoqtbGA6DwqwHxcXI8BXebrLt12lcX4kSaip1QcZm4I6WcoyM1tXXI6EHF7Ts4/d/lQP06WXAECKz6k7H/FwTrh5DLNDK1i0YbPbIeFYQ20yGqLaA8j/msx5cfT/MJ5GzfdmyXPUIyznH1TypD4TRAuVGVQI21oSF5785BJPwqmXx9HrkqR9Wf5jw9QBN8f99qF+OmtlX8mS2gpyJ2qdsmcufBMux9uzDjD4l3SpRotxOPhLL1eLuArWBqnE8Dywi3OVM3HKlFAZsELzbaAQ1aRhCUkk850SPB4/+/6+ygEIlf4ZX3uH20MDWMGMuo5tjLNgUkSUfPXNKiOPXl5rwZKues0d+ad+ATopwnakLtj1EQprogDj41+p1bURkYx1h/xNT73CsFSnKblaLvBdu1YmMQg3r6WBx78IEriKJ0AWzWHVElO5bKc3YA+Jivn5KkjeD/YQmFYfYIlqDPjQtpo1qCu2RFeQLxoAcfI19t3jyA54XsJ7YilGp33+kLd7qcxhSp4ElnD7QvRxGPi7QDk5oZms/3js3hiBTuVU7tuie03OHG0svIlyCA9YxUUhd
X-OriginatorOrg: ust.hk
X-MS-Exchange-CrossTenant-Network-Message-Id: a30501ba-41d5-4054-5f9a-08dd46806e93
X-MS-Exchange-CrossTenant-AuthSource: OS3P286MB1877.JPNP286.PROD.OUTLOOK.COM
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Feb 2025 07:32:38.2918 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: c917f3e2-9322-4926-9bb3-daca730413ca
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: W34B8A5Sc40brLheFakNQf4bY0HCuNdn1/eatKOIr6gkbVuH7XRmHyL5yWy9b+yb
X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYVP286MB3652
X-Spam-Score: -0.0 (/)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

>>>>> "SM" == Stefan Monnier <monnier@HIDDEN> writes:

[...]

    SM> so what do we know about when we'll sleep?  Can we influence
    SM> (e.g. delay) it?

So I can make it work easily for the D-Bus backend, with one minor
issue.  The D-Bus interface returns a file descriptor (a natural number)
for the FIFO that is inhibiting sleep. To allow sleep I have to close
this. How can I do that from Emacs?

Best,
Andy
-- 
Andrew Cohen




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#63620: 30.0.50; [Feature Request] run hooks on sleep/wake
Resent-From: Eli Zaretskii <eliz@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Thu, 06 Feb 2025 08:27:02 +0000
Resent-Message-ID: <handler.63620.B63620.173883037713334 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 63620
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: patch
To: Stefan Monnier <monnier@HIDDEN>
Cc: acohen@HIDDEN, 63620 <at> debbugs.gnu.org, michael.albinus@HIDDEN
Received: via spool by 63620-submit <at> debbugs.gnu.org id=B63620.173883037713334
          (code B ref 63620); Thu, 06 Feb 2025 08:27:02 +0000
Received: (at 63620) by debbugs.gnu.org; 6 Feb 2025 08:26:17 +0000
Received: from localhost ([127.0.0.1]:54208 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tfxDF-0003T0-8D
	for submit <at> debbugs.gnu.org; Thu, 06 Feb 2025 03:26:17 -0500
Received: from eggs.gnu.org ([2001:470:142:3::10]:35264)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1tfxDA-0003Sd-EV
 for 63620 <at> debbugs.gnu.org; Thu, 06 Feb 2025 03:26:15 -0500
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 <eliz@HIDDEN>)
 id 1tfxD3-0001sV-LU; Thu, 06 Feb 2025 03:26:05 -0500
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=po78yXuYwLrXXhW2dy83i+vStOqVi9wsVgWlMjKYi4c=; b=aTi8Va8R9oYU
 g3+Vi6l0d+aXU4/R4EbGi534ZubLxms6iYcTxlSRLzuEAmCpBy6mh/2jnovdJAZGok6r50jy7HYK+
 tYxBE0pkcAHctAyxycaTLvFMYrawzlEMJ1ksk3nRt6EmBVsLUKSyzhyZPnOGFYONt41hz/rKJYHoO
 uU+EgUj1VG0nsbypOUNEXvEBDZfNaRtl0vtrR89FJoOuZ6FxCadHeqJ8e/dLnS5kbCHpweWFbFK57
 RI9iNc+ReXaNLuT3NCPIUU/ekl5JSOnQU5a8ZUdRuHMBFEbGcvTd2kky5seEmdMsmA7J0D/oWojai
 bG4nsxZc9IcD+CDM3CI4cg==;
Date: Thu, 06 Feb 2025 10:26:01 +0200
Message-Id: <86lduj7a3q.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
In-Reply-To: <jwv5xloja7l.fsf-monnier+emacs@HIDDEN> (message from Stefan
 Monnier on Wed, 05 Feb 2025 17:37:20 -0500)
References: <87fs7qmw00.fsf@HIDDEN> <87lehinlvg.fsf@HIDDEN>
 <87y1ky83du.fsf@HIDDEN> <87legr1tn5.fsf@HIDDEN>
 <878qqmz99g.fsf@HIDDEN> <8634gtc0k7.fsf@HIDDEN>
 <87seot3k42.fsf@HIDDEN> <86r04dahpc.fsf@HIDDEN>
 <878qqkzh9d.fsf@HIDDEN> <874j18zfm6.fsf@HIDDEN>
 <jwvy0ykjtwa.fsf-monnier+emacs@HIDDEN>
 <jwvh658jlr1.fsf-monnier+emacs@HIDDEN> <86y0yk6t24.fsf@HIDDEN>
 <jwv5xloja7l.fsf-monnier+emacs@HIDDEN>
X-Spam-Score: -2.3 (--)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

> From: Stefan Monnier <monnier@HIDDEN>
> Cc: acohen@HIDDEN,  63620 <at> debbugs.gnu.org,  michael.albinus@HIDDEN
> Date: Wed, 05 Feb 2025 17:37:20 -0500
> 
> >> Maybe a hook is not such a bad idea after all.
> > But then how would platforms where these events come from the
> > window-system call that hook?
> 
> I don't understand the question:

It seems you understood it well enough to answer it ;-)

>                                  why would those not be ale to run the
> hook?  If it's because it's in a separate UI thread, they can push to
> `pending_funcalls`, or in the worst case they can add an event into the
> event queue and then use `special-event-map` to run an ad-hoc function
> which runs the hook.
> 
> Of course, we could similarly make the D-bus code manually do
> (lookup-key special-event-map [sleep-event])

Thanks, so which of these solutions would you recommend as the
cleanest and the most convenient/extensible one?

Michael, do you have any opinions or comments about these
possibilities, from the D-Bus support POV?




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#63620: 30.0.50; [Feature Request] run hooks on sleep/wake
Resent-From: Ship Mints <shipmints@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Thu, 06 Feb 2025 10:57:02 +0000
Resent-Message-ID: <handler.63620.B63620.17388394178902 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 63620
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: patch
To: Stefan Monnier <monnier@HIDDEN>
Cc: Andrew Cohen <acohen@HIDDEN>, 63620 <at> debbugs.gnu.org, Eli Zaretskii <eliz@HIDDEN>, michael.albinus@HIDDEN
Received: via spool by 63620-submit <at> debbugs.gnu.org id=B63620.17388394178902
          (code B ref 63620); Thu, 06 Feb 2025 10:57:02 +0000
Received: (at 63620) by debbugs.gnu.org; 6 Feb 2025 10:56:57 +0000
Received: from localhost ([127.0.0.1]:54511 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tfzZ3-0002JW-AO
	for submit <at> debbugs.gnu.org; Thu, 06 Feb 2025 05:56:57 -0500
Received: from mail-ed1-x52d.google.com ([2a00:1450:4864:20::52d]:60898)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.84_2) (envelope-from <shipmints@HIDDEN>)
 id 1tfzZ0-0002JD-3H
 for 63620 <at> debbugs.gnu.org; Thu, 06 Feb 2025 05:56:55 -0500
Received: by mail-ed1-x52d.google.com with SMTP id
 4fb4d7f45d1cf-5dcef27deecso956125a12.1
 for <63620 <at> debbugs.gnu.org>; Thu, 06 Feb 2025 02:56:54 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1738839408; x=1739444208; 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=F11mHscZaBC6juAZH/cRBcQNE7A9lUTNQFUGnG0XSkQ=;
 b=Tc7U0L0CvOspZPyZqq9rWFHq8hfq/tvYsL6UiSMHUnS2V9zqnnAqTrbVk/Nq4XWa/q
 YRV/yS6A0y5TywQZjOs7uGmnxHjYsOUOIeNPiDDuNtwIO8SK7q2DnEnlffq3E5ASrS/K
 zmgqiYoBYEhLWWSmSOwyf6CTR3SeMmEKnevXIyA3drESI4PJvPOMHdR2qTjgU/gOKfeL
 w/Pfw89oygnPro0VoAI8aWuxyY6aHDI4U7Lv2hHIalISNEWzAeX0yDEdaj7JBm5AAkGr
 owKizfqDoDtXCJla0LjjUX1HGTAuMT/IJQdU6TJe2SxpNmlywIs2asab+gPwmDJxhO1h
 rYzQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1738839408; x=1739444208;
 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=F11mHscZaBC6juAZH/cRBcQNE7A9lUTNQFUGnG0XSkQ=;
 b=Db1jeaRA3KcdDdW8QdZsaSE7oQCwWwSshjawoTkjtWWv8h/4AfyX8uQEZMmDwFe+2r
 O2Dae3Y4hCrcPPP8KA0/TOt5K26gUUSzUqFIIeOvqQaBLJ0DObovRcRAk36DOv8l8Vm4
 dqidksBVIirb6WTjRQDrRiRH4meTaSQNfeMshHP5381Js9Gvo+bn+HXuU14EJ0IhgGv2
 Vf+0nEi4VdWuHHlexcuh38MfS7hik7EK3xqYGPnZM/AKrdXvBQwD31LHIaBlK+xVgNS6
 uaesLW1qWhYNTB8+NvGeuCw7UgRjGfqJjG/1/TkiLPMtZv3bVc7OXaftHaSEnCEbntHq
 Qhlw==
X-Forwarded-Encrypted: i=1;
 AJvYcCWSPF8smal9UfXraEb31MqJeMVYJyP7+S1qNm5Sdp72LhrNFwFsqlZ9JbBMhPrIWTyaalMmkg==@debbugs.gnu.org
X-Gm-Message-State: AOJu0Yx987+swE5RTgSRX26gEyyd0QEn7IYNLpI1e/j1/xsiX1Lm7FBo
 QYfjGBUpUFpdePTnnYRzO+BQ8ZpMg14OtwV3R8w3ktUZ6zYEt2lrZIuPSv6xLmn/sJ+kHxgZxo7
 pm5PkOdnvGwRP1esE1sTh3JlnQBw=
X-Gm-Gg: ASbGnctbCuRwnLFa0VFOo+lc5KTkZF7tr9padzGYcppXpQFftgp+PzRG22gM2Gbmp+v
 X1D867nc+kuC71hfKfVWTCz28Uv5hyTnxge9rz291zBvqQC/DxxNYh3pAHMqY9al5ig6KxF1f
X-Google-Smtp-Source: AGHT+IFZh67CoR4qf5c+7fxNrOraU9WamU2UUX8RdsTjz2ErSBPqJSTu+eab7cb9s0YOd2Q6jST5hAY8zXhRFxZNrIA=
X-Received: by 2002:a05:6402:4308:b0:5da:105b:86c1 with SMTP id
 4fb4d7f45d1cf-5dcdb763fa4mr6677924a12.23.1738839407696; Thu, 06 Feb 2025
 02:56:47 -0800 (PST)
MIME-Version: 1.0
References: <87fs7qmw00.fsf@HIDDEN> <87lehinlvg.fsf@HIDDEN>
 <87y1ky83du.fsf@HIDDEN> <87legr1tn5.fsf@HIDDEN> <878qqmz99g.fsf@HIDDEN>
 <8634gtc0k7.fsf@HIDDEN> <87seot3k42.fsf@HIDDEN> <86r04dahpc.fsf@HIDDEN>
 <878qqkzh9d.fsf@HIDDEN> <874j18zfm6.fsf@HIDDEN>
 <jwvy0ykjtwa.fsf-monnier+emacs@HIDDEN>
 <jwvh658jlr1.fsf-monnier+emacs@HIDDEN> <86y0yk6t24.fsf@HIDDEN>
 <jwv5xloja7l.fsf-monnier+emacs@HIDDEN> <87bjvfx2xv.fsf@HIDDEN>
 <CAN+1Hbr3fsHfGyDbVVLOO-7k=LRbSXp94ib+jGd9UKDgdT_OoQ@HIDDEN>
 <877c63x18j.fsf@HIDDEN> <jwva5azk5vw.fsf-monnier+emacs@HIDDEN>
In-Reply-To: <jwva5azk5vw.fsf-monnier+emacs@HIDDEN>
From: Ship Mints <shipmints@HIDDEN>
Date: Thu, 6 Feb 2025 05:54:41 -0500
X-Gm-Features: AWEUYZkymYk4TR-WPAWAA4Y9EVq4HKs2NHoTMIUPsqnYSGiy3Q3B7vi7VQIkVm8
Message-ID: <CAN+1HboTUC-WxjLx=6Q0XRLoz7fHeRGm4ZMfxj2y7FmbGFBo9Q@HIDDEN>
Content-Type: multipart/alternative; boundary="00000000000037a440062d771921"
X-Spam-Score: 0.0 (/)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

--00000000000037a440062d771921
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On macOS, the receiver of a "will sleep" notification can delay sleep for
some time. There's also a message when the screen is put to sleep but not
the OS that might have some utility.

On Thu, Feb 6, 2025 at 12:20=E2=80=AFAM Stefan Monnier <monnier@HIDDEN=
al.ca>
wrote:

> > The idea is that you add code to detect the change at the OS level,
> > and then create an event of type sleep-event with an argument of t for
> > sleep and nil for wake.  The lisp package detects the sleep-event and
> > runs the appropriate code.
>
> BTW: I understand what a "wake" event means, but what about
> a "sleep" event?  I mean: how can we receive this event before we wake
> up again?  Or does it mean that we're about to sleep?  If so what do we
> know about when we'll sleep?  Can we influence (e.g. delay) it?
>
>
>         Stefan
>
>

--00000000000037a440062d771921
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div class=3D"gmail_default" style=3D"font-family:monospac=
e">On macOS, the receiver of a &quot;will sleep&quot; notification can dela=
y sleep for some time. There&#39;s also a message when the screen is put to=
 sleep but not the OS that might have some utility.</div></div><br><div cla=
ss=3D"gmail_quote gmail_quote_container"><div dir=3D"ltr" class=3D"gmail_at=
tr">On Thu, Feb 6, 2025 at 12:20=E2=80=AFAM Stefan Monnier &lt;<a href=3D"m=
ailto:monnier@HIDDEN">monnier@HIDDEN</a>&gt; wrote:<br>=
</div><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;b=
order-left:1px solid rgb(204,204,204);padding-left:1ex">&gt; The idea is th=
at you add code to detect the change at the OS level,<br>
&gt; and then create an event of type sleep-event with an argument of t for=
<br>
&gt; sleep and nil for wake.=C2=A0 The lisp package detects the sleep-event=
 and<br>
&gt; runs the appropriate code.<br>
<br>
BTW: I understand what a &quot;wake&quot; event means, but what about<br>
a &quot;sleep&quot; event?=C2=A0 I mean: how can we receive this event befo=
re we wake<br>
up again?=C2=A0 Or does it mean that we&#39;re about to sleep?=C2=A0 If so =
what do we<br>
know about when we&#39;ll sleep?=C2=A0 Can we influence (e.g. delay) it?<br=
>
<br>
<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 Stefan<br>
<br>
</blockquote></div>

--00000000000037a440062d771921--




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#63620: 30.0.50; [Feature Request] run hooks on sleep/wake
Resent-From: Michael Albinus <michael.albinus@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Thu, 06 Feb 2025 11:57:02 +0000
Resent-Message-ID: <handler.63620.B63620.173884301820086 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 63620
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: patch
To: Eli Zaretskii <eliz@HIDDEN>
Cc: acohen@HIDDEN, 63620 <at> debbugs.gnu.org, Stefan Monnier <monnier@HIDDEN>
Received: via spool by 63620-submit <at> debbugs.gnu.org id=B63620.173884301820086
          (code B ref 63620); Thu, 06 Feb 2025 11:57:02 +0000
Received: (at 63620) by debbugs.gnu.org; 6 Feb 2025 11:56:58 +0000
Received: from localhost ([127.0.0.1]:54616 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tg0V7-0005Dr-Hz
	for submit <at> debbugs.gnu.org; Thu, 06 Feb 2025 06:56:58 -0500
Received: from mout.gmx.net ([212.227.17.22]:54049)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <michael.albinus@HIDDEN>)
 id 1tg0V3-0005DK-Sd
 for 63620 <at> debbugs.gnu.org; Thu, 06 Feb 2025 06:56:55 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmx.de;
 s=s31663417; t=1738843004; x=1739447804; i=michael.albinus@HIDDEN;
 bh=871oP9FQ9ADLDmmgnhbQ8v4nGxlUgNMjJfyq8syRtGY=;
 h=X-UI-Sender-Class:From:To:Cc:Subject:In-Reply-To:References:Date:
 Message-ID:MIME-Version:Content-Type:cc:content-transfer-encoding:
 content-type:date:from:message-id:mime-version:reply-to:subject:
 to;
 b=F/oguElkjdX1qeFdmJ64xV2nTeDEoWXH7eaX7RO00hizpOSflfIUtO0QqsiqBuuj
 J0TT/44b7V8USYS0bAdw1jUZ4ZvOPDCJYQ35/OGXqUkZ1+YifMabRjlFowWf42a6w
 9CpxaeQqiKhceU820BkipK4Xv3HIVmDjCxzN9aRkcU8Ggjc+FjDwaLu3U53dbZhML
 yQixZ1A+8gwJs99/u0x4I6D2a0sdsT/mB1LUzVC25Xs0rDSv6O4Y1zWU2e78NaN3w
 J82kTEmFYuPdE8h3NZmvm2hTMwgB0L/9LlOwcx/36nPAgwSAsurmAtEx3vxRltvlC
 GATBaiRwYh/nZQSkdg==
X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a
Received: from gandalf.gmx.de ([185.89.38.155]) by mail.gmx.net (mrgmx104
 [212.227.17.168]) with ESMTPSA (Nemesis) id 1MJVDM-1tzsnL2N44-00Tz26; Thu, 06
 Feb 2025 12:56:43 +0100
From: Michael Albinus <michael.albinus@HIDDEN>
In-Reply-To: <86lduj7a3q.fsf@HIDDEN> (Eli Zaretskii's message of "Thu, 06 Feb
 2025 10:26:01 +0200")
References: <87fs7qmw00.fsf@HIDDEN> <87lehinlvg.fsf@HIDDEN>
 <87y1ky83du.fsf@HIDDEN> <87legr1tn5.fsf@HIDDEN>
 <878qqmz99g.fsf@HIDDEN> <8634gtc0k7.fsf@HIDDEN>
 <87seot3k42.fsf@HIDDEN> <86r04dahpc.fsf@HIDDEN>
 <878qqkzh9d.fsf@HIDDEN> <874j18zfm6.fsf@HIDDEN>
 <jwvy0ykjtwa.fsf-monnier+emacs@HIDDEN>
 <jwvh658jlr1.fsf-monnier+emacs@HIDDEN> <86y0yk6t24.fsf@HIDDEN>
 <jwv5xloja7l.fsf-monnier+emacs@HIDDEN> <86lduj7a3q.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
Date: Thu, 06 Feb 2025 12:56:41 +0100
Message-ID: <87jza3thfq.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="=-=-="
X-Provags-ID: V03:K1:dYLH0emfK9atjkIlw/kqEUZSY+PJynIBK5VSg5XuZXZFOVmCJQt
 /PqUepLKiGIsTMUVxZYwD+YN80VTWjwC5DY7tB6Q4LVrz1idNVSebaijTWbVYwYDZUFNA1W
 uhMJ+j29d8XRTXvvRvXRMAoB+52ehpOPM9rrWhLd2YNPzo6qK03xWEjPzIsDhf7aVJeGUcP
 /9Cb5fwGOwK1aoSMEcxMA==
X-Spam-Flag: NO
UI-OutboundReport: notjunk:1;M01:P0:aTmGnwi2chw=;bP79DvAkkBmGre8FdD2gzQATxDo
 Ittspwf3D4SsSyPqlCAHkzB/2zOEfpKcevofJBn6E2xziKGUo73aTQoPhHQG4bHRzBStpw6UN
 zqOIUePY+8uUca5dQkwzHMydp3FyTWre+lyV1Xw52p/0t9Qtqyx9wZTQ1x2zog30x53oMYftt
 Y53ExR6KwihZHig2FV05RER83zM2sz2XPplUyrXF5sKo/LK62M4uzCkyw5qzoM0e5e4gZRF1J
 ED6/qe3/jBFUI8nMBfrXZbzwgKVYB+ai5HQQT8pIgaaxb6LW+tL5CwM0XZZtcl49UvfMGqhle
 ZlZnhIv0sdk1vLIPhmuXqZ2/R7BFJm5edLAkr6dCgjWfpuxtNOTSBvegzAGeEkVXa6txKH+yD
 a3Mh7A5ZKJXcMvsIiV+t5Vz+YiKFcCHTTps+L46IgcqnYcFbVBHPlCBWv+j8wfgbN/93Fsenc
 rpM7JjGTrFnpRHrHgOUspX3kK35QoGIwRd3FKMBLMOsk4Lyvx5e/5oEZvpdbC8/3wkhr+bZkM
 9g3h4imjFf+2AUBzqudZuE05J8KxdqdV6CLJKhSwqkOYbwFTp8+P3Geqkxqdt9k9WaXDa5R0R
 iFQRez3/h6JH7eTWhQVvewPo9YR8XEqdzBdcpSUuo/xHaxvHgmlFIdgN+CPnSqehz6dxOWUJC
 HjUi2uc5rvJAM1MKCbB2W+Qlh/5eu9gF2T6ouwiajT/UNqld9U2VxqJV/5EgWLKJDochgHSFX
 X9YMcsldwgnLdSwKhKUjZr8aPBaHT3+3O1IJqEgUHRqAP1R4LbARJ2a4StRtqV6AjGGOeUFvA
 geQzQy02DFp6iM/0OtVs5MWJlMUqdLPKNsTCaxJzROx2uIqvMgwmPEBg6Taf+kYiPROP6gZng
 CN0ZQtPwaeWb8MRHl+r7sWA3/4raqhTTrTWTTLaTdLygnB1Atnbo3NRoP79aXCGQN3fwgM7p6
 EAj7x75+zrB1IPpQDaWNuCsrfXBm8dPDFm/CTOKe/7isXNYrfDkl2eQeCm9Udvw/X/jEuh0IG
 EWEV2VJzUpI28AT92uHcb2RDd26nWGN/kyii/plHONa5RbVHVriWOom9fiUqu9zRm2B3UngIP
 FQ6RHNswHeYzHCp/Zst6ak5M4N6awAAFZv1uD681Gd3KcraAe5OIIe4bO/QR1dP9l1G5egO8J
 PDZd72xs/JT1M3BoJFVdnl3JBgjj0xq+UFSP3eNj8xYneJGZGEpCS3c2oxReZ+hrlQq/XE1cN
 aBKGX2nLX2BHPQT+ZoRbSHLqLqul/7Z4O8ginJBzeBuVdBGbHDy7RtPyJi+h97v+PvkYyJ7kL
 XAhj+pXqJM/yQluAKoMNS9AE8+7pzZSeITEhP5QLa1EYD9+EIY2NwKX0xtOlUCUB/WN+3U9Ir
 HPV20/wDoWjpDJJTo5H/Nau05fogBiVC0GVnfUMDmuU8nn96EDz7CJkab+
X-Spam-Score: -0.7 (/)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.7 (-)

--=-=-=
Content-Type: text/plain

Eli Zaretskii <eliz@HIDDEN> writes:

Hi Eli,

>>                                  why would those not be ale to run the
>> hook?  If it's because it's in a separate UI thread, they can push to
>> `pending_funcalls`, or in the worst case they can add an event into the
>> event queue and then use `special-event-map` to run an ad-hoc function
>> which runs the hook.
>>
>> Of course, we could similarly make the D-bus code manually do
>> (lookup-key special-event-map [sleep-event])
>
> Thanks, so which of these solutions would you recommend as the
> cleanest and the most convenient/extensible one?
>
> Michael, do you have any opinions or comments about these
> possibilities, from the D-Bus support POV?

I'm against to touch the D-Bus code because of this. Unneeded
dependency.

I've assembled a POC patch (appended), which adds the sleep-event
special event to special-event-map, and which adds a new function
insert-special-event, all on C level. With this, I'm able to eval in the
*scratch* buffer

--8<---------------cut here---------------start------------->8---
(defun sleep-handle-event (event)
  (declare (completion ignore))
  (interactive "e")
  (message "Event arrived: %S" event))

(insert-special-event '(sleep-event t))
--8<---------------cut here---------------end--------------->8---

insert-special-event is not restricted to the sleep-event event, but
shall support all special events, finally.

Comments?

Best regards, Michael.


--=-=-=
Content-Type: text/x-patch
Content-Disposition: attachment
Content-Transfer-Encoding: quoted-printable

diff --git a/src/keyboard.c b/src/keyboard.c
index 2d8c45c05ee..e6539582eea 100644
=2D-- a/src/keyboard.c
+++ b/src/keyboard.c
@@ -4273,6 +4273,7 @@ kbd_buffer_get_event (KBOARD **kbp,
       case CONFIG_CHANGED_EVENT:
       case FOCUS_OUT_EVENT:
       case SELECT_WINDOW_EVENT:
+      case SLEEP_EVENT:
         {
           obj =3D make_lispy_event (&event->ie);
           kbd_fetch_ptr =3D next_kbd_event (event);
@@ -7110,6 +7111,9 @@ make_lispy_event (struct input_event *event)
 #endif
 #endif /* USE_FILE_NOTIFY */

+    case SLEEP_EVENT:
+      return Fcons (Qsleep_event, event->arg);
+
     case CONFIG_CHANGED_EVENT:
 	return list3 (Qconfig_changed_event,
 		      event->arg, event->frame_or_window);
@@ -11631,6 +11635,36 @@ DEFUN ("input-pending-p", Finput_pending_p, Sinpu=
t_pending_p, 0, 1, 0,
 	  ? Qt : Qnil);
 }

+DEFUN ("insert-special-event", Finsert_special_event, Sinsert_special_eve=
nt,
+       1, 1, 0,
+       doc: /* Insert a special EVENT into the input queue.  */)
+  (Lisp_Object event)
+{
+  /* Check, that it is a special event.  */
+  CHECK_CONS (event);
+  if (NILP (access_keymap
+	    (get_keymap (Vspecial_event_map, 0, 1), event, 0, 0, 1)))
+    signal_error ("Invalid event kind", XCAR (event));
+
+  /* Construct an input event.  */
+  struct input_event ie;
+  EVENT_INIT (ie);
+  ie.kind =3D
+    /* TODO: Add the other special event kinds.  */
+    (EQ (XCAR (event), Qsleep_event) ? SLEEP_EVENT
+#ifdef HAVE_DBUS
+     : EQ (XCAR (event), Qdbus_event) ? DBUS_EVENT
+#endif
+     : NO_EVENT);
+  ie.frame_or_window =3D Qnil;
+  ie.arg =3D CDR (event);
+
+  /* Store it into the input event queue.  */
+  kbd_buffer_store_event (&ie);
+
+  return (Qnil);
+}
+
 /* Reallocate recent_keys copying the recorded keystrokes
    in the right order.  */
 static void
@@ -12803,6 +12837,7 @@ init_while_no_input_ignore_events (void)
 #ifdef THREADS_ENABLED
   events =3D Fcons (Qthread_event, events);
 #endif
+  events =3D Fcons (Qsleep_event, events);

   return events;
 }
@@ -12826,6 +12861,7 @@ is_ignored_event (union buffered_input_event *even=
t)
 #ifdef HAVE_DBUS
     case DBUS_EVENT: ignore_event =3D Qdbus_event; break;
 #endif
+    case SLEEP_EVENT: ignore_event =3D Qsleep_event; break;
     default: ignore_event =3D Qnil; break;
     }

@@ -12931,6 +12967,7 @@ syms_of_keyboard (void)
 #endif /* USE_FILE_NOTIFY */

   DEFSYM (Qtouch_end, "touch-end");
+  DEFSYM (Qsleep_event, "sleep-event");

   /* Menu and tool bar item parts.  */
   DEFSYM (QCenable, ":enable");
@@ -13144,6 +13181,7 @@ syms_of_keyboard (void)
   defsubr (&Srecursive_edit);
   defsubr (&Sinternal_track_mouse);
   defsubr (&Sinput_pending_p);
+  defsubr (&Sinsert_special_event);
   defsubr (&Slossage_size);
   defsubr (&Srecent_keys);
   defsubr (&Sthis_command_keys);
@@ -14017,6 +14055,8 @@ keys_of_keyboard (void)
 			    "handle-focus-out");
   initial_define_lispy_key (Vspecial_event_map, "move-frame",
 			    "handle-move-frame");
+  initial_define_lispy_key (Vspecial_event_map, "sleep-event",
+			    "sleep-handle-event");
 }

 /* Mark the pointers in the kboard objects.
diff --git a/src/termhooks.h b/src/termhooks.h
index 0795148f1af..a77ca25e159 100644
=2D-- a/src/termhooks.h
+++ b/src/termhooks.h
@@ -291,6 +291,9 @@ #define EMACS_TERMHOOKS_H
   , FILE_NOTIFY_EVENT
 #endif

+  /* Sleep/wake event.  */
+  , SLEEP_EVENT
+
   /* Pre-edit text was changed. */
   , PREEDIT_TEXT_EVENT


--=-=-=--




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#63620: 30.0.50; [Feature Request] run hooks on sleep/wake
Resent-From: Andrew Cohen <acohen@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Thu, 06 Feb 2025 12:21:01 +0000
Resent-Message-ID: <handler.63620.B.173884444025980 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 63620
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: patch
To: 63620 <at> debbugs.gnu.org
Cc: eliz@HIDDEN, michael.albinus@HIDDEN, monnier@HIDDEN
X-Debbugs-Original-To: Michael Albinus via "Bug reports for GNU Emacs, the Swiss army knife of text editors" <bug-gnu-emacs@HIDDEN>
X-Debbugs-Original-Cc: 63620 <at> debbugs.gnu.org, Eli Zaretskii <eliz@HIDDEN>, Michael Albinus <michael.albinus@HIDDEN>, Stefan Monnier <monnier@HIDDEN>
Received: via spool by submit <at> debbugs.gnu.org id=B.173884444025980
          (code B ref -1); Thu, 06 Feb 2025 12:21:01 +0000
Received: (at submit) by debbugs.gnu.org; 6 Feb 2025 12:20:40 +0000
Received: from localhost ([127.0.0.1]:54686 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tg0s4-0006ky-1K
	for submit <at> debbugs.gnu.org; Thu, 06 Feb 2025 07:20:40 -0500
Received: from lists.gnu.org ([2001:470:142::17]:60676)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <acohen@HIDDEN>) id 1tg0s1-0006kL-4r
 for submit <at> debbugs.gnu.org; Thu, 06 Feb 2025 07:20:38 -0500
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 <acohen@HIDDEN>) id 1tg0rt-0007zQ-Na
 for bug-gnu-emacs@HIDDEN; Thu, 06 Feb 2025 07:20:30 -0500
Received: from mail-japaneastazon11021136.outbound.protection.outlook.com
 ([52.101.125.136] helo=TYVP286CU001.outbound.protection.outlook.com)
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <acohen@HIDDEN>)
 id 1tg0rr-0007K3-PF; Thu, 06 Feb 2025 07:20:29 -0500
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=oIkdSxrFwID964O88wyInCnzTI5JLGuX+r43f7GEGzK2/1N65+iVWyQ93o/2UIOTX1qZQaZrMrt+SqFYXNqhSBUBX+BK6u/CMeGtCxw4fulwm6ma7q6bGBs0oudL7Wer35wr9fiIrTqeCkhGMAZBfXfipgE8vQlVBdH57Swxf1kmd3b8mWP97VeR3XFISPmmKZq/Z5OtTyiim+5NJzaQfauRZv6MHICK7X6OeB7WtRLqlfi1pVRuVtIB26eyfJcC/MkZ+9qMPT1vJtj/bHtMcs99prKP8GAYGWsNj8uOEx2BU0jmF6MXq4A5le8pXojzl78+7I0Mi7ygHKJgZRZDaw==
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=ZdUQtAbvb9c1FJR/v5H310R4RXjrZW2I5Mh+SLzVICU=;
 b=de9m+DpGrcVwTeKLKgfNibEIi75HUyqAO2YJgp75T73CxDKNbrq54+LoImUPikc8KvrAvNbhQ4r/wolLsmZna6d24uD+wvGgNm/ozF7uCVirGQNRx3CoJWU1iJ2DBsoQ0Y+A3XToYNXRASLv6yjyVhxZqaeW2UdShBx/eLSJcwjzwG9Q6OW+Wa/HnDTLZQMwCJpW1vjYNF3+2ZWSBSeGUuSMvajrMp2jfX0WdrTFYUakC+UTWxtRFZqkmdHInSKTL+bKmkW+whtVAZPtdJ0Lt2fDMJPY7KiszP7i417uS9MVk4kWk0oPn7l4AN5khpvGZ0s+zicBc/X8CrE3cVzqUQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=ust.hk; dmarc=pass action=none header.from=ust.hk; dkim=pass
 header.d=ust.hk; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ust.hk; s=selector2;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ZdUQtAbvb9c1FJR/v5H310R4RXjrZW2I5Mh+SLzVICU=;
 b=o90ejIxhNAZgCZ/ZyGQ9Is7T5pKDtlVvLh2mNYbqgmSE/BGrQg/68UUTT7mok/KSKTko168v/iaJWHxyenSuShg96lh9VccALW9AiTQ6VdzG+jyNSsPF2sZgvaGJK2L3sLQPabD3GDTb/BhfCwwZyRDMAq6+N5BbSuAYotcDWRgEmJkYckm6PvDGq0b5A9ESypz0jrMDrGa6Gzf1jTC7W9aEM3lktKXxy4cCZp8rbmzhUDh8RnpGcNQ1bOyQ9xLOL8/gXwAqC3YYwE8U8IgowXyJQwITs4mNLQGNHvV9byq6XWbH6NXe2VHFHENwMNeRyhkBps0HZ4gXDlqw1FkOSA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=ust.hk;
Received: from OS3P286MB1877.JPNP286.PROD.OUTLOOK.COM (2603:1096:604:1bf::11)
 by TYTP286MB4086.JPNP286.PROD.OUTLOOK.COM (2603:1096:405:185::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8422.11; Thu, 6 Feb
 2025 12:20:22 +0000
Received: from OS3P286MB1877.JPNP286.PROD.OUTLOOK.COM
 ([fe80::4b6e:c37e:4327:cfab]) by OS3P286MB1877.JPNP286.PROD.OUTLOOK.COM
 ([fe80::4b6e:c37e:4327:cfab%4]) with mapi id 15.20.8422.009; Thu, 6 Feb 2025
 12:20:22 +0000
From: Andrew Cohen <acohen@HIDDEN>
In-Reply-To: <87jza3thfq.fsf@HIDDEN>
References: <87fs7qmw00.fsf@HIDDEN> <87lehinlvg.fsf@HIDDEN>
 <87y1ky83du.fsf@HIDDEN> <87legr1tn5.fsf@HIDDEN>
 <878qqmz99g.fsf@HIDDEN> <8634gtc0k7.fsf@HIDDEN>
 <87seot3k42.fsf@HIDDEN> <86r04dahpc.fsf@HIDDEN>
 <878qqkzh9d.fsf@HIDDEN> <874j18zfm6.fsf@HIDDEN>
 <jwvy0ykjtwa.fsf-monnier+emacs@HIDDEN>
 <jwvh658jlr1.fsf-monnier+emacs@HIDDEN> <86y0yk6t24.fsf@HIDDEN>
 <jwv5xloja7l.fsf-monnier+emacs@HIDDEN> <86lduj7a3q.fsf@HIDDEN>
 <87jza3thfq.fsf@HIDDEN>
Date: Thu, 06 Feb 2025 20:20:18 +0800
Message-ID: <87ikpn2rjx.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
Content-Type: text/plain
X-ClientProxiedBy: KL1PR01CA0022.apcprd01.prod.exchangelabs.com
 (2603:1096:820::34) To OS3P286MB1877.JPNP286.PROD.OUTLOOK.COM
 (2603:1096:604:1bf::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: OS3P286MB1877:EE_|TYTP286MB4086:EE_
X-MS-Office365-Filtering-Correlation-Id: fb3a21a8-735e-4f86-dafb-08dd46a8a0ac
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|376014|366016;
X-Microsoft-Antispam-Message-Info: I1nAdGuLsWA61WJ/UHSkSNNoR2R1INPLdMIcX6jsoEzf7hU0trqn0AeaWMXuk+msPhValjEoVw4O39eWoVuKBXcbleIYb5FvBe7QSOxGNBYyW7idmF2CrLv2G7jeWlOpcxuDR9tvpNsk8woQjULwcQ/Zi1MeMsMbcjk60qt5UYQPP/YfHClHgPTI4SWJwNsJ//fAV9nWkirE4DZsAG58fs9/PjJNSyTePVYVnw4jDm25MbSMF5mSN49ooC2JjJeAs2m58E7DXMME3Wdaw9bLbY8Y16dFFRE/FGcP1KwsQ5hxfC74HIDTOFY8jQvQxvrTg7PeSro1Si5yjZKzBzs/Vqa+xfsgmSW33rt3sHvjMZBtowaFdcmV8RsDWQRP7i/UJ9GZ0ZAdnEXcjIvx8z3/P15klcMmAZquD4gx/b4aaSZ8aA25JspxKL+lnnyMXSCD7MVNNaSMOiomvbN38hPbmcxcaSMHeRvazS06F8G6K4b9XUmxnZYJXXF2FUcP3u5NCoeycJiAjmOmFwXtXpfIiOSFL05D0BES5TbXCDcaGxxWmBBSFmPaIoRTzMM0I1vygTNHQNyOMdsN/s/BnTYsaz/aOT9UvHpkO/uEWr3ux+vg0/q55+zPpOGVIar9DpDtEcy+DYeWb/rj7cpjfhcIzDpV0hvVe+3Qu4m/rdCxqg3YXJJRS9f4efFlqdjykT2yBM7NhWX5QoLEB2rx9Xqq/vPWG1e+n+KYPh6D9Xu5ScL6/gzoIyKOZAN3S2+f5cHLxORJQxeUbjiR0NhwNf36ZmhhuI24xuoNciKoh0SOjUpHMQ0/gmav+kti/G4EDx12+3+OcklivFW2GSzP7q6Hz3Xs901CTgGffksA9o7ykxaThVmw4ysQzETDP9YLyJUfe9WXA8PztioB/HNk31jpHjghkO4dmlQI84Bc2VTvKi23T9vPEI7k3BVbxqt3Ewb7UsxGggw6/2cIqDmVOyopigdh6NSvYc2AsEb7OxpEs0m41WG7Xx4Gg0tGzZQ31f+DOnpY3jvdyJdzui9cUFI5PLHl0qb9v71k2W8EEJcpJmQLyEb6nSGj7V8BooGfmZFwwgT/sqtBd2hOSYGtP4K4EGMUGwuoIdCAmh0PoynTQ3wcPKERnYl3efIxfCAFHb+nvzGMIk+AIW/sLHqfd6sXM7dHYm2AXR3F8bFStJRqs9CZ7x4J5acOG/WvF+B+E3WtKQEoCmYIV/yPD/oX3wM7UDPErXZFiVhKQIiB1GSqDOvM1jW2LmuoUdfCdgbvfxUItYcyZ1oxKJSDypEzS2CEQE5ejQJtoD5QfjHPjkA+7aAH8F4hylKtMsowvmUoGeJnHxYVgUUMsOA2Y1unsrJaCWbZqG4Zy80HnDVMqk2hPW14/TRKCba2fb18Iu+6uyat
X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:;
 IPV:NLI; SFV:NSPM; H:OS3P286MB1877.JPNP286.PROD.OUTLOOK.COM; PTR:; CAT:NONE;
 SFS:(13230040)(1800799024)(376014)(366016); DIR:OUT; SFP:1102; 
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: VK2FdwBZFJgeuMMFYJxLdbAK5e5cJPhGxGo94hAGph/rsSX27oFlK4uF9EYxfwXs9skpbsQFTCfH9lp/Dh7KvEzxk/vX+gvk4CGgsLzo7d4EhDWY6t/s0R8xktz73sj+jT0fmvSfnpDDksk9i8+tt3Z3csZ4tpDdL0U/s87Iw+CT8W6MdBilo34ed+WD3G8tLusa7sAMYylroU7spqWu3NsddZmPNOhJl0ZgF3E4ljTQkLs1ROBQj+nxwzdLs4zJMvlP5CZyksOCAoNjQJBrYVu9w4kB1Huq8pO6Vaeig5cZwAb0vzSJXqnJG22X1PNuSDjfkQArPnzVc5j2ehmlOmdz8h43T3R1qunptuuxcrk5VE9VgSO0wdJgkfiLOtCt7iePxZZu/GLCtrUeunowgYKJbdXYM0eUNr8PhuNXxhNi3EsPkeQFwx2ttFzzzeXGCPk1oqoLi1gD2ZVklWrp/Dtven2MIoSmsRILlSUtzgvkQUZHlHq5B9HpyfmcthMbeIOi4ZKhttoj7+xswHsOdkSwyE51z/QyqeTwN9KXp9/FP0yIaaYXwXjKsGsIE+XDQr+xmFXAXmNG9HlUMIIGPY34hN4GjOO7oVCbVQ5qhgIWCrA9jn5RJ2O3JmSiGHY/A2Y6qb/a9wU3CSQ1AbVbZzibl1EZZOIOGqrGHgi0G6EueB7F4EZGb8/2GgWIgggc8/HbcLTOlG/sjg2bqHN6ul3h71IX8kdwZsFME/JMteWGmU+75yj/g6Idvj4Qo0Z7tR6KwCqZmi8PtuU8vF9NjolUIVlDw+S09bqF4UxoxIZbjDU5QKFKqDgoSNQASaF183tPjRHfUv0P3I6+XNpvUA6+dEso/hdXY+w1yQfewVSPJV5kGfdIom72lJiqDTiT8JjX8vhZoCg2FWAfUrVtjo48Toj/vlRZnV/Hvn3OV0FXBDo7qfRnPnUyCykeqLp2Ks+LUs8vFstPSuKoUfv7e+NHRmztewq65/BWyWjIt1YvNP7+2QsYf2mTLzR5lI+4cPxL6yA9txNlKPtH9/HVgh9PoNDczwiuZ/UoLLUcw18bFxifvuyiajRdMr9SJD8Qu+4fLbKUhkjYhdD2kyKTI3ZCKjzVSlTsKZCNuEyyYtJOjQd7amDzKGTrxW2FSzNK32KxVBjRnFfrfawb9MClF20c8fDKOGS0HcKC7ZI/Xw937DKO4j6Q38ERcoR93R32+yeM9HPuzws1mZfIyPHoqb3KEOvj1WLPHKiGzoyL18XwIpyTBg/phBhT/GCCsZ/EoO0W97qQp60ZGYaeoZQvCLNLHA0fzEI4ihxkiSA4S2dL/ssCmMQiNozw08VyytmQs1T2iz6jj7u4w8Kr9uxencFDxjP6Pqvm7fLFdJgpB08wDVWAAeeJzjSIN4c4yNNP6SS8hYrBTAacNG9D8xVC/7FGS1FTlkvnnbbunPsxr7FGVwDyhI35FvZfP/9PGyNs5TttHEvD/f6EO5x6Vi6aEp7sFuuNY4p4pqw+VYUzLNVmvjOQot7Tz1GS6J/vaJDfzyRZTobaDb1tkzpVG2VIDTamKgjI1c6Ha+5tPs9mETC+eEGkeXUD8+PzDVY2HySA
X-OriginatorOrg: ust.hk
X-MS-Exchange-CrossTenant-Network-Message-Id: fb3a21a8-735e-4f86-dafb-08dd46a8a0ac
X-MS-Exchange-CrossTenant-AuthSource: OS3P286MB1877.JPNP286.PROD.OUTLOOK.COM
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Feb 2025 12:20:22.2412 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: c917f3e2-9322-4926-9bb3-daca730413ca
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: jSp5mlQ1SttKhOIccRQNjy/tJFqVZnEHSJtSQK5vA+QVbGVZecxeaeKiggcgppA9
X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYTP286MB4086
Received-SPF: pass client-ip=52.101.125.136; envelope-from=acohen@HIDDEN;
 helo=TYVP286CU001.outbound.protection.outlook.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,
 RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001,
 RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001, SPF_HELO_PASS=-0.001,
 SPF_PASS=-0.001 autolearn=ham autolearn_force=no
X-Spam_action: no action
X-Spam-Score: 0.0 (/)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

>>>>> "MA" == Bug reports for GNU Emacs, the Swiss army knife of text editors <Michael> writes:

[...]

    MA> I'm against to touch the D-Bus code because of this. Unneeded
    MA> dependency.

    MA> I've assembled a POC patch (appended), which adds the
    MA> sleep-event special event to special-event-map, and which adds a
    MA> new function insert-special-event, all on C level. With this,
    MA> I'm able to eval in the *scratch* buffer

    MA> (defun sleep-handle-event (event) (declare (completion ignore))
    MA> (interactive "e") (message "Event arrived: %S" event))

    MA> (insert-special-event '(sleep-event t))

    MA> insert-special-event is not restricted to the sleep-event event,
    MA> but shall support all special events, finally.

    MA> Comments?


I personally like this approach (but what do I know?)

I would change the initial special-event-map binding to 'ignore, so that
nothing happens until sleep-wake-mode is activated. My current iteration
installs the handler in the keymap when the mode is activated and
sets it to 'ignore when its disabled.

I think the remaining big question is how to handle inhibiting sleep
until the sleep-wake code is finished. With dbus.el its straightforward
(although I still don't know how to close the file descriptor returned
from the dbus method in lisp; any help?) but I'm not sure what to do
with other systems. Somehow  sleep-wake-mode needs to communicate that
it is OK to release inhibition. I guess one way might be to mimic the
D-Bus method and include a file descriptor in the sleep-event that
blocks sleep until the fd is closed. But this seems kind of contrived.

Best,
Andy
-- 
Andrew Cohen




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#63620: 30.0.50; [Feature Request] run hooks on sleep/wake
Resent-From: Andrew Cohen <acohen@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Thu, 06 Feb 2025 12:21:02 +0000
Resent-Message-ID: <handler.63620.B63620.173884443925972 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 63620
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: patch
To: 63620 <at> debbugs.gnu.org
Cc: eliz@HIDDEN, michael.albinus@HIDDEN, monnier@HIDDEN
X-Debbugs-Original-To: Michael Albinus via "Bug reports for GNU Emacs, the Swiss army knife of text editors" <bug-gnu-emacs@HIDDEN>
X-Debbugs-Original-Cc: 63620 <at> debbugs.gnu.org, Eli Zaretskii <eliz@HIDDEN>, Michael Albinus <michael.albinus@HIDDEN>, Stefan Monnier <monnier@HIDDEN>
Received: via spool by 63620-submit <at> debbugs.gnu.org id=B63620.173884443925972
          (code B ref 63620); Thu, 06 Feb 2025 12:21:02 +0000
Received: (at 63620) by debbugs.gnu.org; 6 Feb 2025 12:20:39 +0000
Received: from localhost ([127.0.0.1]:54682 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tg0rz-0006kX-4T
	for submit <at> debbugs.gnu.org; Thu, 06 Feb 2025 07:20:38 -0500
Received: from mail-japanwestazlp170100001.outbound.protection.outlook.com
 ([2a01:111:f403:c406::1]:46833
 helo=OS0P286CU011.outbound.protection.outlook.com)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <acohen@HIDDEN>) id 1tg0rw-0006kC-3w
 for 63620 <at> debbugs.gnu.org; Thu, 06 Feb 2025 07:20:33 -0500
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=oIkdSxrFwID964O88wyInCnzTI5JLGuX+r43f7GEGzK2/1N65+iVWyQ93o/2UIOTX1qZQaZrMrt+SqFYXNqhSBUBX+BK6u/CMeGtCxw4fulwm6ma7q6bGBs0oudL7Wer35wr9fiIrTqeCkhGMAZBfXfipgE8vQlVBdH57Swxf1kmd3b8mWP97VeR3XFISPmmKZq/Z5OtTyiim+5NJzaQfauRZv6MHICK7X6OeB7WtRLqlfi1pVRuVtIB26eyfJcC/MkZ+9qMPT1vJtj/bHtMcs99prKP8GAYGWsNj8uOEx2BU0jmF6MXq4A5le8pXojzl78+7I0Mi7ygHKJgZRZDaw==
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=ZdUQtAbvb9c1FJR/v5H310R4RXjrZW2I5Mh+SLzVICU=;
 b=de9m+DpGrcVwTeKLKgfNibEIi75HUyqAO2YJgp75T73CxDKNbrq54+LoImUPikc8KvrAvNbhQ4r/wolLsmZna6d24uD+wvGgNm/ozF7uCVirGQNRx3CoJWU1iJ2DBsoQ0Y+A3XToYNXRASLv6yjyVhxZqaeW2UdShBx/eLSJcwjzwG9Q6OW+Wa/HnDTLZQMwCJpW1vjYNF3+2ZWSBSeGUuSMvajrMp2jfX0WdrTFYUakC+UTWxtRFZqkmdHInSKTL+bKmkW+whtVAZPtdJ0Lt2fDMJPY7KiszP7i417uS9MVk4kWk0oPn7l4AN5khpvGZ0s+zicBc/X8CrE3cVzqUQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=ust.hk; dmarc=pass action=none header.from=ust.hk; dkim=pass
 header.d=ust.hk; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ust.hk; s=selector2;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ZdUQtAbvb9c1FJR/v5H310R4RXjrZW2I5Mh+SLzVICU=;
 b=o90ejIxhNAZgCZ/ZyGQ9Is7T5pKDtlVvLh2mNYbqgmSE/BGrQg/68UUTT7mok/KSKTko168v/iaJWHxyenSuShg96lh9VccALW9AiTQ6VdzG+jyNSsPF2sZgvaGJK2L3sLQPabD3GDTb/BhfCwwZyRDMAq6+N5BbSuAYotcDWRgEmJkYckm6PvDGq0b5A9ESypz0jrMDrGa6Gzf1jTC7W9aEM3lktKXxy4cCZp8rbmzhUDh8RnpGcNQ1bOyQ9xLOL8/gXwAqC3YYwE8U8IgowXyJQwITs4mNLQGNHvV9byq6XWbH6NXe2VHFHENwMNeRyhkBps0HZ4gXDlqw1FkOSA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=ust.hk;
Received: from OS3P286MB1877.JPNP286.PROD.OUTLOOK.COM (2603:1096:604:1bf::11)
 by TYTP286MB4086.JPNP286.PROD.OUTLOOK.COM (2603:1096:405:185::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8422.11; Thu, 6 Feb
 2025 12:20:22 +0000
Received: from OS3P286MB1877.JPNP286.PROD.OUTLOOK.COM
 ([fe80::4b6e:c37e:4327:cfab]) by OS3P286MB1877.JPNP286.PROD.OUTLOOK.COM
 ([fe80::4b6e:c37e:4327:cfab%4]) with mapi id 15.20.8422.009; Thu, 6 Feb 2025
 12:20:22 +0000
From: Andrew Cohen <acohen@HIDDEN>
In-Reply-To: <87jza3thfq.fsf@HIDDEN>
References: <87fs7qmw00.fsf@HIDDEN> <87lehinlvg.fsf@HIDDEN>
 <87y1ky83du.fsf@HIDDEN> <87legr1tn5.fsf@HIDDEN>
 <878qqmz99g.fsf@HIDDEN> <8634gtc0k7.fsf@HIDDEN>
 <87seot3k42.fsf@HIDDEN> <86r04dahpc.fsf@HIDDEN>
 <878qqkzh9d.fsf@HIDDEN> <874j18zfm6.fsf@HIDDEN>
 <jwvy0ykjtwa.fsf-monnier+emacs@HIDDEN>
 <jwvh658jlr1.fsf-monnier+emacs@HIDDEN> <86y0yk6t24.fsf@HIDDEN>
 <jwv5xloja7l.fsf-monnier+emacs@HIDDEN> <86lduj7a3q.fsf@HIDDEN>
 <87jza3thfq.fsf@HIDDEN>
Date: Thu, 06 Feb 2025 20:20:18 +0800
Message-ID: <87ikpn2rjx.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
Content-Type: text/plain
X-ClientProxiedBy: KL1PR01CA0022.apcprd01.prod.exchangelabs.com
 (2603:1096:820::34) To OS3P286MB1877.JPNP286.PROD.OUTLOOK.COM
 (2603:1096:604:1bf::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: OS3P286MB1877:EE_|TYTP286MB4086:EE_
X-MS-Office365-Filtering-Correlation-Id: fb3a21a8-735e-4f86-dafb-08dd46a8a0ac
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|376014|366016;
X-Microsoft-Antispam-Message-Info: I1nAdGuLsWA61WJ/UHSkSNNoR2R1INPLdMIcX6jsoEzf7hU0trqn0AeaWMXuk+msPhValjEoVw4O39eWoVuKBXcbleIYb5FvBe7QSOxGNBYyW7idmF2CrLv2G7jeWlOpcxuDR9tvpNsk8woQjULwcQ/Zi1MeMsMbcjk60qt5UYQPP/YfHClHgPTI4SWJwNsJ//fAV9nWkirE4DZsAG58fs9/PjJNSyTePVYVnw4jDm25MbSMF5mSN49ooC2JjJeAs2m58E7DXMME3Wdaw9bLbY8Y16dFFRE/FGcP1KwsQ5hxfC74HIDTOFY8jQvQxvrTg7PeSro1Si5yjZKzBzs/Vqa+xfsgmSW33rt3sHvjMZBtowaFdcmV8RsDWQRP7i/UJ9GZ0ZAdnEXcjIvx8z3/P15klcMmAZquD4gx/b4aaSZ8aA25JspxKL+lnnyMXSCD7MVNNaSMOiomvbN38hPbmcxcaSMHeRvazS06F8G6K4b9XUmxnZYJXXF2FUcP3u5NCoeycJiAjmOmFwXtXpfIiOSFL05D0BES5TbXCDcaGxxWmBBSFmPaIoRTzMM0I1vygTNHQNyOMdsN/s/BnTYsaz/aOT9UvHpkO/uEWr3ux+vg0/q55+zPpOGVIar9DpDtEcy+DYeWb/rj7cpjfhcIzDpV0hvVe+3Qu4m/rdCxqg3YXJJRS9f4efFlqdjykT2yBM7NhWX5QoLEB2rx9Xqq/vPWG1e+n+KYPh6D9Xu5ScL6/gzoIyKOZAN3S2+f5cHLxORJQxeUbjiR0NhwNf36ZmhhuI24xuoNciKoh0SOjUpHMQ0/gmav+kti/G4EDx12+3+OcklivFW2GSzP7q6Hz3Xs901CTgGffksA9o7ykxaThVmw4ysQzETDP9YLyJUfe9WXA8PztioB/HNk31jpHjghkO4dmlQI84Bc2VTvKi23T9vPEI7k3BVbxqt3Ewb7UsxGggw6/2cIqDmVOyopigdh6NSvYc2AsEb7OxpEs0m41WG7Xx4Gg0tGzZQ31f+DOnpY3jvdyJdzui9cUFI5PLHl0qb9v71k2W8EEJcpJmQLyEb6nSGj7V8BooGfmZFwwgT/sqtBd2hOSYGtP4K4EGMUGwuoIdCAmh0PoynTQ3wcPKERnYl3efIxfCAFHb+nvzGMIk+AIW/sLHqfd6sXM7dHYm2AXR3F8bFStJRqs9CZ7x4J5acOG/WvF+B+E3WtKQEoCmYIV/yPD/oX3wM7UDPErXZFiVhKQIiB1GSqDOvM1jW2LmuoUdfCdgbvfxUItYcyZ1oxKJSDypEzS2CEQE5ejQJtoD5QfjHPjkA+7aAH8F4hylKtMsowvmUoGeJnHxYVgUUMsOA2Y1unsrJaCWbZqG4Zy80HnDVMqk2hPW14/TRKCba2fb18Iu+6uyat
X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:;
 IPV:NLI; SFV:NSPM; H:OS3P286MB1877.JPNP286.PROD.OUTLOOK.COM; PTR:; CAT:NONE;
 SFS:(13230040)(1800799024)(376014)(366016); DIR:OUT; SFP:1102; 
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: VK2FdwBZFJgeuMMFYJxLdbAK5e5cJPhGxGo94hAGph/rsSX27oFlK4uF9EYxfwXs9skpbsQFTCfH9lp/Dh7KvEzxk/vX+gvk4CGgsLzo7d4EhDWY6t/s0R8xktz73sj+jT0fmvSfnpDDksk9i8+tt3Z3csZ4tpDdL0U/s87Iw+CT8W6MdBilo34ed+WD3G8tLusa7sAMYylroU7spqWu3NsddZmPNOhJl0ZgF3E4ljTQkLs1ROBQj+nxwzdLs4zJMvlP5CZyksOCAoNjQJBrYVu9w4kB1Huq8pO6Vaeig5cZwAb0vzSJXqnJG22X1PNuSDjfkQArPnzVc5j2ehmlOmdz8h43T3R1qunptuuxcrk5VE9VgSO0wdJgkfiLOtCt7iePxZZu/GLCtrUeunowgYKJbdXYM0eUNr8PhuNXxhNi3EsPkeQFwx2ttFzzzeXGCPk1oqoLi1gD2ZVklWrp/Dtven2MIoSmsRILlSUtzgvkQUZHlHq5B9HpyfmcthMbeIOi4ZKhttoj7+xswHsOdkSwyE51z/QyqeTwN9KXp9/FP0yIaaYXwXjKsGsIE+XDQr+xmFXAXmNG9HlUMIIGPY34hN4GjOO7oVCbVQ5qhgIWCrA9jn5RJ2O3JmSiGHY/A2Y6qb/a9wU3CSQ1AbVbZzibl1EZZOIOGqrGHgi0G6EueB7F4EZGb8/2GgWIgggc8/HbcLTOlG/sjg2bqHN6ul3h71IX8kdwZsFME/JMteWGmU+75yj/g6Idvj4Qo0Z7tR6KwCqZmi8PtuU8vF9NjolUIVlDw+S09bqF4UxoxIZbjDU5QKFKqDgoSNQASaF183tPjRHfUv0P3I6+XNpvUA6+dEso/hdXY+w1yQfewVSPJV5kGfdIom72lJiqDTiT8JjX8vhZoCg2FWAfUrVtjo48Toj/vlRZnV/Hvn3OV0FXBDo7qfRnPnUyCykeqLp2Ks+LUs8vFstPSuKoUfv7e+NHRmztewq65/BWyWjIt1YvNP7+2QsYf2mTLzR5lI+4cPxL6yA9txNlKPtH9/HVgh9PoNDczwiuZ/UoLLUcw18bFxifvuyiajRdMr9SJD8Qu+4fLbKUhkjYhdD2kyKTI3ZCKjzVSlTsKZCNuEyyYtJOjQd7amDzKGTrxW2FSzNK32KxVBjRnFfrfawb9MClF20c8fDKOGS0HcKC7ZI/Xw937DKO4j6Q38ERcoR93R32+yeM9HPuzws1mZfIyPHoqb3KEOvj1WLPHKiGzoyL18XwIpyTBg/phBhT/GCCsZ/EoO0W97qQp60ZGYaeoZQvCLNLHA0fzEI4ihxkiSA4S2dL/ssCmMQiNozw08VyytmQs1T2iz6jj7u4w8Kr9uxencFDxjP6Pqvm7fLFdJgpB08wDVWAAeeJzjSIN4c4yNNP6SS8hYrBTAacNG9D8xVC/7FGS1FTlkvnnbbunPsxr7FGVwDyhI35FvZfP/9PGyNs5TttHEvD/f6EO5x6Vi6aEp7sFuuNY4p4pqw+VYUzLNVmvjOQot7Tz1GS6J/vaJDfzyRZTobaDb1tkzpVG2VIDTamKgjI1c6Ha+5tPs9mETC+eEGkeXUD8+PzDVY2HySA
X-OriginatorOrg: ust.hk
X-MS-Exchange-CrossTenant-Network-Message-Id: fb3a21a8-735e-4f86-dafb-08dd46a8a0ac
X-MS-Exchange-CrossTenant-AuthSource: OS3P286MB1877.JPNP286.PROD.OUTLOOK.COM
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Feb 2025 12:20:22.2412 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: c917f3e2-9322-4926-9bb3-daca730413ca
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: jSp5mlQ1SttKhOIccRQNjy/tJFqVZnEHSJtSQK5vA+QVbGVZecxeaeKiggcgppA9
X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYTP286MB4086
X-Spam-Score: -0.0 (/)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

>>>>> "MA" == Bug reports for GNU Emacs, the Swiss army knife of text editors <Michael> writes:

[...]

    MA> I'm against to touch the D-Bus code because of this. Unneeded
    MA> dependency.

    MA> I've assembled a POC patch (appended), which adds the
    MA> sleep-event special event to special-event-map, and which adds a
    MA> new function insert-special-event, all on C level. With this,
    MA> I'm able to eval in the *scratch* buffer

    MA> (defun sleep-handle-event (event) (declare (completion ignore))
    MA> (interactive "e") (message "Event arrived: %S" event))

    MA> (insert-special-event '(sleep-event t))

    MA> insert-special-event is not restricted to the sleep-event event,
    MA> but shall support all special events, finally.

    MA> Comments?


I personally like this approach (but what do I know?)

I would change the initial special-event-map binding to 'ignore, so that
nothing happens until sleep-wake-mode is activated. My current iteration
installs the handler in the keymap when the mode is activated and
sets it to 'ignore when its disabled.

I think the remaining big question is how to handle inhibiting sleep
until the sleep-wake code is finished. With dbus.el its straightforward
(although I still don't know how to close the file descriptor returned
from the dbus method in lisp; any help?) but I'm not sure what to do
with other systems. Somehow  sleep-wake-mode needs to communicate that
it is OK to release inhibition. I guess one way might be to mimic the
D-Bus method and include a file descriptor in the sleep-event that
blocks sleep until the fd is closed. But this seems kind of contrived.

Best,
Andy
-- 
Andrew Cohen




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#63620: 30.0.50; [Feature Request] run hooks on sleep/wake
Resent-From: Ship Mints <shipmints@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Thu, 06 Feb 2025 12:27:01 +0000
Resent-Message-ID: <handler.63620.B63620.173884480827553 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 63620
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: patch
To: Andrew Cohen <acohen@HIDDEN>
Cc: 63620 <at> debbugs.gnu.org, eliz@HIDDEN, michael.albinus@HIDDEN, monnier@HIDDEN
Received: via spool by 63620-submit <at> debbugs.gnu.org id=B63620.173884480827553
          (code B ref 63620); Thu, 06 Feb 2025 12:27:01 +0000
Received: (at 63620) by debbugs.gnu.org; 6 Feb 2025 12:26:48 +0000
Received: from localhost ([127.0.0.1]:54726 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tg0xz-0007AL-Lk
	for submit <at> debbugs.gnu.org; Thu, 06 Feb 2025 07:26:48 -0500
Received: from mail-ua1-x930.google.com ([2607:f8b0:4864:20::930]:47195)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.84_2) (envelope-from <shipmints@HIDDEN>)
 id 1tg0xx-0007A1-0B
 for 63620 <at> debbugs.gnu.org; Thu, 06 Feb 2025 07:26:45 -0500
Received: by mail-ua1-x930.google.com with SMTP id
 a1e0cc1a2514c-866e57ec274so415152241.2
 for <63620 <at> debbugs.gnu.org>; Thu, 06 Feb 2025 04:26:44 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1738844799; x=1739449599; 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=/T3ltMeKZV7yNPuhhjSwlYJLeplkqm5JC60nMkZRlEw=;
 b=f77+O6Pc4xnqQr0hv/Da5ENcUmrJXIs2Q1AO3Mn8EukXuywq34nCQUZ+U96wPm+x8a
 /GgxEJgzqkpbi1Ku2kU2xGQ8kTCitKdVxcGQbm3UJ7bK3wsi6UytSdLJnLo06Y+YiHV9
 2wila9oqkmmAoVXO5jgiA+YHVT1RG5afLB+DajyuRfWEJHPw9Su8geiFXYQ3JcygjY7/
 H0TSZeCc3kYKiweZZuSft13s1auOvdLuctU6Byc82T5J5fNXxMG1vRG4quc4tKuLRGe0
 fgrWg5mdjRtq5iaLxpyMVghkab7a24dyhdDPycq75qA+5+bd7KNnVUwlmDwqk7BIzCI8
 iKSw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1738844799; x=1739449599;
 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=/T3ltMeKZV7yNPuhhjSwlYJLeplkqm5JC60nMkZRlEw=;
 b=MfgfrBLbE0YasyYThpO39moMHuZ77rPyNkFCb/ChUhIMPQ3RaCKM/bnX2lXl8clwBz
 pdTnthDDVqhnYkzuQWGbMw8FstwrgI7RQL9OlGgkWbIHHvOtCw8WwzQXYxfYrLCrNfpr
 /5StAl9fN/je8OU2LWkOLgWQhi1L8fcXQ6x7hrldmdWPmGFeAE+8xq9g58/ilceZSJKU
 ykkEqjSzIbL3tHUlrr09NNlUHQr0nhniZ3BZPgg7wbLV68xfF/3td1P08v6frePuF3ia
 L4Fk7BPSTU5bmGT7Uj4DD46nvy2+7tCGenIlDCdH8j9vPfPaWtueSt27D58lOSvnSAGV
 Xftg==
X-Gm-Message-State: AOJu0YzT42QBxvRa5L0tWS65ZxqJpNzQB08q17mgvas7axBHW5WAYXpz
 Ez9VH0CsCWCLtxsHjPcQ6/f3ATpYZxXtHwp3VTJwI3pkaON+fJi1dN5HLR3TX1Qw3v5kA2zGLde
 LUa40PNeXhaNyDBfBq4F6/lLC274=
X-Gm-Gg: ASbGncuDfWocg3hCbFauNqJmIfUp1aDQO6QtoWzFLLfJx9vnBI8RiW73DZcqbHwcOGB
 08Qqodo2L1lxuqWStuIdfzFIdEIxwR5Qyqq1aaiPN14/O9yVcPcbD6lYpfid8kw10uMY0hJ+R
X-Google-Smtp-Source: AGHT+IE058KlTS+C6nseVXyG8r8/+Qo1F2nS4dFI86ja6qVhzlkruIZD5qxLXR1QbE6PQERKuStSuQfXIaMDgog1HtE=
X-Received: by 2002:a05:6122:1818:b0:50d:6a43:d525 with SMTP id
 71dfb90a1353d-51f0c3da72dmr3617823e0c.1.1738844799182; Thu, 06 Feb 2025
 04:26:39 -0800 (PST)
MIME-Version: 1.0
References: <87fs7qmw00.fsf@HIDDEN> <87lehinlvg.fsf@HIDDEN>
 <87y1ky83du.fsf@HIDDEN> <87legr1tn5.fsf@HIDDEN> <878qqmz99g.fsf@HIDDEN>
 <8634gtc0k7.fsf@HIDDEN> <87seot3k42.fsf@HIDDEN> <86r04dahpc.fsf@HIDDEN>
 <878qqkzh9d.fsf@HIDDEN> <874j18zfm6.fsf@HIDDEN>
 <jwvy0ykjtwa.fsf-monnier+emacs@HIDDEN>
 <jwvh658jlr1.fsf-monnier+emacs@HIDDEN> <86y0yk6t24.fsf@HIDDEN>
 <jwv5xloja7l.fsf-monnier+emacs@HIDDEN> <86lduj7a3q.fsf@HIDDEN>
 <87jza3thfq.fsf@HIDDEN> <87ikpn2rjx.fsf@HIDDEN>
In-Reply-To: <87ikpn2rjx.fsf@HIDDEN>
From: Ship Mints <shipmints@HIDDEN>
Date: Thu, 6 Feb 2025 07:24:37 -0500
X-Gm-Features: AWEUYZm9wiLNXk9jtkNH4msx9XQATf-pfoHfQdArQzHhdpNw7OO2Yc6IrS8FtCA
Message-ID: <CAN+1Hbofhk=VJKQ0HRKrxX4PiHDjgDSS_BardXNt2wrbyHa2bQ@HIDDEN>
Content-Type: multipart/alternative; boundary="000000000000933138062d785abe"
X-Spam-Score: 0.0 (/)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

--000000000000933138062d785abe
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

The API on macOS would expose a pair of C functions to lisp, one would
inhibit sleep, perhaps returning an opaque "cookie", the second to revoke
the inhibition. The same API can be used to prevent macOS from ever
sleeping, if the user wanted that.

On Thu, Feb 6, 2025 at 7:21=E2=80=AFAM Andrew Cohen <acohen@HIDDEN> wrote:

> >>>>> "MA" =3D=3D Bug reports for GNU Emacs, the Swiss army knife of text
> editors <Michael> writes:
>
> [...]
>
>     MA> I'm against to touch the D-Bus code because of this. Unneeded
>     MA> dependency.
>
>     MA> I've assembled a POC patch (appended), which adds the
>     MA> sleep-event special event to special-event-map, and which adds a
>     MA> new function insert-special-event, all on C level. With this,
>     MA> I'm able to eval in the *scratch* buffer
>
>     MA> (defun sleep-handle-event (event) (declare (completion ignore))
>     MA> (interactive "e") (message "Event arrived: %S" event))
>
>     MA> (insert-special-event '(sleep-event t))
>
>     MA> insert-special-event is not restricted to the sleep-event event,
>     MA> but shall support all special events, finally.
>
>     MA> Comments?
>
>
> I personally like this approach (but what do I know?)
>
> I would change the initial special-event-map binding to 'ignore, so that
> nothing happens until sleep-wake-mode is activated. My current iteration
> installs the handler in the keymap when the mode is activated and
> sets it to 'ignore when its disabled.
>
> I think the remaining big question is how to handle inhibiting sleep
> until the sleep-wake code is finished. With dbus.el its straightforward
> (although I still don't know how to close the file descriptor returned
> from the dbus method in lisp; any help?) but I'm not sure what to do
> with other systems. Somehow  sleep-wake-mode needs to communicate that
> it is OK to release inhibition. I guess one way might be to mimic the
> D-Bus method and include a file descriptor in the sleep-event that
> blocks sleep until the fd is closed. But this seems kind of contrived.
>
> Best,
> Andy
> --
> Andrew Cohen
>
>
>
>

--000000000000933138062d785abe
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div class=3D"gmail_default" style=3D"font-family:monospac=
e">The API on macOS would expose a pair of C functions to lisp, one would i=
nhibit sleep, perhaps returning an opaque &quot;cookie&quot;, the second to=
 revoke the inhibition. The same API can be used to prevent macOS from ever=
 sleeping, if the user wanted that.</div></div><br><div class=3D"gmail_quot=
e gmail_quote_container"><div dir=3D"ltr" class=3D"gmail_attr">On Thu, Feb =
6, 2025 at 7:21=E2=80=AFAM Andrew Cohen &lt;<a href=3D"mailto:acohen@HIDDEN=
">acohen@HIDDEN</a>&gt; wrote:<br></div><blockquote class=3D"gmail_quote" s=
tyle=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);pad=
ding-left:1ex">&gt;&gt;&gt;&gt;&gt; &quot;MA&quot; =3D=3D Bug reports for G=
NU Emacs, the Swiss army knife of text editors &lt;Michael&gt; writes:<br>
<br>
[...]<br>
<br>
=C2=A0 =C2=A0 MA&gt; I&#39;m against to touch the D-Bus code because of thi=
s. Unneeded<br>
=C2=A0 =C2=A0 MA&gt; dependency.<br>
<br>
=C2=A0 =C2=A0 MA&gt; I&#39;ve assembled a POC patch (appended), which adds =
the<br>
=C2=A0 =C2=A0 MA&gt; sleep-event special event to special-event-map, and wh=
ich adds a<br>
=C2=A0 =C2=A0 MA&gt; new function insert-special-event, all on C level. Wit=
h this,<br>
=C2=A0 =C2=A0 MA&gt; I&#39;m able to eval in the *scratch* buffer<br>
<br>
=C2=A0 =C2=A0 MA&gt; (defun sleep-handle-event (event) (declare (completion=
 ignore))<br>
=C2=A0 =C2=A0 MA&gt; (interactive &quot;e&quot;) (message &quot;Event arriv=
ed: %S&quot; event))<br>
<br>
=C2=A0 =C2=A0 MA&gt; (insert-special-event &#39;(sleep-event t))<br>
<br>
=C2=A0 =C2=A0 MA&gt; insert-special-event is not restricted to the sleep-ev=
ent event,<br>
=C2=A0 =C2=A0 MA&gt; but shall support all special events, finally.<br>
<br>
=C2=A0 =C2=A0 MA&gt; Comments?<br>
<br>
<br>
I personally like this approach (but what do I know?)<br>
<br>
I would change the initial special-event-map binding to &#39;ignore, so tha=
t<br>
nothing happens until sleep-wake-mode is activated. My current iteration<br=
>
installs the handler in the keymap when the mode is activated and<br>
sets it to &#39;ignore when its disabled.<br>
<br>
I think the remaining big question is how to handle inhibiting sleep<br>
until the sleep-wake code is finished. With dbus.el its straightforward<br>
(although I still don&#39;t know how to close the file descriptor returned<=
br>
from the dbus method in lisp; any help?) but I&#39;m not sure what to do<br=
>
with other systems. Somehow=C2=A0 sleep-wake-mode needs to communicate that=
<br>
it is OK to release inhibition. I guess one way might be to mimic the<br>
D-Bus method and include a file descriptor in the sleep-event that<br>
blocks sleep until the fd is closed. But this seems kind of contrived.<br>
<br>
Best,<br>
Andy<br>
-- <br>
Andrew Cohen<br>
<br>
<br>
<br>
</blockquote></div>

--000000000000933138062d785abe--




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#63620: 30.0.50; [Feature Request] run hooks on sleep/wake
Resent-From: Andrew Cohen <acohen@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Thu, 06 Feb 2025 13:03:02 +0000
Resent-Message-ID: <handler.63620.B63620.173884697913242 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 63620
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: patch
To: Ship Mints <shipmints@HIDDEN>
Cc: 63620 <at> debbugs.gnu.org, eliz@HIDDEN, michael.albinus@HIDDEN, monnier@HIDDEN
Received: via spool by 63620-submit <at> debbugs.gnu.org id=B63620.173884697913242
          (code B ref 63620); Thu, 06 Feb 2025 13:03:02 +0000
Received: (at 63620) by debbugs.gnu.org; 6 Feb 2025 13:02:59 +0000
Received: from localhost ([127.0.0.1]:54778 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tg1X0-0003RW-Th
	for submit <at> debbugs.gnu.org; Thu, 06 Feb 2025 08:02:59 -0500
Received: from mail-japanwestazlp170100001.outbound.protection.outlook.com
 ([2a01:111:f403:c406::1]:31369
 helo=OS0P286CU011.outbound.protection.outlook.com)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <acohen@HIDDEN>) id 1tg1Wy-0003R8-F2
 for 63620 <at> debbugs.gnu.org; Thu, 06 Feb 2025 08:02:57 -0500
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=TLCMO+OoR4kTLQ9V7VUEyDfOJNyOa9f8FTp4DYbfN44ut/XCvx5sgjEV/UZxNSqswg6NDtauPY+L5spvCOVi+YucS/TYQwf6Sx4x8GPnagvaO4Dw1wsjMPJ7ScXoBvGqwrlk8/xDYWa0lticySJoD+RR3J/2LEHr/Ou2FsSOj70jJgl8asEwKdsobgZSmSufBgHpNoIzdb1HMzHLV7/jxpEOOo+cdYFqfafw685b8HirX0lZD4PrWiWS7JKS9O+upTNTrmhQbUzjQ9BQGJIR6J+EGCpUpWNjG5BCFQ10vv0WyxPO4eA49+HOixiKT07vQEzU/CmdLFp6wMs70xYVYQ==
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=V26ActGOyoBsNtPcKdZ7iFwWPeNhIgpC/E0iP3FZ1iY=;
 b=jg/Rh8xL2mAxK2vWbz58k8f7u2VcSP8sOTwa3qQhQph/tHW/91dM827MXU2J0zXhHwoUZtsaSbiaa6eB6C81YViBN5M9jrHcu889BWFvyHYHAqip697tqDjDOpry/C5qKt759AAfu1wyfkVVcxS4cZOL0S4kRwzC+suNUwfbJeeoXzM1MF1byTfs9OQgJSIt/Ujt9QuqNlVq0pyFB+ey9UpuYZkE8fO+m5wF5XlaLorR/ULGPdZw9901IG4XJvb3zoWIQWqa7vsUQykGPMYURPcuKGkRIxny549MGKhBdwFNiLOvUtiVawkod6vQpEljtocdTZiFj+XZ3M9YKVrYWA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=ust.hk; dmarc=pass action=none header.from=ust.hk; dkim=pass
 header.d=ust.hk; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ust.hk; s=selector2;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=V26ActGOyoBsNtPcKdZ7iFwWPeNhIgpC/E0iP3FZ1iY=;
 b=frfSYFqgxLL639UX02MgJnU4tO1ftX3FRZYhNGMBmc74m+5XNeS730+dgCgxG0FKO3wZfgYnRTJBI7JsuS9R6vPXhCaLzOKay6nn0S4/yrbGxnqWoJkN+XZVvgPwfbF18x8Un0zj4MTDsPZGcsAezy5CTuvfyuShrtHnQVvWLM9audxWMjoqeT/igLlHoyMPnf7rkiuPpxDIjkLktnvptS0vwfnF90Zj8XjmvoBBeuuREmOnwoWTgTkLuxqBHOIzUFySlwBrBimT0Ztab5frqCBP31pq0ObpaUKOsnA1opetYS0DwfFZtXXSTloyXPbIUUsDUmC10ccawQeaS51oZw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=ust.hk;
Received: from OS3P286MB1877.JPNP286.PROD.OUTLOOK.COM (2603:1096:604:1bf::11)
 by OS9P286MB4952.JPNP286.PROD.OUTLOOK.COM (2603:1096:604:2ba::5) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8398.25; Thu, 6 Feb
 2025 13:02:46 +0000
Received: from OS3P286MB1877.JPNP286.PROD.OUTLOOK.COM
 ([fe80::4b6e:c37e:4327:cfab]) by OS3P286MB1877.JPNP286.PROD.OUTLOOK.COM
 ([fe80::4b6e:c37e:4327:cfab%4]) with mapi id 15.20.8422.009; Thu, 6 Feb 2025
 13:02:46 +0000
From: Andrew Cohen <acohen@HIDDEN>
In-Reply-To: <CAN+1Hbofhk=VJKQ0HRKrxX4PiHDjgDSS_BardXNt2wrbyHa2bQ@HIDDEN>
References: <87fs7qmw00.fsf@HIDDEN> <87lehinlvg.fsf@HIDDEN>
 <87y1ky83du.fsf@HIDDEN> <87legr1tn5.fsf@HIDDEN>
 <878qqmz99g.fsf@HIDDEN> <8634gtc0k7.fsf@HIDDEN>
 <87seot3k42.fsf@HIDDEN> <86r04dahpc.fsf@HIDDEN>
 <878qqkzh9d.fsf@HIDDEN> <874j18zfm6.fsf@HIDDEN>
 <jwvy0ykjtwa.fsf-monnier+emacs@HIDDEN>
 <jwvh658jlr1.fsf-monnier+emacs@HIDDEN> <86y0yk6t24.fsf@HIDDEN>
 <jwv5xloja7l.fsf-monnier+emacs@HIDDEN> <86lduj7a3q.fsf@HIDDEN>
 <87jza3thfq.fsf@HIDDEN> <87ikpn2rjx.fsf@HIDDEN>
 <CAN+1Hbofhk=VJKQ0HRKrxX4PiHDjgDSS_BardXNt2wrbyHa2bQ@HIDDEN>
Date: Thu, 06 Feb 2025 21:02:43 +0800
Message-ID: <87v7tn1b0s.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
Content-Type: text/plain
X-ClientProxiedBy: SI2PR04CA0015.apcprd04.prod.outlook.com
 (2603:1096:4:197::21) To OS3P286MB1877.JPNP286.PROD.OUTLOOK.COM
 (2603:1096:604:1bf::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: OS3P286MB1877:EE_|OS9P286MB4952:EE_
X-MS-Office365-Filtering-Correlation-Id: e61a0c38-1b43-4110-e09b-08dd46ae8d4b
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|366016|1800799024;
X-Microsoft-Antispam-Message-Info: /+oJm+fJkbQyKr01lNLAsaHAW/wQS0Vw4I7K3lU9yW/m7H5QbC5mFKQ/MFjpl7Cleb4psCyf3DpFBkTu+ehkRyKswiW/WoMQaLFheWZYH0HYogXiCXMoSGdeGv8UOHuNeBb2jScuT7TqXyu/McF16ycNus7oaFBeJrL1Ik1wLhBnQgQgU2tGWaevCJ8B3/N+0LC/f1qoW8MMILxoaQRkKHYqiE49D03u4CqqNR5Eqm3ae1ijvRsP3JvXGSR4E6SnJ0hXh5AGNHm1i741ZDzrFTYN0XXuVgIEn/5lXdV4Nk+p6zyIC0x1IB0YkxkxLvsuMRnjxIYUh8X/UPydKjKXhAck4R8dQK3cqmStICNqQ9c9yU30+1xDolJgYANzBuGCHMQ6w9mm9srJb7Q1T6NudBiJhBSLVRIfzxc1sRIrRO2bH3Hbbd6wtU4SgcJ81i/u4o656gml96aC9QQ2N5tb1l0ASCL7NOF6U4KFRc+YVLvak+aAE6mULgRQ3SxJF3zXkXjiNUYv+cmVX/v3kwmOGwcsNGCgsvL4fPAN+vAogRBdEMwmS8nMQu5bfTLaQA/wQihXLN5LLcjXqZw3ztG/agqqIieU/Wzd0BUm8mjJAapAjffS4Fj2NK4Ixz084ti1MX7TQCx8AZJIuJfZhoy/gfRtl/Awb69Qfz88O0kKIhywqHTfQhR5zsBYj/LNOxUR/ViG/hCF62KdA1OEU5rXRJlUv9t7l8Lbi5BXIGhVTQLmVLyHr0720bR3a006wWdKk99C8PS6uqWkvVPQfiJbs+XZwBxMP7J3kZ03JPDGwtV6q+AR9laOjQkwS/w67sAIPqYq9wOotDiv1f2x4SHCIgjpYwjeeGG6XjzbNcjka3cUPtFSajFo4Q7kKMUqm2b3tGTHhb6wK6ewtGCx6LoDgQeiPvNMXm6IpSVz/zxAznNT90JFhBpHAveW6B+LMr2g2Og30kynZzxHhIGbgcEOAcIHaObJ8okUH/IWNstGQRrWDH0+DySSEHeumk2usOWIHOYJMhGu7KrvDuhhDfYKEIJV2hrAg8T0flOaW5j1zq/4rNC7KxwnAVsxftpUVut9QjZLXjdaNWg/hFuXik9Qc4Y/ZyiLZ4F3DeJ2w+pHL5tVCY2n+/jTo6mOQ/ni7YavQBqOomaQXf+eAzMVFTIn+o+c/3uQPXkr/411Op9YqK5IseCm8maqQSdKz7CA8qM4bRnFx6HTebmYfP08AGmSV4GD7eTe179WRPD34zblsyEGi83GoLqvxwVSgOptJgdYkxuzkZHQkptfFKJJcKjO06Ij1o5gDzSFK021zEklisQXEfGIJJ8LZJWtBsntN6KEL5ebp/afdDB54oNfDbtlFn96w/ZFy21PNxbnItXbBmhhKGjBObS7QfxROzCkwtYg
X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:;
 IPV:NLI; SFV:NSPM; H:OS3P286MB1877.JPNP286.PROD.OUTLOOK.COM; PTR:; CAT:NONE;
 SFS:(13230040)(376014)(366016)(1800799024); DIR:OUT; SFP:1102; 
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: uQIfT55FaOd3DBa9zGZxQ2HMDeuXko/ZoYrT/tGo0+i3+GMmBVKcJr1bnIdyGY1mOody4ig678iMjciMGUqFuUia0UgltteP4uh2QzWPrNqwg3QpzLQOsMisXdvTd1/FZGOxX/xoBt2HmYbpSom0U51Ja9yoKJEVMIKRMf+VJoLxu9g8d9LSff2aItze1XShr8qXEg5MJBX7kFD/5VadDnoBxc+B9U57LnE9vWkmuG4q5+OHL+YcqfCq2dXcM01j206GDX7jmdkOUYHWdAZRqYsRHhyNQVeyuYe5w+D0sDv5Ejz0u/iDIxgnh/BVQeM2ZyDRJzrbUI1ekU162KQ5wDVKOU6OpU5QAL2QeucVeKVZ3sluRiwLG/RJW6h7H1UkDpjj6pN58cWM0t9tr9k1KzF9ecqJ6R2/unU+F8lIEHsTv3CdpjR2uZHQmoqf62Uz1Me3949T8WG8PVCGKsXaKs/vkeLaGUtQ7EWoYmnp2oAaGD4UKxOTR0j/ldwj0WzmG+kbnECWBHuRJN6XgHDkVAZOvPTFuS8PB66R/LFMzv3ZcxO5N0SpzkefmKv7AyHmbiB+vrayM5ix0lb6gP3u4sW/SelQgjm4RkMa/tG+ZJzfKDwqYfO56de1kc+zscNGY6aEgRu5NQPZpGhZtKCUz3JTxpDCm/1czOZIrTzk7Z3Z1kgVsWEOImWqaUD9nj5AcbnPLfKoxtx356RIrvKOgLwUZvLFFJ9izUPnbdi4KJQ7vZS6bhsr25RG7t69Zgtq7taNA31339SinvgYc2SYju9Jr4gsJfB1KyWiwBHWgyk7lpzaJrVA3Oi7ZM8wmtCqIAzQNcCA0dXy4XeAYP9XHQxbqz3mG0zVP/sSHML3zUSAHBVVre6PFsW0ZsEk9xHmHuOyMbTnqcBm8w6os4dSTOZ6zb6GAnpGuAnvMPLo0RuC5aJGn7A4pM3HS0OW/ei/EgzdOy4AWUV9x4z35Px+p3119clLO/AaOqeqdWcnVQ0qID1EiOQY96BYmXGr+490keW2r+ZUP3umLZJWyErMajpCNrJ4ooNJLIjL6XuM0jcscT/O6WFeSLoaEyrSkLojb08K/SxnVCmcKeAamreHFOf3as+5+zqC2aidDeV0iazvLQ7YzADMPxjV572W4+30ecwxtIhJpNj27+PX/EN1gvjv3mlrugg6JpoRVSK3RaqC1+j0mztM9IRDj8Q4x7CPFxjoeq0jPno1UgaZhKSDF2AwxyjqqTX/DvP3DyKulwTMhsHzE1dVg6IL4uD/wZxf2OGOrBi/ARcoPiTw7gHNwhgAQGls8U+dGi7sGdMwbOxEc07454AR4SeJep0BPbMjUlm7935yex2/CdfRVJ4P+KKRAdGxpmRWt35Kktql+WprPstuvGVDSrWHj5il1+3xNEqZq5/Fm74zdC7HkFQQT+DTGkHi27TZnxX5VyF8M1Vm6FG33EHQepQZ5LY7DNKVqL+bPaXkOybN+dvW1CjcB5PN5Sl//wELNjCqX6erM6dXE6NDOwNSkaYQw3efqHl5X2i4vRamZZbjaJQFD1OTMHUpA3Zk7YQWGnx47dy73OUc8NTh+Fdk3kUu9B1mgt/E
X-OriginatorOrg: ust.hk
X-MS-Exchange-CrossTenant-Network-Message-Id: e61a0c38-1b43-4110-e09b-08dd46ae8d4b
X-MS-Exchange-CrossTenant-AuthSource: OS3P286MB1877.JPNP286.PROD.OUTLOOK.COM
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Feb 2025 13:02:46.6765 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: c917f3e2-9322-4926-9bb3-daca730413ca
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 0AaED0sTXxaYylkoW6rol4Cu+43Xx8+MqQ/Ov7kq+YnSwnaxshu8vKwAXiE7+hTG
X-MS-Exchange-Transport-CrossTenantHeadersStamped: OS9P286MB4952
X-Spam-Score: -0.0 (/)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

>>>>> "SM" == Ship Mints <shipmints@HIDDEN> writes:

    SM> The API on macOS would expose a pair of C functions to lisp, one
    SM> would inhibit sleep, perhaps returning an opaque "cookie", the
    SM> second to revoke the inhibition. The same API can be used to
    SM> prevent macOS from ever sleeping, if the user wanted that.

Great!

So the idea now is:

Turning on sleep-wake-mode:

0.  If on a system with D-Bus and logind, we register a signal for
PrepareForSleep with a handler that generates a synthetic sleep-event on
state change using Michael's recent insert-special-event.

1. Install 'sleep-event-handler on the special-event-map for
[sleep-event].

'sleep-event-handler will inhibit sleep (with whatever method is
appropriate for the system); run the function sleep-handler-function
which is a defcustom defaulting to running the hooks; release the
inhibition.

2. disabling sleep-wake-mode removes 'sleep-event-handler from the
keymap and replaces it with 'ignore.

(alternatively we could ask each system to expose a lisp function or
variable to turn on and off the generation of sleep-events)

Best,
Andy


-- 
Andrew Cohen




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#63620: 30.0.50; [Feature Request] run hooks on sleep/wake
Resent-From: Ship Mints <shipmints@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Thu, 06 Feb 2025 13:10:01 +0000
Resent-Message-ID: <handler.63620.B63620.173884739314438 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 63620
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: patch
To: Andrew Cohen <acohen@HIDDEN>
Cc: 63620 <at> debbugs.gnu.org, eliz@HIDDEN, michael.albinus@HIDDEN, monnier@HIDDEN
Received: via spool by 63620-submit <at> debbugs.gnu.org id=B63620.173884739314438
          (code B ref 63620); Thu, 06 Feb 2025 13:10:01 +0000
Received: (at 63620) by debbugs.gnu.org; 6 Feb 2025 13:09:53 +0000
Received: from localhost ([127.0.0.1]:54799 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tg1dh-0003ko-5M
	for submit <at> debbugs.gnu.org; Thu, 06 Feb 2025 08:09:53 -0500
Received: from mail-qk1-x729.google.com ([2607:f8b0:4864:20::729]:42139)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.84_2) (envelope-from <shipmints@HIDDEN>)
 id 1tg1df-0003kZ-GI
 for 63620 <at> debbugs.gnu.org; Thu, 06 Feb 2025 08:09:52 -0500
Received: by mail-qk1-x729.google.com with SMTP id
 af79cd13be357-7b6ed0de64aso73409585a.0
 for <63620 <at> debbugs.gnu.org>; Thu, 06 Feb 2025 05:09:51 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1738847386; x=1739452186; 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=ppKn/MhJC5T+NivcmbbJ5wAd/Vi9jZNd4CuwBONHxtA=;
 b=PIXeljLkPRrpJteDVnwr//XkrPeRaPbvuJ+N3bPpz5u4S8HEo4M4Yzj0kmUOkrgrcZ
 MP62iTGgRya7X6jIVUJGUebcQ+1rJ+pGgKxEdQF463ceptQWC6XC3IMeBrTXw03dulGi
 64Ch8197fzqvRGBfg703m8StO47COxF1Mwr2PuGlxG74sfeq6ujMvlu+s5QQgJWNKjbn
 nqcoQnbsP1g3Col7v43n+Khs99O70mULv7L2TZ26hGEm6/qZtT2yRoMgec+JXrvShJZT
 c+wAVYEyGkr7oDrKHQjx+UxkXYHjc+M7wI09Ji6mloStmqavw8Iwy9w1w4LEl2k3Z+1X
 lyQg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1738847386; x=1739452186;
 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=ppKn/MhJC5T+NivcmbbJ5wAd/Vi9jZNd4CuwBONHxtA=;
 b=e0yH3uTp1ypzgsBoRTsV2pfbpXVLg3o2xbOteDf9VGrZeOY3jpuPi4HRz2J/s2OkJy
 YaJffCTvKzqUNI8RPvBm5fLE9Gw5MVxNJrQSzMJbn+pXXrSktguYdQB8XJm873NKMXlB
 kmcItJ3OsGQSgiZknBffPDKuZ/rAcLcOINsvCW/ZJvIURMCpp2VUCk/V+WaUPRwMp5NX
 geEGtQJylMFO8hNiIBDpUTOKL+pSgPrebg07+Tu7AgMIx/oKXVLLs+aBLAkFVbjw5vdA
 XWh/Ixi8t/kHnWa3AuVGuD6MaZLUW9iW3gcARtio90Eo3LB3dQuO0lNA0kB1pnx6bjTI
 3p1A==
X-Gm-Message-State: AOJu0Yzfv66W/Ry0XGRlYv47ivrakJ7kVTXTKwBWsM5iD4ig3f2lG9eJ
 lm1+1UXIuVBsXmZ/iWSRZtwqWFQ6oh858lAp43fm1p8VYRQi8DnM1/+5cYkPXlSqSN1ZvWxca6X
 SaW3Xxg4tKBi7vAuU1FnS1rc1Ix8=
X-Gm-Gg: ASbGncswmIInwNBWic82AZN/m6D88yI5YqI4k14ODiRNsQ9JueNh5qEYC7Vj6o3G+ZM
 LbBLXiKe0fESrqr4R20CIGtAc8AxhyHk5bTNRhhLvregK6HtRNbipdUOdNP0Ztym04d6F5NwT
X-Google-Smtp-Source: AGHT+IHs4wINFFbpVBwGjikKHjzq4tVPqAC4yyZCdEb61boiKG5EpS3wdDlzbrl5oY2mQvGRg1Sot4vLEmZzxN1XHXU=
X-Received: by 2002:a05:620a:404e:b0:7be:4f75:fa86 with SMTP id
 af79cd13be357-7c04024ae04mr444929985a.11.1738847385839; Thu, 06 Feb 2025
 05:09:45 -0800 (PST)
MIME-Version: 1.0
References: <87fs7qmw00.fsf@HIDDEN> <87lehinlvg.fsf@HIDDEN>
 <87y1ky83du.fsf@HIDDEN> <87legr1tn5.fsf@HIDDEN> <878qqmz99g.fsf@HIDDEN>
 <8634gtc0k7.fsf@HIDDEN> <87seot3k42.fsf@HIDDEN> <86r04dahpc.fsf@HIDDEN>
 <878qqkzh9d.fsf@HIDDEN> <874j18zfm6.fsf@HIDDEN>
 <jwvy0ykjtwa.fsf-monnier+emacs@HIDDEN>
 <jwvh658jlr1.fsf-monnier+emacs@HIDDEN> <86y0yk6t24.fsf@HIDDEN>
 <jwv5xloja7l.fsf-monnier+emacs@HIDDEN> <86lduj7a3q.fsf@HIDDEN>
 <87jza3thfq.fsf@HIDDEN> <87ikpn2rjx.fsf@HIDDEN>
 <CAN+1Hbofhk=VJKQ0HRKrxX4PiHDjgDSS_BardXNt2wrbyHa2bQ@HIDDEN>
 <87v7tn1b0s.fsf@HIDDEN>
In-Reply-To: <87v7tn1b0s.fsf@HIDDEN>
From: Ship Mints <shipmints@HIDDEN>
Date: Thu, 6 Feb 2025 08:07:44 -0500
X-Gm-Features: AWEUYZkpxzmmBcZPzsUjMWYtaduz5d8NlS3-f_wCFBTURbZ_FIFsMOFb0jA9FRk
Message-ID: <CAN+1Hbohnii6UeL41q0AyifP+6budQif4c99dFGZJzeVYmePDg@HIDDEN>
Content-Type: multipart/alternative; boundary="000000000000c06e54062d78f462"
X-Spam-Score: 0.0 (/)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

--000000000000c06e54062d78f462
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

I prefer using a mode, it seems more idiomatic. Shall this use
cl-defgeneric in sleep-wake-mode that each system can specialize?

On Thu, Feb 6, 2025 at 8:02=E2=80=AFAM Andrew Cohen <acohen@HIDDEN> wrote:

> >>>>> "SM" =3D=3D Ship Mints <shipmints@HIDDEN> writes:
>
>     SM> The API on macOS would expose a pair of C functions to lisp, one
>     SM> would inhibit sleep, perhaps returning an opaque "cookie", the
>     SM> second to revoke the inhibition. The same API can be used to
>     SM> prevent macOS from ever sleeping, if the user wanted that.
>
> Great!
>
> So the idea now is:
>
> Turning on sleep-wake-mode:
>
> 0.  If on a system with D-Bus and logind, we register a signal for
> PrepareForSleep with a handler that generates a synthetic sleep-event on
> state change using Michael's recent insert-special-event.
>
> 1. Install 'sleep-event-handler on the special-event-map for
> [sleep-event].
>
> 'sleep-event-handler will inhibit sleep (with whatever method is
> appropriate for the system); run the function sleep-handler-function
> which is a defcustom defaulting to running the hooks; release the
> inhibition.
>
> 2. disabling sleep-wake-mode removes 'sleep-event-handler from the
> keymap and replaces it with 'ignore.
>
> (alternatively we could ask each system to expose a lisp function or
> variable to turn on and off the generation of sleep-events)
>
> Best,
> Andy
>
>
> --
> Andrew Cohen
>

--000000000000c06e54062d78f462
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div class=3D"gmail_default" style=3D"font-family:monospac=
e">I prefer using a mode, it seems more idiomatic. Shall this use cl-defgen=
eric in sleep-wake-mode that each system can specialize?</div></div><br><di=
v class=3D"gmail_quote gmail_quote_container"><div dir=3D"ltr" class=3D"gma=
il_attr">On Thu, Feb 6, 2025 at 8:02=E2=80=AFAM Andrew Cohen &lt;<a href=3D=
"mailto:acohen@HIDDEN">acohen@HIDDEN</a>&gt; wrote:<br></div><blockquote cl=
ass=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid=
 rgb(204,204,204);padding-left:1ex">&gt;&gt;&gt;&gt;&gt; &quot;SM&quot; =3D=
=3D Ship Mints &lt;<a href=3D"mailto:shipmints@HIDDEN" target=3D"_blank"=
>shipmints@HIDDEN</a>&gt; writes:<br>
<br>
=C2=A0 =C2=A0 SM&gt; The API on macOS would expose a pair of C functions to=
 lisp, one<br>
=C2=A0 =C2=A0 SM&gt; would inhibit sleep, perhaps returning an opaque &quot=
;cookie&quot;, the<br>
=C2=A0 =C2=A0 SM&gt; second to revoke the inhibition. The same API can be u=
sed to<br>
=C2=A0 =C2=A0 SM&gt; prevent macOS from ever sleeping, if the user wanted t=
hat.<br>
<br>
Great!<br>
<br>
So the idea now is:<br>
<br>
Turning on sleep-wake-mode:<br>
<br>
0.=C2=A0 If on a system with D-Bus and logind, we register a signal for<br>
PrepareForSleep with a handler that generates a synthetic sleep-event on<br=
>
state change using Michael&#39;s recent insert-special-event.<br>
<br>
1. Install &#39;sleep-event-handler on the special-event-map for<br>
[sleep-event].<br>
<br>
&#39;sleep-event-handler will inhibit sleep (with whatever method is<br>
appropriate for the system); run the function sleep-handler-function<br>
which is a defcustom defaulting to running the hooks; release the<br>
inhibition.<br>
<br>
2. disabling sleep-wake-mode removes &#39;sleep-event-handler from the<br>
keymap and replaces it with &#39;ignore.<br>
<br>
(alternatively we could ask each system to expose a lisp function or<br>
variable to turn on and off the generation of sleep-events)<br>
<br>
Best,<br>
Andy<br>
<br>
<br>
-- <br>
Andrew Cohen<br>
</blockquote></div>

--000000000000c06e54062d78f462--




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#63620: 30.0.50; [Feature Request] run hooks on sleep/wake
Resent-From: Michael Albinus <michael.albinus@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Thu, 06 Feb 2025 14:06:02 +0000
Resent-Message-ID: <handler.63620.B.17388507504880 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 63620
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: patch
To: Andrew Cohen <acohen@HIDDEN>
Cc: 63620 <at> debbugs.gnu.org, eliz@HIDDEN, monnier@HIDDEN
X-Debbugs-Original-Cc: 63620 <at> debbugs.gnu.org, "Michael Albinus via Bug reports for GNU Emacs, the Swiss army knife of text editors" <bug-gnu-emacs@HIDDEN>, Eli Zaretskii <eliz@HIDDEN>, Stefan Monnier <monnier@HIDDEN>
Received: via spool by submit <at> debbugs.gnu.org id=B.17388507504880
          (code B ref -1); Thu, 06 Feb 2025 14:06:02 +0000
Received: (at submit) by debbugs.gnu.org; 6 Feb 2025 14:05:50 +0000
Received: from localhost ([127.0.0.1]:54982 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tg2Vp-0001Gd-Vh
	for submit <at> debbugs.gnu.org; Thu, 06 Feb 2025 09:05:50 -0500
Received: from lists.gnu.org ([2001:470:142::17]:42974)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <michael.albinus@HIDDEN>)
 id 1tg2Vn-0001GB-Aj
 for submit <at> debbugs.gnu.org; Thu, 06 Feb 2025 09:05:47 -0500
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 <michael.albinus@HIDDEN>)
 id 1tg2Vf-0005ZR-69
 for bug-gnu-emacs@HIDDEN; Thu, 06 Feb 2025 09:05:39 -0500
Received: from mout.gmx.net ([212.227.15.19])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <michael.albinus@HIDDEN>)
 id 1tg2Vc-0007OJ-8r; Thu, 06 Feb 2025 09:05:38 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmx.de;
 s=s31663417; t=1738850733; x=1739455533; i=michael.albinus@HIDDEN;
 bh=FPAnZElx+QIELkddK7okExSsYq+EewRbhbKhEE1811k=;
 h=X-UI-Sender-Class:From:To:Cc:Subject:In-Reply-To:References:Date:
 Message-ID:MIME-Version:Content-Type:cc:content-transfer-encoding:
 content-type:date:from:message-id:mime-version:reply-to:subject:
 to;
 b=M/8UcbTYwltr+9Nr272i20898v/SvMjuGjJ1a/iExEyfHngtN7TQ56pPGluh9lVh
 R7nKZ7z+fnxuMA9big1+aleMcght3elwR2BQxNeOGnyARaj/ijgLpmiFYKFJKUYoe
 H0DlIjmjesKEviEn9HsFg3UG01xbPiZsNTdwfk+wLUvQ0wUk4Q6kkPrjfh2mL2uR7
 oqls0tGUdwdrnmBot3RxsIYxjIzyjEDmaheVrXOReYDCONdf/wrieKjpV2xKFOnwc
 fwGmvMqNJAfdUavLqdK2iyOB+/XekHvq3osVZ0JzbTw7v9m4IU2e7w6ulQq0BC8hG
 QHlFx+0kJ3e6iJxefw==
X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a
Received: from gandalf.gmx.de ([185.89.38.155]) by mail.gmx.net (mrgmx005
 [212.227.17.190]) with ESMTPSA (Nemesis) id 1MacSe-1t9SqN0FHm-00dk1S; Thu, 06
 Feb 2025 15:05:33 +0100
From: Michael Albinus <michael.albinus@HIDDEN>
In-Reply-To: <87ikpn2rjx.fsf@HIDDEN> (Andrew Cohen's message of "Thu, 06 Feb
 2025 20:20:18 +0800")
References: <87fs7qmw00.fsf@HIDDEN> <87lehinlvg.fsf@HIDDEN>
 <87y1ky83du.fsf@HIDDEN> <87legr1tn5.fsf@HIDDEN>
 <878qqmz99g.fsf@HIDDEN> <8634gtc0k7.fsf@HIDDEN>
 <87seot3k42.fsf@HIDDEN> <86r04dahpc.fsf@HIDDEN>
 <878qqkzh9d.fsf@HIDDEN> <874j18zfm6.fsf@HIDDEN>
 <jwvy0ykjtwa.fsf-monnier+emacs@HIDDEN>
 <jwvh658jlr1.fsf-monnier+emacs@HIDDEN> <86y0yk6t24.fsf@HIDDEN>
 <jwv5xloja7l.fsf-monnier+emacs@HIDDEN> <86lduj7a3q.fsf@HIDDEN>
 <87jza3thfq.fsf@HIDDEN> <87ikpn2rjx.fsf@HIDDEN>
Date: Thu, 06 Feb 2025 15:05:27 +0100
Message-ID: <87ed0btbh4.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-Provags-ID: V03:K1:g5kT8QwqFJn2QCoc1tJZuQzLxsNc11qe1emTgL4uOtUFQ9OdYx+
 PwyTHt33+f5oJIAGmS7yPerNgJmcf+cqt7Vr8OnmYsd33qIZZ4ITzxIhPfIqVdw7lUa32na
 iM0r0+pI6+HHamPF56ByOpoGaVE0dfauRSF1JaMZZzoAuUbC/X+yp1nktVVqdTW4serTWE7
 GcPFs7Y7KsR48rDNIIjAg==
X-Spam-Flag: NO
UI-OutboundReport: notjunk:1;M01:P0:7+iVW9QmKYA=;epxqvhBYS3ohzqwIGbSNpXmYzqR
 9AWZD7SuqQ90K86AWNTCuCG3RH1qnnXbF+RqjQnmu2g2QVvWW722onfTHP/d4ICqd+EPhpG7e
 46WHukO6P/iDjiBuCCdAs88T/vtlqtKN2WWID69MqYcUlzTJNq0Ox0hMkVMOI/CjgraNhpctb
 VbQ0rhv2o429+OunwQJLj5cfvT9ukuEmv3r3AzyqX8yQHnFgsGruDMQXxf9gofHP8I7seBjFp
 mtk/s6RgeIP/Nw2z2F7o4yjQll0In8mWqiUQO1dqzM/lPqBRDD3bufM025oUZG+LNephgJleD
 eOcVQxQuMlkgf3cvrdPuHImLMDqLfvt0F197APAPuTuGnARjjhwlkVjouDyPYiyOwJBWtqALV
 ElcyMvCmbCWRkMLa351gKXA+f3So7d4Lr5LGahNfooGdxKhCJbWNci/XRNY1svt21nonctiFL
 tvQlfJrFSxMxSIFwbvMo0gYO4MVBpCmxwtzB/WHKwECQfvgDGrWkU06Hfc8DFhNUm2zYf0sMs
 6jqPZl/zODc7VZ3tuGH3f4vRjGqkPFBXZy4ePvgJWcTzGpTssC0W6cMfGXUfM92WZHRfUdDAD
 l2fdbBcPbRH8wdPFjFXmSAvkQEsxdVgu9H1PBT72GcvZhqKDBTEerTQT22BrYF2AI3r+D+LZS
 /OqBQLFH4i77JGEzxcvXlQYrdH4v0bbhT+l6waZhbCUoaayGNHE7+wyHK9PbEextrCfUb8NE4
 QaBXCbSKbvdhX9tffZF3t/v2oS42N4I18sQ/+HBMOtShz3QqSW80/JfANy1yN5uRksPtG9ct8
 0JNkj5XTFfREHgSYFMADdvaYG6t4qnR4mOTbZ3BaXC1XbEm3Ni281/1AJF4K3Lud8JRchVRhK
 AdAwHEGeh3qNOUn0WB/KdLNKFMD76sIWMarDELgtIHv+srra7/CiNoh/68k0AyYW+NDvTh3yR
 +oMB4FKkN2DyIuU8KxvwHBWMTTnYAj++80ahWNb3t8jOKjxn5/LG7SYYeTK4ZGby9oAjSSRL8
 +mdqKoTxq9HyZl++yz9niWzXHhu5ph/k0LVfl8yViFuxJjFD/WaGc0lT4o7pBIMORxPqCVQiv
 HPDJD7epohTI3xGcMeZKYiIGK/2Ne9xDGG0vPcl5MxQFmzKp1ZtqUrjKdIRpwaQaU7vnHV3aW
 tNGWi+vLYSc/Fbhx2iaq+t219Af/sm0Nj1hcPDfbPQ4GEo4gqeo81Fk+klyorKzFYi1NkIufR
 UTLpmtT6WTizzGuLgDgzKj92HtDZDvnh49JiPtzdpFLfLvy/hqUScJgYWXS4Fn+LdkgWbjmFx
 s3egYU0mi3RRdYps5pLXxKdToXv0crva3bv9EdhntJpTbodiwOpZogSO1OZr5eaquG3KDyuWP
 LQa8psH2CSWWGnWc0YGJhqYymVPGp2ph7uvY8wZUi8MeiVajr2Yox3Vb47
Received-SPF: pass client-ip=212.227.15.19;
 envelope-from=michael.albinus@HIDDEN; helo=mout.gmx.net
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, FREEMAIL_FROM=0.001,
 RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H2=0.001,
 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: 0.0 (/)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

Andrew Cohen <acohen@HIDDEN> writes:

Hi Andrew,

> I would change the initial special-event-map binding to 'ignore, so that
> nothing happens until sleep-wake-mode is activated. My current iteration
> installs the handler in the keymap when the mode is activated and
> sets it to 'ignore when its disabled.

Good idea, I change the patch accordingly.

> I think the remaining big question is how to handle inhibiting sleep
> until the sleep-wake code is finished. With dbus.el its straightforward
> (although I still don't know how to close the file descriptor returned
> from the dbus method in lisp; any help?) but I'm not sure what to do
> with other systems. Somehow  sleep-wake-mode needs to communicate that
> it is OK to release inhibition. I guess one way might be to mimic the
> D-Bus method and include a file descriptor in the sleep-event that
> blocks sleep until the fd is closed. But this seems kind of contrived.

I haven't checked this yet. We will do it once the special-event based
approach is accepted.

> Best,
> Andy

Best regards, Michael.




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#63620: 30.0.50; [Feature Request] run hooks on sleep/wake
Resent-From: Michael Albinus <michael.albinus@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Thu, 06 Feb 2025 14:06:02 +0000
Resent-Message-ID: <handler.63620.B63620.17388507494871 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 63620
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: patch
To: Andrew Cohen <acohen@HIDDEN>
Cc: 63620 <at> debbugs.gnu.org, eliz@HIDDEN, monnier@HIDDEN
X-Debbugs-Original-Cc: 63620 <at> debbugs.gnu.org, "Michael Albinus via Bug reports for GNU Emacs, the Swiss army knife of text editors" <bug-gnu-emacs@HIDDEN>, Eli Zaretskii <eliz@HIDDEN>, Stefan Monnier <monnier@HIDDEN>
Received: via spool by 63620-submit <at> debbugs.gnu.org id=B63620.17388507494871
          (code B ref 63620); Thu, 06 Feb 2025 14:06:02 +0000
Received: (at 63620) by debbugs.gnu.org; 6 Feb 2025 14:05:49 +0000
Received: from localhost ([127.0.0.1]:54980 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tg2Vo-0001GV-HM
	for submit <at> debbugs.gnu.org; Thu, 06 Feb 2025 09:05:48 -0500
Received: from mout.gmx.net ([212.227.15.19]:39075)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <michael.albinus@HIDDEN>)
 id 1tg2Vl-0001G7-Ak
 for 63620 <at> debbugs.gnu.org; Thu, 06 Feb 2025 09:05:46 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmx.de;
 s=s31663417; t=1738850733; x=1739455533; i=michael.albinus@HIDDEN;
 bh=FPAnZElx+QIELkddK7okExSsYq+EewRbhbKhEE1811k=;
 h=X-UI-Sender-Class:From:To:Cc:Subject:In-Reply-To:References:Date:
 Message-ID:MIME-Version:Content-Type:cc:content-transfer-encoding:
 content-type:date:from:message-id:mime-version:reply-to:subject:
 to;
 b=M/8UcbTYwltr+9Nr272i20898v/SvMjuGjJ1a/iExEyfHngtN7TQ56pPGluh9lVh
 R7nKZ7z+fnxuMA9big1+aleMcght3elwR2BQxNeOGnyARaj/ijgLpmiFYKFJKUYoe
 H0DlIjmjesKEviEn9HsFg3UG01xbPiZsNTdwfk+wLUvQ0wUk4Q6kkPrjfh2mL2uR7
 oqls0tGUdwdrnmBot3RxsIYxjIzyjEDmaheVrXOReYDCONdf/wrieKjpV2xKFOnwc
 fwGmvMqNJAfdUavLqdK2iyOB+/XekHvq3osVZ0JzbTw7v9m4IU2e7w6ulQq0BC8hG
 QHlFx+0kJ3e6iJxefw==
X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a
Received: from gandalf.gmx.de ([185.89.38.155]) by mail.gmx.net (mrgmx005
 [212.227.17.190]) with ESMTPSA (Nemesis) id 1MacSe-1t9SqN0FHm-00dk1S; Thu, 06
 Feb 2025 15:05:33 +0100
From: Michael Albinus <michael.albinus@HIDDEN>
In-Reply-To: <87ikpn2rjx.fsf@HIDDEN> (Andrew Cohen's message of "Thu, 06 Feb
 2025 20:20:18 +0800")
References: <87fs7qmw00.fsf@HIDDEN> <87lehinlvg.fsf@HIDDEN>
 <87y1ky83du.fsf@HIDDEN> <87legr1tn5.fsf@HIDDEN>
 <878qqmz99g.fsf@HIDDEN> <8634gtc0k7.fsf@HIDDEN>
 <87seot3k42.fsf@HIDDEN> <86r04dahpc.fsf@HIDDEN>
 <878qqkzh9d.fsf@HIDDEN> <874j18zfm6.fsf@HIDDEN>
 <jwvy0ykjtwa.fsf-monnier+emacs@HIDDEN>
 <jwvh658jlr1.fsf-monnier+emacs@HIDDEN> <86y0yk6t24.fsf@HIDDEN>
 <jwv5xloja7l.fsf-monnier+emacs@HIDDEN> <86lduj7a3q.fsf@HIDDEN>
 <87jza3thfq.fsf@HIDDEN> <87ikpn2rjx.fsf@HIDDEN>
Date: Thu, 06 Feb 2025 15:05:27 +0100
Message-ID: <87ed0btbh4.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-Provags-ID: V03:K1:g5kT8QwqFJn2QCoc1tJZuQzLxsNc11qe1emTgL4uOtUFQ9OdYx+
 PwyTHt33+f5oJIAGmS7yPerNgJmcf+cqt7Vr8OnmYsd33qIZZ4ITzxIhPfIqVdw7lUa32na
 iM0r0+pI6+HHamPF56ByOpoGaVE0dfauRSF1JaMZZzoAuUbC/X+yp1nktVVqdTW4serTWE7
 GcPFs7Y7KsR48rDNIIjAg==
X-Spam-Flag: NO
UI-OutboundReport: notjunk:1;M01:P0:7+iVW9QmKYA=;epxqvhBYS3ohzqwIGbSNpXmYzqR
 9AWZD7SuqQ90K86AWNTCuCG3RH1qnnXbF+RqjQnmu2g2QVvWW722onfTHP/d4ICqd+EPhpG7e
 46WHukO6P/iDjiBuCCdAs88T/vtlqtKN2WWID69MqYcUlzTJNq0Ox0hMkVMOI/CjgraNhpctb
 VbQ0rhv2o429+OunwQJLj5cfvT9ukuEmv3r3AzyqX8yQHnFgsGruDMQXxf9gofHP8I7seBjFp
 mtk/s6RgeIP/Nw2z2F7o4yjQll0In8mWqiUQO1dqzM/lPqBRDD3bufM025oUZG+LNephgJleD
 eOcVQxQuMlkgf3cvrdPuHImLMDqLfvt0F197APAPuTuGnARjjhwlkVjouDyPYiyOwJBWtqALV
 ElcyMvCmbCWRkMLa351gKXA+f3So7d4Lr5LGahNfooGdxKhCJbWNci/XRNY1svt21nonctiFL
 tvQlfJrFSxMxSIFwbvMo0gYO4MVBpCmxwtzB/WHKwECQfvgDGrWkU06Hfc8DFhNUm2zYf0sMs
 6jqPZl/zODc7VZ3tuGH3f4vRjGqkPFBXZy4ePvgJWcTzGpTssC0W6cMfGXUfM92WZHRfUdDAD
 l2fdbBcPbRH8wdPFjFXmSAvkQEsxdVgu9H1PBT72GcvZhqKDBTEerTQT22BrYF2AI3r+D+LZS
 /OqBQLFH4i77JGEzxcvXlQYrdH4v0bbhT+l6waZhbCUoaayGNHE7+wyHK9PbEextrCfUb8NE4
 QaBXCbSKbvdhX9tffZF3t/v2oS42N4I18sQ/+HBMOtShz3QqSW80/JfANy1yN5uRksPtG9ct8
 0JNkj5XTFfREHgSYFMADdvaYG6t4qnR4mOTbZ3BaXC1XbEm3Ni281/1AJF4K3Lud8JRchVRhK
 AdAwHEGeh3qNOUn0WB/KdLNKFMD76sIWMarDELgtIHv+srra7/CiNoh/68k0AyYW+NDvTh3yR
 +oMB4FKkN2DyIuU8KxvwHBWMTTnYAj++80ahWNb3t8jOKjxn5/LG7SYYeTK4ZGby9oAjSSRL8
 +mdqKoTxq9HyZl++yz9niWzXHhu5ph/k0LVfl8yViFuxJjFD/WaGc0lT4o7pBIMORxPqCVQiv
 HPDJD7epohTI3xGcMeZKYiIGK/2Ne9xDGG0vPcl5MxQFmzKp1ZtqUrjKdIRpwaQaU7vnHV3aW
 tNGWi+vLYSc/Fbhx2iaq+t219Af/sm0Nj1hcPDfbPQ4GEo4gqeo81Fk+klyorKzFYi1NkIufR
 UTLpmtT6WTizzGuLgDgzKj92HtDZDvnh49JiPtzdpFLfLvy/hqUScJgYWXS4Fn+LdkgWbjmFx
 s3egYU0mi3RRdYps5pLXxKdToXv0crva3bv9EdhntJpTbodiwOpZogSO1OZr5eaquG3KDyuWP
 LQa8psH2CSWWGnWc0YGJhqYymVPGp2ph7uvY8wZUi8MeiVajr2Yox3Vb47
X-Spam-Score: -0.7 (/)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.7 (-)

Andrew Cohen <acohen@HIDDEN> writes:

Hi Andrew,

> I would change the initial special-event-map binding to 'ignore, so that
> nothing happens until sleep-wake-mode is activated. My current iteration
> installs the handler in the keymap when the mode is activated and
> sets it to 'ignore when its disabled.

Good idea, I change the patch accordingly.

> I think the remaining big question is how to handle inhibiting sleep
> until the sleep-wake code is finished. With dbus.el its straightforward
> (although I still don't know how to close the file descriptor returned
> from the dbus method in lisp; any help?) but I'm not sure what to do
> with other systems. Somehow  sleep-wake-mode needs to communicate that
> it is OK to release inhibition. I guess one way might be to mimic the
> D-Bus method and include a file descriptor in the sleep-event that
> blocks sleep until the fd is closed. But this seems kind of contrived.

I haven't checked this yet. We will do it once the special-event based
approach is accepted.

> Best,
> Andy

Best regards, Michael.




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#63620: 30.0.50; [Feature Request] run hooks on sleep/wake
Resent-From: Michael Albinus <michael.albinus@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Thu, 06 Feb 2025 14:10:01 +0000
Resent-Message-ID: <handler.63620.B63620.17388509735278 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 63620
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: patch
To: Ship Mints <shipmints@HIDDEN>
Cc: Andrew Cohen <acohen@HIDDEN>, 63620 <at> debbugs.gnu.org, eliz@HIDDEN, monnier@HIDDEN
Received: via spool by 63620-submit <at> debbugs.gnu.org id=B63620.17388509735278
          (code B ref 63620); Thu, 06 Feb 2025 14:10:01 +0000
Received: (at 63620) by debbugs.gnu.org; 6 Feb 2025 14:09:33 +0000
Received: from localhost ([127.0.0.1]:54987 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tg2ZQ-0001N4-LF
	for submit <at> debbugs.gnu.org; Thu, 06 Feb 2025 09:09:32 -0500
Received: from mout.gmx.net ([212.227.17.20]:42375)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <michael.albinus@HIDDEN>)
 id 1tg2ZN-0001Mm-OC
 for 63620 <at> debbugs.gnu.org; Thu, 06 Feb 2025 09:09:30 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmx.de;
 s=s31663417; t=1738850957; x=1739455757; i=michael.albinus@HIDDEN;
 bh=TkzEGN8MFezgpNwtQ7Vyk3dccxtwI3XLcWZJtKNCftk=;
 h=X-UI-Sender-Class:From:To:Cc:Subject:In-Reply-To:References:Date:
 Message-ID:MIME-Version:Content-Type:cc:content-transfer-encoding:
 content-type:date:from:message-id:mime-version:reply-to:subject:
 to;
 b=e5Oy9Us9YPdbefh4lXMhGewQ13IKCq/HAUxakPqw95L+R/zvZE/J0ch7COPvc5n5
 B6Jdso/YJ0bADxA/yyiOy6DmBX38fCPEGzMgD7ONZiCspEo+OinD8MPuTHIQOM20h
 aOahl4yTPoYEcFcT+If7BJQoTO24xNRAaWPMfUY9Hel7jNzBVinlvqN7pSikmXtf7
 T4t7pQYRhkYT+tMQu5bnd1VpFnC8BpzaQtxAtsOHC2VpFT6ONKX82H7ua7d9osAqK
 wizSGRY5h6zcIjtTc2FGKinLVzNmXlGJ+hNL9eh5gCenXyjBSGWZQ4pnvtyMV7auY
 xWqcfn0CAszOSq1WWA==
X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a
Received: from gandalf.gmx.de ([185.89.38.155]) by mail.gmx.net (mrgmx104
 [212.227.17.168]) with ESMTPSA (Nemesis) id 1MdvmY-1t69md1n7O-00j1IO; Thu, 06
 Feb 2025 15:09:17 +0100
From: Michael Albinus <michael.albinus@HIDDEN>
In-Reply-To: <CAN+1Hbofhk=VJKQ0HRKrxX4PiHDjgDSS_BardXNt2wrbyHa2bQ@HIDDEN>
 (Ship Mints's message of "Thu, 6 Feb 2025 07:24:37 -0500")
References: <87fs7qmw00.fsf@HIDDEN> <87lehinlvg.fsf@HIDDEN>
 <87y1ky83du.fsf@HIDDEN> <87legr1tn5.fsf@HIDDEN>
 <878qqmz99g.fsf@HIDDEN> <8634gtc0k7.fsf@HIDDEN>
 <87seot3k42.fsf@HIDDEN> <86r04dahpc.fsf@HIDDEN>
 <878qqkzh9d.fsf@HIDDEN> <874j18zfm6.fsf@HIDDEN>
 <jwvy0ykjtwa.fsf-monnier+emacs@HIDDEN>
 <jwvh658jlr1.fsf-monnier+emacs@HIDDEN> <86y0yk6t24.fsf@HIDDEN>
 <jwv5xloja7l.fsf-monnier+emacs@HIDDEN> <86lduj7a3q.fsf@HIDDEN>
 <87jza3thfq.fsf@HIDDEN> <87ikpn2rjx.fsf@HIDDEN>
 <CAN+1Hbofhk=VJKQ0HRKrxX4PiHDjgDSS_BardXNt2wrbyHa2bQ@HIDDEN>
Date: Thu, 06 Feb 2025 15:09:12 +0100
Message-ID: <87a5aztbav.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-Provags-ID: V03:K1:jgGkZP1P5Rmc+ZOpUmMuNPCglBJRzIJB0Ou89oh6vvI6w3CTftI
 /wsLefLCx9wxWtxp0raCVxOaTV6K7ZKXZS4OHDbajC5BV6+n/vDdYd3kROjbW6j2zDhCdM8
 OdH3GaC73eZruXiN71IuFIxjUN+1+QZLxgDaTY6z1PZh3/A8TWTedAipkoj+Dq+n3zmC/L1
 pkTuTMoQIMavobO00WD1g==
X-Spam-Flag: NO
UI-OutboundReport: notjunk:1;M01:P0:GAtaiXEjqaM=;ZwFFWwSOGR2+AzMnwA8uzJBiHyk
 SQ0vqWEDrwAZ/YsXSLy8hdQsJTGZAWgBX9a9lM8njACWapBI4q/6GPkBd3ruuf8+AhJnT38gR
 pSfdtkMt18OHKV6VrOWpnluGlV6MnG3LDkLdOWICfQJG926u0c9Gvi2tMQJxn3pP00fql11xi
 Ib0A3z8pKFf4DqAyVietPJirgDmYcli4MV0mR3wr6AtEMhe04PEU48q5BHG6K4gHyO/fuixr4
 wVm4stPNxocGuO++FrQg5Vj2ZnrTR9n5CA9PPIIdFY36lTmstvo86i6ASLi8TspxL5xn+eRGl
 LUkyLSfINLR59FyDdlF6dU+6qsOqMjTOGn4Ar5FUKNgd7DlnGTKc58TQw8yvi86eV9u7aMEto
 PBJHMXQC106GDAQrfJdDQnDhzBbRX1RmiseEgUEOu0aNzfOW9GvIFoYtIG7WP+ev27wQj+s4P
 Lr+D32xvxZkNJZuIxPXz5SbZ1Q4DAn6gbvIU5rmhxmC3WGi0oLbEAObNgNb840vYR5e/d+nMW
 xnI9176MrysaqLg05MeS3VnEV2OdSGaRVUsImirVuo41nTUb5Roo2odSu0hTbanMXDl0zxKWL
 1CXQc/xfgd+NkP/NuDCgsuueAiq2S6MVpV+sHXSukuLAr6EMR1o0trLBic4hAOQQU37UiryiC
 1Fe96aK/8mlzgxbSUNAzZN349kj96VoKIwwm1sG5P2iOpxeXp66tVJeuK7uSqok24r4zLLgq8
 5sYQlaJvSmZdpWBFCC7SJDDGwikpCTrW6O1DH6QgmmAFRyJpBJPkAPOSbzb/L48Q756Udn/GZ
 ECMnhhJe0yAi5yIciBoCTgOnseK3B/Q0QH9QsgnmPjPYgy8ndv4aRiBiTAvRivEEOl7p4grvz
 KSCzTrA72iCVgmmu/nGEt10tCsUagw5k8wRcVjmKZgjBsy99rLR+nXbpBxgDLstP/+QvVxh23
 v3VesP4dtJwUBlIFjeuLVf0R8cSGvu8Crvf7+8a/eMbd+TpkgqMrRS2ViA0QQcJn1A/5k54nr
 wSKhP5oivmllEuZpAHV7FyffLsB1klQJRLQAxczyupmzZ3fp/33RjP0RHjnqBian3PsB3jDSE
 XnQKe+2VU+RUN4Zq3U+S8CZvgRRyp8XZ3WZbQuUzST63vmHJUhbqHMSTojXd1kf+zKiimN94R
 l0cNRSMIG1KNTRtvlUMuHsJ2IZGQHqzuqt9OOT2Im4YvsY2KKr4DjBcYAyhFL7ExxoG80IFql
 YbRh4UkESzMds1q98Z0hFw4B0wVEBSBr3CjNv9emE8rDTbfhpm3x5gxECqHqYRJJfthlRUFMQ
 aDhytxIo6+/FPBVlniciYuKVqiFunubUfSbzl8jOC4efIwkFb7OxOmxeLaCuUARo4XBs7+Rwd
 NifzKButxFFZa7JEbTa+owmDTvMFSkOZV7t918lbWNX2mrIBdbbe0w6WWV
X-Spam-Score: -0.7 (/)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.7 (-)

Ship Mints <shipmints@HIDDEN> writes:

Hi Ship,

> The API on macOS would expose a pair of C functions to lisp, one would
> inhibit sleep, perhaps returning an opaque "cookie", the second to
> revoke the inhibition. The same API can be used to prevent macOS from
> ever sleeping, if the user wanted that.

Why that? If we have the special event sleep-event, you can call
kbd_buffer_store_event directly in your C source.

The arguments for the sleep-event can be extended as we like, as API.

Best regards, Michael.




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#63620: 30.0.50; [Feature Request] run hooks on sleep/wake
Resent-From: Ship Mints <shipmints@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Thu, 06 Feb 2025 14:14:01 +0000
Resent-Message-ID: <handler.63620.B63620.17388512266093 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 63620
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: patch
To: Michael Albinus <michael.albinus@HIDDEN>
Cc: Andrew Cohen <acohen@HIDDEN>, 63620 <at> debbugs.gnu.org, eliz@HIDDEN, monnier@HIDDEN
Received: via spool by 63620-submit <at> debbugs.gnu.org id=B63620.17388512266093
          (code B ref 63620); Thu, 06 Feb 2025 14:14:01 +0000
Received: (at 63620) by debbugs.gnu.org; 6 Feb 2025 14:13:46 +0000
Received: from localhost ([127.0.0.1]:54998 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tg2dW-0001aB-At
	for submit <at> debbugs.gnu.org; Thu, 06 Feb 2025 09:13:46 -0500
Received: from mail-ua1-x936.google.com ([2607:f8b0:4864:20::936]:58461)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.84_2) (envelope-from <shipmints@HIDDEN>)
 id 1tg2dT-0001Zr-IK
 for 63620 <at> debbugs.gnu.org; Thu, 06 Feb 2025 09:13:44 -0500
Received: by mail-ua1-x936.google.com with SMTP id
 a1e0cc1a2514c-866f771cd5bso183106241.0
 for <63620 <at> debbugs.gnu.org>; Thu, 06 Feb 2025 06:13:43 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1738851218; x=1739456018; 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=4vEE9DAjjL6SxgLisGSVj01IavQn0tIcDojQJ/c/eyI=;
 b=SMGoGTn5G288XtUyQpFjqXMw818ZMz4PSMCNY2B5CrYYUX/m70awO227oCzdQqM3De
 Q70v3H2amsSQho2Oxh7sbQlr4rLAOy6Dt2EdR5lnmwWF/3TVVrb4U4x7Br2H0VOObU8r
 W3YVCD3PQ7fvirwaIiWF5P7m+f8z3rBR+MkDmfD9joLdevBT+ifp4Og18elAEJZKso7b
 hnKIuEvkUARZCizSyhi7wXHd25kBdB2Hjb09rprSijpi8UG+ZrpkWkoNvrn+xJ4isj4q
 dV53RHTybam5W56J3msMM4kbX1oxMVoiwpTOOM4ychrxIaySeB2ez/I8vAyOUI4vlvPX
 4IqQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1738851218; x=1739456018;
 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=4vEE9DAjjL6SxgLisGSVj01IavQn0tIcDojQJ/c/eyI=;
 b=vDU6WUSrOcooHDKVwr3yoO2iwtRqirI1MjWonzKgxv+soWJnHhnZCc3nKqoJnPtC85
 iZO72b7lsGIvaPsA3O/TwQ9/BAMNvQOBpP8uc6lTYBNQhoLeqhFy/NRrthuLJnuO1/4H
 7Vh3zIcwwnCCtcEtgpI/hjTaNW1xixC37xbmBJwIM3NIgP6iweiaH9zl9nECY5D0mJxH
 HF1h+gCAm3CKhozyOrouwKp3KJL4SbnmaLRxwz9CklVFQ/Rmtf7nFg1HZnSq24K09Oxu
 UqF3UaPoxM+kTBZCFQP35/gXZnOHBi+UiddWZtauBNk0Uh9WkItZHQnrnrG1OAJY7++x
 asrQ==
X-Forwarded-Encrypted: i=1;
 AJvYcCXbtQmLtxMODZYPrIOWGye7izLDct8C60xPL2rLqUECYoxD+s3fMQoliJxMMnGWv2UGb66QSQ==@debbugs.gnu.org
X-Gm-Message-State: AOJu0Yxeg+0DRXcgfHP3ZTvOxL5UxUm7dQ0aC1ayCQxP+R7pqHMQmGJ0
 oe3zv5eRgOw2bKecA12gHFKgBUfKKusRoaDZH4VPC8GuXKjytkhhMriaH1CS5x9rON4j8haqJSX
 UohE6VhXp4SJz//8h8tZeIqaKxCA=
X-Gm-Gg: ASbGnct/gMYGmphuD3DrVKhvlTYVmYV1RGjVha4mGRyGudF0JSsqgVuLZYzB6miMrqU
 p4+RWnRSEfSCLju7uBig6pwynUXtcDGAHWWZFBzIEVS3JJQVVE7qsmnn5+rJ+H1goHrNcnvRF
X-Google-Smtp-Source: AGHT+IGH96PRMyiA3P0EOBu7lZMfDz/ot6CO/LrXVxbPQpXwhOL9P/ot6ieew9FiaNt9r7IVoRGCEuYMIXC9F/EvxY8=
X-Received: by 2002:a05:6102:5710:b0:4b9:bb36:1d8 with SMTP id
 ada2fe7eead31-4ba47a990cbmr3932112137.16.1738851217874; Thu, 06 Feb 2025
 06:13:37 -0800 (PST)
MIME-Version: 1.0
References: <87fs7qmw00.fsf@HIDDEN> <87lehinlvg.fsf@HIDDEN>
 <87y1ky83du.fsf@HIDDEN> <87legr1tn5.fsf@HIDDEN> <878qqmz99g.fsf@HIDDEN>
 <8634gtc0k7.fsf@HIDDEN> <87seot3k42.fsf@HIDDEN> <86r04dahpc.fsf@HIDDEN>
 <878qqkzh9d.fsf@HIDDEN> <874j18zfm6.fsf@HIDDEN>
 <jwvy0ykjtwa.fsf-monnier+emacs@HIDDEN>
 <jwvh658jlr1.fsf-monnier+emacs@HIDDEN> <86y0yk6t24.fsf@HIDDEN>
 <jwv5xloja7l.fsf-monnier+emacs@HIDDEN> <86lduj7a3q.fsf@HIDDEN>
 <87jza3thfq.fsf@HIDDEN> <87ikpn2rjx.fsf@HIDDEN>
 <CAN+1Hbofhk=VJKQ0HRKrxX4PiHDjgDSS_BardXNt2wrbyHa2bQ@HIDDEN>
 <87a5aztbav.fsf@HIDDEN>
In-Reply-To: <87a5aztbav.fsf@HIDDEN>
From: Ship Mints <shipmints@HIDDEN>
Date: Thu, 6 Feb 2025 09:11:36 -0500
X-Gm-Features: AWEUYZkUGGMfQJx4ZDiWccbSZmxwAui-VYgfAbIeCeoRFhcuzw4u5pkuwKrEAh0
Message-ID: <CAN+1Hbqyb=8SEPgdoSLYFdEWa3Zqv6t6yEUGkmpHATq96ZEPcA@HIDDEN>
Content-Type: multipart/alternative; boundary="00000000000028a6a8062d79d992"
X-Spam-Score: 0.0 (/)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

--00000000000028a6a8062d79d992
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

The flow, as I understand it looks like it will be:

1 OS reports about to sleep
2 C code posts an event
3 sleep-wake-mode processes the event
3a Tell the OS to prevent sleep (has to be done in C)
3b Call hooks
3c Tell the OS it's now okay to sleep (ditto in C)

It's 3a and 3c that I was referring to.

On Thu, Feb 6, 2025 at 9:09=E2=80=AFAM Michael Albinus <michael.albinus@gmx=
.de>
wrote:

> Ship Mints <shipmints@HIDDEN> writes:
>
> Hi Ship,
>
> > The API on macOS would expose a pair of C functions to lisp, one would
> > inhibit sleep, perhaps returning an opaque "cookie", the second to
> > revoke the inhibition. The same API can be used to prevent macOS from
> > ever sleeping, if the user wanted that.
>
> Why that? If we have the special event sleep-event, you can call
> kbd_buffer_store_event directly in your C source.
>
> The arguments for the sleep-event can be extended as we like, as API.
>
> Best regards, Michael.
>

--00000000000028a6a8062d79d992
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div class=3D"gmail_default" style=3D"font-family:monospac=
e">The flow, as I understand it looks like it will be:</div><div class=3D"g=
mail_default" style=3D"font-family:monospace"><br></div><div class=3D"gmail=
_default" style=3D"font-family:monospace">1 OS reports about to sleep</div>=
<div class=3D"gmail_default" style=3D"font-family:monospace">2 C code posts=
 an event</div><div class=3D"gmail_default" style=3D"font-family:monospace"=
>3 sleep-wake-mode processes the event</div><div class=3D"gmail_default" st=
yle=3D"font-family:monospace">3a Tell the OS to prevent sleep (has to be do=
ne in C)</div><div class=3D"gmail_default" style=3D"font-family:monospace">=
3b Call hooks</div><div class=3D"gmail_default" style=3D"font-family:monosp=
ace">3c Tell the OS it&#39;s now okay to sleep (ditto in C)</div><div class=
=3D"gmail_default" style=3D"font-family:monospace"><br></div><div class=3D"=
gmail_default" style=3D"font-family:monospace">It&#39;s 3a and 3c that I wa=
s referring to.</div></div><br><div class=3D"gmail_quote gmail_quote_contai=
ner"><div dir=3D"ltr" class=3D"gmail_attr">On Thu, Feb 6, 2025 at 9:09=E2=
=80=AFAM Michael Albinus &lt;<a href=3D"mailto:michael.albinus@HIDDEN">mich=
ael.albinus@HIDDEN</a>&gt; wrote:<br></div><blockquote class=3D"gmail_quote=
" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);=
padding-left:1ex">Ship Mints &lt;<a href=3D"mailto:shipmints@HIDDEN" tar=
get=3D"_blank">shipmints@HIDDEN</a>&gt; writes:<br>
<br>
Hi Ship,<br>
<br>
&gt; The API on macOS would expose a pair of C functions to lisp, one would=
<br>
&gt; inhibit sleep, perhaps returning an opaque &quot;cookie&quot;, the sec=
ond to<br>
&gt; revoke the inhibition. The same API can be used to prevent macOS from<=
br>
&gt; ever sleeping, if the user wanted that.<br>
<br>
Why that? If we have the special event sleep-event, you can call<br>
kbd_buffer_store_event directly in your C source.<br>
<br>
The arguments for the sleep-event can be extended as we like, as API.<br>
<br>
Best regards, Michael.<br>
</blockquote></div>

--00000000000028a6a8062d79d992--




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#63620: 30.0.50; [Feature Request] run hooks on sleep/wake
Resent-From: Michael Albinus <michael.albinus@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Thu, 06 Feb 2025 14:54:02 +0000
Resent-Message-ID: <handler.63620.B63620.173885363326121 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 63620
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: patch
To: Ship Mints <shipmints@HIDDEN>
Cc: Andrew Cohen <acohen@HIDDEN>, 63620 <at> debbugs.gnu.org, eliz@HIDDEN, monnier@HIDDEN
Received: via spool by 63620-submit <at> debbugs.gnu.org id=B63620.173885363326121
          (code B ref 63620); Thu, 06 Feb 2025 14:54:02 +0000
Received: (at 63620) by debbugs.gnu.org; 6 Feb 2025 14:53:53 +0000
Received: from localhost ([127.0.0.1]:55144 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tg3GL-0006nF-6m
	for submit <at> debbugs.gnu.org; Thu, 06 Feb 2025 09:53:53 -0500
Received: from mout.gmx.net ([212.227.15.15]:56603)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <michael.albinus@HIDDEN>)
 id 1tg3GJ-0006mz-VW
 for 63620 <at> debbugs.gnu.org; Thu, 06 Feb 2025 09:53:52 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmx.de;
 s=s31663417; t=1738853612; x=1739458412; i=michael.albinus@HIDDEN;
 bh=/DD0BLLLKtFl4+e48ATw74MZU7Km3vVG6X3+K2tuBzQ=;
 h=X-UI-Sender-Class:From:To:Cc:Subject:In-Reply-To:References:Date:
 Message-ID:MIME-Version:Content-Type:cc:content-transfer-encoding:
 content-type:date:from:message-id:mime-version:reply-to:subject:
 to;
 b=hyQFDNhHhwb4OzxCvloKHxf8FG/2FjYsDggirldvh2YhJV3j87b5LtnYHaZMzFPM
 g+LuJk5x/dD3ISIuVyUrGdAba2U3qI3Mq6PLbFHyxZ+cJmXbRpPNBJVK+DfUlGP4q
 LlZnPFH45K9+b4IiDboAYQzblH7HvScsxsffJNBseoPUn7y2I35UBpEZq/b9gX4ZC
 Okl3JXNE6Nyvq8iB5TJdfVfPZk2tL+pQIbv0dliRsdnbMkbUbp5cCBVo44Sjfz4wN
 noMFQlBTarR1PEJCJAV7WgJVj6mvpgD7Mf1FI4jgENFugzFJ3piwajz4XUAjuTwuL
 mFgq4bzC8ANe0RGYNg==
X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a
Received: from gandalf.gmx.de ([185.89.38.155]) by mail.gmx.net (mrgmx005
 [212.227.17.190]) with ESMTPSA (Nemesis) id 1MNt0M-1u4Boi0m2S-00IEdc; Thu, 06
 Feb 2025 15:53:32 +0100
From: Michael Albinus <michael.albinus@HIDDEN>
In-Reply-To: <CAN+1Hbqyb=8SEPgdoSLYFdEWa3Zqv6t6yEUGkmpHATq96ZEPcA@HIDDEN>
 (Ship Mints's message of "Thu, 6 Feb 2025 09:11:36 -0500")
References: <87fs7qmw00.fsf@HIDDEN> <87lehinlvg.fsf@HIDDEN>
 <87y1ky83du.fsf@HIDDEN> <87legr1tn5.fsf@HIDDEN>
 <878qqmz99g.fsf@HIDDEN> <8634gtc0k7.fsf@HIDDEN>
 <87seot3k42.fsf@HIDDEN> <86r04dahpc.fsf@HIDDEN>
 <878qqkzh9d.fsf@HIDDEN> <874j18zfm6.fsf@HIDDEN>
 <jwvy0ykjtwa.fsf-monnier+emacs@HIDDEN>
 <jwvh658jlr1.fsf-monnier+emacs@HIDDEN> <86y0yk6t24.fsf@HIDDEN>
 <jwv5xloja7l.fsf-monnier+emacs@HIDDEN> <86lduj7a3q.fsf@HIDDEN>
 <87jza3thfq.fsf@HIDDEN> <87ikpn2rjx.fsf@HIDDEN>
 <CAN+1Hbofhk=VJKQ0HRKrxX4PiHDjgDSS_BardXNt2wrbyHa2bQ@HIDDEN>
 <87a5aztbav.fsf@HIDDEN>
 <CAN+1Hbqyb=8SEPgdoSLYFdEWa3Zqv6t6yEUGkmpHATq96ZEPcA@HIDDEN>
Date: Thu, 06 Feb 2025 15:53:30 +0100
Message-ID: <87msezp1jp.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-Provags-ID: V03:K1:/lXWt41YP9Cijz0rvh1rihNkV4gS0KohViTN48hNBpNb2gLUFC2
 Yp7Q8JiZ8x489DEhE+zMA45LxLihjGBy/u5wYCevyiOVFzXQlYUHE/wGCMHVmNXvZN0M/8E
 yFxyrqUiA6n/FPt1oB1MAu/OOqeSbLvxg2KIOZo8qC99kWMPGzTKaIqU+sYY4BfYcig6fuz
 yR++vfpwN0LMdUhi7fX0Q==
X-Spam-Flag: NO
UI-OutboundReport: notjunk:1;M01:P0:UwZhjFBDT9A=;2L+ZlyK3A6BMusCuHglA060uEd6
 zsibII803x5TEM4dWKb0fpYYJC/i7T9xa5cbOSzlrntN5ZyaECOQ0ZVxE668Y0bEqRLgU8Hj+
 K/IK/lznYEstjYpUCmjYtU9+lr0SKFQu7XfkA9EhPtKlq9htjRvdDYjiS9zgJmNdrnk0otSVa
 gKSp3ppkUTvuamt6NYfWWA/G4xhIhMIp8HLRIDJsJO6MEx7MljGizqgQCI1P8VEDsUZPkDkWV
 6JJkYRSsdGdkvwHTjJEKvYB1WN8PJXkXwbmGJeNRaDHaQAemzoMcRk5JMr8qX7oOaZrNopAzF
 Q0iBrIbu1pESbtxmxgCKfGJVtTEvN31bA/eH2RFJTYwcRI0+iEabXP2czF51LeqYFrGykoLZk
 TnJ2h+moFbPXiiGzBnjvwSw/TI+ZNY+kI8Auq7EDXXxXh00YQaLtNy5pp19IDgB4LLzWUxjN6
 L6ualXPlbxoMwJhvVYGhK5K7bzU2PWAbLYhRj/vOkzYNijqjt4HofzTfqiW5wQ35xrnGd45RW
 K70ttT0YEOvYnGB6yRHEVRj0nfOmEx3rJ4qlw4Y5fjBQbe6PMcRUU8+EWm/m34oaNwkGHTxk+
 S/OKuSzs0mTnfUF5Kk557dXV4FWpHSnS7kNH3xn8sRk6YReSrIVAfK/YFZ7djzIAbQyP9Bb+o
 zlEbAFspSZK3yzZxH+qWkReU+klGLDygLLU/8jav1bGEUxA5a9e2i1UECSAZSBJHrPMnauZBd
 16ycqfLRVCqE/saAOFY0wU6E2fSEhlNE62hmKSQLW3ERlX8HzYQWvSep/7Hlhe937u/k0BYtx
 +a2e6dCRI+q0I1TFYNah9vX6yF/Np8e6fggfOKclBxJeeLV3xGSbOUHm/RR+qOGWv0mNRd+1+
 ftynG4mX/AZ5cxqyHk/btUcJFKLlFW1anfVyJ2ztK6SwAKQSnBwdNFGvRbQqszCeizibgQm6e
 0+iSfz4rRBtM60iP0/RrOTfewoPrAjFJ5jIGOvf3rSWQrD+GXpmgLv5aJtTQqf4198y5eTa47
 +C6bGhARBfBGYtgwbHqgGLDD7aEfc3Xct4vtJD3/A94FLynpLNPPsvS5aGkCpo6gSQiZae6Oo
 drZsUJJ+BnN5UravAUPScIp2KJdQJgACjJFTlRGNc5dvQoZbxBn7bpqfNsKPo34t621zGjd3h
 nXiVicSMjsXfTMQJWIID9o0GJp1twNs6TXArdazxRlaq01wEzV2y8gpt4n4mcZ116Xyzy0J4E
 lMWwzrxDy2t7UbBKqPVr/5V4i1bmbG6ZXsNUJEep0gVC1SwrpJT4tAQUU5/NbceMePOOEhd2R
 L4UssBAMJIETVoNcJmobLijGjiVA8ysfaK0EmnxbDbfdgNboCVbhqnaZX8MS9+uJFia+kY27z
 Gh/sn8d1g56lh9ojNwn3KdhqDXWJsAnN6xiZ2LA9TRS7Evk17ubANPWgTC
X-Spam-Score: -0.7 (/)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.7 (-)

Ship Mints <shipmints@HIDDEN> writes:

Hi Ship,

> The flow, as I understand it looks like it will be:
>
> 1 OS reports about to sleep
> 2 C code posts an event
> 3 sleep-wake-mode processes the event
> 3a Tell the OS to prevent sleep (has to be done in C)
> 3b Call hooks
> 3c Tell the OS it's now okay to sleep (ditto in C)
>
> It's 3a and 3c that I was referring to.

Thanks, it wasn't clear to me in your message.

Best regards, Michael.




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#63620: 30.0.50; [Feature Request] run hooks on sleep/wake
Resent-From: Eli Zaretskii <eliz@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Thu, 06 Feb 2025 15:20:01 +0000
Resent-Message-ID: <handler.63620.B63620.17388551471868 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 63620
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: patch
To: Andrew Cohen <acohen@HIDDEN>
Cc: 63620 <at> debbugs.gnu.org, michael.albinus@HIDDEN, monnier@HIDDEN
Received: via spool by 63620-submit <at> debbugs.gnu.org id=B63620.17388551471868
          (code B ref 63620); Thu, 06 Feb 2025 15:20:01 +0000
Received: (at 63620) by debbugs.gnu.org; 6 Feb 2025 15:19:07 +0000
Received: from localhost ([127.0.0.1]:58858 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tg3el-0000U3-5A
	for submit <at> debbugs.gnu.org; Thu, 06 Feb 2025 10:19:07 -0500
Received: from eggs.gnu.org ([2001:470:142:3::10]:52130)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1tg3ei-0000TU-P8
 for 63620 <at> debbugs.gnu.org; Thu, 06 Feb 2025 10:19:05 -0500
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 <eliz@HIDDEN>)
 id 1tg3ec-0003me-1j; Thu, 06 Feb 2025 10:18:58 -0500
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=aXQjzvjpvtdseQYoQ3vvSy79RrSNNthJ37szC6UXszc=; b=HmwgZvg0iFb3
 1J2vwKifvdcnDHdDeVF0oG9Pj0QES1iWXH2roprwhTHNczn/HYVGz4ot7BW6FU2T1CgfP9AcrPyyN
 gipmWINg67A6udnEA5C2kjpIYFBezfV0lGJeHyRl5CxWDRc1nPuT7Hg9bYYiQgfRQECZFjNzcJ0df
 TDY29sBPNU21K6OiW4y/t+kP5eYHTjvGsxCaB9xc6zA2onWTBgnTxXCxdv8fTMjuLwG5HnptrqlaS
 nPshs5UVG8P6wv81g/wSDNpGanOsKnuZSWPAomAueRofU08ohLgmBQ6GAy0FSMyFixZeVOl7SlQoO
 lVYt3LiqKoO6rqZL+yjerA==;
Date: Thu, 06 Feb 2025 17:18:53 +0200
Message-Id: <86a5az6qzm.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
In-Reply-To: <87ikpn2rjx.fsf@HIDDEN> (message from Andrew Cohen on Thu, 06 Feb
 2025 20:20:18 +0800)
References: <87fs7qmw00.fsf@HIDDEN> <87lehinlvg.fsf@HIDDEN>
 <87y1ky83du.fsf@HIDDEN> <87legr1tn5.fsf@HIDDEN>
 <878qqmz99g.fsf@HIDDEN> <8634gtc0k7.fsf@HIDDEN>
 <87seot3k42.fsf@HIDDEN> <86r04dahpc.fsf@HIDDEN>
 <878qqkzh9d.fsf@HIDDEN> <874j18zfm6.fsf@HIDDEN>
 <jwvy0ykjtwa.fsf-monnier+emacs@HIDDEN>
 <jwvh658jlr1.fsf-monnier+emacs@HIDDEN> <86y0yk6t24.fsf@HIDDEN>
 <jwv5xloja7l.fsf-monnier+emacs@HIDDEN> <86lduj7a3q.fsf@HIDDEN>
 <87jza3thfq.fsf@HIDDEN> <87ikpn2rjx.fsf@HIDDEN>
X-Spam-Score: -2.3 (--)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

> From: Andrew Cohen <acohen@HIDDEN>
> Cc: Eli Zaretskii <eliz@HIDDEN>,  Michael Albinus <michael.albinus@HIDDEN>,
>   63620 <at> debbugs.gnu.org,  Stefan Monnier <monnier@HIDDEN>
> Date: Thu, 06 Feb 2025 20:20:18 +0800
> 
> I think the remaining big question is how to handle inhibiting sleep
> until the sleep-wake code is finished. With dbus.el its straightforward
> (although I still don't know how to close the file descriptor returned
> from the dbus method in lisp; any help?) but I'm not sure what to do
> with other systems.

What is the semantics of this?  If the user closes the lid of the
laptop, and that was defined to put the system to sleep, does such
"inhibiting" mean the system will not sleep?  If so, I'm not sure this
is supported.  Or do you mean to delay sleep which is triggered by
prolonged enough lack of activity?




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#63620: 30.0.50; [Feature Request] run hooks on sleep/wake
Resent-From: Eli Zaretskii <eliz@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Thu, 06 Feb 2025 15:30:02 +0000
Resent-Message-ID: <handler.63620.B63620.17388557863704 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 63620
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: patch
To: Ship Mints <shipmints@HIDDEN>
Cc: acohen@HIDDEN, 63620 <at> debbugs.gnu.org, michael.albinus@HIDDEN, monnier@HIDDEN
Received: via spool by 63620-submit <at> debbugs.gnu.org id=B63620.17388557863704
          (code B ref 63620); Thu, 06 Feb 2025 15:30:02 +0000
Received: (at 63620) by debbugs.gnu.org; 6 Feb 2025 15:29:46 +0000
Received: from localhost ([127.0.0.1]:58872 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tg3p3-0000xg-Pd
	for submit <at> debbugs.gnu.org; Thu, 06 Feb 2025 10:29:46 -0500
Received: from eggs.gnu.org ([2001:470:142:3::10]:34066)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1tg3oy-0000xN-Rt
 for 63620 <at> debbugs.gnu.org; Thu, 06 Feb 2025 10:29:44 -0500
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 <eliz@HIDDEN>)
 id 1tg3os-00079p-BS; Thu, 06 Feb 2025 10:29:34 -0500
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=Qr0jSIXPgqxLdGfqYYC7xAR7BiSGEbuBsSJyWTfiNEo=; b=E07cINBTIX/P
 5CkvuZEY2MYAcEB2WX95TZel+VlH7HSNzU4Jn/si3CtBR/90Y0dkpn02irDJdjq+6f1/PgluoHCEk
 sDXJ68qMB5NaDuh1tVd/fje8KFySKD/nJai7iH07z+U56CIl/0knIzNz9gdRz9U5W2Zr7HQGtkNtZ
 x+7aDjSNXAidr9eVYJw/oL+dYLMMarODnbTK2HfG+X3xHskbCfva2I/HEo8PBdZUfhfZeHUIbogtt
 2HmTHbBCX3dLAn/a9PWk7wYAahz7HbJwj3zL6JzeWgAFP4Sxd3xHElMk+8+QpNwi+s9dUS+CT1fMV
 SeBw4N0pEDy495hCtht5Yw==;
Date: Thu, 06 Feb 2025 17:29:30 +0200
Message-Id: <868qqj6qhx.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
In-Reply-To: <CAN+1Hbofhk=VJKQ0HRKrxX4PiHDjgDSS_BardXNt2wrbyHa2bQ@HIDDEN>
 (message from Ship Mints on Thu, 6 Feb 2025 07:24:37 -0500)
References: <87fs7qmw00.fsf@HIDDEN> <87lehinlvg.fsf@HIDDEN>
 <87y1ky83du.fsf@HIDDEN> <87legr1tn5.fsf@HIDDEN> <878qqmz99g.fsf@HIDDEN>
 <8634gtc0k7.fsf@HIDDEN> <87seot3k42.fsf@HIDDEN> <86r04dahpc.fsf@HIDDEN>
 <878qqkzh9d.fsf@HIDDEN> <874j18zfm6.fsf@HIDDEN>
 <jwvy0ykjtwa.fsf-monnier+emacs@HIDDEN>
 <jwvh658jlr1.fsf-monnier+emacs@HIDDEN> <86y0yk6t24.fsf@HIDDEN>
 <jwv5xloja7l.fsf-monnier+emacs@HIDDEN> <86lduj7a3q.fsf@HIDDEN>
 <87jza3thfq.fsf@HIDDEN> <87ikpn2rjx.fsf@HIDDEN>
 <CAN+1Hbofhk=VJKQ0HRKrxX4PiHDjgDSS_BardXNt2wrbyHa2bQ@HIDDEN>
X-Spam-Score: -2.3 (--)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

> From: Ship Mints <shipmints@HIDDEN>
> Date: Thu, 6 Feb 2025 07:24:37 -0500
> Cc: 63620 <at> debbugs.gnu.org, eliz@HIDDEN, michael.albinus@HIDDEN, 
> 	monnier@HIDDEN
> 
> The API on macOS would expose a pair of C functions to lisp, one would inhibit sleep, perhaps returning an
> opaque "cookie", the second to revoke the inhibition.

Why would this have to be exposed to Lisp?  We want to make sure the
system doesn't go to sleep until after the function invoked by the
"about to go to sleep" event completes its job and exits, and for that
all we need is to revoke the inhibition once the function exits, no?




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#63620: 30.0.50; [Feature Request] run hooks on sleep/wake
Resent-From: Stefan Monnier <monnier@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Thu, 06 Feb 2025 15:30:03 +0000
Resent-Message-ID: <handler.63620.B63620.17388557963736 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 63620
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: patch
To: Eli Zaretskii <eliz@HIDDEN>
Cc: acohen@HIDDEN, 63620 <at> debbugs.gnu.org, michael.albinus@HIDDEN
Received: via spool by 63620-submit <at> debbugs.gnu.org id=B63620.17388557963736
          (code B ref 63620); Thu, 06 Feb 2025 15:30:03 +0000
Received: (at 63620) by debbugs.gnu.org; 6 Feb 2025 15:29:56 +0000
Received: from localhost ([127.0.0.1]:58876 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tg3pA-0000y1-CX
	for submit <at> debbugs.gnu.org; Thu, 06 Feb 2025 10:29:55 -0500
Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:59197)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <monnier@HIDDEN>)
 id 1tg3p4-0000xU-2m
 for 63620 <at> debbugs.gnu.org; Thu, 06 Feb 2025 10:29:46 -0500
Received: from pmg3.iro.umontreal.ca (localhost [127.0.0.1])
 by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id 1930C441A64;
 Thu,  6 Feb 2025 10:29:39 -0500 (EST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca;
 s=mail; t=1738855778;
 bh=fSzUeS9gfFpq+9hfIKgfZu/mE4UZYMi3SuoDZ1wlb/w=;
 h=From:To:Cc:Subject:In-Reply-To:References:Date:From;
 b=TSStGaVauP8e9mS5G94PUmmKtdCa64RFKzuu7AislCGNoa5bVdYyn7dGprIGW1QWi
 QmHPfrgj40xDCpKuR3JJy8vQuVRcqQbd9GzVuuR7mbX9hf481JM7n+jTwvH76IaRif
 HLzAiLTEkLG0xfgz8Rb+bxu7578h/QoGJNhgs7VpcHZSp+mOxTGHGQiJYrasjsCVtD
 VoHDC/sPL5s7wnkKZGvjXqsaIrqkdcKgFHWlvUgdUEkiDGeFV5tp3NZSLjzepeW92U
 zNRAzTOQBCt50E5x47ZBQPufLiTBlWhP+Eus9QejqeKiGnk+EEXr1sI4KNaBBtl3XZ
 8Ss4bDifjdRGg==
Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1])
 by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id 2D29B441A2D;
 Thu,  6 Feb 2025 10:29:38 -0500 (EST)
Received: from lechazo (lechon.iro.umontreal.ca [132.204.27.242])
 by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 19ACF12045A;
 Thu,  6 Feb 2025 10:29:38 -0500 (EST)
From: Stefan Monnier <monnier@HIDDEN>
In-Reply-To: <86lduj7a3q.fsf@HIDDEN> (Eli Zaretskii's message of "Thu, 06 Feb
 2025 10:26:01 +0200")
Message-ID: <jwved0bhz4f.fsf-monnier+emacs@HIDDEN>
References: <87fs7qmw00.fsf@HIDDEN> <87lehinlvg.fsf@HIDDEN>
 <87y1ky83du.fsf@HIDDEN> <87legr1tn5.fsf@HIDDEN>
 <878qqmz99g.fsf@HIDDEN> <8634gtc0k7.fsf@HIDDEN>
 <87seot3k42.fsf@HIDDEN> <86r04dahpc.fsf@HIDDEN>
 <878qqkzh9d.fsf@HIDDEN> <874j18zfm6.fsf@HIDDEN>
 <jwvy0ykjtwa.fsf-monnier+emacs@HIDDEN>
 <jwvh658jlr1.fsf-monnier+emacs@HIDDEN> <86y0yk6t24.fsf@HIDDEN>
 <jwv5xloja7l.fsf-monnier+emacs@HIDDEN> <86lduj7a3q.fsf@HIDDEN>
Date: Thu, 06 Feb 2025 10:29:27 -0500
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-SPAM-INFO: Spam detection results:  0
 ALL_TRUSTED                -1 Passed through trusted hosts only via SMTP
 AWL 0.230 Adjusted score from AWL reputation of From: address
 BAYES_00                 -1.9 Bayes spam probability is 0 to 1%
 DKIM_SIGNED               0.1 Message has a DKIM or DK signature,
 not necessarily valid
 DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature
 DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's
 domain
 DKIM_VALID_EF -0.1 Message has a valid DKIM or DK signature from envelope-from
 domain
X-SPAM-LEVEL: 
X-Spam-Score: -2.3 (--)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

> Thanks, so which of these solutions would you recommend as the
> cleanest and the most convenient/extensible one?

For the "wake", we could make it into an event, but for the "sleep" part
we can't really push this to the event queue because we need to process
it promptly (the system is waiting for an answer).

So I'd go with the hook.


        Stefan






Last modified: Thu, 6 Feb 2025 15:30:02 UTC

GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997 nCipher Corporation Ltd, 1994-97 Ian Jackson.