Closed
Description
This is basically a repost of clojure-emacs/cider-nrepl#610, but the origin of the cider-nrepl issue can be found here, in this repository.
Expected behavior
Using orchard (or any other library that depends on it) on mac does not affect the way how java swing frames are being displayed.
Actual behavior
Using orchard (or, for example cider/cider-nrepl) causes swing frames to "hover" on mac. I can't use cmd+tab to switch to the frame which makes developing very cumbersome.
Steps to reproduce the problem
- Clone this repository
- run
lein repl
- run the following commands
user=> (require 'orchard.java.parser)
nil
user=> (import 'javax.swing.JFrame)
javax.swing.JFrame
user=> (doto (JFrame.) (.setSize 200 200) (.setVisible true))
#object[javax.swing.JFrame 0x6b3a36ef "javax.swing.JFrame[frame0,0,25,200x200,layout=java.awt.BorderLayout,title=,resizable,normal,defaultCloseOperation=HIDE_ON_CLOSE,rootPane=javax.swing.JRootPane[,0,28,200x172,layout=javax.swing.JRootPane$RootLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=16777673,maximumSize=,minimumSize=,preferredSize=],rootPaneCheckingEnabled=true]"]
- compare with
user=> (System/setProperty "apple.awt.UIElement" "false")
nil
user=> (require 'orchard.java.parser)
nil
user=> (import 'javax.swing.JFrame)
javax.swing.JFrame
user=> (doto (JFrame.) (.setSize 200 200) (.setVisible true))
#object[javax.swing.JFrame 0x6b3a36ef "javax.swing.JFrame[frame0,0,25,200x200,layout=java.awt.BorderLayout,title=,resizable,normal,defaultCloseOperation=HIDE_ON_CLOSE,rootPane=javax.swing.JRootPane[,0,28,200x172,layout=javax.swing.JRootPane$RootLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=16777673,maximumSize=,minimumSize=,preferredSize=],rootPaneCheckingEnabled=true]"]
The reason for this behaviour can be found here: https://github.com/clojure-emacs/orchard/blob/master/src-newer-jdks/orchard/java/parser.clj#L134
Environment & Version information
Clojure version
$ clj --version
Clojure CLI version 1.11.1.1155
Java version
$ java --version
openjdk 18.0.2 2022-07-19
OpenJDK Runtime Environment Homebrew (build 18.0.2+0)
OpenJDK 64-Bit Server VM Homebrew (build 18.0.2+0, mixed mode, sharing)
Operating system
macOS Monterey 12.3.1