At home on a Mac I use something called Mission Control which I find very interesting. I mapped one of the mouse buttons that usually will go back/forward in a web browser so that it will launch Mission Control. Once I'm in Mission Control I can switch between different desktops, each having different windows open. I can then have several monitors like I did before, but I can also have different desktops for different things. If I'm working on multiple projects at any given time I can create a desktop for each project. I find Mission Control incredibly useful. Gnome has something very similar to Mission Control that I use when I'm using my Linux laptop.