Very cool vim + lsp setup. Please make a video about it, because it's difficult to set it up on windows. PS: I just found you already did a video about it. LOL. You're great man, thank you.
@@amirrezaghorbani2715 Accessibility (screen reader support e.g.) is another disaster. Most of the classic (non-webtech-based) UI framework bloat is there for a reason.
FYI, the warnings you got at 8:00 about the strings which you made out to explicit variables were due to you writing them in the wrong order as parameters to GuiTextInputBox. You were giving a value to the parameter named "text" which has a type of char* (aka writable string) while a string literal is of type const char* (aka immutable string).
19:20 I was actually surprised by how nicely you've read out all other tokens, :). That one little caut is nothing compared to other peoples' stud, putter, eiostr, endler, and "studio", lol. Really enjoyed the video, and could totally follow your thoughts! :)
BTW you could remove the while loop and get rid of the bug when you click all the ones below get removed by doing two passes when first rendering the tasks you store indices of the tasks that had their buttons pressed and then removing them so that you don't remove as you render not needing the offset
Hi! What a fancy terminal you have 😊 I haven't watched the video yet, just wanted to point out! Do you mind sharing configs? And is your `ls` a macro to another program, or some magic theme thingy?
I’ve used Qt 6 before for a well-known sculpting software. I found it to be broken. I regret not downgrading it to Qt 5.15 when Apple Silicon support was eventually added there. Now, I’m considering alternatives to Qt. ImGUI was one of them.
Dear sir please tell me what terminal you are using and what you are using to have separate tiles/panels. I use wezterm with the powershell shell but it starts slooow like 2 seconds with my powershell profile which is basically none.
I didn’t realize you were using windows until I notice powershell and clang.exe like halfway through the video. What’s this setup? Is it windows terminal? How do you rice windows like that? It’d be a great subject for a TH-cam video
The short video is great, but the fast video lost concentration, the auto formatting in a video and snippet and lsp is so annoying, the pure vim with compiler (jumplist) is enough to produce a cool video, i try to flow video because i want to know if the application re_render again and again every fps: 60 times in a second.
Believe it or not, I was just searching if there is a way to make GUI apps without using XML for UI or something similar yesterday XD. for context: I am 3rd year, and the prof. announced we're gonna have a year project using C++ for a GUI app.
You don't have to use XML for UI with Qt (aka .ui files). You can hardcode the window-widgets-layout in code. But that will make your life extremely hard when you want to design or update or tweak your GUI.
@@mr.shredder5430 technically there is a loop for waiting for events, but most traditional apps are rendered in retained mode. The app is rendered, and only portions are rerendered when needed. This approach rerendered the entire screen every frame. This is more cpu intensive, but can be good for highly dynamic ui
Funny to see how you go back to the way UIs were built in the 90s, throwing out all advancement that was made since and go back to calculating offsets and doing all the crap that you can abstract from using modern day libraries, just to go back to doing e-ve-ry-thing using pixel coordinates. Including all the bugs associated with that.
Unless you put QtQuick in, it's really absolutely not. There's still a fair few megabytes there, but i mean it also handles internationalisation and accessibility and various other advanced system interfacing, something none of ad-hoc game-framework based UI ever does.
@@SianaGearz qt-everywhere-src-6 8 0 zip is 1.5G. its that bloated already without design tools. ofc compiled binary size is much smaller but the overhead to setup qt is huge and is an overkill for simple GUI usage. Commercial apps may need features like i18n and accessibility, but many open-source projects don't.
Why... what is this mess of a shell. I see Linux static libraries. You have a Linux homefolder... I think. But then you have a C:\ directory inside that. WHY!
@@chxnt4202to be fair, it's still an immediate mode GUI, which still has the downside of having to fully layout and render the entire GUI every frame. Immediate mode has its place, but there's a good reason most desktop GUIs use retained mode.
@@GiovanniCKC the direction of your question (ie optimizing drawing the UI) is literally the line of inquiry that leads to retained mode UI design. Retained mode is basically an optimization to avoid having to relayout/redraw your UI every frame. Sure, you could come up with some sort of in between version using an immediate mode library, but the resulting code would be too complex for what it provides and you'd be better off just using retained mode. The benefit of immediate mode GUI is that it's easier to write and debug, because the UI state is intrinsically linked to the code state, where retained mode loses that property (it has to decouple the UI state from the code state to work). This the choice is a tradeoff: better performance at the cost of more complex and difficult to debug code vs simpler and easier to debug, but slower. This tradeoff is honestly largely irrelevant on modern systems as the time spent drawing an immediate mode GUI will be extremely short unless you're just flat out doing it wrong anyway. The solution to OP's bad take is simply cap your app at vsync.
@@Bobbias > direction of your question (ie optimizing drawing the UI) is literally the line of inquiry that leads to retained mode UI design 💀 ah... good to know lol.
Thanks for you video, now so called gamedevs will begin writing even more laggy GUI. Re-inventing entire GUI stack will lead to some bugs, and often times developers dont have that much resources to fix everything. In such case, for example, I remember that ImHex (which is written using ImGui and whatever else) is using 100% CPU at background... just because someone didn't implemented proper GL sleep routine. We really dont need gamedevs writing GUI in OpenGL, so please, take this kindly and take down your video for good.
windows with nvim and tiling window manager, I'm scared of you
You can create panes in vim/nvim.
Cool stuff! it's quite cool to see something unconventional like this! I hope the RPG in go series will continue. It was very useful.
It will ! I havent had a big enough block of time as I just moved back to college. I want to record a video this week for it
Very cool vim + lsp setup. Please make a video about it, because it's difficult to set it up on windows.
PS: I just found you already did a video about it. LOL. You're great man, thank you.
I fully thought you were using linux until your said c:/ directory lol
Great video as usual!. I developed GUI library in lua for this purpose, now I can use love2d to make a desktop app :D
The keyboard sound is so good
Nah, they sound like goofy ahh skeleton SFX from a 30's cartoon 💀💀
Great 1st vid on RL, this could be a cool series!
You sir are living my dream.
raylib is a perfect tool for this stuff. Especially if you combine it with imgui. This combo destroys any QT-like juggernaut
Untill you get to i18n and RTL Font rendering.
I don't know, it's definitely lightweight, but looks and feels like shit
@@amirrezaghorbani2715 Accessibility (screen reader support e.g.) is another disaster. Most of the classic (non-webtech-based) UI framework bloat is there for a reason.
If you look into "real" apps using raygui it's incomprehensive mess of attempts to reimplement layout engines to make it somewhat usable for end user.
Is there a visual form designer? Because laying every widget out in code gets old fast.
FYI, the warnings you got at 8:00 about the strings which you made out to explicit variables were due to you writing them in the wrong order as parameters to GuiTextInputBox. You were giving a value to the parameter named "text" which has a type of char* (aka writable string) while a string literal is of type const char* (aka immutable string).
Yeah i realized that after recording, it's been a minute since Ive used C/C++ lol
19:20 I was actually surprised by how nicely you've read out all other tokens, :). That one little caut is nothing compared to other peoples' stud, putter, eiostr, endler, and "studio", lol. Really enjoyed the video, and could totally follow your thoughts! :)
you can combine this very easily with a html renderer like ultralight aswell to get a very customizable ui
That is nice, i will try the same in golang raylib
cool video, raylib and raygui are really exciting alternatives compared to shipping chromium with every app :) thanks
BTW you could remove the while loop and get rid of the bug when you click all the ones below get removed by doing two passes when first rendering the tasks you store indices of the tasks that had their buttons pressed and then removing them so that you don't remove as you render not needing the offset
Wasn't aware of this, very cool stuff
Please do a tour video on your terminal and text editor configuration!
It looks awesome!
I didn't knew you could do that in Windows.
Hi, I made a video on it!
th-cam.com/video/ZqPpBfiX9ws/w-d-xo.html
This'll be handy
holy shit your dotfiles look good
thanks !
Hi!
What a fancy terminal you have 😊
I haven't watched the video yet, just wanted to point out!
Do you mind sharing configs?
And is your `ls` a macro to another program, or some magic theme thingy?
It's just a slightly modified wezterm ! Ill post a config video soon. I aliased a program called "lsd" that adds icons to ls
What font are you using, And the theme?
@@Kiro1900k iosevka and base16-black-metal-gorgoroth
I’ve used Qt 6 before for a well-known sculpting software. I found it to be broken. I regret not downgrading it to Qt 5.15 when Apple Silicon support was eventually added there. Now, I’m considering alternatives to Qt. ImGUI was one of them.
I agree, I also find it complicated and messy.
How does LSP diagnostics look like this?
@@Sir.Aymoon lsp_lines.nvim
@@codingwithsphere thank you
I see developer use Vim, I subscribe.
Satisfying
Dear sir please tell me what terminal you are using and what you are using to have separate tiles/panels. I use wezterm with the powershell shell but it starts slooow like 2 seconds with my powershell profile which is basically none.
I also use wezterm with powershell. the slow startup might be due to windows defender. as for tiling, I use GlazeWM for that.
I didn’t realize you were using windows until I notice powershell and clang.exe like halfway through the video.
What’s this setup? Is it windows terminal? How do you rice windows like that? It’d be a great subject for a TH-cam video
@@Bhanukamax I definitely plan on making a video on it soon ! It's wezterm with GlazeWM and zebar and a few other small tweaks
Hey dude great video here i was kind of interested in your windows setup and how do you do the search thing? Like the way you open the browser
I made a video on it ! th-cam.com/video/G0_wVLhI-Ds/w-d-xo.html
Also is rust worth using or do you just know c++ better?
Rust is great, I like both
@@codingwithspheremaybe you could take a look at macroquad which is a raylib inspired game framework for rust
Almost all languages are worth using if you know what you are doing :D
I love those configs of your nvim, can i see the plugins or configs you got there?
Yes, I made a video on it not too long ago. It's also on my github
@@codingwithsphere amazing comrade
The short video is great, but the fast video lost concentration, the auto formatting in a video and snippet and lsp is so annoying,
the pure vim with compiler (jumplist) is enough to produce a cool video, i try to flow video because i want to know if the application re_render again and again every fps: 60 times in a second.
i have no idea what your text editor is but i NEED IT please tell me what that beautiful piece of software is called
clearly its vim but how do you have intellisense
@@sampleee neovim with a lot of plugins for lsp support and autocompletion. The config is on my github
@@codingwithsphere
Was looking for this lol. The completions with all the argument descriptions is very nice.
this is super interesting
When can we get a continuation to the Minecraft series please
Believe it or not, I was just searching if there is a way to make GUI apps without using XML for UI or something similar yesterday XD.
for context: I am 3rd year, and the prof. announced we're gonna have a year project using C++ for a GUI app.
You don't have to use XML for UI with Qt (aka .ui files). You can hardcode the window-widgets-layout in code. But that will make your life extremely hard when you want to design or update or tweak your GUI.
@@sledgex9 I didn't know that, I'll try to play with both and see what works best for my skill level. Thanks for the info boss.
Try Qt, it's easy and fun to learn.
Sure thing boss.
Which terminal is that? Not Windows Terminal, or?
Wezterm
Kinda off topic but what plugin are you using for the errors in your buffer? First time seeing such neat errors in the buffer.
lsp_lines.nvim
What's the font called? Also people mentioned this already but never seen such a r/unixp*rn windows setup, giant props
What terminal is this?
@@vendingmachine208 wezterm
im a beginner, im curious to know if a normal desktop or any app runs on a loop like a game does
@@mr.shredder5430 technically there is a loop for waiting for events, but most traditional apps are rendered in retained mode. The app is rendered, and only portions are rerendered when needed. This approach rerendered the entire screen every frame. This is more cpu intensive, but can be good for highly dynamic ui
How do you make your cat look like that
im using "bat" and aliasing it to cat
What is the color scheme? Looks clean.
Base-16-black-metal-gorgoroth with some minor tweaks
@@codingwithsphere Thanks!
More Raylib content!
What kind of cat command is that?
It's bat aliased to cat
@@codingwithsphere thanks!
Funny to see how you go back to the way UIs were built in the 90s, throwing out all advancement that was made since and go back to calculating offsets and doing all the crap that you can abstract from using modern day libraries, just to go back to doing e-ve-ry-thing using pixel coordinates. Including all the bugs associated with that.
nice bait attempt
Keyboard?
Record Alice v2 with gateron 3.0 reds
Anyone here looking for the wendy's kraby patty
Vi 🗿
I still like vscode
pls your starship cfg
I dont use starship
Gezz… Would rather just make a single page vanilla javascript app
tsoding? haha
thats the way
i hate qt for being gigabytes bloated
Unless you put QtQuick in, it's really absolutely not. There's still a fair few megabytes there, but i mean it also handles internationalisation and accessibility and various other advanced system interfacing, something none of ad-hoc game-framework based UI ever does.
@@SianaGearz qt-everywhere-src-6 8 0 zip is 1.5G. its that bloated already without design tools. ofc compiled binary size is much smaller but the overhead to setup qt is huge and is an overkill for simple GUI usage. Commercial apps may need features like i18n and accessibility, but many open-source projects don't.
I don't even care about the video I care about how you got those tiny language icons in front of every filename
If you're talking about my "ls", im using a program called "lsd" and aliased it to override the default
@@codingwithsphere yeah that was it thanks
Why... what is this mess of a shell.
I see Linux static libraries. You have a Linux homefolder... I think.
But then you have a C:\ directory inside that.
WHY!
There's a special place in hell for people who make TODO apps.
So, your todo app spin cpu core at 100% doing nothing unless you turn on vsync.
Imgui is just bad.
this is not imgui its raygui imgui is a great library just not designed for desktop apps since its an intermediate mode library
@@chxnt4202to be fair, it's still an immediate mode GUI, which still has the downside of having to fully layout and render the entire GUI every frame. Immediate mode has its place, but there's a good reason most desktop GUIs use retained mode.
@@Bobbias serious question-- couldn't you just not call all the drawing functions with an immediate mode GUI sometimes or something along those lines?
@@GiovanniCKC the direction of your question (ie optimizing drawing the UI) is literally the line of inquiry that leads to retained mode UI design. Retained mode is basically an optimization to avoid having to relayout/redraw your UI every frame.
Sure, you could come up with some sort of in between version using an immediate mode library, but the resulting code would be too complex for what it provides and you'd be better off just using retained mode.
The benefit of immediate mode GUI is that it's easier to write and debug, because the UI state is intrinsically linked to the code state, where retained mode loses that property (it has to decouple the UI state from the code state to work).
This the choice is a tradeoff: better performance at the cost of more complex and difficult to debug code vs simpler and easier to debug, but slower.
This tradeoff is honestly largely irrelevant on modern systems as the time spent drawing an immediate mode GUI will be extremely short unless you're just flat out doing it wrong anyway. The solution to OP's bad take is simply cap your app at vsync.
@@Bobbias
> direction of your question (ie optimizing drawing the UI) is literally the line of inquiry that leads to retained mode UI design
💀 ah... good to know lol.
Thanks for you video, now so called gamedevs will begin writing even more laggy GUI. Re-inventing entire GUI stack will lead to some bugs, and often times developers dont have that much resources to fix everything. In such case, for example, I remember that ImHex (which is written using ImGui and whatever else) is using 100% CPU at background... just because someone didn't implemented proper GL sleep routine. We really dont need gamedevs writing GUI in OpenGL, so please, take this kindly and take down your video for good.
I beg you're fun at parties.
whine harder