PDCurses
imgui
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
PDCurses
-
How to make a GUI?
The latest version can be found at: https://pdcurses.org/
-
GDB on Windows 10, no TUI at all?
I use GDB with openocd on ubuntu system to debug a Samd51 MCU using jlink. it's working good until when I lay next and look at the source code in graphical terminal, so if I scroll in TUI source code, GDB crashed and start printing in weird way(not sure if it's GDB It's might be the ubuntu terminal not liking it). So I decided to use it on windows with the jlink GDB server app, But the issue no is I can't use the TUI interface in windows terminal, and it says not supported, while some people on the internet talking about a missing curses lib. from pdcurses.org on windows that's why not working. any one having any idea on how to make the TUI works?
-
Can curses lib handle resizing of Windows console?
However, I now experimented a litte with the PDCurses implementation in Windows 11, and found that
-
stty not recognized, can't find any solutions anywhere else. Anyone know a fix or another way to set input to raw?
I'm not sure of what's good or bad of the various variants but quick googling found (https://github.com/wmcbrine/PDCurses).
- Expecting pdcurses?
-
PDCurses alternatives - notty and S-Lang
3 projects | 30 Dec 2021
-
I can't include external libraries to my mingw installation
Since ncurses doesn't support Windows, you need PDCurses instead. After extracting the source tarball, cd into wincon/ and run make, which produces pdcurses.a static library. You'll need that library and curses.h from the project root.
-
NNN-like File Explorer
nnn uses the ncurses library. Someone has to compile it with PDCurses to work natively in cmd: https://pdcurses.org/
-
Something faster than printf?
On Windows you might need to use a shim layer (https://pdcurses.org/). However that actually creates an SDL based window and prints characters there.
- PDCurses (ncurses for dos)
imgui
-
Using raylib with Dear ImGui: Game Dev Debugging UI
include(cmake/CPM.cmake) function(raylib_imgui_setup_dependencies) message(STATUS "Include Dear ImGui") FetchContent_Declare( ImGui GIT_REPOSITORY https://github.com/ocornut/imgui GIT_TAG 277ae93c41314ba5f4c7444f37c4319cdf07e8cf) # v1.90.4 FetchContent_MakeAvailable(ImGui) FetchContent_GetProperties(ImGui SOURCE_DIR IMGUI_DIR) add_library( imgui STATIC ${imgui_SOURCE_DIR}/imgui.cpp ${imgui_SOURCE_DIR}/imgui_draw.cpp ${imgui_SOURCE_DIR}/imgui_widgets.cpp ${imgui_SOURCE_DIR}/imgui_tables.cpp) target_include_directories(imgui INTERFACE ${imgui_SOURCE_DIR}) include(cmake/CPM.cmake) message(STATUS "Include dbg-macro") cpmaddpackage( "gh:sharkdp/dbg-macro#fb9976f410f8b29105818b20278cd0be0e853fe8" )# v0.5.1 message(STATUS "Include fmtlib") cpmaddpackage("gh:fmtlib/fmt#e69e5f977d458f2650bb346dadf2ad30c5320281" )# 10.x message(STATUS "Include raylib") cpmaddpackage("gh:raysan5/raylib#ae50bfa2cc569c0f8d5bc4315d39db64005b1b0" )# v5.0 message(STATUS "Include spdlog") cpmaddpackage("gh:gabime/spdlog#7c02e204c92545f869e2f04edaab1f19fe8b19fd" )# v1.13.0 message(STATUS "Include rlImGui") FetchContent_Declare( rlImGui GIT_REPOSITORY https://github.com/raylib-extras/rlImGui GIT_TAG d765c1ef3d37cf939f88aaa272a59a2713d654c9) FetchContent_MakeAvailable(rlImGui) FetchContent_GetProperties(rlImGui SOURCE_DIR RLIMGUI_DIR) add_library(rlimgui STATIC ${rlimgui_SOURCE_DIR}/rlImgui.cpp) target_link_libraries(rlimgui PRIVATE imgui raylib) target_include_directories(rlimgui INTERFACE ${rlimgui_SOURCE_DIR}) endfunction()
- Ask HN: Fastest cross-platform GUI stack/strategy
-
Immediate Mode GUI Programming
Immediate mode is a fuzzy concept, as witnessed by this writeup: https://github.com/ocornut/imgui/wiki/About-the-IMGUI-paradi...
- Nebula is an open-source and free-to-use modern C++ game engine
-
Black Triangles
It's fun to see the evolution in e.g. these examples of image loading for Dear Imgui:
https://github.com/ocornut/imgui/wiki/Image-Loading-and-Disp...
DirectX9 will even load the image for you, DirectX11 okay we get a few more structures to fill out, DirectX12 is where it goes off the rails and we are filling out a bunch of UNKNOWN DONT_CARE JUST_DO_IT. Then of course Vulkan is the one that gets the big fat "this probably won't actually work for you" warning.
I understand whats happening, but you know sometimes I just want to display a fucking image.
-
Dear ImGui: Bloat-free Graphical User interface with minimal dependencies
ImGui is engine/GPU agnostic
Themeing isn't a just a retained mode thing, you can do wonders with immediate UIs, even thought (dear)ImGui doesn't provide much, you can still do wonders: https://github.com/ocornut/imgui/issues/707#issuecomment-362...
More on that topic: https://www.youtube.com/watch?v=Z1qyvQsjK5Y
-
Where do I start to learn C++ for a game development
Bonus: If you want to make desktop app with UI, then this is another great C++ library and it's also simple to learn as well. https://github.com/ocornut/imgui.
-
GUI library for fast prototyping
AFAIK the Rust equivalent to C++'s Dear ImGui is egui.
-
Stretching myself thin with Dear ImGui projects
They use a Dear ImGui, a C++ GUI library.
-
PCSX2 Disables Wayland Support
Aside from bugs and driver issues, Wayland has some unfortunate design limitations. For example, Dear ImGui multi-viewports don't work because "Wayland doesn't let application read or write windows positions."
https://github.com/ocornut/imgui/wiki/Multi-Viewports
This is a feature available on Windows, macOS, and of course X11. Making choices like this means desktop Linux becomes even more of a weird island that nobody wants to support.
What are some alternatives?
ncurses - snapshots of ncurses - see http://invisible-island.net/ncurses/ncurses.faq.html (no pull requests are accepted)
wxWidgets - Cross-Platform C++ GUI Library
sciter - Sciter: the Embeddable HTML/CSS/JS engine for modern UI development
nuklear - A single-header ANSI C immediate mode cross-platform GUI library
NanoGUI - Minimalistic GUI library for OpenGL
Stacer - Linux System Optimizer and Monitoring - https://oguzhaninan.github.io/Stacer-Web
GTK+ - Read-only mirror of https://gitlab.gnome.org/GNOME/gtk
egui - egui: an easy-to-use immediate mode GUI in Rust that runs on both web and native
CEGUI