Design system Yaru
Widgets et thèmes Ubuntu Yaru pour Compose Multiplatform, avec YaruDecoratedWindow basé sur Nucleus.
yaru-compose-ui porte
yaru.dart vers Compose Multiplatform : 50+ widgets,
variantes d'accent, thèmes clair/sombre/contraste élevé, et une YaruDecoratedWindow style
GNOME sur Nucleus Tao. Versionné indépendamment de Nucleus (release courante 1.0.1).
Galerie live : nucleusframework.github.io/yaru-compose-ui.
Ajouter la dépendance
Design system seul (sans fenêtrage natif) :
dependencies {
implementation("dev.nucleusframework.yarucompose:yaru:1.0.1")
}Fenêtre desktop (tire yaru + Nucleus Tao en transitif) :
dependencies {
implementation("dev.nucleusframework.yarucompose:yaru-decorated-window:1.0.1")
}Ouvrir une fenêtre Yaru
import dev.nucleusframework.application.nucleusApplication
import dev.nucleusframework.yarucompose.themes.YaruTheme
import dev.nucleusframework.yarucompose.themes.YaruVariant
import dev.nucleusframework.yarucompose.window.YaruDecoratedWindow
fun main() = nucleusApplication {
YaruDecoratedWindow(onCloseRequest = ::exitApplication, title = "Paramètres") {
YaruTheme(isDark = false, variant = YaruVariant.Orange) {
App()
}
}
}YaruTheme doit être dans le contenu de la fenêtre pour que le chrome suive le schéma de
couleurs et le sens de mise en page.
Fonctionnement
yaru est purement design et parle au fenêtrage via des composition locals optionnels.
yaru-decorated-window remplit ces contrats avec Nucleus et livre les binaires natifs.