VirtualBox gust screen resolution doesn't work well under i3wm, sometime it get stuck at some strange resolution.
This script can fix the window size.
From the guest side, we use VBoxManage to tell the guest that a new resolution is available.
Window is made floating, then the border is removed (it count as width/height), then the window is resized.
#!/bin/bash
machine="${1}"
width="${2}"
height="${3}"
VBoxManage controlvm "${1}" setvideomodehint ${width} ${height} 32
i3-msg "[class=\"VirtualBox Machine\"] floating enable"
i3-msg "[class=\"VirtualBox Machine\"] border none"
i3-msg "[class=\"VirtualBox Machine\"] resize set ${width} ${height}"