mirror of
https://github.com/sudosylabs/vnidrop.git
synced 2026-08-05 02:29:55 +02:00
feat(desktop): integrate native Windows titlebar
This commit is contained in:
@@ -8,10 +8,14 @@ actual fun PlatformSystemAppearance(isDarkTheme: Boolean) = Unit
|
||||
|
||||
object DesktopAppearanceBridge {
|
||||
fun isLinux(): Boolean = isLinux(System.getProperty("os.name"))
|
||||
fun isWindows(): Boolean = isWindows(System.getProperty("os.name"))
|
||||
|
||||
internal fun isLinux(osName: String): Boolean =
|
||||
osName.startsWith("Linux", ignoreCase = true)
|
||||
|
||||
internal fun isWindows(osName: String): Boolean =
|
||||
osName.startsWith("Windows", ignoreCase = true)
|
||||
|
||||
internal fun toggledWindowState(currentState: Int): Int =
|
||||
if (currentState and Frame.MAXIMIZED_BOTH == Frame.MAXIMIZED_BOTH) {
|
||||
Frame.NORMAL
|
||||
|
||||
@@ -14,6 +14,14 @@ class DesktopAppearanceBridgeTest {
|
||||
assertFalse(DesktopAppearanceBridge.isLinux("Windows 11"))
|
||||
}
|
||||
|
||||
@Test
|
||||
fun nativeWindowsChromeIsLimitedToWindows() {
|
||||
assertFalse(DesktopAppearanceBridge.isWindows("Mac OS X"))
|
||||
assertFalse(DesktopAppearanceBridge.isWindows("Linux"))
|
||||
assertTrue(DesktopAppearanceBridge.isWindows("Windows 10"))
|
||||
assertTrue(DesktopAppearanceBridge.isWindows("Windows 11"))
|
||||
}
|
||||
|
||||
@Test
|
||||
fun titlebarDoubleClickTogglesMaximizedWindowState() {
|
||||
assertEquals(Frame.MAXIMIZED_BOTH, DesktopAppearanceBridge.toggledWindowState(Frame.NORMAL))
|
||||
|
||||
Reference in New Issue
Block a user