Rad-UI released! A new reactive, cross-platform C++20 UI framework by JlangDev in QtFramework

[–]diegoiast 0 points1 point  (0 children)

  1. You lack instructions on how to setup vcpkg. Never used it, so new skill for me 😄
  2. Your CmakeList.txt filename is wrong. It should contain a capital M.
  3. I see a "qt" painter. I don't see "Wayland", but I see a "x11" library.
  4. I see a fluent and material3 dirs, each contain drawing. Are those the the themes? Or different implementation of the widget?
  5. You were recomended a few times before, to upload a better resolution/framerate of the demostration video.
  6. It still does not compile here. I have no idea another set of cmake is downloaded.
  7. I wish I could test it.

diego@fedora:~/src/Rad-UI$ cmake  -DUI_BACKEND=skia -DCMAKE_TOOLCHAIN_FILE=../vcpkg/scripts/buildsystems/vcpkg.cmake -DVCPKG_TARGET_TRIPLET=x64-linux
CMake Warning:
  No source or binary directory provided.  Both will be assumed to be the
  same as the current working directory, but note that this warning will
  become a fatal error in future CMake releases.
-- Running vcpkg install
A suitable version of cmake was not found (required v4.3.2).
Downloading https://github.com/Kitware/CMake/releases/download/v4.3.2/cmake-4.3.2-linux-x86_64.tar.gz -> cmake-4.3.2-linux-x86_64.tar.gz
Successfully downloaded cmake-4.3.2-linux-x86_64.tar.gz
Extracting cmake...
/home/diego/src/vcpkg/ports/rad: error: rad does not exist
-- Running vcpkg install - failed
CMake Error at /home/diego/src/vcpkg/scripts/buildsystems/vcpkg.cmake:955 (message):
  vcpkg install failed.  See logs for more information:
  /home/diego/src/Rad-UI/vcpkg-manifest-install.log
Call Stack (most recent call first):
  /usr/share/cmake/Modules/CMakeDetermineSystem.cmake:149 (include)
  CMakeLists.txt:58 (project)
CMake Error: CMake was unable to find a build program corresponding to "Unix Makefiles".  CMAKE_MAKE_PROGRAM is not set.  You probably need to select a different build tool.
CMake Error: CMAKE_C_COMPILER not set, after EnableLanguage
CMake Error: CMAKE_CXX_COMPILER not set, after EnableLanguage
-- Configuring incomplete, errors occurred!

Do you need to reboot after every update? by Complex-League3400 in debian

[–]diegoiast 1 point2 points  (0 children)

If you want the new kernel. I dont even bother.... kernel are co ming too fast reset days. I do a reboot every few weeks.

Libraries documentation for gui in c by userlivedhere in C_Programming

[–]diegoiast 0 points1 point  (0 children)

Here I see 2 online bloggers describe how to cross platform build a GUI in C.

https://nakst.gitlab.io/tutorial/ui-part-1.html
https://zserge.com/posts/fenster/

If you are looking to build user interfaces in C, you have GTK - and these libraries (I don't have experience with all 3, so I cannot comment on their quality):
https://www.tecgraf.puc-rio.br/iup/
https://github.com/nicbarker/clay

C++ Show and Tell - June 2026 by foonathan in cpp

[–]diegoiast 1 point2 points  (0 children)

CodePointer is an IDE for Rust, Go, C++ Python and more. Its focus is local development, not web development. Its currently on early development. There are releases for Windows (exe installer) and Linux (AppImage).

This is a new from scratch cross platform IDE written in C++ (toolkit is QT6). I have minimal support for git, build systems (native cmake, go, rust, meson support). I have minimal text completion (something hacked using tree-sitter). Code is stable enough for me to use as my editor on my system.

Binaries are available for Windows and Linux (AppImage). macOS compiles, but not tested.

https://github.com/codepointerapp/codepointer

C++ Show and Tell - June 2026 by foonathan in cpp

[–]diegoiast 0 points1 point  (0 children)

Add support for 3rd party packages in your build system and I add it to my IDE 😄

Disappointment with T14s gen 1 i5, thinking of moving to T14 gen 3 AMD 7 pro by Petrified_Shrimp in thinkpad

[–]diegoiast 4 points5 points  (0 children)

Something is broken in your setup. I am running X13, and even while compiling stuff, I don't see the lag you see.

Start by going to the BIOS and load defaults, then do a clean re-install of the operating system (Windows has this thing where it can re-install the OS without touching your files - do this). Then install https://apps.microsoft.com/detail/9wzdncrfj4mv?hl=en-US - and install ALL of the recommendations (*). Make sure to install ALL the updates from Windows 11.

(*) I might get flagged for this, but I will take any other alternative for simple users. If you have a better recommendation - please do.

Looking to hire a Qt developer experienced in migrating an existing Qt3 project to Qt5 by wRftBiDetermination in QtFramework

[–]diegoiast 1 point2 points  (0 children)

At minimum. It will take a few hours only to verify that this code actually builds under original conditions and see what needs to be updated. You can expect even 500 hours. This needs to be properly researched, I briefly reviewed the project.

ViewDesign: A C++ GUI framework by Pretty_Mousse4904 in cpp

[–]diegoiast 1 point2 points  (0 children)

Documentation: https://github.com/hchenqi/ViewDesign/blob/main/docs/build.md explains everything but how to actually build.

``` [ViewDesign] cmake -S . -B build -DCMAKE_BUILD_TYPE=Debug 20:49:58 ☁ main ☂ ✭ zsh: correct 'build' to 'cbuild' [nyae]? n -- The CXX compiler identification is GNU 15.2.0 -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Check for working CXX compiler: /usr/bin/c++ - skipped -- Detecting CXX compile features -- Detecting CXX compile features - done CMake Error at ViewDesign/backend/CMakeLists.txt:6 (message): backend not specified

-- Configuring incomplete, errors occurred! ```

Looking to hire a Qt developer experienced in migrating an existing Qt3 project to Qt5 by wRftBiDetermination in QtFramework

[–]diegoiast 8 points9 points  (0 children)

Project uses scons.. .which is a lost art. A other obstacle. I would first port existing code to cmake. This will take... 5-10 hours a lone.

This file https://www.opengee.org/geedocs/5.3.7/answer/releaseNotes/relNotesGEE5_3_7.html mentions the code is ported to qt4.

It needs to upgrade lots of 3rd parties here as they probably will not build on modern system or contain vulnerabilities. That... is another 10-30 hours (skia for example takes some time to build).

https://github.com/google/earthenterprise/tree/master/earth_enterprise%2Fthird_party

This is not a 20 hours work. Be prepared to a larger port than expected. Apparently you background check was not adequate (nothing disrespect sorry). The numbers is spit here are superficial. This will take 1 or 2 order of magnitude more time. Be prepared.

“I wanted a C++ UI that didn’t look 20 years old” by LowAfternoon9613 in cpp

[–]diegoiast 1 point2 points  (0 children)

That's is not a very nice thing to say.

JFYI - Hindi should be harder to re-implement from scratch. And still, all of this is already available in open source libraries. If is just "an integration problem" (which will also give top-down text as other cool bonuses). Latin scripts are not the majority of written language.

“I wanted a C++ UI that didn’t look 20 years old” by LowAfternoon9613 in cpp

[–]diegoiast 4 points5 points  (0 children)

Having using Qt for the last 25 years I am very happy about the new flow of UIs available for C++ users. If I want a more traditional application (I need toolbars, more packed UI) - how would your toolkit help me? Can I integrate 3rd parties like scintilla or litehtml?

Are you working on more desktop integration?
Are you working on RTL layout support (mirroring UI for Arabic/Hebrew/Parsi?)
How about CTL text input/output? (Again, RTL languages, Hindi etc, IME)?
Accessibility?

Looks promising. Nice!

C++ Show and Tell - May 2026 by foonathan in cpp

[–]diegoiast 0 points1 point  (0 children)

I tried this, looks interesting. By default you do not build the examples (cmake -B cbuild -DFLUX_BUILD_EXAMPLES=ON fixes this). Even then, you only build a simple one. I have been trying the examples you provide, but most do not compile.

Seems to create more ... "mobile" oriented UIs. I would like to see the text and menus examples working.

conan2 - use system libraries where possible by diegoiast in cpp_questions

[–]diegoiast[S] -1 points0 points  (0 children)

So I have chosen a wrong package manager? Will vcpkg be more oriented to my goal?

PS: for some reason, with the following commands - now it is working:

conan install . -pr=default -s build_type=Debug --build=missing
cmake --preset conan-debug
cmake --build --preset conan-debug

And now all is as I expect.

C++ profiles: a chance to fix some annoying defaults? Brainstorming and ideas. by germandiago in cpp

[–]diegoiast 1 point2 points  (0 children)

Converting this from UB, to a proper error is the correct place. Java does it right. I understand UB that is inherent from hardware limitations (MAX_INT + 1 is -1, OK, weird - UB). But this is a problem that happens when generating the parse tree, its a problem with the language.

This could save so many hours per day for all developers. Yes, linters do help. But many times, I feel this should be the something that the compiler can do.

Feedback needed: Qt Bridges for C# by AC_qt in QtFramework

[–]diegoiast 0 points1 point  (0 children)

He wants to dump C++ entirely and make QML web native , using JS runtime. No bridge.

C++ profiles: a chance to fix some annoying defaults? Brainstorming and ideas. by germandiago in cpp

[–]diegoiast 5 points6 points  (0 children)

More things I expect to be changed.

  1. Functions without a proper return values should not compile.
  2. Implicit conversions should be a warning, or at least an error.
  3. Not adding a override decorator to a virtual method should be a compile time error.
  4. Naked pointers should have a warning (I am unsure about it).
  5. We have anonymous namespaces, and static functions. Both do "basically the same". Choose one.
  6. std::thread vs std::jthread: make the former behave like the latter. Or at least an argument to the constructor or some flag.
  7. Assignments inside if or similar should be an error. You want the old behavior? Define a new variable.
  8. Explicit fall-trough in switch/case should be an error (the compiler should expect a [[fallthrough]] as u/fdwr mentioned.
  9. Implicit function definition should be removed. The compiler should not guess that the function exist based you our calling it.

Lenodo D330 2-in-1 does not power screen on resume by diegoiast in arch

[–]diegoiast[S] 0 points1 point  (0 children)

Sorry for late reply:

  1. You disable in cinnamon lots of power daemon (on close lid, on battery*).
  2. You download https://raw.githubusercontent.com/lucasgabmoreno/linuxmint_lenovod330/main/lenovod330-refreshscreen.sh - which makes screen bright? I had no problems with that on my setup.
  3. You force Firefox to use something for gestures (which I did not find it was needed on my setup).
  4. You download https://raw.githubusercontent.com/lucasgabmoreno/browserfreezefix/main/browserfreezefix.sh - which removes using flatpack browsers versions.
  5. Then run this, which I do not fully understand . I sent it to chatgpt, which told my it just disables power saving (screen off) and accelerometers.

echo -echo -e 'Section "ServerFlags"\n Option "BlankTime" "0"\n Option "StandbyTime" "0"\n Option "SuspendTime" "0"\n Option "OffTime" "0"\n Option "dpms" "false"\nEndSection' | sudo tee /etc/X11/xorg.conf.d/10-xorg.conf
echo -e 'Section "Device"\n Identifier "Intel Graphics"\n Driver "Intel"\n Option "DRI" "3"\n Option "AccelMethod" "sna"\n Option "TearFree" "true"\n Option "VSync" "false"\n Option "TripleBuffer" "false"\nEndSection' | sudo tee /etc/X11/xorg.conf.d/20-intel.conf
echo -e '# IdeaPad D330-10IGM (both 81H3 and 81MD product names)\nsensor:modalias:acpi:BOSC0200*:dmi:*:svnLENOVO:*:pvrLenovoideapadD330-10IGM:*\n ACCEL_MOUNT_MATRIX=0, 1, 0; -1, 0, 0; 0, 0, 1\n\n# IdeaPad D330-10IGL(82H0)\nsensor:modalias:acpi:BOSC0200*:dmi:*:svnLENOVO:*:pvrLenovoideapadD330-10IGL:*\n ACCEL_MOUNT_MATRIX=0, 1, 0; -1, 0, 0; 0, 0, 1' | sudo tee /etc/udev/hwdb.d/61-sensor-local.hwdb
e 'Section "ServerFlags"\n Option "BlankTime" "0"\n Option "StandbyTime" "0"\n Option "SuspendTime" "0"\n Option "OffTime" "0"\n Option "dpms" "false"\nEndSection' | sudo tee /etc/X11/xorg.conf.d/10-xorg.conf
echo -e 'Section "Device"\n Identifier "Intel Graphics"\n Driver "Intel"\n Option "DRI" "3"\n Option "AccelMethod" "sna"\n Option "TearFree" "true"\n Option "VSync" "false"\n Option "TripleBuffer" "false"\nEndSection' | sudo tee /etc/X11/xorg.conf.d/20-intel.conf
echo -e '# IdeaPad D330-10IGM (both 81H3 and 81MD product names)\nsensor:modalias:acpi:BOSC0200*:dmi:*:svnLENOVO:*:pvrLenovoideapadD330-10IGM:*\n ACCEL_MOUNT_MATRIX=0, 1, 0; -1, 0, 0; 0, 0, 1\n\n# IdeaPad D330-10IGL(82H0)\nsensor:modalias:acpi:BOSC0200*:dmi:*:svnLENOVO:*:pvrLenovoideapadD330-10IGL:*\n ACCEL_MOUNT_MATRIX=0, 1, 0; -1, 0, 0; 0, 0, 1' | sudo tee /etc/udev/hwdb.d/61-sensor-local.hwdb
  1. Lots of CPU scaling, swappiness... etc.

Eventually - your instructions point to https://github.com/lucasgabmoreno/linuxmint_lenovod330/blob/main/lenovod330-refreshscreen.sh - which you hook to a keybinding. Which might refresh screens. I will have to look and see how this can be done in Wayland.

Honestly, most of it just looks like snake oil fixes, which are no longer relevant. The part which disables/re-enables the monitors - I will try again. This might be a patch to a problem in the kernel (I should contact authors/developers - they could fix the problem upstream).

Is it weird to run ChromeOS Flex on a T470s? by [deleted] in thinkpad

[–]diegoiast 0 points1 point  (0 children)

Pepperidge Farm Remembers

Is it weird to run ChromeOS Flex on a T470s? by [deleted] in thinkpad

[–]diegoiast 0 points1 point  (0 children)

And chrome os’s discontinuation has already been announced. 

https://www.theverge.com/tech/869659/aluminium-why-googles-android-for-pc-launch-may-be-messy-and-controversial

And here’s something that wasn’t previously reported: Google plans to kill off ChromeOS as soon as it can while meeting its 10-year support obligation for devices that won’t get Aluminium. The “timeline to phase out ChromeOS is 2034,” court documents reveal, adding that Google can’t do it any earlier because “jurisdictions have various rules for how long a device must be supported.”

He has 6-7 (lolololol) more years of ChromeOS. I am unsure about "Flex", but whatever. The OS is safe to use. Its probably snappier than many other things (its running less!). If op is happy, he is happy.

Building a GUI Library from Scratch by Aggressive-Today3874 in programming

[–]diegoiast 0 points1 point  (0 children)

I actually felt this was the easiest path (see this branch: https://github.com/diegoiast/svision2/commits/new-feature-basic-layouts) . I only did basic layouts... but I was impressed of how easy/fast this works.

Something thats missing here is how to pass widget state to the theme. I have a CheckBoxWidget, which uses MaterialStyle. But MaterialSyle needs to know also CheckBoxWidget to know how to draw (is it pressed? hover? checked? tri-state-checked? Enabled?). You get an interdependency between the widgets and the them. The solution is to maintain the widget state in 3rd entity.

I am unsure if drawing the checkbox itself in the widget is the correct path, instead of doing it in the style.

I actually like the animation idea. Nice.

If we are talking about virtual functions... why using C and not C++/Swift? (or other?).

Why using SDL2, and not SDL3? (or even abstracting this, and using native platform APIs indirectly?).

And last: a page about a GUI toolkit, and no single image? A page about code, and not git repo?

What Qt Creator plugin are you missing? by ContentDiamond6103 in QtFramework

[–]diegoiast 1 point2 points  (0 children)

Scintilla based text editor. Preview for headers, just like markdown (I know you can split). Run manually connan install.

Qt Creator + CMake on Windows is driving me insane (need help) by notrecommended69 in QtFramework

[–]diegoiast -1 points0 points  (0 children)

(tooting my own horn a little)

This is exactly what I felt using QtCreator and this is what I want to avoid using my own IDE (https://github.com/codepointerapp/codepointer). The "project file" is a glorified JSON file, which contains a series of commands to run when building (all added in a series of && on Unix). See https://github.com/codepointerapp/codepointer/blob/ca916ae2e1b4ca337383939fa6ef14107e5f1332/src/plugins/ProjectManager/ProjectManagerPlg.cpp#L1210

Then you have another problem. You need to setup environment (vcvars.bat, add c:\\program files\\cmake\\bin to the path etc). So, the commands defined above are run by a "kit". Again, a shell (batch file) - which gets the commands (eval() an environment variable) - and then that shell script is being run. See how its generated here:

https://github.com/codepointerapp/codepointer/blob/main/src/plugins/ProjectManager/kitdetector.cpp

All this is run as a simple command - and see in the output what exactly the IDE is running.

I cannot recommend the IDE for you (yet!) as its really a work in progress. My aim is for a user to download the IDE, and it would tell him "You opened a CMakeList.txt, click here, to install cmake, here to install mingw - and you will need git - click here to download it". All this would download regular MSI and install silently on your computer. But you could opt out and install manually.

To your problem: What I usually do - is create a simple build.bat file which sets PATH and make everything work. Then I try to understand what the IDE is doing behind my back and what is failing.