!DlltQISlgRGacjtFQD:matrix.org

Relm4

213 Members
Build truly native applications with ease!39 Servers

Load older messages


SenderMessageTime
29 Mar 2024
@xionbox:matrix.orgxionbox joined the room.02:06:05
@xionbox:matrix.orgxionboxHi there. I'm brand new to GUI development (I'm mostly a high fidelity simulation software engineer and quite proficient in Rust). Would Relm be able to be a good visualization tool for a 3D globe? I'm looking to build something to visualize spacecraft trajectories02:07:34
@chfkch:matrix.orgchfkch
In reply to @xionbox:matrix.org
Hi there. I'm brand new to GUI development (I'm mostly a high fidelity simulation software engineer and quite proficient in Rust). Would Relm be able to be a good visualization tool for a 3D globe? I'm looking to build something to visualize spacecraft trajectories
I think you might want to look at something like bevy engine for that.
07:13:14
1 Apr 2024
@chfkch:matrix.orgchfkch Do `SimpleAsyncComponents` notĀ have a `self` available in the `view!` macro?
I struggle to move data out of this piece of code here https://codeberg.org/Chfkch/bitritter/src/commit/5e239e7e10a8c3d9f0daa9a75db4622d97d1c2c4/src/main.rs#L691

Also i think i got a workaround for things that can implement `Copy` by moving it into the `connect_clicked`, but i have Strings there mostly. What is the preferred approach here? Lifetime &str?
14:08:13
@chfkch:matrix.orgchfkchSeems there is a markdown problem when posting on my phone, sorry.14:18:52
@aaron:matrix.aaron-erhardt.deAaron Erhardt

Components generally don't have self available in view!, but you have to use the name of your model. That can't be changed either because in init() both the model and the widgets are initialized, so you don't have self there yet.

17:46:23
@chfkch:matrix.orgchfkch
In reply to @aaron:matrix.aaron-erhardt.de

Components generally don't have self available in view!, but you have to use the name of your model. That can't be changed either because in init() both the model and the widgets are initialized, so you don't have self there yet.

Ah, makes sense. I had only worked with factories until somedays and those have it šŸ˜
18:17:57
@chfkch:matrix.orgchfkch I think my problem about moving/cloning the string is more of a rust issue than relm. 18:19:27
5 Apr 2024
@chfkch:matrix.orgchfkch @Aaron Erhardt I have seen that libadwaita has introduced adw::Dialog recently. IsĀ that planned to be adapted in relm soon? Or should i use gtk::Dialog for now? 16:19:16
@chfkch:matrix.orgchfkch Btw is there an chance to provide help to the project by donations or work? 16:31:09
@airstrike:private.coffeeAndy joined the room.16:52:23
@airstrike:private.coffeeAndyhello. this is day 1 of relm, gtk-rs and gtk. I'm going to work on a cross-platform desktop app. should I use libadwaita at all? should I care one way or another?17:19:44
@airstrike:private.coffeeAndy
In reply to @xionbox:matrix.org
Hi there. I'm brand new to GUI development (I'm mostly a high fidelity simulation software engineer and quite proficient in Rust). Would Relm be able to be a good visualization tool for a 3D globe? I'm looking to build something to visualize spacecraft trajectories
I think these guys https://www.fslabs.ca/ use bevy + egui, for what it's worth
17:22:07
@aaron:matrix.aaron-erhardt.deAaron Erhardt
In reply to @airstrike:private.coffee
hello. this is day 1 of relm, gtk-rs and gtk. I'm going to work on a cross-platform desktop app. should I use libadwaita at all? should I care one way or another?
GTK works on all major Desktop OS platforms, but shipping binaries for Windows is not simple. I think Libadwaita supports the same platforms, but might make the build process even more complicated on non-Linux platforms.
22:11:37
@aaron:matrix.aaron-erhardt.deAaron Erhardt
In reply to @chfkch:matrix.org
@Aaron Erhardt I have seen that libadwaita has introduced adw::Dialog recently. IsĀ that planned to be adapted in relm soon? Or should i use gtk::Dialog for now?
Relm4 doesn't force usage of Libadwaita, so gtk::Dialog will always be supported. If you want, you can help by improving support for adw::Dialog.
22:14:30
@airstrike:private.coffeeAndy
In reply to @aaron:matrix.aaron-erhardt.de
GTK works on all major Desktop OS platforms, but shipping binaries for Windows is not simple. I think Libadwaita supports the same platforms, but might make the build process even more complicated on non-Linux platforms.
thanks. I'm struggling to find the right "stack" for building a cross-platform Rust GUI application that is as fast as humanly possible. I was going down the Tauri route first, but I don't find it very ergonomic overall and a bit of a Frankenstein monster... it didn't feel as snappy as I wanted it to either. think I might try iced next, then
22:20:52
@aaron:matrix.aaron-erhardt.deAaron ErhardtPure Rust GUI frameworks are great for speed indeed. GTK still is much more complete though, so I recommend checking whether Iced or similar libraries cover your use-case. That can safe you a lot of time (in my own experience).22:26:00
6 Apr 2024
@chfkch:matrix.orgchfkch
In reply to @aaron:matrix.aaron-erhardt.de
Relm4 doesn't force usage of Libadwaita, so gtk::Dialog will always be supported. If you want, you can help by improving support for adw::Dialog.
Usually stuff is implemented in relm when it is in gtk-rs right? so i don't have to read C code, becauseĀ i am a noob at that. Have to check if that is true for adwaita aswell. Guess i will have a closer look at relm sources then haha.
19:38:11
7 Apr 2024
@aaron:matrix.aaron-erhardt.deAaron ErhardtYes, everything in Relm4 uses gtk-rs and except for the component and factory runtimes the code is usually quite simple.06:00:40
@chfkch:matrix.orgchfkch Ok so do i understand correctly that relm does not provide things like gtk::Label etc. itself but only reexports them? So in case of adw::Dialog i have to first get it upstream here? https://gitlab.gnome.org/World/Rust/libadwaita-rs 07:01:38
@aaron:matrix.aaron-erhardt.deAaron Erhardt Yes, the entire gtk4 crate is re-exported and even the view macro mostly uses "vanilla" gtk-rs methods with a tiny bit of extension traits. The C bindings for GTK and Libadwaita on the other hand are mostly auto-generated with some manual code on top, so you should not have to add adw::Dialog yourself. I think the type already exists in libadwaita-rs on git. The only change needed for Relm4 is to pull the dependencies from git then to unlock the new features. 17:41:52
8 Apr 2024
@chfkch:matrix.orgchfkch Ok i have no idea how that works.
Meanwhile i have implemented a gtk::Dialog in my app, but i found itĀ irritating that the examples have a button controller which is a dialog controller basically. i have just implemented the dialog controller in my app model and it looks easier. Am i missing something here? I can push the code later this day for reference.
09:54:57
@chfkch:matrix.orgchfkch Otherwise it is working as expected (even a warning about the transient stuff is gone), when omitting the extra button component. 09:55:47
@aaron:matrix.aaron-erhardt.deAaron ErhardtSure. Honestly, I don't quite understand what you need exactly, so maybe the code would help me understand your use-case.11:03:10
@quarc:not-a.computerQuARC joined the room.22:15:57
@quarc:not-a.computerQuARC(my homeserver may be extremely slow, apologies in advance) so I want to use TypedColumnView and I took a look at examples/typed_column_view.rs in the repo I see that Label1Column, Label2Column and ButtonColumn are all separate struct but let's say I want to reuse Label1Column for multiple columns, is that possible Like can I have another Label1Column that shows a different value without writing a whole new struct|22:24:13
@quarc:not-a.computerQuARC

I wanna do something like this

Thing | Group 1 | Group 2 | Group 3
    A |       1 |       2 |       3
    B |       4 |       5 |       6
    C |       7 |       8 |       9

where I'll have an unknown number of groups and... some data structure to make it work-

22:27:06
@quarc:not-a.computerQuARC *

I wanna do something like this

Thing | Group 1 | Group 2 | Group 3
    A |       1 |       2 |       3
    B |       4 |       5 |       6
    C |       7 |       8 |       9

where I'll have an unknown number of groups and... some data structure to make it work

22:27:10
@quarc:not-a.computerQuARC *

I wanna do something like this

Thing | Group 1 | Group 2 | Group 3
    A |       1 |       2 |       3
    B |       4 |       5 |       6
    C |       7 |       8 |       9

where I'll have an unknown number of things and groups and... some data structure to make it work

22:27:36
@quarc:not-a.computerQuARC I guess I could do it manually with factories or something, but that seems annoying 22:28:18

Show newer messages


Back to Room ListRoom Version: 6