]> Sergey Matveev's repositories - tofuproxy.git/blobdiff - verify.go
WARC
[tofuproxy.git] / verify.go
index ed9865094a8d6768ebef4cc9fbadacdeb593f08a..dc852a8b747a7b31ed67f7b5c28a1702bc851616 100644 (file)
--- a/verify.go
+++ b/verify.go
@@ -1,5 +1,5 @@
 /*
-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
@@ -94,12 +94,12 @@ proc addCertsWindow {name} {
 
     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]]
@@ -114,13 +114,27 @@ if {$daneStatus ne ""} {
     $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 (