Thanks for the replies.
No, he hasn't always been like this. And he's not like this all the time. He can be loving, funny etc. We've been together for 9 years. Last month we had a holiday, and didn't argue once - we had a brilliant time.
To answer some questions. He does virtually no housework. I work far less hours than him, so I'm not too bothered about that. He cooks maybe once a week. He would never think to change sheets or clean the bathroom. He doesn't even put the bins out!
He has a very stressful job. It's a shame, because it's a job he wanted very much, and now he has it, it turns out that it's not quite what he thought it would be like. However, in his profession, it's certainly the best place to be - if they had a re-shuffle and he got returned to his old team, he would hate that a lot more.
I know he is struggling with smoking at the mo. He gave up a few years back, but recently has taken to buying a packet if he goes on a night out, and then smoking the packet until they are gone. In fairness, he rarely goes out and when he does smoke, it's only 2 in the evening.
On his days off, I ask nothing of him. He plays video games for most of the day. But the evenings are always spent together.
I bought fake snow yesterday, and all he could say, is that it's "tacky". Yeh, maybe, but I'm just having fun.
I also bought, and hung new curtains yesterday. He didn't offer any help. And he made a bit of a fuss, when I asked him to get the ironing board out of the garage for me (It's very heavy and I have a strain in one arm).
He'll be home later full of regret. He will apologise profusely and cuddle me etc.
I don't want to leave him. I love him. I just want him to cheer up.
Yes, I have told him how it's making me feel. I've asked him why he is speaking to me like that etc. He apologises, things get better, then slide back.