jordansissel / xdotool

fake keyboard/mouse input, window management, and more
Other
3.19k stars 317 forks source link

Extremely strange bug - see attached video. #442

Open AutumnalModding opened 10 months ago

AutumnalModding commented 10 months ago

I don't even know how to begin describing this.

Here's a video.

jordansissel commented 10 months ago

What in the world... that's very odd! I had a little chuckle at how weird this one is. Thank you for the video!

I can imagine ways this might happen, but ideally we can find a way to work around this behavior.

I haven't tried to reproduce or test this yet, but my first hypothesis is this: Maybe Firefox is doing something weird which makes keystrokes sent to the app (via --window flag) be processed by the most-recently-focused window? To test this, I think you could try getting to your scenario where key --window $RIGHT F5 incorrectly is handled by the $LEFT window, and then click somewhere in the right window (so it becomes the most recently active before you switch back to your terminal), then try rerunning the same command attempting to send F5 to the right window. Can you report back on what happens? (Same broken behavior where $LEFT receives F5 for some reason? or something else?)

tauchris commented 8 months ago

@jordansissel is likely correct in his hypothesis. I know from my own attempts at scripting Firefox browsers that everything (input/CLI commands, etc.) gets intercepted by a single backend firefox process that manages all windows. I've had issues with trying to open new tabs in a browser window from the shell command line -- doing so will always open a tab on the most-recently-focused browser window -- EVEN if that window is on a different desktop! So I strongly suspect Jordan is right about the xdotool key input getting routed to the most-recently-focused firefox window also.

Another case of "premature optimization is the root of all evil"! :)