Make Beautiful Desktop Applications in C++

  Рет қаралды 628,211

The Cherno

The Cherno

Күн бұрын

Пікірлер: 448
@TheCherno
@TheCherno Жыл бұрын
Hope you guys enjoyed the video! Check out Walnut here ► github.com/StudioCherno/Walnut See NordPass Business in action now with a 3-month free trial here (use code thecherno) ► nordpass.com/thecherno
@phusicus_404
@phusicus_404 Жыл бұрын
I am gooey😁
@Tri-Technology
@Tri-Technology Жыл бұрын
Why is the default title bar always white even when I am using the dark mode theme?
@a_spire
@a_spire Жыл бұрын
I use clion 99% of the time.. Wish you could also use it in some tutorials :)
@SELFSHGAMING
@SELFSHGAMING Жыл бұрын
Make a video on IMO gerrdy. Gerrdy in Many gimmes please make a video on this 😢😢😢
@rezakarimi6034
@rezakarimi6034 Жыл бұрын
Thanks for sharing the code especially the custom titlebar part. A separate video about it is also welcomed :)
@verminology9999
@verminology9999 Жыл бұрын
Definite yes to a whole video just cleaning up the main application file! Would love to see your thought process regarding that.
@nixellion
@nixellion Жыл бұрын
"Imagine having your game engine powering your launcher." - Godot be like 👀
@ZiplawDev
@ZiplawDev Жыл бұрын
unreal -> epic games store does that as well lmao
@aoobasuzukaze
@aoobasuzukaze Жыл бұрын
@@ZiplawDev the funniest part about that is that it's a custom build of ue4 that *only* renders a webview and nothing else.
@Bobbyhiddn
@Bobbyhiddn Жыл бұрын
I’ve been trying to figure out if this is something I should pursue. Godot for front end, Python for for backend. I don’t see why not.
@scififan698
@scififan698 Жыл бұрын
​@@Bobbyhiddnif you want a heavy dependency for the front-end and a slow back-end, sure, excellent choice.
@pearly1789
@pearly1789 Жыл бұрын
@@scififan698 ​ The epic game store is one of the most godawful user experiences in recent memory. Unbelievably slow and just doesn't load things half the time. Now it all makes sense
@dragoniko55
@dragoniko55 Жыл бұрын
NC prefix stands for something like "Non-Client". Some messages have a client and non-client version to differentiate between something happening in the client portion of the window (the app) and the non-client portion (titlebar, resize handles, etc.)
@Frame4245
@Frame4245 Жыл бұрын
"Imagine having your game engine powering your launcher." - Meanwhile Epic Games Launcher running as a full Unreal Engine game
@CoolModderJaydonX
@CoolModderJaydonX Жыл бұрын
Wait, really?
@Frame4245
@Frame4245 Жыл бұрын
@@CoolModderJaydonX yes it's a full engine build including DirectX, Crash Reporter etc. just for rendering a web view.
@phusicus_404
@phusicus_404 Жыл бұрын
Wow that's why it is very slow on my laptop
@CoolModderJaydonX
@CoolModderJaydonX Жыл бұрын
@@Frame4245 Epic Games, was that necessary? I would have just used an app framework for C++ or C#.
@flobberant
@flobberant Жыл бұрын
the worst launcher in the world
@IllumTheMessage
@IllumTheMessage Жыл бұрын
Can't do enough Walnut videos. Really helpful and useful.
@mahdavimail
@mahdavimail 7 ай бұрын
You are explaining the lessons like a real professor/teacher not like a programmer. Thanks and I am self learning a lot from your contents ❤️
@h4ndle_yt
@h4ndle_yt Жыл бұрын
Instead of something like this we now get big corporations abusing JavaScript and creating bloatware that devours your ram and performs like S* just because they refuse to hire dedicated teams for cross-platform desktop. Great video as always.
@brawldude2656
@brawldude2656 Жыл бұрын
fr man modern app guis get %15 idle on my cpu
@Parritz
@Parritz Жыл бұрын
getting a good looking UI in native C++ is an absolute nightmare, i don't blame them
@kuhluhOG
@kuhluhOG Жыл бұрын
@@Parritz it doesn't even need to be C++ (although in this case it mainly depends on the C++ Toolkit/Framework) even JavaFX is considerably better
@jsonkody
@jsonkody Жыл бұрын
it has some pretty big advantages thou .. but I wish JS were cleaner and browser would be super-lean and super-fast modular technology 😢 I need Thanos glove for make it happen xD
@bilalarain4632
@bilalarain4632 Жыл бұрын
@@jsonkody can you explain why javascript isnt cleaner?? whats extra!!
@arthur1112132
@arthur1112132 Жыл бұрын
23:59 The C23 standard now has a new #embed preprocessor directive to do this directly within the language so that you won't need a script to pre-compute that anymore. The compiler will do this for you :)
@ScibbieGames
@ScibbieGames Жыл бұрын
i havent seen it implemented anywhere, however. It's still C2x sadly.
@v01d_r34l1ty
@v01d_r34l1ty Жыл бұрын
So will this not be available in C++?
@guckesksk5895
@guckesksk5895 Жыл бұрын
@@v01d_r34l1tyYes it will be available in C++ when C++23 standard come out
@arthur1112132
@arthur1112132 Жыл бұрын
​@@v01d_r34l1ty I guess it will be added into C++'s standards as well. Even tho C++ natively supports C's standard, so you will be able to use it once it's added to C anyway
@anon_y_mousse
@anon_y_mousse Жыл бұрын
I can hardly wait. I still use mostly C for everything.
@MrHaggyy
@MrHaggyy Жыл бұрын
This is awesome. As a control/system engineer i know my C/C++, but i was never happy with the effort/reward of desktop app tools in C/C++. Walnut might be the tool to let me do my engineer stuff without focusing too much on the application stuff. If you want to beef up your example with some sort of file format, save & load, do something, plot something that would be highly appreciated. Maybe a small tooling software that helps you with your game engine or fits nicely along side the engine.
@Kazyek
@Kazyek Жыл бұрын
My god this bring back memories, my first public github repo was a little wrapper for WPF bundling a theme I liked and adding primary colour variants and a custom window element using it. Bring me a lot of nostalgia!
@Digitalgems9000
@Digitalgems9000 25 күн бұрын
yesss
@Digitalgems9000
@Digitalgems9000 25 күн бұрын
😍
@TheAlexgoodlife
@TheAlexgoodlife Жыл бұрын
Glad to see that linux support is on the table. Would love to see this go cross platform
@ВладимирСоколовский-щ1ы
@ВладимирСоколовский-щ1ы Жыл бұрын
Dear friend. Visit youtube channel "Solve My Programming Task". They create simple programs for free. I used it. I am a student.
@random6033
@random6033 Жыл бұрын
linux users will eat him for those windows
@neobscura
@neobscura Жыл бұрын
It's called caption cause in the win 9x days (especially 95 since there was absolutely zero "decoration" while 98 got a gradient woohoo) the caption was the titlebar text. There was no other container than this as the controlbox was drawn on top of the "titlebar". So caption was essentially "the titlebar".
@djouze00
@djouze00 Жыл бұрын
I love how every application decides that their titlebar is the best and I'm the one who ends up with an inconsistent ui 🙄
@glenneric1
@glenneric1 Жыл бұрын
Hazel AND Walnut! This guy's nuts.
@showmeyourcritz321
@showmeyourcritz321 7 ай бұрын
I bet something called Peanut is in the making :D
@MrNikolidas
@MrNikolidas 5 ай бұрын
@@showmeyourcritz321 Has Cache-w been taken?
@johanrojassoderman5590
@johanrojassoderman5590 Жыл бұрын
0:43 looking at you, Epic 👀
@samaykothari
@samaykothari Жыл бұрын
I love these kinds of videos and hope you will keep making more!
@dennisanderson8663
@dennisanderson8663 11 ай бұрын
The amount of work needed to make a Windows app in C++ is insanity.
@buddybrax
@buddybrax 11 ай бұрын
Welcome to unmanaged. Decompile some C# forms to see the native code
@anikethjana
@anikethjana Ай бұрын
Can we create application using C ? Just a beginner here 😅
@dennisanderson8663
@dennisanderson8663 Ай бұрын
@@buddybrax You would be better off using GTK for the GUI. Then you could cross compile it for other operating systems rather than coding it directly for Windows.
@dennisanderson8663
@dennisanderson8663 Ай бұрын
@@anikethjana You can create a GUI in practically all programming languages. If you use a library like GTK, it can simply the process as well as make it easy to port the application to different operating systems.
@anikethjana
@anikethjana Ай бұрын
@@dennisanderson8663 your comment is really useful , can you please guide me should i really learn software development using c ? I converted a code from python to C using AI, and it was lengthy enough for AI to give up. Please guide me with respect to current market , what should i do . My english is bad sorry for that
@hawks3109
@hawks3109 Жыл бұрын
I'd love a video on how the compiler and other components work to actually package and ship the game itself. How is the exe built? How are the assets "cooked and packaged"?
@9MAS91
@9MAS91 Жыл бұрын
that image decoding stuff looks interesting looking forward to that vid
@_luceoon
@_luceoon Жыл бұрын
"Imagine having a 3D game engine powering your little launcher"... Sounds familiar. Oh wait, thats what Epic Games did with their launcher... It's based on Unreal Engines UI...
@CarbonI4
@CarbonI4 Жыл бұрын
Something which made me steer away from imgui despite being initially excited is its handling of pop out windows and I am kind of surprised it's not been a problem for hazel/walnut. If you do any game development 2 monitors or preferably 3 are essential, seems like an extremely important feature to have correctly working pop out windows that behave correctly so that you can drag out windows and expand them to fit on second/third monitors.
@user-sl6gn1ss8p
@user-sl6gn1ss8p Жыл бұрын
I've started using imGui recently - could you elaborate on where you're having problems? And are you using the docking branch?
@CarbonI4
@CarbonI4 Жыл бұрын
@@user-sl6gn1ss8p I was using the docking branch, but as far as I could see there was no full screen/minimize/dock to windows desktop type functionality. I suppose it could be added with custom code though. While you can drag the window outside by default it seems to behave like a sort of floating window detached from its parent. I get that it probably behaves like that for cross compatibility reasons, but surely in the case of full screen and minimize that is fairly standard across OS's?
@ZeroUm_
@ZeroUm_ Жыл бұрын
"Imagine having your gaming engine powering your launcher." I've seen a lot more deranged people powering their apps with web browsers.
@a_soulspark
@a_soulspark Жыл бұрын
that would be shocking
@v01d_r34l1ty
@v01d_r34l1ty Жыл бұрын
@@a_soulsparkHaha! Because it’s Electron ⚡️🥴
@audaciousifti
@audaciousifti Жыл бұрын
For almost all of my CS education all my programs were just CLI based and I never really understood what the purpose was if you didn't know any actual commands. So seeing this now is really cool
@v01d_r34l1ty
@v01d_r34l1ty Жыл бұрын
did you use c/c++ or was your class more java oriented? i know my first semester java class was entirely cli based but my second semester java class was entirely graphics based.
@audaciousifti
@audaciousifti Жыл бұрын
@@v01d_r34l1ty I used C++
@mrmotomoto
@mrmotomoto Жыл бұрын
Usually you can type in the Help command or man pages to find out the commands and how to use them. They should be documented somewhere
@realeques
@realeques Жыл бұрын
I am a Microsoft NAV/BC developer but its still mesmerizing watching you talk about anything programming related *glaze*
@Patrick1985McMahon
@Patrick1985McMahon Жыл бұрын
Walnut looks so much better than the stuff Windows provides. I really like the dark theme.
@Bozebo
@Bozebo Жыл бұрын
3D game engine powering a launcher or UI is way more efficient than an entire web browser powering a launcher or UI like we tend to get, sucking up like 8 cpu cores just sitting there idle (or in the background inside a game's engine, looking at you DotA2) until they fix "bugs" then it happens again inevitably xD
@craigslist6988
@craigslist6988 Жыл бұрын
"omg we accidentally constantly open connections from our webapp and transfer data constantly, ooops~ totally unintended, we're definitely not snooping around your system and dumping that data to sell... Noooo.. it's just a bug, ooosie"
@aidanhouk
@aidanhouk Жыл бұрын
We're making a cross-platform game that runs on Windows, macOS, Android and will run on iOS in the future. I decided not to use 3rd party framework for GUI but to create it by myselft since we did the same in my company. Right now I create everything in the code but later it will be written in external files on some markup language.
@TechnicJelle
@TechnicJelle Жыл бұрын
I'm pretty interested in using Walnut to develop some desktop apps in the future. Please make some tutorials for it! :D Please support Linux soon, too. And will you support web/mobile platforms as well? Maybe with emscripten for the web?
@AlesStibal
@AlesStibal Жыл бұрын
I would appreciate Linux support as well!
@sorenspunkt5374
@sorenspunkt5374 22 күн бұрын
I totally want a simple desktop application to be developed using a game engine. it's not that a Webbrowser would be enough. I would've just used Qt because I don't need control over each pixel.
@tswdev
@tswdev 11 ай бұрын
The term caption is used to describe the text that explains or describes some graphical element in the early UI world (its used by Win, Qt, Swing and Delphi for example..). Title or label only really came later. Thus, the "title" or "label" of a window is its caption. In use is also the term "window header" that directly comes from physical mail letters. This last one is kind of odd because "headers" are used for other messaging constructs and thus make little sense to describe a window. Caption also no longer makes a lot of sense as its very imprecise (html uses it to describe/explain an image, instead of title it), just search for its synonyms
@and_then_I_whispered
@and_then_I_whispered Жыл бұрын
Cherno in every video : We'll probably make another video on this or that😂
@ClashBaseDeveloper
@ClashBaseDeveloper 7 ай бұрын
I’m always being struggling with organising my application so started with building an application to organise my applications😂😅
@JRDev4All
@JRDev4All Жыл бұрын
Things like Im UI, and stuff that derives from it has one humongous flaw: accessibility. And I’m not talking about how widespread it is or how many systems it runs on. I’m talking accessibility in the disabilities sense of the word. There is no accessibility API’s for these libraries, which makes it impossible, if not extraordinarily difficult for developers to make their applications made in those framework accessible to anybody with disabilities
@RockTo11
@RockTo11 Жыл бұрын
Additionally, some platforms, like iOS/macOS only seem to allow accessibility labels (for screen readers or other things) static, so I don't think it is easy to set the alt-labels at run time - meaning that just getting a mouse event and setting the label appropriately doesn't work.
@RockTo11
@RockTo11 Жыл бұрын
Oh - and there are laws requiring accessibility. So if making a real application, in the US for example, there are rules in ADA.
@JRDev4All
@JRDev4All Жыл бұрын
With what technologies? Because if you use apples, native frameworks for iOS and macOS development, that simply doesn’t hold true. I know this because I work with them every day. They make making your apps accessible on Apple platforms extremely easy. And they give you much more stuff to work with than just accessibility labels.
@RockTo11
@RockTo11 Жыл бұрын
@@JRDev4All I'm agreeing with what you said.
@Entropy67
@Entropy67 Жыл бұрын
Sounds like a good project, if any young open source developer is willing to take on the task of making a accessibility library for im gui...
@ThatNiceDutchGuy
@ThatNiceDutchGuy Жыл бұрын
Thank you for this generosity sharing the code! 😍
@baxstart9008
@baxstart9008 Жыл бұрын
Im weeks new to C++ so a Walnut tutorial series would be highly appreciated!
@wtsharpproductions
@wtsharpproductions 8 ай бұрын
Working on creating an app atm and I have delved a bit into SFML language. Using VS 2022 x64. But... For as much C++ coding I think that I've learned and I know the more I realize... I am just at the beginning of what there is to learn and to know. Thank you for the great video, Sir Cherno !!
@rafal7217
@rafal7217 Жыл бұрын
Reinventing the wheel, Qt is a great framework for creating multi-platform C++ applications.
@toby9999
@toby9999 Жыл бұрын
That's more a matter of personal preference. I've worked with Qt and I hated it. I would never use it by choice.
@shijikori
@shijikori Жыл бұрын
please just use native window title bars... apps that don't just look off with the rest of the desktop and they also are often just weird on linux.
@voxelfusion9894
@voxelfusion9894 Жыл бұрын
And they don't respect any of the titlebar settings you have going on, which just sucks.
@georgemallard4120
@georgemallard4120 Жыл бұрын
Love to see more about the Python PNG file to array thing
@MultiLeechCZ
@MultiLeechCZ Жыл бұрын
I would like to see more and more about Walnut, whole series how to make nice looking application be even better.. :)
@RodyDavis
@RodyDavis Жыл бұрын
That’s why I like flutter! Every pixel ❤️🎨
@energy-tunes
@energy-tunes 3 ай бұрын
our boy is getting CHUNKY
@censoredeveryday3320
@censoredeveryday3320 2 ай бұрын
Lower level win32/64 programming will do that to you
@maybenat
@maybenat Жыл бұрын
It sucks that with Dear ImGui accessibility kinda sucks, which I partially understand, since it's not meant to be used as a general purpose UI framework (and it's not an issue many programmers care about *sigh*). It's one of the reasons why I'm not using it in "normal" GUI programs outside of internal game engine tools.
@voxelfusion9894
@voxelfusion9894 Жыл бұрын
Indeed, your best bet will always be to use established, open toolkits like Qt that won't hamper cross compatibility and accessibility. Using a small and light, niche toolkit may seem nice at first, but it will backfire in the long run if you are serious about your project. Don't start off your project with that kind of technical debt.
@barnarddale
@barnarddale Жыл бұрын
Looks like a helpful toolkit. Often, when an app does not use a standard title bar, they lose some edge cases like keyboard control for accessibility. Does this toolkit have most/all of the standard features? If so, are they redirecting to the OS's window management or implementing the same functionality? Thank you!
@smokingcrimson128
@smokingcrimson128 Жыл бұрын
you're the best!!! with your videos im keep motivating myself to improve my programming skills in cpp and god it's so hard bad interesting, i want to make games with opengl and i'm watching your series about cpp and opengl, you're a great teacher!!!!
@gabriellevesque2185
@gabriellevesque2185 Жыл бұрын
"Super Graphicssy Compatible" -Cherno, 2023 😂
@berkefekeskin9172
@berkefekeskin9172 3 ай бұрын
Him: "Normal application stuff, how exciting 😐" Me after seeing that we can take windows outside the main app window: "YO HEY, WHAT???"
@MiiDev69
@MiiDev69 Жыл бұрын
This is amazing! On the same topic, what are your thoughts on frameworks like Qt?
@SpaceTimeBeing_
@SpaceTimeBeing_ Жыл бұрын
QT is excellent with qml, you can make it as modern looking as you want
@christianbastien9657
@christianbastien9657 6 ай бұрын
I really like your comment about the possibility of your system. Everything is possible with most platforms, i am not an engineer or a programmer, i am also getting annoyed when someone (my developers) tell me something is not possible. Last time i did the part of the project that everyone was saying is not possible. Fortunately my best programmer pick up the project before i end up destroying our program with bad code (but my face recognition program was 100% working, but with badly structured code) I hope you become a billionaire or a least multimillionaire, because being a billionaire is a lot of troubles.
@censoredeveryday3320
@censoredeveryday3320 2 ай бұрын
This takes me back to the WinAmp days which uses C++ and draws a bitmap theme in the NC area callbacks. That was being down i the late 90s
@AntjeAhrens-y9c
@AntjeAhrens-y9c Жыл бұрын
Haha, I'm crying 😂 I just love your content ❤ and it actually saved me with my work C++ project. I also watched your old imgui videos, and liked it, but unfortunately decided to go for qt (which I also dislike, but still seemed best choice für my demands)... And now you drop a new imgui video 😅
@showmeyourcritz321
@showmeyourcritz321 7 ай бұрын
What's wrong with Qt? I actually like it very much :) Hard to learn and master but once you get used to it, it is worth it. It's fast and cross-platform for Desktop Apps.
@luciwaves
@luciwaves Жыл бұрын
God bless you, but I gave it (ImGui) a try this year and having to calculate rectangles just to be able to right-align a label to a textbox is not something I'm young enough to do anymore. Great videos, tho. Thanks for all your educational work.
@oleksandrkosar1473
@oleksandrkosar1473 Жыл бұрын
Excellent work! I would love to see it on Linux!
@supremedeity9003
@supremedeity9003 Жыл бұрын
Hmm... I guess its like the complicated scaffolding is done already so that you can do the designing part. I'll try to implement some changes to use it on Linux as it seems interesting, partially because i really like imGUI
@HiImKyle
@HiImKyle Жыл бұрын
Well I'll be damned, I just commented on a previous video about asking for this! :D Also the client area being "too big" is false, that's just Windows 11's fault.
@konradstrachan
@konradstrachan Жыл бұрын
Very cool, i'll have to poke around with it!
@saeedbarari2207
@saeedbarari2207 Жыл бұрын
you can use windows' built-in magnifier (win/+ & win/-) to zoom in and out
@anon_y_mousse
@anon_y_mousse Жыл бұрын
Does Windows finally have that behavior? I've had it on Linux for decades.
@saeedbarari2207
@saeedbarari2207 Жыл бұрын
@@anon_y_mousse it was there from 1995. when Linux didn't even have proper desktop support
@anon_y_mousse
@anon_y_mousse Жыл бұрын
@@saeedbarari2207 That's complete bullshit. I've used Win98 and it didn't have that behavior, and CDE has existed since 1993 and gave a better desktop experience than Window, even compared to now.
@arturwelp1877
@arturwelp1877 8 ай бұрын
Thank for thinking on the Linux support. This week my younger brother was asking for tips on creating GUI apps wit C++ on Linux
@GrzegorzUrbanowicz
@GrzegorzUrbanowicz Жыл бұрын
Great job! I would like to see cross platform version of Walnut.
@shellgecko
@shellgecko Жыл бұрын
you basically figured out how is built slate (the ui framework) that unreal engine uses to render its own custom controls and 'look and feel' implementing this using C# and WPF is kinda simplier because it already provides classes to custom the window and the controls but of course is limited only to windows with C++ it is needed to build an own renderer that overrides the default used in every OS
@kgnet8831
@kgnet8831 Жыл бұрын
Yes more Walnut please 🙏🙏
@mrmaymanalt
@mrmaymanalt 10 ай бұрын
Nice video! Have you considered using SDL2 instead of GLFW for the windowing? It has support for Vulkan and disabling decorations, and it's very cross platform, supporting almost anything. It also has a built in 2D renderer that is incredibly fast. If you want WebAssembly support, you could add an alternative backend that uses SDL2's renderer. SDL2 also has a font loader that can draw text into a texture.
@KleptomaniacJames
@KleptomaniacJames 10 ай бұрын
its dummy thick though[
@jackle3002
@jackle3002 Жыл бұрын
Wow, all of that was so cool.
@Gandalf_Le_Dev
@Gandalf_Le_Dev 11 ай бұрын
Nice it looks promising ! Can we create transparent topmost and click through app to create an overlay over fullscreen games ?
@KennyTutorials
@KennyTutorials Жыл бұрын
Remembering when I wrote custom title bar for my engine, It was completely nightmare, especially with Win32 NonClient area, and custom hit situation, to move and resize window, in your custom non client area.
@InteractiveDNA
@InteractiveDNA 7 ай бұрын
It is amazing how Flash was beyond it's years! I made a ton of animated text bar/windows with it. It only take feel seconds to create one vs days with C++ or any other language. Even today, I may use Flash to create the UI. Another benefit using Flash to create Custom Windows is that it load in 1 milliseconds. Nothing out there today can beat the speed of flash application. But Adobe kill flash because of greedy. My question is! Can Walnut help create animated Windows at any shape and form like Flash does?
@SunnyMakeRemix
@SunnyMakeRemix 10 ай бұрын
Nice tips for programming
@marijnstollenga1601
@marijnstollenga1601 Жыл бұрын
Awesome rundown of Walnut, hope linux comes soon!
@flobuilds
@flobuilds Жыл бұрын
Great video and a great project hope to see more of it
@Markus_included
@Markus_included Жыл бұрын
Now i'm wondering how you put the native titlebar buttons in there like firefox does
@ScamSlam6000
@ScamSlam6000 7 ай бұрын
Man you make my way easy thx 😊
@martinklubal3213
@martinklubal3213 17 күн бұрын
Hi Cherno, wanted to checkout your Walnut (no pun), but it seems your master branch is not, what I see in this video. Specifically, I was looking for the CustomTitleBar, but it's not implemented. Do you still maintain this (even locally)?
@dartello
@dartello 11 ай бұрын
Nice work! Made me think of Borland C++ Builder 5. Back in the day the windows were treated as forms and you could change the window in the object inspector [OI] (a form in the development environment) where you could set the properties of a selected object in the form, the form itself. Properties you would find in the private list and also events you could point to the method you wrote. For a window you could choose a kind of window like a dialogbox, client or main application window etc. I would build an OI too in Walnut so settings wouldn't be scattered in the code. The OI doesn't have to be in a window but you can make a settings file like in yaml or json for starters. It's good practice to make apps in Linux. That way you can deploy microservices like Docker or Kubernetes, so developers may develop their code contained not interfering resources of a running host (and break your computer). Now I haven't used C++ Builder in years, also I changed my OS from Windows to Linux many years ago as well as that was more practical AND productive for me.
@King-Julien
@King-Julien 14 күн бұрын
Oh my god.. I did used to have my launcher powered by my engine at one point. I also had the editor included or the entity and component list atleast and I was spamming it with objects for fun.
@StevenJAckerman
@StevenJAckerman Жыл бұрын
Awesome - thank you !
@OneMeanDragon
@OneMeanDragon 3 ай бұрын
If the click and drag caption works as if it was the native caption bar, as a negative side effect it blocks incoming messages until you release the caption bar, easier to see the effect if you have something rendering in the client rect, down the road that can become a problem if its not addressed.
@MrModez
@MrModez Жыл бұрын
This is nice, but this is Win32 only, what about other OS?
@topg3067
@topg3067 Жыл бұрын
He uses glwf, which is cross platform.
@MrModez
@MrModez Жыл бұрын
​@@topg3067Unfortunately this is not how it works. It is a cross platform library, but he edits a win32 backend of that library to achieve the result. Linux for example uses x11 or wayland backend.
@SwordQuake2
@SwordQuake2 6 ай бұрын
Did you make the headless Wallnut video?
@sigmareaver680
@sigmareaver680 Жыл бұрын
Linux support?! Nice!
@ChrisKoyo
@ChrisKoyo Жыл бұрын
I was thinking about making a UI with web tech like electron js and stuff but the problem is to render vulkan through it...without using web graphics API. I think cpp gets just harder for tasks that are much easier with higher level techs
@CalebFaith
@CalebFaith Жыл бұрын
I've done the same with a GLFW OpenGL window embedded in a transparent electron window. Not very efficient but an easy way to get native OpenGL with a web UI. I then use named pipes for IPC between the 2 processes. Another option would be to utilise CEF OSR with shared textures - probably less janky
@ChrisKoyo
@ChrisKoyo Жыл бұрын
@@CalebFaith that solution can be clever...until it comes to the Input requirements, i.e making the buttons in the main process of the electron app interact with the render behavior...i wonder node.js can allow these, but i don't know how
@CalebFaith
@CalebFaith Жыл бұрын
@@ChrisKoyo yes, I have had to send keystrokes etc. to the GL window via IPC
@ChrisKoyo
@ChrisKoyo Жыл бұрын
@@CalebFaith oh okay. So you just used named pipes or others methods too? I wonder if signals could fit too
@names-mars
@names-mars Жыл бұрын
Btw, ask one of those openai apps to generate a nice logo for your framework.
@nestor1208
@nestor1208 Жыл бұрын
Is there "borderless window" mode for wallnut? Because I frequently see this in games (and use it) instead of fullscreen mode. Wouldn't it cause problems with resizing, when implementing custom resizing code? (17:20) I reckon it's not "maximized" (18:21), is it?
@deltaghostprofessionalgame875
@deltaghostprofessionalgame875 Ай бұрын
Electron and Tauri I think they are cool too and equivalent right ?
@marsovac
@marsovac 9 ай бұрын
Does Walnut support per window dpi awareness? So for example a monitor with 100% dpi, and another with 250%, and the controls/text look the same size when you drag windows across monitors?
@mohamedbensalah5652
@mohamedbensalah5652 Жыл бұрын
I think you can inspire a solution from this in WPF to remove that white border set Glassframethickness CornerRadius and CaptionHeight to 0
@Acky0078
@Acky0078 11 ай бұрын
I don't know man, all of the ImGUI apps look like some cheat engine console. Can you perhaps do a follow up video on creating a non game related app with ImGUI?
@kiwixfps
@kiwixfps Жыл бұрын
How often is the screen refreshed in walnut?
@bdevlin
@bdevlin 4 ай бұрын
I see you talk a lot about waiting on your server to be hacked. How about a series on securing / security in general?
@Vitonolable
@Vitonolable Жыл бұрын
Who is this Jay, and where I can follow his work ?
@TheRealMangoDev
@TheRealMangoDev Жыл бұрын
looking forward to see linux support in walnut.
@TheRealMangoDev
@TheRealMangoDev 5 ай бұрын
for now ill use imgui
@davidfrischknecht8261
@davidfrischknecht8261 6 ай бұрын
What I don't like about ImGui is that it doesn't look native. I prefer desktop applications to look native.
@shoaibzafar5663
@shoaibzafar5663 Жыл бұрын
I would love to see when you start showcasing Nvidia physx code in hazel 💯
@alexanderrotmg
@alexanderrotmg Жыл бұрын
0:43 Realm of the Mad God Exalt by Deca Games GmbH... They are using the Unity Engine to power their launcher that only works when the window is focused.
@abhayshandle
@abhayshandle 5 ай бұрын
well, i made something similar, same features lol, but with python, remember tkinter? the old boring UI? well i made a new one. that's actually efficient and works great.
@okashikami5588
@okashikami5588 Жыл бұрын
love your videos man!!! can you show us how to made your icon in to the embed please
@pixelmasque
@pixelmasque Жыл бұрын
how do you design your own buttons and interactivity (animated elements)? is that using illustrator or SVG code? Or do you write it all in C++?
@youtubealgorithm7568
@youtubealgorithm7568 6 ай бұрын
i wonder it too😊
@SpaceTimeBeing_
@SpaceTimeBeing_ Жыл бұрын
Why this instead of QT
@bradfry2259
@bradfry2259 Жыл бұрын
Walnut, hazel..... this guy's nuts.
@peterSobieraj
@peterSobieraj Жыл бұрын
I hate when application do custom titlebars. I setup my windows so active window will have blue titlebar, and inactive will be gray, so I can easily find active window. It's not a problem on 1 screen, but when you have more screens, and you are really using them, then it's a problem.
BEST WAY to make Desktop Applications in C++
26:00
The Cherno
Рет қаралды 932 М.
I made it FASTER // Code Review
38:46
The Cherno
Рет қаралды 547 М.
СОБАКА ВЕРНУЛА ТАБАЛАПКИ😱#shorts
00:25
INNA SERG
Рет қаралды 3,7 МЛН
Which team will win? Team Joy or Team Gumball?! 🤔
00:29
BigSchool
Рет қаралды 15 МЛН
Should you learn C++?? | Prime Reacts
20:29
ThePrimeTime
Рет қаралды 388 М.
Why I Don't Like Singletons
29:05
The Cherno
Рет қаралды 91 М.
Why Didn't He Get the Job? Let's Find Out! // Code Review
27:25
The Cherno
Рет қаралды 145 М.
Is this the WORST CODE I've EVER SEEN? // Code Review
24:28
The Cherno
Рет қаралды 61 М.
All about MEMORY // Code Review
33:42
The Cherno
Рет қаралды 168 М.
Learning C++ by making a Game... in 1 Week?!
10:14
Floky
Рет қаралды 554 М.
Emulating a CPU in C++ (6502)
52:28
Dave Poo
Рет қаралды 1 МЛН
Писать UI для Android на QT
1:43:29
Android Broadcast. Все об Андроид разработке
Рет қаралды 19 М.
No One Hires Jr Devs So I Made A Game
39:31
ThePrimeTime
Рет қаралды 310 М.
Harder Than It Seems? 5 Minute Timer in C++
20:10
The Cherno
Рет қаралды 210 М.
СОБАКА ВЕРНУЛА ТАБАЛАПКИ😱#shorts
00:25
INNA SERG
Рет қаралды 3,7 МЛН