Add autoruns

This commit is contained in:
2024-08-15 23:00:40 +02:00
parent b027f13e29
commit b521556d47
4 changed files with 45 additions and 7 deletions

View File

@@ -1,6 +1,7 @@
# My personal tools # My personal tools
**These tools were made by me for me so a lot of them have some very questionable decisions implemented such as embedding a lot of configuration files**
## cln ## [cln](https://git.site.quack-lab.dev/dave/synclib)
**Create symbolic links given a custom set of commands** **Create symbolic links given a custom set of commands**
Mainly created out of frustration of windows ""symbolic"" links Mainly created out of frustration of windows ""symbolic"" links
@@ -29,7 +30,7 @@ Example:
Given its ability to read files for commands it can be used to manage a "standard" set of symbolic links Given its ability to read files for commands it can be used to manage a "standard" set of symbolic links
## fiter ## [fiter](https://git.site.quack-lab.dev/dave/fiter)
**Iterate over files and rename them incrementally** **Iterate over files and rename them incrementally**
Example: Example:
Given Given
@@ -69,12 +70,12 @@ For such scenarios use `fiter -f <glob>`
This means that it can run on files that already have iterative names because none are being overwriten This means that it can run on files that already have iterative names because none are being overwriten
**It also means that, on failure, files are left as .bak** **It also means that, on failure, files are left as .bak**
## fmoditer ## [fmoditer](https://git.site.quack-lab.dev/dave/fmoditer)
**Iterate over files and rename them to their mod time** **Iterate over files and rename them to their mod time**
Works pretty much the same way as *iter* with the exception of *-f* which is not supported by *fmoditer* Works pretty much the same way as *iter* with the exception of *-f* which is not supported by *fmoditer*
## vsclean ## [vsclean](https://git.site.quack-lab.dev/dave/vsclean)
**"clean" vscode recent projects by deleting non existing entries and adding new folders** **"clean" vscode recent projects by deleting non existing entries and adding new folders**
Reads given directories and adds all folders in directories to vscode's recent projects Reads given directories and adds all folders in directories to vscode's recent projects
@@ -83,7 +84,7 @@ Doing this manually requires opening every folder one by one
It also removes non existent entries from recent projects and recent files It also removes non existent entries from recent projects and recent files
## repo ## [repo](https://git.site.quack-lab.dev/dave/gitea-api)
**Creates repositories on gitea and assigns them as "origin" on the git repository in working directory** **Creates repositories on gitea and assigns them as "origin" on the git repository in working directory**
The configuration of this tool is done through environmental variables: The configuration of this tool is done through environmental variables:
@@ -114,3 +115,37 @@ Usage of repo.exe:
Name of the remote to create for the new repository (default "origin") Name of the remote to create for the new repository (default "origin")
``` ```
## [autoruns](https://git.site.quack-lab.dev/dave/autoruns)
**Runs programs specified in *autoruns.json* (at compile time)**
This tool is meant to replace windows autoruns and is meant to be magnitudes faster than windows autoruns
note: autoruns is specifically embedded as to not have to drag *autoruns.json* across multiple directories
It also supports automatically hiding/closing windows and running only programs that are not already running
See sample *autoruns.json* in repository of the tool
Supported json fields are:
```go
Entry struct {
Name string `json:"name"`
// ^ only used for logging
Path string `json:"path"`
// ^ path to the program being run
Disabled bool `json:"disabled"`
// ^ all entries are enabled by default other than the ones with "disabled": "true"
Procname string `json:"procname"`
// ^ used for detection to determine whether or not the entry has to be run
Procs []string `json:"procs"`
// ^ (optional) used for scanning for additional processes before executing actions, some programs start multiple processes as children of the main process and some start multiple processes independently
ProcsAction string `json:"procsaction"`
// ^ (optional) specifies the action to apply specifically and only to procs
Flags []string `json:"flags"`
// ^ (optional) command line arguments to pass to executable when starting
Workdir string `json:"workdir"`
// ^ (optional) workdir in which to start the program
Action string `json:"action"`
// ^ (optional) what to do with the program on startup (supported are hide/close/click)
ActionParams []string `json:"actionparams"`
// ^ (optional) parameters for actions, currently used only for click, see example in autoruns.json
ActionDelay int `json:"actiondelay"`
// ^ (optional) amount of time (in milliseconds) to wait before running action on program startup
}
```

BIN
autoruns.exe Normal file

Binary file not shown.

1
sync
View File

@@ -3,3 +3,4 @@
"C:\Users\Administrator\Seafile\Projects-Go\GoProjects\project-scanner\main.exe",vsclean.exe,t "C:\Users\Administrator\Seafile\Projects-Go\GoProjects\project-scanner\main.exe",vsclean.exe,t
"C:\Users\Administrator\Seafile\Projects-Go\GoProjects\synclib\main.exe",cln.exe,t "C:\Users\Administrator\Seafile\Projects-Go\GoProjects\synclib\main.exe",cln.exe,t
"C:\Users\Administrator\Seafile\Projects-Go\GoProjects\gitea-api\main.exe",repo.exe,t "C:\Users\Administrator\Seafile\Projects-Go\GoProjects\gitea-api\main.exe",repo.exe,t
"C:\Users\Administrator\Seafile\Projects-Go\GoProjects\autoruns\main.exe",autoruns.exe,t

View File

@@ -3,3 +3,5 @@ fmoditer.exe,"C:\Program Files\Git\usr\bin\fmoditer.exe"
vsclean.exe,"C:\Program Files\Git\usr\bin\vsclean.exe" vsclean.exe,"C:\Program Files\Git\usr\bin\vsclean.exe"
cln.exe,"C:\Program Files\Git\usr\bin\cln.exe" cln.exe,"C:\Program Files\Git\usr\bin\cln.exe"
repo.exe,"C:\Program Files\Git\usr\bin\repo.exe" repo.exe,"C:\Program Files\Git\usr\bin\repo.exe"
autoruns.exe,"~\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\Autoruns.exe"
autoruns.exe,"C:\Program Files\Git\usr\bin\Autoruns.exe"