If you mean fullscreen windows (like media players, games, etc.) then I'm afraid there is no way for it to work like in Windows. From what I have read there is no way to programatically check if a fullscreen app is running or not. (Thus it's also impossible to have your IM status go to occupied when you start a fullscreen application)
The only solution there would be to have your dock always stay in background. But then you may need to move a window away from its place to see the dock.
Another idea is to start fullscreen apps like games in another X-Display. That way your dock or libnotify messages won't pop up and get in your way.
Additionally you could pause your game and switch back to your dektop to chat or whatever...this can be tricky usually because most games forbid to just Alt+Tab out of it.
You can do that by going to another terminal i.e. Ctrl+Alt+F2 for the second.
And then login and type
xinit -- myapp :1 where "myapp" should be replaced by the program you'd like to start. The program starts now in another x instance on display 1 (displays start at :0). The instance will be killed automatically when your program terminates. To get back to your Desktop press