I'm discovering #Relm4, a GUI libray for #GTK4 in #Rust which uses the MVU/TEA/Realm architecture. If I need/ever get the urge to create a GTK application, this would be perfect for me.

https://relm4.org/

Relm4

Since i got back into BitRitter development, i had some success in getting Fluent translations up and running. This is something that will stay, sorry gettext etc.
But a bigger achievement was something i did not understand when designing the architecture: RBW provides a daemon that can do the heavy lifting for me and not decryption etc. needed on my end. I misread some stuff about this since i was just a rookie. Big rewrite incoming.
#BitRitter #RBW #Relm4 #RustLang #BitWarden #VaultWarden

Since adw::EntryRow does not implement String bindings or similar and i can not (or don't want to, for Relm4 reasons) use get/set methods, is there another approach?

#LibAdwaita #GTK #Relm4 #Rust

Overall though, I think #relm4 and #gtk4 make it relatively easy to build apps. I don't think it's anywhere at the level of convenience of SwiftUI or AppKit.

Maybe someone that knows #qt can chime in on how it's better / worse there?

It's interesting to compare #relm4 vs #swiftui, as I've spent more time building the same app with both.

I like how relm4 constraints state management, it makes it easier for apps to stay well structured as they grow.

Gtk4 is frustrating to work with though. I miss the flexibility that SwiftUI and AppKit give you in how to build UI. You think apple is UI-prescriptive? wait until you meet #adwaita

I really need to learn #GTK app development. GUI dev stuff outside the browser always ends up frustrating me.

#Rust people, what are your thoughts on using #Relm4 vs. the regular gtk & libadwaita crates? How is support for #Blueprint? Last I used it, I dont think the blueprint LSP was built yet, so it was pretty tedious because I use #Helix and not #GNOME #Builder.

i've been using relm4 for a while and i'm really happy with it. i love the #elm architecture - your app's state is a struct (or object), your user interface is rendered by a function that takes your state and returns a tree of widgets (or similar), widgets emit messages, messages modify state. i find it so much cleaner and easier to wrap my head around than traditional imperative methods or MVVM.

what are some other nice cross-platform #desktop app frameworks that use this architecture? i'm mainly familiar with #relm4 and #iced in #rust 

#programming #gui #linux

Relm4

📢 An update for Exercise Timer was released today! With a number of visual improvements that I hope to pave the road for GNOME Circle adoption.

Additionally, translations for Tamil, Portuguese and Estonian has been added by the members of the community.

The new version is available on Flathub!

#gnome #gnomecircle #relm4 #fitness #linuxapps #libadwaita #exercisetimer

Question about #Phosh and OSK:
I have a #Relm4 (GTK4+adwaita) application. I recently migrated from gtk::Dialog to adw::Dialog and now i have the following behavior:
I open the app and open a dialog, which itself renders for about 45% of my screen height, with the Confirm button being at around 20% of the screen height. If i pop up the OSK, the dialog gets moved 5% upwards and the Confirm button is now covered by the OSK.
The app itself is not resized (for example GNOME software is).
1/2
@n1 did you try #relm4? It is GTK but idiomatic