If Sam’s suggestion is not good enough, there is this plugin, currently broken:
I did offer to fix it if funded by someone in the community.