diff --git a/src/main/scala/ocelot/desktop/ui/window/ScreenWindow.scala b/src/main/scala/ocelot/desktop/ui/window/ScreenWindow.scala index c8af243..5058edc 100644 --- a/src/main/scala/ocelot/desktop/ui/window/ScreenWindow.scala +++ b/src/main/scala/ocelot/desktop/ui/window/ScreenWindow.scala @@ -6,6 +6,7 @@ import ocelot.desktop.graphics.Graphics import ocelot.desktop.ui.event.{KeyEvent, MouseEvent, ScrollEvent} import ocelot.desktop.ui.{MouseEvents, UiHandler} import ocelot.desktop.util.{DrawUtils, Logging} +import org.apache.commons.lang3.StringUtils import totoro.ocelot.brain.entity.Screen import totoro.ocelot.brain.user.User import totoro.ocelot.brain.util.PackedColor @@ -125,7 +126,15 @@ class ScreenWindow(screen: Screen) extends BasicWindow with Logging { val col = (backgroundAlpha * 110).toShort val alpha = (backgroundAlpha * 255).toShort g.foreground = RGBAColor(col, col, col, alpha) - g.text(sx - 4, sy - 14, screen.node.address) + + val freeSpace = ((w - 15) / 8).toInt + val addr = screen.node.address + val text = if (addr.length <= freeSpace) + addr + else + StringUtils.substring(addr, 0, (freeSpace - 1).max(0).min(addr.length)) + "…" + + g.text(sx - 4, sy - 14, text) g.setNormalFont() g.sprite("window/CloseButton", sx + w - 7, sy - 13, 7, 6,