diff options
-rwxr-xr-x | bin/dmount | 2 | ||||
-rwxr-xr-x | bin/estimate-running-emerge | 4 | ||||
-rwxr-xr-x | bin/qr-code | 58 | ||||
-rwxr-xr-x | bin/rst2html | 2 | ||||
-rwxr-xr-x | bin/signal | 2 | ||||
-rwxr-xr-x | bin/vbox-mods | 2 | ||||
-rwxr-xr-x | bin/zoom | 15 |
7 files changed, 81 insertions, 4 deletions
@@ -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 @@ -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 } |