I’m finding it impossible to shop for these because I’ve only ever bought them in thrift stores and don’t know what they’re properly called.
Edit: Not looking for flannel or denim, but lighterweight fabric, something I’d wear under a jacket not instead of one.

Google “pearl snap shirts”. Generally they’re just called pearl snaps.