> 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. 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 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.
Anyone reading this thread that has experience on Linux desktops that support count/count-visible and you have a few minutes, contact me.
-Stephane