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!!
@creativcoder3 жыл бұрын
Hey glad you found this helpful!
@jamesb15593 жыл бұрын
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!
@devfagundes Жыл бұрын
Not even one single code that I get from tutorials in Rust works. So impressive
@xXYourShadowDaniXx3 ай бұрын
Skill Issue
@devfagundes3 ай бұрын
@@xXYourShadowDaniXx totally haha
@skoovee16 күн бұрын
you are watching a old video, its still good for the basics of how egui works but you should be looking at the docs yourself
@theeagleseye49893 жыл бұрын
Great tutorial.. watched a lot of times.. waiting for the next continuation video ..
@codesurge68382 жыл бұрын
This is more than just Rust GUI tutorial. Thanks for sharing.
@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
@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!
@creativcoder2 жыл бұрын
Thank you, means a lot. Sure, will fine tune my rec setup
@alessio7502 жыл бұрын
what is the theam used? btw great tutorial dude
@dog15093 жыл бұрын
Really looking forward to the second part.
@creativcoder3 жыл бұрын
part B: kzbin.info/www/bejne/iaepgZedfNytirM
@aeases-2 жыл бұрын
just out of curiosity what is the settings/extension/theme your using for the dock in gnome?
@ajinkyax7 ай бұрын
Subscribed. even your website has some great articles. Good one
@creativcoder7 ай бұрын
Thank you :) It means a lot.
@spinthma2 жыл бұрын
and also the immediate compile and the output on the terminal, which plugin do you use?
@Zooiest Жыл бұрын
What cursor pack do you use?
@princeofexcess Жыл бұрын
is there a way to set opacity of 50% on the whole window in iced? transparency setting is not doing anything for me.
@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?
@saaddahmani18703 жыл бұрын
So great, ... continue please .....
@creativcoder3 жыл бұрын
Hey thank you, part B just dropped!
@irfnrdh2 жыл бұрын
this is my first day learn rust and I love it thanks for the tuts
@spinthma2 жыл бұрын
Very. NIce, by the way which kind of font do you use in vscode? Very clean and readable.
@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.
@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.
@creator0f_in1quity2 жыл бұрын
Hi! What the operation system you use?
@creativcoder2 жыл бұрын
I used Ubuntu till ep 8, but now I use arch btw :D
@filmo2 жыл бұрын
Question: Why is 'render_top_panel()' placed into 'impl Headlines' but the helper functions 'render_footer' and 'render_header' are not?
@creativcoder2 жыл бұрын
Good catch, there isn't any reason, I might have missed refactoring it while shooting the video. Will make changes
@learntry9074 Жыл бұрын
Thank you.. see you in 7b :)
@tristansantiago71512 жыл бұрын
This looks really cool. It reminds me of a windows widget.
@CT-cx8yi3 жыл бұрын
This is just what I have been looking for. Thanks!
@samansamani44773 жыл бұрын
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?
@creativcoder3 жыл бұрын
About 16mb in release. You can reduce it further by following a few applicable ones in: github.com/johnthagen/min-sized-rust
@samansamani44773 жыл бұрын
@@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 😅
@creativcoder3 жыл бұрын
@@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.
@samansamani44773 жыл бұрын
@@creativcoder well I build your project in windows and its worked without problem, except just there was 2 progress bar
@creativcoder3 жыл бұрын
@@samansamani4477 better to open an issue on github repository with a screenshot. I'd be able to help better
@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 :)
@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"
@adsick_ua3 жыл бұрын
Great job, keep the level and sure people will be donating to you
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
@JXQU3 Жыл бұрын
Really helpful!
@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.
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
@jdssl2 жыл бұрын
The best tutorial!!!
@kingpenguin19052 жыл бұрын
dude awesome. you earned a sub
@peterthecoderd.12102 жыл бұрын
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.
@creativcoder2 жыл бұрын
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.
@VAcharya2 жыл бұрын
How can I follow this tutorial on windows machine ?
@ChatterboxBS12 жыл бұрын
Very nice!
@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.
@josbexerra81152 жыл бұрын
Excelente....gracias saludos de los andes peruanos
@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]
@dagher.a2473 жыл бұрын
Great work 👏
@NehaSharma-ld9rx3 жыл бұрын
This is good! 👍
@brunob.7792 Жыл бұрын
Google pitchfork will put an end in all this suffering very soon
@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
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
@cthutu2 жыл бұрын
ImGUI is pronounced IM-Gooey, not Image UI. It's an acronym for Immediate Mode Graphic User Interface.
@ursochurrasqueira3 жыл бұрын
amazing tutorial
@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
@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
@manoj881532 жыл бұрын
Make video on iced.
@creativcoder2 жыл бұрын
Yeah, iced is good too. Will see
@ino38093 жыл бұрын
not wayland?
@creativcoder3 жыл бұрын
obs had trouble getting along with wayland, so x11.
@aurorapaisley74532 жыл бұрын
App::setup is missing??
@creativcoder2 жыл бұрын
Yep, in the recent video I have explained how to fix that: kzbin.info/www/bejne/e4CsmaaIrc2JbpI
@theeagleseye49893 жыл бұрын
Can you make some tutorials on druid?
@creativcoder3 жыл бұрын
Will do
@saathwik_dasari13 жыл бұрын
Thanks!
@chiragsingla.2 жыл бұрын
I love your voice
@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?