Skip to content

Commit 30e1589

Browse files
committed
Add settings dialog with autostart, minimize-to-tray, and accent color options
Replace the question mark icon with a gear icon that opens a full Settings dialog. The About section moves into Settings. New features include launch on startup toggle, minimize-to-tray toggle, and 6 accent color presets that persist across restarts. Bump version to 2.3.0.
1 parent bd6a913 commit 30e1589

File tree

17 files changed

+931
-165
lines changed

17 files changed

+931
-165
lines changed

package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "sprout",
3-
"version": "2.2.2",
3+
"version": "2.3.0",
44
"type": "module",
55
"description": "Sprout - Server management panel for Pumpkin",
66
"scripts": {
@@ -17,6 +17,7 @@
1717
"@fortawesome/free-brands-svg-icons": "^7.1.0",
1818
"@fortawesome/vue-fontawesome": "^3.1.3",
1919
"@tauri-apps/api": "^2.10.1",
20+
"@tauri-apps/plugin-autostart": "^2.5.1",
2021
"@tauri-apps/plugin-dialog": "^2.6.0",
2122
"@tauri-apps/plugin-process": "^2.3.1",
2223
"@tauri-apps/plugin-shell": "^2.3.5",

pnpm-lock.yaml

Lines changed: 10 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src-tauri/Cargo.lock

Lines changed: 113 additions & 6 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src-tauri/Cargo.toml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
[package]
22
name = "sprout"
3-
version = "2.2.2"
3+
version = "2.3.0"
44
edition = "2021"
55

66
[build-dependencies]
77
tauri-build = { version = "2", features = [] }
88

99
[dependencies]
10-
tauri = { version = "2", features = [] }
10+
tauri = { version = "2", features = ["tray-icon", "image-png"] }
1111
tauri-plugin-shell = "2"
1212
tauri-plugin-dialog = "2"
1313
serde = { version = "1", features = ["derive"] }
@@ -23,6 +23,7 @@ reqwest = { version = "0.12", features = ["stream", "json"] }
2323
futures-util = "0.3"
2424
tauri-plugin-updater = "2"
2525
tauri-plugin-process = "2"
26+
tauri-plugin-autostart = "2"
2627

2728
[[bin]]
2829
name = "sprout"

src-tauri/capabilities/default.json

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,17 @@
1616
"core:window:allow-toggle-maximize",
1717
"core:window:allow-is-maximized",
1818
"core:window:allow-start-dragging",
19+
"core:window:allow-show",
20+
"core:window:allow-hide",
21+
"core:window:allow-is-visible",
22+
"core:window:allow-unminimize",
23+
"core:window:allow-set-focus",
1924
"shell:allow-open",
2025
"dialog:allow-open",
2126
"updater:default",
22-
"process:allow-restart"
27+
"process:allow-restart",
28+
"autostart:allow-enable",
29+
"autostart:allow-disable",
30+
"autostart:allow-is-enabled"
2331
]
2432
}

src-tauri/gen/schemas/acl-manifests.json

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
{"default":{"identifier":"default","description":"Default capability for the main window","local":true,"windows":["*"],"permissions":["core:default","core:window:allow-create","core:window:allow-close","core:window:allow-set-title","core:webview:allow-create-webview-window","core:event:default","core:event:allow-emit","core:event:allow-listen","core:window:allow-minimize","core:window:allow-toggle-maximize","core:window:allow-is-maximized","core:window:allow-start-dragging","shell:allow-open","dialog:allow-open","updater:default","process:allow-restart"]}}
1+
{"default":{"identifier":"default","description":"Default capability for the main window","local":true,"windows":["*"],"permissions":["core:default","core:window:allow-create","core:window:allow-close","core:window:allow-set-title","core:webview:allow-create-webview-window","core:event:default","core:event:allow-emit","core:event:allow-listen","core:window:allow-minimize","core:window:allow-toggle-maximize","core:window:allow-is-maximized","core:window:allow-start-dragging","core:window:allow-show","core:window:allow-hide","core:window:allow-is-visible","core:window:allow-unminimize","core:window:allow-set-focus","shell:allow-open","dialog:allow-open","updater:default","process:allow-restart","autostart:allow-enable","autostart:allow-disable","autostart:allow-is-enabled"]}}

src-tauri/gen/schemas/desktop-schema.json

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -386,6 +386,48 @@
386386
"Identifier": {
387387
"description": "Permission identifier",
388388
"oneOf": [
389+
{
390+
"description": "This permission set configures if your\napplication can enable or disable auto\nstarting the application on boot.\n\n#### Granted Permissions\n\nIt allows all to check, enable and\ndisable the automatic start on boot.\n\n\n#### This default permission set includes:\n\n- `allow-enable`\n- `allow-disable`\n- `allow-is-enabled`",
391+
"type": "string",
392+
"const": "autostart:default",
393+
"markdownDescription": "This permission set configures if your\napplication can enable or disable auto\nstarting the application on boot.\n\n#### Granted Permissions\n\nIt allows all to check, enable and\ndisable the automatic start on boot.\n\n\n#### This default permission set includes:\n\n- `allow-enable`\n- `allow-disable`\n- `allow-is-enabled`"
394+
},
395+
{
396+
"description": "Enables the disable command without any pre-configured scope.",
397+
"type": "string",
398+
"const": "autostart:allow-disable",
399+
"markdownDescription": "Enables the disable command without any pre-configured scope."
400+
},
401+
{
402+
"description": "Enables the enable command without any pre-configured scope.",
403+
"type": "string",
404+
"const": "autostart:allow-enable",
405+
"markdownDescription": "Enables the enable command without any pre-configured scope."
406+
},
407+
{
408+
"description": "Enables the is_enabled command without any pre-configured scope.",
409+
"type": "string",
410+
"const": "autostart:allow-is-enabled",
411+
"markdownDescription": "Enables the is_enabled command without any pre-configured scope."
412+
},
413+
{
414+
"description": "Denies the disable command without any pre-configured scope.",
415+
"type": "string",
416+
"const": "autostart:deny-disable",
417+
"markdownDescription": "Denies the disable command without any pre-configured scope."
418+
},
419+
{
420+
"description": "Denies the enable command without any pre-configured scope.",
421+
"type": "string",
422+
"const": "autostart:deny-enable",
423+
"markdownDescription": "Denies the enable command without any pre-configured scope."
424+
},
425+
{
426+
"description": "Denies the is_enabled command without any pre-configured scope.",
427+
"type": "string",
428+
"const": "autostart:deny-is-enabled",
429+
"markdownDescription": "Denies the is_enabled command without any pre-configured scope."
430+
},
389431
{
390432
"description": "Default core plugins set.\n#### This default permission set includes:\n\n- `core:path:default`\n- `core:event:default`\n- `core:window:default`\n- `core:webview:default`\n- `core:app:default`\n- `core:image:default`\n- `core:resources:default`\n- `core:menu:default`\n- `core:tray:default`",
391433
"type": "string",

0 commit comments

Comments
 (0)