mit-scheme.git
11 years agogtk: Only warn if DISPLAY not set.
Matt Birkholz [Sun, 7 Apr 2013 21:14:01 +0000 (14:14 -0700)]
gtk: Only warn if DISPLAY not set.

Some of the Gtk libraries are useful without a DISPLAY.

11 years agogtk: Add gtk-graphics/make.
Matt Birkholz [Sun, 7 Apr 2013 21:13:35 +0000 (14:13 -0700)]
gtk: Add gtk-graphics/make.

11 years agoAdd src/planetarium/snapshot, tweaks, TODO list.
Matt Birkholz [Sun, 7 Apr 2013 17:43:13 +0000 (10:43 -0700)]
Add src/planetarium/snapshot, tweaks, TODO list.

Factor draw-tellurian out of run-tellurian for snapshot.scm.  Tweak
position of lat/long text.  Use default fore/background.

11 years agoAdd no-window? parameter to gtk-graphics/open.
Matt Birkholz [Sun, 7 Apr 2013 17:20:30 +0000 (10:20 -0700)]
Add no-window? parameter to gtk-graphics/open.

11 years agoAdd cairo-surface-write-to-png.
Matt Birkholz [Sun, 7 Apr 2013 17:18:56 +0000 (10:18 -0700)]
Add cairo-surface-write-to-png.

This should really use cairo_surface_write_to_png_stream.

11 years agogtk: Add src/planetarium/, which works with a simple graphics device.
Matt Birkholz [Fri, 5 Apr 2013 23:31:25 +0000 (16:31 -0700)]
gtk: Add src/planetarium/, which works with a simple graphics device.

Just half a tellurian for now -- a drawing of Earth showing the
position of the Sun.  On a simple (or even an X11) graphics device
just the terminator is drawn.  The light and dark sides of Earth are
undistinguished.  On a Gtk graphics device, the dark side is shaded
light gray.

11 years agogtk: Update fix-demo.scm's copyright notice. Turn the ball blue.
Matt Birkholz [Fri, 5 Apr 2013 23:28:34 +0000 (16:28 -0700)]
gtk: Update fix-demo.scm's copyright notice.  Turn the ball blue.

11 years agogtk: Add gtk-graphics device type.
Matt Birkholz [Fri, 5 Apr 2013 23:19:44 +0000 (16:19 -0700)]
gtk: Add gtk-graphics device type.

Just the simple operations plus fill-polygon-list, draw-circle,
set-foreground-color and set-background-color.

11 years agogtk: Add Cairo <surface-ink>. Use it in fix-layout demo.
Matt Birkholz [Fri, 5 Apr 2013 17:40:43 +0000 (10:40 -0700)]
gtk: Add Cairo <surface-ink>.  Use it in fix-layout demo.

Adjust demo for a smaller drawing size.

11 years agogtk: Add many cairo- wrappers: cairo-image-surface-create...
Matt Birkholz [Fri, 5 Apr 2013 17:20:45 +0000 (10:20 -0700)]
gtk: Add many cairo- wrappers: cairo-image-surface-create...

... cairo-pattern-create-linear, cairo-pattern-create-radial,
cairo-pattern-add-color-stop, cairo-create, cairo-translate,
cairo-scale, cairo-set-source, cairo-set-source-color, cairo-arc,
cairo-paint, cairo-fill, cairo-stroke, cairo-set-font-matrix,
cairo-matrix, cairo-surface-destroy, cairo-surface-flush, and
cairo-pattern-destroy.

11 years agogtk: Add gtk-window-set-type-hint.
Matt Birkholz [Fri, 5 Apr 2013 17:12:47 +0000 (10:12 -0700)]
gtk: Add gtk-window-set-type-hint.

11 years agogtk: Add thread-queue/dequeue-no-hang!, rm peek-until, fix -no-hang.
Matt Birkholz [Fri, 5 Apr 2013 17:03:45 +0000 (10:03 -0700)]
gtk: Add thread-queue/dequeue-no-hang!, rm peek-until, fix -no-hang.

Fix when-non-empty-before, which did not append! to waiting-dequeuers,
and thus would only time out.

Not exporting peek-until.  Its TIME argument is... weird -- not
universal.  Swat can import it.

11 years agoMerge branch 'master' into Gtk
Matt Birkholz [Mon, 25 Mar 2013 20:08:27 +0000 (13:08 -0700)]
Merge branch 'master' into Gtk

11 years agogtk: Allow for specialization of fix-layout scrollbar behavior.
Matt Birkholz [Tue, 19 Mar 2013 00:26:13 +0000 (17:26 -0700)]
gtk: Allow for specialization of fix-layout scrollbar behavior.

The new generic procedure fix-layout-adjustment-parameters allows
Edwin to customize scrolling.

11 years agogtk: load option SUBPROCESS, so main.scm can hook/subprocess-wait.
Matt Birkholz [Tue, 19 Mar 2013 00:22:51 +0000 (17:22 -0700)]
gtk: load option SUBPROCESS, so main.scm can hook/subprocess-wait.

11 years agoUnparse the symbol whose name is `.' as `|.|'.
Taylor R Campbell [Mon, 18 Feb 2013 15:11:04 +0000 (15:11 +0000)]
Unparse the symbol whose name is `.' as `|.|'.

Add a trivial test for it.

Found by Pavel Panchekha.

11 years agogtk: Document pango-layout-set-markup. Fix many @brefs.
Matt Birkholz [Mon, 11 Feb 2013 23:49:10 +0000 (16:49 -0700)]
gtk: Document pango-layout-set-markup.  Fix many @brefs.

Define @bref{}'s as actual references ONLY in the HTML version, where
they can be hyperlinks to a binding's documentation.  Otherwise they
are just hyphenated names in @code style, except in Info.  In Info,
even single-quotes around these names is really too much.

11 years agogtk: Added pango-layout-set-markup. Caught up documentation.
Matt Birkholz [Tue, 5 Feb 2013 20:47:22 +0000 (13:47 -0700)]
gtk: Added pango-layout-set-markup.  Caught up documentation.

11 years agoMerge branch 'master' into Gtk
Matt Birkholz [Sun, 3 Feb 2013 01:42:52 +0000 (18:42 -0700)]
Merge branch 'master' into Gtk

11 years agomicrocode: Quiet some unused-but-set-variable warnings.
Matt Birkholz [Sun, 3 Feb 2013 01:39:15 +0000 (18:39 -0700)]
microcode: Quiet some unused-but-set-variable warnings.

11 years agogtk: Update the time-slice window BEFORE sleeping.
Matt Birkholz [Sat, 2 Feb 2013 19:27:59 +0000 (12:27 -0700)]
gtk: Update the time-slice window BEFORE sleeping.

Thus when the toolkit flames out, the time-slice window stops on the
list of file descriptors Scheme IS waiting on (NOT the descriptors it
WAS waiting on).

11 years agogtk: Added gtk-paned-get-position, gtk-paned-set-position.
Matt Birkholz [Sat, 2 Feb 2013 17:28:49 +0000 (10:28 -0700)]
gtk: Added gtk-paned-get-position, gtk-paned-set-position.

11 years agogtk: Added GtkPanedView, a specialized GtkPaned.
Matt Birkholz [Tue, 29 Jan 2013 19:29:27 +0000 (12:29 -0700)]
gtk: Added GtkPanedView, a specialized GtkPaned.

11 years agogtk: Remove deprecated functions: g_value_get_char, g_thread_init...
Matt Birkholz [Tue, 29 Jan 2013 05:15:56 +0000 (22:15 -0700)]
gtk: Remove deprecated functions: g_value_get_char, g_thread_init...

11 years agogtk: Update to Gtk+3.6. Separate GtkScrolledWindow and GtkScrolledView.
Matt Birkholz [Tue, 29 Jan 2013 05:07:53 +0000 (22:07 -0700)]
gtk: Update to Gtk+3.6.  Separate GtkScrolledWindow and GtkScrolledView.

Rename GtkScrollingWindow to GtkScrolledView and fix it to work with
Gtk+3.6.0 (in Ubuntu 12.10).  Create distinct classes for
GtkScrolledWindow and GtkScrolledView.  The former might be useful to
someone else, and substituting the latter for the former just invites
confusion.

11 years agoReport a meaningful error message if the TUTORIAL file is hosed.
Taylor R Campbell [Sat, 19 Jan 2013 05:07:42 +0000 (05:07 +0000)]
Report a meaningful error message if the TUTORIAL file is hosed.

12 years agoDo not remove a gtk-paned's child if it is destroyed.
Matt Birkholz [Wed, 19 Dec 2012 00:57:51 +0000 (17:57 -0700)]
Do not remove a gtk-paned's child if it is destroyed.

If it is destroyed, it has already been removed (from the list of
children).

12 years agoInit a <fix-layout>'s viewport size before it is realized.
Matt Birkholz [Wed, 19 Dec 2012 00:47:25 +0000 (17:47 -0700)]
Init a <fix-layout>'s viewport size before it is realized.

Punt redundant code in the realize callback.  Initializing the size
early allows the view (scroll position) to be set whether the widget
is realized or not.

12 years agoFixed the Gtk tests to access the final malloced-aliens list.
Matt Birkholz [Wed, 19 Dec 2012 00:45:09 +0000 (17:45 -0700)]
Fixed the Gtk tests to access the final malloced-aliens list.

12 years agoAdded gtk-widget-queue-resize and gtk-widget-queue-resize-no-redraw.
Matt Birkholz [Wed, 19 Dec 2012 00:39:05 +0000 (17:39 -0700)]
Added gtk-widget-queue-resize and gtk-widget-queue-resize-no-redraw.

12 years agoMerge branch 'master' into Gtk
Matt Birkholz [Wed, 19 Dec 2012 00:20:07 +0000 (17:20 -0700)]
Merge branch 'master' into Gtk

12 years agoSupport callout struct and union parameter and return types.
Matt Birkholz [Wed, 19 Dec 2012 00:11:44 +0000 (17:11 -0700)]
Support callout struct and union parameter and return types.

Requested by Peter Feigl <craven@gmx.net>.

12 years agoUpdate old "package: (ffi syntax)" comments.
Matt Birkholz [Tue, 18 Dec 2012 23:58:56 +0000 (16:58 -0700)]
Update old "package: (ffi syntax)" comments.

12 years agoDo not setsid() just because of --batch-mode.
Matt Birkholz [Tue, 18 Dec 2012 23:56:53 +0000 (16:56 -0700)]
Do not setsid() just because of --batch-mode.

Commit 6b474c5 has turned --batch-mode into something like a
--background option, ensuring that setsid() is called.  Re-worked the
logic so that tty interrupt characters are not frobbed in batch-mode
AND setsid() is not called (except according to the curious but
ancient heuristic/default: when there is no tty on stdin, stderr and
stdout and no --emacs option).

12 years agoWork around broken IMAP servers that give bogus responses to FETCH.
Taylor R Campbell [Wed, 12 Dec 2012 06:10:18 +0000 (06:10 +0000)]
Work around broken IMAP servers that give bogus responses to FETCH.

12 years agoTidy up local declarations in DEFINE_BIT_COUNT.
Taylor R Campbell [Wed, 12 Dec 2012 06:06:39 +0000 (06:06 +0000)]
Tidy up local declarations in DEFINE_BIT_COUNT.

`static' is pointless (and causes `gcc -O0' to actually allocate
static storage for them), and using uintmax_t rather than TYPE is
overkill.

12 years agoFix some ignored variable warnings in swank.scm.
Taylor R Campbell [Wed, 12 Dec 2012 05:56:45 +0000 (05:56 +0000)]
Fix some ignored variable warnings in swank.scm.

12 years agoAdd BIT, BITS, SHIFTIN, and SHIFTOUT, for handily hacking bit fields.
Taylor R Campbell [Tue, 11 Dec 2012 20:35:13 +0000 (20:35 +0000)]
Add BIT, BITS, SHIFTIN, and SHIFTOUT, for handily hacking bit fields.

12 years agoFix READ-PACKET in swank.scm to cope with partial reads.
Taylor R Campbell [Tue, 11 Dec 2012 20:16:28 +0000 (20:16 +0000)]
Fix READ-PACKET in swank.scm to cope with partial reads.

Thanks, ecraven.

12 years agoMerge branch 'master' into Gtk
Matt Birkholz [Thu, 29 Nov 2012 18:39:45 +0000 (11:39 -0700)]
Merge branch 'master' into Gtk

12 years agoPunt deprecated gdk_window_get_pointer.
Matt Birkholz [Thu, 29 Nov 2012 18:28:23 +0000 (11:28 -0700)]
Punt deprecated gdk_window_get_pointer.

12 years agoAdded <gtk-paned>, gtk-grid-attach-next-to. Punted fix-resizer.
Matt Birkholz [Thu, 29 Nov 2012 17:07:32 +0000 (10:07 -0700)]
Added <gtk-paned>, gtk-grid-attach-next-to.  Punted fix-resizer.

Also added gtk-orientable-get-orientation, just for completeness, and
documented cairo-clip-extents.

12 years agoSupport new location of Xcode 4.3 and later; just warn if can't find SDKs directory.
Chris Hanson [Mon, 12 Nov 2012 05:54:19 +0000 (21:54 -0800)]
Support new location of Xcode 4.3 and later; just warn if can't find SDKs directory.

12 years agoIntegrate CALLER argument in guarantees.
Joe Marshall [Fri, 19 Oct 2012 20:34:20 +0000 (13:34 -0700)]
Integrate CALLER argument in guarantees.

12 years agogtk: Fix layout-draw-callback's level 2 trace report of cairo clip.
Matt Birkholz [Fri, 19 Oct 2012 19:14:24 +0000 (12:14 -0700)]
gtk: Fix layout-draw-callback's level 2 trace report of cairo clip.

String-append don't take no numbers.

12 years agoRemove handle-subprocess-status-change from nonblocking/subprocess-
Matt Birkholz [Fri, 19 Oct 2012 19:11:57 +0000 (12:11 -0700)]
Remove handle-subprocess-status-change from nonblocking/subprocess-

wait.  Block-on-process-status-change has just continued because
handle-subprocess-status-change was just called; don't call it again.

12 years agoMove maybe-signal-io-thread-events apply out of yield-thread.
Matt Birkholz [Fri, 19 Oct 2012 18:56:20 +0000 (11:56 -0700)]
Move maybe-signal-io-thread-events apply out of yield-thread.

Moved the call to yield-current-thread.  It is otherwise redundant
with all the i/o and timer event polling in thread-timer-interrupt-
handler, the other caller of yield-thread.

12 years agoFix test-select-descriptor, test-select-registry.
Matt Birkholz [Fri, 19 Oct 2012 18:52:04 +0000 (11:52 -0700)]
Fix test-select-descriptor, test-select-registry.

Both test-select- primitives (in uxio.c) now return 0 only if there
are no INTERRUPTs nor PROCESS-STATUS-CHANGEs pending.  A previous
attempt at this was incomplete or wrong (e.g. not spinning on
interrupted calls when interrupts are masked).

12 years agogtk: Vanquish spinning gtk-thread evil (again).
Matt Birkholz [Fri, 19 Oct 2012 18:48:59 +0000 (11:48 -0700)]
gtk: Vanquish spinning gtk-thread evil (again).

tests/runtime/test-gtk spins like crazy again.  With a gtk-thread
always ready to run and no thread waiting for io, wait-for-io is never
called and maybe-signal-io-thread-events never blocks.  Unfortunately
test-select-registry always returned INTERRUPT for non-blocking
selects with an empty registry.  It needs to return PROCESS-STATUS-
CHANGE when there is a pending process status change so that handle-
subprocess-status-change runs.  Thus OS_pause got a new argument:
blockp.  In uxio.c it can call OS_process_any_status_change and
return PROCESS-STATUS-CHANGE when necessary.

12 years agoMerge branch 'master' into Gtk
Matt Birkholz [Thu, 18 Oct 2012 21:00:40 +0000 (14:00 -0700)]
Merge branch 'master' into Gtk

12 years agoRemove last remnants of SEQUENCE-3. Rename return code for sequence-2 to sequence...
Joe Marshall [Wed, 17 Oct 2012 17:47:16 +0000 (10:47 -0700)]
Remove last remnants of SEQUENCE-3.  Rename return code for sequence-2 to sequence-continue.

12 years agoRemove last vestiges of IN-PACKAGE.
Joe Marshall [Wed, 17 Oct 2012 15:22:52 +0000 (08:22 -0700)]
Remove last vestiges of IN-PACKAGE.

12 years agoMake LOCAL-DECLARE a macro.
Joe Marshall [Sun, 7 Oct 2012 19:55:57 +0000 (12:55 -0700)]
Make LOCAL-DECLARE a macro.

12 years agoSpelling correction.
Joe Marshall [Sun, 7 Oct 2012 19:53:24 +0000 (12:53 -0700)]
Spelling correction.

12 years agoFix recent typo in User Manual (again).
Matt Birkholz [Wed, 26 Sep 2012 20:27:01 +0000 (13:27 -0700)]
Fix recent typo in User Manual (again).

12 years agoFix recent typos in User Manual.
Matt Birkholz [Wed, 26 Sep 2012 20:24:41 +0000 (13:24 -0700)]
Fix recent typos in User Manual.

12 years agoExport flo:modulo
Joe Marshall [Mon, 17 Sep 2012 20:43:54 +0000 (13:43 -0700)]
Export flo:modulo

12 years agoAdd flo:modulo
Joe Marshall [Mon, 17 Sep 2012 20:25:22 +0000 (13:25 -0700)]
Add flo:modulo

12 years agoMerge branch 'master' into Gtk
Matt Birkholz [Fri, 7 Sep 2012 17:24:50 +0000 (10:24 -0700)]
Merge branch 'master' into Gtk

12 years agoUse internal-time/seconds->ticks in thread-queue/*-no-hang.
Matt Birkholz [Thu, 6 Sep 2012 18:25:36 +0000 (11:25 -0700)]
Use internal-time/seconds->ticks in thread-queue/*-no-hang.

Moved test procedure to tests/runtime/test-thread-queue.scm.

12 years agoFix OS_pause on Unix to correctly restore the sigmask.
Matt Birkholz [Thu, 6 Sep 2012 15:58:24 +0000 (08:58 -0700)]
Fix OS_pause on Unix to correctly restore the sigmask.

12 years agoUse sigsuspend in new OS_pause, else wait-for-io must spin.
Matt Birkholz [Wed, 5 Sep 2012 19:39:21 +0000 (12:39 -0700)]
Use sigsuspend in new OS_pause, else wait-for-io must spin.

The test-select-registry primitive now calls OS_pause instead of
OS_test_select_registry to block with an empty registry.

12 years agoffi: Replaced serror with swarn, so syntaxing can continue.
Matt Birkholz [Tue, 4 Sep 2012 23:37:07 +0000 (16:37 -0700)]
ffi: Replaced serror with swarn, so syntaxing can continue.

Transform bogus syntax into a call to error.

12 years agoUse pollts if it is available but ppoll is not.
Taylor R Campbell [Mon, 3 Sep 2012 19:34:13 +0000 (19:34 +0000)]
Use pollts if it is available but ppoll is not.

Also change all references to the poll/select variants to use the UX_
names.

All four ways -- select, select & pselect, poll, poll & pollts --
tested on a NetBSD 6.99.4 kernel running a NetBSD 5.1 userland by
tweaking config.h by hand.

12 years agoUse ppoll() and pselect() when available.
Matt Birkholz [Mon, 3 Sep 2012 06:38:12 +0000 (23:38 -0700)]
Use ppoll() and pselect() when available.

Use them only when a test-select- primitive should block.  The old
poll()/select() functions continue to be used when not blocking,
e.g. in uxsock.c's do_connect().

12 years agoedwin: Fixed arrow keys in xterms.
Matt Birkholz [Mon, 3 Sep 2012 05:57:08 +0000 (22:57 -0700)]
edwin: Fixed arrow keys in xterms.

Added ts-enter/exit-keypad-mode and used them in console-enter/exit!.

12 years agoAdded --args and -- option parsers, and a command-line procedure.
Matt Birkholz [Fri, 31 Aug 2012 00:38:18 +0000 (17:38 -0700)]
Added --args and -- option parsers, and a command-line procedure.

12 years agogtk: Avoid computing window-intersection when widget is destroyed.
Matt Birkholz [Thu, 30 Aug 2012 20:28:29 +0000 (13:28 -0700)]
gtk: Avoid computing window-intersection when widget is destroyed.

12 years agogtk: Fixed adjust-adjustments for drawings smaller than the viewport.
Matt Birkholz [Thu, 30 Aug 2012 20:13:40 +0000 (13:13 -0700)]
gtk: Fixed adjust-adjustments for drawings smaller than the viewport.

Now maximizing the demo works.

12 years agogtk: Added cairo-clip-extents wrapper; simplified fix-layout.scm.
Matt Birkholz [Thu, 30 Aug 2012 19:18:40 +0000 (12:18 -0700)]
gtk: Added cairo-clip-extents wrapper; simplified fix-layout.scm.

Also made cairo.scm dependent on gtk.bin, and fix-layout.scm on
cairo.scm (hoping to get cairo-clip-extents inlined).  Punted
gtk_cairo_transform_to_window which appears to be a no-op when
gtk_widget_get_has_window is true.

12 years agogtk: The return value from draw signal handlers is ignored.
Matt Birkholz [Thu, 30 Aug 2012 19:04:08 +0000 (12:04 -0700)]
gtk: The return value from draw signal handlers is ignored.

Also fixed a missing argument to gtk_adjustment_set_lower, and tried
to make peek-gtk-adjustment more helpful.

12 years agoProcess all queued X events, not just one, if I/O is ready.
Taylor R Campbell [Wed, 29 Aug 2012 16:37:42 +0000 (16:37 +0000)]
Process all queued X events, not just one, if I/O is ready.

X-DISPLAY-PROCESS-EVENTS may have the side effect of moving events
from the kernel's pipe buffer into Xlib's queue, in which case after
processing one event there may be more events pending in the queue
but no more I/O pending on the pipe.  Before this change we failed to
report these other events in a timely fashion.

Do this both in Edwin's xterm.scm and the runtime's x11graph.scm.

12 years agoAdd cruft to confshared.h for ARM.
Taylor R Campbell [Tue, 28 Aug 2012 04:33:49 +0000 (04:33 +0000)]
Add cruft to confshared.h for ARM.

Works on the Raspberry Pi and the BeagleBone, which seem to be,
remarkably enough, the first ARM platforms on which anyone has ever
tried to run MIT Scheme.

12 years agoAsk Xlib for events before blocking on the display in x11graph.scm.
Taylor R Campbell [Tue, 28 Aug 2012 04:26:04 +0000 (04:26 +0000)]
Ask Xlib for events before blocking on the display in x11graph.scm.

Fixes race whereby Xlib may have queued up events already before we
ask the OS about I/O on the underlying file descriptor.  This can
cause us to fail to notice an event until a second one comes along,
so that, e.g., a newly created window will hang until you move the
mouse over it or similar.

12 years agoRemove alternate/optimized types of scode combinations from runtime.
Chris Hanson [Thu, 16 Aug 2012 06:48:36 +0000 (23:48 -0700)]
Remove alternate/optimized types of scode combinations from runtime.

12 years agoRemove now-unnecessary comment about 64-bit machines.
Chris Hanson [Thu, 16 Aug 2012 05:18:08 +0000 (22:18 -0700)]
Remove now-unnecessary comment about 64-bit machines.

12 years agoFix broken memory allocation on 32-bit OS X.
Chris Hanson [Thu, 16 Aug 2012 05:16:37 +0000 (22:16 -0700)]
Fix broken memory allocation on 32-bit OS X.

12 years agogtk: Require #f or #t from event and draw callbacks.
Matt Birkholz [Tue, 14 Aug 2012 21:54:30 +0000 (14:54 -0700)]
gtk: Require #f or #t from event and draw callbacks.

Not even sure what a gboolean from the draw signal means, but
requiring a bool anyway (else whatnot is coerced into gboolean?,
TRUE?).  Updated doc to mention this, and got all #ts and #fs under
@code.

12 years agogtk: Fixed fix-resizer. GtkWindows can shrink again.
Matt Birkholz [Tue, 14 Aug 2012 19:39:40 +0000 (12:39 -0700)]
gtk: Fixed fix-resizer.  GtkWindows can shrink again.

Restrict fix-resizer to scm-widgets and use set-scm-widget-natural-
size! to frob them.  Using GtkScrollingWindows and applying queue_
resize to both got resizes happening just as with set-size-request,
withOUT forcing any widget's minimum size.

12 years agogtk: Replaced GtkScrolledWindow with GtkScrollingWindow.
Matt Birkholz [Tue, 14 Aug 2012 04:39:48 +0000 (21:39 -0700)]
gtk: Replaced GtkScrolledWindow with GtkScrollingWindow.

Define GtkScrollingWindow as a subclass of GtkScrolledWindow that
specializes (overrides) the geometry protocol, while inheriting
kinetic scrolling and other goodies(?).

12 years agogtk: Replaced deprecated GtkBox with GtkGrid.
Matt Birkholz [Tue, 14 Aug 2012 03:25:18 +0000 (20:25 -0700)]
gtk: Replaced deprecated GtkBox with GtkGrid.

12 years agogtk: Implement gtk_widget_get_preferred_width/height.
Matt Birkholz [Sun, 12 Aug 2012 22:47:50 +0000 (15:47 -0700)]
gtk: Implement gtk_widget_get_preferred_width/height.

Also, use gtk_widget_set_allocation and gtk_cairo_transform_to_window.

12 years agogtk: Keysym names changed. Delete and Backspace translation fixed.
Matt Birkholz [Sun, 12 Aug 2012 22:31:42 +0000 (15:31 -0700)]
gtk: Keysym names changed.  Delete and Backspace translation fixed.

A couple GDK_KEY_syms vary only in case, so they are no longer
interned (rather, string->symboled) and will no longer substitute -
for _.

Delete and Backspace kludge explained in the source.

12 years agoffi: Fixed swarn to use ARGS, including 'in FORM at the end.
Matt Birkholz [Sun, 12 Aug 2012 22:26:19 +0000 (15:26 -0700)]
ffi: Fixed swarn to use ARGS, including 'in FORM at the end.

12 years agoedwin: Include TYPE in eg. #[input-event 42 TYPE].
Matt Birkholz [Sun, 12 Aug 2012 22:22:55 +0000 (15:22 -0700)]
edwin: Include TYPE in eg. #[input-event 42 TYPE].

12 years agoAdd missing comma in fixobj.h in FIXED_OBJECTS_NAMES.
Taylor R Campbell [Sun, 12 Aug 2012 01:07:33 +0000 (01:07 +0000)]
Add missing comma in fixobj.h in FIXED_OBJECTS_NAMES.

Turned up while building on arm.  I guess there just must have always
been a zero in memory after this array in utabmd.c on every other
platform!

12 years agogtk: Set contrasting background in <demo-layout>, not <fix-widget>.
Matt Birkholz [Sun, 5 Aug 2012 00:15:08 +0000 (17:15 -0700)]
gtk: Set contrasting background in <demo-layout>, not <fix-widget>.

Call gtk_style_context_set_background in a <fix-widget> method of set-
gtk-widget-bg-color!.  This method was disabled and left behind in
<fix-layout> during the chaos of the port to Gtk 3.

Make <box-ink>s (gtk-screen cursors!) easier to see with gtk_render_
focus.

Punted redundant widget-style-context.

12 years agogtk: Make graphic chars out of e.g. ^H in key-press event strings.
Matt Birkholz [Sun, 5 Aug 2012 00:10:40 +0000 (17:10 -0700)]
gtk: Make graphic chars out of e.g. ^H in key-press event strings.

12 years agoAdd fmod as primitive FLONUM-MODULO.
Joe Marshall [Thu, 2 Aug 2012 17:34:45 +0000 (10:34 -0700)]
Add fmod as primitive FLONUM-MODULO.

12 years agogtk: Port to Gtk 3.
Matt Birkholz [Tue, 31 Jul 2012 04:25:04 +0000 (21:25 -0700)]
gtk: Port to Gtk 3.

Many changes: GtkObject is gone, colormaps and allocating colors are
obsoleted, GdkColors are now GdkRGBAs, GtkStyle is now
GtkStyleContext, expose events are now draw signals...

12 years agogtk: Chop GDK_KEY_ off of key names (not just GDK_).
Matt Birkholz [Wed, 25 Jul 2012 06:47:48 +0000 (23:47 -0700)]
gtk: Chop GDK_KEY_ off of key names (not just GDK_).

12 years agogtk: Fixed spin in gtk-test after test-process.
Matt Birkholz [Tue, 24 Jul 2012 05:02:48 +0000 (22:02 -0700)]
gtk: Fixed spin in gtk-test after test-process.

Re-enabled the runtime/test-process tests.  Added maybe-signal-io-
thread-events to yield-thread, and made it unconditionally test-
select-registry, even if there are no io-registrations.  In gtk-test,
the main thread sleeps and the gtk-thread runs alone.  Neither
registers for io or process status change events, yet gtk-thread needs
subprocess-global-status-tick to happen anyway (else run_gtk
immediately returns PROCESS-STATUS-CHANGE and gtk-thread spins).

Assumed that maybe-signal-io-thread-events could be fixed by allowing
it to test-select-registry even when the registry is empty.

Moved all subprocess status change work into handle-subprocess-status-
change, which now calls subprocess-global-status-tick and compares the
latest tick to the tick saved last time.  When statuses have changed
since the last tick, it polls process statuses (and closes i/o) and
un-suspend waiters.  The former was only done for NT, but does not
hurt on Unix.  The latter is accomplished by the new signal-
subprocess-status-change procedure.  All other calls to subprocess-
global-status-tick were redundant, or were replaced by calls to
handle-subprocess-status-change.

12 years agogtk: Suppress all file load notifications during (load-option 'gtk).
Matt Birkholz [Fri, 20 Jul 2012 23:01:26 +0000 (16:01 -0700)]
gtk: Suppress all file load notifications during (load-option 'gtk).

12 years agogtk: Set scheme_source to G_PRIORITY_LOW, below window resizes.
Matt Birkholz [Fri, 20 Jul 2012 22:59:36 +0000 (15:59 -0700)]
gtk: Set scheme_source to G_PRIORITY_LOW, below window resizes.

This allows the time-slice window to grow with its count even when
Scheme is spinning.

12 years agogtk: Use Cairo, punt gdk_draw_*, in preparation for Gtk+ 3.0.
Matt Birkholz [Fri, 20 Jul 2012 17:27:33 +0000 (10:27 -0700)]
gtk: Use Cairo, punt gdk_draw_*, in preparation for Gtk+ 3.0.

Also replaced some structure member accesses with accessor functions
(or just eliminated them).  Deleted some unused declarations.
GdkVisual, GdkGC and GdkDrawable are no more.  Fixed green and blue
switchup in peek-gdkcolor and a call to vector-length with 2 args in
guarantee-color-spec.

12 years agogtk: Document the remaining exported bindings.
Matt Birkholz [Sat, 14 Jul 2012 03:21:01 +0000 (20:21 -0700)]
gtk: Document the remaining exported bindings.

Don't warn about undocumented make-*-demo and *-gc-cleanup bindings.
Export <fix-widget>.

12 years agogtk: Documented the GIO interface.
Matt Birkholz [Fri, 13 Jul 2012 23:01:33 +0000 (16:01 -0700)]
gtk: Documented the GIO interface.

Punted g_file_info_remove_attribute (for now).

12 years agogtk: Document <fix-widget>, factored out of <fix-layout> in d8c9c69.
Matt Birkholz [Fri, 13 Jul 2012 16:51:54 +0000 (09:51 -0700)]
gtk: Document <fix-widget>, factored out of <fix-layout> in d8c9c69.

12 years agogtk: Punt set-fix-widget-size!; use gtk-widget-set-size-request.
Matt Birkholz [Fri, 13 Jul 2012 16:39:55 +0000 (09:39 -0700)]
gtk: Punt set-fix-widget-size!; use gtk-widget-set-size-request.

12 years agogtk: Punt set-fix-layout-size!; use gtk-widget-set-size-request.
Matt Birkholz [Fri, 13 Jul 2012 16:25:28 +0000 (09:25 -0700)]
gtk: Punt set-fix-layout-size!; use gtk-widget-set-size-request.