I have a situation where a certain application (VirtualBox) doeesn't correctly resize windows on my tiled window manager.

I want to be able to trigger a resize via an event, preferably generically so it will cover all windows (not just VirtualBox). It doesn't need to resize the window, just tell the window that the WM has triggered a resize event. How can I achieve such a resize via a command?

I think XSendEvent+XResizeWindow would do what I need it to, but I can't see any way of invoking those from bash or similar. I would have thought xdotool or similar would achieve this but it can't. I'm also open to other events or hacks that would trigger what I need to also.

  • You could probably be able to trace X11 events with xev or xtrace, but that would slow down your computer. That is the only method I can think of that would detect a resize event. Another option would be to link a bash script to a keyboard combination. Every time you make a resize, which requires manual intervention, press that combination. I would also recommend wmctrl to control windows.
    – nobody
    Commented May 6, 2022 at 6:35
  • May the xdotool can help to you. systutorials.com/docs/linux/man/1-xdotool
    – K-attila-
    Commented May 6, 2022 at 7:57
  • If you'd bother to read the question, I've already tried that.
    – 90ueiomtn
    Commented May 7, 2022 at 7:08

1 Answer 1


The SIGWINCH signal can be used to notify a process that its window size has been changed. I use this on occasion in a shell window as kill -WINCH $$.

To map this out to all your processes, you may be able to use pkill:

pkill -WINCH -u "$USER"

The default action for this signal is to ignore it, so only processes that have chosen to recognise it should be affected.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .