CompStart is a tool that allows you to have programs open automatically when your computer starts. It currently only works on Windows. But doesn't Windows already allow that through Task Manager and the startup folders, you ask? Well, here's how CompStart is different: you can open up specific tabs and browser windows alongside the installed programs. For example, you could open up a specific Word document, a Chrome window with 3 tabs, and the Google Chat Chrome app, all instantaneously after you log in.
CompStart will also allow you to quickly and easily change the programs and sites you want to open. Using the previous example, let's say you finished working on the Word document. You can easily remove that from the startup list, so CompStart will only open the Chrome window with 3 tabs and the Google Chat Chrome app.
Currently, the installation process is manual. If you want to use this tool for yourself, you will need to be comfortable with using the command line, editing the Windows startup folder, and changing JSON configuration files manually. See the releases section to find the files to download. There will be setup instructions included. Follow them and you can start using CompStart for yourself!
The installation instructions are essentially the same as above if you just want to use the tool. However, if you want to install CompStart to work on it, depending on what you want to do, you have 2 options:
-
If you want to contribute to this program, read the How to help section first. Once you get in touch with me, let me know what you want to do, and I can add you as a contributor to the repository.
-
If you want to play around with what I've created on your own, you can fork this repository. I encourage you to read the How to help section. I also ask that if you publish anything you create based on this project, please credit me as applicable. Finally, it would be nice if you let me know.
If you'd like to contribute to this program, please get in touch! On my GitHub profile page, you'll find how to reach me. My profile page is: https://github.com/dEhiN.
Next, read through the following sections:
- Technical Details
- Listing of Files and Folders
Finally, check out the project board at https://github.com/users/dEhiN/projects/4, and familiarize yourself with the open issues and work.
All work I've contributed is well documented and my commits are pretty detailed. However, if there's something you're not sure about, you can always connect with me.
CompStart consists of a Batch file, a PowerShell script, and a JSON config file. The Batch file starts off the whole process. A shortcut to the Batch file will be put into the Windows Start Menu folder, and it will run the Powershell script. The Batch file is interactive, and first asks the user if they want to run the script. This ensures that a user could start their computer without having all their startup programs run whenever they want.
As of 2024-11-19, there is now a Python command-line tool that can be used to update the JSON file. The Python tool is converted into an executable using the Python module PyInstaller. The default startup data is now Windows Calculator, Windows Notepad, and Google Chrome open to just the Google homepage.
As of 2023-10-27, the Powershell script and Batch file both work and I use them on my work laptop. However, the JSON file has to be manually created or updated. There is a JSON Schema file that can be used to know how the JSON file data should be structured. Additionally, as of 2024-03-10, the JSON file being used comes with some default data, namely to open up Windows Calculator, Windows Notepad, and Google Chrome with 3 tabs - Google, Facebook, and X (formerly Twitter).
- D = Directory (Folder)
- F = File
- D devenv - All files related to development
- D packages - Package files for each release, as either ZIP or MSI files
- D releases - Files related to each official release; this will NOT be the package files but all content that needs to go into a package file
- F README.md - This README
- F .gitignore - The gitignore file for this project
- D config - Main configuration folder for the JSON files
- D data - Data folder for either old or miscellaneous data
- D dependencies Python module folder to hold all the Python scripts that CompStart.py depends on
- D experimental_content - Parent folder to hold all child folders for any experimentation done with, for example, a library to possibly use in the future
- D features - Parent folder to hold child folders for each feature branch being worked on (see README inside that folder for more information)
- F CompStart.ps1 - Main PowerShell script that sets up all the programs, browser windows, and tabs
- F CompStart.bat - A batch file that is run on Windows startup and calls startup.ps1
- F CompStart.py - The Python command-line tool that can be used to modify the JSON startup data
- D schema - A folder to hold the JSON schema files
- F default_startup.json The data file that holds the default startup data used when first created a startup data file
- F startup_data.json The main data file that holds all the up-to-date startup data used by the CompStart PowerShell script
- F startup_data.schema.json The schema file for the startup_data JSON file that's used for validation
- F startup_item.schema.json The schema file for a specific startup item that's used for validation
- D data/misc_data - Holds any non-code related files such as text files with planning information, etc.
- D data/old_data - Holds any old or original code files to keep for posterity or just in case
- F extra_info.txt - A text file with some relevant links including questions on Stack Overflow pertinent to this project, JSON Schema validation attempts, and online articles that all had relevance in the early stages of this project
- F json_schema_update_ideas.txt - A text file with ideas for the JSON schema that were already implemented
- F robswc_suggestions.txt - A text file with some project changes and enhancements from Reddit user u/robswc that were already implemented
- F md_examples.md - Examples of Markdown language
- D python-tool-testing - A folder containing various Python scripts and JSON files all related to various testing done during the creation of the CompStart Python CLI tool
- F _imports_list.txt - A text file listing all the Python import statements that cover all the Python scripts in the dependencies folder
- F old_startup.ps1 - The original startup PowerShell script file with all the startup data hard coded in
- F old_setup.bat - A batch file that was going to act as the installer for this program but will be changed into a PowerShell script
- See the Readme in this folder for further details
- See the Readme in this folder for further details
- See the Readme in this folder for further details
- See the Readme in this folder for further details