Skip to main content

Productivity Tools: Virtual Desktops

Virtual desktop systems allow me to set up multiple workspaces within my window manager, each of which contain a separate set of application windows which will only be shown when the workspace is activated. This is a powerful expansion of the idea of application switching (alt+tab) as I can now switch easily between groups of applications, instead of just a single application. By creating task-related workspaces, I am able to stay focused on only the one or two tools that matter for the task I am currently working on, while still having other tools open for access later.

While virtual desktops have been around for ages in the *nix world, Microsoft still refuses to include these capabilities out of the box. This has led to an array of 3rd party tools that provide virtual desktops. I've tried several of these tools over the years, and VirtuaWin is the one which I keep returning to. VirtuaWin is a virtual desktop manager for Windows which gives you a set of virtual desktops and global keystrokes for switching between them.

By default, VirutaWin provides you with two actions: move to another workspace (win+←/↑/→/↓) and move to another workspace with the current window (alt+win+←/↑/→/↓). There is also a module, Smart CoolName, which adds the ability to flash, for a few seconds, the name of the current desktop while switching desktops. You can also do some window management by clicking on the system-tray icon: switch to a specific window/desktop, move a specific window to the current desktop, and flag a window so that is is present on every desktop.

I can usually get away with just four desktops while I'm working:

IDE and documentation windows
tools which support my work, like database clients and JIRA windows
my messaging clients and Outlook
all the other application windows, work-related or not


Popular posts from this blog

Using MonoDevelop to Create an ASP.NET Web Service

NOTE: instructions below are for MonoDevelop 2.6 Beta 2 - built on 2011-04-06 03:37:58+0000Getting StartedCreate a new ASP.NET Web Application in MonoDevelop: From the menu, select: File → New → Solution…Expand C#.Select ASP.NET → Web Application.Enter a name for the ASP.NET project that will be created in the solution in Name:.Change the root location for the solution in Location:, if desired.Change the name of the root solution in Solution Name:, if desired.The Results – IWhat you have after executing the new ASP.NET Web Application project wizard is a solution containing one ASP.NET Web Application project. In the default project view in MonoDevelop, you'll find the following items: Default.aspx – This is the default web form rendered and presented in the browser when http://<server>:<port>/ is accessed. Default.aspx.cs – This C# file contains the developer-created common code and event handlers which can be used to affect the processing of the form.Default.aspx.des…

Testing Toolbelt: SpringJUnit4ClassRunner

The org.springframework.test.context.junit4.SpringJUnit4ClassRunner class is another implementation of the JUnit TestRunner class which is used to enable various features of Spring for every run of the test class and every test within it. To use the features provided by the SpringJUnit4ClassRunner class, you need to mark the class using the RunWith annotation using SpringJUnit4ClassRunner as its parameter.In addition to the custom test runner, you will want to mark the class with the ContextConfiguration annotation. The ContextConfiguration annotation is used to mark classes which will automatically read a Spring configuration file and use it to create an ApplicationContext. By default, this file located at <package path>/<test class name>-context.xml. Use the locations argument to over-ride.The ApplicationContext used by the Spring-integrated test will only be loaded once for the whole test class. This behavior can be over-ridden by annotating a test method with the Dirti…