chiark / gitweb /
where-vessels: correctly display now-unsmashed but previously-smashed sizes
[ypp-sc-tools.main.git] / yarrg / where-vessels
index b961e4e3818f2037c3d49ffc2f1f71d49549b411..eacde3aa7eda581375a39ea13281259f0abdf120 100755 (executable)
@@ -136,6 +136,7 @@ proc have-notes {} {
     return [string length $notes_loc]
 }
 proc have-ownership {} {
+    global pirate
     return [expr {[have-notes] && [string length $pirate]}]
 }
 
@@ -146,7 +147,13 @@ proc argdefaults {} {
        set cmd {./yarrg --find-window-only --quiet}
        if {[info exists ocean]} { lappend cmd --ocean $ocean }
        if {[info exists pirate]} { lappend cmd --pirate $pirate }
-       manyset [split [eval exec $cmd] " "] ocean pirate
+       if {[catch {
+           manyset [split [eval exec $cmd] " "] ocean pirate
+       } emsg]} {
+           puts stderr "yarrg: [string trim $emsg]"
+           puts stderr "Alternatively pass, --ocean and perhaps --pirate options to where-vessels"
+           exit 1
+       }
        if {![llength $ocean] || ![llength $pirate]} {
            error "$ocean $pirate ?"
        }
@@ -473,7 +480,7 @@ proc show-report-decode {code} {
            1 { report-set own "Other pirate's" }
            2 { report-set own "Owner unknown" }
            3 { report-set own "(All ownerships)" }
-           4 - 5 { report-set own "(Yours/unknown)" }
+           4 - 5 { report-set own "(Not yours / unknown)" }
            default { report-set own "?? $notown" }
        }
     }
@@ -623,7 +630,7 @@ proc smash-code {code} {
 proc smash-prepare {} {
     global vc_codes smash_sizemap smash_size smash_sizeinexact
     set mapto {}
-    catch { unset smash_sizeplus }
+    catch { unset smash_sizeinexact }
     foreach size $vc_codes {
        if {!$smash_size($size)} {
            set mapto $size
@@ -675,6 +682,7 @@ proc make-smashers {} {
     glset smash_owner [expr {[have-ownership] ? 0 : 3}]
     set cw [make-radio-smasher owner "Lock/\nowner" smash_owner \
                {Show Yours? {For you} Lock Hide} 2 3]
+    if {![have-notes]} { $cw.0 configure -state disabled }
     if {![have-ownership]} {
        foreach ix {1 2} { $cw.$ix configure -state disabled }
     }
@@ -1340,7 +1348,7 @@ proc widgets-setup {} {
     frame .smash -relief groove -bd 2 -padx 1
     frame .filter -relief groove -bd 2 -padx 1
     frame .islands -pady 2
-    pack .cp .filter .islands .smash -side top
+    pack .cp .filter .islands .smash -side top -fill x
 
     label .smash.title -text {Display/combine details}
     grid .smash.title -row 0 -column 0 -columnspan 2
@@ -1410,7 +1418,7 @@ proc widgets-setup {} {
     #----- decoding etc. report -----
 
     frame .cp.report
-    pack .cp.report -side left -anchor n
+    pack .cp.report -side left -anchor n -fill both -expand y
 
     label .cp.report.island -text { }
 
@@ -1432,8 +1440,8 @@ proc widgets-setup {} {
        .cp.report.list .cp.report.abbrev1 -side top
     bind .cp.report.list <<ListboxSelect>> show-report-abbrev1
 
-    #pack .cp.report.code -side top
     pack configure .cp.report.details -fill x
+    pack configure .cp.report.list -fill x
 
     foreach sw {inport size subclass lock own xabbrev} {
        label .cp.report.details.$sw -text { }