From unknown Sat Jun 21 02:54:49 2025 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.509 (Entity 5.509) Content-Type: text/plain; charset=utf-8 From: bug#77496 <77496@debbugs.gnu.org> To: bug#77496 <77496@debbugs.gnu.org> Subject: Status: [PATCH] Add 'ns-app-badge' to set macOS / GNUstep icon badge Reply-To: bug#77496 <77496@debbugs.gnu.org> Date: Sat, 21 Jun 2025 09:54:49 +0000 retitle 77496 [PATCH] Add 'ns-app-badge' to set macOS / GNUstep icon badge reassign 77496 emacs submitter 77496 Ship Mints severity 77496 normal tag 77496 patch thanks From debbugs-submit-bounces@debbugs.gnu.org Thu Apr 03 12:45:42 2025 Received: (at submit) by debbugs.gnu.org; 3 Apr 2025 16:45:43 +0000 Received: from localhost ([127.0.0.1]:35419 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1u0NhG-0002Kf-Kj for submit@debbugs.gnu.org; Thu, 03 Apr 2025 12:45:42 -0400 Received: from lists.gnu.org ([2001:470:142::17]:44310) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1u0NhD-00020h-Oe for submit@debbugs.gnu.org; Thu, 03 Apr 2025 12:45:40 -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 ) id 1u0Nh6-0002SU-4C for bug-gnu-emacs@gnu.org; Thu, 03 Apr 2025 12:45:32 -0400 Received: from mail-vk1-xa33.google.com ([2607:f8b0:4864:20::a33]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1u0Nh1-0008Pg-TE for bug-gnu-emacs@gnu.org; Thu, 03 Apr 2025 12:45:31 -0400 Received: by mail-vk1-xa33.google.com with SMTP id 71dfb90a1353d-5240764f7c1so499324e0c.2 for ; Thu, 03 Apr 2025 09:45:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1743698725; x=1744303525; darn=gnu.org; h=to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=EG0CNnH0GJ7fDJ8ue4bBZyPgsZRWRuaoHuj8sUrukW8=; b=mo4hCRdUBFfR6OPyDbHRkbA9QV+u5bo6GBPMYUvLijZXdIC9/yggPpyCiest08qXHm 9KC4LdPfn4R4ZGaBlo2j65MbOAw4/S0Jo9SzHIbGFosM7bQXg2WtTJQzZO/fZSoup8E8 qqdRcYMQGPLW/7WfrcSdWn0wzK6pMSZfoiwopAuE1vIs4lWj9gkjWQOTobXpcYA7MQre AWZOoulYo1+x+sWgWdRelmp+4JqOFlFexhoVR238MXAEBqMB2YlWAZmUa/KForUoN9nB 6NUo7i17L6+yWpVsa2zl239vm6DvKi4qb76l/hOh3pYVtJHVXCtHaEmaOlYox62QO4+x vNiQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743698725; x=1744303525; h=to:subject:message-id:date:from:mime-version:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=EG0CNnH0GJ7fDJ8ue4bBZyPgsZRWRuaoHuj8sUrukW8=; b=PnyME5998EQ0FjmEnSPSicGdQap/TagVvaxOoOLyWVkZqTR5OEb0SPcFDCnwggv73/ YRKqyzoBwEg2v/+8guxFb2IJDwWY0XdIs7vlqKF0SaH3EjLgjEMdFCBUG4KPp1DnrxfC G0MwLQ33Ct5vobNgdEoLAEl7L3MXaa3cO3ndTn2EN4Jls5Qbpn88DK5PSC8ehTQ8zQi2 cLgqY3vmi7gzplH3d8Q/MxFkfMTdj7QG+UDdsHkZ3XderRVvbyL1aXCbk9SPdqIxVLyX TQ7oxVxF3rC/XxXrQRXKpwaNXiyXRyHBSSmamYaBBEJ86h+Za1qTHKmnH242MwYjy7hn wGBQ== X-Gm-Message-State: AOJu0YxwFCHGduAHVjhlMNyn8kw3uerVGUZZRAy4wWDWW3MuHEZ3BCFc 75I7o2frOAA/Mww1AXyA6xtUKeLng6/6Nz4Qbt41PWOEJh8Ooa2746K+FDFgS/DJfkmlnL2dAgk csfvX8v9x6072W9AsMRbp3YUWn0/qrw== X-Gm-Gg: ASbGncs4vyXRrw0xnumSIfPndGPWczTBeZPMIHHRWADOLDJZ4Frokiidc7jn2blWsPs 9uBFcWRXjVNplvM9WCg/HzXDBzHLvEuIq/3rh51sZE3ZhiWfsaj701nHDT2IgJTdAOgRkiSxhCg 92Nqvb+kBciE+sa3odhC57DEjjxg== X-Google-Smtp-Source: AGHT+IEYWO5rddrcudmU90S4KQLWJ5HKpbKI3bunuBMhbQ8+8bXl3k5AZNQnJkeWSHRtiE/NV5SpixtuqMggrdDSIfY= X-Received: by 2002:a05:6122:828f:b0:523:dd87:fe86 with SMTP id 71dfb90a1353d-5276453c081mr201692e0c.6.1743698724890; Thu, 03 Apr 2025 09:45:24 -0700 (PDT) MIME-Version: 1.0 From: Ship Mints Date: Thu, 3 Apr 2025 12:45:13 -0400 X-Gm-Features: ATxdqUGXzi8_o1L380vq4Vq6oau9_Jqd1fsvrcIIqiBqW7Z4qBcxjiOOWvx6UCM Message-ID: Subject: [PATCH] Add 'ns-app-badge' to set macOS / GNUstep icon badge To: bug-gnu-emacs@gnu.org Content-Type: multipart/mixed; boundary="00000000000017c7030631e27ffb" Received-SPF: pass client-ip=2607:f8b0:4864:20::a33; envelope-from=shipmints@gmail.com; helo=mail-vk1-xa33.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.0 (/) --00000000000017c7030631e27ffb Content-Type: multipart/alternative; boundary="00000000000017c7000631e27ff9" --00000000000017c7000631e27ff9 Content-Type: text/plain; charset="UTF-8" This function allows one to visually differentiate multiple running Emacs sessions by icon in the doc or application switcher using the icon badge. For example set the badge to the Emacs version, or add "test" to indicate an instance launched for testing. It can also be used to indicate pending items for MUAs or whatever someone wants. This very simple feature has been on my list for a while... -Stephane --00000000000017c7000631e27ff9 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
This function allows one to visually differentiate multiple running Emac= s sessions by icon in the doc or application switcher using the icon badge.= =C2=A0 For example set the badge to the Emacs version, or add "test&qu= ot; to indicate an instance launched for testing.=C2=A0 It can also be used= to indicate pending items for MUAs or whatever someone wants.=C2=A0 This v= ery simple feature has been on my list for a while...

-Stephane
--00000000000017c7000631e27ff9-- --00000000000017c7030631e27ffb Content-Type: application/octet-stream; name="0001-Add-ns-app-badge-to-set-macOS-GNUstep-icon-badge.patch" Content-Disposition: attachment; filename="0001-Add-ns-app-badge-to-set-macOS-GNUstep-icon-badge.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_m91l3esv0 RnJvbSA3OWViOTUwNTMyYjAzN2YxMDdhYTQ2NGE2MTQ0ODJhYTU1ZGI1MWNhIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBzaGlwbWludHMgPHNoaXBtaW50c0BnbWFpbC5jb20+CkRhdGU6 IFRodSwgMyBBcHIgMjAyNSAxMjozNzozNCAtMDQwMApTdWJqZWN0OiBbUEFUQ0hdIEFkZCAnbnMt YXBwLWJhZGdlJyB0byBzZXQgbWFjT1MgLyBHTlVzdGVwIGljb24gYmFkZ2UKCiogZG9jL2VtYWNz L21hY29zLnRleGkgKE1hYyBPUyAvIEdOVXN0ZXApOiBSZWZlcmVuY2UgbmV3IG5vZGUuCihNYWMg LyBHTlVzdGVwIEZ1bmN0aW9ucyk6IE5ldyBub2RlIGFuZCBzZWN0aW9uLgoqIGV0Yy9ORVdTOiBB bm5vdW5jZSB0aGUgbmV3IGZ1bmN0aW9uLgoqIHNyYy9uc2Zucy5tIChGbnNfYXBwX2JhZGdlKTog TmV3IGZ1bmN0aW9uLgooc3ltc19vZl9uc2Zucyk6IE5ldyBmdW5jdGlvbi4KLS0tCiBkb2MvZW1h Y3MvbWFjb3MudGV4aSB8IDEyICsrKysrKysrKysrKwogZXRjL05FV1MgICAgICAgICAgICAgfCAg NiArKysrKysKIHNyYy9uc2Zucy5tICAgICAgICAgIHwgMTkgKysrKysrKysrKysrKysrKysrKwog MyBmaWxlcyBjaGFuZ2VkLCAzNyBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvZG9jL2VtYWNz L21hY29zLnRleGkgYi9kb2MvZW1hY3MvbWFjb3MudGV4aQppbmRleCA4MWFmNmNkMzk4Yy4uOWIx NDYxYTM2MTcgMTAwNjQ0Ci0tLSBhL2RvYy9lbWFjcy9tYWNvcy50ZXhpCisrKyBiL2RvYy9lbWFj cy9tYWNvcy50ZXhpCkBAIC0zNiw2ICszNiw3IEBAIE1hYyBPUyAvIEdOVXN0ZXAKICogTWFjIC8g R05Vc3RlcCBCYXNpY3M6OiAgICAgICAgQmFzaWMgRW1hY3MgdXNhZ2UgdW5kZXIgR05Vc3RlcCBv ciBtYWNPUy4KICogTWFjIC8gR05Vc3RlcCBDdXN0b21pemF0aW9uOjogQ3VzdG9taXphdGlvbnMg dW5kZXIgR05Vc3RlcCBvciBtYWNPUy4KICogTWFjIC8gR05Vc3RlcCBFdmVudHM6OiAgICAgICAg SG93IHdpbmRvdyBzeXN0ZW0gZXZlbnRzIGFyZSBoYW5kbGVkLgorKiBNYWMgLyBHTlVzdGVwIEZ1 bmN0aW9uczo6ICAgICBtYWNPUyAvIEdOVXN0ZXAgcGxhdGZvcm0gZnVuY3Rpb25zLgogKiBHTlVz dGVwIFN1cHBvcnQ6OiAgICAgICAgICAgICBEZXRhaWxzIG9uIHN0YXR1cyBvZiBHTlVzdGVwIHN1 cHBvcnQuCiBAZW5kIG1lbnUKIApAQCAtMjcyLDYgKzI3MywxNyBAQCBNYWMgLyBHTlVzdGVwIEV2 ZW50cwogc2VydmljZXMgYW5kIHJlY2VpdmUgdGhlIHJlc3VsdHMgYmFjay4gIE5vdGUgdGhhdCB5 b3UgbWF5IG5lZWQgdG8KIHJlc3RhcnQgRW1hY3MgdG8gYWNjZXNzIG5ld2x5LWF2YWlsYWJsZSBz ZXJ2aWNlcy4KIAorQG5vZGUgTWFjIC8gR05Vc3RlcCBGdW5jdGlvbnMKK0BzZWN0aW9uIE1hYyAv IEdOVXN0ZXAgRnVuY3Rpb25zCisKK0BmaW5kZXggbnMtYXBwLWJhZGdlCisgIFlvdSBjYW4gdXNl IHRoZSBmdW5jdGlvbiBAY29kZXtucy1hcHAtYmFkZ2V9IHRvIHNldCBvciBjbGVhciB0aGUgRW1h Y3MKK2FwcGxpY2F0aW9uIGljb24ncyBgYGJhZGdlJycgYXMgaXQgbWlnaHQgYXBwZWFyIG9uIGEg YGBkb2NrJycgb3IgaW4gYW4KK2FwcGxpY2F0aW9uIHN3aXRjaGVyLiAgVGhpcyBmdW5jdGlvbiB0 YWtlcyBvbmUgcGFyYW1ldGVyLCBhIHN0cmluZywgZm9yCit0aGUgYmFkZ2UuICBUaGlzIGlzIGlu dGVuZGVkIHRvIGJlIGEgdmVyeSBzaG9ydCBzdHJpbmcgdG8gZml0IGludG8gdGhlCitzbWFsbCB2 aXN1YWwgc3BhY2UgYWxsb2NhdGVkIGZvciBhIGJhZGdlLiAgVGhlIHN0cmluZyBtYXkgY29udGFp bgorVW5pY29kZSBjaGFyYWN0ZXJzLiAgUGFzcyBAY29kZXtuaWx9IHRvIHJlc2V0IHRoZSBiYWRn ZS4KKwogQG5vZGUgR05Vc3RlcCBTdXBwb3J0CiBAc2VjdGlvbiBHTlVzdGVwIFN1cHBvcnQKIApk aWZmIC0tZ2l0IGEvZXRjL05FV1MgYi9ldGMvTkVXUwppbmRleCA4YzY1YjE5NWIxYS4uYjk0OWYy ZGQ5NWIgMTAwNjQ0Ci0tLSBhL2V0Yy9ORVdTCisrKyBiL2V0Yy9ORVdTCkBAIC0xNjU2LDYgKzE2 NTYsMTIgQEAgY29tbWFuZHMuICBXaGVuIG5pbCwgY2xpY2tpbmcgb24gYW4gaW5hY3RpdmUgRW1h Y3MgZnJhbWUgd2lsbCBvbmx5CiBhY3RpdmF0ZSBpdC4gIFdoZW4gdCAodGhlIGRlZmF1bHQpLCB0 aGUgY2xpY2sgd2lsbCBib3RoIGFjdGl2YXRlIHRoZQogZnJhbWUgYW5kIGJlIGludGVycHJldGVk IGFzIGEgY29tbWFuZC4KIAorKysrCisqKiogTmV3IGZ1bmN0aW9uICducy1hcHAtYmFkZ2UnIG9u IE5leHRzdGVwIChHTlVzdGVwL01hYyBPUykuCitZb3UgY2FuIG5vdyBzZXQgb3IgcmVzZXQgdGhl IGFwcGxpY2F0aW9uJ3MgaWNvbiBiYWRnZS4gIFRoZSBzaW5nbGUKK2FyZ3VtZW50IGlzIGEgc3Ry aW5nLCB3aGljaCBtYXkgY29udGFpbiBVbmljb2RlIGNoYXJhY3RlcnMsIG9yIG5pbCB0bworcmVz ZXQgdGhlIGJhZGdlLgorCiAtLS0KICoqKiBOZXcgdXNlciBvcHRpb24gJ2dsb2JhbC1obC1saW5l LW1vZGVzJy4KIFRoaXMgc3BlY2lmaWVzIGluIHdoaWNoIG1ham9yIG1vZGVzIHNob3VsZCB0aGUg J2dsb2JhbC1obC1saW5lLW1vZGUnIGJlCmRpZmYgLS1naXQgYS9zcmMvbnNmbnMubSBiL3NyYy9u c2Zucy5tCmluZGV4IGIxZWQwZWZmNThhLi4xOTk1ODg2MjcwYiAxMDA2NDQKLS0tIGEvc3JjL25z Zm5zLm0KKysrIGIvc3JjL25zZm5zLm0KQEAgLTM3NTksNiArMzc1OSwyNCBAQCBUaGUgcG9zaXRp b24gaXMgcmV0dXJuZWQgYXMgYSBjb25zIGNlbGwgKFggLiBZKSBvZiB0aGUKICAgcmV0dXJuIFFu aWw7CiB9CiAKK0RFRlVOICgibnMtYXBwLWJhZGdlIiwgRm5zX2FwcF9iYWRnZSwgU25zX2FwcF9i YWRnZSwgMSwgMSwgMCwKKyAgICAgICBkb2M6IC8qIFNldCB0aGUgYXBwIGljb24gYmFkZ2UgdG8g QkFER0UuCitCQURHRSBzaG91bGQgYmUgYSBzdHJpbmcgc2hvcnQgZW5vdWdoIHRvIGRpc3BsYXkg bmljZWx5IGluIHRoZSBzaG9ydAorc3BhY2UgaW50ZW5kZWQgZm9yIGJhZGdlcy4gIElmIEJBREdF IGlzIG5pbCwgdGhlIGFwcCBiYWRnZSBpcworY2xlYXJlZC4gICovKQorICAoTGlzcF9PYmplY3Qg YmFkZ2UpCit7CisgIGlmIChOSUxQIChiYWRnZSkpCisgICAgW1tOU0FwcCBkb2NrVGlsZV0gc2V0 QmFkZ2VMYWJlbDogbmlsXTsKKyAgZWxzZQorICAgIHsKKyAgICAgIENIRUNLX1NUUklORyAoYmFk Z2UpOworICAgICAgW1tOU0FwcCBkb2NrVGlsZV0gc2V0QmFkZ2VMYWJlbDoKKwkJCSAgW05TU3Ry aW5nIHN0cmluZ1dpdGhVVEY4U3RyaW5nOiBTU0RBVEEgKGJhZGdlKV1dOworICAgIH0KKyAgcmV0 dXJuIFFuaWw7Cit9CisKIC8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAKICAgICBDbGFzcyBpbXBsZW1l bnRhdGlvbnMKQEAgLTM5OTEsNiArNDAwOSw3IEBAIC0gKExpc3BfT2JqZWN0KWxpc3BTdHJpbmcK ICAgZGVmc3ViciAoJlNuc19zZXRfbW91c2VfYWJzb2x1dGVfcGl4ZWxfcG9zaXRpb24pOwogICBk ZWZzdWJyICgmU25zX21vdXNlX2Fic29sdXRlX3BpeGVsX3Bvc2l0aW9uKTsKICAgZGVmc3ViciAo JlNuc19zaG93X2NoYXJhY3Rlcl9wYWxldHRlKTsKKyAgZGVmc3ViciAoJlNuc19hcHBfYmFkZ2Up OwogICBkZWZzdWJyICgmU3hfZGlzcGxheV9tbV93aWR0aCk7CiAgIGRlZnN1YnIgKCZTeF9kaXNw bGF5X21tX2hlaWdodCk7CiAgIGRlZnN1YnIgKCZTeF9kaXNwbGF5X3NjcmVlbnMpOwotLSAKMi40 Ny4xCgo= --00000000000017c7030631e27ffb-- From debbugs-submit-bounces@debbugs.gnu.org Thu Apr 03 13:17:18 2025 Received: (at 77496) by debbugs.gnu.org; 3 Apr 2025 17:17:18 +0000 Received: from localhost ([127.0.0.1]:35486 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1u0OBq-0007uO-6V for submit@debbugs.gnu.org; Thu, 03 Apr 2025 13:17:18 -0400 Received: from mail-ua1-x930.google.com ([2607:f8b0:4864:20::930]:54576) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1u0OBm-0007uA-Su for 77496@debbugs.gnu.org; Thu, 03 Apr 2025 13:17:15 -0400 Received: by mail-ua1-x930.google.com with SMTP id a1e0cc1a2514c-86b9d9b02cbso516736241.1 for <77496@debbugs.gnu.org>; Thu, 03 Apr 2025 10:17:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1743700629; x=1744305429; darn=debbugs.gnu.org; h=to:subject:message-id:date:from:in-reply-to:references:mime-version :from:to:cc:subject:date:message-id:reply-to; bh=qGWhoINQ5eWQTMdO9zuAT7ny+z3JRRF+HhK8LkUQXf4=; b=kUZvhS3WZH2RZpbBqaiN6+H5h7v5KeF6R91uWpfDfTJXiWFMt23lru4pEejTSGWkLZ 8N6jaQlGFCI2uV+4Yr0uv6GDnz1JGtZcP3IU6I5ESKcLZLcNetwlJ1vwPMbNrTglgvw+ PAKrodOT1HaDiTsfGBQ3p67ruz9zZblgZ32pS4fz+rTCf73slsCTWziqy0xBQDrQdc0X /E6TcsOdQNzt+9pNipmKxHcvs3aE/ll30RU1Zr93aIPPykXRqxFrcq/m72RayggE/3Q2 hIBVqe5zzZ9CPSzkuaJGIeTj6o23j64/iLTPGKnRZcsW0X7MFPRgN8Fx6VgAJD3zedHw /kWA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743700629; x=1744305429; h=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=qGWhoINQ5eWQTMdO9zuAT7ny+z3JRRF+HhK8LkUQXf4=; b=Qr6M2aRZUHDUk/1+Fz5UBJqDrEwKct6Ln7BWkW5Rfbc96ZSajk4C7VfnhemypEPpsp KoCqlm1yySiV8Kg2cULHurgnsiAGXOs+5bPumr2vAwXIa+DNW8E4X90zAfTefB97F0mR iwK8Jsj5ztHMxLEHvbn0bYTNPgI94xT8FYQucJS2QxX8h9vjq+O0QOrhhPuLdZ0lRgNq Nh9+Z3mtOLN5/cAKGhFGWp3N3ecuFpf11+m9eh7R34Jnr7yEItsY8pWDC0r+3MFBVEg0 b80mLIIVS+aofVZbU23Z9qtIukJeDXxRFLCaMnkfdXLorixrKtqs8LXdVbOHGarlPARX 9WlA== X-Gm-Message-State: AOJu0Yzzs1MaVk02kT/2wmZmieW0pOyWkoW3beY1kvu+hjnVzueEvEKM s5c6qMi2FOgGH6UuAv0RRJtrQN4kNjtX1Y62LpK2/NtkI/etugdAdyJ4zIXFDRcWJ3GHUC2fNTg pz64HURQSssm32XE3Fizv4IFTmclp5g== X-Gm-Gg: ASbGnct7Vu7291zKzaSorSYqTsOhuLKdbOdTyq7fNZWdBHXAqNrdD4ekn/EY6UyZf66 r/abY2H6ZtB09Aep9QKzhRxriiBxaj2vc7J+u8DzCWwKnF00uTvgLjACt/Eo5Hxrp6aaRgOaLPe RLyz9uHWhaOjIpUyqBEV6qhfZmdA== X-Google-Smtp-Source: AGHT+IHEaDy+PyttlYk6RU/JXA54C69bQQMEO7yogWrYgMjgTPLtILvdWNkYFSH2xoDgQ1togjxgvSoMgOVIBJhtjhs= X-Received: by 2002:a05:6122:3127:b0:520:6773:e5ea with SMTP id 71dfb90a1353d-5276452c14bmr367386e0c.7.1743700628779; Thu, 03 Apr 2025 10:17:08 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Ship Mints Date: Thu, 3 Apr 2025 13:16:57 -0400 X-Gm-Features: ATxdqUEwtSWBFMAQ-OSpsw8_wS2dnqGWCheonGP-yO9Z2SE39yNO2paw1ePDf0w Message-ID: Subject: Re: bug#77496: [PATCH] Add 'ns-app-badge' to set macOS / GNUstep icon badge To: 77496@debbugs.gnu.org Content-Type: multipart/alternative; boundary="00000000000092bac50631e2f0ef" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 77496 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) --00000000000092bac50631e2f0ef Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable FYI, this is backward compatible to at least macOS 10.5 from 2007 so I didn't wrap the function with a version check. GNUstep has had support for at least six years (the Emacs documentation says GNUstep is still "alpha" anyway, right?). On Thu, Apr 3, 2025 at 12:46=E2=80=AFPM Ship Mints wr= ote: > This function allows one to visually differentiate multiple running Emacs > sessions by icon in the doc or application switcher using the icon badge. > For example set the badge to the Emacs version, or add "test" to indicate > an instance launched for testing. It can also be used to indicate pendin= g > items for MUAs or whatever someone wants. This very simple feature has > been on my list for a while... > > -Stephane > --00000000000092bac50631e2f0ef Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
FYI, this is backward compatible to at least macOS 10.5 from 2007 so I d= idn't wrap the function with a version check.=C2=A0 GNUstep has had sup= port for at least six years (the Emacs documentation says GNUstep is still = "alpha" anyway, right?).

On Thu, Apr 3= , 2025 at 12:46=E2=80=AFPM Ship Mints <shipmints@gmail.com> wrote:
This function allows one to visually differenti= ate multiple running Emacs sessions by icon in the doc or application switc= her using the icon badge.=C2=A0 For example set the badge to the Emacs vers= ion, or add "test" to indicate an instance launched for testing.= =C2=A0 It can also be used to indicate pending items for MUAs or whatever s= omeone wants.=C2=A0 This very simple feature has been on my list for a whil= e...

=
-Stephan= e
--00000000000092bac50631e2f0ef-- From debbugs-submit-bounces@debbugs.gnu.org Thu Apr 03 13:42:22 2025 Received: (at 77496) by debbugs.gnu.org; 3 Apr 2025 17:42:22 +0000 Received: from localhost ([127.0.0.1]:35530 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1u0Oa6-0000bX-Ic for submit@debbugs.gnu.org; Thu, 03 Apr 2025 13:42:22 -0400 Received: from mail-vk1-xa36.google.com ([2607:f8b0:4864:20::a36]:54344) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1u0Oa5-0000bL-12 for 77496@debbugs.gnu.org; Thu, 03 Apr 2025 13:42:21 -0400 Received: by mail-vk1-xa36.google.com with SMTP id 71dfb90a1353d-52617ceae0dso467615e0c.0 for <77496@debbugs.gnu.org>; Thu, 03 Apr 2025 10:42:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1743702135; x=1744306935; darn=debbugs.gnu.org; h=to:subject:message-id:date:from:in-reply-to:references:mime-version :from:to:cc:subject:date:message-id:reply-to; bh=CQv0SO3lMrYOtR5wtcipnLgRQUWAjuTHr9iuRRHuBJ4=; b=ba07VKA5g/vKqaKN/zVUGM1RKl4nZ/SIha6gBllsdbS9YQL/xZOvq28Skfy7BRwvQ4 5CxuOWL4LkR+cHa6u4xTe0TdWOEtndMxGGm6cEwd/boNbOvlRB8m9uRFmWJH/F4bPlhq etb2Alt++8EZ2B5gEmbcZALQ7qhxZaoMjr4FWfjSnFVK3z+eCo3ccJMqJU4Tc1HavJMp IZK2FUYpUhM44o3I3TgHceHZvhPy4e/FBcPW8tzSF8dfCjEJa+oc+DFUTNOmPwvKFD7W 4tkKwKrTDWTkDAl9TWa3Bu3StgFjkmFhsml4Uvu6LLrb8h1I5kd3ilSA1Oj6JBr3DBLe H/5Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743702135; x=1744306935; h=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=CQv0SO3lMrYOtR5wtcipnLgRQUWAjuTHr9iuRRHuBJ4=; b=WysAzJgtMYPAb7Li25Vqy4FR13ieLP3Ao3pqvg4hwPcp0Mn7Gy/Uxd08wG9swxVdGE /jwJhPX3Wkd0Cr50ESpEw/WYfH724n4k9A9RNGHhpvdDWD+lgrcqRyAgmpfD1hOmOood c4jXjsRS9vrDIzQXASCBFL+c8nCNwCeWnvLHKpQJNAQ+7Y9/ia1O3GKHENx8f9H5dR+m Uq4xKvkNpBIiBBO42ZpFio1pG7CT8iAs4MEWfPQ1nvsXELxLwJvPH/Ysl3QZAMC/UbVX BNztrLm/cOFju0O8pogp6frQ2RmocOS2k+V7uY0lJdkOwOMRqbZqNL6eVCxjkJiDUxjj PfeA== X-Gm-Message-State: AOJu0YwkbMzLfiSWVa/dZ4uusMcGRxP2wR5kNmcPRjAwLk+hP4rqz/lA vEnMLEs8FD1qnUwNLAXNMloQBTC2yg/u5+/MLNNjrOVeJW3dXO6lE9Af4tbXVAGlwLnZWZMVGX9 S+3gdtUoWtb8w8rRWS67278Sbab8kG8dS X-Gm-Gg: ASbGncuDg6OHh3CLu9XREzXV+s4iGGCGaki2Y5FC0/p8crh0mo2RD/QpvUH4P2RbRsq bBOJvAnTHS8+oybUf8ZLUEQ8qp/S0WxUbKLmoaVWcvJpXECnvZ6QGii0J4VJ8isSvMudtTqMhDh 2uDegOzfgNbpd15cFirs/fSRpSNg== X-Google-Smtp-Source: AGHT+IEiBqk9pKPACAMNtQ6Vrmn5PVWvVPqzs9yl8f8++82wokqjXg6KNryZJ4XalQnfKwzPo/1fy/Nr4c9iYTFADQw= X-Received: by 2002:a05:6122:1349:b0:520:5f0a:b5a5 with SMTP id 71dfb90a1353d-5276452c8b9mr457218e0c.6.1743702134839; Thu, 03 Apr 2025 10:42:14 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Ship Mints Date: Thu, 3 Apr 2025 13:42:03 -0400 X-Gm-Features: ATxdqUFQBMRb3Bgnqui_6cc2_TAxH67BRY2ns-R795N5wNCgoM_-EOmyHIej9kQ Message-ID: Subject: Re: bug#77496: [PATCH] Add 'ns-app-badge' to set macOS / GNUstep icon badge To: 77496@debbugs.gnu.org Content-Type: multipart/related; boundary="0000000000005786d10631e34a84" X-Debbugs-Envelope-To: 77496 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" --0000000000005786d10631e34a84 Content-Type: multipart/alternative; boundary="0000000000005786d00631e34a83" --0000000000005786d00631e34a83 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Thu, Apr 3, 2025 at 1:16=E2=80=AFPM Ship Mints wro= te: > FYI, this is backward compatible to at least macOS 10.5 from 2007 so I > didn't wrap the function with a version check. GNUstep has had support f= or > at least six years (the Emacs documentation says GNUstep is still "alpha" > anyway, right?). > > On Thu, Apr 3, 2025 at 12:46=E2=80=AFPM Ship Mints = wrote: > >> This function allows one to visually differentiate multiple running Emac= s >> sessions by icon in the doc or application switcher using the icon badge= . >> For example set the badge to the Emacs version, or add "test" to indicat= e >> an instance launched for testing. It can also be used to indicate pendi= ng >> items for MUAs or whatever someone wants. This very simple feature has >> been on my list for a while... >> >> -Stephane >> > Sample screenshot: [image: image.png] --0000000000005786d00631e34a83 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
= On Thu, Apr 3, 2025 at 1:16=E2=80=AFPM Ship Mints <shipmints@gmail.com> wrote:
F= YI, this is backward compatible to at least macOS 10.5 from 2007 so I didn&= #39;t wrap the function with a version check.=C2=A0 GNUstep has had support= for at least six years (the Emacs documentation says GNUstep is still &quo= t;alpha" anyway, right?).

On Thu, Apr 3, 2025 at 12:46=E2=80=AFPM= Ship Mints <sh= ipmints@gmail.com> wrote:
This= function allows one to visually differentiate multiple running Emacs sessi= ons by icon in the doc or application switcher using the icon badge.=C2=A0 = For example set the badge to the Emacs version, or add "test" to = indicate an instance launched for testing.=C2=A0 It can also be used to ind= icate pending items for MUAs or whatever someone wants.=C2=A0 This very sim= ple feature has been on my list for a while...

-Stephane

Sample screenshot:

3D"image.png"
--0000000000005786d00631e34a83-- --0000000000005786d10631e34a84 Content-Type: image/png; name="image.png" Content-Disposition: inline; filename="image.png" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: ii_m91n7h4u2 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 SUVORK5CYII= --0000000000005786d10631e34a84-- From debbugs-submit-bounces@debbugs.gnu.org Fri Apr 04 02:13:27 2025 Received: (at 77496) by debbugs.gnu.org; 4 Apr 2025 06:13:27 +0000 Received: from localhost ([127.0.0.1]:36767 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1u0aIx-0004uk-4G for submit@debbugs.gnu.org; Fri, 04 Apr 2025 02:13:27 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:44080) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1u0aIu-0004uU-D2 for 77496@debbugs.gnu.org; Fri, 04 Apr 2025 02:13:25 -0400 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 ) id 1u0aIo-00008l-Rd; Fri, 04 Apr 2025 02:13:18 -0400 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=5xmLFWyn2IF3P0OG/3DovUA2rYNZCZadTMRbccN+Bjc=; b=FpBmlbl1YeJc oJCJy1ZzKTW4dl8N6AehGvgyPPfqQlxAkfLPJ3RaIIYgy5uIELKR4+MTJZ1xXHeLBrRIoSAia9LG3 jTg2kh3/Eu+om75Y/fIva8c+mOLXBZ0kq29PcVm0D8ZZbNz/OzAc5QjdGROEpsdijm/uLFbYpWeiq 9ju+e6vHgFVOWMEVfxnTAz5gVHjpi5oAyyuYDtNNLmT2alMxRbntD31saQUxKl4xrpma92xCi26rr Ctt3tvSgb9U/Xf8aynI9RbkmJahf1+aDINhJiVjahpfpZ78z/WqQOmQlhWU1Dd1wpnPtC7Fwmf3Wj k+O9Pgmo+FCZ+F1rLmmjcQ==; Date: Fri, 04 Apr 2025 09:13:16 +0300 Message-Id: <86bjtczc77.fsf@gnu.org> From: Eli Zaretskii To: Ship Mints In-Reply-To: (message from Ship Mints on Thu, 3 Apr 2025 12:45:13 -0400) Subject: Re: bug#77496: [PATCH] Add 'ns-app-badge' to set macOS / GNUstep icon badge References: X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 77496 Cc: 77496@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Ship Mints > Date: Thu, 3 Apr 2025 12:45:13 -0400 > > This function allows one to visually differentiate multiple running Emacs sessions by icon in the doc or > application switcher using the icon badge. For example set the badge to the Emacs version, or add "test" to > indicate an instance launched for testing. It can also be used to indicate pending items for MUAs or whatever > someone wants. This very simple feature has been on my list for a while... Thanks, but we can't install this until there's a comparable functionality in Emacs on free systems (GNU/Linux and others). Would you like to work on implementing something similar on X and/or PGTK platforms? If and when we do have something similar on other platforms, the function you implemented should become an internal one, and a platform-independent API should be introduced, whose name should be something more descriptive and not specific to NS terminology. Like gui-add-icon-notification, perhaps? From debbugs-submit-bounces@debbugs.gnu.org Fri Apr 04 02:40:58 2025 Received: (at 77496) by debbugs.gnu.org; 4 Apr 2025 06:40:58 +0000 Received: from localhost ([127.0.0.1]:36824 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1u0aja-0006Cb-Ds for submit@debbugs.gnu.org; Fri, 04 Apr 2025 02:40:58 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:39926) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1u0ajY-0006CN-7k for 77496@debbugs.gnu.org; Fri, 04 Apr 2025 02:40:56 -0400 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 ) id 1u0ajQ-00050q-0y; Fri, 04 Apr 2025 02:40:49 -0400 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=pWJrfp6XpTTbhn3jQaUKjgW1S4gp1VXHOKofYB611r4=; b=oHVuRGiPTQeX MI5Z4M1NigE/RdMuLHW72zBFhmRevlXyn6Y7TSF934vUBdIeQeLh2lnP67Imc6Uj/X7bifjt+CnwR oNaiRtMr0m9LA14PVD+6R5hL80WwRNuHG/E44P3RWSw58GLebaQi2Uy2s8NI6agUmnvNAs8CPwzi5 GXZWPVip+yLzPSE06ss+hwE+smH7KcWeJz/osrt9tVe5cCzBdgHCQJcyFwjseAQCkiqEVmdEjyHll TT4E1fTPeJpq9lPeDtN9k2aoulR98EGbHrCNoI2n5h9hZd4t8MPIeTDIhbxg4RCJfJS6vbi6f2efH ML35HYZIwRSzgmo7gf2hVA==; Date: Fri, 04 Apr 2025 09:40:04 +0300 Message-Id: <86a58wzayj.fsf@gnu.org> From: Eli Zaretskii To: Ship Mints In-Reply-To: (message from Ship Mints on Thu, 3 Apr 2025 13:16:57 -0400) Subject: Re: bug#77496: [PATCH] Add 'ns-app-badge' to set macOS / GNUstep icon badge References: X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 77496 Cc: 77496@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Ship Mints > Date: Thu, 3 Apr 2025 13:16:57 -0400 > > FYI, this is backward compatible to at least macOS 10.5 from 2007 so I didn't wrap the function with a version > check. GNUstep has had support for at least six years (the Emacs documentation says GNUstep is still > "alpha" anyway, right?). If the code uses features that are only available since some OS version, we should make sure that using that on older OS versions does nothing, and especially doesn't do any harm, like crash Emacs. If the OS API itself ignores such calls in older OS versions, then the Emacs code doesn't have to be wrapped with an OS test; otherwise, we must have the OS version test to prevent adverse effects on older OS versions. Specifically, for this feature: do we still support versions of macOS older than 10.5 in Emacs? If we do, then the backward compatibility provided by the OS is not enough for us. P.S. All this doesn't change the fact that we can only install this feature when it can be made available on free systems. From debbugs-submit-bounces@debbugs.gnu.org Fri Apr 04 07:38:18 2025 Received: (at 77496) by debbugs.gnu.org; 4 Apr 2025 11:38:18 +0000 Received: from localhost ([127.0.0.1]:37293 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1u0fNJ-0000ME-G9 for submit@debbugs.gnu.org; Fri, 04 Apr 2025 07:38:18 -0400 Received: from mail-ua1-x929.google.com ([2607:f8b0:4864:20::929]:44135) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1u0fNG-0000Lv-BM for 77496@debbugs.gnu.org; Fri, 04 Apr 2025 07:38:14 -0400 Received: by mail-ua1-x929.google.com with SMTP id a1e0cc1a2514c-86d42f08219so846826241.0 for <77496@debbugs.gnu.org>; Fri, 04 Apr 2025 04:38:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1743766688; x=1744371488; 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=DG1kAaulVNsK2iUdJasTwm2LolMkJY7RBnrYzHf3kiE=; b=QTen4MwDS5wrW7ilj8KNMQBqdh3I9f3iQuDN2US77FRgY47PE8utpAkQBLRXo2HHA8 6rFeyI62SBqmriQRFYERKx8Kzpv0KxboEt/BvTdzvrfPvcSr5WMf7uL3W3EJJCen85kn J1FeLdExhcfmtDCy1gVqIxfhJ1AXf5WSXe5j2VPM1Vv/rVRxPcBQQ6ywG0G+a5Mkdlqv bPR9QL8NTGs2iqFC78ZGhID8eMReJwXUbbeWHYhILM2czoMW1B9jRvlegkO39/hYTmVU hcXMOd4GeXwFgKFOL09KYbbDlmLPKBsoySFSVDMy8yae0BmPUo/Ewg4q7PS4xGt+EwT7 1i/w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743766688; x=1744371488; 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=DG1kAaulVNsK2iUdJasTwm2LolMkJY7RBnrYzHf3kiE=; b=rz+oUKs9od7k9gBuNRJtQogQ1tbDHWRrwh6ENZtl6scZ6hrBrzruItkeV4QplZiPmi XYKlnztxjH93LgEzC3eYZhErPe7QunfoeFbtZeZncRs9TRbaJetLwGsNArH3AWRilsTr n8c6b+8zeUA/nHJYkLJK0iaGmpuB8q0L39S12zNwT9KJPT7y/BhNEqCsjRF9OQEWQwnN Tk0A/P+Hl2SOowJQxoJLcyjh41eNvqhFVZgsRy0OxfDoBhf4/RNj7ZEYQACXvTEdYVnW ymCMOy8bTKjIlvdWop+6Pxaaxa8kR3cXVBllFSlv+9OrEvOlLN94mutCTHCbO8ADVoAv npXg== X-Gm-Message-State: AOJu0YyECnLyDy0/6vkmc2X5bax3O5VvNzbbKqF8c21nn4rO6V19R4F4 QFBoCDWFjQk3XxLEWX8850Bkf7/Fr2T0VvpONMw237oFkzvX4gCZHszWzp0I42T05EgzfLuflnY NqyXnTR0pzi7TFBzcqVipaH+6y2w= X-Gm-Gg: ASbGncsIdc+P9W4kfS6wXzrBdH4bV/q7N1bt6OhwCulWqd3++HHJriNVOUtbTSlmq1/ 1bPC5r5jP04MOQiA1VJ+A51P+mcim3gXH9AtkYu3ZNbSajNUSqpbOi3Tx+yG92Hh1RO2HF6nR5G 1Da6EmNm2ZdYjL+HtdVHoXnCW95A== X-Google-Smtp-Source: AGHT+IHPFf3c/gPOmVcXGh7fjvMhqiQE+lHbOITpkB87GnpjQNSPLNQrKiIzrCYDSMr9rWjngb0EnoZoR64FxkUl+GE= X-Received: by 2002:a05:6102:418b:b0:4c1:b0ad:a0bd with SMTP id ada2fe7eead31-4c8554acac7mr1883538137.23.1743766688574; Fri, 04 Apr 2025 04:38:08 -0700 (PDT) MIME-Version: 1.0 References: <86a58wzayj.fsf@gnu.org> In-Reply-To: <86a58wzayj.fsf@gnu.org> From: Ship Mints Date: Fri, 4 Apr 2025 07:37:57 -0400 X-Gm-Features: ATxdqUG4HvYRMOFyR0o2ByWUk-QfuY3Y_p6cSafRwX8krzhCatSRCA-r2kT81ds Message-ID: Subject: Re: bug#77496: [PATCH] Add 'ns-app-badge' to set macOS / GNUstep icon badge To: Eli Zaretskii Content-Type: multipart/alternative; boundary="0000000000000b35680631f25281" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 77496 Cc: 77496@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) --0000000000000b35680631f25281 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Fri, Apr 4, 2025 at 2:40=E2=80=AFAM Eli Zaretskii wrote: > > From: Ship Mints > > Date: Thu, 3 Apr 2025 13:16:57 -0400 > > > > FYI, this is backward compatible to at least macOS 10.5 from 2007 so I > didn't wrap the function with a version > > check. GNUstep has had support for at least six years (the Emacs > documentation says GNUstep is still > > "alpha" anyway, right?). > > If the code uses features that are only available since some OS > version, we should make sure that using that on older OS versions does > nothing, and especially doesn't do any harm, like crash Emacs. If the > OS API itself ignores such calls in older OS versions, then the Emacs > code doesn't have to be wrapped with an OS test; otherwise, we must > have the OS version test to prevent adverse effects on older OS > versions. > > Specifically, for this feature: do we still support versions of macOS > older than 10.5 in Emacs? If we do, then the backward compatibility > provided by the OS is not enough for us. > > P.S. All this doesn't change the fact that we can only install this > feature when it can be made available on free systems. > This feature exists in GNUstep. Is this not sufficiently free? The file nextstep/INSTALL says: Mac OS X 10.6 or later GNUstep "Startup 0.23" or later which are adequate minimums to support this function. If you think we really need complete parity with Linux desktop systems beyond GNUstep, based on some research this morning, we may be able to leve= rage dbus messages for desktops that support for "count" (numeric only, sheesh) / "count-visible". This functionality appears not to be tied to the running process as on macOS/GNUstep but to a "URL" like "application://{appname}.desktop" where I guess appname would be emacs or Emacs, I dunno yet how this really works when there are more than one running copies of an app process. I'll experiment and see if I can tease this out. If this seems easy and you're 100% adamant that GNUstep is insufficiently free, I can try to craft a more generic API that supports numeric counts for Linux desktop shells, and text labels for macOS/GNUstep. Anyone reading this thread that has experience on Linux desktops that support count/count-visible and you have a few minutes, contact me. -Stephane --0000000000000b35680631f25281 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
= On Fri, Apr 4, 2025 at 2:40=E2=80=AFAM Eli Zaretskii <eliz@gnu.org> wrote:
> From: Ship Mints <shipmints@gmail.com>
> Date: Thu, 3 Apr 2025 13:16:57 -0400
>
> FYI, this is backward compatible to at least macOS 10.5 from 2007 so I= didn't wrap the function with a version
> check.=C2=A0 GNUstep has had support for at least six years (the Emacs= documentation says GNUstep is still
> "alpha" anyway, right?).

If the code uses features that are only available since some OS
version, we should make sure that using that on older OS versions does
nothing, and especially doesn't do any harm, like crash Emacs.=C2=A0 If= the
OS API itself ignores such calls in older OS versions, then the Emacs
code doesn't have to be wrapped with an OS test; otherwise, we must
have the OS version test to prevent adverse effects on older OS
versions.

Specifically, for this feature: do we still support versions of macOS
older than 10.5 in Emacs?=C2=A0 If we do, then the backward compatibility provided by the OS is not enough for us.

P.S. All this doesn't change the fact that we can only install this
feature when it can be made available on free systems.

This feature exists in GNUstep.=C2=A0= Is this not sufficiently free?

The file nextstep/INSTALL says:=C2= =A0Mac OS X 10.6 or later=C2=A0GNUstep "Startup 0.23" or later wh= ich are adequate minimums to support this function.
<= div class=3D"gmail_default" style=3D"">
=
If y= ou think we really need complete parity with Linux desktop systems beyond G= NUstep, based on some research this morning, we may be able to=C2=A0= leverage dbus messages for desktops t= hat support for "count" (numeric only, sheesh) / "count-visi= ble".=C2=A0 This functionality appears not to be tied to the running p= rocess as on macOS/GNUstep but to a "URL" like "application://{appname}.desktop" wher= e I guess appname would be emacs or Emacs, I dunno yet how this really work= s when there are more than one running copies of an app process.=C2=A0 I= 9;ll experiment and see if I can tease this out.

If this seems eas= y and=C2=A0you're 100% adamant that GNUstep is insufficiently free, I c= an try to craft a more generic API that supports numeric counts for Linux d= esktop shells, and text labels for macOS/GNUstep.

Anyone reading t= his thread that has experience on Linux desktops that support count/count-v= isible and you have a few minutes, contact me.

-Stephane
--0000000000000b35680631f25281-- From debbugs-submit-bounces@debbugs.gnu.org Fri Apr 04 07:44:43 2025 Received: (at 77496) by debbugs.gnu.org; 4 Apr 2025 11:44:43 +0000 Received: from localhost ([127.0.0.1]:37309 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1u0fTX-0000cj-0o for submit@debbugs.gnu.org; Fri, 04 Apr 2025 07:44:43 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:48134) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1u0fTV-0000cR-1L for 77496@debbugs.gnu.org; Fri, 04 Apr 2025 07:44:41 -0400 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 ) id 1u0fTM-0001nZ-0B; Fri, 04 Apr 2025 07:44:33 -0400 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=pGyIx74HYHJXPGHbcRkPJCxxhlb4X2G9FWzoBpT+Dds=; b=ZbItyCqaVXgu 4GSlI8uN+ZoDMBINnceIUmqKFTHlMd0k1p0tpOkGqOd3VitSs/z/g1yMDbF5i9ODnZBfoAz5k8OQ3 N12LwlHy1+xFsKcCWpL/Vi2jzxtDVGl8vanG+xjeFHOZPbbEli+1PiSOi9V1B0TWAM+WdA0ppvC8H HLersmBrbTZYm8j+W+IBPkSKKjjGvQRlfF2U53AjSOuGI/Ko/RpjaPS759qx1JtqoASyH+qWfj0g3 Y4K2TmLb1aPLqhJYWOr0+pHg+pGPeh1dC8n3HB5CD+v6CvfyVunNDzd/cl3BUsNBeF7h4WjZWNxvd K8B8Q3YVxtzqAW/KeJLAwA==; Date: Fri, 04 Apr 2025 14:44:26 +0300 Message-Id: <86v7rkxiat.fsf@gnu.org> From: Eli Zaretskii To: Ship Mints In-Reply-To: (message from Ship Mints on Fri, 4 Apr 2025 07:37:57 -0400) Subject: Re: bug#77496: [PATCH] Add 'ns-app-badge' to set macOS / GNUstep icon badge References: <86a58wzayj.fsf@gnu.org> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 77496 Cc: 77496@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Ship Mints > Date: Fri, 4 Apr 2025 07:37:57 -0400 > Cc: 77496@debbugs.gnu.org > > P.S. All this doesn't change the fact that we can only install this > feature when it can be made available on free systems. > > This feature exists in GNUstep. Is this not sufficiently free? I mean the underlying OS. > If you think we really need complete parity with Linux desktop systems beyond GNUstep, based on some > research this morning, we may be able to leverage dbus messages for desktops that support for "count" > (numeric only, sheesh) / "count-visible". This functionality appears not to be tied to the running process as on > macOS/GNUstep but to a "URL" like "application://{appname}.desktop" where I guess appname would be > emacs or Emacs, I dunno yet how this really works when there are more than one running copies of an app > process. I'll experiment and see if I can tease this out. > > If this seems easy and you're 100% adamant that GNUstep is insufficiently free, I can try to craft a more > generic API that supports numeric counts for Linux desktop shells, and text labels for macOS/GNUstep. I'd be surprised if X and/or GTK don't have a comparable feature. So yes, I think we should have something similar on GNU/Linux. From debbugs-submit-bounces@debbugs.gnu.org Fri Apr 04 11:54:12 2025 Received: (at 77496) by debbugs.gnu.org; 4 Apr 2025 15:54:12 +0000 Received: from localhost ([127.0.0.1]:39640 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1u0jMy-0007KW-3q for submit@debbugs.gnu.org; Fri, 04 Apr 2025 11:54:12 -0400 Received: from mail-ua1-x92a.google.com ([2607:f8b0:4864:20::92a]:46394) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1u0jMv-0007KI-HR for 77496@debbugs.gnu.org; Fri, 04 Apr 2025 11:54:10 -0400 Received: by mail-ua1-x92a.google.com with SMTP id a1e0cc1a2514c-86fea8329cdso1988689241.1 for <77496@debbugs.gnu.org>; Fri, 04 Apr 2025 08:54:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1743782044; x=1744386844; 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=/Lm0+bGPi3P53gBiYY8CrJWtTs7rDmCWkh0DbzPBRxc=; b=eiU90CKiJVSgiyyUXMjtSjC2rM7xMh+JxrSs3n6frJzByk3qIlYPr5nqd/u0v8bnOI 5jIB+CFHXDf0Z0+kLiMidvkI4bpZTyuPbnL7D0SDNVVJSpyoYeIjwk9nIx4SLLmLKJzM OITcbTZWzYxyvbTImdLwaRML27qtjxtjLrn+GSb5prfjRNZu6IU8zNT4ZcOECZkl00AW JHwIqsEsTQp4FG1+pb1ZvqcLOxcJw0IrCmsm1WRBNjrE6USnP7xiNfkRD0u9Fng1C7ed y1nTSjRpMx0uhERIPfMKMIkQGl3qnRBMMIHYW0SeEjF8LVEVmb+2Zt8rZRAuYNZRwCJY Ic8w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743782044; x=1744386844; 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=/Lm0+bGPi3P53gBiYY8CrJWtTs7rDmCWkh0DbzPBRxc=; b=nmwyBS6ya79CVI/VPSsBt+DkxdOxvHLijSABVuvJPRuhOaIZDX7VQdEW2u3GqSNxPM r71+XCr0ay1WBB4rOlfJ/K1bbcB+JgeflN/aay99tksEhkdlFFJSQ0aZH9k4A4iJKn2l bQ7qdQHGOLDfDlKE5uW2QrO3zIC+W5AycdS/9mk+nparBNbxBpEk+SNAsIqrM1BrQmiA FpYcg4Xgt5n/yWAQVoT+zyDrQYwIIWgEToJorYSDH4hWu12ltI/x4F1zgAmA2Eo0IJjk sArEv1U8bTMdtK+WoIQUpAjA9frPddxZe2JIckc7uR4gtA/V9GtIjMkxF1/4B9lEGz1L 57hA== X-Gm-Message-State: AOJu0YwYzXYerbbliE3tofalzYznSaFr3FNYx6SXWhIfs1XUwfjib9JK LLZemTaOIIlk+oGfl2vt2JV/wnKCj4TK+bL015PdiP1Ypy1c167hebKevplZwJRRx3q4WMQq4RV XNuxKurOCSAabcBWkTfQjYx2rBjk= X-Gm-Gg: ASbGncsrfNwhcVdqnNGWAKc2HgtI+sQdc1yFxnLLdNgX1hyL51wIWu6tuSuc+9L8lWT uk1fHSDriqKALWLKHlx/SEcoJWqssdgV+HP2Rv4xmbtnnIT9r26CXI5YJqS0mtp/cLeP+1XGuNq YIe6ayjDfUF8MgVJOHZXUlDBjEPw== X-Google-Smtp-Source: AGHT+IGCsPFlLGyVPWqmfO+QBKmh3RO2zxhSvjJMxfv5/0i6ulFMIdxHGs3Key6w4QKRES89RhaGvD9Ll6s4hj/Sjc8= X-Received: by 2002:a05:6102:f90:b0:4bb:c8e5:aa6d with SMTP id ada2fe7eead31-4c855483279mr3518725137.17.1743782043702; Fri, 04 Apr 2025 08:54:03 -0700 (PDT) MIME-Version: 1.0 References: <86a58wzayj.fsf@gnu.org> <86v7rkxiat.fsf@gnu.org> In-Reply-To: <86v7rkxiat.fsf@gnu.org> From: Ship Mints Date: Fri, 4 Apr 2025 11:53:52 -0400 X-Gm-Features: ATxdqUFMvujL0t62h7zyi5uw0Rx9ZfomyR1cJ0QeJK6clDVdmR6SJmaNXHAbiC0 Message-ID: Subject: Re: bug#77496: [PATCH] Add 'ns-app-badge' to set macOS / GNUstep icon badge To: Eli Zaretskii Content-Type: multipart/alternative; boundary="00000000000047e01f0631f5e5b1" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 77496 Cc: 77496@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) --00000000000047e01f0631f5e5b1 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Fri, Apr 4, 2025 at 7:44=E2=80=AFAM Eli Zaretskii wrote: > > From: Ship Mints > > Date: Fri, 4 Apr 2025 07:37:57 -0400 > > Cc: 77496@debbugs.gnu.org > > > > P.S. All this doesn't change the fact that we can only install this > > feature when it can be made available on free systems. > > > > This feature exists in GNUstep. Is this not sufficiently free? > > I mean the underlying OS. > GNUstep on Linux would do. > If you think we really need complete parity with Linux desktop systems > beyond GNUstep, based on some > > research this morning, we may be able to leverage dbus messages for > desktops that support for "count" > > (numeric only, sheesh) / "count-visible". This functionality appears > not to be tied to the running process as on > > macOS/GNUstep but to a "URL" like "application://{appname}.desktop" > where I guess appname would be > > emacs or Emacs, I dunno yet how this really works when there are more > than one running copies of an app > > process. I'll experiment and see if I can tease this out. > > > > If this seems easy and you're 100% adamant that GNUstep is > insufficiently free, I can try to craft a more > > generic API that supports numeric counts for Linux desktop shells, and > text labels for macOS/GNUstep. > > I'd be surprised if X and/or GTK don't have a comparable feature. So > yes, I think we should have something similar on GNU/Linux. > Seems not. Seems to be a feature of desktop shells. Not getting any love from trying 'gdbus' to force an app badge. I'm surely just an ignorant boob with dbus. For anyone interested in helping out, this is the hack I'm trying, which, if it worked, we'd model in Emacs invoking dbus directly vs. via command line. Approach via https://wiki.ubuntu.com/Unity/LauncherAPI#Low_level_DBus_API:_com.canonical= .Unity.LauncherEntry $ uname -a Linux deb-12 6.1.0-32-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.129-1 (2025-03-06) x86_64 GNU/Linux $ emacs& # distro's Emacs 30.1 (updated this morning) $ gdbus emit --session --object-path /com/canonical/unity/launcherentry/0 --signal com.canonical.Unity.LauncherEntry.Update "application://emacs.desktop" "{'count-visible': , 'count': <123>}" # nothing happens or appears, and gdbus reports silence --00000000000047e01f0631f5e5b1 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
= On Fri, Apr 4, 2025 at 7:44=E2=80=AFAM Eli Zaretskii <eliz@gnu.org> wrote:
> From: Ship Mints <shipmints@gmail.com>
> Date: Fri, 4 Apr 2025 07:37:57 -0400
> Cc: 77496@d= ebbugs.gnu.org
>
>=C2=A0 P.S. All this doesn't change the fact that we can only insta= ll this
>=C2=A0 feature when it can be made available on free systems.
>
> This feature exists in GNUstep.=C2=A0 Is this not sufficiently free?
I mean the underlying OS.

GNUstep on Linux would do.
=

> If you think we really need complete parity with Linux desktop systems= beyond GNUstep, based on some
> research this morning, we may be able to leverage dbus messages for de= sktops that support for "count"
> (numeric only, sheesh) / "count-visible".=C2=A0 This functio= nality appears not to be tied to the running process as on
> macOS/GNUstep but to a "URL" like "application://{appna= me}.desktop" where I guess appname would be
> emacs or Emacs, I dunno yet how this really works when there are more = than one running copies of an app
> process.=C2=A0 I'll experiment and see if I can tease this out. >
> If this seems easy and you're 100% adamant that GNUstep is insuffi= ciently free, I can try to craft a more
> generic API that supports numeric counts for Linux desktop shells, and= text labels for macOS/GNUstep.

I'd be surprised if X and/or GTK don't have a comparable feature.= =C2=A0 So
yes, I think we should have something similar on GNU/Linux.

Seems not.=C2=A0 Seems to be a feature of desktop shells.

Not getting any love from tr= ying 'gdbus' to force an app badge.=C2=A0 I'm surely just an ig= norant boob with dbus.

For anyone interested in helping out, this is the hack I'm tr= ying, which, if it worked, we'd model in Emacs invoking dbus directly v= s. via command line.

=
$ un= ame -a
Li= nux deb-12 6.1.0-32-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.129-1 (2025-03-= 06) x86_64 GNU/Linux
$ emacs&=C2=A0# distro's Emacs 30.1 (updated this morni= ng)
$ gdb= us emit --session --object-path /com/canonical/unity/launcherentry/0 --sign= al com.canonical.Unity.LauncherEntry.Update "application://emacs.deskt= op" "{'count-visible': <true>, 'count': <= ;123>}"
# nothing happens or appears, and gdbus reports silence
<= /div> --00000000000047e01f0631f5e5b1-- From debbugs-submit-bounces@debbugs.gnu.org Sat Apr 05 08:37:15 2025 Received: (at 77496) by debbugs.gnu.org; 5 Apr 2025 12:37:15 +0000 Received: from localhost ([127.0.0.1]:41883 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1u12lv-0002Rr-Ba for submit@debbugs.gnu.org; Sat, 05 Apr 2025 08:37:15 -0400 Received: from sonic316-20.consmr.mail.ne1.yahoo.com ([66.163.187.146]:41237) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1u12ls-0002Ra-JK for 77496@debbugs.gnu.org; Sat, 05 Apr 2025 08:37:12 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1743856625; bh=QTB+pripSaMjJhq2+Loi6ppJQPOONWSyLcPBJXpPZus=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From:Subject:Reply-To; b=qdRKMgOyAWvEePD2XcKilIDIm4sJI3xgxvC+j05pihrFYuincQvs7F/dUk+t/Qytoojwsp6epVQE1XeXGPtqAlxiXu/39HaZUClEvKE6NEfy45QkP0k1NNptyprGyMwhWTU2iWzJCVEsjK2W2mNWjNlQi4HqbhafF/1vR8QUEvucMZK8Y1zFhlUgJKoV96vui0C4TiqGmelDtEkAdQ94mx4nW5Crxpp0E8ARkZ+BOPdMk8MLnsNcvYlGNe2nHGsJA9lJipaggJ+z9wxrtX9xxWJiI/f3uhR0TVyGmc9rzlO0bBTnA/xnb4WXA22hkxpQyNRDPKMBGd8yK3cnADVLSg== X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1743856625; bh=sGKCm/kRA3/CIhWtdAvRvCIJY+UJQWu4aPVXVSqlN0a=; h=X-Sonic-MF:From:To:Subject:Date:From:Subject; b=W2E8uIs5t9e9eTDlfeZHL9n3GqFrp8xbo62kVoh3zP+APcbZVsrYjszbtIBiPjNtEA3cnZ8Sxkl2Vz5y1AsDZ+p1+D4oaTjYgT4ME6MEMasM5I23CJmLr+cUWC7iBlLKX7SkYrSEYihqjDiC4GUufLPjmSBKOz58WGLf7yNQVAuNYPeYu/xz7tSd+1LeigBYKGLg7OrkSuTRmjoWKjpweq+avV03GM29LtMf6J3pM522Ov6AqGBwCGFQcFFuqbwtBplwxOibwBhq8xoewhBxVieMhLrYl6d1P5jl5H9tYwa1aqRfDbomqWlbO+PdT7DCyVEutg6vme3w0aqhc4KtOA== X-YMail-OSG: lMQ0b1IVM1khzhYMLgKyTigz4c97SOggWaPHkBdQ71WHuzApCl2dyrGx45Sjc8u prJi9EBxiQQiSC8dHmmeYZY7y3LBEmC5yZ0xINsHTRyabc_1T4zL18UzJvCINEl9uwnVo6RSaw0l 2BstjCOPrrUr93rZBUS4TYUvEn3Oe99R2BLsjQyfBJFiweKdUDDdOh1ExSeBwnqcsEx5nxzBSGe7 JGwoFpiROxYT0SnS213nALArO2P.t8z4qyzU1UlIhWhb8VgnHI7.Ai9bXtJaSNXwTrWLrFfBJfDR GlaLFU9NRIpbBv4amILsbglFMeh4vVoQZds5QK08fN05r8KtE6_L9CcOYbdJtlq_yxVnkKmkKxCd 4TXqaV8OBstRJ319QhcTF5fFzYNHGpyT_LHLpjhWeeUK16WSgZlwnCAC1.6EISoEtStwf4DBCtaN YRuI6vyGbSgWfJXVRB.W.J.BPBGZmmdp9LJURzPQA0bhPhMwmtessb2PsFvIPkuXdYZ03Na6uZCm eUxVAzyXv4sFK5Ap9vrK2_7ZSRqsWYweV1R0mgXn7ov1JkIgSfNb1.tMx89n1Xb8af4L9pVtTs_I HMztTW9Du2r_BB8dJM1fc6sSDs9L_0dfMKy5z0e7mPkxFbYODDvwsf.ZBGEXeLXL14HM3mivD55e bepUoDIqDKDz4BKYHXoRhlwO7y_pes7exCj2AnFm9isRdv3jtWdOpqvEwQfqwSsnznY34ODZakw8 D6_nBMqHUogx_HCYCyobwdXU8vXsXwKWOYujRfg2owFREx_q.8GnLVoKjKrrBcQvpV2z6K8j32Ev Y2lrVyJwHidCsnEd1eQL2Bh5QNNj94a4Bvrp_yGIaa1KQGSalCstrt8dr8Ygpu3.XKYdUFmMuMRh yW4ZTCQraF7kgHfKDFQtCxW2UGGcDn551mu6Yq0Rn4Y20TDspVTuAMrF8zCsctKwchm3WFLpSrhy He8whdrviwKtT6hBcxG2F4IGotibjPyQAneGDsLDM0C9_r_VEBqEPE5gx2McnKA67mEXSRGWNOEe AthcrtxAMn3zOCyxl7Q41oArqAO.HdUqUl1ya5Sv90_OwnZiAq87GMJpDJFYde19teG_UDMHbk6m L5zdAa3_QYg0gOtgcNRUpj4HUHGDGWrjndJf8Gn3LrAocHukT..5kY2DUamNH4S8UV3Z4.x826Q8 37Y1p9hEBtnG2gfQfFGxTadoOL0GpbzUTsAnBd0fUaEABNjDluSFdXZBo7.Kp8wAdinQoV4Z2jH2 zqEg.gf3rXfrc4oWSEPcSZwfWjTHEp.rim0xZQCuMHEqf_VKmFFg8lK2_gHDE12q2c9nwkmZxZgB p2TumX.F2I0kztd2r9Jofqke13Hs8Y.fcFKO.S3loG2cypfoNFVFfIM1m1WOwUqghpmkYDtPvKHw Tmbjp7s9.T1puCNSKtJebMkU2cwl1wwoSRkl8aTIrPcFU0CSFUcLlRyECWosw73hw1N_juZmdyS9 0wewxjJhY6AIqZqbocEcWytR8uJUaGERjMYO88k5AJcGGrXEpcudDecWjpyUSS_ZeNGC8p9WcXfv DlurxMHVgoG603kDaWYhVUb4wX7OgciCRxwwl8WPNxI9etYHmTQCXqKDUvOgxT_uJCXJe4132iDk 62L2mS3NTbQ2IShcXIBd0eDiYFgguWr4GQV5xonpQbHSZXIzmuhzxUKQS7z4b158wiWW5W1ZBsgm T2voET_mH_8mWT.EmPXhlsBI8GVDKqKic6RBb0Rsjv3ekFpy13bI7KoXFm7VDDux9_f0zRW.8vIa 1iPuWd9GVbetB5EBTvpl7AwC2V9qwr4cae8NgaERnPpjgMFnzr_VTo6tdC_Frr1zzRuvBMl9FX6l BN_TwmbvKS7.lYNRjFEn66alZI6EUc.JuDHGjxPGGnuyxSK1wVpp5paIFiUgOaou7fKJOM7qJ17Y zd9oIjTrICkDxj06SPa2QFBwEmv7Zt9n.DgT.p_cC33oC_KmJofgwQWaWvKrHkO8kkz3_al0tayL 7iJ2AtsvqDaqRKOBWwRqFzK93bx43ySXvqTtbn1ROlfS17Ai3kcQOoymzpACVZGHeq74EDLZ9p6x pbXJmD4yKSUeNkK8LKk_FyvfneYaCcZwNeY2Fin3i105JelCE3w12W9Oj11BI.dSQ9WHXCAE0yxy 5Ws3p6k7yJ9PrX5.tPvJf5fpGky6v4zj3YWze2uxuEHHSBdkfqB5IgK_e18.M2ZKCax0KGwFn4Il T9ec2KsZUpM154i08i2qr7jAQj_Rlv9Om_Q94.ly7IfqLfR7JztFOiP7C X-Sonic-MF: X-Sonic-ID: c5ab2aff-edba-438b-9327-7afd00600684 Received: from sonic.gate.mail.ne1.yahoo.com by sonic316.consmr.mail.ne1.yahoo.com with HTTP; Sat, 5 Apr 2025 12:37:05 +0000 Received: by hermes--production-sg3-79c9c8d49c-86z2m (Yahoo Inc. Hermes SMTP Server) with ESMTPA ID 9ccd8379cda3fd977d75f1b1c8958003; Sat, 05 Apr 2025 12:37:03 +0000 (UTC) From: Po Lu To: Ship Mints Subject: Re: bug#77496: [PATCH] Add 'ns-app-badge' to set macOS / GNUstep icon badge In-Reply-To: References: <86a58wzayj.fsf@gnu.org> <86v7rkxiat.fsf@gnu.org> Date: Sat, 05 Apr 2025 20:36:58 +0800 Message-ID: <871pu6rdhx.fsf@yahoo.com> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Mailer: WebService/1.1.23590 mail.backend.jedi.jws.acl:role.jedi.acl.token.atz.jws.hermes.yahoo Content-Length: 324 X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 77496 Cc: Eli Zaretskii , 77496@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Ship Mints writes: > GNUstep on Linux would do. I am very skeptical that these APIs are implemented in GNUstep to a greater degree of completion than mere stubs for compatibility with Cocoa programs. Please send a screenshot or some other proof of an app "icon badge" being displayed under GNUstep. From debbugs-submit-bounces@debbugs.gnu.org Sat Apr 05 08:45:39 2025 Received: (at 77496) by debbugs.gnu.org; 5 Apr 2025 12:45:39 +0000 Received: from localhost ([127.0.0.1]:41932 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1u12u2-0002tK-KC for submit@debbugs.gnu.org; Sat, 05 Apr 2025 08:45:38 -0400 Received: from mail-vk1-xa30.google.com ([2607:f8b0:4864:20::a30]:48409) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1u12tz-0002t5-Vg for 77496@debbugs.gnu.org; Sat, 05 Apr 2025 08:45:36 -0400 Received: by mail-vk1-xa30.google.com with SMTP id 71dfb90a1353d-523dc190f95so1425506e0c.1 for <77496@debbugs.gnu.org>; Sat, 05 Apr 2025 05:45:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1743857130; x=1744461930; 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=048F6ogh6bX97sIio3LwUTngHghFSD54sZR6P6AQoPE=; b=lhHHrXPTr9HmqvpqdqsqVVzAS0nYmVHnj6eavyruEOCJP8cykXJ014OsR56Sne4AV2 CYQFX1sO/reVM06UUXmnvEuLfM/zBgblzEU1xaTUF0kMyBFDT/oGBWdscqM1vR60+PkA YYIrx3SXTAWTaH0V112XBVhuU4x9wC0DqIehrxD/ThjAn+WamSjKrX1r2ebo6AWu6KTq qqDkQjk5cRJaVpmhF61TurwHpuNS4OOOy9drlHt0HiYB0FgXDSOidivhctilI755jUeM /OZDwtSe6JOmNcU3pJdCd4fMPVfFj3qXJ4q1dgAYIEPxslJCSfmihDDFL1Ro4KMb7qGQ jAIg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743857130; x=1744461930; 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=048F6ogh6bX97sIio3LwUTngHghFSD54sZR6P6AQoPE=; b=YijwB8o9W71SbSIKFjEM6hOU9Hx2c0+byo4kOgNVVZK2fHTKHH0vVDKXcDkv3U9t9G f7wZc590Otjki2U5iU0q1qfpdrNCQe67CHReDH0YMNESWDywkjkFnEHNieljcE3wKOYR S6WmFyR2vLALJYtaPswMGf92+CnbFk1EUvK11s8jATvQaRiBTemZjHYGTwFXudPO0Mzs qAGX7z8hIsNnbWJXtt175e8GA7ztt6qp5X5Q1/bLuyVLWBVRToPTHKOV4ZJnzCFzMA/j fcoHYMmrEwvwrMQqYMFP0xrsOHQRGOx0Dp+V8Q7bNZkSJ8unif/Kdw5uIM3Lkztk0Idp 6NqA== X-Forwarded-Encrypted: i=1; AJvYcCUdNfTM5/p57Gi7Tk+4OJyaPvfjB2+02VQjdeX4jDewuY0xr9qVsOuPQKVU+yzaAw9EmWZoEQ==@debbugs.gnu.org X-Gm-Message-State: AOJu0YxR4nYpIQOqtH3jYKgiVo2LVQa0s4xcF5qp2/c+3tLLH7B1IY1e Rc59uRUg4wz2SwkfMwJW1TjqIUTKNxr5oAV2jAcDGY5dmkzWczLnDfBSCRDN6vq39xLNGXEEKcq R78z2w5NNIOKpBmGts+qKTrINF0/Q+kXK X-Gm-Gg: ASbGncsRfZEU9vQBi3Fz1eyvk7T2Be3HGOxmDTKqHL5aQX9CE8UnQIEXt3Cr48X+/bx E92DPVCf7d8ZDVzn3/I7qJyEeVUqgM+WjgriesQwEEao17/epmp3oWzvNxi8QUkqSMlLgex3Wo9 px2CTeW/2pa2Tnq98eSvrbnQWotA== X-Google-Smtp-Source: AGHT+IGV1icjpiBqw/FuOBDe+lqjqMpwzOt1uwo1MVSkaLcgCPRUXrCaRk1SX4fVSkNaHcgR1BE460aHYwg+jYhIlmE= X-Received: by 2002:a05:6102:3f0d:b0:4b6:d108:cac1 with SMTP id ada2fe7eead31-4c8636608d8mr1825094137.9.1743857130159; Sat, 05 Apr 2025 05:45:30 -0700 (PDT) MIME-Version: 1.0 References: <86a58wzayj.fsf@gnu.org> <86v7rkxiat.fsf@gnu.org> <871pu6rdhx.fsf@yahoo.com> In-Reply-To: <871pu6rdhx.fsf@yahoo.com> From: Ship Mints Date: Sat, 5 Apr 2025 08:45:18 -0400 X-Gm-Features: ATxdqUHoDNLXHsI4kduhHFVBuprFaSukmtDfxxfEMWybqD7ZWGxvizQ6mukOAjA Message-ID: Subject: Re: bug#77496: [PATCH] Add 'ns-app-badge' to set macOS / GNUstep icon badge To: Po Lu Content-Type: multipart/alternative; boundary="000000000000c848b60632076067" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 77496 Cc: Eli Zaretskii , 77496@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) --000000000000c848b60632076067 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Sat, Apr 5, 2025 at 8:37=E2=80=AFAM Po Lu wrote: > Ship Mints writes: > > > GNUstep on Linux would do. > > I am very skeptical that these APIs are implemented in GNUstep to a > greater degree of completion than mere stubs for compatibility with > Cocoa programs. Please send a screenshot or some other proof of an app > "icon badge" being displayed under GNUstep. > No reason to be skeptical. The API is dead simple as is the implementation. https://multixden.blogspot.com/2023/08/gnustep-now-has-badges.html https://github.com/gnustep/libs-gui/blob/fcfc643e3cacdb7b455629951481ead986= cdd182/Headers/AppKit/NSDockTile.h#L65 https://github.com/gnustep/libs-gui/blob/fcfc643e3cacdb7b455629951481ead986= cdd182/Source/NSDockTile.m#L122 --000000000000c848b60632076067 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
= On Sat, Apr 5, 2025 at 8:37=E2=80=AFAM Po Lu <luangruo@yahoo.com> wrote:
Ship Mints <shipmints@gmail.com> writes:

> GNUstep on Linux would do.

I am very skeptical that these APIs are implemented in GNUstep to a
greater degree of completion than mere stubs for compatibility with
Cocoa programs.=C2=A0 Please send a screenshot or some other proof of an ap= p
"icon badge" being displayed under GNUstep.
=
--000000000000c848b60632076067-- From debbugs-submit-bounces@debbugs.gnu.org Sat Apr 05 09:35:43 2025 Received: (at 77496) by debbugs.gnu.org; 5 Apr 2025 13:35:43 +0000 Received: from localhost ([127.0.0.1]:42068 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1u13gU-0005lq-PF for submit@debbugs.gnu.org; Sat, 05 Apr 2025 09:35:43 -0400 Received: from sonic313-56.consmr.mail.ne1.yahoo.com ([66.163.185.31]:45242) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1u13gS-0005lR-Ab for 77496@debbugs.gnu.org; Sat, 05 Apr 2025 09:35:40 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1743860134; bh=lRwS6qJNIvdMjLpwk8NXK8HFV8XoUY5rYl4pM/f/l7o=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From:Subject:Reply-To; b=YbnX8Zcwmso2Sx+4F+a9y+7rDce3Ozo7e0prqIJM5pab1crb4dSzPsA8KxSo45OjcynJ+GcBLKrtVWhZXaTVFzceZueGxiK0TCish6chFPlbNwH6Bc0F8CSX7ijukeZkFmgEj4RN7heo9HWCXhTkgBREevzMEOFpTYwz7fI9t64m3Pqm6BVo4vB0VscejBApg8WHjm8a46VEsgTFTXlFtKg84TVHHaLI/ze8WEOMHAYdvA4UIpBSbwhtxtGtU964PwfwHz/5VESmnIlzcQpVPab/RH8TEDFA4nffk2g4Q6lHqqj+26aqvVdNipkBXLIwdBvqpWDd6aFVeOSNhn3BzA== X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1743860134; bh=Se5Q5ODTSY8uQAUIdoliVvoBTzsvH2u++CTmv47Fk8m=; h=X-Sonic-MF:From:To:Subject:Date:From:Subject; b=EWr4BsRJJP1rlz56Y4B0KOMXWymCiKVlphRTH0WFAbtOzZdtXggk+BtT9wF7/edUuJWJzFh7yB7ifpHOHPa0pzGEQDACfdmP9iO/zFusa72fMJz344VF0iHQd8HTq6bUj+i/jnpxpX0MlR2aKsHwVAyWqKWlf6UGuVxSV2XF2X+qm45kK9iW/B6A2KB65QFUC/8uUiQpyWcvhre5bY6vgjXPVZ01Rb2c0maEyf4ZZl1AZiFVOmHOOCe+HzbYTPW8aQfulfWIEMCLZ64IREcrlV0VzVBYySiu5Zl0Vm1fpRv4CWiB0PviV4Y0kbC4V5T+3arURVF1Efdb9k3FzAWB9g== X-YMail-OSG: s997iRQVM1nstvMqy5OLSKEh.yrd5qqmmao0N5UAyS7WVaeEbS1G284iwDSe_mv av_32kABru8LK.CJFNjv_q2mdAGoBmAx_ffXwwMgPwk3Pzfai8kt9I9UQo_k9mK7gECXITUYVspJ HSrXltzhDDyGMwb8ZyXIjfavd730jGUGF9oIRT8Ajy9g9kiqxJ7EmJ5r86PPScEZf714wb9WyXU5 MbhVgEX2N5s1rApm9bGLG.DA8bBe60bs1tqIIMhNFCMo3hxe0w.AnptGYRmPUejGL3d6ATH.Z06u am2DwMLB6oA.66AOnRcMZ7frM78gHeDUfy6wiZ8FKqVPdNlpwa.gOu_MxVpiXyWj2PrgKwpDGBxD M0HPcBOcej5ybBHItYhBCakIbcoljWznEjYqWrHbfSIwhHyzz04L77wVhG9s_HPYGlHRTxzyblXz HtqGlpLrmftL5BWR_KG_PwIEv9pLF3NWOE9m3ReeMMvlf_CbqnMtSxwPy6UuYEbT_1e.rRA.hMyI ZHdy9t1q8hgTsMp1JQyMEZf5u7gg_PRHcZdjG_tOG1rqea.uiMc4PbnsppH38mOB50Ugrp1wJ8lX HPFQETNnRQ6AkL99w82GAU580T3POpO6Sq3ZhjQzFu0dG1oDaY6eNOxqzuR8dgbOw1HklGGE0Doa 36itGOZS1P0pq_cBv1WOUQ4CNp3A4GdpN8OBXeDW5PFbyZqtfA2hbMnbpRNBZHFPVDADotVSsjJ4 tTfEPHT2lOapT1JiB.oh2diJ94Rt2vcfOjHzwG_7jogAYAcxEEBqFujbE2Os54n57XPtQANYfSkl b6srCR5LkAl3r6hdOIHCbS5LWWY97jdp1iejB_FeW2VshvkfcO5LYtZHsqKWCDyrvlhZwZON_xe3 jZOmfEXqp5_77l6sWxsjKquUWlWWyh7_EAxegNqJfK_BWgfWXTs5v2Cjg7ueGnBa25XoPdevNPpk JOp4FAlGC0G1rGOFbbXPToWI.2M9JV1vynRwimaruG0Ptgdh2D5Zb.Uo7kFBPEh0mMgcSOR5v7VS vZw6TouMW2cpJh3W4DjYjqSj5tOQ_4P805na_Hm.5ofxgBIla6dxNktQHTfgHmRG3wZ5rW68HZSu mG3djAjOC9sMa7RMKUmJuE76ugdaAEYNd84oIAmFWwY6L0h2TsxuIfvKM5fwTSMl_wUsspVn6eKF ce1.eSYAK0fxsSRKdviio0Q8TWqaDjfQcxZ7.61cIfWK.fvjA2jWgdqlG7ZQkyOf3AqPTSKJLDn_ EsDYPKmnr71EB5YKjNVlFykKHI1FL3WIYLcgphg6jBQ0LW590HhPiaxlPsL.miYvIb2TKuHcBsSE 2K6Lkga.zQ8O9uLO6UW3x2BIg2CdooeXWCnQlVKpChdsYleebkMtgMazblxZ3_Afj_zfBmvf.0ST 23Wx_AU8BFklj44I.KThkeQ4xNe3v0WdY5zchV04uDj0dlZfylEU7zxN3.0.XZXv0_MApcf1.Dm5 HrsLL256WL_tKJNBGlre.Ge5nc7_KCaQDHCPGhGTs6_wEemKuNH2Y9ykyrIEVvzR4xzlnRQ.7mL3 T3RrYzyLPFtCWMK44O8yeHYU9Ag6kubNUpia8zuMa36w1_jaFokZ61uOhYqogVMnTsIez6cqkYRj KtgdvC9YmB2mojJ6av3Byvia8k0BPwY9bsCjm9BlxGLdkdgUM3sk0ge_2W8LGeTRVralBZHgOtm2 JZDuuh31eq0fX3lnEJas6JC20YMNJjhiT2P1u87YHIGPV_MxorCSsG8CvlKbVzv8wGwdNnxZz_lm XLmcK3_YYZlTVH8DbnjhskrXuVv8VPo2BXn1w6Wz8o6aP310ZA0c1JXYUqA7SRFMZoOJ.Ib556kN fxPuzsGGuuZznt.XgVmkV2Ac.fifINIKvY9J37OTMPygpcEDGpQkryA_TZE5BDH_Byeq_a2V1sXA MB1U7GtD8F7HFWwYZpdQoiZPuhJfTjMZ5F9gPqdDm7SYdNoSvkjv2QF7yMBREXoHB1JMBE3hIdDe Z0O8HfSnZX_fPN_ACPThCDkwzmZXLKSY9sVrwryiDwkYsc5vfwO8Q.xxwUNBHY4TCGlPc90R3LBC niTTQJEWBqL8V8A1P8Mj3Ek7f9wnFZ8uhUq1sBFqwXueAXEEdx39WuHODD019.F.nOsyB97YK9QL gGo.vuTAyBwJb1f.8DiyKzd1PsDrSNpCaQTVOksnpZ_3xYmq10.RB7hmf_lMKcAPYJgbEj_3OLqx NW0aUd1qCBRNJzheWil53K_MdQTuWTImn1Y.h9xtgaPYCRtblMp5WI.oDd_LOKQ-- X-Sonic-MF: X-Sonic-ID: c54344ee-b84d-46c4-8b29-0e7dfe897c06 Received: from sonic.gate.mail.ne1.yahoo.com by sonic313.consmr.mail.ne1.yahoo.com with HTTP; Sat, 5 Apr 2025 13:35:34 +0000 Received: by hermes--production-sg3-79c9c8d49c-2pzch (Yahoo Inc. Hermes SMTP Server) with ESMTPA ID 9a1783eaca6db2c7a1fbb4d4f66a4ea7; Sat, 05 Apr 2025 13:35:32 +0000 (UTC) From: Po Lu To: Ship Mints Subject: Re: bug#77496: [PATCH] Add 'ns-app-badge' to set macOS / GNUstep icon badge In-Reply-To: References: <86a58wzayj.fsf@gnu.org> <86v7rkxiat.fsf@gnu.org> <871pu6rdhx.fsf@yahoo.com> Date: Sat, 05 Apr 2025 21:35:28 +0800 Message-ID: <87jz7ypw7z.fsf@yahoo.com> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Mailer: WebService/1.1.23590 mail.backend.jedi.jws.acl:role.jedi.acl.token.atz.jws.hermes.yahoo Content-Length: 723 X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 77496 Cc: Eli Zaretskii , 77496@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Ship Mints writes: > No reason to be skeptical. The API is dead simple as is the implementation. > > https://multixden.blogspot.com/2023/08/gnustep-now-has-badges.html > https://github.com/gnustep/libs-gui/blob/fcfc643e3cacdb7b455629951481ead986cdd182/Headers/AppKit/NSDockTile.h#L65 > https://github.com/gnustep/libs-gui/blob/fcfc643e3cacdb7b455629951481ead986cdd182/Source/NSDockTile.m#L122 That's good to hear. None the less, GNUstep is too seldom used for feature availability there to justify implementing the same features on Mac OS, particularly when Emacs's GNUstep port is known to be unreliable and short of other critical editing features such as Indic or Arabic script shaping support. From debbugs-submit-bounces@debbugs.gnu.org Sat Apr 05 09:44:57 2025 Received: (at 77496) by debbugs.gnu.org; 5 Apr 2025 13:44:57 +0000 Received: from localhost ([127.0.0.1]:42090 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1u13pQ-00067q-Ch for submit@debbugs.gnu.org; Sat, 05 Apr 2025 09:44:56 -0400 Received: from mail-vk1-xa36.google.com ([2607:f8b0:4864:20::a36]:60596) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1u13pI-00067P-4I for 77496@debbugs.gnu.org; Sat, 05 Apr 2025 09:44:53 -0400 Received: by mail-vk1-xa36.google.com with SMTP id 71dfb90a1353d-5259331b31eso1402730e0c.0 for <77496@debbugs.gnu.org>; Sat, 05 Apr 2025 06:44:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1743860682; x=1744465482; 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=u4fqVPnfl/R6XGvMpVN9+YWrqtJRXvAtesfZO79iIHQ=; b=Fuqcvs6+MxFJ5NfiAZcBSUg+UubfLVVvnqq8KeERRBwPYYk7cfXzatDaX67ah3re5m ZZ2HZ0QsN5OCJetOBfWG8VwA08qQX2mSlnHgkYlw3S2ElknPRbaCZgimDJvDfuWDhEDt w/sNH4UWZ/x0wgvlO1uHPfrQzi3OTPU1zyM97pCmTVZb0oDUiwlI6adT/YaHCrGTgArt GoziU4DQmSymn1Kvdppot2JwvsQYLLUMngjoZDE96l3DPKhyXzhD9D/P/PjxaI/4d8/x /tHTyTnvj0vXKQKk7hTgqR3nEMEa31OmLwfTmeplL+2k/BBnTUHeXyqv8KXaHxyDIosx zRRw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743860682; x=1744465482; 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=u4fqVPnfl/R6XGvMpVN9+YWrqtJRXvAtesfZO79iIHQ=; b=mXTUAh2VYd9mh5hn6NWrFW1hTFBoqjNzJ3RfOhkVCTjt1NPshmh+zcGv1F7UJjq2qw l6LfOe4nKOJ+YtxDLtP0pgFBXPQJ2P9kAo35zPv/ObCJkLdT8AG9kTmSby3EbNDnyNVC Jdg382ndWlkJ1bsjsT2ymdvYa5hRrIES29bKRf2fUji5m5F8C9RkNUc/BnMzWnrePv98 o63fuMtHKVEZrLIQ7oJr4QKLeURTqczRgJsg+W0GKY+cOrAOWIZmz7YDtUrS9Tt08KpE hHTZ7dPpUYir6/d+wARWdi5FjieCN1erXALnin3nnQaaUStSm4gpn55sfotaexBbemDg ytRA== X-Forwarded-Encrypted: i=1; AJvYcCWKsm3UuyYIWTo7tpYDSeKVdJk0xXHqlbt0qNa47rKmD7Nc9o5ZRG9ki8EvF2r494JXAcahNw==@debbugs.gnu.org X-Gm-Message-State: AOJu0YwzCU+wSyxzuAE+8LmpzCqfvpFGICNRTcAc/yj0iiXZzfyF7SUG VnDVouqLIdlFhuQqjM7ZEDwNf8V/0m3i1M5YIRUFlnmkl69SzfAljTn+D4PTJ0XSFE/DG9O70wj cvMbg5UQKw1WACnNl8fPevJ0RaMA= X-Gm-Gg: ASbGncv1CD7/3w/P6Gtx1FYWU48ZC54AfwlvoeoFXW7qQNh16XxeyWAlhNaLZ6JRyCD B8FjGjHWk6XCduuTEiQrYA6MMCKC1xFQdS0SC6tejXjuj2GW1xmNQ4vvaY2Ha4GSVoEmBdirFPX bACodFl6leu4xuJcW53pMS83X0Jg== X-Google-Smtp-Source: AGHT+IFePmc0ru/QMGZx9B0DcGt3W8q6IfcX8zWY+3C1mAFE9JZ2vj0VLP6IUyKtizJErDEQ9ZOZZ5VF4+cs9A6KcoQ= X-Received: by 2002:a05:6122:da7:b0:520:61ee:c814 with SMTP id 71dfb90a1353d-52765c28c97mr3463122e0c.1.1743860682241; Sat, 05 Apr 2025 06:44:42 -0700 (PDT) MIME-Version: 1.0 References: <86a58wzayj.fsf@gnu.org> <86v7rkxiat.fsf@gnu.org> <871pu6rdhx.fsf@yahoo.com> <87jz7ypw7z.fsf@yahoo.com> In-Reply-To: <87jz7ypw7z.fsf@yahoo.com> From: Ship Mints Date: Sat, 5 Apr 2025 09:44:31 -0400 X-Gm-Features: ATxdqUG1oOnAg6IWwYsMv8OrmB5QAWAPysbjvTWHEZaVekQal-07v4Fn_qdAkmU Message-ID: Subject: Re: bug#77496: [PATCH] Add 'ns-app-badge' to set macOS / GNUstep icon badge To: Po Lu Content-Type: multipart/alternative; boundary="00000000000080c0630632083461" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 77496 Cc: Eli Zaretskii , 77496@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) --00000000000080c0630632083461 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Sat, Apr 5, 2025 at 9:35=E2=80=AFAM Po Lu wrote: > Ship Mints writes: > > > No reason to be skeptical. The API is dead simple as is the > implementation. > > > > https://multixden.blogspot.com/2023/08/gnustep-now-has-badges.html > > > https://github.com/gnustep/libs-gui/blob/fcfc643e3cacdb7b455629951481ead9= 86cdd182/Headers/AppKit/NSDockTile.h#L65 > > > https://github.com/gnustep/libs-gui/blob/fcfc643e3cacdb7b455629951481ead9= 86cdd182/Source/NSDockTile.m#L122 > > That's good to hear. None the less, GNUstep is too seldom used for > feature availability there to justify implementing the same features on > Mac OS, particularly when Emacs's GNUstep port is known to be unreliable > and short of other critical editing features such as Indic or Arabic > script shaping support. > Eli asked that the hurdle to be cleared was support of the same feature on a free platform. If that hurdle is based on platform popularity, what are the precise metrics we should use to gauge such? I'm aware of GNUstep being actively used in military, aerospace, and industrial products. Is Haiku? Or any other esoteric platforms that Emacs supports? --00000000000080c0630632083461 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
= On Sat, Apr 5, 2025 at 9:35=E2=80=AFAM Po Lu <luangruo@yahoo.com> wrote:
Ship Mints <shipmints@gmail.com> writes:

> No reason to be skeptical. The API is dead simple as is the implementa= tion.
>
> https://multixden.blogspot.co= m/2023/08/gnustep-now-has-badges.html
> https://github.com/gnustep/libs-gui/blob/fcfc643e3cacdb7b= 455629951481ead986cdd182/Headers/AppKit/NSDockTile.h#L65
> https://github.com/gnustep/libs-gui/blob/fcfc643e3cacdb7b455629= 951481ead986cdd182/Source/NSDockTile.m#L122

That's good to hear.=C2=A0 None the less, GNUstep is too seldom used fo= r
feature availability there to justify implementing the same features on
Mac OS, particularly when Emacs's GNUstep port is known to be unreliabl= e
and short of other critical editing features such as Indic or Arabic
script shaping support.

Eli asked that the hurdle to be cl= eared was support of the same feature on a free platform.=C2=A0 If that hur= dle is based on platform popularity, what are the=C2=A0precise=C2=A0metrics= we=C2=A0should=C2=A0use to=C2=A0gauge such?=C2=A0 I'm aware of GNUstep= being actively used in military, aerospace, and industrial products.=C2=A0= Is Haiku?=C2=A0 Or any other esoteric platforms that Emacs supports?
=
--00000000000080c0630632083461-- From debbugs-submit-bounces@debbugs.gnu.org Sat Apr 05 09:58:58 2025 Received: (at 77496) by debbugs.gnu.org; 5 Apr 2025 13:58:58 +0000 Received: from localhost ([127.0.0.1]:44185 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1u1430-0007Or-GI for submit@debbugs.gnu.org; Sat, 05 Apr 2025 09:58:58 -0400 Received: from sonic303-21.consmr.mail.ne1.yahoo.com ([66.163.188.147]:40143) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1u142y-0007Lq-0k for 77496@debbugs.gnu.org; Sat, 05 Apr 2025 09:58:56 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1743861529; bh=qHUL3yZUkzKF7hak+8vIcPE1QEUBQDoGU+M/HZw1R8c=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From:Subject:Reply-To; b=mPzINzsxfCrnyVHjaD8P7SupzOf4b/yuAPy7jRDIwnWnIMyWy+SmE83I57Sm4JlMYs+a8sXmIewwihy3T440LEth8HY+xvEvoOBWmO3M5RtJ8TX3q8WZQSa+ZgmrOOEvKrX+lZVsQBWSrPRgVwa77mBq7YRsRsw7sGoLpj5+dynoTFeXQSnR5h8qZS/uHcNHXLdRbuIHGESntSxXfK+1j/4v4PdBR8+cywuYDf6b8LQu/juNQvw3uNOJ/wQNPux96mzXB9PZR/dZ1Re6ltIGQCfY3cVnHQb0c5GmKVdIZzW6r42zLxCBD0zagXywpK4rdliEDtQydX3VO4W9KK5U+g== X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1743861529; bh=ruRNoLHc4dJxBLZ2+hqR3WVAVLXpNZS4BCJYHmzf2O5=; h=X-Sonic-MF:From:To:Subject:Date:From:Subject; b=iHJWKjv4EE2LuBagokYF/xn6Bwao8IRnQASoZVeUzsa50t3X2E7NN8P74w3gV8eQTga5LAKXanFPbGOoNE+ajZFlEicwa5fPWwduyAKSuKmFVoHC3Fri4tCJAz778qEbqTNKKhtpkUi5K4VTC13LxKzpC/1xwUfZUfQXLF1t6Qi/1y3EwKj1Wkt0mwd6/aR/q9+qjVXx8vNikKFRXA8uanKXf0Q4EkeMoi3HpSBID1b5rf9Nfted0yiw4xNutzWH8ffoFQY5vQOUwDi+kWb7NH+/sFInipgqEwOv12RhRxWGJX++RA0Bl0VxcTC039F+nbgJNW1rN/OAPK0ct3fYMw== X-YMail-OSG: UdGJdhAVM1lm0ef4sDv5QiS_5uDJHUf1IrRCWymb6XiuHpkRrg3DZ5haDeFrVAW ksevTkFGrxi8mL4.iSu_iiwTua0384vRLj978SIP5e8XEojbT.tFjE2I87.eXwyCpL516EgfS_cp oSGT8c32eQSS1USOWtP5j.CDTtAvXNtIfkEaWJvotUXHqs7Szd9nRwA497ye4..Z3hOQW51qvZ3e DnfOsGIvojQDVlophMYG.HwhIBHC059UX0S806UYrnTU6D0DOMyLyv.H_vX_TiLmbuvmbOBSWBe_ KGOXYOhFc.4GL0ZTQSyr5KM5uCHC10yXEGHfiPE62anyIlOtoMpGplCu4eJW9DXEsfQwhIzw4Jqg zQ1KTS_Zx6WZNmgw2P4V2_qzPqa9RC7.XeFzUz485dhxsMu.uuMVjmAONdt8llzy_dWc_ZtnP0D3 uiXPH83RTf2XC1XguRweXfFneAGvjKCbFUXmPs_Y1f8d7SztCmwLvMjeyHY2qJabzkAd4WyFHQjY vQ6.32Ft7oOqxFEuyfeT_1oMmUEsPB3gkEPpqneHmytH3.rnSWWlLt6XW8c5QzJ7SK70YyVw_kDe 98fn9wlnP1fS7zgQR_.XGnyF7j1J6KHj4Qso2985ACoDv.r2AaCCAbstTFKlglhF_k9djh61I75o gTWOSWYdaQTevFC19tgD7tMEhq6AB2PUPjersKNVMvs9n46XsQFxAGqSIA3eEzVsG7MB_75fYjd. ixBDHFJzIOkSi3FWC40.wKZdDdo37s8fgZXNEBMW2NnEWUw8zlMPPAkOglIJFx7Too4.zWtbrA4Y F_Ui.l8Ergz4hMCoWAacVNMvH9qrS3mpVVn72vlAIPDXTs4DRU33Hri8iBrpWcxmXdbUR8HnRONv ydKmKo3F7Vd.bDHPlMLNRiMD9daPE9cUWcvYR_wSw0pnM5npHYWuhDlN1NPaqcdzFLr.4mCN9iQD CuOFlC12x8RtN4PVnev3tfUF6x1ti3pSTTy1y5J.r1.SurLnbraBwhQFJ4kWpLQxBDtbkiZKSeS1 Zl9h62ejm4vpTt26OJhtZtpUtTQMazjaDZvs5F1UlTw5kk8tWE25lViVJ4d8UG1M0M7RDbHYq6bN UHmPxrNQtTBRWpjjuD9Sbw7xpMcZ_BoduBgHaPpx11qvxT.4D0qJCCpAn9Ppz_IRu2Rc6RBP0i9q zTtcHKTo_MmFm1WKJWFc.D_pIU51kLUEOjZdzFX13CJwGf6J57k3yg1.9r_8sSahxvsLGrwc96Ei ZGTgr2PiIktOCrpQiiw0AsqHv.eLyL21iwobyaJSIam0Hyj9L1djMyogNUA35sGaPKvrv9l9jBnc lGBgBIMgEsC5Dr0OF6D3f97JTM40C0hplp_J6NKr3J8AYHXYs2IyJZseKt3Of8NRsntWVMCyfEeX 9tkXH7vr5UqiCKKOPrYD5_lX8yjkRyAxLnWADfuqKPP9Vh4X2ComzxBzUrgRrbaLnt9G5Xs56z4f KBbq_BPexC3VAI9joQ1a53Vj9kQO9Boog8gR8A_wicMCs.jiz6n.R7NLrpYcnNg25U9PFVGpSKjW MxPilLRt._HKSFMxHQeqEEGcL8mHNnD8Bn_dmakgJuWjU.0H05Z.ixfGLdj08ugB9iPLrH7wRAWL rAhF6Uvx84wvb_W4r0hSoo7T.X23FXPVr33wrHKJDqW_BnBAl.JiC65kW7f0kWxb_YWkiF6FFQeq lcUwRcKcITkmDn.S8RcL4wBswPhkOExgbJlOmwtKaP.uZk9bq.mAC.0UYN8RoIlqFQroCkjl5YjE 3HWvuyupGE9ZYsYcb.tl2IcOpjnxVFce5WBFxG0pOVWZnTBZ4piE_dypEVkCZM.bjuZijogWGbN9 B6lokykMY6TJeYPGTLTzXiGLSHgj7vCksZfCQZ5gCAWVNCCQyQb.eVF5uBbH6PvmN8TIw6TWykTU O3.M_yebeiyNyJ2J28sB_09K67_IpOgEMqQkDOy3Ai_v1MN.8ptDl13vzpcv3HZpet_7e1TpbsoH raTa9VCtYl3bkalcWGB4W.FaOxP5G7wQRoN2aVIuSQR7vByQ0ZjRXKZidkIPauydUWTUkRLy_syU jIquGnKgO5yf86MxwFYXkbuasuKgKQwTw_T1fBttd7IoYc4kc90Ayn6xEEGBJdRh1z7fSAiwyjve Q5A3UV686Gx57AJ83sNkZlPtvFshmdjFfUvCIxxVjV8ntIYDs5D9FyXJyvOJ8YI3_rWV9ZiRq2lG j8tZOfHh6xhB0DpSmyLPZPY0W2vjJudz0.fwbpbiRxgQ- X-Sonic-MF: X-Sonic-ID: 1aba1769-e0a3-4fff-bd45-2daee81d29e4 Received: from sonic.gate.mail.ne1.yahoo.com by sonic303.consmr.mail.ne1.yahoo.com with HTTP; Sat, 5 Apr 2025 13:58:49 +0000 Received: by hermes--production-gq1-5c477bf655-5zpz8 (Yahoo Inc. Hermes SMTP Server) with ESMTPA ID e87c26f7d9d00398f9978f7d1c3b76f3; Sat, 05 Apr 2025 13:58:43 +0000 (UTC) From: Po Lu To: Ship Mints Subject: Re: bug#77496: [PATCH] Add 'ns-app-badge' to set macOS / GNUstep icon badge In-Reply-To: References: <86a58wzayj.fsf@gnu.org> <86v7rkxiat.fsf@gnu.org> <871pu6rdhx.fsf@yahoo.com> <87jz7ypw7z.fsf@yahoo.com> Date: Sat, 05 Apr 2025 21:58:39 +0800 Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Mailer: WebService/1.1.23590 mail.backend.jedi.jws.acl:role.jedi.acl.token.atz.jws.hermes.yahoo Content-Length: 1052 X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 77496 Cc: Eli Zaretskii , 77496@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Ship Mints writes: > Eli asked that the hurdle to be cleared was support of the same feature > on a free platform. If that hurdle is based on platform popularity, what > are the precise metrics we should use to gauge such? I'm aware of > GNUstep being actively used in military, aerospace, and industrial > products. Is Haiku? Or any other esoteric platforms that Emacs > supports? The criteria is whether it tends to afford users of Emacs on proprietary systems an advantage over those of free systems. There's no reason to insist that everything should be reduced to figures--Emacs on GNUstep is not a viable substitute for any other configuration, and hence everyone and his dog can see that features it might support are not material, when the only alternative is Mac OS. Haiku is free software and, above all, it is not being invoked to rationalize the introduction of features on a proprietary OS. The question at issue is a world removed from whether to support an OS at all. So I fail to perceive its relevance. From debbugs-submit-bounces@debbugs.gnu.org Sat Apr 05 10:07:03 2025 Received: (at 77496) by debbugs.gnu.org; 5 Apr 2025 14:07:03 +0000 Received: from localhost ([127.0.0.1]:44206 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1u14Ao-0007rG-PI for submit@debbugs.gnu.org; Sat, 05 Apr 2025 10:07:03 -0400 Received: from mail-qk1-x72e.google.com ([2607:f8b0:4864:20::72e]:47207) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1u14Al-0007qb-Qk for 77496@debbugs.gnu.org; Sat, 05 Apr 2025 10:07:00 -0400 Received: by mail-qk1-x72e.google.com with SMTP id af79cd13be357-7c542ffec37so266665385a.2 for <77496@debbugs.gnu.org>; Sat, 05 Apr 2025 07:06:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1743862014; x=1744466814; 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=9G+/E4nOHj+U+WO7pTfkJnllMj8tFO/h0HukVdsqew4=; b=kymL9+mVP6A7PiK122EEaAWePMO+ZN6I1gmVJ5HhsDENgxF3BjpRNWs45Vaey3vT+K HHwkha5g/jIuqoeYfrMzcwGuO0UQhh8iSXgBL22VPykpguljeueboIS3GVwzDYvC9KeR DsyPBTv+tLqCM4MY6qyt8+78sTIwYeJfmNBKy47gEivqFnsk+MCoVQC8Vvot29rCqNYP bMLFr0FCYFUNIYyEf53cMViy7DlDMj5nnvz3UXX2FHhbuEJuQd2pSiNSmI5grLCjzixi VTQlTcUwn21sepZJOfUx3sgneD2Z6zsBcRVQIA92edFEzcKYVZQVLlop0tublu2fV6o+ +46w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743862014; x=1744466814; 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=9G+/E4nOHj+U+WO7pTfkJnllMj8tFO/h0HukVdsqew4=; b=LcolzPIO2lDfJT7f3Hw73hg0isRqfvgGsg9A5tmsrqNtAsfefWGFu/4lNvM++4bZ+3 9Lr0NQ6I1PRdHD44aSBw9zeWCd/XHjFRJWLtwywKHgOCDsKjCbYx7y8x78+HqMij7H3V NgPPV+gvAcy7FCz82rYjEwYC58Gtz+WcM8jycFXaMlgHbdw0ZmukjusvxHkronpepDf/ QjtN4Oc+KWZHRfHlNlQexYjAodo/yaXLahNLMGourkKURwl4/pIyASYb89VAkJN/TGqZ /TtMMnympLMPUAR2tIIIkmOFqmBmfGBB9urJU4mxhNA3YtFnf9PeJmz4Ed5yWDyfJGTz g6Kg== X-Forwarded-Encrypted: i=1; AJvYcCVcaqS7VsnkjbN5MBMU2t5rOXTu3Zh5R1htlsA1/M70a2yCJ5nJ1ylSEgxBbqQTvl+WMgr+HA==@debbugs.gnu.org X-Gm-Message-State: AOJu0YyUTcjKEPNyCBTtdVAys8PE8farhFfO96qeKt69E00w3V0nKk/X ZOl3ntPLdQp4iAstRg2H8Xwf9/KEKodcWhi5lxtK6+gA9CuXg2BweoI2HTa7yupN8LCuwVTmp1X HB+nLOszxUIRUOIHJDUzwXN60OH0= X-Gm-Gg: ASbGncv6MP1/FiY5xVxd8gIjqzcInAnsLqEQpZC7eAEaNsmWx5GKpVN81Zrs+f/6tpQ w61OQdY2ONYO8EAVT/1zMV1PdkEF4wJCRWeEvrK6YKJOkrMi9vcWbrKFm7Hqnh5rq4+ohB+Ober OknRkdlYwR1g6JOWlzKJsQ2jWxaQ== X-Google-Smtp-Source: AGHT+IGcFSWHwMW4PjCQaAUqinxhYwOkax0YticxPYXEZSVHaxO8So2snjQ1dTxMKlf5GwOQCyW4XgB/PWzl9cE6dY0= X-Received: by 2002:a05:620a:4002:b0:7c5:a513:1ff0 with SMTP id af79cd13be357-7c77dd8117emr388616885a.34.1743862014068; Sat, 05 Apr 2025 07:06:54 -0700 (PDT) MIME-Version: 1.0 References: <86a58wzayj.fsf@gnu.org> <86v7rkxiat.fsf@gnu.org> <871pu6rdhx.fsf@yahoo.com> <87jz7ypw7z.fsf@yahoo.com> In-Reply-To: From: Ship Mints Date: Sat, 5 Apr 2025 10:06:43 -0400 X-Gm-Features: ATxdqUElHVGPzUGXPzMXvmEwh-IwbqBPVzPUdewWyVwYoI1Yul6_nkmOgOJ0imo Message-ID: Subject: Re: bug#77496: [PATCH] Add 'ns-app-badge' to set macOS / GNUstep icon badge To: Po Lu Content-Type: multipart/alternative; boundary="000000000000e2ce820632088373" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 77496 Cc: Eli Zaretskii , 77496@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) --000000000000e2ce820632088373 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Sat, Apr 5, 2025 at 9:58=E2=80=AFAM Po Lu wrote: > Ship Mints writes: > > > Eli asked that the hurdle to be cleared was support of the same feature > > on a free platform. If that hurdle is based on platform popularity, wh= at > > are the precise metrics we should use to gauge such? I'm aware of > > GNUstep being actively used in military, aerospace, and industrial > > products. Is Haiku? Or any other esoteric platforms that Emacs > > supports? > > The criteria is whether it tends to afford users of Emacs on proprietary > systems an advantage over those of free systems. There's no reason to > insist that everything should be reduced to figures--Emacs on GNUstep is > not a viable substitute for any other configuration, and hence everyone > and his dog can see that features it might support are not material, > when the only alternative is Mac OS. > > Haiku is free software and, above all, it is not being invoked to > rationalize the introduction of features on a proprietary OS. The > question at issue is a world removed from whether to support an OS at > all. So I fail to perceive its relevance. > Are you willing to assist in figuring out how to get app badges working on Linux desktop shells? You have a lot of experience and I'd appreciate the help. --000000000000e2ce820632088373 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
= On Sat, Apr 5, 2025 at 9:58=E2=80=AFAM Po Lu <luangruo@yahoo.com> wrote:
Ship Mints <shipmints@gmail.com> writes:

> Eli asked that the hurdle to be cleared was support of the same featur= e
> on a free platform.=C2=A0 If that hurdle is based on platform populari= ty, what
> are the precise metrics we should use to gauge such?=C2=A0 I'm awa= re of
> GNUstep being actively used in military, aerospace, and industrial
> products.=C2=A0 Is Haiku?=C2=A0 Or any other esoteric platforms that E= macs
> supports?

The criteria is whether it tends to afford users of Emacs on proprietary systems an advantage over those of free systems.=C2=A0 There's no reaso= n to
insist that everything should be reduced to figures--Emacs on GNUstep is not a viable substitute for any other configuration, and hence everyone
and his dog can see that features it might support are not material,
when the only alternative is Mac OS.

Haiku is free software and, above all, it is not being invoked to
rationalize the introduction of features on a proprietary OS.=C2=A0 The
question at issue is a world removed from whether to support an OS at
all.=C2=A0 So I fail to perceive its relevance.

Are you wi= lling to assist in figuring out how to get app badges working on Linux desk= top shells?=C2=A0 You have a lot of experience and I'd appreciate the h= elp.
--000000000000e2ce820632088373-- From debbugs-submit-bounces@debbugs.gnu.org Sat Apr 05 11:34:52 2025 Received: (at 77496) by debbugs.gnu.org; 5 Apr 2025 15:34:52 +0000 Received: from localhost ([127.0.0.1]:44366 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1u15Xo-0006hD-Gs for submit@debbugs.gnu.org; Sat, 05 Apr 2025 11:34:52 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:58486) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1u15Xm-0006gz-Ec for 77496@debbugs.gnu.org; Sat, 05 Apr 2025 11:34:50 -0400 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 ) id 1u15Xh-0000P2-3Z; Sat, 05 Apr 2025 11:34:45 -0400 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=rrY3FRt1iF//cbtf8mJLV0tT2A8+UqkLh5Jo+H8gugE=; b=rSx+bGtu9kAC WqcOS/pI0XL13/ms/ZTOvAfBozacX9eK5bWgCXwxYVY3J0E9jCYPnIPJrJ5VSdAPJGBnw8ucYF63x is2rR7QezyXGLVuFLKO4MHl97j/VKXpFmrOy3K+z5SSquPoO7qgnWWwc+HMtWzq50ToOHpz6rzmb2 lnm3NmerON7cT6LIuIWiHqIBSr8zeYf0M5p2NlidrIFG207B36ZaLwYSzYBhVs6QFpr4zXOViwIPM Il7pBFUFDsiyTcNdCLodeQMequ3jxO5ifjXJn1TQNxiIs3ChHLMR9RLJ59WhHbkN8is3bcLDrd7wa ksik5Oh5tSkIQr/1+eURLg==; Date: Sat, 05 Apr 2025 18:34:38 +0300 Message-Id: <86cydqwrjl.fsf@gnu.org> From: Eli Zaretskii To: Ship Mints In-Reply-To: (message from Ship Mints on Sat, 5 Apr 2025 09:44:31 -0400) Subject: Re: bug#77496: [PATCH] Add 'ns-app-badge' to set macOS / GNUstep icon badge References: <86a58wzayj.fsf@gnu.org> <86v7rkxiat.fsf@gnu.org> <871pu6rdhx.fsf@yahoo.com> <87jz7ypw7z.fsf@yahoo.com> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 77496 Cc: luangruo@yahoo.com, 77496@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Ship Mints > Date: Sat, 5 Apr 2025 09:44:31 -0400 > Cc: Eli Zaretskii , 77496@debbugs.gnu.org > > That's good to hear. None the less, GNUstep is too seldom used for > feature availability there to justify implementing the same features on > Mac OS, particularly when Emacs's GNUstep port is known to be unreliable > and short of other critical editing features such as Indic or Arabic > script shaping support. > > Eli asked that the hurdle to be cleared was support of the same feature on a free platform. If that hurdle is > based on platform popularity, what are the precise metrics we should use to gauge such? I'm aware of > GNUstep being actively used in military, aerospace, and industrial products. Is Haiku? Or any other esoteric > platforms that Emacs supports? I said explicitly that this should be supported on X or GTK. I don't think GNUstep on Linux counts, sorry. It's too niche a platform for this purpose. From debbugs-submit-bounces@debbugs.gnu.org Sat Apr 05 11:43:59 2025 Received: (at 77496) by debbugs.gnu.org; 5 Apr 2025 15:43:59 +0000 Received: from localhost ([127.0.0.1]:44380 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1u15gc-00078H-Qx for submit@debbugs.gnu.org; Sat, 05 Apr 2025 11:43:59 -0400 Received: from mail-vk1-xa36.google.com ([2607:f8b0:4864:20::a36]:50471) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1u15gb-00077y-HJ for 77496@debbugs.gnu.org; Sat, 05 Apr 2025 11:43:58 -0400 Received: by mail-vk1-xa36.google.com with SMTP id 71dfb90a1353d-5240b014f47so1355059e0c.1 for <77496@debbugs.gnu.org>; Sat, 05 Apr 2025 08:43:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1743867832; x=1744472632; 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=/1FPKLj2D058Gz7GGxUU2bMgZSzRuWxkof+Cu0D5c0I=; b=TgKueDbQiMI/7SSn9BPU0n44AJR9Y+tLn0+vGY/AVQsrJXaYGZzt+PCQUuOPS82aZB QIcuhTcYfVtC2Fi46Wub9hKa5mrtSjO+DTjNJwPWkpGD+4z6zdBMzSA6CkW6DqF64Hnh cLWoVTOG0MQPgyZIR33FzrkDqWA+LHFhRNaBbpCzTexOZLFtwA9gcQKhNlAx3c0XiL+K FdiZOYSyGU247fFb+BJ6S9w7ur+Azy2CWlhiPiW/pMOfwziZKIle2VCecSkF6S/d/ns1 zB2Y5mdFYRkrFq+jLdk0NO9JDCIlI1z5XKVS/vZ5quB1RLXsH1GBtokHYSf+ZVkxS3G9 PAQQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743867832; x=1744472632; 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=/1FPKLj2D058Gz7GGxUU2bMgZSzRuWxkof+Cu0D5c0I=; b=Gl9v2v4tzuLNWPgq17QbCJ4hwO6VnA+KSbvSbzOXs94uu+bmR0dWxMX76o7YVy8H5f Ue9m4MAwMHwUo5oYsDyqJN20DCABPeiYABDM0WlwGvIkTOIPdgXUbXDoCtaVJiqYJPnR LG30Jr9zoq9X3jPcZtqalhviw2k+aIMPSJxei1DMarAIKuuNA8eancUmc+yvmVfNIKHg dkEICxSWcMoo73C9Xr6ICDksZrQVEO1jOz5JmvN7oqeSPmABa991MnN9KatGOhCJsnaU bWFJKmxc0XvV7MetfTFbgOOFRf7WdRl36dyzw1qCRU6dMcnF+WnR6qJnYDiHW3uf/pzu /MjQ== X-Forwarded-Encrypted: i=1; AJvYcCWmAqwqv13vzhA6ZfuczN7iPbGOVKO1Wrx+Wxkd6KQte61QnzNa44HevuXt4IiXuOIsxPC+BQ==@debbugs.gnu.org X-Gm-Message-State: AOJu0YzsP1Epyh3Vl5Kxtb3SjY8QoznbQu1UsvrQR5c2u/8e5k0WDBSZ /6pM1hK8mPA8gqOoc/G3SdQ+7mt8cCJJRBlAJWb8To6mjC4SISJXIo2o+WdkjfTuquJQiWRLGI+ nF1BS6cofcCybqO3FFoB1fnDzntA= X-Gm-Gg: ASbGnct8FeqWgXELsfSVzPcCsn7fhDUPv3vNenSknyFAJe4dRpJM8ZP+MMRjDHPAgxw nEVCWkGjmZwJ3lNIssm233HaSWahFK1B0Cndyr/b9wzhDHrGMuHn1BVu4VVrPdLS5Z27J+4IGAO MMCAlgbeROUjF2wr6uR7UrZoWnzA== X-Google-Smtp-Source: AGHT+IH/8OTDTzgbVxx1unlzqAeLAP2AKGEmYFDBnvsy9Cf0cZC77YnC5OYZ/UErp6J7RwwFq1csBeJ4QmxQOr2QlVc= X-Received: by 2002:a05:6122:168c:b0:51f:405e:866e with SMTP id 71dfb90a1353d-5276444bd32mr5208127e0c.1.1743867831856; Sat, 05 Apr 2025 08:43:51 -0700 (PDT) MIME-Version: 1.0 References: <86a58wzayj.fsf@gnu.org> <86v7rkxiat.fsf@gnu.org> <871pu6rdhx.fsf@yahoo.com> <87jz7ypw7z.fsf@yahoo.com> <86cydqwrjl.fsf@gnu.org> In-Reply-To: <86cydqwrjl.fsf@gnu.org> From: Ship Mints Date: Sat, 5 Apr 2025 11:43:40 -0400 X-Gm-Features: ATxdqUEQM9hcmhUGHBhbrLniirgQ_tTS1mGanQxrUgTjAqNlyF_DD-M90VS70uo Message-ID: Subject: Re: bug#77496: [PATCH] Add 'ns-app-badge' to set macOS / GNUstep icon badge To: Eli Zaretskii Content-Type: multipart/alternative; boundary="000000000000a7351e063209de84" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 77496 Cc: luangruo@yahoo.com, 77496@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) --000000000000a7351e063209de84 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Sat, Apr 5, 2025 at 11:34=E2=80=AFAM Eli Zaretskii wrote: > > From: Ship Mints > > Date: Sat, 5 Apr 2025 09:44:31 -0400 > > Cc: Eli Zaretskii , 77496@debbugs.gnu.org > > > > That's good to hear. None the less, GNUstep is too seldom used for > > feature availability there to justify implementing the same features o= n > > Mac OS, particularly when Emacs's GNUstep port is known to be unreliab= le > > and short of other critical editing features such as Indic or Arabic > > script shaping support. > > > > Eli asked that the hurdle to be cleared was support of the same feature > on a free platform. If that hurdle is > > based on platform popularity, what are the precise metrics we should us= e > to gauge such? I'm aware of > > GNUstep being actively used in military, aerospace, and industrial > products. Is Haiku? Or any other esoteric > > platforms that Emacs supports? > > I said explicitly that this should be supported on X or GTK. I don't > think GNUstep on Linux counts, sorry. It's too niche a platform for > this purpose. > Fair enough. I'll keep looking around for pointers and will see if I can make the dbus shell count/count-visible method work. --000000000000a7351e063209de84 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
= On Sat, Apr 5, 2025 at 11:34=E2=80=AFAM Eli Zaretskii <eliz@gnu.org> wrote:
> From: Ship Mints <shipmints@gmail.com>
> Date: Sat, 5 Apr 2025 09:44:31 -0400
> Cc: Eli Zaretskii <eliz@gnu.org>, 77496@debbugs.gnu.org
>
>=C2=A0 That's good to hear.=C2=A0 None the less, GNUstep is too sel= dom used for
>=C2=A0 feature availability there to justify implementing the same feat= ures on
>=C2=A0 Mac OS, particularly when Emacs's GNUstep port is known to b= e unreliable
>=C2=A0 and short of other critical editing features such as Indic or Ar= abic
>=C2=A0 script shaping support.
>
> Eli asked that the hurdle to be cleared was support of the same featur= e on a free platform.=C2=A0 If that hurdle is
> based on platform popularity, what are the precise metrics we should u= se to gauge such?=C2=A0 I'm aware of
> GNUstep being actively used in military, aerospace, and industrial pro= ducts.=C2=A0 Is Haiku?=C2=A0 Or any other esoteric
> platforms that Emacs supports?

I said explicitly that this should be supported on X or GTK.=C2=A0 I don= 9;t
think GNUstep on Linux counts, sorry.=C2=A0 It's too niche a platform f= or
this purpose.

Fair enough.=C2=A0 I'll keep looking aro= und for=C2=A0pointers and will see if I can make=C2=A0the=C2=A0dbus shell c= ount/count-visible method work.
--000000000000a7351e063209de84-- From debbugs-submit-bounces@debbugs.gnu.org Sat Apr 05 12:10:19 2025 Received: (at 77496) by debbugs.gnu.org; 5 Apr 2025 16:10:19 +0000 Received: from localhost ([127.0.0.1]:44448 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1u1667-0008U6-HN for submit@debbugs.gnu.org; Sat, 05 Apr 2025 12:10:19 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:43720) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1u1664-0008TP-1y for 77496@debbugs.gnu.org; Sat, 05 Apr 2025 12:10:17 -0400 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 ) id 1u165y-0004m7-HY; Sat, 05 Apr 2025 12:10:10 -0400 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=9z8IY7ZjuouNTKjDEef5rtyIpfF95JwbC/r+5A+w5vk=; b=Mym5REvTxqPe C06Ua1eWXFyvF0roP+eXMJ0xZpLRp5SBqi9bcw0c9nFDpa7HBfd4xQQCyYcT6J/D16sWy7N7Rv/J0 nGi48nmDtiYFawpviHaHbYL2KIc0Ry8eLnqv5d6Mla6Q77b+ogoJa0CPa7OgB2c6bNokfEv8oXmLX ALT/WnEu7MRodJ1r+M1ieYLnSxS4snIJWUB7wn9d1TlNJyajI4EbfVpRmCuTWTLHIStRjmqeRSnHX wkbtFtGCdlULXOhDqyhU9NOiya2BfStN0dPNlHZHU8G9U9RlNnXWHNCCeKkA5puUbcNk0XjSThIHn kRD32bSzoALdKPI83NzJjA==; Date: Sat, 05 Apr 2025 19:10:08 +0300 Message-Id: <86y0wevbbz.fsf@gnu.org> From: Eli Zaretskii To: Ship Mints In-Reply-To: (message from Ship Mints on Sat, 5 Apr 2025 11:43:40 -0400) Subject: Re: bug#77496: [PATCH] Add 'ns-app-badge' to set macOS / GNUstep icon badge References: <86a58wzayj.fsf@gnu.org> <86v7rkxiat.fsf@gnu.org> <871pu6rdhx.fsf@yahoo.com> <87jz7ypw7z.fsf@yahoo.com> <86cydqwrjl.fsf@gnu.org> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 77496 Cc: luangruo@yahoo.com, 77496@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Ship Mints > Date: Sat, 5 Apr 2025 11:43:40 -0400 > Cc: luangruo@yahoo.com, 77496@debbugs.gnu.org > > I said explicitly that this should be supported on X or GTK. I don't > think GNUstep on Linux counts, sorry. It's too niche a platform for > this purpose. > > Fair enough. I'll keep looking around for pointers and will see if I can make the dbus shell count/count-visible > method work. Thank you. From debbugs-submit-bounces@debbugs.gnu.org Tue Apr 08 17:50:37 2025 Received: (at 77496) by debbugs.gnu.org; 8 Apr 2025 21:50:37 +0000 Received: from localhost ([127.0.0.1]:35867 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1u2Gq4-0000kj-M0 for submit@debbugs.gnu.org; Tue, 08 Apr 2025 17:50:37 -0400 Received: from thaodan.de ([2a03:4000:4f:f15::1]:40588) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1u2Gq1-0000kN-Hx for 77496@debbugs.gnu.org; Tue, 08 Apr 2025 17:50:35 -0400 Received: from odin (dsl-trebng12-50dc7b-49.dhcp.inet.fi [80.220.123.49]) by thaodan.de (Postfix) with ESMTPSA id C50D3D00038; Wed, 9 Apr 2025 00:50:26 +0300 (EEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=thaodan.de; s=mail; t=1744149026; bh=CUCZODg6TPflV+V5DXZQ/czgyI3bYNRQtbqijoc3BvY=; h=From:To:Cc:Subject:In-Reply-To:References:Date; b=1f75JcpfcJ+qMSMYL+qWjuXjrzXdvA1k5LC55iBTlTaH7j0Xy6k6Kf0i7mdwHuVBq wS14mWxcNMSZT/zZdicUSTZoVSjWcMdZrcfPX6WAk/foh4+tUPYS6R2Ae7HNOUgNt/ 0pAJaQ4S4wAoGQMZveTW7KgSeB1UqbKmTXYQd5fPRHfH2k59JVVrPL/D92t3M+NmIt R98viTSegmg+gbPFP7jVjwbZcTuNe6/sAeDSIql0PfyId41EB9RAuYr6OvZ+g3XmEx 4yCHlXUwhLUtb7Yr3li4j+EiV83gzfIISFc6V8IGYwOEkEgogZSx/hAFmkOrKbOadb oRPIchFCe8Huyhs6iViaVLnOsJHq/AHrVDqHj2GrUWUzxBsJXVDdnCTTvg/SY+dCLW AnXx/TDIrunxhHaWVFNFtQWSF1WYTtzJpG8W2YrBtD7kHLJRn6o6Bfo96fq17wOf9I 5GtH27MomkG9dzoDrysyHBGv95TWHULtQlxnf7uri2+XSpC/MeMsJ5Sm4fNWmYZMoM J28vCBalepQIELcRJqlyl+PfqXPbjz0sAUuxKHwz7ROpfn5zrn2SkRF228SPA3/YAu nqrtnqmRrSZW+FR/LPFJl5ZQHJsht5LF2G5F+ZZe0xD/u0JWmA9IrpAU11gHX0sT1G eKTjsJjDrzXQvrk3XsXQQlTs= From: =?utf-8?Q?Bj=C3=B6rn?= Bidar To: Ship Mints Subject: Re: bug#77496: [PATCH] Add 'ns-app-badge' to set macOS / GNUstep icon badge In-Reply-To: (Ship Mints's message of "Fri, 4 Apr 2025 11:53:52 -0400") References: <86a58wzayj.fsf@gnu.org> <86v7rkxiat.fsf@gnu.org> Autocrypt: addr=bjorn.bidar@thaodan.de; prefer-encrypt=nopreference; keydata= mDMEZNfpPhYJKwYBBAHaRw8BAQdACBEmr+0xwIIHZfIDlZmm7sa+lHHSb0g9FZrN6qE6ru60JUJq w7ZybiBCaWRhciA8Ympvcm4uYmlkYXJAdGhhb2Rhbi5kZT6IlgQTFgoAPgIbAwULCQgHAgIiAgYV CgkICwIEFgIDAQIeBwIXgBYhBFHxdut1RzAepymoq1wbdKFlHF9oBQJk1/YmAhkBAAoJEFwbdKFl HF9oB9cBAJoIIGQKXm4cpap+Flxc/EGnYl0123lcEyzuduqvlDT0AQC3OlFKm/OiqJ8IMTrzJRZ8 phFssTkSrrFXnM2jm5PYDoiTBBMWCgA7FiEEUfF263VHMB6nKairXBt0oWUcX2gFAmTX6T4CGwMF CwkIBwICIgIGFQoJCAsCBBYCAwECHgcCF4AACgkQXBt0oWUcX2hbCQEAtru7kvM8hi8zo6z9ux2h K+B5xViKuo7Z8K3IXuK5ugwA+wUfKzomzdBPhfxDsqLcEziGRxoyx0Q3ld9aermBUccHtBxCasO2 cm4gQmlkYXIgPG1lQHRoYW9kYW4uZGU+iJMEExYKADsCGwMFCwkIBwICIgIGFQoJCAsCBBYCAwEC HgcCF4AWIQRR8XbrdUcwHqcpqKtcG3ShZRxfaAUCZNf2FQAKCRBcG3ShZRxfaCzSAP4hZ7cSp0YN XYpcjHdsySh2MuBhhoPeLGXs+2kSiqBiOwD/TP8AgPEg/R+SI9GI9on7fBJJ0mp2IT8kZ2rhDOjg gA6IkwQTFgoAOxYhBFHxdut1RzAepymoq1wbdKFlHF9oBQJk1+ntAhsDBQsJCAcCAiICBhUKCQgL AgQWAgMBAh4HAheAAAoJEFwbdKFlHF9oBgwA/iQHwe0VL4Df4GGTYlNjMSHFlIkBmN4UfYGLYj3E TrOUAQC51M+M3cjsL8WHdpBz6VAo6df9d+rVwhQ9vQuFHqevArg4BGTX6T4SCisGAQQBl1UBBQEB B0Cbohc3JEfn005/cm0AOGjSsW1ZxAkgaoVNjbpqk4MgNAMBCAeIeAQYFgoAIBYhBFHxdut1RzAe pymoq1wbdKFlHF9oBQJk1+k+AhsMAAoJEFwbdKFlHF9ooHABAKGmrGBic/Vys3BBrOQiRB3Z7izO HwhqTRpAqFZtXS2nAQDZhp/5aYw1TZjTzkm1KVt9QiYnjd/MvxRE9iaY6x4mDbgzBGTX6T4WCSsG AQQB2kcPAQEHQAgRJq/tMcCCB2XyA5WZpu7GvpRx0m9IPRWazeqhOq7uiO8EGBYKACAWIQRR8Xbr dUcwHqcpqKtcG3ShZRxfaAUCZNf71AIbIgCBCRBcG3ShZRxfaHYgBBkWCgAdFiEEUfF263VHMB6n KairXBt0oWUcX2gFAmTX+9QACgkQXBt0oWUcX2jeSwD6AtWn0cuo8IF35YRo4o3cDRJnUfJnbvJy GxyCDThR+zYBAKG6/jdwmZkBQZKslnDAbMMd2WfiZZT5JW3IWC4EaKMO7HkBAKYPGZ3UbfkRvfFK S+pQ9CgtNfkSJQBtT1Ob7Y6nsacgAQCpyXN7yppmhW/oBgivITPy9Lkg+V4NK9WZYZCU9Q7LBA== Date: Wed, 09 Apr 2025 00:50:26 +0300 Message-ID: <875xjecogt.fsf@> 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-Score: 1.2 (+) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: Ship Mints writes: > On Fri, Apr 4, 2025 at 7:44 AM Eli Zaretskii wrote: > >> > From: Ship Mints >> > Date: Fri, 4 Apr 2025 07:37:57 -0400 >> > Cc: 77496@debbugs.gnu.org >> > >> > [...] Content analysis details: (1.2 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 SPF_HELO_PASS SPF: HELO matches SPF record -0.0 SPF_PASS SPF: sender matches SPF record 1.2 INVALID_MSGID Message-Id is not valid, according to RFC 2822 X-Debbugs-Envelope-To: 77496 Cc: Eli Zaretskii , 77496@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.2 (/) Ship Mints writes: > On Fri, Apr 4, 2025 at 7:44=E2=80=AFAM Eli Zaretskii wrote: > >> > From: Ship Mints >> > Date: Fri, 4 Apr 2025 07:37:57 -0400 >> > Cc: 77496@debbugs.gnu.org >> > >> > P.S. All this doesn't change the fact that we can only install this >> > feature when it can be made available on free systems. >> > >> > This feature exists in GNUstep. Is this not sufficiently free? >> >> I mean the underlying OS. >> > > GNUstep on Linux would do. > >> If you think we really need complete parity with Linux desktop systems >> beyond GNUstep, based on some >> > research this morning, we may be able to leverage dbus messages for >> desktops that support for "count" >> > (numeric only, sheesh) / "count-visible". This functionality appears >> not to be tied to the running process as on >> > macOS/GNUstep but to a "URL" like "application://{appname}.desktop" >> where I guess appname would be >> > emacs or Emacs, I dunno yet how this really works when there are more >> than one running copies of an app >> > process. I'll experiment and see if I can tease this out. >> > >> > If this seems easy and you're 100% adamant that GNUstep is >> insufficiently free, I can try to craft a more >> > generic API that supports numeric counts for Linux desktop shells, and >> text labels for macOS/GNUstep. >> >> I'd be surprised if X and/or GTK don't have a comparable feature. So >> yes, I think we should have something similar on GNU/Linux. >> > > Seems not. Seems to be a feature of desktop shells. > > Not getting any love from trying 'gdbus' to force an app badge. I'm sure= ly > just an ignorant boob with dbus. > > For anyone interested in helping out, this is the hack I'm trying, which, > if it worked, we'd model in Emacs invoking dbus directly vs. via command > line. > Which desktop environment do you use? It seems that at least KDE Plasma and Unity support this API. I assume that also applies to GNOME Shell at least under Ubuntu. From debbugs-submit-bounces@debbugs.gnu.org Wed Apr 09 09:53:38 2025 Received: (at 77496) by debbugs.gnu.org; 9 Apr 2025 13:53:38 +0000 Received: from localhost ([127.0.0.1]:38409 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1u2Vs1-0004q9-Dh for submit@debbugs.gnu.org; Wed, 09 Apr 2025 09:53:37 -0400 Received: from mail-vk1-xa2d.google.com ([2607:f8b0:4864:20::a2d]:56375) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1u2Vry-0004pk-8z for 77496@debbugs.gnu.org; Wed, 09 Apr 2025 09:53:35 -0400 Received: by mail-vk1-xa2d.google.com with SMTP id 71dfb90a1353d-524168b16d3so6028151e0c.0 for <77496@debbugs.gnu.org>; Wed, 09 Apr 2025 06:53:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1744206808; x=1744811608; 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=ryDwvG4jrTzw7NO1mWwALWfLhJxtwqMbLp8LhI0Y5GQ=; b=mAhlG921OZOO8X/1t584frXdoGkpEexROZESD4RRALdlA0A5Cma74di47z839OMXRE UhiK2p5TBd5Hu6jNIO14Op95UHObnkmrhrIy0hxa8N+ceZhvlOXINW/03JtPd0qSwU77 TjBU9spqsjnK9rgvjvk8K7i6w0qwDaMfnsT5BWdSi32cdIXP2A+7n1pJyNtFHKJGxHly jAVgU+dopFWwhx85lvX1oJRm2TfoP5MtAOWEDNkUFRKTSKrT2WF+KXLpnnkLFZKToQx6 Gwu83m248swRDPkHU6Bu4ligxChrERnLbNarRoUQRxckbuWBocSaI8TXa06CsYiY8cl6 k+ow== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744206808; x=1744811608; 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=ryDwvG4jrTzw7NO1mWwALWfLhJxtwqMbLp8LhI0Y5GQ=; b=ShcbuEzhgTInYUIjud4w/bILn7fn47pXDmyKAx44vHrFzzm/ydutPm1SZjtxIUsMNm hvkSUZuGBy39OVgYMhU5kDYNLV1KIxo6Vq84IIin2wloQrfOB/qAwzqBb7lhFX4PKmds d/oNaeHQf195BLp8G61uHSmM1xQUapgd4qi0PHuCk23LB59LAsPL+4GLYbhNwCzdP0pD 9p+zobyRgffhFKR9M/qfq33c2yLoqoe8soJfYH+qOgi17DiZGAbWiPFmPfdLPBLcwxPt /BCfnsmtwSKlzocYrcGx0nPVAsBusDmQMo7I9q14nOBLxJygXISzOUISzU1zDsj1dwXx TKRQ== X-Forwarded-Encrypted: i=1; AJvYcCW/xWsOlEWOIW5+CBaNpybqL8Y6ceiTPIefTiTaqA6MiVhF7e8ocXWiEOAkDVqveH/mZZm/1w==@debbugs.gnu.org X-Gm-Message-State: AOJu0YwUDscTH29dRacV+i9eAw+2tu4Ur+v4c9KC3Gc0SCWpHXMkXU+3 VFo7T+FVHgCIJsoOEcqm4l5qicqi7gkoK0bL6DQ1LCvZ7OCywqfVEwhHkSdOsCdMErON0Lvf5re KCweOYPbQ0esTh3jwX27kHjBdEFE= X-Gm-Gg: ASbGncuqgC/dOZaTOOxQe6zFvETPIfGdBcYZVo75uElRgXEHvEiewDD4X2u/EdpcR6K U243tUZd8fwq+QJd5N1NrAqexUbrbVqPsc+zUxdPDec0MRvuVYnXtd4O8hNPn2zIMEgEBw8TSZF oySRf26uTGEguDJ4LYPrDghQ== X-Google-Smtp-Source: AGHT+IHu/yAOLTpWFg6fdxqYvmVhPbTlBDG+tjbcisXxNi2vci2Ci34WBBEAJG0e01eh8bm8YVQVqgzlwwzqHUE17Ww= X-Received: by 2002:a05:6122:1d0a:b0:523:91e8:324c with SMTP id 71dfb90a1353d-527a924f5edmr2013013e0c.8.1744206808329; Wed, 09 Apr 2025 06:53:28 -0700 (PDT) MIME-Version: 1.0 References: <86a58wzayj.fsf@gnu.org> <86v7rkxiat.fsf@gnu.org> <67f59a64.050a0220.f48c6.2f10SMTPIN_ADDED_BROKEN@mx.google.com> In-Reply-To: <67f59a64.050a0220.f48c6.2f10SMTPIN_ADDED_BROKEN@mx.google.com> From: Ship Mints Date: Wed, 9 Apr 2025 09:53:17 -0400 X-Gm-Features: ATxdqUGXXEw2StrO3fQsZg7UO0ghF6HHEJ8q-leWb3yI-cjfuRS_xl1mr6zuVt0 Message-ID: Subject: Re: bug#77496: [PATCH] Add 'ns-app-badge' to set macOS / GNUstep icon badge To: =?UTF-8?B?QmrDtnJuIEJpZGFy?= Content-Type: multipart/alternative; boundary="00000000000039b84a063258cb5f" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 77496 Cc: Eli Zaretskii , 77496@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) --00000000000039b84a063258cb5f Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Tue, Apr 8, 2025 at 5:51=E2=80=AFPM Bj=C3=B6rn Bidar via Bug reports for= GNU Emacs, the Swiss army knife of text editors wrote: > Ship Mints writes: > > > On Fri, Apr 4, 2025 at 7:44=E2=80=AFAM Eli Zaretskii wro= te: > > > >> > From: Ship Mints > >> > Date: Fri, 4 Apr 2025 07:37:57 -0400 > >> > Cc: 77496@debbugs.gnu.org > >> > > >> > P.S. All this doesn't change the fact that we can only install this > >> > feature when it can be made available on free systems. > >> > > >> > This feature exists in GNUstep. Is this not sufficiently free? > >> > >> I mean the underlying OS. > >> > > > > GNUstep on Linux would do. > > > >> If you think we really need complete parity with Linux desktop systems > >> beyond GNUstep, based on some > >> > research this morning, we may be able to leverage dbus messages for > >> desktops that support for "count" > >> > (numeric only, sheesh) / "count-visible". This functionality appear= s > >> not to be tied to the running process as on > >> > macOS/GNUstep but to a "URL" like "application://{appname}.desktop" > >> where I guess appname would be > >> > emacs or Emacs, I dunno yet how this really works when there are mor= e > >> than one running copies of an app > >> > process. I'll experiment and see if I can tease this out. > >> > > >> > If this seems easy and you're 100% adamant that GNUstep is > >> insufficiently free, I can try to craft a more > >> > generic API that supports numeric counts for Linux desktop shells, a= nd > >> text labels for macOS/GNUstep. > >> > >> I'd be surprised if X and/or GTK don't have a comparable feature. So > >> yes, I think we should have something similar on GNU/Linux. > >> > > > > Seems not. Seems to be a feature of desktop shells. > > > > Not getting any love from trying 'gdbus' to force an app badge. I'm > surely > > just an ignorant boob with dbus. > > > > For anyone interested in helping out, this is the hack I'm trying, whic= h, > > if it worked, we'd model in Emacs invoking dbus directly vs. via comman= d > > line. > > > > Which desktop environment do you use? It seems that at least KDE Plasma > and Unity support this API. I assume that also applies to GNOME Shell at > least under Ubuntu. > I've been experimenting with Ubuntu. The app icon badge protocol is implemented in the gnome-shell dock extension (this is a brittle methodology in several ways but that's what we have to work with). I have been unable to make it work, however. It seems that despite the gjs dock code appearing to contain the dbus subscriptions, d-spy doesn't show the endpoint and dbus command-line tools also suggest the subscription isn't working. I ain't no dbus expert and this has been a tad frustrating, to say the least. That there is no "BDFL" in the Linux desktop ecosystem definitely shows. Does your gnome-shell dock properly react to com.canonical.Unity.LauncherEntry.Update signals? --00000000000039b84a063258cb5f Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
= On Tue, Apr 8, 2025 at 5:51=E2=80=AFPM Bj=C3=B6rn Bidar via Bug reports for= GNU Emacs, the Swiss army knife of text editors <bug-gnu-emacs@gnu.org> wrote:
<= div class=3D"gmail_quote gmail_quote_container">
Ship Mints <shipmints@gmail.com> writes:

> On Fri, Apr 4, 2025 at 7:44=E2=80=AFAM Eli Zaretskii <eliz@gnu.org> wrote:
>
>> > From: Ship Mints <shipmints@gmail.com>
>> > Date: Fri, 4 Apr 2025 07:37:57 -0400
>> > Cc: 77496@debbugs.gnu.org
>> >
>> >=C2=A0 P.S. All this doesn't change the fact that we can o= nly install this
>> >=C2=A0 feature when it can be made available on free systems.<= br> >> >
>> > This feature exists in GNUstep.=C2=A0 Is this not sufficientl= y free?
>>
>> I mean the underlying OS.
>>
>
> GNUstep on Linux would do.
>
>> If you think we really need complete parity with Linux desktop sys= tems
>> beyond GNUstep, based on some
>> > research this morning, we may be able to leverage dbus messag= es for
>> desktops that support for "count"
>> > (numeric only, sheesh) / "count-visible".=C2=A0 Thi= s functionality appears
>> not to be tied to the running process as on
>> > macOS/GNUstep but to a "URL" like "application= ://{appname}.desktop"
>> where I guess appname would be
>> > emacs or Emacs, I dunno yet how this really works when there = are more
>> than one running copies of an app
>> > process.=C2=A0 I'll experiment and see if I can tease thi= s out.
>> >
>> > If this seems easy and you're 100% adamant that GNUstep i= s
>> insufficiently free, I can try to craft a more
>> > generic API that supports numeric counts for Linux desktop sh= ells, and
>> text labels for macOS/GNUstep.
>>
>> I'd be surprised if X and/or GTK don't have a comparable f= eature.=C2=A0 So
>> yes, I think we should have something similar on GNU/Linux.
>>
>
> Seems not.=C2=A0 Seems to be a feature of desktop shells.
>
> Not getting any love from trying 'gdbus' to force an app badge= .=C2=A0 I'm surely
> just an ignorant boob with dbus.
>
> For anyone interested in helping out, this is the hack I'm trying,= which,
> if it worked, we'd model in Emacs invoking dbus directly vs. via c= ommand
> line.
>

Which desktop environment do you use? It seems that at least KDE Plasma
and Unity support this API. I assume that also applies to GNOME Shell at least under Ubuntu.

I've been experimenting with Ubunt= u.=C2=A0 The app icon badge protocol is implemented in the gnome-shell dock= extension (this is a brittle methodology in several ways but that's wh= at we have to work with).=C2=A0 I have been unable to make it work, however= .=C2=A0 It seems that despite the gjs dock code appearing to contain the db= us subscriptions, d-spy doesn't show the endpoint and dbus command-line= tools also suggest the subscription isn't working.=C2=A0 I ain't n= o dbus expert and this has been a tad frustrating, to say the least.=C2=A0 = That there is no "BDFL" in the Linux desktop ecosystem definitely= shows.
<= br>
Does = your gnome-shell dock properly react to com.canonical.Unity.LauncherEntry.U= pdate signals?
--00000000000039b84a063258cb5f-- From debbugs-submit-bounces@debbugs.gnu.org Wed Apr 23 12:54:12 2025 Received: (at 77496) by debbugs.gnu.org; 23 Apr 2025 16:54:13 +0000 Received: from localhost ([127.0.0.1]:58615 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1u7dMP-0002cc-Tq for submit@debbugs.gnu.org; Wed, 23 Apr 2025 12:54:12 -0400 Received: from thaodan.de ([185.216.177.71]:39454) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1u7dMN-0002aj-3Q for 77496@debbugs.gnu.org; Wed, 23 Apr 2025 12:54:08 -0400 Received: from odin (dsl-trebng12-50dc7b-49.dhcp.inet.fi [80.220.123.49]) by thaodan.de (Postfix) with ESMTPSA id 8D7D4D00034; Wed, 23 Apr 2025 19:54:00 +0300 (EEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=thaodan.de; s=mail; t=1745427240; bh=nysD3C5O3s1atNwD3ku+DFQqS4dSAVu8wF7xhcfzJUc=; h=From:To:Cc:Subject:In-Reply-To:References:Date; b=0+GCbvTS/R0TZr24mzPwL1REH1rpUB+sKKld1yYOZ50HYA+DchANERBxpNl0/zAQH 9jT/GJcSz/e+iF/SWPX4AA6W0yOS0sv6T4BInzMqrPMg3PnUufTpI8tWRhppqDHW0y Qv3/CtyzTfskYXRcaOKFV0J3ATuUq+rY21nlw8aYUV3ErBKwIO4/6TxtIV2OWF5yN1 JwhPbKHSbq1JuDDAwSWJngIRioCNUyTmKmbjw9a3D/cAW8sXlCrUdwX3s+n0B4P59W y3o0LnsCOEeIoy78NyRkXb2tyIAZwMVYye+GlzeYYn6xLXncrRb5Lyo3G3aYOd273Q +IcrQ4YckeDUbfLpMbv+JmZA5L20AVIFojHbDVqrDuEaO2Sc2iZMs4BMagY9l6uPP0 F5R2QJBS/68dssCTHn7t1nA/Mp1F00i3iMZDp080J0u8hL5SScDe6StpEfc4fp2gXd T+O34QkoCuaAsPKix0eyPdQln6t7uYrSpeSm22ihEloq971f50T63PAQ/c4QwnWFrd RJWBaAhFVQbpuk4zsa8Gv2aFajAbK80rihaiFEgBf2o/ebzWElEUOfwko+I30ksQC6 lbua4SZwjzBhIvtsEx1TGruvP1O9+bjKWPMxAdB1q+csNG7RtUbpgIDEwRkhFAcUok fTHSvoWc6QjlKnUzqzaDRGo8= From: =?utf-8?Q?Bj=C3=B6rn?= Bidar To: Ship Mints Subject: Re: bug#77496: [PATCH] Add 'ns-app-badge' to set macOS / GNUstep icon badge In-Reply-To: (Ship Mints's message of "Wed, 9 Apr 2025 09:53:17 -0400") References: <86a58wzayj.fsf@gnu.org> <86v7rkxiat.fsf@gnu.org> <67f59a64.050a0220.f48c6.2f10SMTPIN_ADDED_BROKEN@mx.google.com> Autocrypt: addr=bjorn.bidar@thaodan.de; prefer-encrypt=nopreference; keydata= mDMEZNfpPhYJKwYBBAHaRw8BAQdACBEmr+0xwIIHZfIDlZmm7sa+lHHSb0g9FZrN6qE6ru60JUJq w7ZybiBCaWRhciA8Ympvcm4uYmlkYXJAdGhhb2Rhbi5kZT6IlgQTFgoAPgIbAwULCQgHAgIiAgYV CgkICwIEFgIDAQIeBwIXgBYhBFHxdut1RzAepymoq1wbdKFlHF9oBQJk1/YmAhkBAAoJEFwbdKFl HF9oB9cBAJoIIGQKXm4cpap+Flxc/EGnYl0123lcEyzuduqvlDT0AQC3OlFKm/OiqJ8IMTrzJRZ8 phFssTkSrrFXnM2jm5PYDoiTBBMWCgA7FiEEUfF263VHMB6nKairXBt0oWUcX2gFAmTX6T4CGwMF CwkIBwICIgIGFQoJCAsCBBYCAwECHgcCF4AACgkQXBt0oWUcX2hbCQEAtru7kvM8hi8zo6z9ux2h K+B5xViKuo7Z8K3IXuK5ugwA+wUfKzomzdBPhfxDsqLcEziGRxoyx0Q3ld9aermBUccHtBxCasO2 cm4gQmlkYXIgPG1lQHRoYW9kYW4uZGU+iJMEExYKADsCGwMFCwkIBwICIgIGFQoJCAsCBBYCAwEC HgcCF4AWIQRR8XbrdUcwHqcpqKtcG3ShZRxfaAUCZNf2FQAKCRBcG3ShZRxfaCzSAP4hZ7cSp0YN XYpcjHdsySh2MuBhhoPeLGXs+2kSiqBiOwD/TP8AgPEg/R+SI9GI9on7fBJJ0mp2IT8kZ2rhDOjg gA6IkwQTFgoAOxYhBFHxdut1RzAepymoq1wbdKFlHF9oBQJk1+ntAhsDBQsJCAcCAiICBhUKCQgL AgQWAgMBAh4HAheAAAoJEFwbdKFlHF9oBgwA/iQHwe0VL4Df4GGTYlNjMSHFlIkBmN4UfYGLYj3E TrOUAQC51M+M3cjsL8WHdpBz6VAo6df9d+rVwhQ9vQuFHqevArg4BGTX6T4SCisGAQQBl1UBBQEB B0Cbohc3JEfn005/cm0AOGjSsW1ZxAkgaoVNjbpqk4MgNAMBCAeIeAQYFgoAIBYhBFHxdut1RzAe pymoq1wbdKFlHF9oBQJk1+k+AhsMAAoJEFwbdKFlHF9ooHABAKGmrGBic/Vys3BBrOQiRB3Z7izO HwhqTRpAqFZtXS2nAQDZhp/5aYw1TZjTzkm1KVt9QiYnjd/MvxRE9iaY6x4mDbgzBGTX6T4WCSsG AQQB2kcPAQEHQAgRJq/tMcCCB2XyA5WZpu7GvpRx0m9IPRWazeqhOq7uiO8EGBYKACAWIQRR8Xbr dUcwHqcpqKtcG3ShZRxfaAUCZNf71AIbIgCBCRBcG3ShZRxfaHYgBBkWCgAdFiEEUfF263VHMB6n KairXBt0oWUcX2gFAmTX+9QACgkQXBt0oWUcX2jeSwD6AtWn0cuo8IF35YRo4o3cDRJnUfJnbvJy GxyCDThR+zYBAKG6/jdwmZkBQZKslnDAbMMd2WfiZZT5JW3IWC4EaKMO7HkBAKYPGZ3UbfkRvfFK S+pQ9CgtNfkSJQBtT1Ob7Y6nsacgAQCpyXN7yppmhW/oBgivITPy9Lkg+V4NK9WZYZCU9Q7LBA== Date: Wed, 23 Apr 2025 19:53:59 +0300 Message-ID: <874iye7ra0.fsf@> 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-Score: 1.2 (+) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: Sorry forgot to reply to the mail. Ship Mints writes: > On Tue, Apr 8, 2025 at 5:51 PM Björn Bidar via Bug reports for GNU Emacs, > the Swiss army knife of text editors wrote: > >> Ship Mints writes: >> >> [...] Content analysis details: (1.2 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 0.0 RCVD_IN_VALIDITY_RPBL_BLOCKED RBL: ADMINISTRATOR NOTICE: The query to Validity was blocked. See https://knowledge.validity.com/hc/en-us/articles/20961730681243 for more information. [185.216.177.71 listed in bl.score.senderscore.com] -0.0 SPF_HELO_PASS SPF: HELO matches SPF record -0.0 SPF_PASS SPF: sender matches SPF record 0.0 RCVD_IN_VALIDITY_SAFE_BLOCKED RBL: ADMINISTRATOR NOTICE: The query to Validity was blocked. See https://knowledge.validity.com/hc/en-us/articles/20961730681243 for more information. [185.216.177.71 listed in sa-trusted.bondedsender.org] 1.2 INVALID_MSGID Message-Id is not valid, according to RFC 2822 X-Debbugs-Envelope-To: 77496 Cc: Eli Zaretskii , 77496@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.2 (/) Sorry forgot to reply to the mail. Ship Mints writes: > On Tue, Apr 8, 2025 at 5:51=E2=80=AFPM Bj=C3=B6rn Bidar via Bug reports f= or GNU Emacs, > the Swiss army knife of text editors wrote: > >> Ship Mints writes: >> >> > On Fri, Apr 4, 2025 at 7:44=E2=80=AFAM Eli Zaretskii wr= ote: >> > >> >> > From: Ship Mints >> >> > Date: Fri, 4 Apr 2025 07:37:57 -0400 >> >> > Cc: 77496@debbugs.gnu.org >> >> > >> >> > P.S. All this doesn't change the fact that we can only install this >> >> > feature when it can be made available on free systems. >> >> > >> >> > This feature exists in GNUstep. Is this not sufficiently free? >> >> >> >> I mean the underlying OS. >> >> >> > >> > GNUstep on Linux would do. >> > >> >> If you think we really need complete parity with Linux desktop systems >> >> beyond GNUstep, based on some >> >> > research this morning, we may be able to leverage dbus messages for >> >> desktops that support for "count" >> >> > (numeric only, sheesh) / "count-visible". This functionality appea= rs >> >> not to be tied to the running process as on >> >> > macOS/GNUstep but to a "URL" like "application://{appname}.desktop" >> >> where I guess appname would be >> >> > emacs or Emacs, I dunno yet how this really works when there are mo= re >> >> than one running copies of an app >> >> > process. I'll experiment and see if I can tease this out. >> >> > >> >> > If this seems easy and you're 100% adamant that GNUstep is >> >> insufficiently free, I can try to craft a more >> >> > generic API that supports numeric counts for Linux desktop shells, = and >> >> text labels for macOS/GNUstep. >> >> >> >> I'd be surprised if X and/or GTK don't have a comparable feature. So >> >> yes, I think we should have something similar on GNU/Linux. >> >> >> > >> > Seems not. Seems to be a feature of desktop shells. >> > >> > Not getting any love from trying 'gdbus' to force an app badge. I'm >> surely >> > just an ignorant boob with dbus. >> > >> > For anyone interested in helping out, this is the hack I'm trying, whi= ch, >> > if it worked, we'd model in Emacs invoking dbus directly vs. via comma= nd >> > line. >> > >> >> Which desktop environment do you use? It seems that at least KDE Plasma >> and Unity support this API. I assume that also applies to GNOME Shell at >> least under Ubuntu. >> > > I've been experimenting with Ubuntu. The app icon badge protocol is > implemented in the gnome-shell dock extension (this is a brittle > methodology in several ways but that's what we have to work with). I have > been unable to make it work, however. It seems that despite the gjs dock > code appearing to contain the dbus subscriptions, d-spy doesn't show the > endpoint and dbus command-line tools also suggest the subscription isn't > working. I ain't no dbus expert and this has been a tad frustrating, to > say the least. That there is no "BDFL" in the Linux desktop ecosystem > definitely shows. For desktop Linux there is Freedesktop.org which is largely still the established platform to coordinate standards and share some implementation of standards. However some actors such as GNOME have become difficult to interact with or ignore some standards. The cost of that being to improve their platform instead of "Linux", I don't write GNU/Linux since desktop Linux isn't just GNU but GNU/Freedesktop/GNOME/Qt/KDE/Linux etc the name would get quite long. > Does your gnome-shell dock properly react to > com.canonical.Unity.LauncherEntry.Update signals? I'm nott using Gnome-Shell but KDE Plasma. For Plasma it works out of the box once you have the task widget in your panel. The easiest example for me to test this is a messaging app such as Telegram. Just have widget add, start Telegram, have unread messages and look. There are no need to open the options to toggle for you to enable it. But you can configure the support for those in System-Settings -> Notifications -> Additional Feedback. Because usually I don't use a taskbar but a tilling window manager no taskbar needed, some quick internet searches revealved some information that might help to understand this. This post is about KDE Plasma and Qt but the explanation does apply to any implementation of the support for badges using that protocol: https://reionwong.github.io/posts/kde/kde-badge/ The official Canonical documentation: https://wiki.ubuntu.com/Unity/LauncherAPI This gnome shell extension seems to support the launcher API: https://github.com/micheleg/dash-to-dock (not-tested) It's the same extension Ubuntu installs to provide a similar UX as in Unity 7. Check this bug for more: https://bugs.launchpad.net/ubuntu/+source/gnome-shell-extension-ubuntu-dock= /+bug/1713712