Print 50-move counter in Engine-Output title
[xboard.git] / xengineoutput.c
index 5a85d7d..11b0695 100644 (file)
@@ -167,6 +167,13 @@ void DoSetWindowText(int which, int field, char *s_label)
        XtSetValues(outputField[which][field], &arg, 1);
 }
 
+void SetEngineOutputTitle(char *title)
+{
+       Arg arg;
+       XtSetArg(arg, XtNtitle, (XtArgVal) title);
+       XtSetValues(engineOutputShell, &arg, 1);
+}
+
 void InsertIntoMemo( int which, char * text, int where )
 {
        XawTextBlock t;
@@ -198,11 +205,12 @@ void SetIcon( int which, int field, int nIcon )
 
 void DoClearMemo(int which)
 {
-    Widget edit;
-
-    edit = XtNameToWidget(engineOutputShell, which ? "*form2.text" : "*form.text");
-    XtCallActionProc(edit, "select-all", NULL, NULL, 0);
-    XtCallActionProc(edit, "kill-selection", NULL, NULL, 0);
+    Widget edit = XtNameToWidget(engineOutputShell, which ? "*form2.text" : "*form.text");
+    Arg arg;
+//    XtCallActionProc(edit, "select-all", NULL, NULL, 0);
+//    XtCallActionProc(edit, "kill-selection", NULL, NULL, 0);
+    XtSetArg(arg, XtNstring, ""); // clear without disturbing selection!
+    XtSetValues(edit, &arg, 1);
 }
 
 // cloned from CopyPositionProc. Abuse selected_fen_position to hold selection
@@ -215,7 +223,8 @@ void SetFocus(Widget w, XtPointer data, XEvent *event, Boolean *b); // from xopt
 char memoTranslations[] =
 ":Ctrl<Key>c: CopyMemoProc() \n \
 <Btn3Motion>: HandlePV() \n \
-<Btn3Down>: select-start() SelectPV() \n \
+Shift<Btn3Down>: select-start() SelectPV(1) \n \
+Any<Btn3Down>: select-start() SelectPV(0) \n \
 <Btn3Up>: extend-end() StopPV() \n";
 
 void
@@ -232,6 +241,7 @@ SelectPV (Widget w, XEvent * event, String * params, Cardinal * nParams)
        XawTextGetSelectionPos(w, &index, &dummy);
        XtSetArg(arg, XtNstring, &val);
        XtGetValues(w, &arg, 1);
+       shiftKey = strcmp(params[0], "0");
        if(LoadMultiPV(x, y, val, index, &start, &end)) {
            XawTextSetSelection( outputField[currentPV][nMemo], start, end );
            highTextStart[currentPV] = start; highTextEnd[currentPV] = end;