diff options
author | Fredrik Salomonsson <plattfot@gmail.com> | 2020-06-12 17:57:51 -0700 |
---|---|---|
committer | Fredrik Salomonsson <plattfot@gmail.com> | 2020-06-12 19:01:05 -0700 |
commit | 21321a4b3d22585ab65b134c82b3607448a76910 (patch) | |
tree | ebcdc50444b6291071682e8b726186a7e28ece30 /scripts/pinentry-rofi.in | |
parent | e9c0fa906ecc09b814f88c7ab7d6412fefcb2dcd (diff) | |
download | pinentry-rofi-21321a4b3d22585ab65b134c82b3607448a76910.tar.gz |
Using Hall to handle the project
Diffstat (limited to 'scripts/pinentry-rofi.in')
-rw-r--r-- | scripts/pinentry-rofi.in | 63 |
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..377fbf7 --- /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 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)))) |