|
1 |
| -# firefox-profile-switcher |
| 1 | +# Profile Switcher for Firefox |
2 | 2 |
|
3 |
| -This template should help get you started developing a svelte web extension in Vite. |
| 3 | +Create, edit, delete and switch between browser profiles seamlessly in Firefox. Inspired by Chrome's profile switcher. |
4 | 4 |
|
5 |
| -## Usage Notes |
| 5 | +## Installation |
6 | 6 |
|
7 |
| -The extension manifest is defined in `src/manifest.js` and used by `@samrum/vite-plugin-web-extension` in the vite config. |
| 7 | +[](https://addons.mozilla.org/en-CA/firefox/addon/profile-switcher/) |
8 | 8 |
|
9 |
| -Background, content scripts, options, and popup entry points exist in the `src/entries` directory. |
| 9 | +The extension requires installation of extra software. You will be prompted to install the software after you have installed the extension. |
10 | 10 |
|
11 |
| -Content scripts are rendered by `src/entries/contentScript/renderContent.js` which renders content within a ShadowRoot |
12 |
| -and handles style injection for HMR and build modes. |
| 11 | +## Features |
13 | 12 |
|
14 |
| -Otherwise, the project functions just like a regular Vite project. |
| 13 | +- Create, edit, delete and change your default profile |
| 14 | +- Switch between profiles in the toolbar |
| 15 | +- Choose from a variety of different profile pictures including both the current pictures included with Chrome along with the old pictures that are no longer available in Chrome. |
15 | 16 |
|
| 17 | +## Screenshots |
16 | 18 |
|
| 19 | +Switch to another browser profile with 2 clicks: |
17 | 20 |
|
| 21 | + |
18 | 22 |
|
| 23 | +Create, edit, delete and change your default profile: |
19 | 24 |
|
20 |
| -Refer to [@samrum/vite-plugin-web-extension](https://github.com/samrum/vite-plugin-web-extension) for more usage notes. |
| 25 | + |
21 | 26 |
|
22 |
| -## Customize configuration |
| 27 | +## How does it work? |
23 | 28 |
|
24 |
| -See [Vite Configuration Reference](https://vitejs.dev/config/). |
| 29 | +Browser extensions do not have the ability to manage browser profiles. Instead the extension talks to a native program which has the ability to manipulate the browser folders (source code here: https://github.com/null-dev/firefox-profile-switcher-connector). |
25 | 30 |
|
26 |
| -## Project Setup |
| 31 | +## Credits |
27 | 32 |
|
28 |
| -```sh |
29 |
| -npm install |
30 |
| -``` |
| 33 | +Thanks to the authors of the Chromium project for creating the beautiful profile images. |
31 | 34 |
|
32 |
| -## Commands |
33 |
| -### Build |
34 |
| -#### Development, HMR |
| 35 | +Thanks to Mozilla for making this great browser and for creating the design language that this extension uses. |
35 | 36 |
|
36 |
| -Hot Module Reloading is used to load changes inline without requiring extension rebuilds and extension/page reloads |
37 |
| -```sh |
38 |
| -npm run dev |
39 |
| -``` |
| 37 | +## License |
40 | 38 |
|
41 |
| -#### Development, Watch |
| 39 | +The extension and native program are licensed under GPL v3. |
42 | 40 |
|
43 |
| -Rebuilds extension on file changes. Requires a reload of the extension (and page reload if using content scripts) |
44 |
| -```sh |
45 |
| -npm run watch |
46 |
| -``` |
| 41 | +The profile pictures were created by the Chromium authors and are licensed under the Chromium license, see: https://github.com/null-dev/firefox-profile-switcher/blob/master/img/avatars/LICENSE.txt. |
47 | 42 |
|
48 |
| -#### Production |
49 |
| - |
50 |
| -Minifies and optimizes extension build |
51 |
| -```sh |
52 |
| -npm run build |
53 |
| -``` |
54 |
| - |
55 |
| -### Load extension in browser |
56 |
| - |
57 |
| -Loads the contents of the dist directory into the specified browser |
58 |
| -```sh |
59 |
| -npm run serve:chrome |
60 |
| -``` |
61 |
| - |
62 |
| -```sh |
63 |
| -npm run serve:firefox |
64 |
| -``` |
| 43 | +Some of the CSS used in this extension were developed by Mozilla and are licensed under MPL v2. |
0 commit comments