X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~yarrgweb/git?p=ypp-sc-tools.db-live.git;a=blobdiff_plain;f=yarrg%2Fwhere-vessels;h=eacde3aa7eda581375a39ea13281259f0abdf120;hp=6b46b89cce62924a89150bcd2aa746e7e71c8dab;hb=31495d4cf6b336aec269629da32ddae7f499029a;hpb=199a0223ed500288af2224b56d2535be0bfa4592 diff --git a/yarrg/where-vessels b/yarrg/where-vessels index 6b46b89..eacde3a 100755 --- a/yarrg/where-vessels +++ b/yarrg/where-vessels @@ -124,7 +124,7 @@ proc parseargs {} { --vessel-info-source { glset info_source [nextarg] } --filter-separate-lock-owner { glset filter_lockown_separate 1 } --debug { incr debug } - default { badusage "unknown option $arg" } + default { badusage "bad option $arg; see README.where-vessels" } } } set argv [lrange $argv $ai end] @@ -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 <> 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 { }