"I like to make a habit of breaking habits, and my distraction-free desktop has turned into a great example of that. For years I've been subconsciously annoyed by desktop clutter, never realizing that the whole time it was just a bad habit -- and one that's surprisingly easy to break. The Mac-based technique shown in that screencast -- hide desktop icons as well as windows when not needed -- has really simplified things for me, and I'm definitely sticking with it for now."
I tend to divide this problem into two, a distraction free desktop being the first issue, desktop clutter being the second.
Distraction isn't that much of an issue for me yet. Their are three sources of distractions for me. Instant messaging, Email and Feed reading (rather than browsing, which I barely do any more). Closing the offending apps is the best way of removing distraction, and it works for me.
Clutter on the other hand is a problem. On the mac one solution was spirited away. However, multiple desktops/workspaces works better for me. Most window managers on Linux have support for multiple work spaces. On the mac you have VirtueDesktops, and on Windows you have the Virtual Desktop Manager. This works really well for me. One desktop has all my terms (xterms, command prompt, Terminal). Emacs usually runs in one of these terms. Another desktop has a web browser and the third has my email client and so forth. Switching between them is a key stroke away. And that way, you can focus on the task at hand. Scripting, web research, email, what have you. Plus their is no window clutter. After I got used to this I am astonished to see others who continue to use their machines with just one desktop. Its so cluttered up.
Their are no documents on the desktop. All of them are stored in a directory called Projects in my home directory. Within that folder, is a heirarchy of directories that store all my data. Work, Code, Scripts, Pictures, Music, and so forth. Its quite easy to back up as well. On a dual boot system, this directory is usually on its own partition that can be shared between the two operating systems. That way everything is in sync no matter what operating system I use. Plus their is always rsync over ssh for syncing between multiple computers.
What better way to backup your work then to sync data on multiple computers. One habit from constant use of OS X (for about a year and a half) on a single machine was lack of backup. I was getting lazy. I barely used the other machines, and hence barely synced up.
As an aside, I developed a habit of writing scripts that would run on remote systems, process data returned, and then format it. The stdout on the script was piped to TextWrangler to view this formatted output. TextWrangler had this nifty command line utility called edit to which you could pipe data. I tried doing the same thing to vim or emacs, and it didn't work. Any suggestions?
P.S. I don't want to break the habit, I just want to make it cross platform!