You are currently viewing TornadoFx Undecorated window goes fullscreen when restored from task bar

TornadoFx Undecorated window goes fullscreen when restored from task bar

I’ve been trying out Tornadofx. trying to create a custom title-bar, here’s the code I’m currently trying


fun main(args: Array<String>) { launch<MyApp>(args) } class MyApp : App(Title::class) { override fun start(stage: Stage) { stage.initStyle(StageStyle.UNDECORATED) stage.minWidth = 600.0 stage.minHeight = 450.0 stage.isMaximized = false super.start(stage) } } class Title : View() { private var xOffset = 0.0 private var yOffset = 0.0 private var screenBounds: Rectangle2D = Screen.getPrimary().visualBounds private var originalBounds: Rectangle2D = Rectangle2D.EMPTY init { primaryStage.isMaximized = false } override val root = borderpane { onMousePressed = EventHandler { ev -> xOffset = primaryStage.x - ev.screenX yOffset = primaryStage.y - ev.screenY } onMouseDragged = EventHandler { ev -> primaryStage.x = xOffset + ev.screenX primaryStage.y = yOffset + ev.screenY } center = label("Forms") right = hbox { button("Mi") { action { with(primaryStage) { isIconified = true } } } button("Ma") { action { if (primaryStage.isMaximized) { with(primaryStage) { x = originalBounds.minX y = originalBounds.minY width = originalBounds.width height = originalBounds.height isMaximized = false } text = "Ma" } else { with(primaryStage) { originalBounds = Rectangle2D(x, y, width, height) x = screenBounds.minX y = screenBounds.minY width = screenBounds.width height = screenBounds.height isMaximized = true } text = "Re" } } } button("X") { action { app.stop() println("exiting") exitProcess(0) } } } } }

the following work without problems

  • close
  • maximize, restore
  • restored window minimized, then open from taskbar

but when a maximized window is minimized to taskbar, then open from taskbar, it goes full screen(taskbar is hidden)

how do i fix this behavior, is there any part of my code that is wrong, needs change, or in need of any inclusions?

my configuration is Windows 10 64bit, Java 11.0.2, Kotlin 1.4.21, JavaFx 11.0.2, TornadoFx 1.7.20

submitted by /u/DeepanRajV
[link] [comments]