Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

GUI/TUI linux library

Is there any UI library that can be to build both a text user interface (ncurses) and graphical user interface (GTK? QT?) from the same source? I know that debconf can be used with various frontends, I would like to build something similar but programmable.

like image 794
Penz Avatar asked Sep 02 '08 18:09

Penz


2 Answers

The library that powers YaST independence to do ncurses, gtk and qt with one codebase provides what you are looking for, and it is not tied to YaST itself.

Actually libyui only requires the standard C++ library and phtreads (IIRC). The UI plugins require of course the respective libraries (Qt, ncurses). YaST uses libyui via a set of YCP bindings that export a YCP like API on top of libyui.

The library is a bit lowlevel (one layer below an event loop), my colleage Klaus Kämpf wrote about using it some time ago in his blog, including binding to scripting languages it using swig.

The only part that is SUSE specific is the packaging, so you would need to package it yourself. Stackoverflow did not allow me to link more than once. The code of the library is linked from Klaus blog. Replace libyui for "qt" and "ncurses" for the plugin's code.

Also google for "YaST Independence From YCP" to find a blog entry from Andreas Jäger on the subject.

like image 71
duncan Avatar answered Oct 10 '22 21:10

duncan


you could write your program to uses ncurses, and then use PDCurses to convert it to an X11 application - as the readme advertise.

I know it because I've used it as portable curses, though I've never tested its X11 capabilities

like image 35
Lorenzo Boccaccia Avatar answered Oct 10 '22 20:10

Lorenzo Boccaccia