From 42522e35fd08fae3c310b494658e32a98f5066dc Mon Sep 17 00:00:00 2001 From: Divine Threepwood Date: Wed, 10 Jun 2026 01:14:45 +0200 Subject: [PATCH 1/9] fix fullscreen mode on mac os by special handling. --- .../org/openbase/planetsudo/view/MainGUI.kt | 139 +++++++++++++----- .../planetsudo/view/game/GamePanel.kt | 4 + .../view/level/LevelDisplayPanel.kt | 5 + 3 files changed, 109 insertions(+), 39 deletions(-) diff --git a/src/main/kotlin/org/openbase/planetsudo/view/MainGUI.kt b/src/main/kotlin/org/openbase/planetsudo/view/MainGUI.kt index 5bc00dcd..5bd22fc3 100644 --- a/src/main/kotlin/org/openbase/planetsudo/view/MainGUI.kt +++ b/src/main/kotlin/org/openbase/planetsudo/view/MainGUI.kt @@ -66,6 +66,12 @@ class MainGUI : JFrame, PropertyChangeListener { private val cardLayout: CardLayout? = null private var fullscreenMode = false + // track previous bounds so we can restore after fake-fullscreen on macOS + private var previousBounds: java.awt.Rectangle? = null + private var wasFullscreen = false + + private fun isMacOs(): Boolean = System.getProperty("os.name").lowercase().contains("mac") + fun initialize() { SwingUtilities.invokeLater { initComponents() @@ -86,47 +92,82 @@ class MainGUI : JFrame, PropertyChangeListener { fun setFullScreenMode(enabled: Boolean) { fullscreenMode = enabled LOGGER.info("setFullscreenMode $fullscreenMode") - isVisible = false - if (fullscreenMode) { - // setSize(guiController.getVisualFeedbackConfig().getFrameDimension()); - // setSize(screenDim); - setLocation(0, 0) - if (isDisplayable) dispose() - isUndecorated = true - - val env = GraphicsEnvironment.getLocalGraphicsEnvironment() - val device = env.defaultScreenDevice - - try { - device.fullScreenWindow = this // Setzen des FullScreenmodus. - this.validate() - // fullscreenModeMenuItem.setText("Leave FullScreen Mode"); - } catch (ex: CouldNotPerformException) { - LOGGER.error("no Fullscreen.", ex) - device.fullScreenWindow = null - } - } else { - // pack(); - setLocation(X_LOCATION, Y_LOCATION) - size = screenDim - extendedState = this.extendedState or MAXIMIZED_BOTH - - if (isDisplayable) dispose() - isUndecorated = false - - val env = GraphicsEnvironment.getLocalGraphicsEnvironment() - val device = env.defaultScreenDevice - - try { - device.fullScreenWindow = null // Setzen des FullScreenmodus. - // fullscreenModeMenuItem.setText("Enter FullScreen Mode"); - } catch (ex: CouldNotPerformException) { - LOGGER.error("no Fullscreen.", ex) - device.fullScreenWindow = null + + // All window operations must run on EDT. initialize() already calls this on EDT but be defensive. + SwingUtilities.invokeLater { + isVisible = false + + if (fullscreenMode) { + if (wasFullscreen) { + // already fullscreen + } else { + wasFullscreen = true + // save previous bounds so we can restore later + previousBounds = this.bounds + + if (isMacOs()) { + // fake fullscreen on macOS: borderless window sized to the screen bounds + if (isDisplayable) dispose() + isUndecorated = true + extendedState = JFrame.NORMAL + + val bounds = this.graphicsConfiguration.bounds + this.bounds = bounds + + isVisible = true + toFront() + requestFocus() + } else { + val env = GraphicsEnvironment.getLocalGraphicsEnvironment() + val device = env.defaultScreenDevice + + try { + if (device.isFullScreenSupported) { + device.fullScreenWindow = this + } else { + if (isDisplayable) dispose() + isUndecorated = true + extendedState = JFrame.MAXIMIZED_BOTH + isVisible = true + } + } catch (ex: CouldNotPerformException) { + LOGGER.error("no Fullscreen.", ex) + device.fullScreenWindow = null + } + } + } + } else { + // exit fullscreen + if (!wasFullscreen) { + // nothing to do + } else { + wasFullscreen = false + + // leaving fullscreen on macOS: restore undecorated state and previous bounds + if (isMacOs()) { + if (isDisplayable) dispose() + isUndecorated = false + extendedState = JFrame.NORMAL + previousBounds?.let { this.bounds = it } + isVisible = true + toFront() + requestFocus() + } else { + val env = GraphicsEnvironment.getLocalGraphicsEnvironment() + val device = env.defaultScreenDevice + try { + device.fullScreenWindow = null + } catch (ex: CouldNotPerformException) { + LOGGER.error("no Fullscreen.", ex) + device.fullScreenWindow = null + } + } + } } + + validate() + isVisible = true } - validate() - isVisible = true } fun fullscreenModeEnabled(): Boolean { @@ -404,6 +445,26 @@ class MainGUI : JFrame, PropertyChangeListener { ) pack() +// // register ESC to exit fullscreen reliably (works even if menu is not reachable) +// try { +// val im = rootPane.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW) +// im.put( +// KeyStroke.getKeyStroke(KeyEvent.VK_F11, 0), +// "exitFullscreen", +// ) +// rootPane.actionMap.put( +// "exitFullscreen", +// object : AbstractAction() { +// override fun actionPerformed(e: ActionEvent?) { +// // leave fullscreen and update checkbox state +// setFullScreenMode(false) +// jCheckBoxMenuItem1?.isSelected = false +// } +// }, +// ) +// } catch (t: Throwable) { +// LOGGER.warn("Could not register ESC fullscreen shortcut", t) +// } } // //GEN-END:initComponents private fun exitMenuItemActionPerformed(evt: ActionEvent) { // GEN-FIRST:event_exitMenuItemActionPerformed diff --git a/src/main/kotlin/org/openbase/planetsudo/view/game/GamePanel.kt b/src/main/kotlin/org/openbase/planetsudo/view/game/GamePanel.kt index 9b6301a2..d12a0703 100644 --- a/src/main/kotlin/org/openbase/planetsudo/view/game/GamePanel.kt +++ b/src/main/kotlin/org/openbase/planetsudo/view/game/GamePanel.kt @@ -56,6 +56,10 @@ class GamePanel : JPanel() { } } + fun isVideoThreadRunning(): Boolean { + return levelDisplayPanel?.isVideoThreadRunning() ?: false + } + /** * This method is called from within the constructor to * initialize the form. diff --git a/src/main/kotlin/org/openbase/planetsudo/view/level/LevelDisplayPanel.kt b/src/main/kotlin/org/openbase/planetsudo/view/level/LevelDisplayPanel.kt index be324d15..8ab84786 100644 --- a/src/main/kotlin/org/openbase/planetsudo/view/level/LevelDisplayPanel.kt +++ b/src/main/kotlin/org/openbase/planetsudo/view/level/LevelDisplayPanel.kt @@ -70,6 +70,11 @@ class LevelDisplayPanel : ResourceDisplayPanel(), Runnable { } } + @Synchronized + fun isVideoThreadRunning(): Boolean { + return isRunning + } + /** This method is called from within the constructor to * initialize the form. * WARNING: Do NOT modify this code. The content of this method is From 7e35881a57f53ec14181632bd1e75716737e6109 Mon Sep 17 00:00:00 2001 From: Divine Threepwood Date: Wed, 10 Jun 2026 01:55:49 +0200 Subject: [PATCH 2/9] cleanup code --- .../org/openbase/planetsudo/view/MainGUI.kt | 20 ------------------- 1 file changed, 20 deletions(-) diff --git a/src/main/kotlin/org/openbase/planetsudo/view/MainGUI.kt b/src/main/kotlin/org/openbase/planetsudo/view/MainGUI.kt index 5bd22fc3..a79cb0f1 100644 --- a/src/main/kotlin/org/openbase/planetsudo/view/MainGUI.kt +++ b/src/main/kotlin/org/openbase/planetsudo/view/MainGUI.kt @@ -445,26 +445,6 @@ class MainGUI : JFrame, PropertyChangeListener { ) pack() -// // register ESC to exit fullscreen reliably (works even if menu is not reachable) -// try { -// val im = rootPane.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW) -// im.put( -// KeyStroke.getKeyStroke(KeyEvent.VK_F11, 0), -// "exitFullscreen", -// ) -// rootPane.actionMap.put( -// "exitFullscreen", -// object : AbstractAction() { -// override fun actionPerformed(e: ActionEvent?) { -// // leave fullscreen and update checkbox state -// setFullScreenMode(false) -// jCheckBoxMenuItem1?.isSelected = false -// } -// }, -// ) -// } catch (t: Throwable) { -// LOGGER.warn("Could not register ESC fullscreen shortcut", t) -// } } // //GEN-END:initComponents private fun exitMenuItemActionPerformed(evt: ActionEvent) { // GEN-FIRST:event_exitMenuItemActionPerformed From 1dcb67e82ceb9ca5701fb888a92da87648b82476 Mon Sep 17 00:00:00 2001 From: Divine Threepwood Date: Wed, 10 Jun 2026 02:50:53 +0200 Subject: [PATCH 3/9] further code improvements --- .../org/openbase/planetsudo/view/MainGUI.kt | 45 ++++++++++--------- 1 file changed, 24 insertions(+), 21 deletions(-) diff --git a/src/main/kotlin/org/openbase/planetsudo/view/MainGUI.kt b/src/main/kotlin/org/openbase/planetsudo/view/MainGUI.kt index a79cb0f1..e66cd898 100644 --- a/src/main/kotlin/org/openbase/planetsudo/view/MainGUI.kt +++ b/src/main/kotlin/org/openbase/planetsudo/view/MainGUI.kt @@ -78,10 +78,10 @@ class MainGUI : JFrame, PropertyChangeListener { configurationPanel = ConfigurationPanel() levelLoadingPanel = LevelLoadingPanel() gamePanel = GamePanel() - mainPanel!!.add(configurationPanel, CONFIGURATION_PANEL) - mainPanel!!.add(levelLoadingPanel, LOADING_PANEL) - mainPanel!!.add(gamePanel, GAME_PANEL) - (mainPanel!!.layout as CardLayout).show(mainPanel, CONFIGURATION_PANEL) + mainPanel?.add(configurationPanel, CONFIGURATION_PANEL) + mainPanel?.add(levelLoadingPanel, LOADING_PANEL) + mainPanel?.add(gamePanel, GAME_PANEL) + (mainPanel?.layout as CardLayout).show(mainPanel, CONFIGURATION_PANEL) setFullScreenMode(DEFAULT_FULLSCREENMODE) guiController!!.addPropertyChangeListener(instance!!) displayTeamPanelCheckBoxMenuItem!!.isSelected = gamePanel!!.isTeamPanelDisplayed @@ -142,25 +142,26 @@ class MainGUI : JFrame, PropertyChangeListener { // nothing to do } else { wasFullscreen = false + setLocation(X_LOCATION, Y_LOCATION) + size = screenDim // leaving fullscreen on macOS: restore undecorated state and previous bounds if (isMacOs()) { if (isDisplayable) dispose() isUndecorated = false - extendedState = JFrame.NORMAL - previousBounds?.let { this.bounds = it } + + previousBounds?.let { + extendedState = NORMAL + this.bounds = it + } ?: run { extendedState = MAXIMIZED_BOTH } isVisible = true toFront() requestFocus() } else { - val env = GraphicsEnvironment.getLocalGraphicsEnvironment() - val device = env.defaultScreenDevice - try { - device.fullScreenWindow = null - } catch (ex: CouldNotPerformException) { - LOGGER.error("no Fullscreen.", ex) - device.fullScreenWindow = null - } + GraphicsEnvironment + .getLocalGraphicsEnvironment() + .defaultScreenDevice + .fullScreenWindow = null } } } @@ -363,7 +364,7 @@ class MainGUI : JFrame, PropertyChangeListener { fileMenu!!.add(stopMenuItem) fileMenu!!.add(jSeparator2) - exitMenuItem!!.accelerator = KeyStroke.getKeyStroke(KeyEvent.VK_Q, InputEvent.CTRL_MASK) + exitMenuItem!!.accelerator = KeyStroke.getKeyStroke(KeyEvent.VK_Q, InputEvent.CTRL_DOWN_MASK) exitMenuItem!!.text = "Beenden" exitMenuItem!!.addActionListener { evt -> exitMenuItemActionPerformed(evt) } fileMenu!!.add(exitMenuItem) @@ -401,12 +402,12 @@ class MainGUI : JFrame, PropertyChangeListener { toolMenu!!.text = "Einstellungen" - jMenuItem2!!.accelerator = KeyStroke.getKeyStroke(KeyEvent.VK_S, InputEvent.CTRL_MASK) + jMenuItem2!!.accelerator = KeyStroke.getKeyStroke(KeyEvent.VK_S, InputEvent.CTRL_DOWN_MASK) jMenuItem2!!.text = "Spielgeschwindigkeit" jMenuItem2!!.addActionListener { evt -> jMenuItem2ActionPerformed(evt) } toolMenu!!.add(jMenuItem2) - createTeamMenuItem!!.accelerator = KeyStroke.getKeyStroke(KeyEvent.VK_T, InputEvent.CTRL_MASK) + createTeamMenuItem!!.accelerator = KeyStroke.getKeyStroke(KeyEvent.VK_T, InputEvent.CTRL_DOWN_MASK) createTeamMenuItem!!.text = "Team Erstellen" createTeamMenuItem!!.addActionListener { evt -> createTeamMenuItemActionPerformed(evt) } toolMenu!!.add(createTeamMenuItem) @@ -437,13 +438,15 @@ class MainGUI : JFrame, PropertyChangeListener { contentPane.layout = layout layout.setHorizontalGroup( layout.createParallelGroup(GroupLayout.Alignment.LEADING) - .addComponent(mainPanel, GroupLayout.DEFAULT_SIZE, 400, Short.MAX_VALUE.toInt()), + .addComponent(mainPanel, GroupLayout.DEFAULT_SIZE, X_DIM, Short.MAX_VALUE.toInt()), ) layout.setVerticalGroup( layout.createParallelGroup(GroupLayout.Alignment.LEADING) - .addComponent(mainPanel, GroupLayout.DEFAULT_SIZE, 317, Short.MAX_VALUE.toInt()), + .addComponent(mainPanel, GroupLayout.DEFAULT_SIZE, Y_DIM, Short.MAX_VALUE.toInt()), ) + minimumSize = Dimension(X_DIM, Y_DIM) + pack() } // //GEN-END:initComponents @@ -546,8 +549,8 @@ class MainGUI : JFrame, PropertyChangeListener { var instance: MainGUI? = null const val X_LOCATION: Int = 0 const val Y_LOCATION: Int = 0 - const val X_DIM: Int = 800 - const val Y_DIM: Int = 600 + const val X_DIM: Int = 1250 + const val Y_DIM: Int = 900 const val DEFAULT_FULLSCREENMODE: Boolean = false var levelView: LevelView? = null From 1e9e53d47ce5ba6ade245218221ca32a9d26856e Mon Sep 17 00:00:00 2001 From: Divine Threepwood Date: Sat, 13 Jun 2026 01:46:29 +0200 Subject: [PATCH 4/9] fix fullscreen shortcut --- src/main/kotlin/org/openbase/planetsudo/view/MainGUI.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/kotlin/org/openbase/planetsudo/view/MainGUI.kt b/src/main/kotlin/org/openbase/planetsudo/view/MainGUI.kt index e66cd898..b6d0305b 100644 --- a/src/main/kotlin/org/openbase/planetsudo/view/MainGUI.kt +++ b/src/main/kotlin/org/openbase/planetsudo/view/MainGUI.kt @@ -393,7 +393,7 @@ class MainGUI : JFrame, PropertyChangeListener { editMenu!!.add(jMenu2) editMenu!!.add(jSeparator1) - jCheckBoxMenuItem1!!.accelerator = KeyStroke.getKeyStroke(KeyEvent.VK_F11, 0) + jCheckBoxMenuItem1!!.accelerator = KeyStroke.getKeyStroke(KeyEvent.VK_ENTER, InputEvent.ALT_DOWN_MASK) jCheckBoxMenuItem1!!.text = "Vollbild" jCheckBoxMenuItem1!!.addActionListener { evt -> jCheckBoxMenuItem1ActionPerformed(evt) } editMenu!!.add(jCheckBoxMenuItem1) From 5eae53e5b1fbf8ad472439b64e9d1c58502ab060 Mon Sep 17 00:00:00 2001 From: Divine Threepwood Date: Sat, 13 Jun 2026 02:09:56 +0200 Subject: [PATCH 5/9] code cleanup --- .../kotlin/org/openbase/planetsudo/view/game/GamePanel.kt | 4 ---- .../org/openbase/planetsudo/view/level/LevelDisplayPanel.kt | 5 ----- 2 files changed, 9 deletions(-) diff --git a/src/main/kotlin/org/openbase/planetsudo/view/game/GamePanel.kt b/src/main/kotlin/org/openbase/planetsudo/view/game/GamePanel.kt index d12a0703..9b6301a2 100644 --- a/src/main/kotlin/org/openbase/planetsudo/view/game/GamePanel.kt +++ b/src/main/kotlin/org/openbase/planetsudo/view/game/GamePanel.kt @@ -56,10 +56,6 @@ class GamePanel : JPanel() { } } - fun isVideoThreadRunning(): Boolean { - return levelDisplayPanel?.isVideoThreadRunning() ?: false - } - /** * This method is called from within the constructor to * initialize the form. diff --git a/src/main/kotlin/org/openbase/planetsudo/view/level/LevelDisplayPanel.kt b/src/main/kotlin/org/openbase/planetsudo/view/level/LevelDisplayPanel.kt index 8ab84786..be324d15 100644 --- a/src/main/kotlin/org/openbase/planetsudo/view/level/LevelDisplayPanel.kt +++ b/src/main/kotlin/org/openbase/planetsudo/view/level/LevelDisplayPanel.kt @@ -70,11 +70,6 @@ class LevelDisplayPanel : ResourceDisplayPanel(), Runnable { } } - @Synchronized - fun isVideoThreadRunning(): Boolean { - return isRunning - } - /** This method is called from within the constructor to * initialize the form. * WARNING: Do NOT modify this code. The content of this method is From 8e81816fadcc1f06f108b41846bac8dbdcb1ab24 Mon Sep 17 00:00:00 2001 From: Divine Threepwood Date: Tue, 16 Jun 2026 20:28:24 +0200 Subject: [PATCH 6/9] fix null handling as requested --- src/main/kotlin/org/openbase/planetsudo/view/MainGUI.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/kotlin/org/openbase/planetsudo/view/MainGUI.kt b/src/main/kotlin/org/openbase/planetsudo/view/MainGUI.kt index b6d0305b..7ff37a38 100644 --- a/src/main/kotlin/org/openbase/planetsudo/view/MainGUI.kt +++ b/src/main/kotlin/org/openbase/planetsudo/view/MainGUI.kt @@ -81,7 +81,7 @@ class MainGUI : JFrame, PropertyChangeListener { mainPanel?.add(configurationPanel, CONFIGURATION_PANEL) mainPanel?.add(levelLoadingPanel, LOADING_PANEL) mainPanel?.add(gamePanel, GAME_PANEL) - (mainPanel?.layout as CardLayout).show(mainPanel, CONFIGURATION_PANEL) + (mainPanel?.layout as? CardLayout)?.show(mainPanel, CONFIGURATION_PANEL) setFullScreenMode(DEFAULT_FULLSCREENMODE) guiController!!.addPropertyChangeListener(instance!!) displayTeamPanelCheckBoxMenuItem!!.isSelected = gamePanel!!.isTeamPanelDisplayed From fef2c7d721670cf412f8247b363763cc2aa67700 Mon Sep 17 00:00:00 2001 From: Divine Threepwood Date: Tue, 16 Jun 2026 20:34:02 +0200 Subject: [PATCH 7/9] rename minimal resolution consts to cotain the "MIN" keyword. --- .../kotlin/org/openbase/planetsudo/view/MainGUI.kt | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/main/kotlin/org/openbase/planetsudo/view/MainGUI.kt b/src/main/kotlin/org/openbase/planetsudo/view/MainGUI.kt index 7ff37a38..e3fd2032 100644 --- a/src/main/kotlin/org/openbase/planetsudo/view/MainGUI.kt +++ b/src/main/kotlin/org/openbase/planetsudo/view/MainGUI.kt @@ -51,7 +51,7 @@ class MainGUI : JFrame, PropertyChangeListener { */ constructor(guiController: GUIController?) : super("PlanetSudo") { instance = this - this.screenDim = Dimension(X_DIM, Y_DIM) + this.screenDim = Dimension(X_MIN_DIM, Y_MIN_DIM) this.guiController = guiController this.iconImage = ImageIcon("img/PlanetSudoLogoIcon.png").image } @@ -438,14 +438,14 @@ class MainGUI : JFrame, PropertyChangeListener { contentPane.layout = layout layout.setHorizontalGroup( layout.createParallelGroup(GroupLayout.Alignment.LEADING) - .addComponent(mainPanel, GroupLayout.DEFAULT_SIZE, X_DIM, Short.MAX_VALUE.toInt()), + .addComponent(mainPanel, GroupLayout.DEFAULT_SIZE, X_MIN_DIM, Short.MAX_VALUE.toInt()), ) layout.setVerticalGroup( layout.createParallelGroup(GroupLayout.Alignment.LEADING) - .addComponent(mainPanel, GroupLayout.DEFAULT_SIZE, Y_DIM, Short.MAX_VALUE.toInt()), + .addComponent(mainPanel, GroupLayout.DEFAULT_SIZE, Y_MIN_DIM, Short.MAX_VALUE.toInt()), ) - minimumSize = Dimension(X_DIM, Y_DIM) + minimumSize = Dimension(X_MIN_DIM, Y_MIN_DIM) pack() } // //GEN-END:initComponents @@ -549,8 +549,8 @@ class MainGUI : JFrame, PropertyChangeListener { var instance: MainGUI? = null const val X_LOCATION: Int = 0 const val Y_LOCATION: Int = 0 - const val X_DIM: Int = 1250 - const val Y_DIM: Int = 900 + const val X_MIN_DIM: Int = 1250 + const val Y_MIN_DIM: Int = 900 const val DEFAULT_FULLSCREENMODE: Boolean = false var levelView: LevelView? = null From c337549c2c27a886a25d6f6f1ffbbdc1a49f1b8d Mon Sep 17 00:00:00 2001 From: Divine Threepwood Date: Tue, 16 Jun 2026 21:38:51 +0200 Subject: [PATCH 8/9] try to fix fullscreen handling in windows --- .../org/openbase/planetsudo/view/MainGUI.kt | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/src/main/kotlin/org/openbase/planetsudo/view/MainGUI.kt b/src/main/kotlin/org/openbase/planetsudo/view/MainGUI.kt index e3fd2032..b0b44101 100644 --- a/src/main/kotlin/org/openbase/planetsudo/view/MainGUI.kt +++ b/src/main/kotlin/org/openbase/planetsudo/view/MainGUI.kt @@ -145,27 +145,27 @@ class MainGUI : JFrame, PropertyChangeListener { setLocation(X_LOCATION, Y_LOCATION) size = screenDim - // leaving fullscreen on macOS: restore undecorated state and previous bounds - if (isMacOs()) { - if (isDisplayable) dispose() - isUndecorated = false + if (isDisplayable) dispose() + isUndecorated = false - previousBounds?.let { - extendedState = NORMAL - this.bounds = it - } ?: run { extendedState = MAXIMIZED_BOTH } - isVisible = true - toFront() - requestFocus() - } else { + // leaving fullscreen only on non macOS device + if (!isMacOs()) { GraphicsEnvironment .getLocalGraphicsEnvironment() .defaultScreenDevice .fullScreenWindow = null } + + previousBounds?.let { + extendedState = NORMAL + this.bounds = it + } ?: run { extendedState = MAXIMIZED_BOTH } + isVisible = true + toFront() } } + requestFocus() validate() isVisible = true } From a2483fd6a1c67960ed70f884d59c632f277cc555 Mon Sep 17 00:00:00 2001 From: Divine Threepwood Date: Tue, 16 Jun 2026 21:54:05 +0200 Subject: [PATCH 9/9] optimize min resolution for windows --- src/main/kotlin/org/openbase/planetsudo/view/MainGUI.kt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/kotlin/org/openbase/planetsudo/view/MainGUI.kt b/src/main/kotlin/org/openbase/planetsudo/view/MainGUI.kt index b0b44101..320cc280 100644 --- a/src/main/kotlin/org/openbase/planetsudo/view/MainGUI.kt +++ b/src/main/kotlin/org/openbase/planetsudo/view/MainGUI.kt @@ -549,8 +549,8 @@ class MainGUI : JFrame, PropertyChangeListener { var instance: MainGUI? = null const val X_LOCATION: Int = 0 const val Y_LOCATION: Int = 0 - const val X_MIN_DIM: Int = 1250 - const val Y_MIN_DIM: Int = 900 + const val X_MIN_DIM: Int = 1280 + const val Y_MIN_DIM: Int = 960 const val DEFAULT_FULLSCREENMODE: Boolean = false var levelView: LevelView? = null