11package org .nlogo .ls
22
3- import java .awt .GraphicsEnvironment
43import java .awt .event .{ ActionEvent , ActionListener }
54import java .lang .{ Double => JDouble }
65import java .util
7- import java .util .Objects
86import java .util .concurrent .ConcurrentHashMap
97import javax .swing .JMenuItem
108
@@ -14,15 +12,13 @@ import org.nlogo.app.{ App, ToolsMenu }
1412import org .nlogo .awt .EventQueue
1513import org .nlogo .core .LogoList
1614import org .nlogo .nvm .HaltException
17- import org .nlogo .workspace .{ AbstractWorkspace , ExtensionManager => WorkspaceExtensionManager }
15+ import org .nlogo .workspace .AbstractWorkspace
1816
1917import scala .collection .immutable .ArraySeq
2018import scala .jdk .CollectionConverters .ConcurrentMapHasAsScala
2119
2220object LevelSpace {
23- private var isHeadlessWorkspace = false
24- def isHeadless : Boolean =
25- isHeadlessWorkspace || GraphicsEnvironment .isHeadless || Objects .equals(System .getProperty(" org.nlogo.preferHeadless" ), " true" )
21+ var isHeadless = true
2622
2723 @ throws[ExtensionException ]
2824 def castToId (id : Any ): Int = id match {
@@ -207,14 +203,7 @@ class LevelSpace extends DefaultClassManager { // This can be accessed by both t
207203
208204 @ throws[ExtensionException ]
209205 override def runOnce (em : ExtensionManager ): Unit = {
210- // "Can't we just check the `org.nlogo.preferHeadless` property?" Well, kind-of, but
211- // it turns out that doesn't get set automatically and there are a lot of ways to run
212- // NetLogo models headlessly that "forget" to do it. It's safer to check if the
213- // workspace we're using is headless in addition to checking the property. -Jeremy B
214- // July 2022
215- LevelSpace .isHeadlessWorkspace = em.isInstanceOf [WorkspaceExtensionManager ] &&
216- em.asInstanceOf [WorkspaceExtensionManager ].workspace.isInstanceOf [AbstractWorkspace ] &&
217- em.asInstanceOf [WorkspaceExtensionManager ].workspace.asInstanceOf [AbstractWorkspace ].isHeadless
206+ LevelSpace .isHeadless = ! em.workspaceContext.workspaceGUI
218207
219208 if (! LevelSpace .isHeadless) {
220209 modelManager = new BackingModelManager
0 commit comments