From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Adam Porter Newsgroups: gmane.emacs.devel Subject: [ELPA] New package: activities Date: Thu, 25 Jan 2024 18:59:42 -0600 Message-ID: Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------UVPQphtDhuXDQLOFx3aYzkdY" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="13393"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Mozilla Thunderbird To: emacs-devel Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Fri Jan 26 02:00:34 2024 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1rTAa9-0003Iu-Ob for ged-emacs-devel@m.gmane-mx.org; Fri, 26 Jan 2024 02:00:33 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1rTAZU-0006Re-5t; Thu, 25 Jan 2024 19:59:52 -0500 Original-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 ) id 1rTAZS-0006R5-4f for emacs-devel@gnu.org; Thu, 25 Jan 2024 19:59:50 -0500 Original-Received: from cyan.elm.relay.mailchannels.net ([23.83.212.47]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rTAZP-0005OH-4t for emacs-devel@gnu.org; Thu, 25 Jan 2024 19:59:49 -0500 X-Sender-Id: dreamhost|x-authsender|adam@alphapapa.net Original-Received: from relay.mailchannels.net (localhost [127.0.0.1]) by relay.mailchannels.net (Postfix) with ESMTP id 25C2E2C0319 for ; Fri, 26 Jan 2024 00:59:44 +0000 (UTC) Original-Received: from pdx1-sub0-mail-a314.dreamhost.com (unknown [127.0.0.6]) (Authenticated sender: dreamhost) by relay.mailchannels.net (Postfix) with ESMTPA id A8D992C1F39 for ; Fri, 26 Jan 2024 00:59:43 +0000 (UTC) ARC-Seal: i=1; s=arc-2022; d=mailchannels.net; t=1706230783; a=rsa-sha256; cv=none; b=LG6Rm1eG7Cvg7Mkk51gADanvG6SZX8TkJJ3/YEWcsk2lWEyUkIt2dNMLvYj/z8U41WxRLR N2DBkoUCI6l/gPsJn2ewTXUFft8VATxopIE9spAQCX1HBo+w2DDfVyWJrx6ZPukYRzFjza lf0XbpXvvZ7rL/HOBfrbiuxg92CZtAIPACJm3hYAWA1Pp8vj4+frElV7iapWdJyptssPjR M7BihqLtnJgBM1uVYJSRCn8g8Nmsxrg16EznlhGZHFFf0s4kT3zzxQYscq99HVxwsr2NPf cG1bUOhjiVbOTRbl65kHEPb0HaBSbEzV+IdiYc277hjyfJTHsXS3G76kWaW8Hw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=mailchannels.net; s=arc-2022; t=1706230783; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: dkim-signature; bh=ns5d1aNiCrDmVo7fpXRoMsaz3FwrcxluIAy+b23E4kQ=; b=0FDfgNza2VI2x7xa80yN+SSNdRANGnsKjj5XwoiulTLDbAIZDZe0/7rjUDwCiM6zY39r98 A40MQxs9KFMZhPapkktQeLQN8VZzM4UYowTGgtI2flnqENB9dY8O3bDMC1/BC3sKZiQYO2 G6zVtaU83OZ9/iF1kWdMqe7jHxSOq7EttlDpOR+EVliA05mCwxGMQXcPhZNSr16xcec78O BvgrPjtuad1Ng46C7MeFHSsL/XFFMD4/kmdFq0MmvSLoHzEISlv9vyRvHA3I9A61XF7TXp TBHe4hss0NgACmI2sTOhcACNDH7cih0ZCTZXSSGohnwuwCEBhJ/x3KQGU8d+bw== ARC-Authentication-Results: i=1; rspamd-9c9494d96-b8z4x; auth=pass smtp.auth=dreamhost smtp.mailfrom=adam@alphapapa.net X-Sender-Id: dreamhost|x-authsender|adam@alphapapa.net X-MC-Relay: Neutral X-MailChannels-SenderId: dreamhost|x-authsender|adam@alphapapa.net X-MailChannels-Auth-Id: dreamhost X-Obese-Unite: 7082aa4b68e0be78_1706230783915_887529395 X-MC-Loop-Signature: 1706230783915:418651070 X-MC-Ingress-Time: 1706230783915 Original-Received: from pdx1-sub0-mail-a314.dreamhost.com (pop.dreamhost.com [64.90.62.162]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384) by 100.127.213.198 (trex/6.9.2); Fri, 26 Jan 2024 00:59:43 +0000 Original-Received: from [10.66.1.218] (unknown [91.193.232.98]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) (Authenticated sender: adam@alphapapa.net) by pdx1-sub0-mail-a314.dreamhost.com (Postfix) with ESMTPSA id 4TLfVR295DzCv for ; Thu, 25 Jan 2024 16:59:43 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=alphapapa.net; s=dreamhost; t=1706230783; bh=ns5d1aNiCrDmVo7fpXRoMsaz3FwrcxluIAy+b23E4kQ=; h=Content-Type:Date:To:From:Subject; b=au1N5m4FBzKNPZqluy+75UE8KIaDskGtN1hiVbIZ1jzzinHIhcMWR3YXeojJA6icl iiOuoMdX30n4BznUTx90tRZOATn118X3TRMqjuty3cRMCQseCW5JxWUpbi+7HYeYie QhKdkS6aIEZJ23u+SEYdUq/4e1etyHSEPeLAqN7+lT8gwZ0gGqz9OEq3FmxfTX9iMy 1o0UW8jqPZ3LXYKvj/Hr29gc7AfLqbLE0U2b2/EJkXAzOCbtmetY38ClemowzvCe/0 HZKQK62872dpcpJRo16LdT9NI7wOMli/EqwspMWBVTlF5r2U5Rry7pNxp6u9m29MiI WtF3v4WtVnX1Q== Content-Language: en-US Received-SPF: neutral client-ip=23.83.212.47; envelope-from=adam@alphapapa.net; helo=cyan.elm.relay.mailchannels.net X-Spam_score_int: 0 X-Spam_score: 0.0 X-Spam_bar: / X-Spam_report: (0.0 / 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_BL_SPAMCOP_NET=1.347, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_NEUTRAL=0.779, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.devel:315400 Archived-At: This is a multi-part message in MIME format. --------------UVPQphtDhuXDQLOFx3aYzkdY Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Hi, I'd like to add a new package to ELPA, activities.el. It's hosted at: https://github.com/alphapapa/activities.el Here's the description; please see the readme/manual for more details. Inspired by Genera's and KDE's concepts of "activities", this library allows the user to select an "activity", the loading of which restores a window configuration and/or frameset, along with the buffers shown in each window. Saving an activity saves the state for later restoration. Switching away from an activity saves the last-used state for later switching back to, while still allowing the activity's initial or default state to be restored on demand. Resuming an activity loads the last-used state, or the initial/default state when a universal argument is provided. The implementation uses the bookmark system to save buffers' states–that is, any major mode that supports the bookmark system is compatible. A buffer whose major mode does not support the bookmark system (or does not support it well enough to restore useful state) is not compatible and can't be fully restored, or perhaps not at all; but solving that is as simple as implementing bookmark support for the mode, which is usually trivial. Integration with Emacs's `tab-bar-mode' is provided: a window configuration or frameset can be restored to a window or set of frames, or to a tab or set of tabs. Various hooks are (or will be–feedback is welcome) provided, both globally and per-activity, so that the user can define functions to be called when an activity is saved, restored, or switched from/to. For example, this could be used to limit the set of buffers offered for switching to within an activity, or to track the time spent in an activity. Please see the attached patch to elpa-packages. Thanks, Adam --------------UVPQphtDhuXDQLOFx3aYzkdY Content-Type: text/x-patch; charset=UTF-8; name="0001-elpa-packages-activities-New-package.patch" Content-Disposition: attachment; filename="0001-elpa-packages-activities-New-package.patch" Content-Transfer-Encoding: base64 RnJvbSA5NmU2NzNjYjIwMzY2NzU4ZTRiOTI4ZjcyZTdhMTQ5MTAzOWZhNjM1IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBBZGFtIFBvcnRlciA8YWRhbUBhbHBoYXBhcGEubmV0 PgpEYXRlOiBUaHUsIDI1IEphbiAyMDI0IDE4OjUzOjM4IC0wNjAwClN1YmplY3Q6IFtQQVRD SF0gZWxwYS1wYWNrYWdlcyAoYWN0aXZpdGllcyk6IE5ldyBwYWNrYWdlCgotLS0KIGVscGEt cGFja2FnZXMgfCAzICsrKwogMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKQoKZGlm ZiAtLWdpdCBhL2VscGEtcGFja2FnZXMgYi9lbHBhLXBhY2thZ2VzCmluZGV4IGM3M2U4YTA2 NmIuLmM3N2I2NTA1OTIgMTAwNjQ0Ci0tLSBhL2VscGEtcGFja2FnZXMKKysrIGIvZWxwYS1w YWNrYWdlcwpAQCAtMzUsNiArMzUsOSBAQAogCiAoKGFjZS13aW5kb3cJCTp1cmwgImh0dHBz Oi8vZ2l0aHViLmNvbS9hYm8tYWJvL2FjZS13aW5kb3ciKQogIChhY2sJCQk6dXJsICJodHRw czovL2dpdGh1Yi5jb20vbGVvbGl1L2Fjay1lbCIpCisgKGFjdGl2aXRpZXMgICAgICAgICAg IAk6dXJsICJodHRwczovL2dpdGh1Yi5jb20vYWxwaGFwYXBhL2FjdGl2aXRpZXMuZWwuZ2l0 IgorICAgOnJlbGVhc2UtYnJhbmNoICJzdGFibGUiCisgICA6ZG9jICJSRUFETUUub3JnIikK ICAoYWRhLW1vZGUJCTp1cmwgbmlsCiAgIDpkb2MgKCJhZGEtbW9kZS50ZXhpIikKICAgOnJl bGVhc2UtYnJhbmNoIHQpCi0tIAoyLjMwLjIKCg== --------------UVPQphtDhuXDQLOFx3aYzkdY--