I did a workaround by editing a script I found and don't understand using xprop, xwininfo, and xdotool. I probably should have mentioned that I'm using X, most of this stuff doesn't work on Wayland. Here's my script so far:
#!/bin/bash
xprop -spy -root _NET_ACTIVE_WINDOW | grep --line-buffered -o '0[xX][a-zA-Z0-9]\{7\}' |
while read -r id; do
class="`xprop -id $id WM_CLASS 2> /dev/null | grep TeamViewer`"
if [ -n "$class" ]; then
if xprop -id "$id" | grep -q 'WM_NAME(STRING) = "TeamViewer Authentication"'; then
echo "key Tab
key space
key shift+Tab
key shift+Tab
key Down
key Tab
type {my.username}
key Tab
key ctrl+u"| xdotool -
# wait for the window to be closed
xprop -spy -id $id > /dev/null 2>&1
fi
fi
done
It spits out errors after the window closes because I think it's trying to get windows properties from the now closed window, but it gets the job done!
Edit: changed the script to be much smaller and not show errors.