New version 2.4.4 available, release notes:
. Added 'gtk_server_pack' to create portable memory layouts for BASE64 argument type
. The configfile now has SEQUENCE enabled by default
. Simplified 'select-gtk-server' script
. Fixed bug in 'stop-gtk-server' script when using 'all' argument
. Added 'gtk_server_unpack' to unpack binary memory layout to s-expression
. Added PTR_BASE64 argument type and 'gtk_server_data_format' to unpack binary structures returned in arguments
. Added PTR_SHORT argument type
. Upgraded to uthash 2.0.2 (https://troydhanson.github.io)
Release notes for version 2.4.3:
. NULL is a valid entry for POINTER arguments
. NULL is a valid entry for WIDGET arguments
. Fixed crash when returned string is empty (thanks report Thomas Ronshof)
. Updated all demo programs to point to correct GTK-server binary
. Maximum library sequence number is configurable in config file
. Bug fixes in GTK-server configfile macros for LIST widget
New maintenance release 2.4.2 is available. Release notes:
This is a maintenance release of the GTK-server. Mostly, all demonstration scripts have been verified and adjusted where necessary, also for GTK3. The HUG macros now are fully functional for GTK3 also. Some small fixes were applied, and two small new features are introduced: (1) better library lookups and (2) a debug panel to allow better development of client scripts.
Full list of changes:
. Fixed compile warning for Xforms
. XForms can use enumerations in callback definition
. More intelligence in searching and opening defined libraries
. Added '-debug' parameter to activate interactive debugging
. Lots of fixes in autoconf macros and demonstration scripts
. Fixed GTK3 warning with error dialogue
The latest release of GTK-server, versioned 2.4, now supports GTK 3.x also.
Other release notes:
. Linking could fail because '-ldl' was missing from linker flags
. Added support for querying state keys from keyboard - 'gtk_server_state'
. Fixed issue with displaying correct version in Windows
. Upgraded to uthash 2.0.1 (https://troydhanson.github.io)
. The ALIAS_NAME option now can alias macro names also
. Enlarged memory for 'gtk_server_opaque'
New version with significant milestones has been released:
. Added 'gtk_server_toolkit' command to retrieve backend for which GTK-server was compiled
. Arguments 'MACRO'-'DATA' are also usable for Xforms now
. Make sure the 'MACRO'/'DATA' callbacks are not reading from illegal memory
. Fixed minor bug with counting linenumbers when parsing configfile
. Added option to define aliases for functionnames, so clientprograms can avoid collisions with existing statements
. STDIN, FIFO, TCP and IPC interfaces can take and return any amount of data now
. The UDP interface can take data as much as the system's Socket receive buffer size (SO_RCVBUF)
. Fixed minor issues in stop-script with IPC GTK-server processes
. 'gtk_server_macro_define'/'-redefine' to (re-)define macros on the fly, renamed 'gtk_server_macro' to '-_var' to get value of variables
. Added '-sock' mode to connect as TCP client (idea Danie Brink)
. Withdrawn the READLINE option as scripts using STDIN ran into inconsistent programs, use external 'rlwrap' instead
. Upgraded to uthash 1.4 (uthash.sourceforge.net)
. Major code cleanup for returning info to client, improving simplicity, readability and performance
. Added commandline option '-start' to start GTK-server with a macro (idea Danie Brink)
. 'gtk_server_os' to determine platform where GTK-server is running (idea Danie Brink)
. Added commandline option '-init' to send string in '-sock' mode (idea Danie Brink)
. Added support for SSL in '-sock' mode (idea Danie Brink)
. Using the GTK functionnames as keys for UTHASH; less code, best reliability for unique keys
. Fixed bug with XForms initialization in LIB mode
. Base64 decoder can decode unlimited amount of data
. Fixed bug: using 'gtk_server_require' multiple times would overwrite eachother
. Added option '-this' to run standalone configfile using shebang
. Compilation without GTK/Xforms/X is possible now, console mode for opening any library in a script
. Added '-handle' so client can send unique identifier per request (synchronize communication, UDP, debugging)
. XForms can get key, mouse events and coordinates too
. Adjusted size for XForms Error dialog, it didn't show all errors correctly
. Key events and scrollbutton events (GTK) were optimized so they can return any user defined string
. Fixed bug: remove the check on negative numbers in LIB interface, this check prevented UTF-8 to be accepted
. MacOSX: adjustments in makefile and configurescripts
. MacOSX: changed retrieval of mouse button, MacOSX does not pass all GdkModifierTypes (no X but Quartz!)
. MacOSX, BSD, Solaris: self-spawning not always works, now use '-detach' to try to selfspawn, shells use ampersand '&'
. Added demoscript with the Poppler library, added demoscripts demonstrating HUG
. Stopscript now also can show current running GTK-server processes
. Added configurescript options to specify sourcetree locations
. Option 'showconf' also shows defined macros
. New: 'gtk_server_require' to test actual availability of libraries and define libraries on-the-fly
. Fixed bug: compilation with C/Invoke did not open XForms library
. Code improvements in the macroparser
. Major improvements in the GUI abstraction layer "HUG"
. Macros can define associative arrays with ASSOC, retrieve values with GET
. Fixed configurescript complaints about missing 'datarootdir'
. Logdirectory definition removed from configfile, now specify logdir as argument '-log=<dir>', better consistency with other options, and GTK-server can function completely without configfile now
. Macros: added DEBUG to print contents of macrovariables in logfile
. Static compilation also possible for XForms now
. Fixed duplicate hash-value which occurs in rare situations
. Compilation with 'TCC' possible (export CC=tcc)
. Fixed bug: when using GTK-server as shared object and enabling logging
BUILD 5
. Fixed crash when no libs were defined in configfile
. Fixed crash when empty string was sent to UDP interface
. Fixed deadlock in UDP interface because hostent was never initialized properly
. Fixed static compilation: optimized code, Makefile was missing linker flag '-export-dynamic'
. Static binary does not need configfile anymore, can define GTK calls on-the-fly
. Get LONG or STRING with 'gtk_server_callback_value'
. Support for Kornshell93 library interface
. Fixed crash when empty string was sent to LIB interface
. Also show libraries and log file location with '-showconf'
. Fixed issues with removing message queues and pipefiles in stopscript
. Added support for readline with interactive STDIN interface
. Fixed crash in OpenBSD 4.3 when libs could not be found
. Removed check that WidgetID should be > 0, does not work with OpenBSD 4.3
. Improved Makefile.in and configure.in for OpenBSD
. Some minor code improvements to clear compilewarnings on OpenBSD
. Security improvements on finding configfile
. Fixed bug in c_string_escaping after redefinition of chars to be escaped
. More improvements in stopscript. Compatible with BSD-type systems now
. Moved to UTHASH library, fixing the following problems:
- Fixed slow lookup performance with large configfile
- Fixed crash when no macro definitions were found in configfile
- Fixed crash when no GTK definitions were found in configfile
. Fixed potential bug: memset in TCP and UDP interface to secure size
. Fixed some illegal memory writes in macro routines (Valgrind)
. Fixed some illegal memory writes in gtk_server_define/-redefine (Valgrind)
. Added tool to extract configfile from GTK/GDK headers
. Fixed crash during parsing configfile when arguments of GTK functions were not defined
. Fixed crash during parsing configfile when logfile was not defined
. Implemented flexible mechanism for defining libraries, now anything can be added to a max of 32
. Fixed EXIT handling with 'gtk_server_exit' and STDIN interface
. Fixed crash when a defined library could not be opened
. Return type 'ADDRESS' returns the address in memory of function
. Fixed bug in IPC interface when sent string contains a '=' (Tim Launchbury)
. Added 'INCLUDE' keyword in configfile to include additional configfiles (John Spikowski)
. Within macros it is possible to perform relative jumps: 'VALUE', 'EMPTY', 'JUMP'
. General improvements in macro parser, starting 'Highlevel Universal GUI' (HUG) in configfile
. Removed EXIT_SIGNAL from configfile, specify 'signal=' on commandline
. Cleaned up exit handling, works better with error exit and FIFO now
. Documentation: improved manpages, added more demoscripts
. Macros can assign strings to variables
. If a GTK function returns a result in pointer arguments, these can be retrieved now
. Also all value types can be passed as pointers
. Check: when GTK call expects argument and client doesn't pass one
. 'gtk_server_property_get/-set' redundant, use 'g_object_get'
. New: 'gtk_server_set_c_string_escaping' to define particular set of characters to be escaped
. New: 'gtk_server_define' to define new GTK calls on-the-fly
. Fixes in the autoconf file for 64bit library compilation
. Improved Scriptbasic makefile
. New: 'gtk_server_opaque' to define memory for widgets like GtkIter etc.
. Improved manpages
. Set the correct libraries in the configfile during installation (BSD/Unix/Linux)
. Updated to the latest configfile
. Added GTK info in Windows about dialog
. Improved KILL script for IPC
. Improved configure scripts
. Added 'build' script (Unix)
. Fixed the 'create_distro' buildscript to create TGZ packages (Slackware, Gentoo, Zenwalk)
. New call for getting key events: gtk_server_key
. Ability to define macros in the configfile, hence new version number
. Trim_String now also removes '\r'
. gtk_server_disconnect now always works (previously only in a callback function)
. The default signal connection handler now sends the signal name as a string
. Fixed installmodes for configfile and manpages
BUILD 4
. Fixed bug in demo scripts with Glade, also added demoscript with IPC
. Fixed bug in configure script when creating a Shared Object for Solaris
. Removed the GtkScript project from the sourcepackage
. Updated to the latest configfile
. Argument 'showconf' dumps current GTK-configuration to stdout
. Argument 'nocreate' avoids pipefile being created automatically (FIFO for Unix)
. Spawn to background automatically in Unix UDP, TCP, IPC and FIFO mode, this solves all timing issues
. New command 'gtk_server_pid' (Unix only)
. Small fixes in UDP error messages
. Argument 'nodetach' prevents GTK-server from spawning to background
. Support for Glade with Windows GTK1 package
Many fixes and improvements, mainly for the Unix platforms (32-bit and 64-bit).
. Unix: added IPC communication interface
. Unix: adjusted error warnings to messageboxes
. Unix: define exit signal to send to client program when GTK-server exits
. Win32: Improved configure-scripts to compile in MinGW natively
. Simplified signal handler registration for TCP
. Improved timeout handling, now more than one gtk_timeout can be created
. Timeouts to be removed with 'gtk_server_timeout_remove'
. New command 'gtk_server_exit'
. Added support for C/Invoke
. Fixed potential bug with opening GTK library
. Fixed bug with configure-scripts and GTK1 detection
. More code cleaning, simplification and beautification
. Added macro for 'snprintf' (lacks on Tru64Unix)
. Adapted configure scripts and implemented minor codefixes to avoid compilewarnings on Tru64Unix
. Code cleaning so compilation with Compaq C Compiler works now
. Improved KILL script, also added manpage
. Unix: improved gracefull exit in FIFO mode
. Some esthetic changes in sourcecode and GTK-server errors
This is a major release, overcoming compilation problems on Fedora with FFI by using FFCall instead. Also, instead of GTK, it is possible to use XForms as a backend, thereby avoiding the large installbase of GTK.
Summary:
. GTK-server now supports both libFFI and also FFCall, one of these should be available for compilation
. Banned Glib g_list routines from parser
. Added another backend: XForms (Linux/Unix/BSD only)
. Improved configure scripts even more, also put Glade support to autodetect
. In LIBRARY mode, removed the command 'gtk_server_logging', put it at same line as 'cfg=', 'post=', 'pre=' to be more consistent
. Fixed bug with FLOAT and DOUBLE type mixup (thanks Norm Kaiser)
. Improved the configurescripts and generation of Makefile
. Windows version now only will create a logfle when "log" argument is given
. Introducing PANGO_LIB_NAME, ATK_LIB_NAME, PIXBUF_LIB_NAME, changed some configfile keywords to more logical words
. Code optimizations
. Improved documentation
. New: 'gtk_server_timeout' to let GTK return after some idle time in WAIT callback (async event)
. Improvements on the GtkScript interpreter (see GtkScript/docs/manual.txt)
. Compile with GLADE by default
* - BUILD 10:
. New arguments 'pre' and 'post' to GTK-server determining the format of the returnstring
. Argument format 'tcp' and 'udp' to 'tcp=host:port' and 'udp=host:port'
. As LIBRARY pass to "gtk"-function: 'cfg=' for configfile, 'pre=' and 'post=' for format of returnstring
. String arguments can be grouped using single quotes
. Improved memory management with returnstrings containing STRING type
. Autoconnect signals in Glade XML if they are defined