* feat!: init plugin * fix: fix widget not found on bar setting * feat!: add creation folder for plugin * feat!: add first version of Config Swap (simple modification test) * feat!: update toml with new feature * docs: prepare docs * feat!: add more place for view preview * feat!: add new page for store and allerady download * docs: improve lisibility * feat!: add description emplacement * feat!: add wallpaper support for install and set * docs: add more info to readme * feat: add cp depedencie * docs: add more info * feat!: add trad support * fix: change order for set wallpaper after change config * feat!: add settingsPath for data.json * feat!: add data.json creation if not exist * docs: add more docs info * feat!: rm useless preview image * docs: improve docs * feat!: change false description * feat!: add shellQuote for protect bad command * feat!: add path var in infoConfig.Change config type for infoConfig Type * feat!: add secure delete config and confirmation for delete config * feat!: add save function for save current config * feat!: add welcome warning and confirmation switch * feat!: add info for store section * docs: add new info in setting section * feat!: add resolve state dir for check all state dir possibility * feat!: add english translation compatibility * feat!: change thumbnail * docs: add more information on the readme * fix: rm useless button * docs: add comment * fix: add depedencie missing * fix: rm death code * fix: rm update interval not use * feat!: add delete, save and apply protection, reject invalid name * docs: add more info in info section * feat!: add more charactere in match string in isDetect function * fix: change wrong name function * feat!: add protection for invalid name in dowload Config
130 lines
4.6 KiB
Markdown
130 lines
4.6 KiB
Markdown
# Config Swap
|
|
|
|
A [Noctalia](https://github.com/noctalia-dev/noctalia) v5 plugin for switching between saved Noctalia configurations.
|
|
|
|
## Dependencies
|
|
|
|
For this plugin, you need:
|
|
* internet access to fetch configuration data from GitHub on the store page
|
|
* `cp` to apply a configuration
|
|
* `rm` to delete the selected installed configuration (not the current configuration)
|
|
|
|
## Plugin
|
|
|
|
| Field | Value |
|
|
| --- | --- |
|
|
| ID | `tadomika_ari/config-swap` |
|
|
| Entries | Bar widget: `widget`; panel: `panel`; service: `start` |
|
|
|
|
## Usage
|
|
|
|
This plugin is still under development.
|
|
|
|
You can open Config Swap with:
|
|
|
|
```sh
|
|
noctalia msg panel-toggle tadomika_ari/config-swap:panel
|
|
```
|
|
|
|
The plugin downloads saved configurations from the `Config-Swap-Box` GitHub repository and stores them in `~/Config-Swap`.
|
|
Applying a configuration copies its `settings.toml` to `~/.local/state/noctalia/settings.toml` and sets the matching wallpaper.
|
|
Keep a backup of your current configuration before using it.
|
|
|
|
Open the panel from the bar widget, then switch between the two views with `Show Store` and `Show List`.
|
|
|
|
|
|
### Before Start
|
|
|
|
A welcome page is shown after each restart. Agree to continue, or close the plugin if you prefer not to use it.
|
|
|
|
### Show Store
|
|
|
|
The store view fetches available configurations from GitHub.
|
|
Use `refresh` to reload the list if nothing appears.
|
|
|
|
Do not spam `refresh`; GitHub rate limits unauthenticated requests.
|
|
|
|
Each card lets you `install` a configuration.
|
|
|
|
An information panel is also available to explain the store view.
|
|
|
|
| Action | Effect |
|
|
| --- | --- |
|
|
| Refresh | Refresh the GitHub API data |
|
|
| Info | Show information about the store |
|
|
| Install | Install the configuration in `~/Config-Swap` |
|
|
| Show list | Switch to the list view |
|
|
|
|
### Show List
|
|
|
|
The list view shows configurations already installed in `~/Config-Swap`.
|
|
From there, you can `apply` them again or `delete` them again to refresh the files.
|
|
You will be asked to confirm before applying the selected configuration and confirm before deleting the selected configuration.
|
|
|
|
Click a preview image to see extra information such as the author, origin, and description.
|
|
|
|
Use `Show Store` to return to the GitHub store view.
|
|
|
|
| Action | Effect |
|
|
| --- | --- |
|
|
| Refresh | Refresh the GitHub API data |
|
|
| Delete | Delete the configuration in `~/Config-Swap` |
|
|
| Apply | Apply the configuration |
|
|
| Setting | Open the Config Swap settings |
|
|
| Click the preview | Open extra information |
|
|
| Show store | Switch to the store view |
|
|
|
|
### Setting Info
|
|
|
|
A settings panel is available. At this time, only saving a configuration is supported.
|
|
|
|
You can save your current configuration under a custom name for backup or export.
|
|
Saving a configuration copies the current `settings.toml` and creates an `info.json` file, which is important for the plugin and for export to the GitHub store. The `info.json` file can be edited to add information, and you can also add a `preview.png` and a default wallpaper as `wallpaper.png`.
|
|
Files are saved in `~/Config-Swap/{name}`.
|
|
|
|
This also refreshes the list of installed configurations.
|
|
|
|
| Action | Effect |
|
|
| --- | --- |
|
|
| Input field | Enter a custom name for the save (default: `save`) |
|
|
| Save | Create a backup of the current configuration |
|
|
|
|
|
|
### Extra Info
|
|
|
|
You can add your own configuration folder to `~/Config-Swap`.
|
|
Each configuration should follow the same structure as the downloaded ones, including an `info.json` file and the expected asset files.
|
|
|
|
If you want to publish a configuration, add it to the `Config-Swap-Box` repository: https://github.com/Tadomika-Ari/Config-Swap-Box
|
|
Make sure Config Swap is enabled in your plugin list before you try to use it.
|
|
|
|
You can delete a configuration with the trash button. A warning panel will appear before deletion.
|
|
|
|
### Contributing
|
|
|
|
You can contribute to Config Swap! Add your own configuration files and wallpaper to the store so others can use them.
|
|
To do so:
|
|
* Go to the Settings section and save your configuration. The plugin will copy your `settings.toml` and create an `info.json` file.
|
|
* Take a preview image and wallpaper, then go to `~/Config-Swap/{name}` and copy your `preview.png` and `wallpaper.png` files (the exact names are required).
|
|
* Update your `info.json` with important information such as the author and description.
|
|
* Go to the GitHub page linked from the information panel in the Store section and create a pull request.
|
|
* Wait for review, and then your configuration can be shared.
|
|
|
|
## Settings
|
|
|
|
No setting needed
|
|
|
|
## Requirements
|
|
|
|
- Noctalia ≥ 5.0.0
|
|
- `cp`
|
|
- `rm`
|
|
- internet access for the store view
|
|
|
|
## Install
|
|
|
|
Install the plugin and add it to your bar.
|
|
|
|
## License
|
|
|
|
MIT. |