xboard-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[XBoard-devel] Xaw build now ready for release?


From: H.G. Muller
Subject: [XBoard-devel] Xaw build now ready for release?
Date: Tue, 09 Sep 2014 19:11:17 +0200
User-agent: Mozilla/5.0 (Windows NT 6.2; WOW64; rv:24.0) Gecko/20100101 Thunderbird/24.6.0

I finally got to fixing the Xaw problems with the new ICS Interaction window.
This was really a feature that could only work in GTK (because it required
line-by-line colorization of texts), but I integrated it in the existing Chat window.
I solved the problems (I hope) in the following way:

In the Xaw version I let the initialization code remove the ICS output pane
from the ICS window, by turning it into a Skip option (instead of a TextBox).
The 'Hide' button, which would normally hide the Chat output pane, is
removed in a similar way, now there is nothing to hide behind. (In GTK
this collapses the Chat pane to make a larger ICS pane.) This makes the
ICS Interaction window look very similar to the old Chat window in Xaw.

So Xaw retains its Chat window, where Tab navigates to the next text
entry and Esc closes the window, as before. For sending commands
to the ICS it stays dependent on the old-style ICS Input Box or the X-term.
The ICS Input Box pops up automatically when you type towards the board.

The GTK version does away with the ICS Input Box, and absorbs it in the
ICS Interaction window, where the single input field is used for both
ICS commands and chat messages, depending on the currently displayed
output (one of the maximally 5 chats + ICS output, or just ICS output).
The <Tab> key here navigates between chats (or switches ICS command
-> chat), the <Esc> key goes from Chat to ICS command mode (closing
the chat pane) like the Hide button does, or in ICS command mode
transfers focus to the board (leaving the chat window open). Ctrl-N
navigates to an idle chat (if there is one), with focus on the (empty)
Chat Partner field, so you can assign it (unlike <Tab>, which only navigates
between chats that are assigned to a handle/channel). This makes
keyboard-only navigation possible.

Right-clicking in the ICS or chat output fields pops up the ICS Text Menu,
which is aware of the clicked word similar to WinBoard's context menu.
A function open chat (for the clicked person/channel) is added to this
menu.

So the Xaw implementation is a lot less powerful than the GTK
implementation, but not worse than the old Chat window. If we think
the current implementation is acceptable (and bug-free), it would be
ready for release (as 4.8.0?).

Note that in the process of adding the ICS output to GTK, I also had
to worry about fonts, as ICS output only looks acceptable in a monospace
font, while by default GTK uses sans serif. So it was a small step to make
font choice available for the user also in other windows. Next to the
-clockFont, -coordFont and -messageFont (which I did not touch) there
are now also -movesHistoryFont (for Move History and Engine Output,
so the user can use a figurine font there), -icsFont (for the ICS output
pane), -tagsFont and -commentFont font (for Edit Tags and Edit Comment
dialogs). In an attempt to mimic Xaw behavior, I allowed the user to
define fonts with a wildcard for the point size, to be indicated by %d
(like "Sans Normal %d"). XBoard would substitute the %d in such a font
spec by the point size belonging to the board size. As before, font specs
are stored in the settings file separately for each board size.

Please test these new features!



reply via email to

[Prev in Thread] Current Thread [Next in Thread]