My ideal dev environment is Windows running putty connecting to a local linux VM or a bunch of VMs running on a nearby ESXi server and then Firefox (and occasionally Chrome and IE for compatability testing) and a bunch of other general stuff (Thunderbird for email, Skype, music player, etc).
On a dual screen machine I'll have the putty window (or windows) made fully screen on one monitor and the remaining stuff on the other monitor. Inside the ssh session I run screen to give me multiple shells without lots of windows or tabs. A lot of my navigation is done via the keyboard.
The desktop machine is also for family and guest usage so the ability to switch user accounts but leave existing stuff running is a must.
This setup means I can also login from pretty much anywhere (that I can get an ssh connection from) and resume where I left off, including having tunnelled HTTP connections to my dev network via ssh.