Add Autostart and Per-User Settings#230
Add Autostart and Per-User Settings#2300xFurtiv wants to merge 8 commits intoRawAccelOfficial:masterfrom
Conversation
|
Hey, ack on this PR. This seems like a sensible idea. |
I think having all of this managed by an installer would be a neat end goal. You could think of this change as an incremental step in that direction.
Sounds good. Here are some questions I would have:
Until then, feel free to direct those looking for an autostart solution towards this PR. |
|
By the way, why do you need both a link (and why admin?) and a task scheduler? I've added a PR ScoopInstaller/Extras#16995 to add RawAccel to the Scoop package manager and doing just a registry edit (path/quotes omitted) for local user New-ItemProperty -Force -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Run -Name RawAccel -PropertyType String -Value \"writer.exe settings.json\"any downside here besides the fact that it'll be broken if your GUI forces an LOCALAPPDATA path instead of a local |
|
This PR is pretty old and I haven't kept up with changes in this project, so I'm not sure if anything's changed with how the app handles setting storage that would conflict with this PR. Here's what I recall: @eugenesvk The purpose of this change is to patch functionality onto the app to support different settings for separate Windows accounts.
I'm not sure, I haven't tested this approach. With the Task Scheduler approach I needed to add an additional trigger to also run on workstation unlock, since the login trigger only runs on the initial login. I don't know if |
I was thinking why not put it into the user location instead (just like in scoop that creates local .urls), but I guess that just should be a different installation option: install for the current user or install globally for every user (even though the driver will always be installed for everyone)
I see, yeah, if users switch accounts, then the Run registry/shortcut won't launch, so only the task scheduler will work. So the only thing I'm not a fan of in this setup is the need to use the slow-to-start powershell every single time for such a low level utility startup. Otherwise I think that for the no-admin package manager local installs I'll leave the current approach and change the path to use local env var whenever this is merged. (and maybe a "global" install should fully follow your logic of having task scheduler with a unlock hook in addition to login) |
Yep. I think modifying the writer executable to recursively create directories for a settings file path if it doesn't exist would remove the need for the Like you mentioned before, the driver is installed for everyone, which leads to undesirable side-effect behavior on a computer shared by multiple people. I spoke with one of the lead developers about this awhile back: ideally the whole app is designed to either be a local install without side-effects for other users, or a properly managed administrator global install, rather than a weird in-between of the two. If there's no technical way to apply the driver locally to only one account at a time, then it seems like this project will eventually take the administrator global install approach. |
This change adds scripts to enable per-user Raw Accel settings.
There are three primary parts to this change:
Since Raw Accel applies globally, users sharing a computer needed to manually manage different settings files if they wanted to have different Raw Accel settings. This change solves that issue by setting the working directory of
writer.exeandrawaccel.exeto a user dynamic path with%LOCALAPPDATA%, and automatically applying those user specific settings on sign in.Result of running

install-shortcut.ps1:Result of running

install-autorun.ps1:This change resolves #113 and is related to #223 #168 #154 #152 #130 #95 #83 #75 #55 #43
Notes:
%LOCALAPPDATA%\Raw Accelfor each user.rawaccel.exein%LOCALAPPDATA%\Raw Accelto initialize them.%PROGRAMDATA%\Microsoft\Windows\Start Menu\Programs.