Live data from Hacker News

Libui: GUI library in C

github.com

61–70 of 186 posts

Re: Libui: GUI library in C

#62
post #52

Earlier quoted context omitted.

> I was recently thinking that operating systems should ditch their custom desktops in favor of a browser based UI. Why? > it still seems to me that a browser based OS UI would be far more effective than things like Gnome and KDE and all that stuff. How so? My needs haven't changed. I still need a UI that provides a searchable launch menu, some quick-launch buttons, window management, etc. Rendering a bunch of things…

>>Why? Because somehow websites end up (can end up) looking great, but all those Linux desktops look shit. Things don't line up, the margins and spacing are wrong. It looks like it's made from a set of ill fitting phony knockoff lego bits that don't fit together. If web browsers make it possible to design slick interfaces then the Linux desktop folks should get onto that quick smart. Having said that, I guess that's…

The linux folks are the least likely to switch. We love our comman line, text editors, launchers and window managers, thank you very much [1].

[1] http://reddit.com/r/unixporn

Re: Libui: GUI library in C

#63
post #56
post #6

Very interesting indeed. It supports MacOS X which is a nice addition to my other favorite, the IUP. http://webserver2.tecgraf.puc-rio.br/iup/

Yes, IUP would have been the killer toolkit if it only supported OSX. I love the IUP API in both C and Lua.

I wish it had good OS X support too.

The best hope so far is probably what's described in this email: http://lua-users.org/lists/lua-l/2016-03/msg00019.html

Re: Libui: GUI library in C

#64
post #52

Earlier quoted context omitted.

> I was recently thinking that operating systems should ditch their custom desktops in favor of a browser based UI. Why? > it still seems to me that a browser based OS UI would be far more effective than things like Gnome and KDE and all that stuff. How so? My needs haven't changed. I still need a UI that provides a searchable launch menu, some quick-launch buttons, window management, etc. Rendering a bunch of things…

>>Why? Because somehow websites end up (can end up) looking great, but all those Linux desktops look shit. Things don't line up, the margins and spacing are wrong. It looks like it's made from a set of ill fitting phony knockoff lego bits that don't fit together. If web browsers make it possible to design slick interfaces then the Linux desktop folks should get onto that quick smart. Having said that, I guess that's…

There isn't anything inherent to web design that makes it better-suited to creating "slick" interfaces. There's a lot of the culture of web design that I want to stay the hell away from my desktop, though.

To me, the web is for goofing off. It's where I'll read an article, post some comments somewhere, and leave. The desktop's where I get things done. I like Mate's interface (ditched Gnome at 3.x because I didn't like the new direction). KDE isn't terrible, but I feel like it gets in my way a little bit more.

> It looks like it's made from a set of ill fitting phony knockoff lego bits that don't fit together.

I remember when I would've described Linux desktops like that (about 15 years ago). You can still replicate that if you get too creative with your choice of themes and such, but I haven't found it distracting to what I use my computers for in....well, close to the last decade. Then again, I'm not a designer, so I tend not to notice or be bothered by some things that'd throw others into fits.

> Having said that, I guess that's what ChromeOS is eh?

It's neutered Linux. It's pretty enough, I suppose.

Re: Libui: GUI library in C

#65
Nice work, but I wish SWT had picked up more steam outside the Java community. It's the same idea, but with a decade+ of banging on the corner cases for the use cases of the Eclipse IDE.

In addition to all the standard controls, it's also got OpenGL and browser embedding since before Electron was cool.

Using it on the JVM is very easy, but there was a short-lived attempt to maintain a C++ API.

- How it looks: https://www.eclipse.org/swt/

- From Jython: https://github.com/danathughes/jythonSWT

- From JRuby: https://github.com/neelance/swt4ruby

- From C++ (defunct): http://www.pure-native.com/

It's built out of small chunks of C code: https://github.com/eclipse/eclipse.platform.swt/search?p=1&q... that are wrapped in a Java API with a straightforward coding style that seems amenable to automatic source translation. And it doesn't need GC - it actually requires the Java programmer to manually dispose resources, which is easy because it always requires objects to have a parent, so everything goes away when the pane / window / whatever gets disposed.

Re: Libui: GUI library in C

#66
post #16

I was recently thinking that operating systems should ditch their custom desktops in favor of a browser based UI. Microsoft tried this idea out and it didn't work a few years back but it still seems to me that a browser based OS UI would be far more effective than things like Gnome and KDE and all that stuff. Edit: well I guess Google had the same idea long ago and called it ChromeOS - browser as OS interface.

> I was recently thinking that operating systems should ditch their custom desktops in favor of a browser based UI.

Here's the really funny thing though, if you just think about it for a second:

Whether browsers become as powerful as operating systems, or operating systems become as convenient (for users and developers) as browsers,

The end result will be exactly the same.

Yep. Consider how we use browsers vs. native apps right now:

- I can open a browser and say type twitter.com and get the exact same experience on ANY device, right away, along with all my data. This is good.

or

- IF a native app is available, I have to download it first, and then, I just have to launch that app directly every time I want to use it. I get a far more responsive UI, better integration into the rest of the operating system, and the native app can support more offline capability than it could if it was running in a browser. This is good too.

Now obviously what browsers are missing is the UI responsiveness, efficient hardware performance, and OS integration.

What native apps are missing is the convenience of typing in a web address, and they're more difficult for developers to provide the same experience on every OS.

Where we stand right now, it will take WAY more work to get web apps on the same level as native apps. Lots of wheels to reinvent.

It will take far less work to make the discoverability and acquisition of native apps as convenient as typing in a web address. So why not work towards that instead?

Re: Libui: GUI library in C

#67

Earlier quoted context omitted.

> I was recently thinking that operating systems should ditch their custom desktops in favor of a browser based UI. Why? > it still seems to me that a browser based OS UI would be far more effective than things like Gnome and KDE and all that stuff. How so? My needs haven't changed. I still need a UI that provides a searchable launch menu, some quick-launch buttons, window management, etc. Rendering a bunch of things…

because we're on the topic of cross-platform UI frameworks.

Fine, fine. But why specifically a browser-based UI? I'd think you'd make a jump like that to solve a particular problem. From hoodoof's reply, they think that current Linux desktop design is "shit", and that the solution could be to replace the desktop with a different piece of technology. Not a sentiment that I agree with, but it's a reasonable answer to my question.

Still, taken as a given: Linux desktop design could use some work. Or at least the themes and icon sets.

Re: Libui: GUI library in C

#68

Earlier quoted context omitted.

How so? The likely reason is that a C lib is usable from many other environments. Look at ncurses for example. Heavily used from many languages, and written in C. Another reason is that the underlying tools used by this library are likely in C as well, so it's probably the easiest language to use for the task.

Ok, but my question was not about FFI, but writing a GUI app...

The point here is libui can be accessed by other languages—in which one may want to write their desktop application—via FFI.

Re: Libui: GUI library in C

#69

This is a very good approach for the current times! As far as I understand from the source code, libui is a thin C wrapper that makes calls to each platform native ui framework. For instance, to create a window on OSX it calls the corresponding Cocoa function, for Linux the corresponding GTK function, etc. So, unlike Qt and GTK which are heavy cross-platform libraries because they can "draw" their own widgets themsel…

It's not a new approach, though. SWT (for the JVM) and wxWidgets (C++, with bindings for more than a dozen languages) have been following it for years.

Re: Libui: GUI library in C

#70
post #38

Earlier quoted context omitted.

This is not the same approach. Wxwidget is C++ which makes binding to other languages cumbersome. The same applies also to TK which is binded trough an embedded TCL interpreter.

Also TK doesn't offer native looks. Wx tries, though I'm not sure how good taking into account all platforms.

Wx tries, but IMO fails to varying degrees to feel "right". WxGTK in Linux is okay-ish (everyone expects shitty UX from GTK programs anyway); WxMSW is an eye-sore. I haven't dared using Wx under OSX yet.
Post reply on HN