Update the interface definition to use the new version of Glade (3.6 and
above.) Glade now writes GtkBuilder files directly, and so we don't have
to use gtk-builder-convert to convert a Glade file into a GtkBuilder file.
Inspired by #17, compared our Nitfol source to the source from its last
stable release (0.5) and reduced the changes to a minimum. Some useful
patches seem to have been applied in Gargoyle, which I have kept. All the
changes are in a file 'interpreters/nitfol.patch' for future reference.
Glk Frotz doesn't exist anywhere outside of Gargoyle, so I have made it
exactly equal to r268 of the Gargoyle source.
Played around with nitfol build process, adding rules to generate the
generated source files. Dependencies are kept to a minimum, requiring
only Perl and Awk. Partly fixes #17.
rodin [Fri, 22 May 2009 20:09:30 +0000 (20:09 +0000)]
* Added initial support for styles! (no style hints as of yet though)
* Added glkstart.c, a dummy file to help us implement the unixstart functionality
fliep [Thu, 21 May 2009 13:14:11 +0000 (13:14 +0000)]
Defined glui32 and glsi32 in terms of the 32-bit integer types in <stdint.h>, instead of those in GLib. Now the entire GLib interface is not exposed to Glk plugins anymore.
fliep [Tue, 19 May 2009 20:53:26 +0000 (20:53 +0000)]
Turned off line wrapping on text grids. They don't need it, since they're always the correct size, and it was causing them to wrap sometimes when the width of the text was exactly the width of the window.
fliep [Wed, 6 May 2009 22:15:26 +0000 (22:15 +0000)]
- Text grid windows don't need scrollbars
- Set text windows' minimum size request to "as small as possible", otherwise they can't
be resized smaller than their contents
fliep [Wed, 6 May 2009 19:48:04 +0000 (19:48 +0000)]
When splitting a window W, the new pair window was always inserted back into the tree
as the right-hand child of W's former parent. So if you split a window vertically into A and
B and then split A (the top half) again into C and D, then C and D would end up below B.
Fixed.
fliep [Sat, 2 May 2009 17:05:54 +0000 (17:05 +0000)]
Added properties to the ChimaraGlk widget: "default-font-description" and
"monospace-font-description". They are the default fonts used in the Glk library. They can
either be set directly from PangoFontDescription structs, or by a string such as "Times 12".
- Added pkg-config files (.pc.in), so after the library is installed you can
link to it with `pkg-config --cflags --libs chimara`.
- Plugins need <glib.h> to compile, for the definition of glui32 and glsi32
in glk.h; don't know why this worked before.
- Fixed libtool craziness. Apparently when you declare your plugins "noinst"
then libtool "figures out" that it doesn't need to build shared libraries.
fliep [Sun, 29 Mar 2009 21:25:45 +0000 (21:25 +0000)]
Wrote better checks for illegal actions.
Added "magic numbers" to the window, stream, and fileref structures, for better checking.
Added macros for checking and error reporting in magic.h.
fliep [Sun, 29 Mar 2009 01:13:07 +0000 (01:13 +0000)]
Got Gtk-Doc working. Now all the fancy /** comments before the functions
actually mean something. To use gtk-doc, invoke configure like this:
./configure --enable-gtk-doc
When you do this, configure will generate makefiles that rebuild the docs
whenever the source is changed. Calling configure without that option
generates makefiles that don't rebuild the docs. Building the docs takes
some time so you probably want to disable it unless you're actively working
on the docs.
The documentation is output as HTML, which you can browse by pointing your
browser to
The really cool thing is that the docs are also built as a devhelp module,
so when you make install, the devhelp module is installed and automatically
shows up in Devhelp.
The documentation consists of two sections: one is the API of our widget,
the other is the Glk API specification which we have been working from. I
have obtained permission from Andrew Plotkin to include and alter this spec.
I have changed the order of things around a little bit so it makes more
sense as a Gtk-Doc reference book.
The API spec only contains the parts that we have implemented so far. I
figure if we update the documentation for the Glk API functions as we
implement them, then we'll be able to see at a glance how far we've gotten.
One more change left to describe: the new file src/doc.c consists of only
comments. These comments contain two things. One is the introductory
descriptions of each Gtk-Doc section. I put these in here because they
really bloated the regular C files. The other is the Gtk-Doc comments for
constants and structures that are defined in glk.h. I put these in here
because the spec says glk.h is supposed to be the same on every platform
except for the typedefs of the 32-bit types.
fliep [Fri, 6 Mar 2009 23:16:31 +0000 (23:16 +0000)]
I have Autotools-Fu.
We should now be at the bare minimum of files under version control,
which also means that _NO_ generated files are versioned. This should
mean that any problems which arise from, for example, having different
libtool versions on my Fedora machine and my iBook, are solved.
I found out that autogen.sh is necessary after all, since Gtk-Doc and
Intltool require their own preparation programs in addition to the
Autotools' autoreconf. I rewrote it to be much simpler and easier to
read, and removed all of the checks for extreme system configurations.
That's because users shouldn't have to run it, only developers, who
should all have decent systems with decent versions of Autotools.
The autogen script runs autoreconf, but not configure. (Apparently
running configure automatically is a big timewaster.) So, after
checking out a new revision, the correct sequence to run is:
./autogen.sh
./configure
make
There are still a couple of warnings from the Gtk-Doc autoconf macros,
but since we don't actually do anything with Gtk-Doc yet, I will save
fixing that for when I attain Autotools-Nirvana.
fliep [Thu, 5 Mar 2009 23:14:46 +0000 (23:14 +0000)]
Rewrote configure.ac according to my new l33t knowledge of autotools, and
removed obsolete macros.
Now, after checking out a new revision, use the command:
autoreconf --install --force
instead of autogen.sh to rebuild all the platform-specific files.
fliep [Tue, 3 Mar 2009 23:21:53 +0000 (23:21 +0000)]
Wrote all remaining Unicode input and output functions.
Updated gestalt to support Unicode.
Split off functions to convert from one character set to another and put them in charset.c.