This is so refreshing… Documentation, code snippets and advice online, nothing compares to watching someone build something live. I’ve seriously been searching for this exactly topic. 🤦♂️ thank you!!
@creativcoder2 жыл бұрын
Hey glad you found this helpful!
@jamesb15592 жыл бұрын
This is an excellent tutorial on gui design in Rust and a welcome tutorial on egui.
@metasim2 жыл бұрын
Your teaching style and editing skills are fantastic! Thank you for sharing your expertise!
@paulmarkert59072 жыл бұрын
Thanks for posting this multi-part series. I am enjoying working through the lessons. One note, the egui crate has versioned up. Some of the equi-related functions used in your code are now deprecated or replaced.
@creativcoder2 жыл бұрын
Yes, planning for a follow up video where we go through the fixes
@peterthecoderd.1210 Жыл бұрын
Sorry. I have really tried to follow this tutorial as I'd really like to learn. You go through things too fast, beginning with having the implementation fill in automatically at 7:00. I could not get this to work. I paused the playback and tried to enter in the function manually, but all I get is errors. I'm not new to programming, just new to Rust. Right now it seems impossible to learn from your examples.
@creativcoder Жыл бұрын
For errors: Maybe your egui, version might be an upgraded one than the one in the video. For the pace: It you notice the video description it's shot as an "overview video". I'll try to slow down in future videos. Thank you for the feedback.
@cthutu2 жыл бұрын
ImGUI is pronounced IM-Gooey, not Image UI. It's an acronym for Immediate Mode Graphic User Interface.
@theeagleseye49893 жыл бұрын
Great tutorial.. watched a lot of times.. waiting for the next continuation video ..
@overshifted2 жыл бұрын
Great video, but I would like to mention that the Imgui library, is actually called "Dear Imgui" and is pronounced "Dear I'm GUI"
@luizneri2 жыл бұрын
I'm following this tut, and it seems that ScrollArea::auto_sized() is no more. I got same result with ScrollArea::vertical().auto_shrink([false, false]).show(...)
@creativcoder2 жыл бұрын
Hey thanks, I have a new video coming up soon, where we will refactor and update the app to use the most recent egui release. Stay tuned :)
@michaelheisler85012 жыл бұрын
@@creativcoder Hey, I had the same issue and on top the "family_and_size" does not exist anymore. Font sizing and styling has to be done completely different now. I tried to implement the approach from the egui font styling example. Now it looks like this: fn configure_fonts(&self, ctx: &Context){ use FontFamily:: Proportional; let mut font_def = FontDefinitions::default(); font_def.font_data .insert("MesloGS".to_owned(), FontData::from_static(include_bytes!("../../MesloLGS_NF_Regular.ttf"))); font_def.families.get_mut(&FontFamily::Proportional).unwrap() .insert(0, "MesloGS".to_owned()); ctx.set_fonts(font_def); let mut style = (*ctx.style()).clone(); style.text_styles = [ (TextStyle::Heading, FontId::new(35., Proportional)), (TextStyle::Body, FontId::new(20.0, Proportional)), ] .into(); ctx.set_style(style); } This works, but "with_layout" renders the first card always to grab the remaining size of the window. Even when interactively changing the size of the window. The others are rendered as expected.
@codesurge68382 жыл бұрын
This is more than just Rust GUI tutorial. Thanks for sharing.
@devfagundes Жыл бұрын
Not even one single code that I get from tutorials in Rust works. So impressive
@xXYourShadowDaniXxАй бұрын
Skill Issue
@devfagundesАй бұрын
@@xXYourShadowDaniXx totally haha
@brunob.7792 Жыл бұрын
Google pitchfork will put an end in all this suffering very soon
@saaddahmani18702 жыл бұрын
So great, ... continue please .....
@creativcoder2 жыл бұрын
Hey thank you, part B just dropped!
@princeofexcess Жыл бұрын
is there a way to set opacity of 50% on the whole window in iced? transparency setting is not doing anything for me.
@saathwik_dasari13 жыл бұрын
Thanks!
@samansamani44772 жыл бұрын
I just wonder is it possible to create a custom titlebar for it? the default windows one is so big...
@creativcoder2 жыл бұрын
It is, you need to set window decorations off from NativeOptions and then make a custom top header with buttons that ties to system close, minimize events
@samansamani44772 жыл бұрын
@@creativcoder thank you for answer, but then how handle windows movement? can we still hook system movement to new created titlebar?
@spinthma2 жыл бұрын
Very. NIce, by the way which kind of font do you use in vscode? Very clean and readable.
@buhaytza2005 Жыл бұрын
Thanks
@ajinkyax6 ай бұрын
Subscribed. even your website has some great articles. Good one
@creativcoder6 ай бұрын
Thank you :) It means a lot.
@aeases-2 жыл бұрын
just out of curiosity what is the settings/extension/theme your using for the dock in gnome?
@filmo2 жыл бұрын
Question: Why is 'render_top_panel()' placed into 'impl Headlines' but the helper functions 'render_footer' and 'render_header' are not?
@creativcoder Жыл бұрын
Good catch, there isn't any reason, I might have missed refactoring it while shooting the video. Will make changes
@Zooiest Жыл бұрын
What cursor pack do you use?
@VAcharya2 жыл бұрын
How can I follow this tutorial on windows machine ?
@spinthma2 жыл бұрын
and also the immediate compile and the output on the terminal, which plugin do you use?
@josbexerra81152 жыл бұрын
Excelente....gracias saludos de los andes peruanos
@manoj881532 жыл бұрын
Make video on iced.
@creativcoder2 жыл бұрын
Yeah, iced is good too. Will see
@RobertoOrtis Жыл бұрын
Does it compile on windows?
@delusionfish96062 жыл бұрын
I failed to make a gui-rs app in the many other frameworks. but this nicely works !! thank you.
@JXQU3 Жыл бұрын
Really helpful!
@alessio7502 жыл бұрын
what is the theam used? btw great tutorial dude
@adsick_ua2 жыл бұрын
I'd suggest you changing your logo as it is not readable. Think of it in the future.
@creativcoder2 жыл бұрын
Thanks for the suggestion, will look into it
@learntry9074 Жыл бұрын
Thank you.. see you in 7b :)
@tristansantiago71512 жыл бұрын
This looks really cool. It reminds me of a windows widget.
@chiragsingla.2 жыл бұрын
I love your voice
@joegriffith16832 жыл бұрын
anyone know the extension/setting which automatically displays the type next to each variable and argument? (the light greyed out text)
@creativcoder2 жыл бұрын
That's type inlay hints in rust analyzer vscode extension. Just type Ctrl + Shift + P then toggle inlay hints
@hermannpaschulke15832 жыл бұрын
Great tutorial! Are you using Gnome on X11? Because I run on Wayland and the window decorations are very ugly. (It's a known gnome issue) Or do you just run headlines using XWayland?
@creativcoder2 жыл бұрын
Yeah had to switch back to X11, because obs (recording software) doesn't like wayland :)
@codeitlikemiley2 жыл бұрын
Im looking for a GUI that can be use on macos native apps, with permissions also can be set up on rust. I think rust makes sense in building native desktop app.
@creativcoder2 жыл бұрын
It's almost there, the libraries still need a fair bit of polish tbh
@cakemaster123452 жыл бұрын
You forgot to mention in this series how you got the original windows title bar removed and made the new title bar draggable. Kind of an important step...
@creativcoder2 жыл бұрын
Correct, there'll be a follow up video on same soon.
@kagenao23362 жыл бұрын
this is what i've been looking for... for so long. I do not overexaggerate when I say that this (imo) is close to perfect. (maybe speak a bit louder) Keep up the amazing work!
@creativcoder Жыл бұрын
Thank you, means a lot. Sure, will fine tune my rec setup
@kingpenguin19052 жыл бұрын
dude awesome. you earned a sub
@CaioDanielNunesSantos2 жыл бұрын
Thank you
@dog15093 жыл бұрын
Really looking forward to the second part.
@creativcoder3 жыл бұрын
part B: kzbin.info/www/bejne/iaepgZedfNytirM
@CT-cx8yi3 жыл бұрын
This is just what I have been looking for. Thanks!
@jdssl2 жыл бұрын
The best tutorial!!!
@irfnrdh2 жыл бұрын
this is my first day learn rust and I love it thanks for the tuts
@samansamani44772 жыл бұрын
thank you, it was awesome, I have a strange question, do you recall what was your program size output in release mode after build, with all dependency?
@creativcoder2 жыл бұрын
About 16mb in release. You can reduce it further by following a few applicable ones in: github.com/johnthagen/min-sized-rust
@samansamani44772 жыл бұрын
@@creativcoder thank you for fast answer, its quiet large... one other question, what backend did you used for gui? and its fully static? (I mean no shared library?) just want to start rust 😅
@creativcoder2 жыл бұрын
@@samansamani4477 it uses opengl as its rendering backend with glium crate at present. But you can switch to anything else. static, yes. I believe for opengl deps it maybe uses cdylib underneath.
@samansamani44772 жыл бұрын
@@creativcoder well I build your project in windows and its worked without problem, except just there was 2 progress bar
@creativcoder2 жыл бұрын
@@samansamani4477 better to open an issue on github repository with a screenshot. I'd be able to help better
@adsick_ua2 жыл бұрын
Great job, keep the level and sure people will be donating to you
2 жыл бұрын
so it took me hours to develop the same as this 28 min video :D
@creativcoder2 жыл бұрын
Yeah, that's the realistic time. I had to speed things up to not bore people watching 3-4 hour of a video :D
@ChatterboxBS12 жыл бұрын
Very nice!
@creator0f_in1quity2 жыл бұрын
Hi! What the operation system you use?
@creativcoder2 жыл бұрын
I used Ubuntu till ep 8, but now I use arch btw :D
@moose43h2 жыл бұрын
Wow
@ursochurrasqueira2 жыл бұрын
amazing tutorial
@alihusham15602 жыл бұрын
isn't YEW better and faster than this?
@henrylang6992 жыл бұрын
faster? it calls web technologies from wasm lol
@alihusham15602 жыл бұрын
@@henrylang699 oh so EGUI does not depend on javascript at all?
cargo build --release gives me ~19 Mb on linux. After using the following flags in Cargo.toml i managed to get it down to 7 Mb: [profile.release] strip = true opt-level = "z" lto = true codegen-units = 1
@theeagleseye49893 жыл бұрын
While implementing App trait, how do you auto fill the methods of the trait? Are you using a different rust analyser, mine does not show such options to auto fill
@creativcoder3 жыл бұрын
Ah no, that's vscode quick fix shortcut. Hit `Ctrl + .` (dot) to show the quick fix menu. If it's not assigned, go to keyboard shortcuts and look for "problems.action.showQuickFixes" and assign a key.
@theeagleseye49893 жыл бұрын
@@creativcoder thank you very much..
@stomah98322 жыл бұрын
“image ui”
@NehaSharma-ld9rx3 жыл бұрын
This is good! 👍
@aurorapaisley74532 жыл бұрын
App::setup is missing??
@creativcoder2 жыл бұрын
Yep, in the recent video I have explained how to fix that: kzbin.info/www/bejne/e4CsmaaIrc2JbpI
@dagher.a2473 жыл бұрын
Great work 👏
@benz201forever2 жыл бұрын
I use SLINT for my gui
@benz201forever2 жыл бұрын
it's formerly sixtyfps
@creativcoder2 жыл бұрын
Yeah, it looks promising for embedded platforms
@theeagleseye49893 жыл бұрын
Can you make some tutorials on druid?
@creativcoder3 жыл бұрын
Will do
2 жыл бұрын
your videos are very good quality and perfect to learn rust, I hope to see more soon. I would prefer the coding part not sped up as we can adjust while viewing, as this where there is a lot to learn too.
@TheGraemi2 жыл бұрын
The voice could be better.
@creativcoder2 жыл бұрын
Agree, I generally try to speed up repetitive parts of code. Thanks for the suggestion, will try to keep things realtime for code sections.
@creativcoder2 жыл бұрын
Thank you, will look into it
@ino38092 жыл бұрын
not wayland?
@creativcoder2 жыл бұрын
obs had trouble getting along with wayland, so x11.
@somethingelse58423 жыл бұрын
what the system are you using?
@somethingelse58423 жыл бұрын
In the left corner, i see "app,places,vscode"
@creativcoder3 жыл бұрын
That's Ubuntu 21.04 with Theme: Mc-OS-Transparent-1.3 [GTK2/3] Icons: McMojave-circle-grey-dark [GTK2/3]