The GTK-server intents to offer a stream-oriented interface to graphical libraries, enabling access to graphical user interfaces for shellscripts and interpreted programming languages using either GTK 1.x, 2.x or XForms. If no graphical environment is available, the GTK-server can be compiled for console also, allowing access to libraries for shellscripts and consolebased interpreters.
It can be compiled as a standalone binary, which is able to communicate by a 2-way pipe or by a TCP/UDP port. The script invokes this binary, sets up a pipe or a TCP/UDP connection and prints the GTK call in plain text to the pipe or socket. The GTK-server then sends information back which can be used in the program or script.
The GTK-server can also be compiled as a shared object, from which the function "gtk" can be imported. This function acts as a wrapper around plain-text GTK commands. Please refer to the demonstration programs at the GTK-server website.
Below a summary of advantages when using the GTK-server:
- No need to learn C or C++, you can stick to your favorite programming language
- No need to hack the source of existing programming languages to realize GUI programming
- High flexibility in creating GUI's, e.g. not limited to dialogs
- Full GTK API available, the user can extend the 'gtk-server.cfg' file by himself
- Access to both GTK 1.x and GTK 2.x
- Convenient GTK test tool, easy to learn GTK programming
- Mix 64-bit userinterfaces with your 32-bit client programs.