Page 1 of 1

Exotic Unicode

Posted: Thu Jan 12, 2023 3:19 am
by nicks

If I paste this unicode character "🍌" into CodeLite's editor, it appears as "xFFx8Dx8c". This might not be a problem in itself, but when I load a file with similar exotic unicode characters into CodeLite, modify the file and then save it, the encoding of these characters gets changed - and that is a huge problem for me! I have selected "Utf-8" encoding in Settings-Preferences but this does not help. I don't think this is a wxWidgets issue, as I can paste "🍌" into other wxWidgets applications (eg CodeBlocks and Audacity) without problem.

I've spent several hours trying to fix this or find a workaround, to no avail. Would appreciate any help.

Am using CodeLite 14.0.0.


Re: Exotic Unicode

Posted: Thu Jan 12, 2023 10:43 am
by eranif

I dont see any problem here, using CodeLite 17

exotic.png

Re: Exotic Unicode

Posted: Thu Jan 12, 2023 6:24 pm
by nicks

Many thanks for prompt reply. I've cloned the latest codelite from git but cannot build. I know I'm going off topic now, but do you have any idea what would cause:

[ 22%] Building CXX object CodeLite/CMakeFiles/libcodelite.dir/clBitset.cpp.o
/opt/codelite-git-2023-01-12/codelite/CodeLite/clBitmap.cpp: In static member function ‘static bool clBitmap::ShouldLoadHiResImages()’:
/opt/codelite-git-2023-01-12/codelite/CodeLite/clBitmap.cpp:64:9: error: ‘GdkScreen’ was not declared in this scope
64 | GdkScreen* screen = gdk_screen_get_default();
| ~~~~~
/opt/codelite-git-2023-01-12/codelite/CodeLite/clBitmap.cpp:64:20: error: ‘screen’ was not declared in this scope; did you mean ‘strlen’?
64 | GdkScreen* screen = gdk_screen_get_default();
| ~~
| strlen
[ 22%] Building CXX object CodeLite/CMakeFiles/libcodelite.dir/clCommandProcessor.cpp.o
/opt/codelite-git-2023-01-12/codelite/CodeLite/clBitmap.cpp:64:29: error: ‘gdk_screen_get_default’ was not declared in this scope
64 | GdkScreen* screen = gdk_screen_get_default();
| ~~~~~~~~~~~~~~~~~~
[ 22%] Building CXX object CodeLite/CMakeFiles/libcodelite.dir/clConcurrent.cpp.o
[ 23%] Building CXX object CodeLite/CMakeFiles/libcodelite.dir/clConsoleAlacritty.cpp.o
/opt/codelite-git-2023-01-12/codelite/CodeLite/clBitmap.cpp:66:26: error: ‘gdk_screen_get_resolution’ was not declared in this scope
66 | double res = gdk_screen_get_resolution(screen);
| ~~~~~~~~~~~~~~~~~~~~~
[ 23%] Building CXX object CodeLite/CMakeFiles/libcodelite.dir/clConsoleBase.cpp.o


Re: Exotic Unicode

Posted: Thu Jan 12, 2023 9:26 pm
by DavidGH

Hi,

Which distro/version? And' in view of this wxForum post, which gtk+ version?

Regards,

David


Re: Exotic Unicode

Posted: Fri Jan 13, 2023 1:00 am
by nicks

Hi David,

My distro is Linux Mint 21.1 Xfce v4.16. 64 bit.

uname -a -> Linux NJS1 5.15.0-56-generic #62-Ubuntu SMP Tue Nov 22 19:54:14 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux

I'm using Gtk3
locate gtk+-3 -> /usr/lib/x86_64-linux-gnu/pkgconfig/gtk+-3.0.pc

My cmake command was
PATH=/opt/wxWidgets-git/wxWidgets/install-gtk-debug-static/bin/:$PATH cmake -DCMAKE_BUILD_TYPE=Release .. -DCOPY_WX_LIBS=1
and the relevant lines of output were:
-- wxWidgets version is: 3.3.0
-- gtk version is: 3
...
-- Found gtk+-3.0, version 3.24.33
...
-- Found GTK3: /usr/lib/x86_64-linux-gnu/libgtk-3.so
-- Found wxWidgets: -L/opt/wxWidgets-2022-12-09/wxWidgets/install-gtk-debug-static/lib;-pthread;;;/opt/wxWidgets-2022-12-09/wxWidgets/install-gtk-debug-static/lib/libwx_gtk3u_aui-3.3.a;/opt/wxWidgets-2022-12-09/wxWidgets/install-gtk-debug-static/lib/libwx_gtk3u_propgrid-3.3.a;/opt/wxWidgets-2022-12-09/wxWidgets/install-gtk-debug-static/lib/libwx_gtk3u_xrc-3.3.a;/opt/wxWidgets-2022-12-09/wxWidgets/install-gtk-debug-static/lib/libwx_baseu_net-3.3.a;/opt/wxWidgets-2022-12-09/wxWidgets/install-gtk-debug-static/lib/libwx_gtk3u_stc-3.3.a;/opt/wxWidgets-2022-12-09/wxWidgets/install-gtk-debug-static/lib/libwx_gtk3u_ribbon-3.3.a;/opt/wxWidgets-2022-12-09/wxWidgets/install-gtk-debug-static/lib/libwx_gtk3u_richtext-3.3.a;/opt/wxWidgets-2022-12-09/wxWidgets/install-gtk-debug-static/lib/libwx_gtk3u_html-3.3.a;/opt/wxWidgets-2022-12-09/wxWidgets/install-gtk-debug-static/lib/libwx_gtk3u_core-3.3.a;/opt/wxWidgets-2022-12-09/wxWidgets/install-gtk-debug-static/lib/libwx_baseu_xml-3.3.a;/opt/wxWidgets-2022-12-09/wxWidgets/install-gtk-debug-static/lib/libwx_baseu-3.3.a;-lgthread-2.0;-pthread;-lX11;-lSM;-lgtk-3;-lgdk-3;-lpangocairo-1.0;-latk-1.0;-lcairo-gobject;-lcairo;-lgdk_pixbuf-2.0;-lgio-2.0;-lXtst;-lpangoft2-1.0;-lpango-1.0;-lgobject-2.0;-lglib-2.0;-lharfbuzz;-lfontconfig;-lfreetype;-lwxscintilla-3.3;-lexpat;-lpcre2-32;-lpng;-ljpeg;-ltiff;-ljbig;-lz;-lm (found version "3.3.0")

I would appreciate any help. I spend some time searching the web for clues but got nowhere.

Kind Regards
Nick


Re: Exotic Unicode

Posted: Fri Jan 13, 2023 2:33 am
by DavidGH

PATH=/opt/wxWidgets-git/wxWidgets/install-gtk-debug-static/bin/

So a static-build of wxWidgets? That's the first place to look, then.

Static-built wx is normal for wxMSW but rarely used or tested on Linux. I suggest you create a standard dynamic-build (or use our wx3.2.0 one). I'd be surprised if that didn't solve the problem.


Re: Exotic Unicode

Posted: Fri Jan 13, 2023 11:19 pm
by nicks

Hi David,
Many thanks for the help.
As you suggested, I built a dynamic version of wxWidgets (v3.2.1) and linked to that. The build of codelite completed successfully. After "sudo make install" I did "codelite --version" at the command line and got "CodeLite IDE v17.1.0". However, when I attempt to run codelite, it shows its ide but then immediately crashes and displays the "Codelite crash handler" dialog. Clicking "Yes" on this dialog, starts gdb but I just get: "Could not attach to process.". I have studied the core dump but that has not helped. There dont seem to be any useful log messages.
"ldd codelite" looked ok; although I'm not sure if my knowledge is sufficient to spot any errors there.
The wxWidget samples build and run OK so my wxWidget build seems ok.
I really have no clue how to proceed and wondered if you might have any idea?
Many thanks
Nick


Re: Exotic Unicode

Posted: Sat Jan 14, 2023 1:06 am
by eranif

Try building CodeLite and install it locally (without sudo )

Code: Select all

 cd codelite
 mkdir build-release
 cd build-release
 cmake -DCMAKE_BUILD_TYPE=Release .. -DCOPY_WX_LIBS=1 -DCMAKE_INSTALL_PREFIX=$HOME/root
 make -j$(nproc)
make install

To run CodeLite:

Code: Select all

$HOME/root/bin/codelite

Re: Exotic Unicode

Posted: Sat Jan 14, 2023 4:54 pm
by nicks

Many thanks. Yes, that worked. I'm now running v17.1.0.

I don't want to take up too much more of your time, but I do have a couple of queries.

In v14.0.0 there is a "Perspective" menu. This seems to have gone in v17.1.0 and "Find Anything" does not find it. v17.1 has a "Restore Layout" command, but the "Save Current Layout As..." is missing. Having said that, I never managed to get good results from using "Save Current Layout" .. Restoring default layout deletes saved layouts ... I am wondering if that is why it has been removed.

The reason I try to use these layout commands is because of a problem I experience when detaching tabs from the Debugger View. If I detach the "CallStack" or "Watch" tabs, they always immediately move to the far left of the ide frame. They cannot be moved away from there. There have also been times when I have completely "lost" the "Watches" tab. The only way I have found of retrieving it is via "Restore Layout". That is why I have found the "Perspective" menu so useful. By the way, I can successfully detach and move tabs as desired from the Workspace view - the problem seems to be only with the "Debugger View".