Add the ability to configure mac-os specific properties to WindowConfig#457
Merged
Conversation
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 if it were a feature supported by Window, Solaris, Linux *and* Mac OS then it had no place 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.
…os's - blocking clippy pr check
5700f56 to
a67f784
Compare
Contributor
|
This is such a great PR. There are some macos specific bugs that need attention here including supporting |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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
structaccessed 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.