summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xbin/dmount2
-rwxr-xr-xbin/estimate-running-emerge4
-rwxr-xr-xbin/qr-code58
-rwxr-xr-xbin/rst2html2
-rwxr-xr-xbin/signal2
-rwxr-xr-xbin/vbox-mods2
-rwxr-xr-xbin/zoom15
7 files changed, 81 insertions, 4 deletions
diff --git a/bin/dmount b/bin/dmount
index 794de4f..45448e3 100755
--- a/bin/dmount
+++ b/bin/dmount
@@ -24,6 +24,8 @@ sub filter_dev {
return unless $dev->_net_dbus_introspector->has_interface('org.freedesktop.UDisks2.Filesystem');
my $ignore = try { $dev->HintIgnore } catch { 1 };
return if $ignore;
+ my $mounted = try { $dev->MountPoints->@* } catch { 1 };
+ return if $mounted;
return $dev;
}
diff --git a/bin/estimate-running-emerge b/bin/estimate-running-emerge
index 84e4d50..08cabb9 100755
--- a/bin/estimate-running-emerge
+++ b/bin/estimate-running-emerge
@@ -6,6 +6,6 @@ mergelist=$(
)
if [[ -n "$mergelist" ]]; then
- <<<"$mergelist" genlop -p
+ <<<"$mergelist" /usr/bin/perl /usr/bin/genlop -p
fi
-genlop -c
+/usr/bin/perl /usr/bin/genlop -c
diff --git a/bin/qr-code b/bin/qr-code
new file mode 100755
index 0000000..b614a6a
--- /dev/null
+++ b/bin/qr-code
@@ -0,0 +1,58 @@
+#!/usr/bin/env perl
+use strict;
+use warnings;
+use Getopt::Long;
+
+my $data='';
+my $level='L';
+my $format='png';
+my $light='255:255:255';
+my $dark='0:0:0';
+my $size=10;
+
+my $res=GetOptions('data|d=s' => \$data,
+ 'level|l=s' => \$level,
+ 'format|f=s' => \$format,
+ 'size|s=i' => \$size,
+ 'light=s' => \$light,
+ 'dark=s' => \$dark,
+);
+
+{
+$level=uc($level);
+if ($level !~ /\A[MLQH]\z/) {
+ $level='L';
+}
+}
+
+$data = join(' ',@ARGV) unless $data;
+
+if ($format eq 'txt') {
+ require Text::QRCode;
+
+ my $qr=Text::QRCode->new(
+ level=>$level,
+ mode=>'8-bit',
+ );
+
+ my $arr=$qr->plot($data);
+
+ print join "\n", map { join '', @$_ } @$arr;
+} else {
+ require Imager::QRCode;
+ my $qr=Imager::QRCode->new(
+ size=>$size,
+ margin=>3,
+ level=>$level,
+ mode=>'8-bit',
+ lightcolor => Imager::Color->new(split ':',$light),
+ darkcolor => Imager::Color->new(split ':',$dark),
+ );
+
+ my $img=$qr->plot($data);
+ my $pid = open my $display, '|-', 'display'
+ or die "Can't start `display`: $!";
+ $img->write(type=>$format, fh=>$display);
+ close $display;
+ waitpid $pid,0;
+}
diff --git a/bin/rst2html b/bin/rst2html
index 252570e..24b45c0 100755
--- a/bin/rst2html
+++ b/bin/rst2html
@@ -4,4 +4,4 @@ thisdir="$(realpath "$(dirname "$0")")"
#exec rst2html.py --stylesheet-path=html4css1.css,"$thisdir/pygments-default.css" --embed-stylesheet "$@"
-exec rst2html5.py --stylesheet-path=plain.css,math.css,"$thisdir/pygments-default.css" --embed-stylesheet "$@"
+exec rst2html5.py --stylesheet-path=minimal.css,plain.css,math.css,"$thisdir/pygments-default.css" --embed-stylesheet "$@"
diff --git a/bin/signal b/bin/signal
new file mode 100755
index 0000000..d910269
--- /dev/null
+++ b/bin/signal
@@ -0,0 +1,2 @@
+#!/bin/bash
+exec signal-desktop --use-tray-icon >/dev/null 2>&1
diff --git a/bin/vbox-mods b/bin/vbox-mods
index a54114f..3796669 100755
--- a/bin/vbox-mods
+++ b/bin/vbox-mods
@@ -1,2 +1,2 @@
#!/bin/sh
-for m in vbox{drv,pci,netadp,netflt}; do sudo modprobe $m; done
+for m in vbox{drv,netadp,netflt}; do sudo modprobe $m; done
diff --git a/bin/zoom b/bin/zoom
index fcdcb6e..f1d92c3 100755
--- a/bin/zoom
+++ b/bin/zoom
@@ -13,11 +13,26 @@ munge-zoom-uri() {
return
fi
+ if [[ $uri =~ ^https?://([^/.]+\.)?zoom\.us/j/([0-9]+)$ ]]; then
+ echo "zoommtg://zoom.us/join?confno=${BASH_REMATCH[2]}"
+ return
+ fi
+
if [[ $uri =~ ^https?://([^/.]+\.)?zoom\.us/j/([0-9]+)\?pwd=(.+)$ ]]; then
echo "zoommtg://zoom.us/join?confno=${BASH_REMATCH[2]}&pwd=${BASH_REMATCH[3]}"
return
fi
+ if [[ $uri =~ ^https?://([^/.]+\.)?zoom\.us/w/([0-9]+)\?pwd=(.+)$ ]]; then
+ echo "zoommtg://zoom.us/join?confno=${BASH_REMATCH[2]}&pwd=${BASH_REMATCH[3]}"
+ return
+ fi
+
+ if [[ $uri =~ ^https?://([^/.]+\.)?zoom\.us/my/([a-zA-Z0-9]+)\?pwd=(.+)$ ]]; then
+ echo "zoommtg://zoom.us/join?confno=${BASH_REMATCH[2]}&pwd=${BASH_REMATCH[3]}"
+ return
+ fi
+
>&2 echo "can't parse <$uri>, ignoring";
return
}