floem icon indicating copy to clipboard operation
floem copied to clipboard

Add the ability to configure mac-os specific properties to WindowConfig

Open timboudreau opened this issue 9 months ago • 0 comments

Rationale: Mac OS supports a number of window features that users of Mac OS applications expect, but which don't make sense as lowest-common-denominator cases.

I am one of the authors of NetBeans, and did all of the initial make it Mac user friendly circa 2002, which was extra difficult due to Java AWT's purity-test that any windowing feature that was not supported by Window, Solaris, Linux and Mac OS had no business being supported by AWT. That significantly worsened the user experience (eventually Apple supported magic "component properties" that made some improvements possible), and is not a mistake you want to imitate.

I've endeavored to make the result minimally invasive to the existing API - all Mac OS specific properties are on a separate struct accessed via a closure, but did ensure that the types are visible on other OS's, so developers creating floem-based apps do not need to litter their code with #[cfg(target_os = "macos")].

Use Case: I have some palette windows that I need more control of the appearance of than is possible without this.

Built and tested on Mac OS and Gentoo Linux without problems.

timboudreau avatar May 22 '24 16:05 timboudreau