about summary refs log tree commit diff
diff options
context:
space:
mode:
authorProfpatsch <mail@profpatsch.de>2015-12-27 22:19:01 +0100
committerProfpatsch <mail@profpatsch.de>2015-12-27 22:30:49 +0100
commit843eba128cb16b37ca8b297eb5ff6c61349e7883 (patch)
treeffcae86cda1c3c4a1db9b3baa22bc207d6d221e8
parent4840c13b14c0a5a1792b5dca968efef6db45ec60 (diff)
pkgs: show-qr-code
-rw-r--r--machines/profpatsch/katara.nix1
-rw-r--r--pkgs/default.nix1
-rw-r--r--pkgs/show-qr-code/default.nix28
3 files changed, 30 insertions, 0 deletions
diff --git a/machines/profpatsch/katara.nix b/machines/profpatsch/katara.nix
index 2ae29363..63ebdaa9 100644
--- a/machines/profpatsch/katara.nix
+++ b/machines/profpatsch/katara.nix
@@ -128,6 +128,7 @@ in {
         mpv                  # you are my sun and my stars. and you play my stuff.
         newsbeuter           # RSS/Atom feed reader
         networkmanagerapplet # NetworkManager status bar widget
+        pkgs.vuizvui.show-qr-code # display a QR code
         zathura              # pdf viewer
       ];
       mailPkgs = [
diff --git a/pkgs/default.nix b/pkgs/default.nix
index 9e1b0d6e..d7057820 100644
--- a/pkgs/default.nix
+++ b/pkgs/default.nix
@@ -17,6 +17,7 @@ let
     librxtx_java = callPackage ./librxtx-java { };
     lockdev = callPackage ./lockdev { };
     pvolctrl = callPackage ./pvolctrl { };
+    show-qr-code = callPackage ./show-qr-code { };
     sidplayfp = callPackage ./sidplayfp { };
     tkabber_urgent_plugin = callPackage ./tkabber-urgent-plugin { };
     tomahawk = callPackage ./tomahawk { qt5 = pkgs.qt55; };
diff --git a/pkgs/show-qr-code/default.nix b/pkgs/show-qr-code/default.nix
new file mode 100644
index 00000000..17d9847a
--- /dev/null
+++ b/pkgs/show-qr-code/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, writeScriptBin, gtkdialog, qrencode }:
+
+let script = writeScriptBin "show-qr-code" ''
+  #!/bin/sh
+  TMP=$(mktemp)
+  ${qrencode}/bin/qrencode -s 8 -o "$TMP" -t PNG "$1"
+
+  export DIALOG='
+  <vbox>
+      <pixmap>
+          <input file>'$TMP'</input>
+      </pixmap>
+  </vbox>
+  '
+
+  ${gtkdialog}/bin/gtkdialog --program=DIALOG > /dev/null &
+
+  sleep 0.2
+
+  rm "$TMP"
+
+  '';
+
+in script // {
+  meta = {
+    description = "Show the given string as qr code in a gtk window";
+  };
+}