Migrate bos-settings from GTK4 to Tauri + Svelte 5

Ports every remaining view (Keybinds, the last one — dual Flat/MultiLayout
schema detection, per-action dedicated fields with a raw-JSON fallback for
anything not modeled) and removes the now-fully-dead GTK4 crate (root
Cargo.toml + src/), leaving src-tauri/ as the single Rust binary crate.

Also folds in the UX pass done alongside the migration: responsive
multi-column layout instead of a single centered column, chip/dropdown
pickers replacing free-typed fields (Wi-Fi networks, Bar style, keyboard
layout, tag lists), consistent pill-switch toggles and boxed-list card
styling across every page, and a sidebar scroll-chaining fix.
This commit is contained in:
Breadway 2026-07-22 19:23:02 +08:00
parent 62365ebf10
commit 93c3b88b10
147 changed files with 15804 additions and 7516 deletions

41
src-tauri/tauri.conf.json Normal file
View file

@ -0,0 +1,41 @@
{
"$schema": "https://schema.tauri.app/config/2",
"productName": "BOS Settings",
"version": "0.8.0",
"identifier": "dev.breadway.bos-settings",
"build": {
"beforeDevCommand": "npm --prefix frontend run dev",
"devUrl": "http://localhost:1420",
"beforeBuildCommand": "npm --prefix frontend run build",
"frontendDist": "../frontend/build"
},
"app": {
"windows": [
{
"title": "BOS Settings",
"width": 960,
"height": 640,
"decorations": false,
"backgroundColor": "#0c0c0c"
}
],
"security": {
"csp": null,
"assetProtocol": {
"enable": true,
"scope": ["$HOME/Pictures/Backgrounds/**"]
}
}
},
"bundle": {
"active": true,
"targets": "all",
"icon": [
"icons/32x32.png",
"icons/128x128.png",
"icons/128x128@2x.png",
"icons/icon.icns",
"icons/icon.ico"
]
}
}