If someone has just farted and I can smell it, I can say: "Have you just farted?"
If someone has been smoking and I can smell it, I say: "Have you been smoking?" It is not idiomatic to say: "Have you just smoked?".
Why, what is the reason for this? Is it because smoking lasts longer than a single fart?