Index: patches/swap_buttons-2-3.patch
===================================================================
--- patches/swap_buttons-2-3.patch	(revision 3501)
+++ patches/swap_buttons-2-3.patch	(revision 3503)
@@ -1,6 +1,6 @@
---- scid.orig	2024-07-27 15:10:05.000000000 +1000
-+++ scid	2024-07-27 15:10:05.000000000 +1000
-@@ -112145,7 +112145,7 @@
+--- scid.orig	2024-12-25 16:20:16.000000000 +1000
++++ scid	2024-12-25 16:22:51.000000000 +1000
+@@ -112148,7 +112148,7 @@
    }
  }
  
@@ -9,7 +9,7 @@
  bind TNotebook <<NotebookTabChanged>> {::docking::tabChanged %W}
  
  proc ::docking::ctx_cmd {path anchor} {
-@@ -114570,7 +114570,7 @@
+@@ -114585,7 +114585,7 @@
          set tagName m
          # Too many bindings! 
          $w tag bind $moveTag <ButtonPress-1> [list ::pgn::move $moveTag]
@@ -18,7 +18,7 @@
          $w tag bind $moveTag <Any-Enter> [list u1 $w $moveTag]
          $w tag bind $moveTag <Any-Leave> [list u0 $w $moveTag]
        } elseif {[strIsPrefix {a } $tagName]} {
-@@ -114638,7 +114638,7 @@
+@@ -114653,7 +114653,7 @@
          set glCommand "::game::LoadMenu $w [sc_base current] $gnum %X %Y"
          $w tag bind $gameTag <ButtonPress-1> $glCommand
          if {$w != ".crosstabWin.f.text"} {
@@ -27,7 +27,7 @@
          }
          # right-click browses game, but too annoying in crosstable
          # $w tag bind $gameTag <ButtonPress-3>  "::gbrowser::new [sc_base current] $gnum"
-@@ -114661,7 +114661,7 @@
+@@ -114676,7 +114676,7 @@
          }
          $w tag bind $commentTag <ButtonPress-1> "::pgn::comment $commentTag"
          # needed for ::pgn::deleteComment to work
@@ -36,7 +36,7 @@
  
          $w tag bind $commentTag <Any-Enter> [list u1 $w $commentTag]
          $w tag bind $commentTag <Any-Leave> [list u0 $w $commentTag]
-@@ -115928,7 +115928,7 @@
+@@ -115947,7 +115947,7 @@
  
      $t tag bind f$pathtag <Double-Button-1> "::file::Open [list $fullpath] $w"
      # Bind right button to popup a contextual menu:
@@ -45,7 +45,7 @@
  
      $t tag bind f$pathtag <Any-Enter> "$t tag configure [list f$pathtag] -background $hc"
      $t tag bind f$pathtag <Any-Leave> "$t tag configure [list f$pathtag] -background {}"
-@@ -117306,7 +117306,7 @@
+@@ -117325,7 +117325,7 @@
      $w.text.edit add command -label "Cut"  -command "tk_textCut $w.text"
      $w.text.edit add command -label "Copy" -command "tk_textCopy $w.text"
      $w.text.edit add command -label "Paste" -command "tk_textPaste $w.text"
@@ -54,7 +54,7 @@
  
      bind $w <F1> { helpWindow EPD }
  
-@@ -121174,8 +121174,8 @@
+@@ -121211,8 +121211,8 @@
  
    for {set i 0} {$i < 64} {incr i} {
      $sbd.bd bind p$i <ButtonPress-1> "set ::selectedSq $i ; ::board::setDragSquare $sbd $i"
@@ -65,7 +65,7 @@
    }
    bind $sbd.bd <B1-Motion> "::board::dragPiece $sbd %x %y"
    bind $sbd.bd <ButtonRelease-1> "releaseSetupSquare $sbd %x %y"
-@@ -122713,11 +122713,11 @@
+@@ -122750,11 +122750,11 @@
  
    ::windows::gamelist::configFont
  
@@ -79,7 +79,7 @@
      ::windows::gamelist::Popup %W %x %y %X %Y
    }
    $w.tree tag bind click2 <Double-Button-1> {::windows::gamelist::Load [%W set [%W focus] Number]}
-@@ -122874,7 +122874,7 @@
+@@ -122911,7 +122911,7 @@
      }
    }
    # Quick save is right click
@@ -88,7 +88,7 @@
      if {[%W cget -state] != "disabled"} {gameQuickSave}
    }
  
-@@ -124049,7 +124049,7 @@
+@@ -124085,7 +124085,7 @@
      bind $g.bd <f> "$g.b.flip invoke"
      bind $g.bd <Control-Return>  "$g.b.load invoke"
      bind $g.bd.bd <Double-Button-1> "$g.b.load invoke"
@@ -97,7 +97,7 @@
      # Have to zero these bindings to stop them being processed (again) as per above
      bind $g.bd <Control-Right> " "
      bind $g.bd <Control-Left>  " "
-@@ -124370,11 +124370,11 @@
+@@ -124406,11 +124406,11 @@
  
  
      # # Middle button popups a PGN board
@@ -112,7 +112,7 @@
  
      if {$::macOS} {
        bind .pgnWin <Control-Button-1> {event generate .pgnWin <Button-3> -x %x -y %y -button 3}
-@@ -125928,9 +125928,9 @@
+@@ -125973,9 +125973,9 @@
          [list InsertMark $board $square]]
      ::board::bind $board $square <ButtonRelease-1> [namespace code \
          [list ButtonReleased $board %b %x %y]]
@@ -124,7 +124,7 @@
          [list InsertMark $board [expr {$square + 64}]]]
    }
    standardWheelMouseBindings $insertBoard.board.bd
-@@ -127019,7 +127019,7 @@
+@@ -127068,7 +127068,7 @@
    }
  
    # middle button toggles buttonbar
@@ -133,7 +133,7 @@
    bindWheeltoFixed $w.f.tl
  
    bind $w <Configure> "recordWinSize $w"
-@@ -127554,8 +127554,8 @@
+@@ -127603,8 +127603,8 @@
        if { $maskFile != {}} {
          ### Bind right button to popup a contextual menu
          # todo: Only display full menu if move is in mask
@@ -144,7 +144,7 @@
        }
      }
  
-@@ -127622,8 +127622,8 @@
+@@ -127671,8 +127671,8 @@
        }
        
        $w.f.tl tag bind tagclick$idx <Button-1> "[list ::tree::selectCallback $baseNumber $maskmove] ; break"
@@ -155,7 +155,7 @@
  
      if {$::tree::mask::showMarkers} {
        # Markers
-@@ -128026,7 +128026,7 @@
+@@ -128075,7 +128075,7 @@
      # this font is working, but doesn't affect how many entries fit on a screen, and isn't enabled
      $w.tree tag configure treefont -font font_Regular
  
@@ -164,7 +164,7 @@
  
      $w.tree tag bind click2 <Double-Button-1> "
        if {\[sc_base current\] != $baseNumber} {
-@@ -130143,7 +130143,7 @@
+@@ -130192,7 +130192,7 @@
  
    standardShortcuts $w
  
@@ -173,7 +173,7 @@
  
    bind $w <F1>       "helpWindow Crosstable"
    bind $w <Escape>   ".crosstabWin.b.cancel invoke"
-@@ -131893,7 +131893,7 @@
+@@ -131942,7 +131942,7 @@
      foreach win {"" .img .name} {
        bind $f$win <ButtonPress-1> [list ::windows::switcher::pressMouseEvent $i]
        bind $f$win <ButtonRelease-1> [list ::windows::switcher::releaseMouseEvent $i %X %Y %W %R %S]
@@ -182,7 +182,7 @@
      }
  
      menu $f.menu -tearoff 0
-@@ -131944,7 +131944,7 @@
+@@ -131994,7 +131994,7 @@
        configMenuText $f.menu.show 1 TreeFileBest $::language
  
      foreach win {"" .img .name} {
@@ -191,7 +191,7 @@
      }
    }
  
-@@ -135823,7 +135823,7 @@
+@@ -135876,7 +135876,7 @@
    $f.text.edit add command -label "Cut" -command "tk_textCut $f.text"
    $f.text.edit add command -label "Copy" -command "tk_textCopy $f.text"
    $f.text.edit add command -label "Paste" -command "tk_textPaste $f.text"
@@ -200,7 +200,7 @@
  
    set text $w.message.text
    # $text insert end "Hi $name,\n\n"
-@@ -136086,7 +136086,7 @@
+@@ -136139,7 +136139,7 @@
    $edit.text.rmenu add command -label "Copy" -command "tk_textCopy $edit.text"
    $edit.text.rmenu add command -label "Paste" -command "tk_textPaste $edit.text"
    $edit.text.rmenu add command -label "Select all" -command "$edit.text tag add sel 0.0 end-1c"
@@ -209,7 +209,7 @@
  
    text $pane.err.text -height 6 -width 75 -wrap word \
        -yscroll "$pane.err.scroll set"
-@@ -136628,7 +136628,7 @@
+@@ -136681,7 +136681,7 @@
    $w.text.bd configure -relief solid -borderwidth 1
    for {set i 0} {$i < 63} {incr i} {
      ::board::bind $w.text.bd $i <ButtonPress-1> ::optable::flipBoard
@@ -218,7 +218,7 @@
    }
    ::board::update $w.text.bd [sc_pos board]
    $w.b.exclude.m delete 0 end
-@@ -138713,7 +138713,7 @@
+@@ -138766,7 +138766,7 @@
      $w.menu add command -label FileClose -command "destroy $w"
      menu $w.menu.players -tearoff 1
      playerInfoConfigMenus
@@ -227,7 +227,7 @@
  
      pack [frame $w.b] -side bottom -expand 1 -fill x -pady 0 -padx 5
  
-@@ -139336,7 +139336,7 @@
+@@ -139393,7 +139393,7 @@
    checkbutton $w.buttons3.logname     -variable analysis(logName) -textvar tr(LogName)
  
    # Right-click inits engine but doesn't start
@@ -236,7 +236,7 @@
      makeAnalysisWin [lindex [.enginelist.list.list curselection] 0] nostart
    }
  
-@@ -141266,16 +141266,16 @@
+@@ -141328,16 +141328,16 @@
  
    button $w.b.move -image tb_addmove -command "makeAnalysisMove $n" -relief $relief
    ::utils::tooltip::Set $w.b.move $tr(AddMove)
@@ -256,7 +256,7 @@
  
    spinbox $w.b.multipv -from 1 -to 8 -increment 1 -textvar analysis(multiPVCount$n) -justify center \
      -width 2 -font font_Small -command "changePVSize $n" 
-@@ -141341,7 +141341,7 @@
+@@ -141412,7 +141412,7 @@
    button $w.b.help -image tb_help  -command {helpWindow Analysis} -relief $relief
    ::utils::tooltip::Set $w.b.help $tr(Help)
  
@@ -265,7 +265,7 @@
   
    if {$::macOS} {
      $w.b.startStop configure -width 30 -height 30
-@@ -141404,7 +141404,7 @@
+@@ -141475,7 +141475,7 @@
    pack $w.hist.ybar -side right -fill y
    pack $w.hist.xbar -side bottom -expand 0 -fill x
    pack $w.hist.text -side left -expand 1 -fill both
@@ -274,7 +274,7 @@
    $w.text tag configure blue -foreground blue ; # this only seems used in toggleAutomove ???
  
    if {$::enableForeground == 1} {
-@@ -143438,7 +143438,7 @@
+@@ -143623,7 +143623,7 @@
    }
  
    bind .t <ButtonRelease-1> {destroy .t}
@@ -283,7 +283,7 @@
    bind .t <Leave> {if {"%W" == ".t"} {destroy .t}}
    bind $w <Destroy> +[list destroy .t]
  
-@@ -145178,7 +145178,7 @@
+@@ -145363,7 +145363,7 @@
    bind $w <F1> {helpWindow Graphs Filter}
    standardShortcuts $w
    # bind $w.c <1> tools::graphs::filter::Switch
@@ -292,7 +292,7 @@
    bind $w <Escape> "destroy $w"
  
    foreach {name text} {decade Decade year Year elo Rating move moves} {
-@@ -145470,11 +145470,11 @@
+@@ -145655,11 +145655,11 @@
        ::utils::graph::redraw score
        recordWinSize .sgraph
      }
@@ -308,7 +308,7 @@
      $w.c bind title <ButtonPress-1> "tk_popup $w.menu.options %X %Y"
      bind $w <Escape> "destroy $w"
      bind $w <space>  toggleEngineAnalysis
-@@ -145855,7 +145855,7 @@
+@@ -146040,7 +146040,7 @@
      foreach i $playerInfoHistory {
        $w.players add command -label $i -command [list ::tools::graphs::rating::Refresh $i]
      }
@@ -317,7 +317,7 @@
      # Button-3 also triggers a Refresh below
  
      menu $w.menu
-@@ -146068,7 +146068,7 @@
+@@ -146253,7 +146253,7 @@
    bind $w <F1> {helpWindow Graphs Filter}
    standardShortcuts $w
    # bind $w.c <1> tools::graphs::absfilter::Switch
@@ -326,7 +326,7 @@
    bind $w <Escape> "destroy $w"
    foreach {name text} {decade Decade year Year elo Rating move moves} {
      radiobutton $w.b.$name -padx 4 -pady 3 -text [string totitle $::tr($text)] \
-@@ -149478,7 +149478,7 @@
+@@ -149666,7 +149666,7 @@
      grid $b -row 11 -column $c
      bind $b <Button-1> "::ptrack::select $sq"
      bind $b <Double-Button-1> "::ptrack::select $sq ; ::ptrack::refresh"
@@ -335,7 +335,7 @@
    }
    grid [frame $w.bd.gap2 -height 5] -row 12 -column 0
    foreach file {a b c d e f g h} c {1 2 3 4 5 6 7 8} p {p p p p p p p p} {
-@@ -149488,7 +149488,7 @@
+@@ -149676,7 +149676,7 @@
      grid $b -row 13 -column $c
      bind $b <Button-1> "::ptrack::select $sq"
      bind $b <Double-Button-1> "::ptrack::select $sq ; ::ptrack::refresh"
@@ -344,7 +344,7 @@
    }
    foreach file {a b c d e f g h} c {1 2 3 4 5 6 7 8} p {r n b q k b n r} {
      set sq ${file}1
-@@ -149501,15 +149501,15 @@
+@@ -149689,15 +149689,15 @@
  
    # Both-piece bindings:
    foreach sq {d1 e1 d8 e8} {
@@ -365,7 +365,7 @@
    }
  
    # Status-bar help:
-@@ -160134,7 +160134,7 @@
+@@ -160343,7 +160343,7 @@
    }
  }
  # Quick save is right click
@@ -374,7 +374,7 @@
    if {[%W cget -state] != "disabled"} {gameQuickSave}
    break
  }
-@@ -162912,7 +162912,7 @@
+@@ -163138,7 +163138,7 @@
     updateBoard -animate
  }
  
@@ -383,7 +383,7 @@
     set ::pause 1
     while {[sc_var level] > 0} {
       sc_var exit
-@@ -162947,17 +162947,17 @@
+@@ -163173,17 +163173,17 @@
  button $bb.windows  -image tb_windows   -command {raiseAllWindows 1}
  
  # Right-click raises .splash
@@ -404,7 +404,7 @@
  
  ::utils::tooltip::Set $bb.autoplay [tr AutoPlay]
  ::utils::tooltip::Set $bb.trial [tr TrialMode]
-@@ -163054,12 +163054,12 @@
+@@ -163280,12 +163280,12 @@
  # Pop-up this menu with a right click on a few empty real estates (if not dragging)
  
  if { !$::docking::USE_DOCKING } {
@@ -420,7 +420,7 @@
    tk_popup .menu.options.ginfo %X %Y
  }
  
-@@ -170843,7 +170843,7 @@
+@@ -171073,7 +171073,7 @@
        set ::fics::graph(on) [expr {! $::fics::graph(on)}]
        ::fics::showGraph
      }
@@ -429,7 +429,7 @@
      button $w.bottom.buttons.findopp -textvar tr(FICSFindOpponent) -command {::fics::findOpponent}
      button $w.bottom.buttons.quit    -textvar tr(FICSQuit) -command {::fics::close}
      grid $w.bottom.buttons.offers  -column 0 -row $row -sticky ew -padx 3 -pady 2
-@@ -170860,7 +170860,7 @@
+@@ -171090,7 +171090,7 @@
      bind $w <Destroy>   ::fics::close
      bind $w <Configure> "::fics::recordFicsSize $w"
      bind $w <F1> {helpWindow FICS}
@@ -438,7 +438,7 @@
        tk_popup .menu.options.fics %X %Y
      }
  
-@@ -175885,7 +175885,7 @@
+@@ -176129,7 +176129,7 @@
    ::board::bind .main.board $i <Enter> "enterSquare $i"
    ::board::bind .main.board $i <Leave> "leaveSquare $i"
    ::board::bind .main.board $i <ButtonPress-1> "pressSquare $i 0"
@@ -447,7 +447,7 @@
    ::board::bind .main.board $i <Control-ButtonPress-1> "drawArrow $i \$::commenteditor::State(markColor)"
    ::board::bind .main.board $i <Shift-ButtonPress-1> "addMarker $i \$::commenteditor::State(markColor)"
  
-@@ -175898,7 +175898,7 @@
+@@ -176142,7 +176142,7 @@
  # if we want to use the above "addMarker" bindings
  bind .main.board.bd <B1-Motion> {::board::dragPiece .main.board %x %y}
  bind .main.board.bd <ButtonRelease-1> {releaseSquare .main.board %x %y}
@@ -456,7 +456,7 @@
  
  foreach i {o q r n k O Q R B N K} {
    bind .main <$i> "moveEntry_Char [string toupper $i]"
-@@ -176103,10 +176103,10 @@
+@@ -176375,10 +176375,10 @@
  }
  
  # todo mac button patch
@@ -463,13 +463,13 @@
 -bind .main.statusbar <Button-2> {::file::SwitchToNextBase ; break}
 +bind .main.statusbar <Button-3> {::file::SwitchToNextBase ; break}
  
- # Right-click toggles window size
+ # Right-click toggles if engine1 is shown in status bar
 -bind .main.statusbar <Button-3>  {
 +bind .main.statusbar <Button-2>  {
    toggleMini
    if {[winfo exists .analysisWin1] && $::analysis(mini)} {
-     set ::statusBar "   [lindex $::analysis(name1) 0]:"
-@@ -181390,7 +181390,7 @@
+     set ::statusBar " [lindex $::analysis(name1) 0]:"
+@@ -181666,7 +181666,7 @@
  # Same padding as '.main.button.$i configure' in main.tcl
  button .main.button.exthardware -image tb_eng_disconnected -relief flat -border 1 \
    -highlightthickness 0 -takefocus 0 -width 30 -height 30
Index: tcl/end.tcl
===================================================================
--- tcl/end.tcl	(revision 3501)
+++ tcl/end.tcl	(revision 3503)
@@ -1777,15 +1777,44 @@
 
 ### Status Bar
 
-label .main.statusbar -textvar statusBar -relief sunken -anchor w -width 1 -font font_Small
+text .main.statusbar -relief sunken -height 1 -takefocus 0 -setgrid 1 -insertwidth 0 -font font_Small
+.main.statusbar tag configure White -background white
+.main.statusbar tag configure Black -background black -foreground white
+# TODO fix for custom colours S.A.
 
+set statusBarWidth [expr [winfo width .main.statusbar]/[font measure font_Fixed "0"]]
+
+trace variable statusBar w {eval catch updateStatusBarVar}
+
+proc updateStatusBarVar {args} {
+  global statusBar statusBarWidth analysis
+  set w .main.statusbar
+  $w configure -state normal
+  $w delete 1.0 end
+
+  if {$analysis(mini) && $analysis(analyzeMode1)} {
+    ### Pad out the status bar with spaces and overlay with White/Black scorebar S.A.
+    set statusBar2 [format %-${statusBarWidth}s $statusBar]
+    set X [expr int($statusBarWidth/2.0 * (1.0 + $analysis(score1)/5.0))]
+    $w insert end [string range $statusBar2 0 $X] White
+    $w insert end [string range $statusBar2 $X+1 end] Black
+  } else {
+    $w insert end $statusBar
+  }
+  $w configure -state disabled
+}
+
 # double-click starts/stops engine 1
 bind .main.statusbar <Double-Button-1> {
-  makeAnalysisWin 1
-  if {[winfo exists .analysisWin1] && $::analysis(mini)} {
-    set ::statusBar "   [lindex $::analysis(name1) 0]:"
-    update
+  set ::analysis(mini) 1
+  .main.statusbar configure -font font_Fixed
+
+  if {![winfo exists .analysisWin1]} {
+    makeAnalysisWin 1
+  } else {
+    toggleEngineAnalysis 1
   }
+  break
 }
 
 # todo mac button patch
@@ -1795,7 +1824,7 @@
 bind .main.statusbar <Button-3>  {
   toggleMini
   if {[winfo exists .analysisWin1] && $::analysis(mini)} {
-    set ::statusBar "   [lindex $::analysis(name1) 0]:"
+    set ::statusBar " [lindex $::analysis(name1) 0]:"
     update
   }
   break
@@ -2342,6 +2371,9 @@
 
 wm deiconify $dot_w
 focus .main
+after idle {
+  set ::statusBarWidth [expr [winfo width .main.statusbar]/[font measure font_Fixed "0"]]
+}
 
 ### Raise pgn import window if open
 if {[winfo exists .ipgnWin]} {
Index: tcl/start.tcl
===================================================================
--- tcl/start.tcl	(revision 3501)
+++ tcl/start.tcl	(revision 3503)
@@ -1104,6 +1104,8 @@
 proc resizeMainBoard {} {
   global gameInfo board
 
+  set ::statusBarWidth [expr [winfo width .main.statusbar]/[font measure font_Fixed "0"]]
+
   if { ! $::docking::USE_DOCKING } { return }
   
   bind .main <Configure> {}
Index: tcl/help/help.tcl
===================================================================
--- tcl/help/help.tcl	(revision 3501)
+++ tcl/help/help.tcl	(revision 3503)
@@ -2749,9 +2749,11 @@
   <p> Scid vs. PC has powerful chess analysis features. Multiple engines can
 run simultaneously; they can be matched against each other in a <a
 Tourney>Computer Tournament</a>, and log files can be browsed from within the app -
-making for easier <a Analysis Debugging>Debugging</a>.
-</p>
+making for easier <a Analysis Debugging>Debugging</a>.</p>
+  <p><i>ScidvsPC now has an engine <b>Score Bar</b>. Double-clicking the status bar will run the second listed engine docked in the status bar,
+with an overlayed score bar. Right-clicking it will dock/undock the engine.</i></p>
 
+
   <h3>Getting Started</h3>
 
   <p>A few engines come preinstalled, while others can be added via the <a
@@ -2760,10 +2762,7 @@
   <p>Starting them can be done in various ways
   By <run ::startAnalysisWin F2><green>pressing F2</green></run>
   , F3 or F4 from the Configuration Widget, or via the <b>Tools--<gt>Start Engine</b> menu.
-  Additionally, the second listed engine can be start/stopped by <b>double-clicking the status-bar</b>.
-  Right-clicking the status-bar will dock/undock the engine,
-  which, when running docked, will run at low CPU priority.<p>
-
+  </p>
   <p>
   <b>Space Bar</b> makes the engine start/stop. Pressing <b>Enter</b> will
   add the engine's current best move, and <b>Control+Enter</b>, the whole line.
Index: tcl/menus.tcl
===================================================================
--- tcl/menus.tcl	(revision 3501)
+++ tcl/menus.tcl	(revision 3503)
@@ -983,7 +983,7 @@
     gameInfo(show) gameInfo(photos) gameInfo(wrap) gameInfo(showStatus) 
     gameInfo(fullComment) gameInfo(showMarks) gameInfo(showMenu) gameInfo(showTool) 
     gameInfo(showMaterial) gameInfo(showFEN) gameInfo(showButtons) gameInfo(showTB) 
-    analysis(mini) engines(F2) engines(F3) engines(F4) analysis(logMax) analysis(logName) analysis(maxPly) analysis(lowPriority) analysis(boardSize) analysis(boardType) analysis(showBoard) analysis(showEngineInfo) analysis(wrapPV) analysis(boardSeqNumColor)
+    engines(F2) engines(F3) engines(F4) analysis(logMax) analysis(logName) analysis(maxPly) analysis(lowPriority) analysis(boardSize) analysis(boardType) analysis(showBoard) analysis(showEngineInfo) analysis(wrapPV) analysis(boardSeqNumColor)
     scidBooksDir scidBasesDir 
     ::book::lastBook1 ::book::lastBook2 ::book::lastTuning ::book::sortAlpha 
     ::book::showTwo ::book::oppMovesVisible ::gbrowser::size 
Index: tcl/tools/analysis.tcl
===================================================================
--- tcl/tools/analysis.tcl	(revision 3501)
+++ tcl/tools/analysis.tcl	(revision 3503)
@@ -2036,7 +2036,9 @@
   }
 
   if { $n == 1 && $analysis(mini)} {
-    toggleMini
+    set analysis(mini) 0
+    .main.statusbar configure -font font_Small
+    updateStatusBar
   }
 
   # Cancel scheduled commands
@@ -2619,7 +2621,7 @@
   }
   # necessary on windows because the UI sometimes starves, also keep latest priority setting
   # if ($::windowsOS)
-  if {$analysis(priority$n) == {idle} || $analysis(lowPriority) || ($n==1 && $analysis(mini)) } {
+  if {$analysis(priority$n) == {idle} || $analysis(lowPriority) } {
     set analysis(priority$n) idle
     setAnalysisPriority $n
   }
@@ -2629,6 +2631,7 @@
 }
 
 ### Dock/undock Engine1 in statusbar
+# Lots of messing around with the fixed font to allow an overlayed score bar (implemented as a text widget with black and white tags).
 
 proc toggleMini {} {
 
@@ -2635,6 +2638,9 @@
   global analysisWin1 analysis
 
   if {![winfo exists .analysisWin1]} {
+    .main.statusbar configure -font font_Small
+    .main.statusbar tag remove Black 1.0 end
+    .main.statusbar tag remove White 1.0 end
     updateStatusBar
     return
   }
@@ -2646,19 +2652,18 @@
     if {!$::docking::USE_DOCKING} {
       catch {wm state .analysisWin1 withdrawn}
     }
+    .main.statusbar configure -font font_Fixed
     update
-    set analysis(priority1) idle ; # nice priority
   } else {
     # make window big
     if {!$::docking::USE_DOCKING} {
       catch {wm state .analysisWin1 normal}
     }
+    .main.statusbar configure -font font_Small
     updateStatusBar
     update
     .analysisWin1.hist.text yview moveto 1
-    set analysis(priority1) normal ; # normal priority
   }
-  setAnalysisPriority 1
 }
 
 
@@ -3315,6 +3320,10 @@
       $h delete 1.0 end
       $h configure -state disabled
     } 
+
+    if { $n == 1 && $analysis(mini) } {
+      set ::statusBar " [lindex $analysis(name1) 0]:"
+    }
     if {$analysis(uci$n) && $::uci::goCommand != "go infinite"} {
       ::utils::tooltip::Set $b $::uci::goCommand
     } else {
@@ -3592,7 +3601,7 @@
       if {[string is ascii -strict %s]} {
 	set s [string range $line [string first {[} $line] 50]
 	if {$s != {}} {
-	  set ::statusBar "   [lindex $analysis(name1) 0]: [string map {\n {}} $s]"
+	  set ::statusBar " [lindex $analysis(name1) 0]: [string map {\n {}} $s]"
 	}
       }
     } 
@@ -3931,10 +3940,17 @@
 	  $h configure -state normal
 	  $h delete 1.0 end
           if {[sc_pos isCheck]} {
+	    if {[sc_pos side] == "black"} {
+	      set analysis(score$n) 327.0
+	    } else {
+	      set analysis(score$n) -327.0
+	    }
 	    $h insert 1.0 ($tr(checkmate))
           } else {
+            set analysis(score$n) 0.0
 	    $h insert 1.0 ($tr(stalemate))
           }
+	  set ::statusBar " [lindex $analysis(name1) 0]: \[$analysis(score$n)\]"
           # $h insert 1.0 "[tr No] [tr Moves]"
 	  $h configure -state disabled
 	  if {$analysis(boardType$n)!="Position"} {
