Moderation is the key for me, coupled with some logical thinking.
If I want a mince pie, I'll have some.
If I want chocolate, I'll have some.
If I want a fry up breakfast, I'll have it.
But, I'll have just 1 mince pie, not 2 or 5. I'll have a few cubes of chocolate, not a whole bar, I'll have the medium fry up, not the Big Boy breakfast.
That way, I get what I want, enough to enjoy it.
Then logically thinking, if I have a big breakfast or a Mcdonalds or chocolate etc I'll know I've had enough calories and I don't need more intake to fuel myself so if my tummy rumbles, it doesn't matter, logically I know my 'fuel tank' isnt empty.
It's worth remembering that there is no "Bad" foods, just bad portion sizes and there is absolutely nothing wrong with feeling a bit hungry and every meal doesn't have to end with you feeling stuffed. I don't think the human body is designed to eat to fullness each meal tbh, overflows the fuel tank as it were.