wx dll was build for the nightlies as follows (using gcc15)
mingw32-make -f makefile.gcc SHARED=1 MONOLITHIC=1 BUILD=release UNICODE=1 VENDOR=cb CXXFLAGS+="-std=c++23" setup_h
mingw32-make -f makefile.gcc -j 26 SHARED=1 MONOLITHIC=1 BUILD=release UNICODE=1 VENDOR=cb CXXFLAGS+="-std=c++23"
==> -std=c++23
and CB was also build like that (CB nightlies are build by using CB) by having the global variable "cb_cpp_std" the value "-std=c++23".
You can use C:B in darkmode. At least 2 ways to obtain this :
- Use darkmode for Windows: C::B will follow Windows mode
- Use a small cmd file to force darkmode: This cmd file is something like:
REM To force darkmode (if 0 standard color mode, if 1 follow system mode)
set WX_MSW_DARK_MODE=2
codeblocks.exe
Then you can adjust different colors.
In this example, this codeblocks_DarkMode.cmd file is placed where codeblocks.exe is installed.
Hello Developers.
Unfortunately the folding margin is located next to the text inside the editor and thus, it happens very easily that you force a folding even you just want click at the first line position, what is very annoying.
While reviewing the current margin configuration in cbEditor.cpp, I noticed that Code::Blocks defines its own margin IDs:
#define C_LINE_MARGIN 0
#define C_MARKER_MARGIN 1
#define C_CHANGEBAR_MARGIN 2
#define C_FOLDING_MARGIN 3
As far as I understand it, Scintilla (and wxScintilla) always render margins strictly in ascending ID order.
Because of this, the folding margin (ID 3) appears directly next to the text area in the editor. This placement makes it easy to accidentally trigger fold/unfold actions when clicking near column 1, especially on high‑resolution displays.
Other Scintilla‑based editors (SciTE, Geany, Notepad++) avoid this issue by placing the folding margin immediately to the right of the line‑number margin. This provides a natural buffer zone and significantly reduces accidental folding.
In Code::Blocks, the folding margin is configured here:
control->SetMarginType(C_FOLDING_MARGIN, wxSCI_MARGIN_SYMBOL);
control->SetMarginWidth(C_FOLDING_MARGIN, foldingMarginBaseWidth);
control->SetMarginMask(C_FOLDING_MARGIN, ...);
control->SetMarginSensitive(C_FOLDING_MARGIN, 1);
Since all margin‑related logic consistently seems to use the symbolic constants (C_FOLDING_MARGIN, C_MARKER_MARGIN, etc.), adjusting the margin order is limited to changing the four #define values. No other code changes should be required, and no plugins or configuration files are affected.
Suggested improvement:
Reassign the folding margin to a lower ID (e.g., 1), so the margin order becomes:
Line numbers → Folding → Marker → Changebar → Text
This can simply be changed while the definition of the preprocessor constants like this:
#define C_LINE_MARGIN 0
#define C_FOLDING_MARGIN 1
#define C_MARKER_MARGIN 2
#define C_CHANGEBAR_MARGIN 3
I think this small, isolated change would align Code::Blocks with common Scintilla practice and improve usability without introducing new settings or breaking existing functionality.
Please take a look to this and thank you in advance.
Best regards,
Eckard Klotz.