X-Git-Url: http://winboard.nl/cgi-bin?a=blobdiff_plain;f=TODO;fp=TODO;h=9a84006900f46e179b07506ccff06d1a72859fcd;hb=d5006ae60cce20324c3aaabbc73e0286c31d60c2;hp=0000000000000000000000000000000000000000;hpb=3f95ca1aa9fbc24ec654c6f003da13452fa07d2f;p=xboard.git diff --git a/TODO b/TODO new file mode 100644 index 0000000..9a84006 --- /dev/null +++ b/TODO @@ -0,0 +1,1419 @@ +Possible improvements **=somewhat higher priority +--------------------------------------------------- + +20. Some way to back up, explore variations, then return to the main +line and restore moves we backed out. Should also support exploring +side branches while loading a game file. Push/pop buttons? Button to +fork another xboard in same state as current one? + +20a. Allow side branches to be remembered in game files (and +understood on LoadGame). Use PGN variation notation. + +**62a. Support series of time controls as in later gnuchess 4.0.x +versions (and real tournaments!). Needs a protocol extension to +"level"; this is now planned for protover 3. + +62b. Perhaps we could also support the kind of clock where you get K +seconds per move, plus a reserve of J seconds per game that is used +when a move takes more than K seconds. The degenerate form of this +with J=0 is desirable in itself. Needs a protocol extension. + +68. WinBoard has some features not in xboard. Among others: +68a. LoadGameOptions dialog (good to add) +68b. SaveGameOptions dialog (good to add) +68c. TimeControl dialog (good to add) +68g. Font dialog. (leave out) +68h. Colors dialog. (leave out) +68i. Board size on Options menu (good to add) +68j. Resize with mouse +68k. Highlight dragging +68m. Move typein from keyboard. (good to add) + +69. xboard has some features not in WinBoard. Among others: +69c. Font size selection by pattern fill-in. (leave out) +69d. Alternate bitmaps specified at runtime. (good to add, often requested) +69e. Flashing. + +71. Allow restart after ICS logout instead of exiting? Many requests +for this. + +71a. Would be useful to drop into NCP mode after ICS logout and allow +for reconnect later. For instance, this would let you save your last +partial game if you didn't have autosave on. + +72. Allow switching among ICS, NCP, GNU modes?? + +74. Observe/play multiple games, each with its own window. Hard. + +80. Clone command. Saves current game to a file foo, then starts up +another copy of xboard with -lgf foo. Should probably note current +state of some options and give command line flags to set them the same +way in child. What about -ncp mode, though? Might want that to be +different. Would be nice to have a -moveNumber flag to position the +child to the same move number in the current game. + +91. Would be nice to have an option to overwrite save file instead of +appending. + +95. "Have the clock indicate how long the computer/player has been +thinking for when the -st option is used. This should be how long for +the current move only." (Dino Dini) + +97. "Have the ability to change the level of the gnuchess during a +game. For analysis purposes, sometimes it is useful to have the +computer think really hard about certain positions." (Dino Dini) + +98. Reorganize the source and split it into more files. + +107. Changing time control during a game could be made to work. +Current (WinBoard only) way of changing at start is suboptimal. + +**108. Could add search depth and time per move to (WinBoard) +TimeControl dialog. + +140. LoadPosition needs better checking for invalid data. + +142. xboard needs a real file chooser dialog. Jeff Woolsey submitted +code to merge in the one from Ghostview, but said it works only on +X11R5 or later. I have not yet tried his code or looked to see if it +could be made to work on X11R4. + +147. Improve display of held pieces in bughouse mode, putting them +closer to the player's side of the board, and perhaps using icons (and +allowing dragging from the icons to drop a piece). Actually, moving +the clocks would be beneficial too, so that it's easier to visually +associate the right clock with the right player when looking at two +boards during a bughouse match (with two copies of xboard running). +Maybe multiple window layouts should be user-selectable. [4.3 supports +drag-drops from holdings] + +150. Keep track of castling availability, en-passant availability, and +FEN half-move clock (for 50-move rule), pass the availability +information to the move generator through the existing interface, and +load/save it in the FEN code. [Fixed in 4.3] + +150a. Note that not keeping track of ep creates a bug in mate +detection. In certain positions, moving a pawn from the 3rd to 4th +rank gives mate, but it is not detected because if the pawn had moved +to the same position from the 2nd rank, ep capture would have been +legal and there would be no mate. [problem disappeared in 4.3] + +150b. Note that although we try to put in e.p. availability when +writing FEN, this works only if we have the move that got us to this +position in the moveList. If we load a position from FEN, the +e.p. availability field of the FEN is lost. [disappeared in 4.3] + +152. Generate the info file, man page, perhaps html, and perhaps even +the WinBoard help file from the same sources. Right now, +substantially the same text is duplicated in three places. This is +a huge pain in the neck. + +157. Idea: if Zippy flags some number of times in a row and keeps +getting told the opponent is not out of time (presumably due to +timestamp/timeseal), he should issue an adjourn or abort. + +160. The xboard CTRL key flashback feature is bad in Analysis mode. +Flashing back throws away the analysis. + +161. SIGINT doesn't work for local programs on Win32. There is an +equivalent, GenerateConsoleCtrlEvent(CTRL_C_EVENT), but I haven't +gotten it to work thus far. It seems that WinBoard and the chess +engine don't "have the same console"; indeed, neither has a console. + +162. Supply a non-X Zippy for Unix. Perhaps use the code from Klaus +Knopper. + +167. Alternative bitmaps loaded at runtime for WinBoard. [font-based +piece rendering provides this functionality since WinBoard_x] + +169. Upload Game on file menu? This would upload the current game +moves into a scratch examined game on ICS. Could do Upload Position +too. Some code to do Upload Game was contributed, but it didn't +handle setup positions, variants, checking for proper gameMode, etc., +so I couldn't use it. + +170. Auto step every k seconds should be a general feature you can +turn on at any time, not just in LoadGame. What should GUI be? + +171. Displaying thinking in a separate window should be an option +available at all times when Show Thinking makes sense, not just in +analysis mode. It should perhaps be orthogonal to analysis mode. +[added in WinBoard_x] + +172. Should analysis window scroll instead of showing only the last +line? There could be an extra checkbox to show all chess engine +output in it. [fixed in WinBoard_x] + +178. Need reliable kill for chess engine on Win32. See also 161. + +181. Some people want -sgf to save only played games, not observed and +examined games. Others like it to save them all. Make this an option? + +183. Search feature in Game List dialog [Igor Eged]. + +187. "Log session" feature for ICS window. + +193. Some users have reported xboard redraw bugs, but I have not +been able to reproduce them on the Digital Unix, Linux, or eXcursion X +servers (xboard). + +c. From Hawk: +Dragging in xboard does not work 100%. +* The dragged piece may disappear (try some fast e2-d3 movements - + this is easy to reproduce). +* The dragged piece may be placed on an illegal position (this + happens less frequently, but it _can_ be reproduced by doing the same + as above). +* In both of the above cases, the board is correct after forcing a + redraw (ie. minimizing/restoring the window) +I'm using eXodus - a win32 X server, perhaps it's buggy. [Seems that way, +or just possibly, these could be bugs that are fixed in 3.6.11beta or +3.6.12beta.] + +d. One user reports: "If you are 'holding' a piece over the square you +want to go to and that move becomes illegal but you make it anyway, +the display sometimes corrupts and a partial piece appears..sometimes +a whole piece." This was under RedHat 6.0. + +194. A few users have reported drawing problems with WinBoard. There +may be some color map problem on certain displays. I might possibly +have fixed this already; I cannot reproduce it. The common thing +seems to be black pieces changing to white. This may depend on having +customized the board colors. I suspect many of these problems are +buggy Windows drivers for particular display cards. (May be worked +around in 4.2.0 with reprocessed .bmp files.) + +a. From mulesmurf: if i log in and then move the board, it will happen +that the black [pieces] change to white. + +c. People have sent pictures where the grid didn't get redrawn. This +produces random bits in the grid area from uninitialized memory. +Could this be a resource leak? + +d. From James Van Buskirk: I did notice one problem tonight playing +against Comet under FX!32 1.2 (Comet, not winboard ran under FX!32): +for a couple of moves winboard didn't turn off the highlighting of the +square I dropped the piece on until Comet had moved. Later, the +problem fixed itself. Have other users noticed this? [No.] + +e. One user reports: Lastly, there is some sort of slight bug in the +piece dragging code, but it comes up only very occasionally (once in +500 moves?)...basically, I'm dragging, change my mind, throw the piece +of the side of the board, and instead it gets stuck not inside a +square. It's really disconcerting, this piece just sitting across +square boundaries. When you make another move, it gets cleared up and +goes back where it's supposed to. [Might be fixed in 4.0.6, but I +couldn't reproduce this, so I can't be sure.] + +f. DAV says: "When I resized the board on win 95 and made it smaller +some of the pieces turned into junk (I'm not able to give a screen +shot)." Later: "Seems to happen on the three sizes below small. +Win98 and NT seem to be ok, trying to get more win95 users to test +it." Works fine for me on Win 95... [Might have been fixed by the +cleanup of the Windows .bmp's that happened sometime before version +4.2.3] + +195. Flash Moves works at the end of every change to the board, using +some rather gross code in DrawPosition. This code should perhaps be +ripped out and the flashing done from inside AnimateMove instead. + +197. More color distinctions. Maybe allow several user-selected channels +to have their own colors. + +198. More sounds. Some possiblities: distinguish White vs. Black move +or your move vs. opponents, distinguish different kinds of +win/loss/draw/unfinished (checkmate, resignation, stalemate, other +draws, opponent disconnected, etc.), game ends when you aren't playing +and/or aren't in ICS mode, differentiate amongst requests (draw offer, +etc.), **check, got new offboard piece (by piece type?), opponent got +new offboard piece (ditto), arrival notification, "* who has an +adjourned game with you," draw declined, moretime received. + +199. Maybe put user names instead of White and Black on clocks, or +user names above or below clocks in a smaller font. + +200. I don't like these ideas, but some people do: +a. Highlight all of the squares that the piece you are moving can go to. +b. Clicking on the piece moves it immediately if it has only one legal move. +c. Allow clicking on the destination, then the source. +d. I guess highlight the pieces that can go to that destination. +e. Clicking on a destination that only one piece can go to moves it there. + +201. mulesmurf: piece counter so we know exactly the score + +202. mulesmurf: ziics pieces, board along with color intensity + +204. Hawk at Fri May 15, 12:58 CDT 1998: a minor thing with xboard: +the coords disappear while dragging from a square with coords on it. +[They come back when the drag is finished.] + +208. WinBoard sometimes comes up with one of the menu bar items grayed +out (one that should not be). I've seen this on different entries at +different times. + +213. Maybe add Silence to sound menu -- parallel to Monochrome on +color menus. + +214. Maybe easier startup dialog customize: +a. Buttons to add/delete/move(?) current string to/from/within current list. +b. Or maybe auto-add newly typed/edited strings up to some limit. +c. Also a drop-down for Additional Options. + +216. Maybe shorten menu names in WinBoard to one char if and only if +the menu bar would wrap with longer names. + +**217. Easier way to add engines to the WinBoard startup dialog. +Ideally, an engine author should be able to supply a simple +configuration file or script that installs his engine. "*.wbe" idea. + +218. Some folks would like Highlight Last Move to apply only to +opponent's moves. + +219. From Jorge Monasterio: Support automatic game starts when in +tournament. In other words, do that "match bigolfish mann 5 0 black" +automatically based on the info sent from mamer. [I would need to +play in some tournaments before I could evaluate this idea or fill in +the details.] + +222. Could support time handicaps. [Added in 4.3] + +223. Bug: very long comments cause buffer overflow. Need to revamp +the way comments are parsed and returned from parser.l to fix this. + +224. Larry Parrish requests: In an automated multi-games match I would +like to load the n-th game from the file for the n-th game of the +match. [That is, when -mg and -lgf or -lpf are used together without +-lgi or -lpi.] [4.3.15 provides auto-increment og game and pos index] + +225. From pulp: another bug (maybe with the Microsoft RichEdit +control) I've observed is when you flood the edit control it loses the +bottom. Eg. "games" will scroll along then start slipping until by +the end of the list you are really looking at the middle of the list +and have to manually scroll back to the bottom. [May be fixed?] + +225a. Resizing the WinBoard ICS interaction window can cause the cursor +to be off the screen, which stops scrolling. + +226. From pulp: Clipboard persistence. If I copy text, then the text +disappears when Winboard is closed. Eg.: Log in, highlight and copy a +web page address, close, go to browser, paste *nothing*. [How does +one do this in Windows?] + +227a. In engine-engine matches, an engine that crashes should lose and +perhaps get restarted for the next game. [In 4.3 a crashing engine +forfeits the game, but still terminates a match.] + +227b. Maybe when an engine playing in Zippy mode exhibits a bug, we +should do a little more too. Perhaps "say Sorry, the engine seems to +have a bug", resign or abort, and maybe force an engine restart for the +next game. + +**227c. We should also detect and stop the game on false mate or draw +claims, rejecting a legal move, or (maybe) missed claims of mate or +draw. Note that draw claims require checking for repetition, 50 move +rule, and insufficient material as well as stalemate, so this is +nontrivial. [Added in 4.3] + +228. RichEdit bug: sometimes a line gets indented as if it were +wrapped when it should be flush left. + +**229. Support for sending moves from the partner's game to a bughouse +engine. Ben Dean-Kanemura submitted support that works without adding +general multi-game support, by relaying the moves without processing +them. Should also send holding updates and clock times; not sure if +Ben's code does that. Needs to be a new "feature" command option, and +to be documented in engine-intf.html, removing the note that this may +be done in the future. + +231. See Ed Collins's WinBoard bug list on his pages: + +231b. If you save an ICS examined game to disk as a PGN file, it +doesn't report the end-of-game result in both the header and at the +end of the notation. [It doesn't get this info from the server, but +maybe there is a way it could.] + +232. From Ed Collins's WinBoard wish list on his pages: + +232b. Multiple winboard.ini files for different moods, loadable from +inside the program. + +232c. Fix bug where fics% prompt is not suppressed when using +timeseal. This has something to do with a timeseal deficiency whose +details I've forgotten, but there must be some way to fix it. + +232e. When using the server's "examine" mode to examine a previously +played game, have the game clocks display the time that each player +currently had after each move was made. + +232f. [Not from Ed] Deal with ICC game relays where an "examined" game +is supposed to have running clocks. Not sure if this is still an issue. + +232g. Customizable on-screen buttons [i.e., toolbar or toolbox]. + +232h. Customizable function keys. Currently xboard can bind a key to +any built-in xboard function. Should extend this to WinBoard, and +also (in both programs) support sending an arbitrary ICS command when +button is pressed. + +233. See if anything from LightningRulez should be added. Premove is +now included (from Winboard Plus), but maybe there are other useful +things too. + +241. There might still be bugs in xboard and/or winboard when moves +come in from ICS during drag animation, though I can't reproduce them. +DAV saw the opponent's piece fail to be erased from the source square, if +I understood his message right. [DAV says this still exists in 4.2.5. +I think bug 426 is a duplicate. The description is clearer there.] + +242. User-defined "looking_at" patterns and actions. This is hard to +bombproof. + +**243. "Rematch" shortcut in /cp mode. + +246. Maybe auto-close comment window when user goes to the next move. +Whether this is desirable really depends on the content of the +comment, but maybe it is rare to have a long comment that discusses +the plan several moves ahead and should be left up. + +248. Would be nice to support retract move after checkmate or draw (etc.). + +254. Different tray icons for interaction window vs. board (suggestion +from FICS). + +256. One user asked for "delete" option in game lists. This requires +rewriting the file to close up the hole, so it's pretty heavyweight. +Next people will be asking for move, sort, search, and other game +database functionality; ugh. + +**257. Would be nice to find a way to safely implement "retract move" +when the engine is still on move. (using ping/pong) + +**260. General mechanism where engine can declare engine properties that +the user can frob and xboard/winboard will put up a simple dialog to +allow user to view and set them. See email message "special engine +commands" from Steffen Jakob: + + From: "Steffen A. Jakob" + To: mann@xxx + Cc: chess-engines@xxx + Subject: special engine commands + Date: Fri, 26 Feb 1999 09:12:26 +0100 + + Hi Tim! + + Here comes a summary of our ICC chat (I cc this mail to the + list... maybe other engine programmers can give some feedback if + they find this feature useful): + + Please add a protocol command which enables the engine to tell + xboard its special commands. Maybe a set of (label, command string) + pairs would be useful. Then create a menu for these commands. It + could look like this (that's what I would like to see for Hossa): + + engine->interface: + ------------------ + command "Reset the log file" "reset log" + command "Save Diagram as PNG" "png dia.png" + command "Disable Book" "book off" + command "Show Evaluation details" "eval" + command "Show Search statistics" "stat" + + etc. + + While typing this list I realized that an additional parameter like + this would be needed/nice (of course you can think of many more + improvements): + + command "Save Diagram as PNG" "png %s" 1 + + "1" tells xboard to ask for an additional parameter (here: filename) + which will replace the "%s" in the command string. +[XBoard 4.3.16 has an experimental implementation of this ide through +the 'feature option="..."' command.] + +261. Check that "quit" is sent to engine properly if ICS connection +fails to open due to error from timestamp/timeseal. "wzrdking" had a +case where it didn't. Timetamp had failed with "Host name not found +by name server" (because in fact there was no internet connection, arrgh). + +273. Displaying the names of the players from a PGN file in the header +of the window does not work if there is only one game in the file. +The filename is shown instead. (This was intentional, but maybe a +poor idea.) + +274. Command to go to move number N, with entry box for N. + +276. Make grid optional in winboard? Note that the highlight options +don't work without it. [The Winboard_x -overrideLineGap option provides +this.] + +276a. Make color of grid an option, instead of always black. + +277. Flooding xboard -zt + timestamp with tells hangs timestamp after +a while. xboard is blocked writing to the timestamp pipe. timestamp +is in an unknown state, not reading from the pipe nor responding to +pings. (Confirmed with the software running on milwaukee, Red Hat +5.2) + +278. Flooding winboard -zt + timestamp with tells hangs winboard after +a while. timestamp still responds to pings. This reported by +nudnick; I haven't tried to reproduce it yet. He also says that +windows explorer then crashed when he tried to close winboard. + +279. Idea from an anonymous ICSer: piece drop menu could have images, +not words. [Or maybe both?] Also might be easier to select +accurately from it if horizontally arranged, or in a 3x2 grid. +[Now 4.3 has drag & drop, piece-drop menu should be deprecated] + +284. dxterm hangs when it receives the escape sequence that sets the +title bar on xterm. I think some other xterm substitutes do too. + +**287. WinBoard can look funny if you are using themes because it +unconditionally uses white for certain colors instead of the default +background. + +289. Merge WinBoard support for the Henter-Joyce JAWS screen reader. +Source code (zip file containing modified WinBoard 4.0.2 source) is at +ftp://ftp.henter-joyce.com/users/hj/winboard/WinboardSource.exe. It +would be interesting to make this work with festival (free Unix speech +synth) or other speech synthesizers too. + +290. Could have limited voice output without a speech synthesizer by playing +wav files for piece names and square numbers. Idea suggested by Hannu +Wegner. + +291. Would be great to support DGT, Novag Universal chessboard, etc. +I'm not likely to fork out the cash to buy either for testing, however. +Note users have done various things along these lines. + +292. When an engine is analyzing, it would be cool to have a way to +automatically play out its current PV (or even older ones) on a board. +These PVs could be saved as variations when we have variation support. + +297. Windows users expect all programs to have a Print function, even +though there are other ways to print. Useful items to make printable: +PGN game scores (which are plain text, of course), maybe FEN position +diagrams, maybe graphical position diagrams (i.e., same as pressing +the "Print Screen" function key and printing the clipboard). + +298. One user suggests that automatic move stepping should not start +until you press OK in the tags window. This could be a good idea, but +I think I'd rather have automatic stepping never start until you press +a "play" button on the main window, and have that button always +available, not just when loading a game from a file. + +299. One user suggested being able to jump to a specific move by +typing its number (followed by ... if it's to be black's move). + +300. Can I put a hyperlink (that will invoke a browser) directly onto +the WinBoard Help menu or in the Help file? Useful to take users to +my chess page. + +302. On NT, check if the board is redrawn properly when exiting from +the screen saver. + +308. There is some tricky way to maximize the WinBoard board window, +although there isn't supposed to be. Maybe prevent this, or else +legalize it and make sure something reasonable looking happens. +Note: the trick is to select one of the "tile" options on the Windows +task bar. Not clear what should happen in this case. + +309. Avoid endlessly flagging every second when opponent is lagged out +and autoflag is on. Automatically courtesy-adjourn (or abort if +unrated) instead, at least if in zippy mode. + +310. Weird bug: the last character of a FICS output can appear on the +next line, *after* the fics% prompt, according to one user. I might +have seen something like this myself once too. + +314. One person wanted his engine to see tells when running in Zippy +mode. I doubt this is generally useful, so I haven't added the code I +wrote for him. (I can query for "tellfrom" in my mail file to find +it.) + +314a. Another person wants his computer account to relay tells to his +personal account. + +319. One user would like to be able to reload a PGN file and resume a +game against an engine as if after an adjournment, with the clocks +(and moves to next time control) restored as they were when the game +was saved. + +320. Display ratings of ICS players in the title bar (if there is room, +presumably), or somewhere, anyway. + +321. Maybe refresh the EditTags window if the gameInfo changes and the +window is up. (WinBoard now does this when entering MachineWhite, +MachineBlack, or TwoMachines mode -- not very general. From Winboard Plus.) + +322. One user requested that Zippy games use the engine name instead +of the ICS handle in the PGN tags, as he uses multiple engines on his +account. (My response was "I'd say it should give both"; not sure just +how to do that, though.) + +324. I'm told that Blitzin supports animated dragging without holding +down the mouse button and that this is "much better" and I should try +it too. As yet I haven't. + +326. Full support for variants and variant-capable engines in all +modes, not just ICS mode. Here are some items still needed. Some if +not all should probably wait for a rewrite, not be added to the +current code base. [4.3 supports many variants, even those not supported +by ICS. Not bughouse, though] + +326a. Menu to let you see and change the current variant type, not +just a command-line argument as at present. [Added in 4.3] + +326b. crazyhouse: Keep track of holdings and display them, keep track +of what onboard pieces are promoted so they will revert if captured, +understand offboard interposition to stop mate. [Added in 4.3, (not +sure about the interposition)] + +326bb. One user asked for a Czech variant of crazyhouse where pawns are +given to the opponent when they reach the 8th rank (after capturing, if +it's a capture) instead of promoting. + +326c. bughouse: Features in 326a would be helpful for editing one board +of a bughouse game, and getting mate indication right even in ICS mode. +In the longer term, could understand BPGN, support editing two-board games. + +326d. wildcastle: Allow wildcastle castling only when playing this variant! +Maybe support automatic shuffling for local play. [4.3 adds shuffling +for any variant played locally] + +326e. nocastle: Maybe support automatic shuffling for local play. +Note that several types of ICS shuffle chess fall under this variant. +Note that this isn't really a variant, since if we kept proper track +of castling rights and used "setboard FEN" or the ChessBase extension +of "edit" to set them, it could be treated as normal chess with a +different starting position. + +326f. fischerandom: Maybe support automatic shuffling for local play. +Support castling. Currently, you can probably play Fischer Random +successfully on ICS by typing castling moves into the ICS Interaction +window, but they will not be animated correctly, and saved games will +not be loaded correctly if castling occurs. FR castling is +problematic because the move cannot be specified by the starting and +ending coordinates of the king; in some starting positions there is a +legal non-castling move that moves the king the same way. This +violates a deeply ingrained assumption in the implementation. It also +breaks the GUI -- you need more than just dragging the king two +squares to indicate castling. (Note: In FR notation, O-O is h-side +castling, O-O-O is a-side. See "help fr_rules" and "help fr" on FICS +for rules.) [All fixed in 4.3] + +326g. kriegspiel: Could give some thought to how to support a +kriegspiel engine. I doubt anyone will ever write one, though. + +326h. losers: Know that captures are mandatory. Understand the win +condition. + +326i. suicide: Know that captures are mandatory. Understand the win/draw +condition. + +326j. giveaway: Know that captures are mandatory. Understand the win +condition. + +326k. atomic: Understand the win condition. + +326l. 3check: Understand the win condition -- ugh, have to keep a +check counter! + +327. Option to set the coord font color (or something) to make sure +there is always enough contrast with the square colors. + +329. Bernhard Maerz would like a command line option to choose the PGN +player name for an engine, overriding the default of generating the +name from the engine filename. This is for his ChessCall program. + +331. Maybe the local autoflag menu option should *also* turn +server-side autoflag on/off by sending an appropriate set command. + +**332. Bug: Autoflag for local engine/engine or engine/human matches +does not recognize that having your flag fall when your opponent has +insufficient mating material is a draw. It counts the flag fall as a +loss. [Partly fixed in 4.3, which corrects any kind of losses against +a bare King to draws.] + +336. Of course lots of people ask for a graphical seek window. + +339. There are probably some incompatibilities with chess.net, as they +have made a few gratuitous changes to message formats from the FICS +code base they started with, and perhaps they've added features since +without duplicating the syntax closely enough. In particular it's +been reported that Zippy does not correctly send "partner" and +"variant" commands to bughouse engines on chess.net. Also, I doubt +colorization works. As a matter of personal choice I do not spend any +of my time supporting chess.net, but if others want to donate patches +that allow chess.net to be supported without breaking the support for +ICC and FICS, I am willing to install them. + +342. Analysis mode automatically turns on the Show Thinking option; +the user must then turn it off manually after leaving analysis mode if +he doesn't want it. + +343. Would be nice to change xboard keyboard shortcuts to not be plain +letters, make the new shortcuts work also in the ICS input box, and +make typing plain letters to the board redirect to the ICS input box +or the xterm. Might want to change/remove the Ctrl binding at that time. + +344. One user suggested having a way to save a position as a character +string that would produce a board diagram when rendered in MS Word in +a chess font. Perhaps there is already a nice standalone tool for +this, though? + +346. Could use a better way to pick default size. Now we choose the +largest that fits on the screen, which is typically too big. Not too +bad for WinBoard, but painful for xboard since it can't be resized +after starting. + +349. Check that "quit" definitely makes it to the engine before exit, +if you exit via the File menu while a match is running. Uli Tuerke +reported that maybe it sometimes doesn't (in WinBoard 4.0.5). + +352. Perhaps recognize the ANSI escape sequence that FICS sends out +for the cls command and clear the ICS interaction window. + +**353. WinBoard can crash when the engine outputs very long PV lines +(or debug output that looks like a PV). In particular, lines that +start with 4 or more blanks following a "thinking" output line are +treated as continuation lines, and get concatenated into a 512-byte +buffer with no checking for overflow. Generally we need a lot more +care to avoid buffer overflows inside both xboard and WinBoard. +[Note: changed the buffers to be 5120 bytes as a band-aid.] + +Guido Flohr expands on this bug: + + The problem is easy to reproduce, simply write a program/script that + spits out lines of more than 8192 bytes (INPUT_SOURCE_BUF_SIZE) and + connect it as a chess engine to xboard. No surprise, xboard cannot + handle such long lines, but the resulting behavior is really weird: + + The program enters DoInputCallback() in xboard.c, reads the first + 8192 bytes, searches for a linefeed in vain, then closes its eyes, + sets the member "unused" of the InputSource to is->buf + 8192 and + waits for more input although the buffer is already full. + + The next time it calls the same function, is->unused is exactly + these 8192 bytes away from is->buf, xboard computes the amount of + bytes to read in this round, which sums up to 0 nothing. It then + calls read(2) with a bufsize argument of 0, and then assumes end + of file when the kernel call returns 0 (which is the documented + behavior). + + For local engines, we now jump into backend.c, ReceiveFromProgram(), + and this function reports that the engine has exited unexpectedly. + In fact the engine is still very vivid, which is good, because in + spite of xboard's assumption that its child has died, it still + sends "force", "ping N", and "quit" to the false dead. If the child + was really dead, the alert boxes "error writing to ... engine" + would hide the first alert box "... has exited unexpectedly". + + From xboard's side, it is not exactly clean to call read(2) with + a zero bufsize argument. In my opinion, a sane solution would be + to eat the INPUT_SOURCE_BUF_SIZE bytes, and when they contain no + linefeed, print the partial line to standard error (in debug mode) + and report something like »Maximum line size exceeded« (and then + kill the engine). + +**354. We currently let the user go directly from TwoMachines mode to +various other modes like MachineWhite or MachineBlack. This may +confuse the engine that was on move, since we don't have a way to +force it to stop before it makes the move it was thinking about. +(use ping/pong to know when the engine has stopped) + +355. Idea from LiveAndLetDie: have Zippy specially log games where it +loses to a substantially lower-rated player. Such a game could +indicate an xboard bug, engine bug, or perhaps a computer-using +cheater. + +356. Colorization for FICS tourney tells? They look like this (ugh): +:DChessmaster [tourney #4]: +:hi + +357. A few reports of WinBoard pieces being drawn incorrectly at +certain sizes. I haven't reproduced this. [Maybe worked around in +4.2.0. Or is/was this the same as 194f? I don't recall the details.] + +358. One report of WinBoard colorization not working, even after +restart, until the computer was rebooted. Weird. + +362. Running a very long automated match (/mg option) seems to crash +WinBoard eventually, usually after 300 to 500 games, sometimes later. +Reported by Josh Haglund. Gets a "WINBOARD caused an invalid page +fault in module KERNEL32.DLL" dialog box from Windows. See messages +from Josh for examples of the registers and stack dump. + +362a. A few people have reported WinBoard crashing upon exit. + +363. Maybe xboard should not set the window geometry for new popups, +or at least not the position. The default positions aren't very good, +and setting them programmatically keeps knowledgeable X users from +customizing the positions with X resources. + +366. Feature to let an engine observe an ICS game and run analysis +mode on the moves, perhaps whispering or channel-telling the results. +It's a little too easy to cheat with this feature or I might have +added it long ago. [Added in 4.2.8 and 4.4] + +369. Optionally send a periodic keepalive command to ICS. Can be +used to defeat autologout, so should probably not be on by default. +Also should be useful to help Zippy notice more reliably when its +connection has hung, so that it can exit and a shell script (batch +file) can restart it. + +370. One user requested a local noplay list for his computer player +because the FICS limit of 50 is too small. He wants several hundred so +that he can noplay everyone who disconnects in a lost position. + +374. Would be good to have a way to change engines without restarting +the interface. + +376. WinBoard is said to crash or "lock up" when loading enormous PGN +files, like a 98 MB file that comes with (??) Crafty. Win32 (at least +in the Win95 lineage) has a limit of 32,767 items in a list box +widget. That might explain this problem. + +376a. xboard exceeds limits in X and/or Xaw if a PGN file has too many +games. (The virtual window that the list box can scroll through +becomes too many pixels high.) This has odd effects; the window +height of the game list seems to get reduced mod 2^16 or something. +Maybe detect this and do something nicer about it, like stop loading +when the window is full and pop up a warning. + +378. One Solaris user didn't have the "strip" program, so the +install-sh script used by xboard "make install" failed. Check for +this? Yuck. + +381. "Illegal move: post" is apparently not handled. Should it be? + +382. The UI for entering Training mode is a bit obscure: you must +first select Load Game, then Training becomes enabled in the upper (!) +part of the Mode menu and you can select it. You can then select it +again to toggle it off. This mode is something like Analyze File +(which has a problematic UI too, but somewhat less so); both should +probably use a similar UI style. I consider disabling the +step-forward button to be overkill, and I think you need to manually +turn off auto-step when loading a game (?). One user expected it to +work with .epd files that give a position and a recommended move. +That seems reasonable, but doing it would require quite different code +from the current pgn-game training mode. + +383. Premove piece drop for bughouse/crazyhouse. + +384. Pre-first-move for xboard. I don't much like the fill-in field +method used in winboard. Maybe allow a move to be made for white +before the game starts (in both xboard and winboard). If you get +black, it's cancelled. Black can already premove after the game +starts, during white's first move think time, so I don't see that a +black pre-first-move is needed. + +**387. Have winboard draw opaque details on black pieces too. +Hmm, this should probably be optional, and the detail colors should +be selectable instead of hardwired to the opposite piece color. +[The 4.3 -allWhite option goes in this direction. Details always +in black, though.] + +**387a. Add "no piece border" option to WinBoard. See code from +Robert Jurjevic sent 4/9/2001. + +391. I have a bug report from Stefan Zipproth about engines sometimes +failing to make their first move in an engine-engine match. So far I +can't reproduce it. This might be fixed by the Sleep(500) voodoo in 4.2.4. + +394. See about tightening matching for the "request" event. Right now +it matches on help files a bit too often. (e.g. FICS "help sr_info") +**Also clarify documentation on what the request event is. + +396. xboard's -size defaulting code for bitmaps unfortunately always +picks a size from the built-in list, even if you gave the +-bitmapDirectory option. It would be more user-friendly to have some +extra code that lists the directory and considers exactly the sizes +that are found there, as the pixmap code does. + +397. It would be nice to be able to configure xboard with bitmap +pieces as the default without having to disable xpm support entirely. +This should be a pretty simple mod to configure.in (and xboard.c). + +397a. It would be very nice to be able to compile in both the bitmap +and pixmap pieces. This would allow us to automatically switch to bitmap +pieces in -mono mode, including when -mono mode was automatically selected +because too few colors were available. + +398. It would be nice to have the new .xpm pieces in .xim format too, +since I restrained myself from ripping out the .xim support. + +399. It would be nice to have a configure option to change the +directory where the default piece set is taken from. Slightly nicer +than having to rename the desired directory to "bitmaps" or "pixmaps" +as at present. + +400. TypeinMove should be grayed in ICS mode, or should raise the +console window, or something. + +402. Internationalization. It probably isn't practical to retrofit +this into the current code base. [4.2.8 and 4.4 have international- +ization of xboard.] + +409. One user requested a way to put a time delay in the middle of +sending zippyGameEnd commands. This would (for example) let the +computer do a seek only if its opponent doesn't accept a rematch +within 10 seconds. Nontrivial because Zippy has to continue to listen +to input during the delay; it can't simply call sleep(). Maybe +ScheduleDelayedEvent is OK, but I think it may already be in use in +this situation, and it only supports one event at a time. + +411. Add zippyKibitzThinking and zippyWhisperThinking features? +[4.3 has an -autoKibitz option] + +412. Maybe optimize setting the move list in the case where only the +current move number changes; avoid slow XawListChange. + +**413. Add movelist window to WinBoard too. Wilkin Ng submitted a +patch that I believe includes this; need to integrate and test it. + +**415. It was suggested that a few common options that many chess +engines need be promoted to xboard/WinBoard options so that the user +can set them from the GUI in a uniform way. In particular: hash size, +directory name for endgame tables. [4.3 has extended WB protocol +with a memory, egtpath and cores command.] + +**416. Can we avoid dying when xboard is in 8-bit mode, pixmap pieces +are chosen (by default), and we can't get enough colors? Ugh. + +**419. It was suggested that stat01 be generated/accepted during normal +play with "post" on, not just during analysis mode. This would need +to be a "feature" command option. + +422. Track FICS change to details of how timeseal works; is this +implemented at FICS yet? + +423. When locally stepping through an ICS game that is over, it would +be nice to display the historical clock times at each move. + +424. DAV at Thu Nov 9, 01:20 CST 2000: any chance on winboard/xboard +of a key press and a move executing draw ? that way you at least +have a chance of claiming a draw in 1 0. + +**426. DAV says, in xboard: If you are not on clock and you hover a +piece over a square where your opponent then moves to and then move +the piece away the piece the opp moved or part of it has not been +drawn. [Duplicate of bug 241?] + +429a. Check whether more support is needed for WinBoard to work with +scroll wheel mice in the absence of special mouse drivers that generate +scroll bar events directly. + +431. People find Analyze File confusing; they think it should do +Crafty's relatively new Annotate function. Also, it's somewhat +superfluous now that you can enter Analysis mode and then load the +file, or vice versa. + +**436. WinBoard is said to crash if started while WinBoard.debug is +being tail -f'ed. + +**441. Can I prevent an undo after new in the odd case where it can +happen now? See mail from Bob Hyatt. + +450. Suggested: an option to let an engine keep pondering while an ICC +game is adjourned. This seems a bit difficult. + +451. Suggested: support SuperMamer messages on FICS, aka qtells. See +http://www.freechess.org/SuperMamer/parsing.html. + +452. Suggested: a way to say "prompt for the password" in a login.ini file. +See 510 instead. + +**454. Add a way to claim a draw together with making a move, as can +be needed for draw by repetition (creating the 3rd repetition with the +move) and by the 50 move rule (the move is the 50th). Add to +protocol, and implement using the individual methods on FICS and ICC. +Need to be sure it's really a FICS that has the feature (somehow). +[Fixed in 4.3 by usng 'offer draw' for this purpose] + +455. Suggested: Add the epdkit commands such as epdpfga to the +protocol, since Crafty and "many" (which?) other engines include the +epdkit. + +**456. Bob Hyatt suggests: "feature match=1" which says "send match +requests to the engine and let it decide on who to play next". +I.e., maybe send an abbreviated but fixed format message like this: +match time inc R/U. The engine would use "tellics +accept " to accept. Add as feature to protover 3. + +**457. Standardize on the meaning of scores (e.g. in stat01 responses). +Is positive good for white or good for the engine? Do certain scores +mean forced (tablebase) draw, or forced mate in N? This should align +with the EPD spec. Maybe a feature command should indicate that the +engine matches this part of the spec, but then again, it's not clear +what we can do about it if the engine doesn't give that command, so +maybe there is no point. See discussion on chess-engines list. +[Winboard_x adds an argument to tell WinBoard an egine uses absolute +scores] + +458. Bug: xboard will try to use an engine to play normal chess even +if the engine has given the feature variant command and did not +include "normal" on the list. Crafty 18.1 inadvertently relies on +this bug, so it probably can't be fixed right away. + +**468. Need to look at Wilkin Ng's contributions! + +**469. Look at Zippy's behavior if the operator observes, follows, +examines, etc. Some bugs in this area have been fixed, but it's +received very little testing, as Zippy was never meant to be used that +way. Noted later: Examining in -zp mode definitely has problems. If +you go forward one move at a time, moves are sent to the engine +correctly. If you go backward one move, "undo" is not sent to engine +as it needs to be. Going forward or back by more than one move at a +time needs to be looked at too. + +**471. Look at 3/17/2001 message from Laszlo Vecsey about crashes when +exiting on Win ME while data is coming in from the server. + +**473. Visual low-time indicator. See patch in Brian Mays message of +3/27/2001. + +**474. Crash reported when sending certain 8-bit characters through +WinBoard (180, 167, others). I'm almost certain this is a FICS +timeseal issue and nothing to do with WinBoard itself. + +**475. Look at Laszlo Vecsey's mousewheel patch of 4/10/2001. + +476. For some reason (I guess some GUI supports them), most WinBoard +engines now have a graphical logo, 100x50 pixels in Windows .bmp +format. It's been requested that WinBoard have a place to show the +logo. [4.3.16 supports logos] + +477. Implement the "book engine" idea I proposed in the protover 3 +discussions. Some folks have offered to write them (e.g., Bruce +Morland). [4.3.15 supports a GUI book, which is another way to +acheive the same, as the only thing that would distinguish book +engines is their book, not what they do.] + +478. Recognize URLs in the WinBoard ics interaction window and make +them work as hyperlinks (firing up your browser). + +**479. Possibly use Scott Gasch's 7 May 2001 patch to delay accepting +challenges when ping > pong instead of declining them. Bug: if you +get more than one challenge, Scott's patch forgets about all but the +last one. If that guy then withdraws his challenge, the others are +left in limbo, neither accepted nor declined. I suppose we could +decline challenges when there is one waiting. However, if we make the +change to optionally pass match requests through to the engine, Bruce +Moreland would like us to queue up challenges and pass them all on. + +481. 8 May 2001, Bob Hyatt "matchscore" feature suggestion could go in +protover 3: "matchscore A B C D E says we are in a match, this is game +A of B games. The current match score is I have won C, drawn D, and +lost E games in this match. This would give the engine a chance to +adjust the draw score as needed to try to win the match rather than +just trying to win a single game." + +**482. Suggestion from Bruce Moreland: if the user goes into ICS +examine mode while -zp is active, and the engine supports analyze, +then put it into analyze mode and let it work on the examined game. I +guess this could work for observed games too. Should it be optional +or always done? [4.2.8 and 4.4 support analysis in zippy mode, but +as yet only while observing games.] + +483. It would be nice if the KingShine 3D board could be integrated +as an alternative xboard GUI rendering. + +**484. Add -feature1 and -feature2 options to pretend the engine sent +us those feature commands. Useful kludge for certain buggy engines. + +485. Add "reset" to protover 3. (Clear the hash tables and other such +info; used to put the engine into a known state before running a +test/benchmark position.) [the WB 'memory' command could be defined +to have this side effect? Normally we would have to clear the hash +table when changing its size.] + +486. Other protover 3 features listed in my 6/21/2001 message to +chess-engines list. Write a full protover 3 draft for comment. +[Note that 4.3 already uses protocol extensions that differ from +the v3 specs.] + +487. Adjudicate non-ICS games as a draw when there is insufficient +mating material on both sides, especially engine/engine games. Well, +maybe. I argued against this in a 6/26/2001 message to chess-engines. +[Added in 4.3] + +487a. Probably also adjudicate when we detect checkmate or stalemate, +before bothering to notice whether the engine detected this. [Added +in 4.3] + +487b. Note: Do not adjudicate 50 move rule or 3x repetition since those +must be claimed by a player -- at least not by default. It would be +OK to have a flag to do this someday when we are smart enough to +notice it. Would definitely be good to be smart enough to notice an +incorrect draw claim by an engine. [In 4.3 you can set the number of +moves or repeats after which draw is adjudicated] + +487c. Another request: allow the operator to adjudicate engine/engine games. +[Winboard_x provided menu items for this.] + +488. Option to suppress tags popup on game load? This has been +requested a few times, and I received one partial implementation (not +enough to be useful). Needs to be on the options menu, etc. Note +conflict with 298 above. + +488a. Also option to suppress comment popups. + +489. Maybe have Zippy use xtell for tells to avoid redefining "." if +the operator is also doing tells. Do all ICSes support xtell, though? + +490. Bruce Moreland request: a way to turn Zippy auto-accept on and +off dynamically. + +491. Bruce Moreland request: a defined way to turn on/off PV (etc.) +kibitzing from the engine dynamically. I had thought it would be +better to make the GUI able to relay thinking output as kibitzing on +its own (and be able to turn this on/off dynamically), but Bruce +points out that what engine authors want to send as kibitzing output +usually includes more than the PV thinking output. [Note that engines +can put whatever info they want in the PV field of the thinking +output]. + +492. One user reports that GNU Chess 5 crashes if you start a game, +play far enough to get GNU Chess out of book, select Reset, and play +e3 in the new game. This is probably a GNU Chess 5.00 bug, unrelated +to WinBoard. Can't reproduce on Linux; didn't try yet on Windows. +Need to see if 5.02 fixes it. + +493. DAV suggests stripping off first arguments that are obviously +not the name of the engine when trying to parse out the engine name +from its command line -- things like nice, nohup, sh, csh, bash, etc. +Ugh, but I suppose it would be helpful sometimes. + +494. Internationalization. A couple of people have done (or told me +they were doing) partial conversions of WinBoard to German or Spanish +by manually translating the messages. I think it would be much better +(but a big job) to use GNU gettext. I haven't looked into the details +of that at all. [4.2.8 and 4.4 have gettext support.] + +495. JamesBaud points out that FEN is not sufficient to correctly +represent a crazyhouse position (or bughouse, for that matter), +because it does not distinguish promoted pawns that will revert when +captured from real pieces. ICS style 12 also does not give us this +information. I really don't know what I could do about this -- take +the lead in proposing an extension to FEN and to style 12 with new +piece letters, I suppose. I don't really have time or motivation for +that. If you always use PGN, not FEN, to save Crazyhouse, that works +around the problem. [4.3 uses bFENs which fix this, but not in ICS +mode] + +**496. DAV sent some code to save a screen shot in xboard. Look at +merging this in. [4.3 has an option to save the board display (but +not the entire window) as bitmap.] + +**497. Igor Eged reports: I make a move on opponents time using +premove. Right in the time I am holding another piece in case of +unexpected check that I can have other possibility. But then the piece +hangs in the void and its invalid move, what means often loss in 1 0 +lightning. + +498. It would be nice for Zippy to be able to play ICC wild 20 and 21 +(the types where loadgame is allowed). Presumably there would have to +be an option to either send the loadgame command with a specified +position, or to deal with an opponent sending it. I'm not sure how +this should work exactly, or how to prevent opponents from cheating in +various ways. + +499. It would be nice for Zippy to be able to switch amongst several +different engines depending on which variant type is being played. + +500. It would be nice if Zippy could have an option to accept +takebacks. Hmmm, also, the operator might want to manually offer a +takeback; it would be good if that worked. + +501. People would like to be able to add more bot functionality to +Zippy without C programming. I don't have any ideas on how to do that. + +502. One user requests the ability to have a game list file open for +more than one PGN file at a time. + +503. We don't do protover 2 feature negotiation properly when +restarting an engine due to -xreuse mode. The timeout and done=0/1 +features don't work on the restart; instead we basically assume that +all the features will be the same as last time and that the engine +will be ready to accept commands immediately. This probably doesn't +cause a lot of problems, but if you try to replace the engine with one +that sets different features, the changes might not be noticed before +the first move, and the defaults will be the values from the old +engine, not the documented defaults. Also, if the engine takes time +to initialize and wants us to wait to send commands until it says +done=1, we fail to wait. However, we do send commands in the right +order and use ping, so most engines should work fine. + +506. One user wants a board size even smaller than Tiny. + +507. Suggested: have the cursor change to a gripping hand while moving +pieces. Currently in WinBoard it's always an arrow, while in xboard +it's always a hand with pointing finger while over the board and an +arrow elsewhere. + +508. It would be nice to make -xclock work with -ics, just for +orthogonality, though it's not terribly useful. + +509. It would be nice to make -clock work with -st. Perhaps each +player's clock should start with the specified time on each move and +count down until he moves. + +**510. A FICS service rep tells me that many users expect an autologin +feature in winboard (other than the non-user-friendly login.ini file). +Seems easy enough to add such a thing. + +512. Some users dislike the clocks counting in tenths when below 10 +seconds, as it's distracting, and would like this to be configurable. +(From the Debian bug tracking system.) + +513. Perhaps have Alt+P and Alt+C as synonyms for Pause in WinBoard, +since the P or C on the button makes it look like that should be the +shortcut. I suppose Alt+< and Alt+>, and the same with Shift for << +and >>, would also be a good idea. Oops, but Alt+C is already +CopyGame, so maybe this is a bad idea. + +514. Gian-Carlo Pascutto reports: "when pasting a FEN/EPD position +into WinBoard, and selecting analysis mode, the engine analyses the +starting position instead of the pasted one. Re-pasting fixes this." + +515. Troy Edwards suggests: "It would be nice to have the option to +'wrap text' in the comment window." + +516. DAV says: "FICS now supports the setting and the making clocks +tick using unpause/pause in examine mode. It seems either the clocks +don't tick or are not present when using xboard. Is it possible to +change the policy and base things upon the clock is paused flag in +style 12?" + +517. Clarify in engine-intf.html that "sd" is an extra dumbing-down +feature, not a time control. Some text: + +In the protocol, the "sd" command isn't a time control. It doesn't +say that your engine has unlimited time but must search to exactly the +given depth. It says that you should pay attention to the time +control as normal, but cut off the search at the specified depth even +if you have time to search deeper. If you don't have time to search +to the specified depth, given your normal time management algorithm, +then you will want to stop sooner than the given depth. + +The "new" command should set the search depth back to unlimited. This +is already stated in the spec. The "level" command should not affect +the search depth. As it happens, xboard/WinBoard currently always +sends sd (if needed) right after level, but that isn't part of the +spec. [Added to the specs that go with 4.4] + +518. Warn in doc that -initString is a dangerous feature. Also move +doc of dalogs for sending commands directly to the engine out of the +protocol spec and into the man page and help file, but warn they are +dangerous too. + +519. In engine-intf.html, change "st" description to not use the word +"exact", which is misleading. Make sure it says this is the maximum +time per move (and does not accumulate). + +520. Check whether Alt+C (CopyGame) works in XP. One user says it +gives an error message. + +522. engine-intf.html should really be rewritten to describe the +protocol as a state machine (on each end), with every command +precisely defined as to what it does in each state (including perhaps +being illegal). + +523. Figure out what, if anything, to do with the FICS "iset singleboard". +I lean toward not bothering to set it, as it only disables functionality, +but maybe I'm confused. + +524. theblob at Mon Mar 4, 23:23 PST 2002: it'd be nice in the xboard +interaction window if control-w and control-u respectively erased the +line and word, even in a Windows environment. At least, I think it'd +be nice. + +525. Support a 64-bit node counter in analysis mode when compiled with +something that has 64-bit integer support. Both gcc and msvc++ have +this, though under different names. [Done in 4.2.8 and 4.4] + +526. "-initialMode analysis -lgf -" doesn't get the engine into +analysis mode properly. "-initialMode analyzeFile" is a workaround, +but bug should be fixed. + +527. Clarify ICS.ini more in the doc, if possible. Some sample words: +> You should create this file in +> WinBoard's directory (usually C:\Program Files\WinBoard) using a plain +> text editor such as Notepad. Make sure that Notepad doesn't decide to +> call the file ICS.ini.txt for you -- you may have to select "All +> Files" instead of "Text Files" in the Notepad save dialog. +> +> The file is simply sent to the chess server, just as if you had typed it. +> So if your username is foo and password is bar, the file would look +> like what is between ==== below, without the ===='s: +> +> ==== +> foo +> bar +> iset movecase 1 +> ==== + +528. Check on updates/revisions to PGN from Steven Edwards and others. +Any support needed? + +529. Protover 3 needs a prefix character that says "this is debug +output" and prevents the GUI from parsing that line (say ";"). +[4.3 uses '#' for this purpose, when the engine sets feature debug=1] + +530. The undocumented (?) checking for rsh error messages tripped up +one engine author who had a "not found" in a message. Tighten this +up. + +531. Do we always wait for pongs to catch up with pings before +starting the engine's clock? I suppose we should. + +532. On FICS the clock does not start until after the first move has +been made. So perhaps we don't need the "not ready, try again soon" +response from Zippy there. What if Zippy is black, does black's clock +also not start until he makes his first move? + +533. theblob at Mon Jun 24, 20:05 PDT 2002: here's a suggestion for +xboard -- give priority to fitting in amounts of material in the title +bar, and truncate names instead, e.g., use "tyrionsAp...(50) vs. woden +(51)" rather than "TyrionsApprentice (50) vs. woden..." -- it's much +more important to see the material than the full names, especially +when you're playing. + +534. Steffen Jakob reports: "I use xboard 4.2.6. Yesterday I played +some bullet games at ICC. In one game I lost on time. In the last move +I already clicked on my queen and wanted it to move to its destination +square when I forfeited on time. After that my mouse pointer was the +queen piece. I couldnt drop it to any square." + +535. For protover 3, the "st" command in the protocol could be +extended to allow for smaller units, not just seconds. + +537. Clarify in the protocol that "force" while searching means you +should stop the search as soon as you can. (Isn't this clear +already?) + +538. Need a way for the user to adjust the clocks. This is important +for WCCC and other computer competitions, where xboard/winboard's +clock is not the master. I was going to do it in time for the July +2002 WCCC. Oops. [4.3 allows adjusting the clocks by clicking them +in 'edit game' mode, in steps of 1 minute] + +541. Related to #327, John Iverson says, "It would be nice to have the +coordinates shown outside of the board along the edges, rather than in +the squares where they are hard to see and give a cluttered +appearance, especially on smaller board sizes. (The coordinates can +be handy in certain situations, such as posting a screenshot of xboard +showing an email game in progress, with the view flipped.)" + +542. If you start xboard with the -geometry NxM option, it will +dutifully make the window exactly that size, but it doesn't choose a +-size option that fits into such a window size, so the board is cut +off or has a lot of whitespace around it. In fact, the layout is +generally messed up because the code doesn't expect the window to be +the wrong size for the layout. We should at least ignore the size +part of the -geometry option if we aren't going to do something +sensible with it. How is that done with Xt? + +543. See the patches and extensions on +http://www.tim-mann.org/extensions.html#patches and integrate those +that are worthwhile into the main code base. (Some are also mentioned +elsewhere in this ToDo list.) They are pretty much all over 15 lines, +so copyright assignment from their authors is needed. Unfortunately +some of the authors may be hard to reach. + +544. Possibly rework looking_at pattern matching to have a "match at +beginning of line" character (perhaps ^). It looks like this may +actually be useful after all. The historical cases where you could +get a board or other output that needs parsing on the same line as a +prompt *may* have been fixed. Confirming this would need testing on +all the ICSes that are in use. + +546. Odd bug reported by travelGirl. The last line of a multi-line +macro from the ICS context menu sometimes "sticks" at the bottom of +the ICS interaction window. New text gets inserted before instead of +after it. This started when she upgraded to win2k. See mail. + +548. Guido Flohr reports: + +Another "not really a bug" problem: When xboard forks in order to +start a second chess engine, it is only concerned about duplicating +the descriptors for the standard channels in the child. This is +very interesting for the second chess engine, since it inherits the +pipes to its opponent, and can use them for sending commands like +"sd 2", "easy", or even for feeding a bogus FEN string into the +first engine (exchanging the opponent's queen with a bishop looks +really attractive to me). A very interesting feature, but not exactly +what you intended? ;-) + +Closing the other descriptors after the fork will not completely +avoid the problem, since - at least under Solaris and Linux - it +is still possible to peek and write into xboard's open descriptors via the +/proc pseudo file system (unless you make xboard setuid root), but +leaving them open, makes this cheat very obvious. + +549. "Ron" (no last name given) reports that when compiling WinBoard +under VC++ 6.0, there are many warnings. These ought to be looked at. + +551. "Miguel" (no last name given) reports "When you make a premove in +Winboard 4.2.6, and then opponent move and premove is illegal, then +and you try to make a legal move but you cannot, because piece are +erased and you have to replace your move again, move twice... in +lightining this is annoying." I'm not really sure what that means or +if it is the same bug as 497. + +552. Get rid of the need for proprietary tools to build WinBoard. +It's already possible to compile winboard.exe using the Cygwin +toolchain. You can even compile it with -mno-cygwin to avoid the need +for cygwin1.dll. However: + +552a. The Help file needs Microsoft Word to edit the source file +winboard.rtf and the Microsoft Help Compiler to compile it into +winboard.hlp. I tried using OpenOffice.org on the RTF file, but the +result was missing some formatting that the help compiler needs. The +help compiler itself is a free-as-in-beer download, but it's still +proprietary software. Perhaps the help could be converted to vanilla +HTML, at the cost of losing the index and search capability. + +552b. The WinBoard installer package is built with InstallShield. + Possible replacements: + Inno Setup (http://www.jrsoftware.org/isinfo.php) - looks best + NSIS (http://nsis.sourceforge.net/site/index.php) + Cygwin setup (http://www.cygwin.com) - a long shot + +552c. Although the cygwin resource compiler works on winboard.rc, it's +a pain to create new dialogs by editing the text file. The original +ones were all created using the graphical dialog editor in MSVC 5. + +553. It would be nice for xboard's ICS Input box to have a history +feature similar to WinBoard's ICS Interaction window. Actually it +would be nice for xboard to have its own ICS Interaction window with +all the bells and whistles that WinBoard's has instead of limping +along using an xterm for interaction. + +**554. Port evaluation-graph window to XBoard. + +555. Split x/wengineoutput.c in a front-end and common backend file. + +556. Fix -stickyWindows option under XP and Vista, and port to XBoard. + +557. Port display of engine logos to XBoard. + +558. Device a smart way for -autoLogo to select logos in other modes +than Two Machines. + + + +* * * + +Before each release: +- make sure both xboard and winboard build and are up to date with each other +- run zippy with new version as a shakedown +- be sure gnu5 binary is up to date in winboard, and gnu5 patch (if needed) + is included in both xboard and winboard kits +- recheck cygwin compiling winboard +- make sure ChangeLog is complete +- test changes + +*** up to date with mail received through 5 Nov 2003, except +for the "protover 3" discussions on the chess-engines mailing list ***