/*
-tofuproxy -- HTTP proxy with TLS certificates management
+tofuproxy -- flexible HTTP/WARC proxy with TLS certificates management
Copyright (C) 2021 Sergey Matveev <stargrave@stargrave.org>
This program is free software: you can redistribute it and/or modify
frame .fControl$name
set l$name [label .lPage$name]
- button .bNext$name -text "Next" -command "set page$name \[
- paginator \$page$name +1 \$t$name \$l$name \$certs$name
- ]"
- button .bPrev$name -text "Prev" -command "set page$name \[
- paginator \$page$name -1 \$t$name \$l$name \$certs$name
- ]"
+ button .bNext$name -text "Next" -command [subst {
+ set page$name \[paginator \$page$name +1 \$t$name \$l$name \$certs$name]
+ }]
+ button .bPrev$name -text "Prev" -command [subst {
+ set page$name \[paginator \$page$name -1 \$t$name \$l$name \$certs$name]
+ }]
grid .fControl$name
grid .lPage$name .bNext$name .bPrev$name -in .fControl$name
set page$name [paginator -1 +1 $t [set l$name] [set certs$name]]
$lDANE configure -bg $daneColour($daneStatus)
$lDANE configure -text "DANE-EE: $daneStatus"
}
-button .bAccept -text "Accept" -bg green -command { exit 10 }
-button .bOnce -text "Once" -bg green -command { exit 11 }
-button .bReject -text "Reject" -bg red -command { exit 12 }
+proc doAccept {} { exit 10 }
+proc doOnce {} { exit 11 }
+proc doReject {} { exit 12 }
+button .bAccept -text "Accept" -bg green -command doAccept
+button .bOnce -text "Once" -bg green -command doOnce
+button .bReject -text "Reject" -bg red -command doReject
grid .fButtons
grid .lDANE .bAccept .bOnce .bReject -in .fButtons
grid rowconfigure . 0 -weight 1
grid columnconfigure . 0 -weight 1
+
+bind . <KeyPress> {switch -exact %K {
+ q {exit 0} ; # reject once
+ a doAccept
+ o doOnce
+ r doReject
+ n {.bNextTheir invoke}
+ p {.bPrevTheir invoke}
+ N {.bNextOur invoke}
+ P {.bPrevOur invoke}
+}}
`
var (