From 10fec46bd5cbdb5dd9a395c86750d35bdf48e1c5 Mon Sep 17 00:00:00 2001 From: Akemi Izuko Date: Sat, 23 Dec 2023 20:14:08 -0700 Subject: [PATCH] New: ydotool automation support --- bin/auto_image_upload_discord.sh | 11 +++++++++++ package_install.sh | 1 + post_install.sh | 15 ++++++++++++++- sudoers.d/xremap | 1 + sudoers.d/ydotool | 1 + sway/config | 5 +++++ 6 files changed, 33 insertions(+), 1 deletion(-) create mode 100755 bin/auto_image_upload_discord.sh create mode 100644 sudoers.d/xremap create mode 100644 sudoers.d/ydotool diff --git a/bin/auto_image_upload_discord.sh b/bin/auto_image_upload_discord.sh new file mode 100755 index 0000000..600681e --- /dev/null +++ b/bin/auto_image_upload_discord.sh @@ -0,0 +1,11 @@ +#!/usr/bin/env bash +sleep .1 # Wait for ydotool's virtual device to start +sudo /usr/bin/ydotool mousemove --absolute 310 450 +sudo /usr/bin/ydotool click 0xC0 +sudo /usr/bin/ydotool mousemove -- 20 -40 +sudo /usr/bin/ydotool click 0xC0 +sleep .2 # Takes a bit to pull up window +sudo /usr/bin/ydotool mousemove --absolute 110 150 +sudo /usr/bin/ydotool click 0xC0 +sudo /usr/bin/ydotool mousemove --absolute 210 120 +sudo /usr/bin/ydotool click -r 2 -d 100 0xC0 diff --git a/package_install.sh b/package_install.sh index dbccf93..20d0773 100755 --- a/package_install.sh +++ b/package_install.sh @@ -44,6 +44,7 @@ declare -r \ 'viu' 'viu' 'wl-clipboard' 'wl-paste' 'wtype' 'wtype' + 'ydotool' 'ydotool' 'zathura-pdf-mupdf' 'zathura' 'zathura' 'zathura' ) \ diff --git a/post_install.sh b/post_install.sh index 607f953..9085911 100755 --- a/post_install.sh +++ b/post_install.sh @@ -146,6 +146,7 @@ xremap_checks() { check_xremap_executable check_xremap_systemd check_xremap_sudoer + check_ydotool_sudoer } check_xremap_config() { @@ -213,7 +214,19 @@ check_xremap_sudoer() { if ! sudo -l | grep -Eq 'NOPASSWD:[[:space:]]+/usr/bin/systemctl restart xremap.service'; then printf "ERR: xremap.service not passwordless for sudoers\n" - printf "\t $ please bash -c 'echo \"%s\" >> /etc/sudoers.d/xremap'\n" '%wheel ALL=NOPASSWD: /usr/bin/systemctl restart xremap.service' + printf '\t $ please bash -c "cp $HOME/.configs_pointer/sudoers.d/xremap /etc/sudoers.d/xremap"\n' + return_code=1 + fi + + return $return_code +} + +check_ydotool_sudoer() { + local return_code=0 + + if ! sudo -l | grep -Eq 'NOPASSWD:[[:space:]]+/usr/bin/ydotool \*'; then + printf "ERR: ydotool not passwordless for sudoers\n" + printf '\t $ please bash -c "cp $HOME/.configs_pointer/sudoers.d/ydotool /etc/sudoers.d/ydotool"\n' return_code=1 fi diff --git a/sudoers.d/xremap b/sudoers.d/xremap new file mode 100644 index 0000000..c837135 --- /dev/null +++ b/sudoers.d/xremap @@ -0,0 +1 @@ +%wheel ALL=NOPASSWD: /usr/bin/systemctl restart xremap.service diff --git a/sudoers.d/ydotool b/sudoers.d/ydotool new file mode 100644 index 0000000..1d7ea5b --- /dev/null +++ b/sudoers.d/ydotool @@ -0,0 +1 @@ +%wheel ALL=NOPASSWD: /usr/bin/ydotool * diff --git a/sway/config b/sway/config index 067b921..32335bf 100644 --- a/sway/config +++ b/sway/config @@ -100,6 +100,11 @@ bindsym $mod2+tab exec ~/.config/sway/cycle_windows.py previous # Important rust jerk bindsym $mod1+ctrl+r exec wtype "asExpectedOfRust" + # Automatic upload image to discord +bindsym $mod1+ctrl+u exec sudo -u emiliko ~/.configs_pointer/bin/auto_image_upload_discord.sh + # Paste by typing +bindsym Mod4+Ctrl+v exec ~/.configs_pointer/bin/wpastetype.py + # rEsize containers ==== bindsym $mod1+e mode "resize"