aboutsummaryrefslogtreecommitdiffstats
path: root/scripts
diff options
context:
space:
mode:
Diffstat (limited to 'scripts')
-rw-r--r--scripts/pinentry-rofi.in63
1 files changed, 63 insertions, 0 deletions
diff --git a/scripts/pinentry-rofi.in b/scripts/pinentry-rofi.in
new file mode 100644
index 0000000..47a85e5
--- /dev/null
+++ b/scripts/pinentry-rofi.in
@@ -0,0 +1,63 @@
+#! /usr/bin/guile \
+--no-auto-compile -e main -s
+!#
+;; bin/pinentry-rofi --- pinentry-rofi cli -*- coding: utf-8 -*-
+;; Copyright © 2016 Quentin "Sardem FF7" Glidic
+;; Copyright © 2018-2020 Fredrik "PlaTFooT" Salomonsson
+;;
+;; Permission is hereby granted, free of charge, to any person obtaining a copy
+;; of this software and associated documentation files (the "Software"), to deal
+;; in the Software without restriction, including without limitation the rights
+;; to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+;; copies of the Software, and to permit persons to whom the Software is
+;; furnished to do so, subject to the following conditions:
+;;
+;; The above copyright notice and this permission notice shall be included in
+;; all copies or substantial portions of the Software.
+;;
+;; THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+;; IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+;; FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+;; AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+;; LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+;; OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+;; THE SOFTWARE.
+
+(use-modules (ice-9 getopt-long)
+ (ice-9 format)
+ (pinentry-rofi))
+(define (main args)
+ (let* ((option-spec
+ '((display (single-char #\d) (value #t))
+ (xauthority (single-char #\a) (value #t))
+ (version (single-char #\v) (value #f))
+ (log (value #t))
+ (help (single-char #\h) (value #f))))
+ (default-display ":0")
+ (options (getopt-long (command-line) option-spec))
+ (pinentry (make-pinentry #t "Passphrase:" "Ok" "Cancel"
+ (option-ref options 'display default-display)
+ (let ((logfile (option-ref options 'log #f)))
+ (when logfile
+ (open-output-file
+ (format #f "~a.~a" logfile (getpid))))))))
+ (when (option-ref options 'help #f)
+ (format #t "\
+Usage: ~a [OPTIONS]
+Options:
+ -d, --display DISPLAY Set display, default is ~s.
+ --log LOGFILE Log unknown commands to LOGFILE
+ -v, --version Display version.
+ -h, --help Display this help.
+Author:
+@AUTHOR@
+"
+ (car (command-line))
+ default-display)
+ (exit #t))
+ (when (option-ref options 'version #f)
+ (format #t "@HVERSION@\n")
+ (exit #t))
+ (format #t "OK Please go ahead\n")
+ (force-output)
+ (pinentry-loop pinentry (current-input-port))))