Re: Dynamic Bindings to libui (x-platform GUI)
On 09/01/2018 1:32 AM, helxi wrote: On Tuesday, 24 May 2016 at 20:52:54 UTC, extrawurst wrote: Hey folks, libui is a crossplatform GUI lib written in C. This makes it a perfect candidate to be used in D! What they say about libui on their site: "Simple and portable (but not inflexible) GUI library in C that uses the native GUI technologies of each platform it supports." find libui on github: https://github.com/andlabs/libui So here are the inofficial Derelict Bindings to it: https://github.com/Extrawurst/DerelictLibui I tested them on both windows and mac osx so far. Any linux user is welcome to test it on there aswell. Let me know if you find any issues. -Stephan Hi, I'm on Arch Linux (64-bit). `dub --config=test` gives me the following error: (Please be noted that I have libui installed in my system already) $ dub --config=test Performing "debug" build using /usr/bin/dmd for x86_64. derelict-util 2.1.0: target for configuration "library" is up to date. derelict-libui 0.3.0+commit.2.g079a15e: target for configuration "test" is up to date. To force a rebuild of up-to-date targets, run again with --force. Running ./lib/DerelictLibui derelict.util.exception.SymbolLoadException@../../.dub/packages/derelict-util-2.1.0/derelict-util/source/derelict/util/sharedlib.d(177): Failed to load symbol uiControlVerifyDestroy from shared library libui.so.0 ??:? void* derelict.util.sharedlib.SharedLib.loadSymbol(immutable(char)[], bool) [0xd457b00a] ??:? void* derelict.util.loader.SharedLibLoader.loadSymbol(immutable(char)[], bool) [0xd45792aa] ??:? void derelict.util.loader.SharedLibLoader.bindFunc(void**, immutable(char)[], bool) [0xd4579300] ??:? void derelict.libui.libui.DerelictLibuiLoader.loadSymbols() [0xd4576983] ??:? void derelict.util.loader.SharedLibLoader.load(immutable(char)[][]) [0xd457912a] ??:? void derelict.util.loader.SharedLibLoader.load(immutable(char)[]) [0xd45790a4] ??:? void derelict.util.loader.SharedLibLoader.load() [0xd4578f87] ??:? _Dmain [0xd45783a4] Program exited with code 1 https://github.com/Extrawurst/DerelictLibui/issues/7
Re: Dynamic Bindings to libui (x-platform GUI)
On Tuesday, 24 May 2016 at 20:52:54 UTC, extrawurst wrote: Hey folks, libui is a crossplatform GUI lib written in C. This makes it a perfect candidate to be used in D! What they say about libui on their site: "Simple and portable (but not inflexible) GUI library in C that uses the native GUI technologies of each platform it supports." find libui on github: https://github.com/andlabs/libui So here are the inofficial Derelict Bindings to it: https://github.com/Extrawurst/DerelictLibui I tested them on both windows and mac osx so far. Any linux user is welcome to test it on there aswell. Let me know if you find any issues. -Stephan Hi, I'm on Arch Linux (64-bit). `dub --config=test` gives me the following error: (Please be noted that I have libui installed in my system already) $ dub --config=test Performing "debug" build using /usr/bin/dmd for x86_64. derelict-util 2.1.0: target for configuration "library" is up to date. derelict-libui 0.3.0+commit.2.g079a15e: target for configuration "test" is up to date. To force a rebuild of up-to-date targets, run again with --force. Running ./lib/DerelictLibui derelict.util.exception.SymbolLoadException@../../.dub/packages/derelict-util-2.1.0/derelict-util/source/derelict/util/sharedlib.d(177): Failed to load symbol uiControlVerifyDestroy from shared library libui.so.0 ??:? void* derelict.util.sharedlib.SharedLib.loadSymbol(immutable(char)[], bool) [0xd457b00a] ??:? void* derelict.util.loader.SharedLibLoader.loadSymbol(immutable(char)[], bool) [0xd45792aa] ??:? void derelict.util.loader.SharedLibLoader.bindFunc(void**, immutable(char)[], bool) [0xd4579300] ??:? void derelict.libui.libui.DerelictLibuiLoader.loadSymbols() [0xd4576983] ??:? void derelict.util.loader.SharedLibLoader.load(immutable(char)[][]) [0xd457912a] ??:? void derelict.util.loader.SharedLibLoader.load(immutable(char)[]) [0xd45790a4] ??:? void derelict.util.loader.SharedLibLoader.load() [0xd4578f87] ??:? _Dmain [0xd45783a4] Program exited with code 1
Re: Dynamic Bindings to libui (x-platform GUI)
On 11/16/2016 03:50 AM, Kagamin wrote: On Wednesday, 25 May 2016 at 16:47:30 UTC, Nick Sabalausky wrote: Drives me nuts when people count "Always uses GTK on Linux" as "Native UI". It's like those programs that do everything completely Ubuntu-centric whenever possible and then advertise "Linux Support". I *really* wish GTK would just die already. https://github.com/andlabs/libui/pull/80 Yea, I spotted that. Looks nice, I hope it gets merged, but I'm not holding my breath: - As its notes say, it is still incomplete - The pull's author has stated (in discussion for #30) he doesn't intend to finish it - Plus it's just been sitting unmerged since May - The libui author himself still maintains he doesn't want Qt support and feels it's redundant since Qt exists (which makes me wonder what he feels the point of his own lib is in the first place, since, why use libui when Qt exists and can do native look on everything *including* GTK-based environments?). :( Anyway, I'm glad there's D bindings for this, but I do wish the libui author would change his stance and allow a Qt backend, because that would make this a very attractive lib. *Or* maybe GTK could just add support for Qt themes (without then removing the feature in a point release), but we all know that will never happen :/
Re: Dynamic Bindings to libui (x-platform GUI)
On Wednesday, 25 May 2016 at 16:47:30 UTC, Nick Sabalausky wrote: Drives me nuts when people count "Always uses GTK on Linux" as "Native UI". It's like those programs that do everything completely Ubuntu-centric whenever possible and then advertise "Linux Support". I *really* wish GTK would just die already. https://github.com/andlabs/libui/pull/80
Re: Dynamic Bindings to libui (x-platform GUI)
you probably misunderstood my post. ;-) i absolutely don't want to install gtk+3, it's not "native" for my system, no other app is using it. that means "no GNU/Linux support" for me.
Re: Dynamic Bindings to libui (x-platform GUI)
On Thursday, 26 May 2016 at 17:17:00 UTC, ketmar wrote: great lib (libui). sadly, no GNU/Linux support in there yet. gtk+3 is complete crap, and it doesn't even *have* to present in system (it isn't in my case). and libui cannot fallback to gtk+2. it's sad: i was very excited by the nice C UI library (even if it is actually a wrapper). let's hope libui author will make a working GNU/Linux version. Mmmh...it works on linux. You just have to install gtk3-devel (>3.10 is OK) from the official package manager of your distro, then run make in the libui submodule folder. It's even probably the platform where it's the easyer to setup.
Re: Dynamic Bindings to libui (x-platform GUI)
great lib (libui). sadly, no GNU/Linux support in there yet. gtk+3 is complete crap, and it doesn't even *have* to present in system (it isn't in my case). and libui cannot fallback to gtk+2. it's sad: i was very excited by the nice C UI library (even if it is actually a wrapper). let's hope libui author will make a working GNU/Linux version.
Re: Dynamic Bindings to libui (x-platform GUI)
On Wednesday, 25 May 2016 at 16:47:30 UTC, Nick Sabalausky wrote: On 05/24/2016 04:52 PM, extrawurst wrote: So here are the inofficial Derelict Bindings to it: https://github.com/Extrawurst/DerelictLibui Some D-oriented docs and example code would be nice. There is a plain conversion of the libui example: https://github.com/Extrawurst/DerelictLibui/blob/master/source/app.d [..snip GTK rage..]
Re: Dynamic Bindings to libui (x-platform GUI)
On 05/24/2016 04:52 PM, extrawurst wrote: So here are the inofficial Derelict Bindings to it: https://github.com/Extrawurst/DerelictLibui Some D-oriented docs and example code would be nice. > > find libui on github: > https://github.com/andlabs/libui Hmm: > uses the native GUI technologies of each platform it supports > ... > Windows: Windows Vista SP2 with Platform Update or newer > Unix: GTK+ 3.4 or newer > Mac OS X: OS X 10.7 or newer Drives me nuts when people count "Always uses GTK on Linux" as "Native UI". It's like those programs that do everything completely Ubuntu-centric whenever possible and then advertise "Linux Support". I *really* wish GTK would just die already.
Re: Dynamic Bindings to libui (x-platform GUI)
On Wednesday, 25 May 2016 at 02:34:03 UTC, Mike Parker wrote: On Tuesday, 24 May 2016 at 20:52:54 UTC, extrawurst wrote: Hey folks, So here are the inofficial Derelict Bindings to it: https://github.com/Extrawurst/DerelictLibui I tested them on both windows and mac osx so far. Any linux user is welcome to test it on there aswell. Let me know if you find any issues. -Stephan Cool. I've got this project on my github watchlist and have had a Derelict binding on my TODO list. I was waiting for it to get out of alpha status. I don't particularly like maintaining bindings to libraries I can' t be sure are going to keep a stable API. Doesn't look like it's been changing too much though. Yeah I know what you mean about stability but thats the reason why I am not using a specific release of libui but simply submodule to the exact version I am compatible with. Also some other libs I am having on my rodadmap do use use any tags/versions ;( like nuklear wich is next on my list: https://github.com/vurtun/nuklear Cheers, Stephan
Re: Dynamic Bindings to libui (x-platform GUI)
On Tuesday, 24 May 2016 at 20:52:54 UTC, extrawurst wrote: Hey folks, So here are the inofficial Derelict Bindings to it: https://github.com/Extrawurst/DerelictLibui I tested them on both windows and mac osx so far. Any linux user is welcome to test it on there aswell. Let me know if you find any issues. -Stephan Cool. I've got this project on my github watchlist and have had a Derelict binding on my TODO list. I was waiting for it to get out of alpha status. I don't particularly like maintaining bindings to libraries I can' t be sure are going to keep a stable API. Doesn't look like it's been changing too much though.
Re: Dynamic Bindings to libui (x-platform GUI)
On Wednesday, 25 May 2016 at 00:56:00 UTC, Zekereth wrote: I had to comment out instances of uiControlVerifyDestroy on Linux. Seems libui was updated and removed/moved that function: Removed uiControlVerifyDestroy(); that is now part of uiFreeControl() itself. There's no problem when you build libui from the git submodule. Actually I think it's safer to do this because the C shared lib and the bindings are in sync.
Re: Dynamic Bindings to libui (x-platform GUI)
On Tuesday, 24 May 2016 at 20:52:54 UTC, extrawurst wrote: Hey folks, libui is a crossplatform GUI lib written in C. This makes it a perfect candidate to be used in D! What they say about libui on their site: "Simple and portable (but not inflexible) GUI library in C that uses the native GUI technologies of each platform it supports." find libui on github: https://github.com/andlabs/libui So here are the inofficial Derelict Bindings to it: https://github.com/Extrawurst/DerelictLibui I tested them on both windows and mac osx so far. Any linux user is welcome to test it on there aswell. Let me know if you find any issues. -Stephan I had to comment out instances of uiControlVerifyDestroy on Linux. Seems libui was updated and removed/moved that function: Removed uiControlVerifyDestroy(); that is now part of uiFreeControl() itself. Other than that it seems to work great on Linux. Thanks for this!
Re: Dynamic Bindings to libui (x-platform GUI)
On Tuesday, 24 May 2016 at 20:52:54 UTC, extrawurst wrote: Hey folks, libui is a crossplatform GUI lib written in C. This makes it a perfect candidate to be used in D! What they say about libui on their site: "Simple and portable (but not inflexible) GUI library in C that uses the native GUI technologies of each platform it supports." find libui on github: https://github.com/andlabs/libui So here are the inofficial Derelict Bindings to it: https://github.com/Extrawurst/DerelictLibui Thx ! I tested them on both windows and mac osx so far. Any linux user is welcome to test it on there aswell. Look at the pull requests ;) Let me know if you find any issues. -Stephan
Dynamic Bindings to libui (x-platform GUI)
Hey folks, libui is a crossplatform GUI lib written in C. This makes it a perfect candidate to be used in D! What they say about libui on their site: "Simple and portable (but not inflexible) GUI library in C that uses the native GUI technologies of each platform it supports." find libui on github: https://github.com/andlabs/libui So here are the inofficial Derelict Bindings to it: https://github.com/Extrawurst/DerelictLibui I tested them on both windows and mac osx so far. Any linux user is welcome to test it on there aswell. Let me know if you find any issues. -Stephan