Hi,
I might make a small new feature... move to end of var (variation)
and assigning it to the "End" key.
So - if you're in a variation, pressing End will not move to game end, but
var end.
..But i'm just not sure about how to assign the *buttons*.
I'm pretty sure I might leave the blue End button (">>") to always move to
game end.
Similarly, i might make the "Home" key move the the var start,
but leave the '<<' button to move to game start.
Of course, if you're outside of a variation, the Home/End key functions are
unchanged.
Attached is a simple "move to end of var" patch (the "move to start" is not
implemented, but it's quote trivial). Any Ideas ?
PS - I'm thinking of getting ScidvsPC 4.20 ready in the next few months.
macOS is a pain though, as 32 bit will be discontinued after Mojave,
and we will have to (sometime) make a portable 64 bit linux "Docker" image
to run on macOS from then on. ... Any volunteers? Our previous Docker
contributor is M.I.A.
Cheers, Steven
Index: src/tkscid.cpp
===================================================================
--- src/tkscid.cpp (revision 2929)
+++ src/tkscid.cpp (working copy)
@@ -10379,11 +10379,11 @@
sc_move (ClientData cd, Tcl_Interp * ti, int argc, const char ** argv)
{
static const char * options [] = {
- "add", "addSan", "addUCI", "back", "end", "forward",
+ "add", "addSan", "addUCI", "back", "end", "endVar", "forward",
"pgn", "ply", "start", NULL
};
enum {
- MOVE_ADD, MOVE_ADDSAN, MOVE_ADDUCI, MOVE_BACK, MOVE_END, MOVE_FORWARD,
+ MOVE_ADD, MOVE_ADDSAN, MOVE_ADDUCI, MOVE_BACK, MOVE_END, MOVE_END_VAR, MOVE_FORWARD,
MOVE_PGN, MOVE_PLY, MOVE_START
};
int index = -1;
@@ -10413,6 +10413,15 @@
}
break;
+ case MOVE_END_VAR:
+ {
+ errorT err = OK;
+ do {
+ err = db->game->MoveForward();
+ } while (err == OK);
+ }
+ break;
+
case MOVE_FORWARD:
return sc_move_forward (cd, ti, argc, argv);
Index: tcl/end.tcl
===================================================================
--- tcl/end.tcl (revision 2928)
+++ tcl/end.tcl (working copy)
@@ -1631,7 +1631,7 @@
bind $w <Left> ::move::Back
bind $w <Down> {::move::Forward 10}
bind $w <Right> ::move::Forward
- bind $w <End> ::move::End
+ bind $w <End> {::move::End 1}
bind $w <F2> {::startAnalysisWin F2}
bind $w <F3> {::startAnalysisWin F3}
bind $w <F4> {::startAnalysisWin F4}
Index: tcl/move.tcl
===================================================================
--- tcl/move.tcl (revision 2928)
+++ tcl/move.tcl (working copy)
@@ -70,13 +70,17 @@
}
}
-proc ::move::End {} {
+proc ::move::End {{var 0}} {
if {$::fics::playing == 2} {
::fics::writechan {forward 256} noecho
return
}
set ::pause 1
- sc_move end
+ if {$var} {
+ sc_move endVar
+ } else {
+ sc_move end
+ }
updateBoard
if {[::move::drawVarArrows]} { ::move::showVarArrows }
}
_______________________________________________
Scidvspc-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/scidvspc-users