postgres listen only runs when I do something
It is only in PSQL when I run any statement do I get my notification


An application doesn't have to poll the database to receive notifications, but it has to poll the status of its socket (network connection) to know that there is a notification to collect, otherwise there's no way to know about it. psql doesn't do that when waiting on user input. It blocks on user input, as most command-line oriented applications.


  Would I have to be running SELECT 1; in a constant loop every second
  or something to get notified?


No, but you need to implement some sort of event loop in your application to detect the notification and handle it. But neither the detection nor the handling need to send any query to the database server.