If I'm working with Visual Studio Code, the amount I switch in and out of it causes a backlog of tens of thousands commands. If you were to load it, type a sentence, then minimise, then it's got to save the "Default" profile, load the "Visual Studio Code" profile, record the sentence, save the "Visual Studio Code" profile, then load the "Default" profile. A lot of processing for a tiny amount of data.
Having some option for keeping a number of previous profiles loaded would be quite useful. The user could set a maximum amount based on available memory, then the program could determine if there are any profiles currently in use. This could be simply by keeping them loaded in memory for 10 minutes, or by detecting what is constantly getting loaded.
I'm thinking a wrapper class for saving and loading could work, though the saving would need a bit of a rework.
If I'm working with Visual Studio Code, the amount I switch in and out of it causes a backlog of tens of thousands commands. If you were to load it, type a sentence, then minimise, then it's got to save the "Default" profile, load the "Visual Studio Code" profile, record the sentence, save the "Visual Studio Code" profile, then load the "Default" profile. A lot of processing for a tiny amount of data.
Having some option for keeping a number of previous profiles loaded would be quite useful. The user could set a maximum amount based on available memory, then the program could determine if there are any profiles currently in use. This could be simply by keeping them loaded in memory for 10 minutes, or by detecting what is constantly getting loaded.
I'm thinking a wrapper class for saving and loading could work, though the saving would need a bit of a rework.