From c586cfd5f9be681dfada3ed6cbbec8def04f6e9d Mon Sep 17 00:00:00 2001 From: Bartek Stalewski Date: Mon, 23 Aug 2021 21:36:32 +0200 Subject: [PATCH] Goodbye rofi. --- _suckless/_scripts/dmenu-emoji | 12 ++++++ _suckless/_scripts/mounter | 67 ---------------------------------- _suckless/_scripts/umounter | 44 ---------------------- _suckless/dwm/config.h | 2 +- 4 files changed, 13 insertions(+), 112 deletions(-) create mode 100755 _suckless/_scripts/dmenu-emoji delete mode 100755 _suckless/_scripts/mounter delete mode 100755 _suckless/_scripts/umounter diff --git a/_suckless/_scripts/dmenu-emoji b/_suckless/_scripts/dmenu-emoji new file mode 100755 index 0000000..8b34510 --- /dev/null +++ b/_suckless/_scripts/dmenu-emoji @@ -0,0 +1,12 @@ +#!/bin/sh + + +chosen=$(cut -d ';' -f1 ~/.local/share/emoji | dmenu -i -l 30 | sed "s/ .*//") +[ -z "$chosen" ] && exit + +if [ -n "$1" ]; then + xdotool type "$chosen" +else + printf "$chosen" | xsel -l /dev/null + notify-send "'$chosen' copied to clipboard." & +fi diff --git a/_suckless/_scripts/mounter b/_suckless/_scripts/mounter deleted file mode 100755 index d207a6c..0000000 --- a/_suckless/_scripts/mounter +++ /dev/null @@ -1,67 +0,0 @@ -#!/bin/sh - -# Gives a dmenu prompt to mount unmounted drives and Android phones. If -# they're in /etc/fstab, they'll be mounted automatically. Otherwise, you'll -# be prompted to give a mountpoint from already existsing directories. If you -# input a novel directory, it will prompt you to create that directory. - -getmount() { \ - [ -z "$chosen" ] && exit 1 - # shellcheck disable=SC2086 - mp="$(find $1 2>/dev/null | rofi -dmenu -i -p "Type in mount point.")" || exit 1 - test -z "$mp" && exit 1 - if [ ! -d "$mp" ]; then - mkdiryn=$(printf "No\\nYes" | rofi -dmenu -i -p "$mp does not exist. Create it?") || exit 1 - [ "$mkdiryn" = "Yes" ] && (mkdir -p "$mp" || sudo -A mkdir -p "$mp") - fi - } - -mountusb() { \ - chosen="$(echo "$usbdrives" | rofi -dmenu -i -p "Mount which drive?")" || exit 1 - chosen="$(echo "$chosen" | awk '{print $1}')" - sudo -A mount "$chosen" 2>/dev/null && notify-send "💻 USB mounting" "$chosen mounted." && exit 0 - alreadymounted=$(lsblk -nrpo "name,type,mountpoint" | awk '$3!~/\/boot|\/home$|SWAP/&&length($3)>1{printf "-not ( -path *%s -prune ) ",$3}') - getmount "/mnt /media /mount /home -maxdepth 5 -type d $alreadymounted" - partitiontype="$(lsblk -no "fstype" "$chosen")" - case "$partitiontype" in - "vfat") sudo -A mount -t vfat "$chosen" "$mp" -o rw,umask=0000;; - "exfat") sudo -A mount "$chosen" "$mp" -o uid="$(id -u)",gid="$(id -g)";; - *) sudo -A mount "$chosen" "$mp"; user="$(whoami)"; ug="$(groups | awk '{print $1}')"; sudo -A chown "$user":"$ug" "$mp";; - esac - notify-send "💻 USB mounting" "$chosen mounted to $mp." - } - -mountandroid() { \ - chosen="$(echo "$anddrives" | rofi -dmenu -i -p "Which Android device?")" || exit 1 - chosen="$(echo "$chosen" | cut -d : -f 1)" - getmount "$HOME -maxdepth 3 -type d" - simple-mtpfs --device "$chosen" "$mp" - echo "OK" | rofi -dmenu -i -p "Tap Allow on your phone if it asks for permission and then press enter" || exit 1 - simple-mtpfs --device "$chosen" "$mp" - notify-send "🤖 Android Mounting" "Android device mounted to $mp." - } - -asktype() { \ - choice="$(printf "USB\\nAndroid" | rofi -dmenu -i -p "Mount a USB drive or Android device?")" || exit 1 - case $choice in - USB) mountusb ;; - Android) mountandroid ;; - esac - } - -anddrives=$(simple-mtpfs -l 2>/dev/null) -usbdrives="$(lsblk -rpo "name,type,size,mountpoint" | grep 'part\|rom' | awk '$4==""{printf "%s (%s)\n",$1,$3}')" - -if [ -z "$usbdrives" ]; then - [ -z "$anddrives" ] && echo "No USB drive or Android device detected" && exit - echo "Android device(s) detected." - mountandroid -else - if [ -z "$anddrives" ]; then - echo "USB drive(s) detected." - mountusb - else - echo "Mountable USB drive(s) and Android device(s) detected." - asktype - fi -fi diff --git a/_suckless/_scripts/umounter b/_suckless/_scripts/umounter deleted file mode 100755 index cc1170b..0000000 --- a/_suckless/_scripts/umounter +++ /dev/null @@ -1,44 +0,0 @@ -#!/bin/sh - -# A dmenu prompt to unmount drives. -# Provides you with mounted partitions, select one to unmount. -# Drives mounted at /, /boot and /home will not be options to unmount. - -unmountusb() { - [ -z "$drives" ] && exit - chosen="$(echo "$drives" | rofi -dmenu -i -p "Unmount which drive?")" || exit 1 - chosen="$(echo "$chosen" | awk '{print $1}')" - [ -z "$chosen" ] && exit - sudo -A umount "$chosen" && notify-send "💻 USB unmounting" "$chosen unmounted." - } - -unmountandroid() { \ - chosen="$(awk '/simple-mtpfs/ {print $2}' /etc/mtab | rofi -dmenu -i -p "Unmount which device?")" || exit 1 - [ -z "$chosen" ] && exit - sudo -A umount -l "$chosen" && notify-send "🤖 Android unmounting" "$chosen unmounted." - } - -asktype() { \ - choice="$(printf "USB\\nAndroid" | rofi -dmenu -i -p "Unmount a USB drive or Android device?")" || exit 1 - case "$choice" in - USB) unmountusb ;; - Android) unmountandroid ;; - esac - } - -drives=$(lsblk -nrpo "name,type,size,mountpoint" | awk '$4!~/\/boot|\/efi|\/home$|SWAP/&&length($4)>1{printf "%s (%s)\n",$4,$3}') - -if ! grep simple-mtpfs /etc/mtab; then - [ -z "$drives" ] && echo "No drives to unmount." && exit - echo "Unmountable USB drive detected." - unmountusb -else - if [ -z "$drives" ] - then - echo "Unmountable Android device detected." - unmountandroid - else - echo "Unmountable USB drive(s) and Android device(s) detected." - asktype - fi -fi diff --git a/_suckless/dwm/config.h b/_suckless/dwm/config.h index 1836d9e..546bff7 100644 --- a/_suckless/dwm/config.h +++ b/_suckless/dwm/config.h @@ -115,9 +115,9 @@ static Key keys[] = { { CTRKEY, XK_a, spawn, SHCMD("dmenu-audio") }, { CTRKEY, XK_b, spawn, SHCMD("dmenu-bluetooth") }, { CTRKEY, XK_d, spawn, SHCMD("dmenu-display") }, + { CTRKEY, XK_e, spawn, SHCMD("dmenu-emoji") }, { CTRKEY, XK_l, spawn, SHCMD("slock") }, { CTRKEY, XK_v, spawn, SHCMD("pavucontrol") }, - { CTRKEY, XK_u, spawn, SHCMD("rofi -show emoji") }, /* window controls */ { SHTKEY, XK_m, zoom, {0} }, { SHTKEY, XK_h, setmfact, {.f = -0.05} },