From 273f57260449a8247eb1e7ca640dba6af8a90ad2 Mon Sep 17 00:00:00 2001 From: Robert Günzler Date: Fri, 18 Nov 2022 17:52:21 +0100 Subject: bin: drop some scripts chrome-extension-dl fs kp mesoninit once open wsudo --- bin/chrome-extension-dl | 83 --------------------- bin/fs | 14 ---- bin/kp | 75 ------------------- bin/mesoninit | 191 ------------------------------------------------ bin/once | 47 ------------ bin/open | 53 -------------- bin/wsudo | 44 ----------- 7 files changed, 507 deletions(-) delete mode 100755 bin/chrome-extension-dl delete mode 100755 bin/fs delete mode 100755 bin/kp delete mode 100755 bin/mesoninit delete mode 100755 bin/once delete mode 100755 bin/open delete mode 100755 bin/wsudo diff --git a/bin/chrome-extension-dl b/bin/chrome-extension-dl deleted file mode 100755 index a40b519..0000000 --- a/bin/chrome-extension-dl +++ /dev/null @@ -1,83 +0,0 @@ -#!/usr/bin/env sh -# Download extensions from chrome webstore -# -# source: https://gitlab.com/snippets/1888145 - -[ -z "$EXTENSIONS_DIR" ] && EXTENSIONS_DIR="${extensions_dir:=${XDG_DATA_HOME:=$HOME/.local/share}/chrome-extensions}" - -magenta="\033[35;1m" -nc="\033[m" - -die() { printf 'Error: %s\n' "$1" >&2; exit 1; } - -parse_url(){ - extension_id="$(echo "$1" | grep -oP '[_a-zA-Z0-9]{30,}')" - download_extension -} - -download_extension(){ - extension_file="$(mktemp "${TMPDIR:-/tmp/}$extension_id.XXXXXXXXXXXX.zip")" - printf "\nDownloading extension %s\n" "$extension_id" - curl -fsSL "https://clients2.google.com/service/update2/crx?response=redirect&prodversion=49.0&x=id%3D$extension_id%26installsource%3Dondemand%26uc" --output "$extension_file" || die "Unable to download extension" - extract_extension -} - -extract_extension(){ - nohup rm -fr "$extensions_dir/${extension_id:?}" > /dev/null 2>&1 ||: - mkdir -p "$extensions_dir/$extension_id" - nohup unzip -q "$extension_file" -d "$extensions_dir/$extension_id" > /dev/null 2>&1 - printf "\n Extension installed to directory %s\n" "$extensions_dir/$extension_id" - install_help -} - -update_extensions(){ - cd "$extensions_dir" || die "Extensions directory does not exist" - for extension in *; do - if [ -d "$extension" ]; then - printf "\nUpdating extension %s\n" "$extension" - extension_id="$extension" - download_extension - fi - done -} - -general_help(){ - echo -e " - ${magenta}NAME${nc} - $(basename "$0") - install chrome extensions - - ${magenta}SYNOPSIS${nc} - $(basename "$0") [webstore url] - $(basename "$0") update - - ${magenta}DESCRIPTION${nc} - $(basename "$0") Download extensions from chrome webstore. - - set EXTENSIONS_DIR to change extensions folder." -} - -install_help(){ - echo -e " - ${magenta}Install Guide:${nc} - 1. Visit chrome://extensions in your browser. - 2. Ensure that the Developer mode checkbox in the top right-hand corner is checked. - 3. Click Load unpacked extension... to pop up a file-selection dialog. - 4. Navigate to $extensions_dir/, and select it." -} - -main(){ - if [ "$#" -eq 0 ]; then - general_help && install_help - else - for input in "$@"; do - shift - case "$input" in - -h|--h*) general_help && install_help ;; - u*) update_extensions ;; - *) parse_url "$input" ;; - esac - done - fi -} - -main "$@" diff --git a/bin/fs b/bin/fs deleted file mode 100755 index 0586ab5..0000000 --- a/bin/fs +++ /dev/null @@ -1,14 +0,0 @@ -#!/bin/sh -set -e - -dir=$(readlink -f -- "$1" || pwd) - -# _rect=$(swq current output-full | jq -r '.rect') -# w=$(echo "${_rect}" | jq -r '.width * 0.6') -# h=$(echo "${_rect}" | jq -r '.height * 0.6') -# x=$(echo "${_rect}" | jq -r "((.width - ${w}) / 2) + .x") -# y=$(echo "${_rect}" | jq -r "((.height - ${h}) / 2) + .y") - -echo "$dir" -# exec swx -t -g "${x},${y} ${w}x${h}" fzfez fd -a -p "${dir}" -exec swx -t -F 0.6 fzfez fd -a -p "${dir}" diff --git a/bin/kp b/bin/kp deleted file mode 100755 index f578b04..0000000 --- a/bin/kp +++ /dev/null @@ -1,75 +0,0 @@ -#!/bin/sh - -set -e -o pipefail - -KP="$HOME/.local/bin/KeePassXC-2.5.1-x86_64.AppImage" -[ -e "$KP" ] || { - echo "$KP not found" >&2; exit 1 -} - -DB="${KP_DB:-$HOME/Dropbox/keepass-box.kdbx}" -[ -e "$DB" ] || { - echo "$DB not found" >&2; exit 1 -} - -keepass() -{ - "$KP" $@ -} - -wofi() -{ - wofi -k /dev/null --dmenu --prompt 'Select an entry' -} - -unset passwd -passwd="$(ASKPASS_PROMPT='Enter KeePassXC password' askpass)" -[ -n "$passwd" ] || { - echo "No password" >&2; exit 1 -} - -_kp_command=show -_kp_opts='-q -a Password' -_kp_extra_args= -case $1 in - clip) - _kp_command='clip' - _kp_opts='-q' - _kp_extra_args='15' # timeout - shift - ;; - dump) - echo "$passwd" | keepass cli export -f csv "$DB" - exit 0 - ;; -esac - -entry="$1" -[ -n "$entry" ] || { - entry=$(echo "$passwd" \ - | keepass cli ls -q -R "$DB" \ - | awk ' -{ - if ($0~/\/$/) { - sub(/^\s+/, "") - if ($0!~/^\s+/) { - grp = $0 - } else { - print substr($0, match($0, /^\s+/)) - grp = grp $0 - } - next - } else { - sub(/^\s+/, "") - print "/" grp $0 - } -}' \ - | grep -v '^/Recycle Bin' \ - | sort -t/ -k2n \ - | wofi) - [ -n "$entry" ] || { - echo "No entry" >&2; exit 1 - } -} - -echo "$passwd" | keepass cli "$_kp_command" "$_kp_opts" "$DB" "$entry" "$_kp_extra_args" diff --git a/bin/mesoninit b/bin/mesoninit deleted file mode 100755 index 5ce3b79..0000000 --- a/bin/mesoninit +++ /dev/null @@ -1,191 +0,0 @@ -#!/bin/bash -# vim: ft=sh - -_meson_dir=`pwd` -_meson_lang=c - -while getopts ":hl:" o; do - case $o in - l) - _meson_lang=$OPTARG - ;; - h | *) - echo "usage: $0 [flags]" - echo "" - echo "-h :: print help" - echo "-l LANG (default: c) :: language to use" - echo "" - exit 0 - ;; - esac -done -shift $((OPTIND - 1)) - -log() { - echo "[*] ${@}" >&2 -} - -# allow setting target dir -if [[ -n $1 ]]; then - _meson_dir="$1" - [[ ! -d $_meson_dir ]] && mkdir -p $_meson_dir - log "creating in $_meson_dir" -fi - -_meson_bin=`basename $_meson_dir` -_meson_ignore_extra= -declare -a _meson_default_options -declare -a _meson_default_files - -case $_meson_lang in - - ### C ### - c) - _meson_default_options=( \ - 'c_std=c11' \ - 'warning_level=2' \ - 'werror=true' \ - ) - _meson_default_files=('src/main.c') - _meson_ignore_extra='**/*.o' - _meson_output=" -x = executable( - '$_meson_bin', - sources: src -)" - - log "writing main.c" - mkdir $_meson_dir/src - cat > $_meson_dir/src/main.c < -#include - -int main(int argc, char **argv) { - printf("%s version %s\n\n", *argv, VERSION); - - printf("args (len: %d)", argc-1); - for (int i=1; i < argc; ++i) { - printf(" '%s'", argv[i]); - } - printf("\n"); - return 0; -} -EOF - ;; - - ### JAVA ### - java) - _meson_default_options= - _meson_default_files=('pkg/Main.class') - _meson_ignore_extra='**/*.jar' - _meson_output=" -x = jar( - '$_meson_bin', - main_class: 'pkg.Main', - sources: src -) -" - - log "writing Main.java" - mkdir $_meson_dir/pkg - cat > $_meson_dir/pkg/Main.java < $_meson_dir/meson.build < $_meson_dir/.gitignore < $_meson_dir/Makefile </dev/null 2>&1 & -} -term() { - fork alacritty --title="$1" --command "$@" -} - -case $mime in - inode/directory) [ $termmode -eq 0 ] && vifm "$in" ;; - inode/file) [ $termmode -eq 0 ] && vifm "$in" ;; - - image/*) fork mvi "$in" ;; - video/*) fork mpv --force-window=yes "$in" ;; - audio/*) fork mpv --force-window=yes "$in" ;; - - application/pdf) fork zathura "$in" ;; - # application/vnd.ms-opentype|application/font-sfnt) - # fork gnome-font-viewer "$in" ;; - - # now text... - text/md|text/markdown) - fork shiba "$(readlink -f "$in")" ;; - text/*) fork term ${EDITOR} "$in" ;; - - # everything else... - *) exec $opener "$in" ;; -esac diff --git a/bin/wsudo b/bin/wsudo deleted file mode 100755 index 1ac1e33..0000000 --- a/bin/wsudo +++ /dev/null @@ -1,44 +0,0 @@ -#!/usr/bin/env bash - -# -# Enable root access to x-windows system. -# -# Motivation: Trying to run a graphical application as root via su, sudo in a -# Wayland session (e.g. GParted or Gedit), will fail. Apps which use polkit to -# request administrator permissions for just certain operations and only when -# needed are not affected (they are not started as root right away). -# [1] https://bugzilla.redhat.com/show_bug.cgi?id=1274451 -# -# Based on a Reddit comment. -# [2] https://www.reddit.com/r/Fedora/comments/5eb633/solution_running_graphical_app_with_sudo_in/ - -usage() { - printf "usage: wsudo [-d] [command]\n" -} - -# make sure there is an argument -if (( $# == 0 )); then - echo "error: Illegal number of parameters." >&2 - exit 1 -fi - -if ! type -p "$1" &>/dev/null; then - echo "$1 not found. Aborting." >&2 - exit 1 -fi - -for cmd in sudo xhost; do - if ! type -P $cmd &>/dev/null; then - echo "$cmd it's not installed. Aborting." >&2 - exit 1 - fi -done - -set -x - -xhost +SI:localuser:root -SUDO_ASKPASS="`command -v askpass`" sudo -A "${@}" -#disable root access after application terminates -xhost -SI:localuser:root -#print access status to allow verification that root access was removed -xhost -- cgit 1.4.1