From b1910de2e61f6b8b2492b9847ba7f35eec67317a Mon Sep 17 00:00:00 2001
From: Stef Tervelde <stef@steftervelde.nl>
Date: Fri, 7 Feb 2025 11:24:30 +0100
Subject: [PATCH 01/14] Welcome Screen: Initial Frame

---
 .../processing/app/ui/Welcome.java            |  0
 app/src/processing/app/ui/Welcome.kt          | 54 +++++++++++++++++++
 2 files changed, 54 insertions(+)
 rename app/{src => ant}/processing/app/ui/Welcome.java (100%)
 create mode 100644 app/src/processing/app/ui/Welcome.kt

diff --git a/app/src/processing/app/ui/Welcome.java b/app/ant/processing/app/ui/Welcome.java
similarity index 100%
rename from app/src/processing/app/ui/Welcome.java
rename to app/ant/processing/app/ui/Welcome.java
diff --git a/app/src/processing/app/ui/Welcome.kt b/app/src/processing/app/ui/Welcome.kt
new file mode 100644
index 0000000000..d7aa9a501b
--- /dev/null
+++ b/app/src/processing/app/ui/Welcome.kt
@@ -0,0 +1,54 @@
+package processing.app.ui
+
+import androidx.compose.foundation.layout.Box
+import androidx.compose.foundation.layout.padding
+import androidx.compose.foundation.layout.sizeIn
+import androidx.compose.runtime.Composable
+import androidx.compose.ui.Modifier
+import androidx.compose.ui.awt.ComposePanel
+import androidx.compose.ui.unit.dp
+import com.formdev.flatlaf.util.SystemInfo
+import processing.app.Base
+import processing.app.contrib.ui.contributionsManager
+import processing.app.ui.theme.Locale
+import java.io.IOException
+import javax.swing.JFrame
+import javax.swing.SwingUtilities
+
+class Welcome @Throws(IOException::class) constructor(base: Base) {
+    init {
+        SwingUtilities.invokeLater {
+
+
+            JFrame(Locale()["menu.help.welcome"]).apply{
+                val mac = SystemInfo.isMacFullWindowContentSupported
+
+                rootPane.putClientProperty("apple.awt.transparentTitleBar", mac)
+                rootPane.putClientProperty("apple.awt.fullWindowContent", mac)
+
+                defaultCloseOperation = JFrame.DISPOSE_ON_CLOSE
+                add(ComposePanel().apply {
+                    setContent {
+                        Box(modifier = Modifier.padding(top = if (mac) 22.dp else 0.dp)) {
+                            welcome()
+                        }
+                    }
+                })
+
+                pack()
+
+                setLocationRelativeTo(null)
+
+                isVisible = true
+
+            }
+        }
+    }
+
+    @Composable
+    fun welcome() {
+        Box(modifier = Modifier.sizeIn(815.dp, 450.dp)){
+
+        }
+    }
+}
\ No newline at end of file

From bd3a77ef17a456aa2ceb281cc2cf293f8be9d685 Mon Sep 17 00:00:00 2001
From: Stef Tervelde <stef@steftervelde.nl>
Date: Fri, 7 Feb 2025 12:09:58 +0100
Subject: [PATCH 02/14] Welcome Screen: Window Abstraction

---
 app/src/processing/app/ui/Welcome.kt       | 47 ++++--------
 app/src/processing/app/ui/WelcomeToBeta.kt | 79 +-------------------
 app/src/processing/app/ui/theme/Button.kt  | 59 +++++++++++++++
 app/src/processing/app/ui/theme/Window.kt  | 85 ++++++++++++++++++++++
 4 files changed, 163 insertions(+), 107 deletions(-)
 create mode 100644 app/src/processing/app/ui/theme/Button.kt
 create mode 100644 app/src/processing/app/ui/theme/Window.kt

diff --git a/app/src/processing/app/ui/Welcome.kt b/app/src/processing/app/ui/Welcome.kt
index d7aa9a501b..8743282d62 100644
--- a/app/src/processing/app/ui/Welcome.kt
+++ b/app/src/processing/app/ui/Welcome.kt
@@ -1,54 +1,37 @@
 package processing.app.ui
 
 import androidx.compose.foundation.layout.Box
-import androidx.compose.foundation.layout.padding
 import androidx.compose.foundation.layout.sizeIn
 import androidx.compose.runtime.Composable
 import androidx.compose.ui.Modifier
-import androidx.compose.ui.awt.ComposePanel
 import androidx.compose.ui.unit.dp
-import com.formdev.flatlaf.util.SystemInfo
 import processing.app.Base
-import processing.app.contrib.ui.contributionsManager
-import processing.app.ui.theme.Locale
+import processing.app.ui.theme.PDEWindow
+import processing.app.ui.theme.pdeapplication
 import java.io.IOException
-import javax.swing.JFrame
 import javax.swing.SwingUtilities
 
 class Welcome @Throws(IOException::class) constructor(base: Base) {
     init {
         SwingUtilities.invokeLater {
-
-
-            JFrame(Locale()["menu.help.welcome"]).apply{
-                val mac = SystemInfo.isMacFullWindowContentSupported
-
-                rootPane.putClientProperty("apple.awt.transparentTitleBar", mac)
-                rootPane.putClientProperty("apple.awt.fullWindowContent", mac)
-
-                defaultCloseOperation = JFrame.DISPOSE_ON_CLOSE
-                add(ComposePanel().apply {
-                    setContent {
-                        Box(modifier = Modifier.padding(top = if (mac) 22.dp else 0.dp)) {
-                            welcome()
-                        }
-                    }
-                })
-
-                pack()
-
-                setLocationRelativeTo(null)
-
-                isVisible = true
-
+            PDEWindow("menu.help.welcome") {
+                welcome()
             }
         }
     }
+    companion object {
+        @Composable
+        fun welcome() {
+            Box(modifier = Modifier.sizeIn(815.dp, 450.dp)){
 
-    @Composable
-    fun welcome() {
-        Box(modifier = Modifier.sizeIn(815.dp, 450.dp)){
+            }
+        }
 
+        @JvmStatic
+        fun main(args: Array<String>) {
+            pdeapplication("menu.help.welcome") {
+                welcome()
+            }
         }
     }
 }
\ No newline at end of file
diff --git a/app/src/processing/app/ui/WelcomeToBeta.kt b/app/src/processing/app/ui/WelcomeToBeta.kt
index ddffd42d3e..ab0aaa9e17 100644
--- a/app/src/processing/app/ui/WelcomeToBeta.kt
+++ b/app/src/processing/app/ui/WelcomeToBeta.kt
@@ -29,10 +29,7 @@ import androidx.compose.ui.window.WindowPosition
 import androidx.compose.ui.window.application
 import androidx.compose.ui.window.rememberWindowState
 import com.formdev.flatlaf.util.SystemInfo
-import processing.app.ui.theme.LocalLocale
-import processing.app.ui.theme.LocalTheme
-import processing.app.ui.theme.Locale
-import processing.app.ui.theme.ProcessingTheme
+import processing.app.ui.theme.*
 import java.awt.Cursor
 import java.awt.Dimension
 import java.awt.event.KeyAdapter
@@ -46,38 +43,12 @@ import javax.swing.SwingUtilities
 class WelcomeToBeta {
     companion object{
         val windowSize = Dimension(400, 200)
-        val windowTitle = Locale()["beta.window.title"]
 
         @JvmStatic
         fun showWelcomeToBeta() {
-            val mac = SystemInfo.isMacFullWindowContentSupported
             SwingUtilities.invokeLater {
-                JFrame(windowTitle).apply {
-                    val close = { dispose() }
-                    rootPane.putClientProperty("apple.awt.transparentTitleBar", mac)
-                    rootPane.putClientProperty("apple.awt.fullWindowContent", mac)
-                    defaultCloseOperation = JFrame.DISPOSE_ON_CLOSE
-                    contentPane.add(ComposePanel().apply {
-                        size = windowSize
-                        setContent {
-                            ProcessingTheme {
-                                Box(modifier = Modifier.padding(top = if (mac) 22.dp else 0.dp)) {
-                                    welcomeToBeta(close)
-                                }
-                            }
-                        }
-                    })
-                    pack()
-                    background = java.awt.Color.white
-                    setLocationRelativeTo(null)
-                    addKeyListener(object : KeyAdapter() {
-                        override fun keyPressed(e: KeyEvent) {
-                            if (e.keyCode == KeyEvent.VK_ESCAPE) close()
-                        }
-                    })
-                    isResizable = false
-                    isVisible = true
-                    requestFocus()
+                PDEWindow("beta.window.title") {
+                    welcomeToBeta()
                 }
             }
         }
@@ -129,48 +100,6 @@ class WelcomeToBeta {
                 }
             }
         }
-        @OptIn(ExperimentalComposeUiApi::class)
-        @Composable
-        fun PDEButton(onClick: () -> Unit, content: @Composable BoxScope.() -> Unit) {
-            val theme = LocalTheme.current
-
-            var hover by remember { mutableStateOf(false) }
-            var clicked by remember { mutableStateOf(false) }
-            val offset by animateFloatAsState(if (hover) -5f else 5f)
-            val color by animateColorAsState(if(clicked) colors.primaryVariant else colors.primary)
-
-            Box(modifier = Modifier.padding(end = 5.dp, top = 5.dp)) {
-                Box(
-                    modifier = Modifier
-                        .offset((-offset).dp, (offset).dp)
-                        .background(theme.getColor("toolbar.button.pressed.field"))
-                        .matchParentSize()
-                )
-                Box(
-                    modifier = Modifier
-                        .onPointerEvent(PointerEventType.Press) {
-                            clicked = true
-                        }
-                        .onPointerEvent(PointerEventType.Release) {
-                            clicked = false
-                            onClick()
-                        }
-                        .onPointerEvent(PointerEventType.Enter) {
-                            hover = true
-                        }
-                        .onPointerEvent(PointerEventType.Exit) {
-                            hover = false
-                        }
-                        .pointerHoverIcon(PointerIcon(Cursor(Cursor.HAND_CURSOR)))
-                        .background(color)
-                        .padding(10.dp)
-                        .sizeIn(minWidth = 100.dp),
-                    contentAlignment = Alignment.Center,
-                    content = content
-                )
-            }
-        }
-
 
         @JvmStatic
         fun main(args: Array<String>) {
@@ -180,7 +109,7 @@ class WelcomeToBeta {
                     position = WindowPosition(Alignment.Center)
                 )
 
-                Window(onCloseRequest = ::exitApplication, state = windowState, title = windowTitle) {
+                Window(onCloseRequest = ::exitApplication, state = windowState, title = Locale()["beta.window.title"]) {
                     ProcessingTheme {
                         Surface(color = colors.background) {
                             welcomeToBeta {
diff --git a/app/src/processing/app/ui/theme/Button.kt b/app/src/processing/app/ui/theme/Button.kt
new file mode 100644
index 0000000000..5d2923ab0f
--- /dev/null
+++ b/app/src/processing/app/ui/theme/Button.kt
@@ -0,0 +1,59 @@
+package processing.app.ui.theme
+
+import androidx.compose.animation.animateColorAsState
+import androidx.compose.animation.core.animateFloatAsState
+import androidx.compose.foundation.background
+import androidx.compose.foundation.layout.*
+import androidx.compose.material.MaterialTheme.colors
+import androidx.compose.runtime.*
+import androidx.compose.ui.Alignment
+import androidx.compose.ui.ExperimentalComposeUiApi
+import androidx.compose.ui.Modifier
+import androidx.compose.ui.input.pointer.PointerEventType
+import androidx.compose.ui.input.pointer.PointerIcon
+import androidx.compose.ui.input.pointer.onPointerEvent
+import androidx.compose.ui.input.pointer.pointerHoverIcon
+import androidx.compose.ui.unit.dp
+import java.awt.Cursor
+
+@OptIn(ExperimentalComposeUiApi::class)
+@Composable
+fun PDEButton(onClick: () -> Unit, content: @Composable BoxScope.() -> Unit) {
+    val theme = LocalTheme.current
+
+    var hover by remember { mutableStateOf(false) }
+    var clicked by remember { mutableStateOf(false) }
+    val offset by animateFloatAsState(if (hover) -5f else 5f)
+    val color by animateColorAsState(if(clicked) colors.primaryVariant else colors.primary)
+
+    Box(modifier = Modifier.padding(end = 5.dp, top = 5.dp)) {
+        Box(
+            modifier = Modifier
+                .offset((-offset).dp, (offset).dp)
+                .background(theme.getColor("toolbar.button.pressed.field"))
+                .matchParentSize()
+        )
+        Box(
+            modifier = Modifier
+                .onPointerEvent(PointerEventType.Press) {
+                    clicked = true
+                }
+                .onPointerEvent(PointerEventType.Release) {
+                    clicked = false
+                    onClick()
+                }
+                .onPointerEvent(PointerEventType.Enter) {
+                    hover = true
+                }
+                .onPointerEvent(PointerEventType.Exit) {
+                    hover = false
+                }
+                .pointerHoverIcon(PointerIcon(Cursor(Cursor.HAND_CURSOR)))
+                .background(color)
+                .padding(10.dp)
+                .sizeIn(minWidth = 100.dp),
+            contentAlignment = Alignment.Center,
+            content = content
+        )
+    }
+}
\ No newline at end of file
diff --git a/app/src/processing/app/ui/theme/Window.kt b/app/src/processing/app/ui/theme/Window.kt
new file mode 100644
index 0000000000..eafa33a236
--- /dev/null
+++ b/app/src/processing/app/ui/theme/Window.kt
@@ -0,0 +1,85 @@
+package processing.app.ui.theme
+
+import androidx.compose.foundation.layout.Box
+import androidx.compose.foundation.layout.padding
+import androidx.compose.material.MaterialTheme.colors
+import androidx.compose.material.Surface
+import androidx.compose.runtime.Composable
+import androidx.compose.ui.Alignment
+import androidx.compose.ui.Modifier
+import androidx.compose.ui.awt.ComposePanel
+import androidx.compose.ui.unit.DpSize
+import androidx.compose.ui.unit.dp
+import androidx.compose.ui.window.Window
+import androidx.compose.ui.window.WindowPosition
+import androidx.compose.ui.window.application
+import androidx.compose.ui.window.rememberWindowState
+import com.formdev.flatlaf.util.SystemInfo
+import processing.app.ui.WelcomeToBeta.Companion.welcomeToBeta
+
+import java.awt.event.KeyAdapter
+import java.awt.event.KeyEvent
+import javax.swing.JFrame
+
+
+class PDEWindow(titleKey: String = "", content: @Composable () -> Unit): JFrame(){
+    init{
+        val mac = SystemInfo.isMacFullWindowContentSupported
+
+        rootPane.apply{
+            putClientProperty("apple.awt.transparentTitleBar", mac)
+            putClientProperty("apple.awt.fullWindowContent", mac)
+        }
+
+        defaultCloseOperation = DISPOSE_ON_CLOSE
+        ComposePanel().apply {
+            setContent {
+                ProcessingTheme {
+                    val locale = LocalLocale.current
+                    this@PDEWindow.title = locale[titleKey]
+
+                    Box(modifier = Modifier.padding(top = if (mac) 22.dp else 0.dp)) {
+                        content()
+                    }
+                }
+            }
+
+            this@PDEWindow.add(this)
+        }
+        pack()
+        background = java.awt.Color.white
+        setLocationRelativeTo(null)
+        addKeyListener(object : KeyAdapter() {
+            override fun keyPressed(e: KeyEvent) {
+                if (e.keyCode == KeyEvent.VK_ESCAPE) this@PDEWindow.dispose()
+            }
+        })
+        isResizable = false
+        isVisible = true
+        requestFocus()
+    }
+}
+
+fun pdeapplication(titleKey: String = "",content: @Composable () -> Unit){
+    application {
+        val windowState = rememberWindowState(
+            size = DpSize.Unspecified,
+            position = WindowPosition(Alignment.Center)
+        )
+        ProcessingTheme {
+            val locale = LocalLocale.current
+            val mac = SystemInfo.isMacFullWindowContentSupported
+            Window(onCloseRequest = ::exitApplication, state = windowState, title = locale[titleKey]) {
+                window.rootPane.apply {
+                    putClientProperty("apple.awt.fullWindowContent", mac)
+                    putClientProperty("apple.awt.transparentTitleBar", mac)
+                }
+                Surface(color = colors.background) {
+                    Box(modifier = Modifier.padding(top = if (mac) 22.dp else 0.dp)) {
+                        content()
+                    }
+                }
+            }
+        }
+    }
+}
\ No newline at end of file

From 5c020dd0170153bd1a31ffaeed853966e66c5175 Mon Sep 17 00:00:00 2001
From: Stef Tervelde <stef@steftervelde.nl>
Date: Fri, 7 Feb 2025 15:49:25 +0100
Subject: [PATCH 03/14] Welcome Screen: Initial Layout

---
 app/src/main/resources/welcome/intro/long.svg |   7 +
 .../main/resources/welcome/intro/short.svg    |  17 +++
 app/src/processing/app/ui/Welcome.kt          | 144 +++++++++++++++++-
 app/src/processing/app/ui/WelcomeToBeta.kt    |  17 +--
 app/src/processing/app/ui/theme/Typography.kt |  41 +++--
 build/shared/lib/fonts/SpaceGrotesk-Bold.ttf  | Bin 0 -> 86520 bytes
 .../shared/lib/fonts/SpaceGrotesk-LICENSE.txt |  93 +++++++++++
 build/shared/lib/fonts/SpaceGrotesk-Light.ttf | Bin 0 -> 86616 bytes
 .../shared/lib/fonts/SpaceGrotesk-Medium.ttf  | Bin 0 -> 86616 bytes
 .../shared/lib/fonts/SpaceGrotesk-Regular.ttf | Bin 0 -> 86592 bytes
 .../lib/fonts/SpaceGrotesk-SemiBold.ttf       | Bin 0 -> 86576 bytes
 build/shared/lib/languages/PDE.properties     |  10 ++
 12 files changed, 302 insertions(+), 27 deletions(-)
 create mode 100644 app/src/main/resources/welcome/intro/long.svg
 create mode 100644 app/src/main/resources/welcome/intro/short.svg
 create mode 100644 build/shared/lib/fonts/SpaceGrotesk-Bold.ttf
 create mode 100644 build/shared/lib/fonts/SpaceGrotesk-LICENSE.txt
 create mode 100644 build/shared/lib/fonts/SpaceGrotesk-Light.ttf
 create mode 100644 build/shared/lib/fonts/SpaceGrotesk-Medium.ttf
 create mode 100644 build/shared/lib/fonts/SpaceGrotesk-Regular.ttf
 create mode 100644 build/shared/lib/fonts/SpaceGrotesk-SemiBold.ttf

diff --git a/app/src/main/resources/welcome/intro/long.svg b/app/src/main/resources/welcome/intro/long.svg
new file mode 100644
index 0000000000..19fba54269
--- /dev/null
+++ b/app/src/main/resources/welcome/intro/long.svg
@@ -0,0 +1,7 @@
+<svg width="120" height="164" viewBox="0 0 120 164" fill="none" xmlns="http://www.w3.org/2000/svg">
+    <path d="M-22 146C19.1706 112.211 52.4455 72.5963 97 19" stroke="#1F34AB" stroke-width="58"/>
+    <circle cx="75.5" cy="23.5" r="10.5" fill="white"/>
+    <circle cx="96.5" cy="42.5" r="10.5" fill="white"/>
+    <circle cx="76" cy="19" r="3" fill="#222222"/>
+    <circle cx="97" cy="37" r="3" fill="#222222"/>
+</svg>
\ No newline at end of file
diff --git a/app/src/main/resources/welcome/intro/short.svg b/app/src/main/resources/welcome/intro/short.svg
new file mode 100644
index 0000000000..d08759c01c
--- /dev/null
+++ b/app/src/main/resources/welcome/intro/short.svg
@@ -0,0 +1,17 @@
+<svg width="101" height="128" viewBox="0 0 101 128" fill="none" xmlns="http://www.w3.org/2000/svg">
+    <g filter="url(#filter0_f_2007_98)">
+        <ellipse cx="57" cy="116.5" rx="18" ry="3.5" fill="#0F195A" fill-opacity="0.4"/>
+    </g>
+    <path d="M21 21L80 80" stroke="#82AFFF" stroke-width="58"/>
+    <circle cx="85.5681" cy="66.9495" r="10.5" transform="rotate(121.241 85.5681 66.9495)" fill="white"/>
+    <circle cx="58.4319" cy="75.0504" r="10.5" transform="rotate(121.241 58.4319 75.0504)" fill="white"/>
+    <circle cx="89.1563" cy="69.711" r="3" transform="rotate(121.241 89.1563 69.711)" fill="#222222"/>
+    <circle cx="62.875" cy="78.3304" r="3" transform="rotate(121.241 62.875 78.3304)" fill="#222222"/>
+    <defs>
+        <filter id="filter0_f_2007_98" x="31" y="105" width="52" height="23" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
+            <feFlood flood-opacity="0" result="BackgroundImageFix"/>
+            <feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/>
+            <feGaussianBlur stdDeviation="4" result="effect1_foregroundBlur_2007_98"/>
+        </filter>
+    </defs>
+</svg>
diff --git a/app/src/processing/app/ui/Welcome.kt b/app/src/processing/app/ui/Welcome.kt
index 8743282d62..698f2bb1ea 100644
--- a/app/src/processing/app/ui/Welcome.kt
+++ b/app/src/processing/app/ui/Welcome.kt
@@ -1,11 +1,27 @@
 package processing.app.ui
 
-import androidx.compose.foundation.layout.Box
-import androidx.compose.foundation.layout.sizeIn
+import androidx.compose.foundation.Image
+import androidx.compose.foundation.background
+import androidx.compose.foundation.layout.*
+import androidx.compose.foundation.lazy.grid.GridCells
+import androidx.compose.foundation.lazy.grid.LazyVerticalGrid
+import androidx.compose.foundation.shape.RoundedCornerShape
+import androidx.compose.material.MaterialTheme
+import androidx.compose.material.MaterialTheme.colors
+import androidx.compose.material.MaterialTheme.typography
+import androidx.compose.material.Text
 import androidx.compose.runtime.Composable
+import androidx.compose.ui.Alignment
 import androidx.compose.ui.Modifier
+import androidx.compose.ui.draw.clip
+import androidx.compose.ui.geometry.Offset
+import androidx.compose.ui.graphics.Brush
+import androidx.compose.ui.graphics.Color
+import androidx.compose.ui.res.painterResource
 import androidx.compose.ui.unit.dp
 import processing.app.Base
+import processing.app.ui.theme.LocalLocale
+import processing.app.ui.theme.PDEButton
 import processing.app.ui.theme.PDEWindow
 import processing.app.ui.theme.pdeapplication
 import java.io.IOException
@@ -22,7 +38,129 @@ class Welcome @Throws(IOException::class) constructor(base: Base) {
     companion object {
         @Composable
         fun welcome() {
-            Box(modifier = Modifier.sizeIn(815.dp, 450.dp)){
+            Row(
+                modifier = Modifier
+//                    .background(
+//                        Brush.linearGradient(
+//                            colorStops = arrayOf(0.0f to Color.Transparent, 1f to Color.Blue),
+//                            start = Offset(815f / 2, 0f),
+//                            end = Offset(815f, 450f)
+//                        )
+//                    )
+                    .size(815.dp, 450.dp)
+                    .padding(32.dp)
+
+                ,
+                horizontalArrangement = Arrangement.spacedBy(32.dp)
+            ){
+                Box(modifier = Modifier
+                    .weight(1f)
+                    .fillMaxHeight()
+                ){
+                    intro()
+                }
+                Column(modifier = Modifier
+                    .weight(1.25f)
+                    .fillMaxHeight(),
+                    verticalArrangement = Arrangement.SpaceBetween
+                ){
+                    examples()
+                    val locale = LocalLocale.current
+                    Column(
+                        verticalArrangement = Arrangement.spacedBy(16.dp)
+                    ) {
+                        Text(
+                            text = locale["welcome.action.examples"],
+                        )
+                        Text(
+                            text = locale["welcome.action.tutorials"],
+                        )
+                    }
+                    Row(
+                        modifier = Modifier.fillMaxWidth(),
+                        horizontalArrangement = Arrangement.SpaceBetween,
+                        verticalAlignment = Alignment.CenterVertically
+                    ){
+                        Text(
+                            text = locale["welcome.action.startup"],
+                        )
+                        PDEButton(onClick = { println("Open") }) {
+                            val locale = LocalLocale.current
+                            Text(locale["welcome.action.go"])
+                        }
+                    }
+                }
+            }
+        }
+
+        @Composable
+        fun intro(){
+            val locale = LocalLocale.current
+            Column(
+                modifier = Modifier
+                    .fillMaxHeight(),
+                verticalArrangement = Arrangement.SpaceBetween) {
+                Column {
+                    Text(
+                        text = locale["welcome.intro.title"],
+                        style = typography.h4,
+                    )
+                    Text(
+                        text = locale["welcome.intro.message"],
+                        style = typography.body1,
+                    )
+                }
+                Column {
+                    Text(
+                        text = locale["welcome.intro.suggestion"],
+                        style = typography.body1,
+                        modifier = Modifier
+                            .padding(vertical = 16.dp)
+                            .clip(RoundedCornerShape(12.dp))
+                            .background(colors.primary)
+                            .padding(16.dp)
+                            .sizeIn(maxWidth = 200.dp)
+
+                    )
+                    Row(
+                        modifier = Modifier
+                            .fillMaxWidth(),
+                        horizontalArrangement = Arrangement.SpaceBetween
+                    ) {
+                        Image(
+                            painter = painterResource("welcome/intro/long.svg"),
+                            contentDescription = locale["welcome.intro.long"],
+                            modifier = Modifier
+                                .offset(x = -32.dp)
+                        )
+                        Image(
+                            painter = painterResource("welcome/intro/short.svg"),
+                            contentDescription = locale["welcome.intro.short"],
+                            modifier = Modifier
+                                .align(Alignment.Bottom)
+                        )
+                    }
+                }
+            }
+        }
+        @Composable
+        fun examples(){
+            LazyVerticalGrid(
+                columns = GridCells.Fixed(2),
+                verticalArrangement = Arrangement.spacedBy(16.dp),
+                horizontalArrangement = Arrangement.spacedBy(16.dp),
+            ){
+                items(4){
+                    Column {
+                        Box(
+                            modifier = Modifier
+                                .background(colors.primary)
+                                .width(185.dp)
+                                .aspectRatio(16f / 9f)
+                        )
+                        Text("Example $it")
+                    }
+                }
 
             }
         }
diff --git a/app/src/processing/app/ui/WelcomeToBeta.kt b/app/src/processing/app/ui/WelcomeToBeta.kt
index ab0aaa9e17..ac8302fb81 100644
--- a/app/src/processing/app/ui/WelcomeToBeta.kt
+++ b/app/src/processing/app/ui/WelcomeToBeta.kt
@@ -103,21 +103,8 @@ class WelcomeToBeta {
 
         @JvmStatic
         fun main(args: Array<String>) {
-            application {
-                val windowState = rememberWindowState(
-                    size = DpSize.Unspecified,
-                    position = WindowPosition(Alignment.Center)
-                )
-
-                Window(onCloseRequest = ::exitApplication, state = windowState, title = Locale()["beta.window.title"]) {
-                    ProcessingTheme {
-                        Surface(color = colors.background) {
-                            welcomeToBeta {
-                                exitApplication()
-                            }
-                        }
-                    }
-                }
+            pdeapplication("beta.window.title") {
+                welcomeToBeta()
             }
         }
     }
diff --git a/app/src/processing/app/ui/theme/Typography.kt b/app/src/processing/app/ui/theme/Typography.kt
index 5d87c490e6..c21d554f7e 100644
--- a/app/src/processing/app/ui/theme/Typography.kt
+++ b/app/src/processing/app/ui/theme/Typography.kt
@@ -2,6 +2,8 @@ package processing.app.ui.theme
 
 import androidx.compose.material.MaterialTheme.typography
 import androidx.compose.material.Typography
+import androidx.compose.runtime.Composable
+import androidx.compose.ui.text.ExperimentalTextApi
 import androidx.compose.ui.text.TextStyle
 import androidx.compose.ui.text.font.FontFamily
 import androidx.compose.ui.text.font.FontStyle
@@ -21,18 +23,39 @@ val processingFont = FontFamily(
         style = FontStyle.Normal
     )
 )
+val spaceGroteskFont = FontFamily(
+    Font(
+        resource = "SpaceGrotesk-Bold.ttf",
+        weight = FontWeight.Bold,
+    ),
+    Font(
+        resource = "SpaceGrotesk-Regular.ttf",
+        weight = FontWeight.Normal,
+    ),
+    Font(
+        resource = "SpaceGrotesk-Medium.ttf",
+        weight = FontWeight.Medium,
+    ),
+    Font(
+        resource = "SpaceGrotesk-SemiBold.ttf",
+        weight = FontWeight.SemiBold,
+    ),
+    Font(
+        resource = "SpaceGrotesk-Light.ttf",
+        weight = FontWeight.Light,
+    )
+)
 
 val Typography = Typography(
+    defaultFontFamily = spaceGroteskFont,
+    h4 = TextStyle(
+        fontWeight = FontWeight.Bold,
+        fontSize = 19.sp,
+        lineHeight = 24.sp
+    ),
     body1 = TextStyle(
-        fontFamily = processingFont,
         fontWeight = FontWeight.Normal,
-        fontSize = 13.sp,
-        lineHeight = 16.sp
+        fontSize = 15.sp,
+        lineHeight = 19.sp
     ),
-    subtitle1 = TextStyle(
-        fontFamily = processingFont,
-        fontWeight = FontWeight.Bold,
-        fontSize = 16.sp,
-        lineHeight = 20.sp
-    )
 )
\ No newline at end of file
diff --git a/build/shared/lib/fonts/SpaceGrotesk-Bold.ttf b/build/shared/lib/fonts/SpaceGrotesk-Bold.ttf
new file mode 100644
index 0000000000000000000000000000000000000000..0408641c61d0f3ce53d24348e9db72dcc1261179
GIT binary patch
literal 86520
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
YVF4s&AUzYf2&kR{)v}1V!WDZA0Gf6c<p2Nx

literal 0
HcmV?d00001

diff --git a/build/shared/lib/fonts/SpaceGrotesk-LICENSE.txt b/build/shared/lib/fonts/SpaceGrotesk-LICENSE.txt
new file mode 100644
index 0000000000..6a314848b3
--- /dev/null
+++ b/build/shared/lib/fonts/SpaceGrotesk-LICENSE.txt
@@ -0,0 +1,93 @@
+Copyright 2020 The Space Grotesk Project Authors (https://github.com/floriankarsten/space-grotesk)
+
+This Font Software is licensed under the SIL Open Font License, Version 1.1.
+This license is copied below, and is also available with a FAQ at:
+https://openfontlicense.org
+
+
+-----------------------------------------------------------
+SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
+-----------------------------------------------------------
+
+PREAMBLE
+The goals of the Open Font License (OFL) are to stimulate worldwide
+development of collaborative font projects, to support the font creation
+efforts of academic and linguistic communities, and to provide a free and
+open framework in which fonts may be shared and improved in partnership
+with others.
+
+The OFL allows the licensed fonts to be used, studied, modified and
+redistributed freely as long as they are not sold by themselves. The
+fonts, including any derivative works, can be bundled, embedded, 
+redistributed and/or sold with any software provided that any reserved
+names are not used by derivative works. The fonts and derivatives,
+however, cannot be released under any other type of license. The
+requirement for fonts to remain under this license does not apply
+to any document created using the fonts or their derivatives.
+
+DEFINITIONS
+"Font Software" refers to the set of files released by the Copyright
+Holder(s) under this license and clearly marked as such. This may
+include source files, build scripts and documentation.
+
+"Reserved Font Name" refers to any names specified as such after the
+copyright statement(s).
+
+"Original Version" refers to the collection of Font Software components as
+distributed by the Copyright Holder(s).
+
+"Modified Version" refers to any derivative made by adding to, deleting,
+or substituting -- in part or in whole -- any of the components of the
+Original Version, by changing formats or by porting the Font Software to a
+new environment.
+
+"Author" refers to any designer, engineer, programmer, technical
+writer or other person who contributed to the Font Software.
+
+PERMISSION & CONDITIONS
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of the Font Software, to use, study, copy, merge, embed, modify,
+redistribute, and sell modified and unmodified copies of the Font
+Software, subject to the following conditions:
+
+1) Neither the Font Software nor any of its individual components,
+in Original or Modified Versions, may be sold by itself.
+
+2) Original or Modified Versions of the Font Software may be bundled,
+redistributed and/or sold with any software, provided that each copy
+contains the above copyright notice and this license. These can be
+included either as stand-alone text files, human-readable headers or
+in the appropriate machine-readable metadata fields within text or
+binary files as long as those fields can be easily viewed by the user.
+
+3) No Modified Version of the Font Software may use the Reserved Font
+Name(s) unless explicit written permission is granted by the corresponding
+Copyright Holder. This restriction only applies to the primary font name as
+presented to the users.
+
+4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
+Software shall not be used to promote, endorse or advertise any
+Modified Version, except to acknowledge the contribution(s) of the
+Copyright Holder(s) and the Author(s) or with their explicit written
+permission.
+
+5) The Font Software, modified or unmodified, in part or in whole,
+must be distributed entirely under this license, and must not be
+distributed under any other license. The requirement for fonts to
+remain under this license does not apply to any document created
+using the Font Software.
+
+TERMINATION
+This license becomes null and void if any of the above conditions are
+not met.
+
+DISCLAIMER
+THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
+COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
+DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
+OTHER DEALINGS IN THE FONT SOFTWARE.
diff --git a/build/shared/lib/fonts/SpaceGrotesk-Light.ttf b/build/shared/lib/fonts/SpaceGrotesk-Light.ttf
new file mode 100644
index 0000000000000000000000000000000000000000..d41bcccd8641696d026ad0baae9ffc1ed902262c
GIT binary patch
literal 86616
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
Vtpz<gB3nHO<rSr^H(vi4!GEDvTDkxL

literal 0
HcmV?d00001

diff --git a/build/shared/lib/fonts/SpaceGrotesk-Medium.ttf b/build/shared/lib/fonts/SpaceGrotesk-Medium.ttf
new file mode 100644
index 0000000000000000000000000000000000000000..7d44b663b97c0a892474e3fe33caa3032939835d
GIT binary patch
literal 86616
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
KZUp2-@9$sE>)Gf4

literal 0
HcmV?d00001

diff --git a/build/shared/lib/fonts/SpaceGrotesk-Regular.ttf b/build/shared/lib/fonts/SpaceGrotesk-Regular.ttf
new file mode 100644
index 0000000000000000000000000000000000000000..981bcf5b2cb0a1ca43dcee7577015c0bfbdf91fb
GIT binary patch
literal 86592
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

literal 0
HcmV?d00001

diff --git a/build/shared/lib/fonts/SpaceGrotesk-SemiBold.ttf b/build/shared/lib/fonts/SpaceGrotesk-SemiBold.ttf
new file mode 100644
index 0000000000000000000000000000000000000000..e7e02e51e48209e508954e9fdc08a1036d752702
GIT binary patch
literal 86576
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

literal 0
HcmV?d00001

diff --git a/build/shared/lib/languages/PDE.properties b/build/shared/lib/languages/PDE.properties
index 74fd5027ef..00daaa7bc5 100644
--- a/build/shared/lib/languages/PDE.properties
+++ b/build/shared/lib/languages/PDE.properties
@@ -614,6 +614,16 @@ update_check.updates_available.core = A new version of Processing is available,\
 update_check.updates_available.contributions = There are updates available for some of the installed contributions,\nwould you like to open the the Contribution Manager now?
 
 
+# ---------------------------------------
+# Welcome
+welcome.intro.title = Welcome to Processing
+welcome.intro.message = A flexible software sketchbook and a language for learning how to code.
+welcome.intro.suggestion = Is it your first time using Processing? Try one of the examples on the right.
+welcome.action.examples = More examples
+welcome.action.tutorials = Tutorials
+welcome.action.startup = Startup
+welcome.action.go = "Let's go!"
+
 # ---------------------------------------
 # Beta
 beta.window.title = Welcome to Beta

From 8ed2d1b40acdc38e0ecde7a5831ef47a9ad1559b Mon Sep 17 00:00:00 2001
From: Stef Tervelde <stef@steftervelde.nl>
Date: Fri, 7 Feb 2025 16:34:23 +0100
Subject: [PATCH 04/14] Welcome Screen: WIP

---
 .../main/resources/welcome/intro/bubble.svg   |  3 +
 app/src/processing/app/Preferences.kt         | 12 +++-
 app/src/processing/app/ui/Welcome.kt          | 68 +++++++++++++++----
 app/src/processing/app/ui/theme/Colors.kt     | 20 ++++++
 build/shared/lib/languages/PDE.properties     |  4 +-
 5 files changed, 92 insertions(+), 15 deletions(-)
 create mode 100644 app/src/main/resources/welcome/intro/bubble.svg
 create mode 100644 app/src/processing/app/ui/theme/Colors.kt

diff --git a/app/src/main/resources/welcome/intro/bubble.svg b/app/src/main/resources/welcome/intro/bubble.svg
new file mode 100644
index 0000000000..a3997b1e79
--- /dev/null
+++ b/app/src/main/resources/welcome/intro/bubble.svg
@@ -0,0 +1,3 @@
+<svg width="35" height="17" viewBox="0 0 35 17" fill="none" xmlns="http://www.w3.org/2000/svg">
+    <path fill-rule="evenodd" clip-rule="evenodd" d="M34.9983 0H5.12802C5.70334 0.287249 6.08141 0.892539 6.00327 1.5786C5.49597 6.031 3.64997 10.219 0.524971 14.262C-0.226487 15.234 0.183131 16.6103 1.18205 17H3.01892C16.3118 15.6483 27.2737 9.0605 34.421 0.456001C34.5812 0.263008 34.7785 0.108197 34.9983 0Z" fill="#0F195A"/>
+</svg>
\ No newline at end of file
diff --git a/app/src/processing/app/Preferences.kt b/app/src/processing/app/Preferences.kt
index c5645c9bbc..43b55a9176 100644
--- a/app/src/processing/app/Preferences.kt
+++ b/app/src/processing/app/Preferences.kt
@@ -27,8 +27,18 @@ fun loadPreferences(): Properties{
         preferencesFile.createNewFile()
     }
     watchFile(preferencesFile)
+    var update by remember { mutableStateOf(System.currentTimeMillis()) }
 
-    return Properties().apply {
+    // TODO: Make observable when preferences change
+    // TODO: Save to file when preferences change
+    class ObservableProperties : Properties() {
+        override fun setProperty(key: String, value: String): Any? {
+            update = System.currentTimeMillis()
+            return super.setProperty(key, value)
+        }
+    }
+
+    return ObservableProperties().apply {
         load(ClassLoader.getSystemResourceAsStream(DEFAULTS_FILE_NAME) ?: InputStream.nullInputStream())
         load(preferencesFile.inputStream())
     }
diff --git a/app/src/processing/app/ui/Welcome.kt b/app/src/processing/app/ui/Welcome.kt
index 698f2bb1ea..f655992202 100644
--- a/app/src/processing/app/ui/Welcome.kt
+++ b/app/src/processing/app/ui/Welcome.kt
@@ -2,13 +2,16 @@ package processing.app.ui
 
 import androidx.compose.foundation.Image
 import androidx.compose.foundation.background
+import androidx.compose.foundation.border
 import androidx.compose.foundation.layout.*
 import androidx.compose.foundation.lazy.grid.GridCells
 import androidx.compose.foundation.lazy.grid.LazyVerticalGrid
 import androidx.compose.foundation.shape.RoundedCornerShape
+import androidx.compose.material.Checkbox
 import androidx.compose.material.MaterialTheme
 import androidx.compose.material.MaterialTheme.colors
 import androidx.compose.material.MaterialTheme.typography
+import androidx.compose.material.RadioButton
 import androidx.compose.material.Text
 import androidx.compose.runtime.Composable
 import androidx.compose.ui.Alignment
@@ -20,6 +23,7 @@ import androidx.compose.ui.graphics.Color
 import androidx.compose.ui.res.painterResource
 import androidx.compose.ui.unit.dp
 import processing.app.Base
+import processing.app.LocalPreferences
 import processing.app.ui.theme.LocalLocale
 import processing.app.ui.theme.PDEButton
 import processing.app.ui.theme.PDEWindow
@@ -69,21 +73,42 @@ class Welcome @Throws(IOException::class) constructor(base: Base) {
                     Column(
                         verticalArrangement = Arrangement.spacedBy(16.dp)
                     ) {
-                        Text(
-                            text = locale["welcome.action.examples"],
-                        )
-                        Text(
-                            text = locale["welcome.action.tutorials"],
-                        )
+                        chip {
+                            Text(
+                                text = locale["welcome.action.examples"],
+                            )
+                        }
+                        chip {
+                            Text(
+                                text = locale["welcome.action.tutorials"],
+                            )
+                        }
                     }
                     Row(
                         modifier = Modifier.fillMaxWidth(),
                         horizontalArrangement = Arrangement.SpaceBetween,
-                        verticalAlignment = Alignment.CenterVertically
-                    ){
-                        Text(
-                            text = locale["welcome.action.startup"],
-                        )
+                        verticalAlignment = Alignment.Bottom
+                    ) {
+                        Row(
+                            horizontalArrangement = Arrangement.spacedBy(8.dp),
+                            verticalAlignment = Alignment.CenterVertically,
+                            modifier = Modifier
+                                .offset (-32.dp)
+
+                        ) {
+                            val preferences = LocalPreferences.current
+                            Checkbox(
+                                checked = preferences["welcome.four.show"]?.equals("true") ?: false,
+                                onCheckedChange = {
+                                    preferences.setProperty("welcome.four.show",it.toString())
+                                },
+                                modifier = Modifier
+                                    .size(24.dp)
+                            )
+                            Text(
+                                text = locale["welcome.action.startup"],
+                            )
+                        }
                         PDEButton(onClick = { println("Open") }) {
                             val locale = LocalLocale.current
                             Text(locale["welcome.action.go"])
@@ -115,13 +140,19 @@ class Welcome @Throws(IOException::class) constructor(base: Base) {
                         text = locale["welcome.intro.suggestion"],
                         style = typography.body1,
                         modifier = Modifier
-                            .padding(vertical = 16.dp)
+                            .padding(top = 16.dp)
                             .clip(RoundedCornerShape(12.dp))
                             .background(colors.primary)
                             .padding(16.dp)
                             .sizeIn(maxWidth = 200.dp)
 
                     )
+                    Image(
+                        painter = painterResource("welcome/intro/bubble.svg"),
+                        contentDescription = locale["welcome.intro.long"],
+                        modifier = Modifier
+                            .align{ _, space, _ -> space / 4 }
+                    )
                     Row(
                         modifier = Modifier
                             .fillMaxWidth(),
@@ -165,6 +196,19 @@ class Welcome @Throws(IOException::class) constructor(base: Base) {
             }
         }
 
+        @Composable
+        fun chip(content: @Composable () -> Unit){
+            Box(
+                modifier = Modifier
+                    .clip(RoundedCornerShape(12.dp))
+                    .background(colors.surface)
+                    .border(1.dp, colors.primary, RoundedCornerShape(12.dp))
+                    .padding(vertical = 4.dp, horizontal = 12.dp)
+            ){
+                content()
+            }
+        }
+
         @JvmStatic
         fun main(args: Array<String>) {
             pdeapplication("menu.help.welcome") {
diff --git a/app/src/processing/app/ui/theme/Colors.kt b/app/src/processing/app/ui/theme/Colors.kt
new file mode 100644
index 0000000000..91e7d1e6b7
--- /dev/null
+++ b/app/src/processing/app/ui/theme/Colors.kt
@@ -0,0 +1,20 @@
+package processing.app.ui.theme
+
+import androidx.compose.material.Colors
+import androidx.compose.ui.graphics.Color
+
+//val Colors = Colors(
+//    primary = Color("#0F195A".toColorInt()),
+//    primaryVariant = theme.getColor("toolbar.button.pressed.field"),
+//    secondary = theme.getColor("editor.gradient.bottom"),
+//    secondaryVariant = theme.getColor("editor.scrollbar.thumb.pressed.color"),
+//    background = theme.getColor("editor.bgcolor"),
+//    surface = theme.getColor("editor.bgcolor"),
+//    error = theme.getColor("status.error.bgcolor"),
+//    onPrimary = theme.getColor("toolbar.button.enabled.field"),
+//    onSecondary = theme.getColor("toolbar.button.enabled.field"),
+//    onBackground = theme.getColor("editor.fgcolor"),
+//    onSurface = theme.getColor("editor.fgcolor"),
+//    onError = theme.getColor("status.error.fgcolor"),
+//    isLight = theme.getProperty("laf.mode").equals("light")
+//)
\ No newline at end of file
diff --git a/build/shared/lib/languages/PDE.properties b/build/shared/lib/languages/PDE.properties
index 00daaa7bc5..59cd63c74b 100644
--- a/build/shared/lib/languages/PDE.properties
+++ b/build/shared/lib/languages/PDE.properties
@@ -621,8 +621,8 @@ welcome.intro.message = A flexible software sketchbook and a language for learni
 welcome.intro.suggestion = Is it your first time using Processing? Try one of the examples on the right.
 welcome.action.examples = More examples
 welcome.action.tutorials = Tutorials
-welcome.action.startup = Startup
-welcome.action.go = "Let's go!"
+welcome.action.startup = Show this window at startup
+welcome.action.go = Let's go!
 
 # ---------------------------------------
 # Beta

From 2f12d13422c0359562663d93202fe7ce80c3c949 Mon Sep 17 00:00:00 2001
From: Stef Tervelde <stef@steftervelde.nl>
Date: Fri, 7 Feb 2025 21:53:49 +0100
Subject: [PATCH 05/14] Saveable/Reactive Preferences

---
 app/src/processing/app/Preferences.kt         | 69 ++++++++++++-------
 .../app/contrib/ui/ContributionManager.kt     |  9 +--
 app/src/processing/app/ui/theme/Theme.kt      |  2 +-
 3 files changed, 50 insertions(+), 30 deletions(-)

diff --git a/app/src/processing/app/Preferences.kt b/app/src/processing/app/Preferences.kt
index 43b55a9176..5c0751d87a 100644
--- a/app/src/processing/app/Preferences.kt
+++ b/app/src/processing/app/Preferences.kt
@@ -2,9 +2,13 @@ package processing.app
 
 import androidx.compose.runtime.*
 import kotlinx.coroutines.Dispatchers
+import kotlinx.coroutines.FlowPreview
+import kotlinx.coroutines.flow.debounce
+import kotlinx.coroutines.flow.dropWhile
 import kotlinx.coroutines.launch
 import java.io.File
 import java.io.InputStream
+import java.io.OutputStream
 import java.nio.file.*
 import java.util.Properties
 
@@ -15,35 +19,58 @@ const val DEFAULTS_FILE_NAME = "defaults.txt"
 fun PlatformStart(){
     Platform.inst ?: Platform.init()
 }
+class ReactiveProperties: Properties() {
+    val _stateMap = mutableStateMapOf<String, String>()
 
+    override fun setProperty(key: String, value: String) {
+        super.setProperty(key, value)
+        _stateMap[key] = value
+    }
+
+    override fun getProperty(key: String): String? {
+        return _stateMap[key] ?: super.getProperty(key)
+    }
+
+    operator fun get(key: String): String? = getProperty(key)
+}
+val LocalPreferences = compositionLocalOf<ReactiveProperties> { error("No preferences provided") }
+@OptIn(FlowPreview::class)
 @Composable
-fun loadPreferences(): Properties{
+fun PreferencesProvider(content: @Composable () -> Unit){
     PlatformStart()
 
     val settingsFolder = Platform.getSettingsFolder()
     val preferencesFile = settingsFolder.resolve(PREFERENCES_FILE_NAME)
 
-    if(!preferencesFile.exists()){
-        preferencesFile.createNewFile()
-    }
-    watchFile(preferencesFile)
-    var update by remember { mutableStateOf(System.currentTimeMillis()) }
+    val update = watchFile(preferencesFile)
+    val properties = remember(preferencesFile, update) { ReactiveProperties().apply {
+        load((ClassLoader.getSystemResourceAsStream(DEFAULTS_FILE_NAME)?: InputStream.nullInputStream()).reader(Charsets.UTF_8))
+        load(preferencesFile.inputStream().reader(Charsets.UTF_8))
+    }}
 
-    // TODO: Make observable when preferences change
-    // TODO: Save to file when preferences change
-    class ObservableProperties : Properties() {
-        override fun setProperty(key: String, value: String): Any? {
-            update = System.currentTimeMillis()
-            return super.setProperty(key, value)
-        }
+    val initialState = remember(properties) { properties._stateMap.toMap() }
+
+    LaunchedEffect(properties) {
+        snapshotFlow { properties._stateMap.toMap() }
+            .dropWhile { it == initialState }
+            .debounce(1000)
+            .collect {
+                preferencesFile.outputStream().use { output ->
+                    output.write(
+                        properties.entries
+                            .sortedWith(compareBy(String.CASE_INSENSITIVE_ORDER) { it.key.toString() })
+                            .joinToString("\n") { (key, value) -> "$key=$value" }
+                            .toByteArray()
+                    )
+                }
+            }
     }
 
-    return ObservableProperties().apply {
-        load(ClassLoader.getSystemResourceAsStream(DEFAULTS_FILE_NAME) ?: InputStream.nullInputStream())
-        load(preferencesFile.inputStream())
+    CompositionLocalProvider(LocalPreferences provides properties){
+        content()
     }
-}
 
+}
 @Composable
 fun watchFile(file: File): Any? {
     val scope = rememberCoroutineScope()
@@ -72,12 +99,4 @@ fun watchFile(file: File): Any? {
         }
     }
     return event
-}
-val LocalPreferences = compositionLocalOf<Properties> { error("No preferences provided") }
-@Composable
-fun PreferencesProvider(content: @Composable () -> Unit){
-    val preferences = loadPreferences()
-    CompositionLocalProvider(LocalPreferences provides preferences){
-        content()
-    }
 }
\ No newline at end of file
diff --git a/app/src/processing/app/contrib/ui/ContributionManager.kt b/app/src/processing/app/contrib/ui/ContributionManager.kt
index 2ad472159b..4d21227a4d 100644
--- a/app/src/processing/app/contrib/ui/ContributionManager.kt
+++ b/app/src/processing/app/contrib/ui/ContributionManager.kt
@@ -22,8 +22,9 @@ import androidx.compose.ui.window.application
 import com.charleskorn.kaml.Yaml
 import com.charleskorn.kaml.YamlConfiguration
 import kotlinx.serialization.Serializable
+import processing.app.LocalPreferences
 import processing.app.Platform
-import processing.app.loadPreferences
+import processing.app.ReactiveProperties
 import java.net.URL
 import java.util.*
 import javax.swing.JFrame
@@ -106,7 +107,7 @@ fun contributionsManager(){
     var localContributions by remember { mutableStateOf(listOf<Contribution>()) }
     var error by remember { mutableStateOf<Exception?>(null) }
 
-    val preferences = loadPreferences()
+    val preferences = LocalPreferences.current
 
     LaunchedEffect(preferences){
         try {
@@ -284,9 +285,9 @@ fun contributionsManager(){
 }
 
 
-fun loadContributionProperties(preferences: Properties): List<Pair<Type, Properties>>{
+fun loadContributionProperties(preferences: ReactiveProperties): List<Pair<Type, Properties>>{
     val result = mutableListOf<Pair<Type, Properties>>()
-    val sketchBook = Path(preferences.getProperty("sketchbook.path.four", Platform.getDefaultSketchbookFolder().path))
+    val sketchBook = Path(preferences.getProperty("sketchbook.path.four") ?: Platform.getDefaultSketchbookFolder().path)
     sketchBook.forEachDirectoryEntry{ contributionsFolder ->
         if(!contributionsFolder.isDirectory()) return@forEachDirectoryEntry
         val typeName = contributionsFolder.fileName.toString()
diff --git a/app/src/processing/app/ui/theme/Theme.kt b/app/src/processing/app/ui/theme/Theme.kt
index 735d8e5b2a..82428db7f6 100644
--- a/app/src/processing/app/ui/theme/Theme.kt
+++ b/app/src/processing/app/ui/theme/Theme.kt
@@ -16,7 +16,7 @@ import java.util.Properties
 class Theme(themeFile: String? = "") : Properties() {
     init {
         load(ClassLoader.getSystemResourceAsStream("theme.txt"))
-        load(ClassLoader.getSystemResourceAsStream(themeFile) ?: InputStream.nullInputStream())
+        load(ClassLoader.getSystemResourceAsStream(themeFile ?: "") ?: InputStream.nullInputStream())
     }
     fun getColor(key: String): Color {
         return Color(getProperty(key).toColorInt())

From b0c61a4467e8c9f5d02bcc8c84e47908fad22d95 Mon Sep 17 00:00:00 2001
From: Stef Tervelde <stef@steftervelde.nl>
Date: Sat, 8 Feb 2025 11:10:33 +0100
Subject: [PATCH 06/14] Welcome Screen: Load & Display examples

---
 app/src/processing/app/ui/Welcome.kt      | 171 +++++++++++++++++++---
 app/src/processing/app/ui/theme/Window.kt |  17 ++-
 2 files changed, 161 insertions(+), 27 deletions(-)

diff --git a/app/src/processing/app/ui/Welcome.kt b/app/src/processing/app/ui/Welcome.kt
index f655992202..981eb059cf 100644
--- a/app/src/processing/app/ui/Welcome.kt
+++ b/app/src/processing/app/ui/Welcome.kt
@@ -6,35 +6,54 @@ import androidx.compose.foundation.border
 import androidx.compose.foundation.layout.*
 import androidx.compose.foundation.lazy.grid.GridCells
 import androidx.compose.foundation.lazy.grid.LazyVerticalGrid
+import androidx.compose.foundation.lazy.grid.items
 import androidx.compose.foundation.shape.RoundedCornerShape
 import androidx.compose.material.Checkbox
-import androidx.compose.material.MaterialTheme
 import androidx.compose.material.MaterialTheme.colors
 import androidx.compose.material.MaterialTheme.typography
-import androidx.compose.material.RadioButton
 import androidx.compose.material.Text
-import androidx.compose.runtime.Composable
+import androidx.compose.runtime.*
 import androidx.compose.ui.Alignment
+import androidx.compose.ui.ExperimentalComposeUiApi
 import androidx.compose.ui.Modifier
 import androidx.compose.ui.draw.clip
 import androidx.compose.ui.geometry.Offset
 import androidx.compose.ui.graphics.Brush
 import androidx.compose.ui.graphics.Color
+import androidx.compose.ui.graphics.ImageBitmap
+import androidx.compose.ui.graphics.painter.BitmapPainter
+import androidx.compose.ui.input.pointer.PointerEventType
+import androidx.compose.ui.input.pointer.PointerIcon
+import androidx.compose.ui.input.pointer.onPointerEvent
+import androidx.compose.ui.input.pointer.pointerHoverIcon
+import androidx.compose.ui.res.loadImageBitmap
 import androidx.compose.ui.res.painterResource
 import androidx.compose.ui.unit.dp
+import com.formdev.flatlaf.util.SystemInfo
+import kotlinx.coroutines.Dispatchers
+import kotlinx.coroutines.launch
+import kotlinx.coroutines.withContext
+import org.jetbrains.compose.resources.ExperimentalResourceApi
+import org.jetbrains.compose.resources.decodeToImageBitmap
 import processing.app.Base
 import processing.app.LocalPreferences
-import processing.app.ui.theme.LocalLocale
-import processing.app.ui.theme.PDEButton
-import processing.app.ui.theme.PDEWindow
-import processing.app.ui.theme.pdeapplication
+import processing.app.Messages
+import processing.app.Platform
+import processing.app.ui.theme.*
+import java.awt.Cursor
+import java.io.File
 import java.io.IOException
+import java.nio.file.*
+import java.nio.file.attribute.BasicFileAttributes
 import javax.swing.SwingUtilities
+import kotlin.io.path.exists
+import kotlin.io.path.inputStream
+import kotlin.io.path.isDirectory
 
 class Welcome @Throws(IOException::class) constructor(base: Base) {
     init {
         SwingUtilities.invokeLater {
-            PDEWindow("menu.help.welcome") {
+            PDEWindow("menu.help.welcome", fullWindowContent = true) {
                 welcome()
             }
         }
@@ -44,17 +63,16 @@ class Welcome @Throws(IOException::class) constructor(base: Base) {
         fun welcome() {
             Row(
                 modifier = Modifier
-//                    .background(
-//                        Brush.linearGradient(
-//                            colorStops = arrayOf(0.0f to Color.Transparent, 1f to Color.Blue),
-//                            start = Offset(815f / 2, 0f),
-//                            end = Offset(815f, 450f)
-//                        )
-//                    )
-                    .size(815.dp, 450.dp)
+                    .background(
+                        Brush.linearGradient(
+                            colorStops = arrayOf(0f to Color.Transparent, 1f to Color("#C0D7FF".toColorInt())),
+                            start = Offset(815f, 0f),
+                            end = Offset(815f* 2, 450f)
+                        )
+                    )
+                    .size(815.dp, 500.dp)
                     .padding(32.dp)
-
-                ,
+                    .padding(top = if(SystemInfo.isMacFullWindowContentSupported) 22.dp else 0.dp),
                 horizontalArrangement = Arrangement.spacedBy(32.dp)
             ){
                 Box(modifier = Modifier
@@ -174,22 +192,129 @@ class Welcome @Throws(IOException::class) constructor(base: Base) {
                 }
             }
         }
+
+        data class Example(
+            val folder: Path,
+            val library: Path,
+            val path: String = library.resolve("examples").relativize(folder).toString(),
+            val title: String = folder.fileName.toString(),
+            val image: Path = folder.resolve("$title.png")
+        )
+
+        @Composable
+        fun loadExamples(): List<Example> {
+            val sketchbook = rememberSketchbookPath()
+            val resources = File(System.getProperty("compose.application.resources.dir") ?: "")
+            var examples by remember { mutableStateOf(emptyList<Example>()) }
+
+            val settingsFolder = Platform.getSettingsFolder()
+            val examplesCache = settingsFolder.resolve("examples.cache")
+            LaunchedEffect(sketchbook, resources){
+                if (!examplesCache.exists()) return@LaunchedEffect
+                withContext(Dispatchers.IO) {
+                    examples = examplesCache.readText().lines().map {
+                        val (library, folder) = it.split(",")
+                        Example(
+                            folder = File(folder).toPath(),
+                            library = File(library).toPath()
+                        )
+                    }
+                }
+            }
+
+            LaunchedEffect(sketchbook, resources){
+                withContext(Dispatchers.IO) {
+                    // TODO: Optimize
+                    Messages.log("Start scanning for examples in $sketchbook and $resources")
+                    //                  Folders that can contain contributions with examples
+                    val scanned = listOf("libraries", "examples", "modes")
+                        .flatMap { listOf(sketchbook.resolve(it), resources.resolve(it)) }
+                        .filter { it.exists() && it.isDirectory() }
+                        // Find contributions within those folders
+                        .flatMap { Files.list(it.toPath()).toList() }
+                        .filter { Files.isDirectory(it) }
+                        // Find examples within those contributions
+                        .flatMap { library ->
+                            val fs = FileSystems.getDefault()
+                            val matcher = fs.getPathMatcher("glob:**/*.pde")
+                            val exampleFolders = mutableListOf<Path>()
+                            val examples = library.resolve("examples")
+                            if (!Files.exists(examples) || !examples.isDirectory()) return@flatMap emptyList()
+
+                            Files.walkFileTree(library, object : SimpleFileVisitor<Path>() {
+                                override fun visitFile(file: Path, attrs: BasicFileAttributes): FileVisitResult {
+                                    if (matcher.matches(file)) {
+                                        exampleFolders.add(file.parent)
+                                    }
+                                    return FileVisitResult.CONTINUE
+                                }
+                            })
+                            return@flatMap exampleFolders.map { folder ->
+                                Example(
+                                    folder,
+                                    library,
+                                )
+                            }
+                        }
+                        .filter { it.image.exists() }
+                    Messages.log("Done scanning for examples in $sketchbook and $resources")
+                    if(scanned.isEmpty()) return@withContext
+                    examples = scanned
+                    examplesCache.writeText(examples.joinToString("\n") { "${it.library},${it.folder}" })
+                }
+            }
+
+            return examples
+
+        }
+
+        @Composable
+        fun rememberSketchbookPath(): File {
+            val preferences = LocalPreferences.current
+            val sketchbookPath = remember(preferences["sketchbook.path.four"]) {
+                preferences["sketchbook.path.four"] ?: Platform.getDefaultSketchbookFolder().toString()
+            }
+            return File(sketchbookPath)
+        }
+
+
+        @OptIn(ExperimentalResourceApi::class, ExperimentalComposeUiApi::class)
         @Composable
         fun examples(){
+            val examples = loadExamples()
+            // grab 4 random ones
+            val randoms = examples.shuffled().take(4)
+
             LazyVerticalGrid(
                 columns = GridCells.Fixed(2),
                 verticalArrangement = Arrangement.spacedBy(16.dp),
                 horizontalArrangement = Arrangement.spacedBy(16.dp),
             ){
-                items(4){
-                    Column {
-                        Box(
+                items(randoms){ example ->
+                    Column(
+                        modifier = Modifier
+                            .onPointerEvent(PointerEventType.Press) {
+                            }
+                            .onPointerEvent(PointerEventType.Release) {
+                            }
+                            .onPointerEvent(PointerEventType.Enter) {
+                            }
+                            .onPointerEvent(PointerEventType.Exit) {
+                            }
+                            .pointerHoverIcon(PointerIcon(Cursor(Cursor.HAND_CURSOR)))
+                    ) {
+                        val imageBitmap: ImageBitmap = remember(example.image) {
+                            example.image.inputStream().readAllBytes().decodeToImageBitmap()
+                        }
+                        Image(
+                            painter = BitmapPainter(imageBitmap),
+                            contentDescription = example.title,
                             modifier = Modifier
                                 .background(colors.primary)
                                 .width(185.dp)
                                 .aspectRatio(16f / 9f)
                         )
-                        Text("Example $it")
+                        Text(example.title)
                     }
                 }
 
@@ -211,7 +336,7 @@ class Welcome @Throws(IOException::class) constructor(base: Base) {
 
         @JvmStatic
         fun main(args: Array<String>) {
-            pdeapplication("menu.help.welcome") {
+            pdeapplication("menu.help.welcome", fullWindowContent = true) {
                 welcome()
             }
         }
diff --git a/app/src/processing/app/ui/theme/Window.kt b/app/src/processing/app/ui/theme/Window.kt
index eafa33a236..26b45d9563 100644
--- a/app/src/processing/app/ui/theme/Window.kt
+++ b/app/src/processing/app/ui/theme/Window.kt
@@ -1,5 +1,6 @@
 package processing.app.ui.theme
 
+import androidx.compose.foundation.background
 import androidx.compose.foundation.layout.Box
 import androidx.compose.foundation.layout.padding
 import androidx.compose.material.MaterialTheme.colors
@@ -8,6 +9,9 @@ import androidx.compose.runtime.Composable
 import androidx.compose.ui.Alignment
 import androidx.compose.ui.Modifier
 import androidx.compose.ui.awt.ComposePanel
+import androidx.compose.ui.geometry.Offset
+import androidx.compose.ui.graphics.Brush
+import androidx.compose.ui.graphics.Color
 import androidx.compose.ui.unit.DpSize
 import androidx.compose.ui.unit.dp
 import androidx.compose.ui.window.Window
@@ -22,7 +26,7 @@ import java.awt.event.KeyEvent
 import javax.swing.JFrame
 
 
-class PDEWindow(titleKey: String = "", content: @Composable () -> Unit): JFrame(){
+class PDEWindow(titleKey: String = "", fullWindowContent: Boolean = false, content: @Composable () -> Unit): JFrame(){
     init{
         val mac = SystemInfo.isMacFullWindowContentSupported
 
@@ -38,8 +42,11 @@ class PDEWindow(titleKey: String = "", content: @Composable () -> Unit): JFrame(
                     val locale = LocalLocale.current
                     this@PDEWindow.title = locale[titleKey]
 
-                    Box(modifier = Modifier.padding(top = if (mac) 22.dp else 0.dp)) {
+                    Box(modifier = Modifier
+                        .padding(top = if (mac && !fullWindowContent) 22.dp else 0.dp)
+                    ) {
                         content()
+
                     }
                 }
             }
@@ -60,7 +67,7 @@ class PDEWindow(titleKey: String = "", content: @Composable () -> Unit): JFrame(
     }
 }
 
-fun pdeapplication(titleKey: String = "",content: @Composable () -> Unit){
+fun pdeapplication(titleKey: String = "", fullWindowContent: Boolean = false,content: @Composable () -> Unit){
     application {
         val windowState = rememberWindowState(
             size = DpSize.Unspecified,
@@ -75,7 +82,9 @@ fun pdeapplication(titleKey: String = "",content: @Composable () -> Unit){
                     putClientProperty("apple.awt.transparentTitleBar", mac)
                 }
                 Surface(color = colors.background) {
-                    Box(modifier = Modifier.padding(top = if (mac) 22.dp else 0.dp)) {
+                    Box(modifier = Modifier
+                        .padding(top = if (mac && !fullWindowContent) 22.dp else 0.dp)
+                    ) {
                         content()
                     }
                 }

From 3d81b02ffed2c28560bc2067f1584e05db0bad51 Mon Sep 17 00:00:00 2001
From: Stef Tervelde <stef@steftervelde.nl>
Date: Sat, 8 Feb 2025 22:47:28 +0100
Subject: [PATCH 07/14] Welcome Screen: Language selection

---
 app/build.gradle.kts                          |   2 +
 app/src/processing/app/ui/Welcome.kt          | 329 ++++++------------
 .../app/ui/components/LanuageSelector.kt      | 113 ++++++
 .../app/ui/components/examples/Examples.kt    | 166 +++++++++
 app/src/processing/app/ui/theme/Chip.kt       |  39 +++
 app/src/processing/app/ui/theme/Locale.kt     |  52 ++-
 6 files changed, 469 insertions(+), 232 deletions(-)
 create mode 100644 app/src/processing/app/ui/components/LanuageSelector.kt
 create mode 100644 app/src/processing/app/ui/components/examples/Examples.kt
 create mode 100644 app/src/processing/app/ui/theme/Chip.kt

diff --git a/app/build.gradle.kts b/app/build.gradle.kts
index 8dd6e88f0d..bfcb65cc07 100644
--- a/app/build.gradle.kts
+++ b/app/build.gradle.kts
@@ -21,6 +21,7 @@ tasks.withType<JavaExec> {
     systemProperty("processing.contributions.source", "https://contributions-preview.processing.org/contribs.txt")
     systemProperty("processing.download.page", "https://processing.org/download/")
     systemProperty("processing.download.latest", "https://processing.org/download/latest.txt")
+    systemProperty("processing.tutorials", "https://processing.org/tutorials/")
 }
 
 
@@ -95,6 +96,7 @@ dependencies {
     implementation(compose.ui)
     implementation(compose.components.resources)
     implementation(compose.components.uiToolingPreview)
+    implementation(compose.materialIconsExtended)
 
     implementation(compose.desktop.currentOs)
 
diff --git a/app/src/processing/app/ui/Welcome.kt b/app/src/processing/app/ui/Welcome.kt
index 981eb059cf..5173b239cd 100644
--- a/app/src/processing/app/ui/Welcome.kt
+++ b/app/src/processing/app/ui/Welcome.kt
@@ -2,135 +2,90 @@ package processing.app.ui
 
 import androidx.compose.foundation.Image
 import androidx.compose.foundation.background
-import androidx.compose.foundation.border
 import androidx.compose.foundation.layout.*
-import androidx.compose.foundation.lazy.grid.GridCells
-import androidx.compose.foundation.lazy.grid.LazyVerticalGrid
-import androidx.compose.foundation.lazy.grid.items
 import androidx.compose.foundation.shape.RoundedCornerShape
-import androidx.compose.material.Checkbox
+import androidx.compose.material.*
 import androidx.compose.material.MaterialTheme.colors
 import androidx.compose.material.MaterialTheme.typography
-import androidx.compose.material.Text
+import androidx.compose.material.icons.Icons
+import androidx.compose.material.icons.automirrored.filled.ArrowForward
 import androidx.compose.runtime.*
 import androidx.compose.ui.Alignment
-import androidx.compose.ui.ExperimentalComposeUiApi
 import androidx.compose.ui.Modifier
 import androidx.compose.ui.draw.clip
 import androidx.compose.ui.geometry.Offset
 import androidx.compose.ui.graphics.Brush
 import androidx.compose.ui.graphics.Color
-import androidx.compose.ui.graphics.ImageBitmap
-import androidx.compose.ui.graphics.painter.BitmapPainter
-import androidx.compose.ui.input.pointer.PointerEventType
-import androidx.compose.ui.input.pointer.PointerIcon
-import androidx.compose.ui.input.pointer.onPointerEvent
-import androidx.compose.ui.input.pointer.pointerHoverIcon
-import androidx.compose.ui.res.loadImageBitmap
 import androidx.compose.ui.res.painterResource
 import androidx.compose.ui.unit.dp
 import com.formdev.flatlaf.util.SystemInfo
-import kotlinx.coroutines.Dispatchers
-import kotlinx.coroutines.launch
-import kotlinx.coroutines.withContext
-import org.jetbrains.compose.resources.ExperimentalResourceApi
-import org.jetbrains.compose.resources.decodeToImageBitmap
-import processing.app.Base
-import processing.app.LocalPreferences
-import processing.app.Messages
-import processing.app.Platform
+import processing.app.*
+import processing.app.ui.components.LanguageChip
+import processing.app.ui.components.examples.examples
 import processing.app.ui.theme.*
-import java.awt.Cursor
-import java.io.File
+import java.awt.Desktop
 import java.io.IOException
+import java.net.URI
 import java.nio.file.*
-import java.nio.file.attribute.BasicFileAttributes
+import java.util.*
 import javax.swing.SwingUtilities
-import kotlin.io.path.exists
-import kotlin.io.path.inputStream
-import kotlin.io.path.isDirectory
+
 
 class Welcome @Throws(IOException::class) constructor(base: Base) {
     init {
         SwingUtilities.invokeLater {
             PDEWindow("menu.help.welcome", fullWindowContent = true) {
-                welcome()
+                CompositionLocalProvider(LocalBase provides base) {
+                    welcome()
+                }
             }
         }
     }
+
     companion object {
+        val LocalBase = compositionLocalOf<Base?> { null }
         @Composable
         fun welcome() {
-            Row(
+            Column (
                 modifier = Modifier
                     .background(
                         Brush.linearGradient(
                             colorStops = arrayOf(0f to Color.Transparent, 1f to Color("#C0D7FF".toColorInt())),
                             start = Offset(815f, 0f),
-                            end = Offset(815f* 2, 450f)
+                            end = Offset(815f * 2, 450f)
                         )
                     )
-                    .size(815.dp, 500.dp)
-                    .padding(32.dp)
-                    .padding(top = if(SystemInfo.isMacFullWindowContentSupported) 22.dp else 0.dp),
-                horizontalArrangement = Arrangement.spacedBy(32.dp)
+                    .padding(horizontal = 32.dp)
+                    .padding(bottom = 32.dp)
+                    .padding(top = if (SystemInfo.isMacFullWindowContentSupported) 22.dp else 0.dp),
             ){
-                Box(modifier = Modifier
-                    .weight(1f)
-                    .fillMaxHeight()
-                ){
-                    intro()
+                Column(
+                    horizontalAlignment = Alignment.End,
+                    modifier = Modifier
+                        .align(Alignment.End)
+                ) {
+                    LanguageChip()
                 }
-                Column(modifier = Modifier
-                    .weight(1.25f)
-                    .fillMaxHeight(),
-                    verticalArrangement = Arrangement.SpaceBetween
-                ){
-                    examples()
-                    val locale = LocalLocale.current
-                    Column(
-                        verticalArrangement = Arrangement.spacedBy(16.dp)
+                Row(
+                    horizontalArrangement = Arrangement.spacedBy(32.dp),
+                    modifier = Modifier
+                        .size(815.dp, 450.dp)
+                ) {
+                    Box(
+                        modifier = Modifier
+                            .weight(1f)
+                            .fillMaxHeight()
                     ) {
-                        chip {
-                            Text(
-                                text = locale["welcome.action.examples"],
-                            )
-                        }
-                        chip {
-                            Text(
-                                text = locale["welcome.action.tutorials"],
-                            )
-                        }
+                        intro()
                     }
-                    Row(
-                        modifier = Modifier.fillMaxWidth(),
-                        horizontalArrangement = Arrangement.SpaceBetween,
-                        verticalAlignment = Alignment.Bottom
+                    Column(
+                        modifier = Modifier
+                            .weight(1.25f)
+                            .fillMaxHeight(),
+                        verticalArrangement = Arrangement.SpaceBetween
                     ) {
-                        Row(
-                            horizontalArrangement = Arrangement.spacedBy(8.dp),
-                            verticalAlignment = Alignment.CenterVertically,
-                            modifier = Modifier
-                                .offset (-32.dp)
-
-                        ) {
-                            val preferences = LocalPreferences.current
-                            Checkbox(
-                                checked = preferences["welcome.four.show"]?.equals("true") ?: false,
-                                onCheckedChange = {
-                                    preferences.setProperty("welcome.four.show",it.toString())
-                                },
-                                modifier = Modifier
-                                    .size(24.dp)
-                            )
-                            Text(
-                                text = locale["welcome.action.startup"],
-                            )
-                        }
-                        PDEButton(onClick = { println("Open") }) {
-                            val locale = LocalLocale.current
-                            Text(locale["welcome.action.go"])
-                        }
+                        examples()
+                        actions()
                     }
                 }
             }
@@ -193,146 +148,82 @@ class Welcome @Throws(IOException::class) constructor(base: Base) {
             }
         }
 
-        data class Example(
-            val folder: Path,
-            val library: Path,
-            val path: String = library.resolve("examples").relativize(folder).toString(),
-            val title: String = folder.fileName.toString(),
-            val image: Path = folder.resolve("$title.png")
-        )
-
         @Composable
-        fun loadExamples(): List<Example> {
-            val sketchbook = rememberSketchbookPath()
-            val resources = File(System.getProperty("compose.application.resources.dir") ?: "")
-            var examples by remember { mutableStateOf(emptyList<Example>()) }
-
-            val settingsFolder = Platform.getSettingsFolder()
-            val examplesCache = settingsFolder.resolve("examples.cache")
-            LaunchedEffect(sketchbook, resources){
-                if (!examplesCache.exists()) return@LaunchedEffect
-                withContext(Dispatchers.IO) {
-                    examples = examplesCache.readText().lines().map {
-                        val (library, folder) = it.split(",")
-                        Example(
-                            folder = File(folder).toPath(),
-                            library = File(library).toPath()
-                        )
-                    }
+        fun actions(){
+            val locale = LocalLocale.current
+            Column(
+                verticalArrangement = Arrangement.spacedBy(16.dp)
+            ) {
+                val base = LocalBase.current
+                PDEChip(onClick = {
+                    base?.defaultMode?.showExamplesFrame()
+                }) {
+                    Text(
+                        text = locale["welcome.action.examples"],
+                    )
+                    Image(
+                        imageVector = Icons.AutoMirrored.Default.ArrowForward,
+                        contentDescription = locale["welcome.action.tutorials"],
+                        modifier = Modifier
+                            .padding(start = 8.dp)
+                            .size(typography.body1.fontSize.value.dp)
+                    )
                 }
-            }
-
-            LaunchedEffect(sketchbook, resources){
-                withContext(Dispatchers.IO) {
-                    // TODO: Optimize
-                    Messages.log("Start scanning for examples in $sketchbook and $resources")
-                    //                  Folders that can contain contributions with examples
-                    val scanned = listOf("libraries", "examples", "modes")
-                        .flatMap { listOf(sketchbook.resolve(it), resources.resolve(it)) }
-                        .filter { it.exists() && it.isDirectory() }
-                        // Find contributions within those folders
-                        .flatMap { Files.list(it.toPath()).toList() }
-                        .filter { Files.isDirectory(it) }
-                        // Find examples within those contributions
-                        .flatMap { library ->
-                            val fs = FileSystems.getDefault()
-                            val matcher = fs.getPathMatcher("glob:**/*.pde")
-                            val exampleFolders = mutableListOf<Path>()
-                            val examples = library.resolve("examples")
-                            if (!Files.exists(examples) || !examples.isDirectory()) return@flatMap emptyList()
-
-                            Files.walkFileTree(library, object : SimpleFileVisitor<Path>() {
-                                override fun visitFile(file: Path, attrs: BasicFileAttributes): FileVisitResult {
-                                    if (matcher.matches(file)) {
-                                        exampleFolders.add(file.parent)
-                                    }
-                                    return FileVisitResult.CONTINUE
-                                }
-                            })
-                            return@flatMap exampleFolders.map { folder ->
-                                Example(
-                                    folder,
-                                    library,
-                                )
-                            }
-                        }
-                        .filter { it.image.exists() }
-                    Messages.log("Done scanning for examples in $sketchbook and $resources")
-                    if(scanned.isEmpty()) return@withContext
-                    examples = scanned
-                    examplesCache.writeText(examples.joinToString("\n") { "${it.library},${it.folder}" })
+                PDEChip(onClick = {
+                    if (!Desktop.isDesktopSupported()) return@PDEChip
+                    val desktop = Desktop.getDesktop()
+                    if(!desktop.isSupported(Desktop.Action.BROWSE)) return@PDEChip
+                    try {
+                        desktop.browse(URI(System.getProperty("processing.tutorials")))
+                    } catch (e: Exception) {
+                        e.printStackTrace()
+                    }
+                }) {
+                    Text(
+                        text = locale["welcome.action.tutorials"],
+                    )
+                    Image(
+                        imageVector = Icons.AutoMirrored.Default.ArrowForward,
+                        contentDescription = locale["welcome.action.tutorials"],
+                        modifier = Modifier
+                            .padding(start = 8.dp)
+                            .size(typography.body1.fontSize.value.dp)
+                    )
                 }
             }
-
-            return examples
-
-        }
-
-        @Composable
-        fun rememberSketchbookPath(): File {
-            val preferences = LocalPreferences.current
-            val sketchbookPath = remember(preferences["sketchbook.path.four"]) {
-                preferences["sketchbook.path.four"] ?: Platform.getDefaultSketchbookFolder().toString()
-            }
-            return File(sketchbookPath)
-        }
-
-
-        @OptIn(ExperimentalResourceApi::class, ExperimentalComposeUiApi::class)
-        @Composable
-        fun examples(){
-            val examples = loadExamples()
-            // grab 4 random ones
-            val randoms = examples.shuffled().take(4)
-
-            LazyVerticalGrid(
-                columns = GridCells.Fixed(2),
-                verticalArrangement = Arrangement.spacedBy(16.dp),
-                horizontalArrangement = Arrangement.spacedBy(16.dp),
-            ){
-                items(randoms){ example ->
-                    Column(
+            Row(
+                modifier = Modifier.fillMaxWidth(),
+                horizontalArrangement = Arrangement.SpaceBetween,
+                verticalAlignment = Alignment.Bottom
+            ) {
+                Row(
+                    horizontalArrangement = Arrangement.spacedBy(8.dp),
+                    verticalAlignment = Alignment.CenterVertically,
+                    modifier = Modifier
+                        .offset(-32.dp)
+
+                ) {
+                    val preferences = LocalPreferences.current
+                    Checkbox(
+                        checked = preferences["welcome.four.show"]?.equals("true") ?: false,
+                        onCheckedChange = {
+                            preferences.setProperty("welcome.four.show", it.toString())
+                        },
                         modifier = Modifier
-                            .onPointerEvent(PointerEventType.Press) {
-                            }
-                            .onPointerEvent(PointerEventType.Release) {
-                            }
-                            .onPointerEvent(PointerEventType.Enter) {
-                            }
-                            .onPointerEvent(PointerEventType.Exit) {
-                            }
-                            .pointerHoverIcon(PointerIcon(Cursor(Cursor.HAND_CURSOR)))
-                    ) {
-                        val imageBitmap: ImageBitmap = remember(example.image) {
-                            example.image.inputStream().readAllBytes().decodeToImageBitmap()
-                        }
-                        Image(
-                            painter = BitmapPainter(imageBitmap),
-                            contentDescription = example.title,
-                            modifier = Modifier
-                                .background(colors.primary)
-                                .width(185.dp)
-                                .aspectRatio(16f / 9f)
-                        )
-                        Text(example.title)
-                    }
+                            .size(24.dp)
+                    )
+                    Text(
+                        text = locale["welcome.action.startup"],
+                    )
+                }
+                PDEButton(onClick = { println("Open") }) {
+                    val locale = LocalLocale.current
+                    Text(locale["welcome.action.go"])
                 }
-
             }
         }
 
-        @Composable
-        fun chip(content: @Composable () -> Unit){
-            Box(
-                modifier = Modifier
-                    .clip(RoundedCornerShape(12.dp))
-                    .background(colors.surface)
-                    .border(1.dp, colors.primary, RoundedCornerShape(12.dp))
-                    .padding(vertical = 4.dp, horizontal = 12.dp)
-            ){
-                content()
-            }
-        }
+
 
         @JvmStatic
         fun main(args: Array<String>) {
diff --git a/app/src/processing/app/ui/components/LanuageSelector.kt b/app/src/processing/app/ui/components/LanuageSelector.kt
new file mode 100644
index 0000000000..532e02d66f
--- /dev/null
+++ b/app/src/processing/app/ui/components/LanuageSelector.kt
@@ -0,0 +1,113 @@
+package processing.app.ui.components
+
+import androidx.compose.foundation.Image
+import androidx.compose.foundation.layout.padding
+import androidx.compose.foundation.layout.size
+import androidx.compose.material.DropdownMenu
+import androidx.compose.material.DropdownMenuItem
+import androidx.compose.material.MaterialTheme.typography
+import androidx.compose.material.Text
+import androidx.compose.material.icons.Icons
+import androidx.compose.material.icons.outlined.Language
+import androidx.compose.runtime.*
+import androidx.compose.ui.Modifier
+import androidx.compose.ui.unit.dp
+import processing.app.Platform
+import processing.app.ui.theme.LocalLocale
+import processing.app.ui.theme.PDEChip
+import processing.app.watchFile
+import java.io.File
+import java.nio.file.FileSystems
+import java.nio.file.Files
+import java.nio.file.Paths
+import java.util.*
+import kotlin.io.path.inputStream
+
+data class Language(
+    val name: String,
+    val code: String,
+    val locale: Locale,
+    val properties: Properties
+)
+
+@Composable
+fun LanguageChip(){
+    var expanded by remember { mutableStateOf(false) }
+
+    val settingsFolder = Platform.getSettingsFolder()
+    val languageFile = File(settingsFolder, "language.txt")
+    watchFile(languageFile)
+
+    val main = ClassLoader.getSystemResource("PDE.properties")?: return
+
+
+
+
+    val languages = remember {
+        val list = when(main.protocol){
+            "file" -> {
+                val path = Paths.get(main.toURI())
+                Files.list(path.parent)
+            }
+            "jar" -> {
+                val uri = main.toURI()
+                val fs = FileSystems.newFileSystem(uri, emptyMap<String, Any>())
+                Files.list(fs.getPath("/"))
+            }
+            else -> null
+        } ?: return@remember null
+
+        list.toList()
+            .map { Pair(it, it.fileName.toString()) }
+            .filter { (_, fileName) -> fileName.startsWith("PDE_") && fileName.endsWith(".properties") }
+            .map { (path, _) ->
+                path.inputStream().reader(Charsets.UTF_8).use {
+                    val properties = Properties()
+                    properties.load(it)
+
+                    val code = path.fileName.toString().removeSuffix(".properties").replace("PDE_", "")
+                    val locale = Locale.forLanguageTag(code)
+                    val name = locale.getDisplayName(locale)
+
+                    return@map Language(
+                        name,
+                        code,
+                        locale,
+                        properties
+                    )
+                }
+            }
+    } ?: return
+
+    val current = languageFile.readText(Charsets.UTF_8).substring(0, 2)
+    val currentLanguage = remember(current) { languages.find { it.code.startsWith(current) } ?: languages.first()}
+
+    val locale = LocalLocale.current
+
+    PDEChip(onClick = { expanded = !expanded }, leadingIcon = {
+        Image(
+            imageVector = Icons.Outlined.Language,
+            contentDescription = "Language",
+            modifier = Modifier
+                .padding(start = 8.dp)
+                .size(typography.body1.fontSize.value.dp)
+        )
+    }) {
+        Text(currentLanguage.name)
+        DropdownMenu(
+            expanded = expanded,
+            onDismissRequest = {
+                expanded = false
+            },
+        ){
+            for (language in languages){
+                DropdownMenuItem(onClick = {
+                    locale.set(language.locale)
+                    expanded = false
+                }) {
+                    Text(language.name)
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/app/src/processing/app/ui/components/examples/Examples.kt b/app/src/processing/app/ui/components/examples/Examples.kt
new file mode 100644
index 0000000000..1c08dc6683
--- /dev/null
+++ b/app/src/processing/app/ui/components/examples/Examples.kt
@@ -0,0 +1,166 @@
+package processing.app.ui.components.examples
+
+import androidx.compose.foundation.Image
+import androidx.compose.foundation.background
+import androidx.compose.foundation.layout.Arrangement
+import androidx.compose.foundation.layout.Column
+import androidx.compose.foundation.layout.aspectRatio
+import androidx.compose.foundation.layout.width
+import androidx.compose.foundation.lazy.grid.GridCells
+import androidx.compose.foundation.lazy.grid.LazyVerticalGrid
+import androidx.compose.foundation.lazy.grid.items
+import androidx.compose.material.MaterialTheme.colors
+import androidx.compose.material.Text
+import androidx.compose.runtime.*
+import androidx.compose.ui.ExperimentalComposeUiApi
+import androidx.compose.ui.Modifier
+import androidx.compose.ui.graphics.ImageBitmap
+import androidx.compose.ui.graphics.painter.BitmapPainter
+import androidx.compose.ui.input.pointer.PointerEventType
+import androidx.compose.ui.input.pointer.PointerIcon
+import androidx.compose.ui.input.pointer.onPointerEvent
+import androidx.compose.ui.input.pointer.pointerHoverIcon
+import androidx.compose.ui.unit.dp
+import kotlinx.coroutines.Dispatchers
+import kotlinx.coroutines.withContext
+import org.jetbrains.compose.resources.ExperimentalResourceApi
+import org.jetbrains.compose.resources.decodeToImageBitmap
+import processing.app.LocalPreferences
+import processing.app.Messages
+import processing.app.Platform
+import java.awt.Cursor
+import java.io.File
+import java.nio.file.*
+import java.nio.file.attribute.BasicFileAttributes
+import kotlin.io.path.exists
+import kotlin.io.path.inputStream
+import kotlin.io.path.isDirectory
+
+data class Example(
+    val folder: Path,
+    val library: Path,
+    val path: String = library.resolve("examples").relativize(folder).toString(),
+    val title: String = folder.fileName.toString(),
+    val image: Path = folder.resolve("$title.png")
+)
+
+@Composable
+fun loadExamples(): List<Example> {
+    val sketchbook = rememberSketchbookPath()
+    val resources = File(System.getProperty("compose.application.resources.dir") ?: "")
+    var examples by remember { mutableStateOf(emptyList<Example>()) }
+
+    val settingsFolder = Platform.getSettingsFolder()
+    val examplesCache = settingsFolder.resolve("examples.cache")
+    LaunchedEffect(sketchbook, resources){
+        if (!examplesCache.exists()) return@LaunchedEffect
+        withContext(Dispatchers.IO) {
+            examples = examplesCache.readText().lines().map {
+                val (library, folder) = it.split(",")
+                Example(
+                    folder = File(folder).toPath(),
+                    library = File(library).toPath()
+                )
+            }
+        }
+    }
+
+    LaunchedEffect(sketchbook, resources){
+        withContext(Dispatchers.IO) {
+            // TODO: Optimize
+            Messages.log("Start scanning for examples in $sketchbook and $resources")
+            //                  Folders that can contain contributions with examples
+            val scanned = listOf("libraries", "examples", "modes")
+                .flatMap { listOf(sketchbook.resolve(it), resources.resolve(it)) }
+                .filter { it.exists() && it.isDirectory() }
+                // Find contributions within those folders
+                .flatMap { Files.list(it.toPath()).toList() }
+                .filter { Files.isDirectory(it) }
+                // Find examples within those contributions
+                .flatMap { library ->
+                    val fs = FileSystems.getDefault()
+                    val matcher = fs.getPathMatcher("glob:**/*.pde")
+                    val exampleFolders = mutableListOf<Path>()
+                    val examples = library.resolve("examples")
+                    if (!Files.exists(examples) || !examples.isDirectory()) return@flatMap emptyList()
+
+                    Files.walkFileTree(library, object : SimpleFileVisitor<Path>() {
+                        override fun visitFile(file: Path, attrs: BasicFileAttributes): FileVisitResult {
+                            if (matcher.matches(file)) {
+                                exampleFolders.add(file.parent)
+                            }
+                            return FileVisitResult.CONTINUE
+                        }
+                    })
+                    return@flatMap exampleFolders.map { folder ->
+                        Example(
+                            folder,
+                            library,
+                        )
+                    }
+                }
+                .filter { it.image.exists() }
+            Messages.log("Done scanning for examples in $sketchbook and $resources")
+            if(scanned.isEmpty()) return@withContext
+            examples = scanned
+            examplesCache.writeText(examples.joinToString("\n") { "${it.library},${it.folder}" })
+        }
+    }
+
+    return examples
+
+}
+
+@Composable
+fun rememberSketchbookPath(): File {
+    val preferences = LocalPreferences.current
+    val sketchbookPath = remember(preferences["sketchbook.path.four"]) {
+        preferences["sketchbook.path.four"] ?: Platform.getDefaultSketchbookFolder().toString()
+    }
+    return File(sketchbookPath)
+}
+
+
+@OptIn(ExperimentalResourceApi::class, ExperimentalComposeUiApi::class)
+@Composable
+fun examples(){
+    val examples = loadExamples()
+    // grab 4 random ones
+    val randoms = examples.shuffled().take(4)
+
+    LazyVerticalGrid(
+        columns = GridCells.Fixed(2),
+        verticalArrangement = Arrangement.spacedBy(16.dp),
+        horizontalArrangement = Arrangement.spacedBy(16.dp),
+    ){
+        items(randoms){ example ->
+            Column(
+                modifier = Modifier
+                    .onPointerEvent(PointerEventType.Press) {
+                    }
+                    .onPointerEvent(PointerEventType.Release) {
+                    }
+                    .onPointerEvent(PointerEventType.Enter) {
+                    }
+                    .onPointerEvent(PointerEventType.Exit) {
+                    }
+                    .pointerHoverIcon(PointerIcon(Cursor(Cursor.HAND_CURSOR)))
+            ) {
+                val imageBitmap: ImageBitmap = remember(example.image) {
+                    example.image.inputStream().readAllBytes().decodeToImageBitmap()
+                }
+                Image(
+                    painter = BitmapPainter(imageBitmap),
+                    contentDescription = example.title,
+                    modifier = Modifier
+                        .background(colors.primary)
+                        .width(185.dp)
+                        .aspectRatio(16f / 9f)
+                )
+                Text(example.title)
+            }
+        }
+
+    }
+}
+
diff --git a/app/src/processing/app/ui/theme/Chip.kt b/app/src/processing/app/ui/theme/Chip.kt
new file mode 100644
index 0000000000..6d44bc512a
--- /dev/null
+++ b/app/src/processing/app/ui/theme/Chip.kt
@@ -0,0 +1,39 @@
+package processing.app.ui.theme
+
+import androidx.compose.foundation.BorderStroke
+import androidx.compose.foundation.background
+import androidx.compose.foundation.border
+import androidx.compose.foundation.layout.Box
+import androidx.compose.foundation.layout.RowScope
+import androidx.compose.foundation.layout.padding
+import androidx.compose.foundation.shape.RoundedCornerShape
+import androidx.compose.material.Chip
+import androidx.compose.material.ChipColors
+import androidx.compose.material.ChipDefaults
+import androidx.compose.material.ExperimentalMaterialApi
+import androidx.compose.material.MaterialTheme.colors
+import androidx.compose.runtime.Composable
+import androidx.compose.ui.Modifier
+import androidx.compose.ui.draw.clip
+import androidx.compose.ui.graphics.Color
+import androidx.compose.ui.unit.dp
+
+@OptIn(ExperimentalMaterialApi::class)
+@Composable
+fun PDEChip(
+    onClick: () -> Unit = {},
+    leadingIcon: @Composable (() -> Unit)? = null,
+    content: @Composable RowScope.() -> Unit
+){
+    Chip(
+        onClick = onClick,
+        border = BorderStroke(1.dp, colors.onSurface.copy(alpha = 0.12f)),
+        colors = ChipDefaults.chipColors(
+            backgroundColor = Color.Transparent,
+            contentColor = colors.onSurface
+        ),
+        leadingIcon = leadingIcon,
+        modifier = Modifier,
+        content = content
+    )
+}
\ No newline at end of file
diff --git a/app/src/processing/app/ui/theme/Locale.kt b/app/src/processing/app/ui/theme/Locale.kt
index 254c0946c1..6490c0eb90 100644
--- a/app/src/processing/app/ui/theme/Locale.kt
+++ b/app/src/processing/app/ui/theme/Locale.kt
@@ -1,8 +1,8 @@
 package processing.app.ui.theme
 
-import androidx.compose.runtime.Composable
-import androidx.compose.runtime.CompositionLocalProvider
-import androidx.compose.runtime.compositionLocalOf
+import androidx.compose.runtime.*
+import androidx.compose.ui.platform.LocalLayoutDirection
+import androidx.compose.ui.unit.LayoutDirection
 import processing.app.LocalPreferences
 import processing.app.Messages
 import processing.app.Platform
@@ -12,13 +12,20 @@ import java.io.File
 import java.io.InputStream
 import java.util.*
 
-class Locale(language: String = "") : Properties() {
+class Locale(language: String = "", val setLocale: (java.util.Locale) -> Unit) : Properties() {
+    var locale: java.util.Locale = java.util.Locale.getDefault()
+
     init {
-        val locale = java.util.Locale.getDefault()
-        load(ClassLoader.getSystemResourceAsStream("PDE.properties"))
-        load(ClassLoader.getSystemResourceAsStream("PDE_${locale.language}.properties") ?: InputStream.nullInputStream())
-        load(ClassLoader.getSystemResourceAsStream("PDE_${locale.toLanguageTag()}.properties") ?: InputStream.nullInputStream())
-        load(ClassLoader.getSystemResourceAsStream("PDE_${language}.properties") ?: InputStream.nullInputStream())
+        fun loadResourceUTF8(path: String) {
+            val stream = ClassLoader.getSystemResourceAsStream(path)
+            stream?.reader(charset = Charsets.UTF_8)?.use { reader ->
+                load(reader)
+            }
+        }
+        loadResourceUTF8("PDE.properties")
+        loadResourceUTF8("PDE_${locale.language}.properties")
+        loadResourceUTF8("PDE_${locale.toLanguageTag()}.properties")
+        loadResourceUTF8("PDE_${language}.properties")
     }
 
     @Deprecated("Use get instead", ReplaceWith("get(key)"))
@@ -28,8 +35,11 @@ class Locale(language: String = "") : Properties() {
         return value
     }
     operator fun get(key: String): String = getProperty(key, key)
+    fun set(locale: java.util.Locale) {
+        setLocale(locale)
+    }
 }
-val LocalLocale = compositionLocalOf { Locale() }
+val LocalLocale = compositionLocalOf<Locale> { error("No Locale Set") }
 @Composable
 fun LocaleProvider(content: @Composable () -> Unit) {
     PlatformStart()
@@ -37,9 +47,25 @@ fun LocaleProvider(content: @Composable () -> Unit) {
     val settingsFolder = Platform.getSettingsFolder()
     val languageFile = File(settingsFolder, "language.txt")
     watchFile(languageFile)
+    var code by remember{ mutableStateOf(languageFile.readText().substring(0, 2)) }
+
+    fun setLocale(locale: java.util.Locale) {
+        java.util.Locale.setDefault(locale)
+        languageFile.writeText(locale.language)
+        code = locale.language
+    }
+
+
+    val locale = Locale(code, ::setLocale)
+    Messages.log("Locale: $code")
+    val dir = when(locale["locale.direction"]) {
+        "rtl" -> LayoutDirection.Rtl
+        else -> LayoutDirection.Ltr
+    }
 
-    val locale = Locale(languageFile.readText().substring(0, 2))
-    CompositionLocalProvider(LocalLocale provides locale) {
-        content()
+    CompositionLocalProvider(LocalLayoutDirection provides dir) {
+        CompositionLocalProvider(LocalLocale provides locale) {
+            content()
+        }
     }
 }
\ No newline at end of file

From cb184fb104ac9c4ead2e6352573f726189da7b70 Mon Sep 17 00:00:00 2001
From: Stef Tervelde <stef@steftervelde.nl>
Date: Sun, 9 Feb 2025 12:19:33 +0100
Subject: [PATCH 08/14] Welcome Screen: Layout fixes

---
 app/src/main/resources/default.png            | Bin 0 -> 1900 bytes
 app/src/main/resources/welcome/intro/long.svg |  14 +-
 app/src/main/resources/welcome/intro/wavy.svg |   7 +
 app/src/processing/app/Language.java          |   5 +
 app/src/processing/app/ui/Welcome.kt          | 156 ++++++++++--------
 .../app/ui/components/LanuageSelector.kt      |  12 ++
 .../app/ui/components/examples/Examples.kt    | 102 +++++++-----
 app/src/processing/app/ui/theme/Button.kt     |  35 ++--
 app/src/processing/app/ui/theme/Chip.kt       |  14 +-
 app/src/processing/app/ui/theme/Colors.kt     |  43 +++--
 app/src/processing/app/ui/theme/Locale.kt     |   7 +-
 app/src/processing/app/ui/theme/Theme.kt      |  47 ++----
 app/src/processing/app/ui/theme/Window.kt     |  35 +++-
 13 files changed, 278 insertions(+), 199 deletions(-)
 create mode 100644 app/src/main/resources/default.png
 create mode 100644 app/src/main/resources/welcome/intro/wavy.svg

diff --git a/app/src/main/resources/default.png b/app/src/main/resources/default.png
new file mode 100644
index 0000000000000000000000000000000000000000..df13f36105bc2af722ba3147ae97dac2e0ed6548
GIT binary patch
literal 1900
zcmd^A`B&0e6#w!K5>uyeWiZoYV``b}30oBzEgP3(mb(F_rDbYl7$f-AtW1-#nd)ev
z*^Fg5ZduwwB97rwI@(0yl7L!DYJj+*A~fGQGk?X*5AS{M{oHfkJ@0ehJufdPaG${%
z+!_D?4EFna2Lk|t0NeHG)$l&{X&wWE?kV4hQ~=O3`g<XO+r?OzM5G4qBLX$u>nC6b
z8SfR~1psvgdMhy~0MJ3~_x3tON617k6O9jJn@7sLF(ytv`gD7w5{%5fXoruaPaySn
z?fSai55xb#!TV9rboO)W@P`*o#X%U8S*4?Y|93C1m%NrkHHz8hb-cJ&g_G?&;>U|4
z1QTb*^$5g7Jwh;uzGss~i2RShwu8f&b8`~{xd}dL@I6;pOC}$SkMA5BiXM2H6m^b@
zA!u=uri>}l$RBKXQ7wjVu`BHcm!V4Iwb<!eWj3HkE5m9zVf^Xokyj#Yi(UAtxD(#`
z3JH&#JoLQIIru{FIzo9M-^n_>+JYDbcD%m~h`EesE6ekh1aq+CP(It{S&GEeD-uH}
z7q=H!`dkY|UdtqUPrtryi@Lpzp#9c~)cBd??0|?nvcZEHPU1m_+w7BBMQhw(%DRcU
z^zQJ3mua%d7iSgX7FA`*1|`iH(ykoe-1Sy?W@pI~7;CJ|pU%*({5Zm3EPSyybBwl&
zdU`TqZa}4w6vDOB6!Mz!7^z>O<4xL>(B$F9ES9J`>e;eKeIx9j)~+li>#Or*DN05X
z5gRo=n!U5UnHA!HR!7#Kiy3)mPp$2rWsG;-3Khh<e~--pT=6dR7RJv=%3J6dCRC9t
zd66o`?Q<4_u{#ZD$ZK^Eg_<0bvzI>3YUGCPOIZ&BOEw4ST5Z7)+N}4|xbAy$Fr@|a
zEtZ~;gL+^=_QBlp{QQLA0SKr5R2ij;dYxxv`zFW0d|6v{9Ed%OevcvG@){b@oqe@r
zwU*gW<3WLUc1JLz_&a7NXA<(=Rz>6it~WL_sjWO-=2sGYpC_N)0{S%Rts7l1%{Tdn
zp6g=nUEQdxFsaMW<@b?hXJ<v|WN{;`SCUXe<SS;zI#HVffQiJQ#dIIQJ$WcxSabO0
zB#n1}7m;F!yylamOTLdowH=~IPeB@O)26)*?M0c_fycwJ!dDc<dw~>jW5ggfO;l?b
zlRT5)x7!m<8$!nX-qq#*F@bM)O4?m=zXCr6)ww^{bqa~M0XwXd%2}7bu{g25yL<}j
zRi9%gq_-C_;ZoLd0kNi~p7iPAx1}i@x!I_5Z+Ss|S9iB5+&2fe?gJD7jkivj?*_7S
zc}G=p5o!``)yYaU?mr`P+RLO~KEp1nPLmCWP;BI&AdCgFJx&{zHA{O+*RF75`ZS})
zg@F$Q^!I&J&F5C3LanprLau;p??*V42ed*T=viH@4%s){{?&E^HE&N_Wk$sT{|pi0
z7#8dxl;Kc9I9kR%urqxw;am(n33m@vp#sxOQ&_GtEhQZEt;V|yz%Q<aXZxbZT^s5|
z{8jfL<wWa5mqN_llA4;j1;PvEclI!ZCEz7|kGjD`nQvz2WdtAIy97~*vjb1!b)Xt|
zX73=GE!7PEHX1+acktinyg6z?k6iSLQ@U7(1AWPUJu1fB=RaHQP6aJ)z8<N{-#AlX
z>FEg7Z_08ID7YJ3Kvq~Nv^f3CLX32OmAaMTb#?uY;01+*OxXqtJt>}|!hIQ(Sg1JU
z3r=Zte($F-U*}xlamRU`wOWoUop0<;%Cl#(Zo^bvY&!?RT$(vrCNUr5kdaPLAGhMj
z(cSa0(f<sgA0IdTNU@ZAJmo`0O7Ws$80*UsvpjR0|IdJH&=&z0(xl67Y%gyLt0ir9
zzH;(n?A;=$jYCohpOVDV&Uz!liB^udHQ!7fNagkv9=FZXw*l#6Z*IyT)-I>$taX-E
zA>R4!w#62_DfY<VG{Xs2TMtsKwjz-43}N&C0o7jtU9;0op4oGF_;UpI`viK|5GmPz
E0j8HZ^Z)<=

literal 0
HcmV?d00001

diff --git a/app/src/main/resources/welcome/intro/long.svg b/app/src/main/resources/welcome/intro/long.svg
index 19fba54269..004418ce1f 100644
--- a/app/src/main/resources/welcome/intro/long.svg
+++ b/app/src/main/resources/welcome/intro/long.svg
@@ -1,7 +1,7 @@
-<svg width="120" height="164" viewBox="0 0 120 164" fill="none" xmlns="http://www.w3.org/2000/svg">
-    <path d="M-22 146C19.1706 112.211 52.4455 72.5963 97 19" stroke="#1F34AB" stroke-width="58"/>
-    <circle cx="75.5" cy="23.5" r="10.5" fill="white"/>
-    <circle cx="96.5" cy="42.5" r="10.5" fill="white"/>
-    <circle cx="76" cy="19" r="3" fill="#222222"/>
-    <circle cx="97" cy="37" r="3" fill="#222222"/>
-</svg>
\ No newline at end of file
+<svg width="127" height="140" viewBox="0 0 127 140" fill="none" xmlns="http://www.w3.org/2000/svg">
+    <path d="M-22 152C19.1706 118.211 52.4455 78.5963 97 25" stroke="#1F34AB" stroke-width="78"/>
+    <ellipse cx="66" cy="35.6" rx="13" ry="12.6" fill="white"/>
+    <ellipse cx="92" cy="58.3998" rx="13" ry="12.6" fill="white"/>
+    <ellipse cx="69.0953" cy="39.8002" rx="3.71429" ry="3.6" fill="#222222"/>
+    <ellipse cx="87.6667" cy="55.3998" rx="3.71429" ry="3.6" fill="#222222"/>
+</svg>
diff --git a/app/src/main/resources/welcome/intro/wavy.svg b/app/src/main/resources/welcome/intro/wavy.svg
new file mode 100644
index 0000000000..b244066fa1
--- /dev/null
+++ b/app/src/main/resources/welcome/intro/wavy.svg
@@ -0,0 +1,7 @@
+<svg width="69" height="167" viewBox="0 0 69 167" fill="none" xmlns="http://www.w3.org/2000/svg">
+    <path d="M31.9543 11.7981C31.9542 86.5 102.5 74.5001 119.823 174.031" stroke="#0468FF" stroke-width="63"/>
+    <circle cx="19.1708" cy="33.1238" r="10.5" transform="rotate(-75.5441 19.1708 33.1238)" fill="white"/>
+    <circle cx="42.8116" cy="17.5317" r="10.5" transform="rotate(-75.5441 42.8116 17.5317)" fill="white"/>
+    <circle cx="14.9381" cy="31.5162" r="3" transform="rotate(-75.5441 14.9381 31.5162)" fill="#222222"/>
+    <circle cx="37.6106" cy="15.6745" r="3" transform="rotate(-75.5441 37.6106 15.6745)" fill="#222222"/>
+</svg>
diff --git a/app/src/processing/app/Language.java b/app/src/processing/app/Language.java
index d55c8b710c..f0fdab8759 100644
--- a/app/src/processing/app/Language.java
+++ b/app/src/processing/app/Language.java
@@ -183,6 +183,11 @@ static public Language init() {
     return instance;
   }
 
+  static public void reload(){
+    synchronized (Language.class) {
+      instance = new Language();
+    }
+  }
 
   static private String get(String key) {
     LanguageBundle bundle = init().bundle;
diff --git a/app/src/processing/app/ui/Welcome.kt b/app/src/processing/app/ui/Welcome.kt
index 5173b239cd..754c9e4fc6 100644
--- a/app/src/processing/app/ui/Welcome.kt
+++ b/app/src/processing/app/ui/Welcome.kt
@@ -2,6 +2,7 @@ package processing.app.ui
 
 import androidx.compose.foundation.Image
 import androidx.compose.foundation.background
+import androidx.compose.foundation.border
 import androidx.compose.foundation.layout.*
 import androidx.compose.foundation.shape.RoundedCornerShape
 import androidx.compose.material.*
@@ -16,8 +17,10 @@ import androidx.compose.ui.draw.clip
 import androidx.compose.ui.geometry.Offset
 import androidx.compose.ui.graphics.Brush
 import androidx.compose.ui.graphics.Color
+import androidx.compose.ui.graphics.ColorFilter
 import androidx.compose.ui.res.painterResource
 import androidx.compose.ui.unit.dp
+import androidx.compose.ui.unit.min
 import com.formdev.flatlaf.util.SystemInfo
 import processing.app.*
 import processing.app.ui.components.LanguageChip
@@ -46,7 +49,7 @@ class Welcome @Throws(IOException::class) constructor(base: Base) {
         val LocalBase = compositionLocalOf<Base?> { null }
         @Composable
         fun welcome() {
-            Column (
+            Column(
                 modifier = Modifier
                     .background(
                         Brush.linearGradient(
@@ -57,8 +60,10 @@ class Welcome @Throws(IOException::class) constructor(base: Base) {
                     )
                     .padding(horizontal = 32.dp)
                     .padding(bottom = 32.dp)
-                    .padding(top = if (SystemInfo.isMacFullWindowContentSupported) 22.dp else 0.dp),
-            ){
+                    .padding(top = if (SystemInfo.isMacFullWindowContentSupported) 22.dp else 0.dp)
+                    .height(IntrinsicSize.Max)
+                    .width(IntrinsicSize.Max)
+            ) {
                 Column(
                     horizontalAlignment = Alignment.End,
                     modifier = Modifier
@@ -67,25 +72,25 @@ class Welcome @Throws(IOException::class) constructor(base: Base) {
                     LanguageChip()
                 }
                 Row(
-                    horizontalArrangement = Arrangement.spacedBy(32.dp),
-                    modifier = Modifier
-                        .size(815.dp, 450.dp)
+                    horizontalArrangement = Arrangement.spacedBy(48.dp),
                 ) {
-                    Box(
-                        modifier = Modifier
-                            .weight(1f)
-                            .fillMaxHeight()
-                    ) {
+                    Column {
                         intro()
                     }
-                    Column(
-                        modifier = Modifier
-                            .weight(1.25f)
-                            .fillMaxHeight(),
-                        verticalArrangement = Arrangement.SpaceBetween
-                    ) {
-                        examples()
-                        actions()
+                    Box{
+                        Column {
+                            examples()
+                            actions()
+                        }
+                        val locale = LocalLocale.current
+                        Image(
+                            painter = painterResource("welcome/intro/wavy.svg"),
+                            contentDescription = locale["welcome.intro.long"],
+                            modifier = Modifier
+                                .height(200.dp)
+                                .offset (32.dp)
+                                .align(Alignment.BottomEnd)
+                        )
                     }
                 }
             }
@@ -95,30 +100,40 @@ class Welcome @Throws(IOException::class) constructor(base: Base) {
         fun intro(){
             val locale = LocalLocale.current
             Column(
+                verticalArrangement = Arrangement.SpaceBetween,
                 modifier = Modifier
-                    .fillMaxHeight(),
-                verticalArrangement = Arrangement.SpaceBetween) {
+                    .fillMaxHeight()
+                    .width(IntrinsicSize.Max)
+            ) {
                 Column {
                     Text(
                         text = locale["welcome.intro.title"],
                         style = typography.h4,
+                        modifier = Modifier
+                            .sizeIn(maxWidth = 305.dp)
                     )
                     Text(
                         text = locale["welcome.intro.message"],
                         style = typography.body1,
+                        modifier = Modifier
+                            .sizeIn(maxWidth = 305.dp)
                     )
                 }
-                Column {
+                Column(
+                    modifier = Modifier
+                        .offset(y = 32.dp)
+                ){
                     Text(
                         text = locale["welcome.intro.suggestion"],
                         style = typography.body1,
+                        color = colors.onPrimary,
                         modifier = Modifier
                             .padding(top = 16.dp)
                             .clip(RoundedCornerShape(12.dp))
                             .background(colors.primary)
-                            .padding(16.dp)
+                            .padding(horizontal = 24.dp)
+                            .padding(top = 16.dp, bottom = 24.dp)
                             .sizeIn(maxWidth = 200.dp)
-
                     )
                     Image(
                         painter = painterResource("welcome/intro/bubble.svg"),
@@ -127,9 +142,9 @@ class Welcome @Throws(IOException::class) constructor(base: Base) {
                             .align{ _, space, _ -> space / 4 }
                     )
                     Row(
-                        modifier = Modifier
-                            .fillMaxWidth(),
-                        horizontalArrangement = Arrangement.SpaceBetween
+                        horizontalArrangement = Arrangement.SpaceBetween,
+                        modifier = Modifier.
+                            fillMaxWidth()
                     ) {
                         Image(
                             painter = painterResource("welcome/intro/long.svg"),
@@ -142,6 +157,7 @@ class Welcome @Throws(IOException::class) constructor(base: Base) {
                             contentDescription = locale["welcome.intro.short"],
                             modifier = Modifier
                                 .align(Alignment.Bottom)
+                                .offset(x = 16.dp, y = -16.dp)
                         )
                     }
                 }
@@ -151,57 +167,55 @@ class Welcome @Throws(IOException::class) constructor(base: Base) {
         @Composable
         fun actions(){
             val locale = LocalLocale.current
-            Column(
-                verticalArrangement = Arrangement.spacedBy(16.dp)
-            ) {
-                val base = LocalBase.current
-                PDEChip(onClick = {
-                    base?.defaultMode?.showExamplesFrame()
-                }) {
-                    Text(
-                        text = locale["welcome.action.examples"],
-                    )
-                    Image(
-                        imageVector = Icons.AutoMirrored.Default.ArrowForward,
-                        contentDescription = locale["welcome.action.tutorials"],
-                        modifier = Modifier
-                            .padding(start = 8.dp)
-                            .size(typography.body1.fontSize.value.dp)
-                    )
-                }
-                PDEChip(onClick = {
-                    if (!Desktop.isDesktopSupported()) return@PDEChip
-                    val desktop = Desktop.getDesktop()
-                    if(!desktop.isSupported(Desktop.Action.BROWSE)) return@PDEChip
-                    try {
-                        desktop.browse(URI(System.getProperty("processing.tutorials")))
-                    } catch (e: Exception) {
-                        e.printStackTrace()
-                    }
-                }) {
-                    Text(
-                        text = locale["welcome.action.tutorials"],
-                    )
-                    Image(
-                        imageVector = Icons.AutoMirrored.Default.ArrowForward,
-                        contentDescription = locale["welcome.action.tutorials"],
-                        modifier = Modifier
-                            .padding(start = 8.dp)
-                            .size(typography.body1.fontSize.value.dp)
-                    )
+            val base = LocalBase.current
+            PDEChip(onClick = {
+                base?.defaultMode?.showExamplesFrame()
+            }) {
+                Text(
+                    text = locale["welcome.action.examples"],
+                )
+                Image(
+                    imageVector = Icons.AutoMirrored.Default.ArrowForward,
+                    contentDescription = locale["welcome.action.tutorials"],
+                    colorFilter = ColorFilter.tint(color = LocalContentColor.current),
+                    modifier = Modifier
+                        .padding(start = 8.dp)
+                        .size(typography.body1.fontSize.value.dp)
+                )
+            }
+            PDEChip(onClick = {
+                if (!Desktop.isDesktopSupported()) return@PDEChip
+                val desktop = Desktop.getDesktop()
+                if(!desktop.isSupported(Desktop.Action.BROWSE)) return@PDEChip
+                try {
+                    desktop.browse(URI(System.getProperty("processing.tutorials")))
+                } catch (e: Exception) {
+                    e.printStackTrace()
                 }
+            }) {
+                Text(
+                    text = locale["welcome.action.tutorials"],
+                )
+                Image(
+                    imageVector = Icons.AutoMirrored.Default.ArrowForward,
+                    contentDescription = locale["welcome.action.tutorials"],
+                    colorFilter = ColorFilter.tint(color = LocalContentColor.current),
+                    modifier = Modifier
+                        .padding(start = 8.dp)
+                        .size(typography.body1.fontSize.value.dp)
+                )
             }
             Row(
-                modifier = Modifier.fillMaxWidth(),
                 horizontalArrangement = Arrangement.SpaceBetween,
-                verticalAlignment = Alignment.Bottom
+                verticalAlignment = Alignment.CenterVertically,
+                modifier = Modifier
+                    .fillMaxWidth()
             ) {
                 Row(
                     horizontalArrangement = Arrangement.spacedBy(8.dp),
                     verticalAlignment = Alignment.CenterVertically,
                     modifier = Modifier
                         .offset(-32.dp)
-
                 ) {
                     val preferences = LocalPreferences.current
                     Checkbox(
@@ -217,8 +231,10 @@ class Welcome @Throws(IOException::class) constructor(base: Base) {
                     )
                 }
                 PDEButton(onClick = { println("Open") }) {
-                    val locale = LocalLocale.current
-                    Text(locale["welcome.action.go"])
+                    Text(
+                        text = locale["welcome.action.go"],
+                        modifier = Modifier
+                    )
                 }
             }
         }
diff --git a/app/src/processing/app/ui/components/LanuageSelector.kt b/app/src/processing/app/ui/components/LanuageSelector.kt
index 532e02d66f..801f0f008b 100644
--- a/app/src/processing/app/ui/components/LanuageSelector.kt
+++ b/app/src/processing/app/ui/components/LanuageSelector.kt
@@ -5,12 +5,16 @@ import androidx.compose.foundation.layout.padding
 import androidx.compose.foundation.layout.size
 import androidx.compose.material.DropdownMenu
 import androidx.compose.material.DropdownMenuItem
+import androidx.compose.material.LocalContentColor
 import androidx.compose.material.MaterialTheme.typography
 import androidx.compose.material.Text
 import androidx.compose.material.icons.Icons
+import androidx.compose.material.icons.automirrored.filled.ArrowForward
+import androidx.compose.material.icons.filled.ArrowDropDown
 import androidx.compose.material.icons.outlined.Language
 import androidx.compose.runtime.*
 import androidx.compose.ui.Modifier
+import androidx.compose.ui.graphics.ColorFilter
 import androidx.compose.ui.unit.dp
 import processing.app.Platform
 import processing.app.ui.theme.LocalLocale
@@ -88,12 +92,20 @@ fun LanguageChip(){
         Image(
             imageVector = Icons.Outlined.Language,
             contentDescription = "Language",
+            colorFilter = ColorFilter.tint(color = LocalContentColor.current),
             modifier = Modifier
                 .padding(start = 8.dp)
                 .size(typography.body1.fontSize.value.dp)
         )
     }) {
         Text(currentLanguage.name)
+        Image(
+            imageVector = Icons.Default.ArrowDropDown,
+            contentDescription = locale["welcome.action.tutorials"],
+            colorFilter = ColorFilter.tint(color = LocalContentColor.current),
+            modifier = Modifier
+                .size(typography.body1.fontSize.value.dp)
+        )
         DropdownMenu(
             expanded = expanded,
             onDismissRequest = {
diff --git a/app/src/processing/app/ui/components/examples/Examples.kt b/app/src/processing/app/ui/components/examples/Examples.kt
index 1c08dc6683..45455a2ca9 100644
--- a/app/src/processing/app/ui/components/examples/Examples.kt
+++ b/app/src/processing/app/ui/components/examples/Examples.kt
@@ -2,19 +2,21 @@ package processing.app.ui.components.examples
 
 import androidx.compose.foundation.Image
 import androidx.compose.foundation.background
-import androidx.compose.foundation.layout.Arrangement
-import androidx.compose.foundation.layout.Column
-import androidx.compose.foundation.layout.aspectRatio
-import androidx.compose.foundation.layout.width
+import androidx.compose.foundation.layout.*
 import androidx.compose.foundation.lazy.grid.GridCells
 import androidx.compose.foundation.lazy.grid.LazyVerticalGrid
 import androidx.compose.foundation.lazy.grid.items
+import androidx.compose.material.Button
+import androidx.compose.material.ButtonDefaults
 import androidx.compose.material.MaterialTheme.colors
+import androidx.compose.material.MaterialTheme.typography
 import androidx.compose.material.Text
 import androidx.compose.runtime.*
 import androidx.compose.ui.ExperimentalComposeUiApi
 import androidx.compose.ui.Modifier
+import androidx.compose.ui.graphics.Color
 import androidx.compose.ui.graphics.ImageBitmap
+import androidx.compose.ui.graphics.RectangleShape
 import androidx.compose.ui.graphics.painter.BitmapPainter
 import androidx.compose.ui.input.pointer.PointerEventType
 import androidx.compose.ui.input.pointer.PointerIcon
@@ -28,6 +30,7 @@ import org.jetbrains.compose.resources.decodeToImageBitmap
 import processing.app.LocalPreferences
 import processing.app.Messages
 import processing.app.Platform
+import processing.app.ui.Welcome.Companion.LocalBase
 import java.awt.Cursor
 import java.io.File
 import java.nio.file.*
@@ -121,46 +124,71 @@ fun rememberSketchbookPath(): File {
 }
 
 
-@OptIn(ExperimentalResourceApi::class, ExperimentalComposeUiApi::class)
+
 @Composable
 fun examples(){
     val examples = loadExamples()
-    // grab 4 random ones
-    val randoms = examples.shuffled().take(4)
 
-    LazyVerticalGrid(
-        columns = GridCells.Fixed(2),
+
+    var randoms = examples.shuffled().take(4)
+    if(randoms.size < 4){
+        randoms = randoms + List(4 - randoms.size) { Example(
+            folder = Paths.get(""),
+            library = Paths.get(""),
+            title = "Test",
+            image = ClassLoader.getSystemResource("default.png")?.toURI()?.let { Paths.get(it) } ?: Paths.get(""),
+        ) }
+    }
+
+    Column(
         verticalArrangement = Arrangement.spacedBy(16.dp),
-        horizontalArrangement = Arrangement.spacedBy(16.dp),
-    ){
-        items(randoms){ example ->
-            Column(
-                modifier = Modifier
-                    .onPointerEvent(PointerEventType.Press) {
-                    }
-                    .onPointerEvent(PointerEventType.Release) {
-                    }
-                    .onPointerEvent(PointerEventType.Enter) {
-                    }
-                    .onPointerEvent(PointerEventType.Exit) {
-                    }
-                    .pointerHoverIcon(PointerIcon(Cursor(Cursor.HAND_CURSOR)))
-            ) {
-                val imageBitmap: ImageBitmap = remember(example.image) {
-                    example.image.inputStream().readAllBytes().decodeToImageBitmap()
+    ) {
+        randoms.chunked(2).forEach { row ->
+            Row (
+                horizontalArrangement = Arrangement.spacedBy(16.dp),
+            ){
+                row.forEach { example ->
+                    Example(example)
                 }
-                Image(
-                    painter = BitmapPainter(imageBitmap),
-                    contentDescription = example.title,
-                    modifier = Modifier
-                        .background(colors.primary)
-                        .width(185.dp)
-                        .aspectRatio(16f / 9f)
-                )
-                Text(example.title)
             }
         }
-
     }
 }
-
+@OptIn(ExperimentalComposeUiApi::class, ExperimentalResourceApi::class)
+@Composable
+fun Example(example: Example){
+    val base = LocalBase.current
+    Button(
+        onClick = {
+            base?.handleOpenExample("${example.folder}/${example.title}.pde", base.defaultMode)
+        },
+        contentPadding = PaddingValues(0.dp),
+        elevation = null,
+        shape = RectangleShape,
+        colors = ButtonDefaults.buttonColors(
+            backgroundColor = Color.Transparent,
+            contentColor = colors.onBackground
+        ),
+    ) {
+        Column(
+            modifier = Modifier
+                .width(185.dp)
+        ) {
+            val imageBitmap: ImageBitmap = remember(example.image) {
+                example.image.inputStream().readAllBytes().decodeToImageBitmap()
+            }
+            Image(
+                painter = BitmapPainter(imageBitmap),
+                contentDescription = example.title,
+                modifier = Modifier
+                    .background(colors.primary)
+                    .aspectRatio(16f / 9f)
+            )
+            Text(
+                example.title,
+                style = typography.body1,
+                maxLines = 1
+            )
+        }
+    }
+}
diff --git a/app/src/processing/app/ui/theme/Button.kt b/app/src/processing/app/ui/theme/Button.kt
index 5d2923ab0f..bec6dd3bcd 100644
--- a/app/src/processing/app/ui/theme/Button.kt
+++ b/app/src/processing/app/ui/theme/Button.kt
@@ -3,12 +3,15 @@ package processing.app.ui.theme
 import androidx.compose.animation.animateColorAsState
 import androidx.compose.animation.core.animateFloatAsState
 import androidx.compose.foundation.background
+import androidx.compose.foundation.border
 import androidx.compose.foundation.layout.*
+import androidx.compose.material.Button
 import androidx.compose.material.MaterialTheme.colors
 import androidx.compose.runtime.*
 import androidx.compose.ui.Alignment
 import androidx.compose.ui.ExperimentalComposeUiApi
 import androidx.compose.ui.Modifier
+import androidx.compose.ui.graphics.RectangleShape
 import androidx.compose.ui.input.pointer.PointerEventType
 import androidx.compose.ui.input.pointer.PointerIcon
 import androidx.compose.ui.input.pointer.onPointerEvent
@@ -18,41 +21,31 @@ import java.awt.Cursor
 
 @OptIn(ExperimentalComposeUiApi::class)
 @Composable
-fun PDEButton(onClick: () -> Unit, content: @Composable BoxScope.() -> Unit) {
-    val theme = LocalTheme.current
-
+fun PDEButton(onClick: () -> Unit, content: @Composable RowScope.() -> Unit) {
     var hover by remember { mutableStateOf(false) }
-    var clicked by remember { mutableStateOf(false) }
-    val offset by animateFloatAsState(if (hover) -5f else 5f)
-    val color by animateColorAsState(if(clicked) colors.primaryVariant else colors.primary)
+    val offset by animateFloatAsState(if (hover) -3f else 3f)
 
-    Box(modifier = Modifier.padding(end = 5.dp, top = 5.dp)) {
+    Box {
         Box(
             modifier = Modifier
                 .offset((-offset).dp, (offset).dp)
-                .background(theme.getColor("toolbar.button.pressed.field"))
                 .matchParentSize()
+                .padding(vertical = 6.dp)
+                .background(colors.secondary)
+
         )
-        Box(
+        Button(
+            onClick = onClick,
+            shape = RectangleShape,
+            contentPadding = PaddingValues(vertical = 8.dp, horizontal = 32.dp),
             modifier = Modifier
-                .onPointerEvent(PointerEventType.Press) {
-                    clicked = true
-                }
-                .onPointerEvent(PointerEventType.Release) {
-                    clicked = false
-                    onClick()
-                }
                 .onPointerEvent(PointerEventType.Enter) {
                     hover = true
                 }
                 .onPointerEvent(PointerEventType.Exit) {
                     hover = false
                 }
-                .pointerHoverIcon(PointerIcon(Cursor(Cursor.HAND_CURSOR)))
-                .background(color)
-                .padding(10.dp)
-                .sizeIn(minWidth = 100.dp),
-            contentAlignment = Alignment.Center,
+                .pointerHoverIcon(PointerIcon(Cursor(Cursor.HAND_CURSOR))),
             content = content
         )
     }
diff --git a/app/src/processing/app/ui/theme/Chip.kt b/app/src/processing/app/ui/theme/Chip.kt
index 6d44bc512a..baab6e8ef9 100644
--- a/app/src/processing/app/ui/theme/Chip.kt
+++ b/app/src/processing/app/ui/theme/Chip.kt
@@ -1,21 +1,13 @@
 package processing.app.ui.theme
 
 import androidx.compose.foundation.BorderStroke
-import androidx.compose.foundation.background
-import androidx.compose.foundation.border
-import androidx.compose.foundation.layout.Box
 import androidx.compose.foundation.layout.RowScope
-import androidx.compose.foundation.layout.padding
-import androidx.compose.foundation.shape.RoundedCornerShape
 import androidx.compose.material.Chip
-import androidx.compose.material.ChipColors
 import androidx.compose.material.ChipDefaults
 import androidx.compose.material.ExperimentalMaterialApi
 import androidx.compose.material.MaterialTheme.colors
 import androidx.compose.runtime.Composable
 import androidx.compose.ui.Modifier
-import androidx.compose.ui.draw.clip
-import androidx.compose.ui.graphics.Color
 import androidx.compose.ui.unit.dp
 
 @OptIn(ExperimentalMaterialApi::class)
@@ -27,10 +19,10 @@ fun PDEChip(
 ){
     Chip(
         onClick = onClick,
-        border = BorderStroke(1.dp, colors.onSurface.copy(alpha = 0.12f)),
+        border = BorderStroke(1.dp, colors.secondary),
         colors = ChipDefaults.chipColors(
-            backgroundColor = Color.Transparent,
-            contentColor = colors.onSurface
+            backgroundColor = colors.background,
+            contentColor = colors.primaryVariant
         ),
         leadingIcon = leadingIcon,
         modifier = Modifier,
diff --git a/app/src/processing/app/ui/theme/Colors.kt b/app/src/processing/app/ui/theme/Colors.kt
index 91e7d1e6b7..efa97d37cc 100644
--- a/app/src/processing/app/ui/theme/Colors.kt
+++ b/app/src/processing/app/ui/theme/Colors.kt
@@ -3,18 +3,31 @@ package processing.app.ui.theme
 import androidx.compose.material.Colors
 import androidx.compose.ui.graphics.Color
 
-//val Colors = Colors(
-//    primary = Color("#0F195A".toColorInt()),
-//    primaryVariant = theme.getColor("toolbar.button.pressed.field"),
-//    secondary = theme.getColor("editor.gradient.bottom"),
-//    secondaryVariant = theme.getColor("editor.scrollbar.thumb.pressed.color"),
-//    background = theme.getColor("editor.bgcolor"),
-//    surface = theme.getColor("editor.bgcolor"),
-//    error = theme.getColor("status.error.bgcolor"),
-//    onPrimary = theme.getColor("toolbar.button.enabled.field"),
-//    onSecondary = theme.getColor("toolbar.button.enabled.field"),
-//    onBackground = theme.getColor("editor.fgcolor"),
-//    onSurface = theme.getColor("editor.fgcolor"),
-//    onError = theme.getColor("status.error.fgcolor"),
-//    isLight = theme.getProperty("laf.mode").equals("light")
-//)
\ No newline at end of file
+val PDELightColors = Colors(
+    primary = Color("#0F195A".toColorInt()),
+    primaryVariant = Color("#1F34AB".toColorInt()),
+    secondary = Color("#82AFFF".toColorInt()),
+    secondaryVariant = Color("#0468FF".toColorInt()),
+    background = Color("#FFFFFF".toColorInt()),
+    surface = Color("#C0D7FF".toColorInt()),
+    error = Color("#0F195A".toColorInt()),
+    onPrimary = Color("#FFFFFF".toColorInt()),
+    onSecondary = Color("#FFFFFF".toColorInt()),
+    onBackground = Color("#0F195A".toColorInt()),
+    onSurface = Color("#FFFFFF".toColorInt()),
+    onError = Color("#0F195A".toColorInt()),
+    isLight = true,
+)
+
+fun String.toColorInt(): Int {
+    if (this[0] == '#') {
+        var color = substring(1).toLong(16)
+        if (length == 7) {
+            color = color or 0x00000000ff000000L
+        } else if (length != 9) {
+            throw IllegalArgumentException("Unknown color")
+        }
+        return color.toInt()
+    }
+    throw IllegalArgumentException("Unknown color")
+}
\ No newline at end of file
diff --git a/app/src/processing/app/ui/theme/Locale.kt b/app/src/processing/app/ui/theme/Locale.kt
index 6490c0eb90..1f0197d565 100644
--- a/app/src/processing/app/ui/theme/Locale.kt
+++ b/app/src/processing/app/ui/theme/Locale.kt
@@ -3,11 +3,7 @@ package processing.app.ui.theme
 import androidx.compose.runtime.*
 import androidx.compose.ui.platform.LocalLayoutDirection
 import androidx.compose.ui.unit.LayoutDirection
-import processing.app.LocalPreferences
-import processing.app.Messages
-import processing.app.Platform
-import processing.app.PlatformStart
-import processing.app.watchFile
+import processing.app.*
 import java.io.File
 import java.io.InputStream
 import java.util.*
@@ -53,6 +49,7 @@ fun LocaleProvider(content: @Composable () -> Unit) {
         java.util.Locale.setDefault(locale)
         languageFile.writeText(locale.language)
         code = locale.language
+        Language.reload()
     }
 
 
diff --git a/app/src/processing/app/ui/theme/Theme.kt b/app/src/processing/app/ui/theme/Theme.kt
index 82428db7f6..aee7abe00f 100644
--- a/app/src/processing/app/ui/theme/Theme.kt
+++ b/app/src/processing/app/ui/theme/Theme.kt
@@ -1,7 +1,6 @@
 package processing.app.ui.theme
 
 import androidx.compose.foundation.isSystemInDarkTheme
-import androidx.compose.material.Colors
 import androidx.compose.material.MaterialTheme
 import androidx.compose.runtime.Composable
 import androidx.compose.runtime.CompositionLocalProvider
@@ -33,43 +32,31 @@ fun ProcessingTheme(
     PreferencesProvider {
         val preferences = LocalPreferences.current
         val theme = Theme(preferences.getProperty("theme"))
-        val colors = Colors(
-            primary = theme.getColor("editor.gradient.top"),
-            primaryVariant = theme.getColor("toolbar.button.pressed.field"),
-            secondary = theme.getColor("editor.gradient.bottom"),
-            secondaryVariant = theme.getColor("editor.scrollbar.thumb.pressed.color"),
-            background = theme.getColor("editor.bgcolor"),
-            surface = theme.getColor("editor.bgcolor"),
-            error = theme.getColor("status.error.bgcolor"),
-            onPrimary = theme.getColor("toolbar.button.enabled.field"),
-            onSecondary = theme.getColor("toolbar.button.enabled.field"),
-            onBackground = theme.getColor("editor.fgcolor"),
-            onSurface = theme.getColor("editor.fgcolor"),
-            onError = theme.getColor("status.error.fgcolor"),
-            isLight = theme.getProperty("laf.mode").equals("light")
-        )
+//        val colors = Colors(
+//            primary = theme.getColor("editor.gradient.top"),
+//            primaryVariant = theme.getColor("toolbar.button.pressed.field"),
+//            secondary = theme.getColor("editor.gradient.bottom"),
+//            secondaryVariant = theme.getColor("editor.scrollbar.thumb.pressed.color"),
+//            background = theme.getColor("editor.bgcolor"),
+//            surface = theme.getColor("editor.bgcolor"),
+//            error = theme.getColor("status.error.bgcolor"),
+//            onPrimary = theme.getColor("toolbar.button.enabled.field"),
+//            onSecondary = theme.getColor("toolbar.button.enabled.field"),
+//            onBackground = theme.getColor("editor.fgcolor"),
+//            onSurface = theme.getColor("editor.fgcolor"),
+//            onError = theme.getColor("status.error.fgcolor"),
+//            isLight = theme.getProperty("laf.mode").equals("light")
+//        )
+
 
         CompositionLocalProvider(LocalTheme provides theme) {
             LocaleProvider {
                 MaterialTheme(
-                    colors = colors,
+                    colors = if(darkTheme) PDELightColors else PDELightColors,
                     typography = Typography,
                     content = content
                 )
             }
         }
     }
-}
-
-fun String.toColorInt(): Int {
-    if (this[0] == '#') {
-        var color = substring(1).toLong(16)
-        if (length == 7) {
-            color = color or 0x00000000ff000000L
-        } else if (length != 9) {
-            throw IllegalArgumentException("Unknown color")
-        }
-        return color.toInt()
-    }
-    throw IllegalArgumentException("Unknown color")
 }
\ No newline at end of file
diff --git a/app/src/processing/app/ui/theme/Window.kt b/app/src/processing/app/ui/theme/Window.kt
index 26b45d9563..8ad5532d1d 100644
--- a/app/src/processing/app/ui/theme/Window.kt
+++ b/app/src/processing/app/ui/theme/Window.kt
@@ -1,10 +1,10 @@
 package processing.app.ui.theme
 
 import androidx.compose.foundation.background
-import androidx.compose.foundation.layout.Box
-import androidx.compose.foundation.layout.padding
+import androidx.compose.foundation.layout.*
 import androidx.compose.material.MaterialTheme.colors
 import androidx.compose.material.Surface
+import androidx.compose.material.Text
 import androidx.compose.runtime.Composable
 import androidx.compose.ui.Alignment
 import androidx.compose.ui.Modifier
@@ -91,4 +91,33 @@ fun pdeapplication(titleKey: String = "", fullWindowContent: Boolean = false,con
             }
         }
     }
-}
\ No newline at end of file
+}
+
+
+fun main(){
+    application {
+        val windowState = rememberWindowState(
+            size = DpSize.Unspecified,
+            position = WindowPosition(Alignment.Center)
+        )
+        Window(onCloseRequest = ::exitApplication, title = "Welcome to Processing", state = windowState) {
+            Row{
+                Text("Hello, Processing!")
+                Column(
+                    modifier = Modifier
+//                        .wrapContentSize()
+                ) {
+                    Box(
+                        modifier = Modifier
+                            .background(Color.Red)
+                            .sizeIn(minHeight = 100.dp)
+                    ) {
+
+                    }
+                    Text("Hello, Processing!")
+                }
+            }
+
+        }
+    }
+}

From 3df4da94618ed66d9a2b48a601b0ce7bac9a2d4e Mon Sep 17 00:00:00 2001
From: Stef Tervelde <stef@steftervelde.nl>
Date: Sun, 9 Feb 2025 12:57:55 +0100
Subject: [PATCH 09/14] Welcome Screen: Bugfixes

---
 app/src/processing/app/Language.java          |  1 +
 app/src/processing/app/ui/Welcome.kt          | 22 ++++++++++-
 .../app/ui/components/LanuageSelector.kt      | 11 +++---
 .../app/ui/components/examples/Examples.kt    |  4 +-
 app/src/processing/app/ui/theme/Window.kt     | 38 +++++--------------
 5 files changed, 39 insertions(+), 37 deletions(-)

diff --git a/app/src/processing/app/Language.java b/app/src/processing/app/Language.java
index f0fdab8759..bcc4385a53 100644
--- a/app/src/processing/app/Language.java
+++ b/app/src/processing/app/Language.java
@@ -184,6 +184,7 @@ static public Language init() {
   }
 
   static public void reload(){
+    if(instance == null) return;
     synchronized (Language.class) {
       instance = new Language();
     }
diff --git a/app/src/processing/app/ui/Welcome.kt b/app/src/processing/app/ui/Welcome.kt
index 754c9e4fc6..98c8c2ed49 100644
--- a/app/src/processing/app/ui/Welcome.kt
+++ b/app/src/processing/app/ui/Welcome.kt
@@ -14,11 +14,14 @@ import androidx.compose.runtime.*
 import androidx.compose.ui.Alignment
 import androidx.compose.ui.Modifier
 import androidx.compose.ui.draw.clip
+import androidx.compose.ui.draw.scale
 import androidx.compose.ui.geometry.Offset
 import androidx.compose.ui.graphics.Brush
 import androidx.compose.ui.graphics.Color
 import androidx.compose.ui.graphics.ColorFilter
+import androidx.compose.ui.platform.LocalLayoutDirection
 import androidx.compose.ui.res.painterResource
+import androidx.compose.ui.unit.LayoutDirection
 import androidx.compose.ui.unit.dp
 import androidx.compose.ui.unit.min
 import com.formdev.flatlaf.util.SystemInfo
@@ -90,6 +93,10 @@ class Welcome @Throws(IOException::class) constructor(base: Base) {
                                 .height(200.dp)
                                 .offset (32.dp)
                                 .align(Alignment.BottomEnd)
+                                .scale(when(LocalLayoutDirection.current) {
+                                    LayoutDirection.Rtl -> -1f
+                                    else -> 1f
+                                }, 1f)
                         )
                     }
                 }
@@ -139,7 +146,12 @@ class Welcome @Throws(IOException::class) constructor(base: Base) {
                         painter = painterResource("welcome/intro/bubble.svg"),
                         contentDescription = locale["welcome.intro.long"],
                         modifier = Modifier
-                            .align{ _, space, _ -> space / 4 }
+                            .align(Alignment.Start)
+                            .scale(when(LocalLayoutDirection.current) {
+                                LayoutDirection.Rtl -> -1f
+                                else -> 1f
+                            }, 1f)
+                            .padding(start = 64.dp)
                     )
                     Row(
                         horizontalArrangement = Arrangement.SpaceBetween,
@@ -151,6 +163,10 @@ class Welcome @Throws(IOException::class) constructor(base: Base) {
                             contentDescription = locale["welcome.intro.long"],
                             modifier = Modifier
                                 .offset(x = -32.dp)
+                                .scale(when(LocalLayoutDirection.current) {
+                                    LayoutDirection.Rtl -> -1f
+                                    else -> 1f
+                                }, 1f)
                         )
                         Image(
                             painter = painterResource("welcome/intro/short.svg"),
@@ -158,6 +174,10 @@ class Welcome @Throws(IOException::class) constructor(base: Base) {
                             modifier = Modifier
                                 .align(Alignment.Bottom)
                                 .offset(x = 16.dp, y = -16.dp)
+                                .scale(when(LocalLayoutDirection.current) {
+                                    LayoutDirection.Rtl -> -1f
+                                    else -> 1f
+                                }, 1f)
                         )
                     }
                 }
diff --git a/app/src/processing/app/ui/components/LanuageSelector.kt b/app/src/processing/app/ui/components/LanuageSelector.kt
index 801f0f008b..5c42443fe4 100644
--- a/app/src/processing/app/ui/components/LanuageSelector.kt
+++ b/app/src/processing/app/ui/components/LanuageSelector.kt
@@ -21,6 +21,7 @@ import processing.app.ui.theme.LocalLocale
 import processing.app.ui.theme.PDEChip
 import processing.app.watchFile
 import java.io.File
+import java.nio.file.FileSystem
 import java.nio.file.FileSystems
 import java.nio.file.Files
 import java.nio.file.Paths
@@ -34,6 +35,8 @@ data class Language(
     val properties: Properties
 )
 
+var jarFs: FileSystem? = null
+
 @Composable
 fun LanguageChip(){
     var expanded by remember { mutableStateOf(false) }
@@ -44,9 +47,6 @@ fun LanguageChip(){
 
     val main = ClassLoader.getSystemResource("PDE.properties")?: return
 
-
-
-
     val languages = remember {
         val list = when(main.protocol){
             "file" -> {
@@ -55,8 +55,8 @@ fun LanguageChip(){
             }
             "jar" -> {
                 val uri = main.toURI()
-                val fs = FileSystems.newFileSystem(uri, emptyMap<String, Any>())
-                Files.list(fs.getPath("/"))
+                jarFs = jarFs ?: FileSystems.newFileSystem(uri, emptyMap<String, Any>()) ?: return@remember null
+                Files.list(jarFs!!.getPath("/"))
             }
             else -> null
         } ?: return@remember null
@@ -81,6 +81,7 @@ fun LanguageChip(){
                     )
                 }
             }
+            .sortedBy { it.name.lowercase() }
     } ?: return
 
     val current = languageFile.readText(Charsets.UTF_8).substring(0, 2)
diff --git a/app/src/processing/app/ui/components/examples/Examples.kt b/app/src/processing/app/ui/components/examples/Examples.kt
index 45455a2ca9..4c0a9045cb 100644
--- a/app/src/processing/app/ui/components/examples/Examples.kt
+++ b/app/src/processing/app/ui/components/examples/Examples.kt
@@ -135,7 +135,7 @@ fun examples(){
         randoms = randoms + List(4 - randoms.size) { Example(
             folder = Paths.get(""),
             library = Paths.get(""),
-            title = "Test",
+            title = "Example",
             image = ClassLoader.getSystemResource("default.png")?.toURI()?.let { Paths.get(it) } ?: Paths.get(""),
         ) }
     }
@@ -154,7 +154,7 @@ fun examples(){
         }
     }
 }
-@OptIn(ExperimentalComposeUiApi::class, ExperimentalResourceApi::class)
+@OptIn(ExperimentalResourceApi::class)
 @Composable
 fun Example(example: Example){
     val base = LocalBase.current
diff --git a/app/src/processing/app/ui/theme/Window.kt b/app/src/processing/app/ui/theme/Window.kt
index 8ad5532d1d..23b71ebada 100644
--- a/app/src/processing/app/ui/theme/Window.kt
+++ b/app/src/processing/app/ui/theme/Window.kt
@@ -6,6 +6,7 @@ import androidx.compose.material.MaterialTheme.colors
 import androidx.compose.material.Surface
 import androidx.compose.material.Text
 import androidx.compose.runtime.Composable
+import androidx.compose.runtime.LaunchedEffect
 import androidx.compose.ui.Alignment
 import androidx.compose.ui.Modifier
 import androidx.compose.ui.awt.ComposePanel
@@ -41,6 +42,10 @@ class PDEWindow(titleKey: String = "", fullWindowContent: Boolean = false, conte
                 ProcessingTheme {
                     val locale = LocalLocale.current
                     this@PDEWindow.title = locale[titleKey]
+                    LaunchedEffect(locale){
+                        this@PDEWindow.pack()
+                        this@PDEWindow.setLocationRelativeTo(null)
+                    }
 
                     Box(modifier = Modifier
                         .padding(top = if (mac && !fullWindowContent) 22.dp else 0.dp)
@@ -81,6 +86,10 @@ fun pdeapplication(titleKey: String = "", fullWindowContent: Boolean = false,con
                     putClientProperty("apple.awt.fullWindowContent", mac)
                     putClientProperty("apple.awt.transparentTitleBar", mac)
                 }
+                LaunchedEffect(locale){
+                    window.pack()
+                    window.setLocationRelativeTo(null)
+                }
                 Surface(color = colors.background) {
                     Box(modifier = Modifier
                         .padding(top = if (mac && !fullWindowContent) 22.dp else 0.dp)
@@ -92,32 +101,3 @@ fun pdeapplication(titleKey: String = "", fullWindowContent: Boolean = false,con
         }
     }
 }
-
-
-fun main(){
-    application {
-        val windowState = rememberWindowState(
-            size = DpSize.Unspecified,
-            position = WindowPosition(Alignment.Center)
-        )
-        Window(onCloseRequest = ::exitApplication, title = "Welcome to Processing", state = windowState) {
-            Row{
-                Text("Hello, Processing!")
-                Column(
-                    modifier = Modifier
-//                        .wrapContentSize()
-                ) {
-                    Box(
-                        modifier = Modifier
-                            .background(Color.Red)
-                            .sizeIn(minHeight = 100.dp)
-                    ) {
-
-                    }
-                    Text("Hello, Processing!")
-                }
-            }
-
-        }
-    }
-}

From 8d8bd01d806257367b1a006f0da23b926b8f8ae3 Mon Sep 17 00:00:00 2001
From: Stef Tervelde <stef@steftervelde.nl>
Date: Sun, 9 Feb 2025 13:54:07 +0100
Subject: [PATCH 10/14] Welcome Screen: Close Functionality

---
 app/src/processing/app/ui/Welcome.kt       |  5 ++-
 app/src/processing/app/ui/WelcomeToBeta.kt |  5 ++-
 app/src/processing/app/ui/theme/Window.kt  | 47 ++++++++++++----------
 3 files changed, 32 insertions(+), 25 deletions(-)

diff --git a/app/src/processing/app/ui/Welcome.kt b/app/src/processing/app/ui/Welcome.kt
index 98c8c2ed49..492410b881 100644
--- a/app/src/processing/app/ui/Welcome.kt
+++ b/app/src/processing/app/ui/Welcome.kt
@@ -250,7 +250,10 @@ class Welcome @Throws(IOException::class) constructor(base: Base) {
                         text = locale["welcome.action.startup"],
                     )
                 }
-                PDEButton(onClick = { println("Open") }) {
+                val window = LocalWindow.current
+                PDEButton(onClick = {
+                    window.dispose()
+                }) {
                     Text(
                         text = locale["welcome.action.go"],
                         modifier = Modifier
diff --git a/app/src/processing/app/ui/WelcomeToBeta.kt b/app/src/processing/app/ui/WelcomeToBeta.kt
index ac8302fb81..8f50ef6f8e 100644
--- a/app/src/processing/app/ui/WelcomeToBeta.kt
+++ b/app/src/processing/app/ui/WelcomeToBeta.kt
@@ -54,7 +54,7 @@ class WelcomeToBeta {
         }
 
         @Composable
-        fun welcomeToBeta(close: () -> Unit = {}) {
+        fun welcomeToBeta() {
             Row(
                 modifier = Modifier
                     .padding(20.dp, 10.dp)
@@ -87,9 +87,10 @@ class WelcomeToBeta {
                         text = locale["beta.message"]
                     )
                     Row {
+                        val window = LocalWindow.current
                         Spacer(modifier = Modifier.weight(1f))
                         PDEButton(onClick = {
-                            close()
+                            window.dispose()
                         }) {
                             Text(
                                 text = locale["beta.button"],
diff --git a/app/src/processing/app/ui/theme/Window.kt b/app/src/processing/app/ui/theme/Window.kt
index 23b71ebada..0cb419332c 100644
--- a/app/src/processing/app/ui/theme/Window.kt
+++ b/app/src/processing/app/ui/theme/Window.kt
@@ -1,18 +1,15 @@
 package processing.app.ui.theme
 
-import androidx.compose.foundation.background
 import androidx.compose.foundation.layout.*
 import androidx.compose.material.MaterialTheme.colors
 import androidx.compose.material.Surface
-import androidx.compose.material.Text
 import androidx.compose.runtime.Composable
+import androidx.compose.runtime.CompositionLocalProvider
 import androidx.compose.runtime.LaunchedEffect
+import androidx.compose.runtime.compositionLocalOf
 import androidx.compose.ui.Alignment
 import androidx.compose.ui.Modifier
 import androidx.compose.ui.awt.ComposePanel
-import androidx.compose.ui.geometry.Offset
-import androidx.compose.ui.graphics.Brush
-import androidx.compose.ui.graphics.Color
 import androidx.compose.ui.unit.DpSize
 import androidx.compose.ui.unit.dp
 import androidx.compose.ui.window.Window
@@ -20,12 +17,12 @@ import androidx.compose.ui.window.WindowPosition
 import androidx.compose.ui.window.application
 import androidx.compose.ui.window.rememberWindowState
 import com.formdev.flatlaf.util.SystemInfo
-import processing.app.ui.WelcomeToBeta.Companion.welcomeToBeta
 
 import java.awt.event.KeyAdapter
 import java.awt.event.KeyEvent
 import javax.swing.JFrame
 
+val LocalWindow = compositionLocalOf<JFrame> { error("No Window Set") }
 
 class PDEWindow(titleKey: String = "", fullWindowContent: Boolean = false, content: @Composable () -> Unit): JFrame(){
     init{
@@ -39,19 +36,22 @@ class PDEWindow(titleKey: String = "", fullWindowContent: Boolean = false, conte
         defaultCloseOperation = DISPOSE_ON_CLOSE
         ComposePanel().apply {
             setContent {
-                ProcessingTheme {
-                    val locale = LocalLocale.current
-                    this@PDEWindow.title = locale[titleKey]
-                    LaunchedEffect(locale){
-                        this@PDEWindow.pack()
-                        this@PDEWindow.setLocationRelativeTo(null)
-                    }
+                CompositionLocalProvider(LocalWindow provides this@PDEWindow) {
+                    ProcessingTheme {
+                        val locale = LocalLocale.current
+                        this@PDEWindow.title = locale[titleKey]
+                        LaunchedEffect(locale) {
+                            this@PDEWindow.pack()
+                            this@PDEWindow.setLocationRelativeTo(null)
+                        }
 
-                    Box(modifier = Modifier
-                        .padding(top = if (mac && !fullWindowContent) 22.dp else 0.dp)
-                    ) {
-                        content()
+                        Box(
+                            modifier = Modifier
+                                .padding(top = if (mac && !fullWindowContent) 22.dp else 0.dp)
+                        ) {
+                            content()
 
+                        }
                     }
                 }
             }
@@ -90,11 +90,14 @@ fun pdeapplication(titleKey: String = "", fullWindowContent: Boolean = false,con
                     window.pack()
                     window.setLocationRelativeTo(null)
                 }
-                Surface(color = colors.background) {
-                    Box(modifier = Modifier
-                        .padding(top = if (mac && !fullWindowContent) 22.dp else 0.dp)
-                    ) {
-                        content()
+                CompositionLocalProvider(LocalWindow provides window) {
+                    Surface(color = colors.background) {
+                        Box(
+                            modifier = Modifier
+                                .padding(top = if (mac && !fullWindowContent) 22.dp else 0.dp)
+                        ) {
+                            content()
+                        }
                     }
                 }
             }

From 54944afc24a1058bf6fcc5a9899bfdeaa1283229 Mon Sep 17 00:00:00 2001
From: Stef Tervelde <stef@steftervelde.nl>
Date: Sun, 9 Feb 2025 14:36:37 +0100
Subject: [PATCH 11/14] Welcome Screen: JDK Module

---
 app/build.gradle.kts | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/app/build.gradle.kts b/app/build.gradle.kts
index bfcb65cc07..297892512c 100644
--- a/app/build.gradle.kts
+++ b/app/build.gradle.kts
@@ -50,7 +50,7 @@ compose.desktop {
         mainClass = "processing.app.ui.Start"
 
         nativeDistributions{
-            modules("jdk.jdi", "java.compiler")
+            modules("jdk.jdi", "java.compiler", "jdk.zipfs")
             targetFormats(TargetFormat.Dmg, TargetFormat.Msi, TargetFormat.Deb)
             packageName = "Processing"
             packageVersion = rootProject.version.toString()

From b0e7f96bddafc1a40c59d47cd81ef9919632ce84 Mon Sep 17 00:00:00 2001
From: Stef Tervelde <stef@steftervelde.nl>
Date: Mon, 17 Mar 2025 10:28:12 +0100
Subject: [PATCH 12/14] Added initial tests

---
 app/build.gradle.kts                         |  4 +++
 app/src/processing/app/Preferences.kt        |  6 +++-
 app/test/processing/app/PreferencesKtTest.kt | 34 ++++++++++++++++++++
 3 files changed, 43 insertions(+), 1 deletion(-)
 create mode 100644 app/test/processing/app/PreferencesKtTest.kt

diff --git a/app/build.gradle.kts b/app/build.gradle.kts
index fb060234b2..fe2ab72499 100644
--- a/app/build.gradle.kts
+++ b/app/build.gradle.kts
@@ -1,5 +1,6 @@
 import org.gradle.kotlin.dsl.support.zipTo
 import org.gradle.nativeplatform.platform.internal.DefaultNativePlatform
+import org.jetbrains.compose.ExperimentalComposeLibrary
 import org.jetbrains.compose.desktop.application.dsl.TargetFormat
 import org.jetbrains.compose.desktop.application.tasks.AbstractJPackageTask
 import org.jetbrains.compose.internal.de.undercouch.gradle.tasks.download.Download
@@ -121,6 +122,9 @@ dependencies {
     testImplementation(libs.mockitoKotlin)
     testImplementation(libs.junitJupiter)
     testImplementation(libs.junitJupiterParams)
+
+    @OptIn(ExperimentalComposeLibrary::class)
+    testImplementation(compose.uiTest)
 }
 
 tasks.test {
diff --git a/app/src/processing/app/Preferences.kt b/app/src/processing/app/Preferences.kt
index 5c0751d87a..8a9dc0f7d6 100644
--- a/app/src/processing/app/Preferences.kt
+++ b/app/src/processing/app/Preferences.kt
@@ -32,6 +32,10 @@ class ReactiveProperties: Properties() {
     }
 
     operator fun get(key: String): String? = getProperty(key)
+
+    operator fun set(key: String, value: String) {
+        setProperty(key, value)
+    }
 }
 val LocalPreferences = compositionLocalOf<ReactiveProperties> { error("No preferences provided") }
 @OptIn(FlowPreview::class)
@@ -53,7 +57,7 @@ fun PreferencesProvider(content: @Composable () -> Unit){
     LaunchedEffect(properties) {
         snapshotFlow { properties._stateMap.toMap() }
             .dropWhile { it == initialState }
-            .debounce(1000)
+            .debounce(100)
             .collect {
                 preferencesFile.outputStream().use { output ->
                     output.write(
diff --git a/app/test/processing/app/PreferencesKtTest.kt b/app/test/processing/app/PreferencesKtTest.kt
new file mode 100644
index 0000000000..f38796668e
--- /dev/null
+++ b/app/test/processing/app/PreferencesKtTest.kt
@@ -0,0 +1,34 @@
+package processing.app
+
+import androidx.compose.material.Button
+import androidx.compose.material.Text
+import androidx.compose.ui.Modifier
+import androidx.compose.ui.platform.testTag
+import androidx.compose.ui.test.*
+import kotlin.test.Test
+
+class PreferencesKtTest{
+    @OptIn(ExperimentalTestApi::class)
+    @Test
+    fun testKeyReactivity() = runComposeUiTest {
+        val newValue = (0..Int.MAX_VALUE).random().toString()
+        val testKey = "test.preferences.reactivity.$newValue"
+        setContent {
+            PreferencesProvider {
+                val preferences = LocalPreferences.current
+                Text(preferences[testKey] ?: "default", modifier = Modifier.testTag("text"))
+
+                Button(onClick = {
+                    preferences[testKey] = newValue
+                }, modifier = Modifier.testTag("button")) {
+                    Text("Change")
+                }
+            }
+        }
+
+        onNodeWithTag("text").assertTextEquals("default")
+        onNodeWithTag("button").performClick()
+        onNodeWithTag("text").assertTextEquals(newValue)
+    }
+
+}
\ No newline at end of file

From d17ca0cdcda2080cf458c0352fc89e80ef4f57a7 Mon Sep 17 00:00:00 2001
From: Stef Tervelde <stef@steftervelde.nl>
Date: Mon, 17 Mar 2025 10:36:35 +0100
Subject: [PATCH 13/14] Removed PlatformStart and create new file if doesn't
 exist

---
 app/src/processing/app/Preferences.kt     | 10 ++++++----
 app/src/processing/app/ui/theme/Locale.kt |  4 +++-
 2 files changed, 9 insertions(+), 5 deletions(-)

diff --git a/app/src/processing/app/Preferences.kt b/app/src/processing/app/Preferences.kt
index 8a9dc0f7d6..7bfadcd733 100644
--- a/app/src/processing/app/Preferences.kt
+++ b/app/src/processing/app/Preferences.kt
@@ -16,9 +16,6 @@ import java.util.Properties
 const val PREFERENCES_FILE_NAME = "preferences.txt"
 const val DEFAULTS_FILE_NAME = "defaults.txt"
 
-fun PlatformStart(){
-    Platform.inst ?: Platform.init()
-}
 class ReactiveProperties: Properties() {
     val _stateMap = mutableStateMapOf<String, String>()
 
@@ -41,10 +38,15 @@ val LocalPreferences = compositionLocalOf<ReactiveProperties> { error("No prefer
 @OptIn(FlowPreview::class)
 @Composable
 fun PreferencesProvider(content: @Composable () -> Unit){
-    PlatformStart()
+    remember {
+        Platform.init()
+    }
 
     val settingsFolder = Platform.getSettingsFolder()
     val preferencesFile = settingsFolder.resolve(PREFERENCES_FILE_NAME)
+    if(!preferencesFile.exists()){
+        preferencesFile.createNewFile()
+    }
 
     val update = watchFile(preferencesFile)
     val properties = remember(preferencesFile, update) { ReactiveProperties().apply {
diff --git a/app/src/processing/app/ui/theme/Locale.kt b/app/src/processing/app/ui/theme/Locale.kt
index 1f0197d565..a4fd9eecfc 100644
--- a/app/src/processing/app/ui/theme/Locale.kt
+++ b/app/src/processing/app/ui/theme/Locale.kt
@@ -38,7 +38,9 @@ class Locale(language: String = "", val setLocale: (java.util.Locale) -> Unit) :
 val LocalLocale = compositionLocalOf<Locale> { error("No Locale Set") }
 @Composable
 fun LocaleProvider(content: @Composable () -> Unit) {
-    PlatformStart()
+    remember {
+        Platform.init()
+    }
 
     val settingsFolder = Platform.getSettingsFolder()
     val languageFile = File(settingsFolder, "language.txt")

From f7f22c5f7ce8434a058d3cc5411f541777cc637e Mon Sep 17 00:00:00 2001
From: Stef Tervelde <stef@steftervelde.nl>
Date: Mon, 17 Mar 2025 10:40:37 +0100
Subject: [PATCH 14/14] Create Directory as well

---
 app/src/processing/app/Preferences.kt | 1 +
 1 file changed, 1 insertion(+)

diff --git a/app/src/processing/app/Preferences.kt b/app/src/processing/app/Preferences.kt
index 7bfadcd733..a31cef2bbe 100644
--- a/app/src/processing/app/Preferences.kt
+++ b/app/src/processing/app/Preferences.kt
@@ -45,6 +45,7 @@ fun PreferencesProvider(content: @Composable () -> Unit){
     val settingsFolder = Platform.getSettingsFolder()
     val preferencesFile = settingsFolder.resolve(PREFERENCES_FILE_NAME)
     if(!preferencesFile.exists()){
+        preferencesFile.mkdirs()
         preferencesFile.createNewFile()
     }