They allow the user to script changes to, and pull information from, windows in the window manager. Like read, if not also set, a window’s title, change a window’s dimensions, move it around, send it to a different desktop, send keypresses, bring a window to the foreground, etc. etc.
Basically, anything the user can do with the mouse, keyboard or window manager via the GUI, and a little more besides, can be automated.
The two commands work slightly differently to each other and one can often do something the other can’t.
As an example, I have a script that resizes the active window to a 4:3 ratio at full vertical height on my 16:9 monitor. I’ve then bound that script to a keypress in the window manager. It’s a lot like having something halfway between window mode and maximised mode.
Couldn’t I do that with the mouse? Sure. But with the script I don’t have to gauge by eye and spend multiple mouse clicks and movements trying to get it just right.
Be aware that a lot of distros will be switching from X11 to Wayland at some point in the not-too-distant future and these ancient tools will not work there.
People have tried to write equivalents (ydotool is one I’m aware of), but Wayland has intentionally been written to make doing such things difficult, for “security” reasons.
I will be grumpy until I can make my scripts work again, but that’s for future me to deal with.
Yeah, sadly, I’m aware. I know that Wayland is making its rounds. I’m not looking forward to it. I try it every once in a while to see if it’s gotten better, but so far, every time I’ve tried, I have artifacting and tearing, which just doesn’t happen on X11
I’m going to miss
xdotool(andwmctrl) when my distro eventually ditches X11.I don’t use them often, but I do use them, and their functionality is nice to have.
There are partial replacements out there, but last I checked, they were very weak approximations.
what do those do? I run x11 but never knowingly used them
They allow the user to script changes to, and pull information from, windows in the window manager. Like read, if not also set, a window’s title, change a window’s dimensions, move it around, send it to a different desktop, send keypresses, bring a window to the foreground, etc. etc.
Basically, anything the user can do with the mouse, keyboard or window manager via the GUI, and a little more besides, can be automated.
The two commands work slightly differently to each other and one can often do something the other can’t.
As an example, I have a script that resizes the active window to a 4:3 ratio at full vertical height on my 16:9 monitor. I’ve then bound that script to a keypress in the window manager. It’s a lot like having something halfway between window mode and maximised mode.
Couldn’t I do that with the mouse? Sure. But with the script I don’t have to gauge by eye and spend multiple mouse clicks and movements trying to get it just right.
That sounds absolutely amazing and something that I’m definitely going to be looking up when I go on my desktop later. Thank you for informing me
Be aware that a lot of distros will be switching from X11 to Wayland at some point in the not-too-distant future and these ancient tools will not work there.
People have tried to write equivalents (
ydotoolis one I’m aware of), but Wayland has intentionally been written to make doing such things difficult, for “security” reasons.I will be grumpy until I can make my scripts work again, but that’s for future me to deal with.
Yeah, sadly, I’m aware. I know that Wayland is making its rounds. I’m not looking forward to it. I try it every once in a while to see if it’s gotten better, but so far, every time I’ve tried, I have artifacting and tearing, which just doesn’t happen on X11