Ask Slashdot: How Do You Organize Your Virtual Desktops?
hyphenistic writes: As a programmer I find myself switching between multiple projects on a daily basis. Virtual desktops have been a big help in grouping my related programs together. I try to have a virtual desktop open for each project I'm working on. Although I've used Linux in the past my currently preferred desktop OS is Windows 10. For the most part I have found the new virtual desktops to be easy to use. My primary issue (regardless of OS) is that I really don't want my virtual desktops to interact with each other. In the past I have accomplished this with a separate login for each project but that brings the hassle of managing multiple sets of OS and application preferences. Can someone suggest a better method for organizing my virtual desktops?
You are falling victim to a classic problem. You don't want to do the actual work, so instead you focus on instrumentation and environment. The fact that you are asking these questions is proof that the "virtual desktop" mania you have embarked on is more of a hindrance than a help.
I mean, procrastination is half the fun, but don't fool yourself.
I know OS/2 had that. 20 years ago. Win10 is just now getting this?
"People are really this anal about window positions?"
But then I realized that I spend five minutes every Monday morning setting up my workspaces (I shut down my machine when I go home on Friday). I imagine that completely unproductive time only increases as a function of one's workload.
The easiest way to isolate virtual development environments is virtual machines. The same base image can be used for each environment and then a script to install project-specific applications and other resources.
Just out source, and then load games on your computer.
If you stick with Windows, install Cygwin and tmux. tmux helps me cleanly separate my areas of concern. (I currently have 15 sessions open, all project-specific.) Even better? Add Emacs and learn to use it well. Start an emacs server and connect to it in tmux with emacsclient -nw.
When one gets so full I can't do the thing I need to do quickly, I move to the next one. I breathe. Then I do what I need to do.
The others do it too, they just won't admit to it.
Laws are rules for the court, but merely a bottom bar to hit for life. Think beyond laws in your actions always.
n/t
It's been a while since I used Linux as a work desktop, like nearly 10 years, but here's how I often did it:
One virtual desktop for the IDE/coding tools. That might be an actual IDE or maybe just a console with vim. Whatever the project was.
Another virtual desktop for database related stuff.
Another one dedicated to documentation, like just having the browser open to Javadocs, or Google, or whatever.
The fourth and final was for mudane stuff like email and/or an mp3 player running.
I never split them out by project. Even if you're only working on a project for an hour or so I don't see any benefit to keeping other stuff open. It'd be too easy for me to make a mistake and cross them. That might just be a "me" thing though.
One-third of the desktop goes on left monitor, one-third of the desktop goes on center monitor, and one-third of the desktop goes on the right monitor. If this is a Mac system, the right monitor would be rotated in portrait mode.
I use OS X, but I have great trouble using Mission Control's workspaces or desktops or whatever the fuck they're called. The whole setup is just so unintuitive, especially with multiple monitors.
I have years of experience with KDE and GNOME, so I understand how their virtual desktops work. Typically, it's all very sensible: you set the number of virtual desktops you want, each one spans all monitors, and you can rapidly switch between them using a dock control that shows the grid of virtual desktops. Running applications generally only appear on the desktop that was showing when launched, although they can be moved to a different virtual desktop, or even optionally shown on all of them. This approach is simple, comprehensible, and it works great!
The OS X approach is totally fucked up compared to that. There's no widget in the dock that shows the desktops that are available, so I lose track of how many there are and what's on them. I can press F3, but it wastes my time with stupid animations, and even then it isn't very clear which apps are on which desktop. By default it's like all apps are on all desktops or something like that! Of course that's fucking dumb, because it defeats the purpose of having running applications separated onto the different virtual desktops.
Does anyone know if there is anything like the sensible KDE and GNOME virtual desktops for OS X? All I want are separate desktops that are easily contextualized thanks to a widget in the dock, which also lets me switch between them instantaneously. And when I start an app, it only shows up on the desktop that I started it on, unless I explicitly tell it to move to a different desktop, or to show on all.
Why the fuck is OS X so goddamn backward?! Please, I beg of somebody to give me a better alternative for real virtual desktops on OS X!
First thing I do on any fresh install of Linux is to turn off virtual desktops. My experience has been that if I've got so much going on at once that it makes a single desktop instance seem too cluttered, that's a sign that I need to reconsider how I handle my time.
Having to close and reopen tools forces you to cut down on context switching. At least for me, that helps productivity.
I don't have Windows 10, and I think I might switch to Linux when it's time to upgrade. As for what I have on windows7, it's just the background picture.
You forgot to profess your love for Visual Studio, and how you used to program with vi or emacs.
Because apart telling us than Windows 10 now has virtual desktops and how bad a job you're doing at organizing them, I don't know what was your point.
If you can't keep your stuff organized, try invoking $MOTHER, because your issues are not technical in nature.
I have discovered a truly marvelous proof of killer sig, which this margin is too narrow to contain.
KDE 4.1x (common stable version that installs with KDE distros) has multi-monitor support, virtual desktop support and what they term "activities" which are indeed another form of switchable virtual environments on top of monitors and desktops. The best part is you can use all three simultaneously! The hyper-customizability of the desktop environment means that you can configure INDEPENDENT task bars showing only the windows on that monitor in that virtual desktop and in the current activity!
Personally though, I've not used the activities functionality. Just the completely independent dual-monitor with virtual desktops configuration gives me 8 desktops that show in pairs. Works out quite well.
And to preempt some detractors I understand KDE is fugly and clunky and a bit bloated and dated looking... but if you spend some time configuring it and -- yes -- optimizing it it's simply phenomenal from a productivity standpoint.
Main task on the primary, secondary tools for the main task are on another, terminals/utilities in another (sometimes a couple), then low-importance things as far from me as necessary. Usually terminals/utilities are "left" and secondary tools are "right". Low importance things are the greatest difficulty to access as they are of low importance.
At least, that's how I've always done it with XFCE, fluxbox, and most other window managers I've used. Sadly, I suffer through using Win8 on most of my computers that aren't in VMs these days.
There's your problem. I have four (4) monitors on my desktop. No issues...
Karma: Bad
KDE has a solution called Activities.
You can set up a bunch of activities and assign individual windows to a particular activity.
When you swap activity you get the associated windows.
"The likes of Facebook and WhatsApp are free to those whose privacy is of zero value."
I guess I'll be "that guy". I've been using dwm for years and couldn't live without it. There are other options like awesomewm or i3. Your programs will automatically tile in a sane manner using up all the available screen space.
But, the really cool thing is that a window can exist in multiple "tags" which are kind of like "virtual desktops" but a lot more powerful.
I'd recommend at least trying out a tiling window manager and seeing what you think.
and the answer is 'virtually'.
If you're using Windows 10 just type your question into a text editor. A Microsoft support specialist will contact you within one business day.
Nested folders named "Desktop," going back to the dawn of time. Thank the gods for spotlight
I use different workspaces for different applications. On top of that, I have different login accounts on the same computer for different activities - one for personal activities (banking, credit cards and bills) as well as emails to family, another for my job search related activities, one for entertainment videos and news, one for /., one for playing games and one for just admin work (for some reason, FreeBSD has disabled the ability to have a separate root account for just that). Within any session, I use a different workspace for each application that I run - FireFox in one workspace, Chromium in another, games in a third, and so on.
Virtual desktop is least of your problems.
Windows 10? Have you ever read the EULA?
I work on multiple projects as well and my VD layout has evolved over time and location. If I'm at home, I am hooked up to a single WUXGA display so everything is on one monitor and I use five virtual desktops for everything. In the office, I have two screens but I still use the same five VDs but in a different layout. When mobile, I use the same setup that I use at home. I have a Linux development environment on the main monitor (when I'm running multiple monitors). I will put different projects in different terminal windows. I have a Notes application that has pages for my projects so that I can quickly get back context when I'm moving from one project to another. My remaining VDs browser, email and short text notes and todo lists. I got to where I am by trying out different things and determining what works better (by finding the problems with other setups). Eventually you get to something that's optimal overall. Then you may have to tweak it for new tools or new features or new hardware. This overall approach seems pretty simple. I don't think that I'd set up a VD per project unless I needed multiple operating systems and then we'd have to play with VMs.
What do you mean "interact" in this context?
I use Linux, and I usually have a 2 monitor setup with 2x10 (i.e. 20) sized virtual desktop (and no disjoint ones---FVWM allows both modes you see). I tend to group stuff spatially with a blank desktop between projects.
As for interacting, most programs are OK, but ones like GIMP need to be told to run in a new instance if you want two instances open without them affecting one another. Quite a few programs can do this, but you'll need to investigate options.
One thing that I do find obnoxious is that many applications on Linux seem to forget $PWD, because apparently the last 50 years of OS developement are too old fashioned for the GNOME folks. So when you go into a project directory and start a new GIMP or inkscape or etc instance, it's file dialog defaults to the last place you were at, which is completely useless and a massive usability regression compared to old M*tif programs. Hell it's a regression compared to Xaw.
And if you've got a usability regression compared to Xaw, you have majorly fucked up in a quite impressive manner.
Well that went into a mildly off topic rant.
Back to the topic: you say your current preferred OS is Windows 10. Why? If you really want to tweak your GUI so it matches your preferred workplace for you, you're probably better off with Linux. There's a lot more options in terms of this sort of thing and much more room for customisation. But if you're stuck with some programs which only work on Windows, you're SOL unless you can restrict them to a VM.
SJW n. One who posts facts.
.. I can (and you should) only tackle one problem at a time.
That said, my ideal setup is made up of 3 desktops, much better if not virtual
(come on, monitors are cheap today):
- main: what you're *actually* working on
- secondary: things related to what you're working on (documentation, debug, console output, etc.)
- noise: everything else.
The nice thing about this setup is that all the interrupting / annoying stuff gets into the noise desktop,
that you quickly learn to identify as a spare wheel.
In a workplace interruptions cannot be avoided, but at least you can pile them up in your trash zone!
I suppose you know about Microsoft Remote Desktop Connection Manager?
Multiple OS and application preferences .. what? Windows 10 has multiple desktop support. Even if he didn't mean that Windows 8+ have settings syncing (not necessarily going to save your bacon for apps but will at least for the OS itself). Some applications play nice with that model already. Ex. VS 2013: I use the same login at home and work so I get all my addons, font settings, etc synced over for me.
I'm not sure how desktops work in win 10 if apps "see" that they are already running or not. That was my problem with SysInternals desktop: Firefox open in one desktop would prevent it from opening in another and there's no way to move an app between the two. So I'd be coding and need a browser and need to go to my "communication" desktop close the browser back to my coding desktop and open it again etc. Or live with having to remember things going back and forth between screens. Mah. Wasn't worth it once I had more then one monitor to play with.
desktop 1 / screen 1: terminal
desktop 1 / screen 2 : IDE / text editor
desktop 2 / screen 1 : web browser
That's the global idea. Other apps usually start on desktop 1 / screen 1 and I move them around as needed.
On Windows, it's... a mess. It's basically all windows stacked on top of each other and a lot of alt+tabbing.
Fuck the procrastination argument, this is a legitimate question. Try to organize each virtual desktop in terms of a common theme. I typically do something along the lines of 1) browser, email, git terminal 2) cmake gui + cmake list files 3) ide 4) matlab - when I'm prototyping and unit testing shit.
Otherwise, 1,2,3) same 4) a bunch of terminals to do integration testing
So what your asking doesn't even matter, nor does it make much sense. You must know the question before you could understand the answer.
http://ask.slashdot.org/comments.pl?sid=8033285&cid=50553063 ,,|,, o o ,,|,,
I just keep adding more and larger monitors as needed, much easier than remembering what is on each desktop IMO.
> Having to close and reopen tools forces you to cut down on context switching. At least for me, that helps productivity.
Good for you. For me, it guarantees that thoughts will be dropped before they can fully form, so it's deadly to productivity.
Maybe it's the fact that I don't always have control over context-switching. I don't control when somebody shows up in my face with a demand for attention; pushing what I've been doing aside, with all the contextual cues I can marshal, by switching to another desktop to bring up the tooling needed to service the interrupt, means a much greater chance that I can go back and resume what I was doing, without backtracking (or, worse, working through a context crash to retrace my own thinking up to where I left off).
The times when I do have control over context switching are often when vagrant thoughts coalesce suddenly into ideas which are potentially valuable but irrelevant to my current effort. I want those ideas securely noted somewhere appropriate (even if it's just in a loose-notes catcher) and dismissed quickly so I can resume the task I'm trying to keep my focus on. I keep text windows open on other desktops partly so I can bring up a notes editor for that. Sometimes those ideas need a quick look at my filesystem; I keep ytree poised in those text windows for that
Then there's the full-screen shuffle. I remember my Windows days, when I had to minimize and iconize and shuffle things out of the way to get a clear view of a browser or other Internet tool. These days, there's IM, an etherape viewport on my LAN, another browser pointed at intranet tools, and all of them maximized because bringing them up to full size takes too long when I need to respond to a situation. I couldn't do that on one desktop, in fact I use 8, and often fill them all (though some assignments, like 2 for synaptic, are reservations so my habits know where to put things so I don't need to consciously think about it).
Single desktop discipline works for you and your work habits. It's needless frustration for me and mine.
i got into the habit of just creating new vms for every project, every client has thier different garbage that you need to install to get to their environment and thier repertoire of cutting edge tools that they want to use.
I used to have everything installed on my pc, but now its much easier to get rid of all that garbage, plus I can take them with me, access then remotely, or share them with someone else.
"As a programmer I find myself switching between multiple projects on a daily basis. Virtual desktops have been a big help in grouping my related programs together. I try to have a virtual desktop open for each project I'm working on. Although I've used Linux in the past my currently preferred desktop OS is Windows 10."
There was a feature in OS/2 where you could create a desktop folder and categorize it as a workspace. Anything you put in this folder would open when the folder was opened. From text files to applications. Somebody has to have replicated that functionality on an existing platform...
"A person is smart. People are dumb, panicky dangerous animals and you know it." - K
Enlightenment has a great feature with multi-monitors and virtual desktops. You can select them independently upon every screen. My current work setup of three monitors (two rotated 90Â) + 8 virtual desktops on each screen can be mixed and matched into 24 combinations to suit whatever task I am working on.
And, window shading rather than minimizing keeps things out of the way, but still keeps things in the same virtual desktop, so there isn't some messy global collection of minimized apps you have to dig through.
If you do minimize an application, it is a per physical monitor collection of minimized apps, so still better, but not as nice as shading.
Setup a favorites menu, and an app menu containing only the things you choose, is wherever the mouse cursor happens to be, just right-click. Or Alt-Esc to launch apps. No huge mouse movements to reach an inconveniently located menu. Of course a full menu is available too, just left click.
Middle click shows all applications running in every virtual desktop for any single physical monitor-- and allows you to easily select them, without remembering what virtual desktop the app is stowed on.
Sadly, e17+ got rid of a great feature in e16 of creating window groups. You would select and join into a group, e.g., a few xterms that you were running an editor, a debugger, etc. This group would all respond if any group member was affected. Window shade any member, all members are shaded. Move a single member, all spacial relationships were preserved, as the entire group moved. But, again, sadly this feature was removed.
Even with the loss of window groups, e17+ is still the best I've used for multi-monitors and virtual desktops.
I typically have hundreds of things running at any time, and they stay running for months at a time. Enlightenment makes it easy to keep track of / find everything. It is also one of the lightest weight window managers out there. The default theme is pretty horrible for my work flow (i.e., *the above*), and hard on the eyes (dark) but it is trivial to customize into something far better.
#!/usr/local/bin/bash # vdm - Virtual Desktop Management (using vdesk) by Root Sr # Do not use with window managers that already have virtual desktops! # Usage: simply bind this script in your window manager to a key/button # in the root window # This is the big idea: for every invocation, cycle through the # dynamically constructed set of all virtual desktops (vd's) that have # at least 1 window, plus one empty vd. # Read this until you understand this before reading further... # Set to "YES" to see what's happening (in .xsession-errors)
DEBUG="NO"
# Current virtual desktop (1-9, 0 contains any sticky windows)
cvd=`vdesk`
# Find highest virtual desktop. Don't start with 0 because the current
# vd will not been seen in the next loop if it has no windows. So start
# with the current vd.
hvd=$cvd
# Make array of virtual desktops and their windows.
# Don't use the obvious xlsclients! It gives the wrong level in the
# windows hierarchy. The next command should be tailored to your
# window manager. This is for twm. For Mwm it is different.
for w in `xwininfo -root -tree | sed -n 's/ \(0x[0-9a-f]*\) ".*/\1/p'`
do vd=`xprop -id $w -notype VDESK_DESKTOP | cut -b 19`
# If the vd is not found for a window, the window is new and hasn't been
# switched to or from. But we know that it's on the current desktop so
# we can set the vd explicitly.
[ "$vd" = "t" ] && {
vdesk $cvd $w
vd=$cvd
}
# Append the window to the list of windows on this vd
# or make it sticky if it's gkrellm or some clock
if xprop -id $w WM_CLASS | egrep -q 'Gkrellm|Clock'
then vdesk 0 $w
else wins[$vd]="${wins[$vd]} $w"
# Find the highest vd
[ $vd -gt $hvd ] && hvd=$vd
fi
done
# Count the number of empty vd's and show the content of nonempty vd's
# (if debugging)
evds=0
for (( i=1 ; i = hvd ; i++ ))
do if [ -z "${wins[$i]}" ]
then let evds++
else [ "$DEBUG" = "YES" ] && echo -n "vd${i}: ${wins[$i]}, "
fi
done
[ "$DEBUG" = "YES" ] && echo -n "evds=${evds}, hvd=${hvd}, "
# If there are no empty vd's, simply go to the next (possibly new and empty)
if [ $evds -eq 0 ]
then vdesk $(($cvd + 1))
# If the current vd is empty, search for a nonempty vd (if any!)
else i=$cvd
while [ -z "${wins[$i]}" ]
do i=$(($i % $hvd + 1))
[ $i -eq $cvd ] && break
done
[ $i -eq $cvd ] && i=$(($i % $hvd + 1))
vdesk $i
fi
[ "$DEBUG" = "YES" ] && echo now on `vdesk`
I still think Amiga's "Public Screens" did this best. A program can open its own 'screen' (which jumps to the front of any existing screen), on which its interface is displayed. Depending on how the screen is set up, other programs can show themselves on that screen, or be set by the user to always use a specific screen, and screens can be easily depth-arranged or flipped-through by the 'depth gadget' at the top-right of the display... then there's screen-dragging, to quickly and easily drag down any screen screen to check progress of a 3D render on the screen behind it. Still miss this!
First, get a second monitor. That's a huge productivity boost.
Then, for me, it's left browser + email, center temporary stuff,
right side IDE and either another browser window or the GUI under
test.
It isn't rocket science!
First, Why Windows 10? That's crazy unless you are only planning on supporting/creating for Windows.
Why VirtualDesktop if it's so time consuming to switch back and forth?
Use one login.
I think you should use Linux Host with VMs and link the VMs together.
VirtualBox has Networking capability to Network all the VMs.
* Your project will flow from VM to VM regardless of the OS in the VM.
When I was a developer 15 years ago I used gnome's virtual desktop with a 2x3 grid. Didn't have (m)any issues with cross contanimation. Mouse edge for .2 seconds for transition as well as hot keys. Today as an admin I use remote login to a server, same user account (hence same prefs) with multiple concurrent sessions. When a new problem interrupts my current tasks I open a new session.
I've been using JS Pager Virtual Desktop since the 1990's. It's a lightweight app which leverages existing windows capabilities to provide multiple "panes" in a grid. There's no support, but it has been working through multiple versions of Windows from 98 through 7.
Multiple virtual desktops are a good way to scale your work load, and quite handy when you have to switch back and forth from project to project. I used to use 36 virtual desktops and found that as long as you have a good organizing method, it is easy. I use linux/freebsd and I use the Workspace Switcher tool, 2 rows and 18 columns. With this mini-overview of the workspaces, 1 click is all that is needed to switch. I defined the top row to be for text-tools like xterm/Terminal, anywhere from 3-5 non-overlapping windows per workspace. Workspace were geographically defined for: several for software development, building/compiling, several for ssh'ing to standard hosts, and several dedicated for ssh to specific hosts. Each Terminal retained 10,000 lines of history, so I can scroll back months. The bottom row was dedicated to GUI workspaces: browser, email, calendar, etc. Each workspace was dedicated, like rooms in house, to specific activities, so I never lose a window/app. I had a couple spare workspaces for overflow, things that can't be planned or didn't recur. I once counted 68 xterm/Terminals, all where they should be, non-overlapping, with a good history scrollback. I dock the Workspace Switcher on the desktop panel, always visible, and it has tiny representations of the actual windows. If you think 36 rows is too much, just think of rooms in a house, the spatial metaphor helps to organize.
My old desktop at work has an AMD Phenom II X4 970 with 8 GB Ram and a couple of 500GB and a 1TB drives. Old stuff.
I'm a general-purpose sysadmin mainly doing production support and troubleshooting for Citrix app and xenapp, storage admin, and domain admin roles.
I'm always writing scripts and doing upgrade/migration and having to do multiple things at the same time that I really don't want to get crossed up.
So what I'm doing is different than you but with similar constraints.
I have a vdi desktop for work-related email, messaging, etc.
I keep an RDP session open into the admin servers of the most critical citrix farms
I run hyper-v instances for anything outside our facility, i.e. web surfing, reading manuals, etc. I delete that image about once a month and spin up a fresh copy.
I use separate Hyper-V VM's for developing the various admin tools I use for maintaining things. I usually have 3 going at once, sometimes 5 or 6.
I basically run nothing from the host server 2008 desktop, so switching consists of alt-tab or just a click on the taskbar.
I don't listen to music, play games, or any other kind of entertainment software at work, so I dunno about that part of the deal.
I RDP into that box almost every night from home, and it's like being in my office.
I have Windows 10 on another box that has an Intel I5 clocked to 4 Ghz, 8GB ram, and newer hard drives.
On Window 10's hyper-V, it appears to me that a hyper-V session is noticeably sluggish compared to a similar session on the Server 2008 R2 (AMD phenom) box. I also tried using Xen under OpenSuse on the Intel I5 box, and that fell in between the Win10 and Server 2008 R2 in how snappy the performance felt.
I also tried VMware player on I5 box. I saw VMware > OpenSuse Zen >> Win 10 hyper-V on the I5 box.
Those are two very different boxes, I know, but it makes me suspect that if you want to use VM or Hyper-V session to keep your stuff separate, you may wish to do it under a Server hyper-v rather than a Win-10 version. I'm not sure, I'm still fooling around with it.
It's hard to say with a sample of N=1 for each.
I find virtual desktops helpful when working on a large single project which requires many files, webpages and applications to contribute to the final result.
For example, if I'm creating a scientific document in Latex, this is what I do:
4 desktops
1: (far left) - my working directory is open, with webpages and pdf files used for referencing
-I can drag files from my working directory to other workspaces and drop them into the relevant application from here.
2: usually an application like a spreadsheet or R (statistics) which will be involved in creating content in the document
3: graphics software (I use gimp, but I find graphics software is a bit of a hog with your workspace, so it gets one all for itself) for finishing off or creating figures
4: (far right) Latex source, terminal and output PDF for my document.
I then use alt-1,2,3,4 to flick between them and alt-` to call up my application launcher and obviously alt-tab to switch windows. That way the alt key is used for window management, the keys are in a similar place, and, visually and mentally, 1,2,3,4 represent my extended desktop.
Switching virtual desktops like this also helps with any neck strain - my neck is always facing forward and I'm not spending any time with my head at an angle.
Your use case sounds quite particular - I don't tend to have multiple projects open at the same time. If I did, I'd probably create several users and switch when I wanted to change projects. Another way might be to create a 4x4 array of workspaces with each row for a given project (if I did that I'd need to do something clever with keyboard input so I could still use alt-1,2,3,4). Using VMs sounds a bit resource-inefficient.
I personally find virtual desktops a good way of organising and compartmentalising parts of my workflow, and it solves the problems inherent when you have too many windows open on a single desktop (i.e. finding a specific window, or representing your applications on a taskbar or overview). However, it does have a cost in that it requires an extra thought process to be made when switching applications - which is whether your app is on your current workspace or another. Gnome seems to have a neat way of dealing with this, but I find their task-switcher overview, and vertically-limited workspaces to be too much of a hindrance.
http://ask.slashdot.org/comments.pl?sid=8033285&cid=50553063
I've heard you can do desktops on a Windows box, but it would be torture to have to set them all up again every time I reboot my Windows laptop, which is about every day or two. The Linux server, on the other hand, typically chugs along for a year or so between reboots.
If you have to frequently rotate in and out of several projects every day, you do need good tools. I use two tools to maintain sanity, dexpot (a free virtual desktop mngr) and xplorer2 (a multi-tabbed file explorer). Let's say you are working on a project and you get a call about another system. Simply click on a new virtual desktop and open xplorer2. In xplorer2, click on a saved folder group of directory locations (they are like firefox tabs, but for dirs/files). You're now ready to work. xplorer2 also lets you sort by custom groups. Thus, your solution/project files will sort to the very top while your code files & folders fall below. I typically run about 75 apps at any given day and maintain about 300 projects. Thus, I have a custom folder group for each system and sub custom folder groups for the very complex systems. xplorer2 also has bookmarks. I type p and instantly go to c:\programs dir etc... There are many apps like xplorer2. Whichever you look into, make sure it has custom groups. Note, you should ditch Win 10 due to privacy issues. Dexpot is rock solid, beautiful, and works with XP & Win 7. I also use Oracle VBox, running 4 XP VMs on any given day (VM for Visual Studio 6, ADO, etc). I leave my box running until it starts to die due to MS sloppy memory leaks (usually need to reboot about 2x a month).
http://www.dexpot.de/
http://zabkat.com/