I think essentially what you did is the best way to deal with it: do something else if they are looking to waste time. I agree with you that it's hard not to be a little angry at the situation. But at the end of the day, we can only control our emotions, report the player for conducting unsportsmanlike behavior, and move on with our lives.
When I first started chess two years ago on another site, I started playing a few 15|10 games. The guy I was going against was using less then 30 seconds on every move. We had hit the middlegame and was thinking for a few minutes when he started spamming at me. Classic "hurry up". I suggested mid-game that he queue shorter time controls and said something ridiculous like "that's not how we do it on here" or something like that. I got a knight fork on his king and queen within a few moves. He just posted back "ahhhhhh" and left.
I started disabling chat in 30 min games after running into too many opponents telling me to "hurry up" if I take any longer than a minute to make a move. Dramatic improvement in my experience playing impatient beginners.
I played a guy yesterday though who I disabled chat on, but didn't realize he could still spam ⏱ and 😡emoji's at me.
I figured out how to disable emoji's as well and played my next move. I had him in a pretty tight spot, but he chose to let his 20 minutes run out instead of continuing or resigning.
So like, no big deal... I got a free win, I just watched a few youtube videos to pass the time.
I messaged him afterwards, suggesting he play 10 minute games if he didn't want to wait that long and thanked him for the free win. But man... I would be lying if I didn't say that after 10 minutes of stalling I wasn't a little bit pissed that he chose to let his clock run out. I thought after disabling chat my problems with impatient players would be over, but they somehow find a way.
Anyways, in the end it all worked out.
But, I'm curious. How do you all deal with impatient players? Anyone have any good stories to share?