Stefan Kangas <stefankangas@HIDDEN>
to control <at> debbugs.gnu.org
.
Full text available.Received: (at 63620) by debbugs.gnu.org; 10 Jun 2023 10:47:28 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sat Jun 10 06:47:28 2023 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> To: Andrew Cohen <acohen@HIDDEN> Subject: Re: bug#63620: 30.0.50; [Feature Request] run hooks on sleep/wake 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-Debbugs-Envelope-To: 63620 Cc: 63620 <at> debbugs.gnu.org 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.
bug-gnu-emacs@HIDDEN
:bug#63620
; Package emacs
.
Full text available.Received: (at 63620) by debbugs.gnu.org; 5 Jun 2023 13:06:55 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Mon Jun 05 09:06:55 2023 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> To: Michael Albinus <michael.albinus@HIDDEN> Subject: Re: bug#63620: 30.0.50; [Feature Request] run hooks on sleep/wake 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: =?us-ascii?Q?zeaYcuFLqYQVcwDIiejP3lr+lw4rNl+KlQ2VLSRAzE5PHulGHzrzufHF1cRf?= =?us-ascii?Q?IMPTxMg0jxwfOet+0+fULdSl/b1p/zMts5wAZkX1YMcOl/E4a6Ec93RT2jw/?= =?us-ascii?Q?anWxkZJB5xcjjNHX3VmdDHBxhiw9fmAR+T3m0x1rCEzSxx1NLXmTOI7MoZCX?= =?us-ascii?Q?LxsPCjVsQ0rtLtVsvdhPpADbuy/WFq1tNjKUwKrLLOoO9BtoZuAWCPhavCir?= =?us-ascii?Q?fkSmS1rmDYL50tU6bP4eKJ+WMPKedbIMAzoXuUhWcb9iKM0ilXuBNMr6KZ3V?= =?us-ascii?Q?cv49KJ7FrNtPgGlve96RvjyePoilIV3tPYfPfkNIGitLRnhGJP6sGzf/deXk?= =?us-ascii?Q?VIUg9VC1q2//ZHRh5LUxiBrUwlWPvihAPxd7c5z7/K6s3jjd27+3UiQNe9sa?= =?us-ascii?Q?vBOj16T9Qfo/gxOu2q+5hMdao60L2dVa3VHBWWV4IH509494QiVc04tTPH6h?= =?us-ascii?Q?qmleOCs8BTSYFdct14/jxKjK/WQCIWwaJ/Sun3mfGRdKcVDm9B1Vk0XpycSc?= =?us-ascii?Q?VaY+mLcRTnGTLnZyVWpzoNyMa7yk84IhChoY1Ak0+0pKI2eQ+I3qhN87jLBE?= =?us-ascii?Q?spEeBnunikpxv/Hz6Khooq2qgVItFJltRibQH5OEqJFirAyYXZuu7yUhrxb1?= =?us-ascii?Q?M2TUVvUJ7d6hg1qWHxHbdSoTYApY6G5mCwAwh7/1Yj9iQomMfrGbCrvJbE9U?= =?us-ascii?Q?vicMzNb5foUpsd50QHIGaKtZRZRDBWeY5PdWoX1M7+Glf08XkLwVHrdkwYQB?= =?us-ascii?Q?mQShBzdlBPo6FfS9s7qkehnQqEgfgKJo7aYwSWMkScaSfYOkuGCqdllyEqaV?= =?us-ascii?Q?ixIwmndM050qS1I5Dz6a7wvTcDg4zbyqxgKJxQ91iNsuWBI1YlUU1fYVXGp+?= =?us-ascii?Q?gWnqOEFJi5VWZetrg0PZway6QG23VpMQcXz+LGqLhYSlkukenjWS4EFoMPKo?= =?us-ascii?Q?D35Sv7ybha3tpkAW25oWjkWRwgfqy7l6iXQRsyrfpeLH0ejQdLHufterd1T3?= =?us-ascii?Q?tcoQGTOJG8oBl3iy6VqFtTZ2UzxnIGYgmwSTDEVRKtR5xkARgKit2k5NoTdg?= =?us-ascii?Q?JMtv7EtzVx9CALNtJ+GquwPp3d4vhAs5+9GVbtmKZO7yjZS7QUWgOJUIJo2Z?= =?us-ascii?Q?46F75C1EuBpPoLOGYHpPIh4UQE9oBVaE3wc4rFRxtb7IhSUQx/iPhBPQo3Br?= =?us-ascii?Q?ivCxGHlYir6u0YbfSVtLge7WNGhUnxNQRqTm9Ec6NndaoW824bM8Aq19kn8i?= =?us-ascii?Q?2s8l1jQ95tSWgxPJUOxvV20LT1ZtPf1zSwnOKgUXnGejdwnBM36Pa0wA0GZF?= =?us-ascii?Q?optp98fCDlP6uHurCLvXD71cBpLmJpKUVj7P+GpNj1enaJb7RwZYEtXrBMWI?= =?us-ascii?Q?lHm6icVV2qhoO6JgShcY0WyM0xjQ1+aoMp2kk4Sn67WXu6kaDGEzKRYlhkcF?= =?us-ascii?Q?9XIMXts77kZ0N/V6XoyxGPhV/w4A0ddWXL6NQo0fb+RIzK7MUrrFBIY5iUyt?= =?us-ascii?Q?LOSbMg0zwIqR2kk5rL/zSamAHOeM3xfsKLsqEJ/urYOvtSUbpOs4v2OOJ5U0?= =?us-ascii?Q?OPPrXN00jab6NrrLiFGaLlacmrpesozNTat4WLUc?= 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-Debbugs-Envelope-To: 63620 Cc: 63620 <at> debbugs.gnu.org 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 --=-=-=--
bug-gnu-emacs@HIDDEN
:bug#63620
; Package emacs
.
Full text available.Received: (at 63620) by debbugs.gnu.org; 21 May 2023 08:13:07 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sun May 21 04:13:07 2023 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> To: Andrew Cohen <acohen@HIDDEN> Subject: Re: bug#63620: 30.0.50; [Feature Request] run hooks on sleep/wake 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-Debbugs-Envelope-To: 63620 Cc: 63620 <at> debbugs.gnu.org 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.
bug-gnu-emacs@HIDDEN
:bug#63620
; Package emacs
.
Full text available.Received: (at submit) by debbugs.gnu.org; 20 May 2023 23:24:46 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sat May 20 19:24:46 2023 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> To: bug-gnu-emacs@HIDDEN Subject: 30.0.50; [Feature Request] run hooks on sleep/wake 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: =?us-ascii?Q?9rq8D0krlsHKM1nDvg3Vuw0QJS5/XvyTFjK55TIcVBvl84zpT5otFlSV/Zfh?= =?us-ascii?Q?hq/g9+GkL6Mh37eGS8b/PCEc+Mo8G8L34RsxOaiZACKJHskTFhy9ZSCTmH3H?= =?us-ascii?Q?rGoSNQFG+/IbexkgGmv3YvM98LvYVyhhoSuxKiWFi2WaLNKufFyFHkVvvRl0?= =?us-ascii?Q?J3fcKVb78VRAcHc2zRXErQxON5tD+LGkr41RIfqP0gyx8LkwFhgX4VNJh4tG?= =?us-ascii?Q?WoYYn/ftheSHkx/1qj4tGTC10jnFmve6UgEVxs9K10mElkb/MMNlcz/wCs5c?= =?us-ascii?Q?qlZgmCb+6oICtzEc8FcUU/PzBwDJ7cJLqbVx9tCQsWER6sTqAAIC/sGAIGK9?= =?us-ascii?Q?5wRPQc6AxgeduRZKZOp7X8y9lDAF10fY54Hc+juFQ9+RR8uhSdYMsR5s7UmR?= =?us-ascii?Q?hXnTCH7m6mzKNPeHSqpDZvd2eP7TZVSd9oV6roBg+psGECv1hQ3/pwOvMxAk?= =?us-ascii?Q?tfZxBS0TYAafHp/QP4DssivcAKJjP4FL/aluB9kNlsaJ+jpGZu0gE6dAcA8X?= =?us-ascii?Q?V9J0L95bUUFBP23TfBTgF8fDgxoI+BsGqWeiyJ6VVpzMfZ/cukE/jTKrK5uV?= =?us-ascii?Q?JKX0Kw27cXDlVfw9qqvaZj0UpOkBicZc2kN9O4jn9paq04ClmclSgsE2ZHWG?= =?us-ascii?Q?5Ta74wxuZRjfijUEjZOg9wrRYr04tgz+7KswWHOmRnKXjwFRrNcm1h5j28Un?= =?us-ascii?Q?Y0iRxENrNdLHQHTW2RehsKnU4/CunKo1JvjlJD8Xr2ms9O1dQ4qbSVfj7KgH?= =?us-ascii?Q?xEQlYJDL5V1Eq+lIYmFzM1B6DUkGgvA49q5Xa5UV3XYNvNhXLqvEj6NJ7Qjk?= =?us-ascii?Q?ALPWvTKzBNTwmUbw+c573qOcn2gEgFGufHc7krQoFF5eb7g7Tqjt0/deNOoV?= =?us-ascii?Q?ugxtcAcO0w0ih1HusRKTOk6MDXLiV0C5s3+ou/wK9/dypd8fYTj9Xq8tu181?= =?us-ascii?Q?FjDBq9WAHPONnv1zhf6aioAzgMmKfooaglFk8lBa5pA+16ut3EuSZ+kGlp5O?= =?us-ascii?Q?yVfotatlWTVWV+WQeaCoyZQ5TzuE+jkMorSwdlh5+ycu45z6dsgstCyV/NLV?= =?us-ascii?Q?urvdMzacArz77gkc9hmU+rJbCRWwYS4xOXAzUIFGIofOct3PbflQ4VDUGprZ?= =?us-ascii?Q?PAvilictnf3XdxG9fcrnP9VNxdATq5g/KjYjUMtNL4Ixhygiki/crbQRJV6E?= =?us-ascii?Q?om6ESUbNFmZRQ0BjcY8Ikg5RFjyTIaeGkIi+q0IhH9Jp7dnP/KkVEhZRP73o?= =?us-ascii?Q?HaWDnvTInSDcd8Guz1q3+ftjMmJuBuSQzjEulu6FyG78EzUF2F5qDrtYR3/M?= =?us-ascii?Q?H707MUseTUOq0uVIuRRGdUPswtPMB61+SfxUOqWFTNIrugADl2QlBCe0zvWR?= =?us-ascii?Q?uTeOY11MJeoSDdXtx0ZfUIkTjy5PQmpYjodhOf3SU1MT9oeq/NR5cOpsrdT7?= =?us-ascii?Q?j5ZV07HKS1aAvFM02AV+E9Gq1sDoD9OXpYlbsTACEHgRAVetvKSx8LWP/DuQ?= =?us-ascii?Q?x3N6BeKQg0dOaUsEvYjbe2UlANbrwmhoQggPrKxT4mFuvlHeA5WRQK/nqEkD?= =?us-ascii?Q?Ns2KG3bXbBZNRQqeaqZPoN7aVIUUOGVk0qevInju?= 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-Debbugs-Envelope-To: submit 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
Andrew Cohen <acohen@HIDDEN>
:bug-gnu-emacs@HIDDEN
.
Full text available.bug-gnu-emacs@HIDDEN
:bug#63620
; Package emacs
.
Full text available.
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997 nCipher Corporation Ltd,
1994-97 Ian Jackson.