Make Beautiful Desktop Applications in C++

Поделиться
HTML-код
  • Опубликовано: 3 янв 2025

Комментарии • 450

  • @TheCherno
    @TheCherno  Год назад +64

    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 Год назад +2

      I am gooey😁

    • @Tri-Technology
      @Tri-Technology Год назад +1

      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 Год назад +103

    Definite yes to a whole video just cleaning up the main application file! Would love to see your thought process regarding that.

  • @Frame4245
    @Frame4245 Год назад +253

    "Imagine having your game engine powering your launcher." - Meanwhile Epic Games Launcher running as a full Unreal Engine game

    • @CoolModderJaydonX
      @CoolModderJaydonX Год назад +5

      Wait, really?

    • @Frame4245
      @Frame4245 Год назад +61

      @@CoolModderJaydonX yes it's a full engine build including DirectX, Crash Reporter etc. just for rendering a web view.

    • @phusicus_404
      @phusicus_404 Год назад +48

      Wow that's why it is very slow on my laptop

    • @CoolModderJaydonX
      @CoolModderJaydonX Год назад +4

      @@Frame4245 Epic Games, was that necessary? I would have just used an app framework for C++ or C#.

    • @flobberant
      @flobberant Год назад +25

      the worst launcher in the world

  • @dragoniko55
    @dragoniko55 Год назад +101

    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.)

  • @nixellion
    @nixellion Год назад +725

    "Imagine having your game engine powering your launcher." - Godot be like 👀

    • @ZiplawDev
      @ZiplawDev Год назад +95

      unreal -> epic games store does that as well lmao

    • @enananannan
      @enananannan Год назад +130

      @@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 Год назад +15

      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 Год назад +86

      ​@@Bobbyhiddnif you want a heavy dependency for the front-end and a slow back-end, sure, excellent choice.

    • @pearly1789
      @pearly1789 Год назад +84

      @@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

  • @IllumTheMessage
    @IllumTheMessage Год назад +28

    Can't do enough Walnut videos. Really helpful and useful.

  • @arthur1112132
    @arthur1112132 Год назад +20

    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 Год назад +1

      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 Год назад +3

      @@v01d_r34l1tyYes it will be available in C++ when C++23 standard come out

    • @arthur1112132
      @arthur1112132 Год назад +2

      ​@@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.

  • @mahdavimail
    @mahdavimail 9 месяцев назад +2

    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 Год назад +274

    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 Год назад +20

      fr man modern app guis get %15 idle on my cpu

    • @Parritz
      @Parritz Год назад +55

      getting a good looking UI in native C++ is an absolute nightmare, i don't blame them

    • @kuhluhOG
      @kuhluhOG Год назад +16

      @@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 Год назад +2

      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 Год назад +1

      @@jsonkody can you explain why javascript isnt cleaner?? whats extra!!

  • @neobscura
    @neobscura Год назад +10

    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".

  • @Kazyek
    @Kazyek Год назад +8

    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!

  • @samaykothari
    @samaykothari Год назад +15

    I love these kinds of videos and hope you will keep making more!

  • @MrHaggyy
    @MrHaggyy Год назад +19

    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.

  • @hawks3109
    @hawks3109 Год назад +7

    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"?

  • @TheAlexgoodlife
    @TheAlexgoodlife Год назад +45

    Glad to see that linux support is on the table. Would love to see this go cross platform

  • @9MAS91
    @9MAS91 Год назад +3

    that image decoding stuff looks interesting looking forward to that vid

  • @djouze00
    @djouze00 Год назад +9

    I love how every application decides that their titlebar is the best and I'm the one who ends up with an inconsistent ui 🙄

    • @Thaleios
      @Thaleios 4 дня назад

      yeah, I'm not a fan of this. back before we had ui standards, every app had a different l&f. I despise that and do not want a return to it.

  • @CarbonI4
    @CarbonI4 Год назад +12

    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 Год назад +1

      I've started using imGui recently - could you elaborate on where you're having problems? And are you using the docking branch?

    • @CarbonI4
      @CarbonI4 Год назад +1

      @@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?

  • @barnarddale
    @barnarddale Год назад +12

    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!

  • @ClashBaseDeveloper
    @ClashBaseDeveloper 9 месяцев назад +1

    I’m always being struggling with organising my application so started with building an application to organise my applications😂😅

  • @glenneric1
    @glenneric1 Год назад +4

    Hazel AND Walnut! This guy's nuts.

    • @showmeyourcritz321
      @showmeyourcritz321 9 месяцев назад

      I bet something called Peanut is in the making :D

    • @MrNikolidas
      @MrNikolidas 7 месяцев назад

      @@showmeyourcritz321 Has Cache-w been taken?

  • @nestor1208
    @nestor1208 Год назад +2

    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?

  • @tswdev
    @tswdev Год назад +2

    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

  • @TechnicJelle
    @TechnicJelle Год назад +10

    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 Год назад +3

      I would appreciate Linux support as well!

  • @johanrojassoderman5590
    @johanrojassoderman5590 Год назад +3

    0:43 looking at you, Epic 👀

  • @shijikori
    @shijikori Год назад +8

    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 Год назад +2

      And they don't respect any of the titlebar settings you have going on, which just sucks.

  • @luciwaves
    @luciwaves Год назад +3

    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.

  • @Markus_included
    @Markus_included Год назад +4

    Now i'm wondering how you put the native titlebar buttons in there like firefox does

  • @Gandalf_Le_Dev
    @Gandalf_Le_Dev Год назад +1

    Nice it looks promising ! Can we create transparent topmost and click through app to create an overlay over fullscreen games ?

  • @ZeroUm_
    @ZeroUm_ Год назад +64

    "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 Год назад +10

      that would be shocking

    • @v01d_r34l1ty
      @v01d_r34l1ty Год назад +12

      @@a_soulsparkHaha! Because it’s Electron ⚡️🥴

  • @ThatNiceDutchGuy
    @ThatNiceDutchGuy Год назад +1

    Thank you for this generosity sharing the code! 😍

  • @aidanhouk
    @aidanhouk Год назад +1

    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.

  • @wtsharpproductions
    @wtsharpproductions 10 месяцев назад

    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 !!

  • @OneMeanDragon
    @OneMeanDragon 5 месяцев назад

    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.

  • @maybenat
    @maybenat Год назад +9

    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 Год назад +4

      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.

  • @oleksandrkosar1473
    @oleksandrkosar1473 Год назад +7

    Excellent work! I would love to see it on Linux!

  • @and_then_I_whispered
    @and_then_I_whispered Год назад +3

    Cherno in every video : We'll probably make another video on this or that😂

  • @saeedbarari2207
    @saeedbarari2207 Год назад +1

    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 Год назад +1

      @@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 10 месяцев назад

    Thank for thinking on the Linux support. This week my younger brother was asking for tips on creating GUI apps wit C++ on Linux

  • @baxstart9008
    @baxstart9008 Год назад

    Im weeks new to C++ so a Walnut tutorial series would be highly appreciated!

  • @hanovarghese9411
    @hanovarghese9411 18 часов назад

    wait a sec why does my c++ projects look like terminal window whereas this dude's looks like an actual application??

  • @JRDev4All
    @JRDev4All Год назад +7

    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 Год назад +2

      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 Год назад +2

      @@JRDev4All I'm agreeing with what you said.

    • @Entropy67
      @Entropy67 Год назад +1

      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...

  • @MultiLeechCZ
    @MultiLeechCZ Год назад

    I would like to see more and more about Walnut, whole series how to make nice looking application be even better.. :)

  • @SwordQuake2
    @SwordQuake2 7 месяцев назад +1

    Did you make the headless Wallnut video?

  • @georgemallard4120
    @georgemallard4120 Год назад +2

    Love to see more about the Python PNG file to array thing

  • @_luceoon
    @_luceoon Год назад +6

    "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...

  • @MrModez
    @MrModez Год назад +5

    This is nice, but this is Win32 only, what about other OS?

    • @topg3067
      @topg3067 Год назад

      He uses glwf, which is cross platform.

    • @MrModez
      @MrModez Год назад +5

      ​@@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.

  • @mrmaymanalt
    @mrmaymanalt Год назад +1

    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.

  • @realeques
    @realeques Год назад +2

    I am a Microsoft NAV/BC developer but its still mesmerizing watching you talk about anything programming related *glaze*

  • @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

  • @Patrick1985McMahon
    @Patrick1985McMahon Год назад +2

    Walnut looks so much better than the stuff Windows provides. I really like the dark theme.

  • @sorenspunkt5374
    @sorenspunkt5374 2 месяца назад

    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.

  • @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!!!!

  • @energy-tunes
    @energy-tunes 4 месяца назад +1

    our boy is getting CHUNKY

  • @martinklubal3213
    @martinklubal3213 2 месяца назад

    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)?

  • @InteractiveDNA
    @InteractiveDNA 9 месяцев назад +1

    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?

  • @censoredeveryday3320
    @censoredeveryday3320 4 месяца назад

    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

  • @ChrisKoyo
    @ChrisKoyo Год назад +2

    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

  • @Bozebo
    @Bozebo Год назад +5

    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 Год назад +1

      "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"

  • @audaciousifti
    @audaciousifti Год назад +5

    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 Год назад +1

      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

  • @MiiDev69
    @MiiDev69 Год назад +35

    This is amazing!
    On the same topic, what are your thoughts on frameworks like Qt?

  • @kiwixfps
    @kiwixfps Год назад +1

    How often is the screen refreshed in walnut?

  • @marsovac
    @marsovac 11 месяцев назад

    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?

  • @King-Julien
    @King-Julien 2 месяца назад

    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.

  • @gabriellevesque2185
    @gabriellevesque2185 Год назад +2

    "Super Graphicssy Compatible" -Cherno, 2023
    😂

  • @konradstrachan
    @konradstrachan Год назад

    Very cool, i'll have to poke around with it!

  • @deltaghostprofessionalgame875
    @deltaghostprofessionalgame875 3 месяца назад

    Electron and Tauri I think they are cool too and equivalent right ?

  • @supremedeity9003
    @supremedeity9003 Год назад +5

    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

  • @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.

  • @GrzegorzUrbanowicz
    @GrzegorzUrbanowicz Год назад +1

    Great job! I would like to see cross platform version of Walnut.

  • @RodyDavis
    @RodyDavis Год назад

    That’s why I like flutter! Every pixel ❤️🎨

  • @christianbastien9657
    @christianbastien9657 8 месяцев назад

    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.

  • @pixelmasque
    @pixelmasque Год назад +1

    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++?

  • @dennisanderson8663
    @dennisanderson8663 Год назад +3

    The amount of work needed to make a Windows app in C++ is insanity.

    • @buddybrax
      @buddybrax Год назад

      Welcome to unmanaged.
      Decompile some C# forms to see the native code

    • @anikethjana
      @anikethjana 3 месяца назад

      Can we create application using C ? Just a beginner here 😅

    • @dennisanderson8663
      @dennisanderson8663 3 месяца назад +1

      @@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 3 месяца назад +2

      @@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 3 месяца назад

      @@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

  • @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 9 месяцев назад

      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.

  • @aresaurelian
    @aresaurelian Год назад

    Its looking good. Keep up the good work.

  • @kgnet8831
    @kgnet8831 Год назад

    Yes more Walnut please 🙏🙏

  • @flobuilds
    @flobuilds Год назад

    Great video and a great project hope to see more of it

  • @jackle3002
    @jackle3002 Год назад

    Wow, all of that was so cool.

  • @LongestYardstick
    @LongestYardstick Год назад

    the links you "add" in the corners don't show up -- I wonder if it's related to ad blockers...?

  • @SunnyMakeRemix
    @SunnyMakeRemix Год назад

    Nice tips for programming

  • @DloomDEV
    @DloomDEV 9 месяцев назад

    Man you make my way easy thx 😊

  • @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.

  • @fabricebalan
    @fabricebalan Год назад +1

    What about QT ? Why you never talk about it ?

    • @toby9999
      @toby9999 Год назад

      Perhaps because it is horrible on Windows? It's a nightmare to use and gui's look non standard. They just don't look right.

    • @fabricebalan
      @fabricebalan Год назад

      @@toby9999 I'm using it daily and that's definitly not true

  • @okashikami5588
    @okashikami5588 Год назад

    love your videos man!!! can you show us how to made your icon in to the embed please

  • @names-mars
    @names-mars Год назад

    Btw, ask one of those openai apps to generate a nice logo for your framework.

  • @Vitonolable
    @Vitonolable Год назад

    Who is this Jay, and where I can follow his work ?

  • @mohamedbensalah5652
    @mohamedbensalah5652 Год назад +1

    I think you can inspire a solution from this
    in WPF to remove that white border
    set Glassframethickness CornerRadius and CaptionHeight to 0

  • @Penguin_tek
    @Penguin_tek 7 месяцев назад

    Hi Cherno, you are amazing 🤍🤍
    I want to study OpenGL, but I'm on Linux and I can't find references for this. What are your recommendations for me?

    • @censoredeveryday3320
      @censoredeveryday3320 4 месяца назад

      On Linux you'll have to start with Xlib if you want to go low level and draw on the non-client areas

  • @marijnstollenga1601
    @marijnstollenga1601 Год назад

    Awesome rundown of Walnut, hope linux comes soon!

  • @Panakotta000
    @Panakotta000 Год назад +1

    But again, its immediate mode, why not retained mode?

  • @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.

  • @bennguyen1313
    @bennguyen1313 10 месяцев назад

    Is there a GUI editor for Tk (Similar to Python + Visual TK), that can generate a design file, that can then be referenced from C++? Qt Designer generates a UML file
    I tried GTK + Glade / Cambalache , but had difficulty installing GTK and building in Windows Visual Code.
    Would love to see a video on setting up and building a gui using Imgui, nanogui, or NAppGUI!

  • @berkefekeskin9172
    @berkefekeskin9172 5 месяцев назад

    Him:
    "Normal application stuff, how exciting 😐"
    Me after seeing that we can take windows outside the main app window:
    "YO HEY, WHAT???"

  • @RichardDobkins-fm7lj
    @RichardDobkins-fm7lj 9 месяцев назад

    How do you get rid of the console window? I changed the system type in linker settings to windows but it throws a couple of errors about WinMain. You have a check for the pre-processor directive but i'm not sure that's all that's needed.

  • @chrismajola6065
    @chrismajola6065 9 месяцев назад

    is it possible to use libVLC c++ with walnut?

  • @PedroBorgesNH
    @PedroBorgesNH Год назад

    Does an app made with walnut runs on Windows server? Like regular VM with no graphics card? I have and serverside app that uses GDI, its a pain to work with for someone not very experienced like me.

    • @v01d_r34l1ty
      @v01d_r34l1ty Год назад

      If your server has a graphical user interface, it should have graphics drivers. Just make sure your graphics drivers support either the correct version of OpenGL or Vulkan (whichever Walnut uses) and you should be fine.

  • @TickledNun
    @TickledNun Год назад

    Ive learned basics of c++, looking to move forward with some ui. But i am losing my mind trying to find what to use and where to learn it from, qnd that doesnt cost me money.

  • @slluxxx
    @slluxxx Год назад

    Would you mind showing how imgui can be used with threads to not hang the UI on heavy tasks? Lets say i want to download multiple images and display them as they come in.
    I am working on embedded systems with custom toolchains and the threading library wants me to specifically close the thread from the main thread and hangs until it is actually closed. I have no clue what the hell i am doing, how to share data and close them without having a slideshow app

    • @GameskoTV
      @GameskoTV Год назад

      just create new thread

    • @slluxxx
      @slluxxx Год назад

      @@GameskoTV you are so funny. at least read more than the first sentence

  • @FIRAFLASH
    @FIRAFLASH Год назад

    i am getting an error that i couldn't get the clone for error Failed to clone 'vendor/imgui'. Retry scheduled please u need a reply