mirror of
https://github.com/mountain-loop/yaak.git
synced 2026-04-28 19:47:08 +02:00
Better plugin reloading and theme parsing
This commit is contained in:
22
src-tauri/Cargo.lock
generated
22
src-tauri/Cargo.lock
generated
@@ -1121,6 +1121,15 @@ dependencies = [
|
|||||||
"typenum",
|
"typenum",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "csscolorparser"
|
||||||
|
version = "0.7.2"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "5fda6aace1fbef3aa217b27f4c8d7d071ef2a70a5ca51050b1f17d40299d3f16"
|
||||||
|
dependencies = [
|
||||||
|
"phf 0.11.3",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "cssparser"
|
name = "cssparser"
|
||||||
version = "0.29.6"
|
version = "0.29.6"
|
||||||
@@ -1297,7 +1306,7 @@ dependencies = [
|
|||||||
"libc",
|
"libc",
|
||||||
"option-ext",
|
"option-ext",
|
||||||
"redox_users",
|
"redox_users",
|
||||||
"windows-sys 0.59.0",
|
"windows-sys 0.60.2",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@@ -2254,15 +2263,6 @@ version = "0.4.3"
|
|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70"
|
checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70"
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "hex_color"
|
|
||||||
version = "3.0.0"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "d37f101bf4c633f7ca2e4b5e136050314503dd198e78e325ea602c327c484ef0"
|
|
||||||
dependencies = [
|
|
||||||
"rand 0.8.5",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "hkdf"
|
name = "hkdf"
|
||||||
version = "0.12.4"
|
version = "0.12.4"
|
||||||
@@ -7989,7 +7989,7 @@ name = "yaak-mac-window"
|
|||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"cocoa",
|
"cocoa",
|
||||||
"hex_color",
|
"csscolorparser",
|
||||||
"log",
|
"log",
|
||||||
"objc",
|
"objc",
|
||||||
"rand 0.9.1",
|
"rand 0.9.1",
|
||||||
|
|||||||
@@ -10,10 +10,10 @@ tauri-plugin = { workspace = true, features = ["build"] }
|
|||||||
|
|
||||||
[target.'cfg(target_os = "macos")'.dependencies]
|
[target.'cfg(target_os = "macos")'.dependencies]
|
||||||
cocoa = "0.26.0"
|
cocoa = "0.26.0"
|
||||||
hex_color = "3.0.0"
|
|
||||||
log = "0.4.27"
|
log = "0.4.27"
|
||||||
objc = "0.2.7"
|
objc = "0.2.7"
|
||||||
rand = "0.9.0"
|
rand = "0.9.0"
|
||||||
|
csscolorparser = "0.7.2"
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
tauri = { workspace = true }
|
tauri = { workspace = true }
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ pub(crate) fn set_title<R: Runtime>(window: Window<R>, title: &str) {
|
|||||||
pub(crate) fn set_theme<R: Runtime>(window: Window<R>, bg_color: &str) {
|
pub(crate) fn set_theme<R: Runtime>(window: Window<R>, bg_color: &str) {
|
||||||
#[cfg(target_os = "macos")]
|
#[cfg(target_os = "macos")]
|
||||||
{
|
{
|
||||||
match hex_color::HexColor::parse_rgb(bg_color.trim()) {
|
match csscolorparser::parse(bg_color.trim()) {
|
||||||
Ok(color) => {
|
Ok(color) => {
|
||||||
crate::mac::update_window_theme(window, color);
|
crate::mac::update_window_theme(window, color);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
#![allow(deprecated)]
|
#![allow(deprecated)]
|
||||||
use hex_color::HexColor;
|
use csscolorparser::Color;
|
||||||
use objc::{msg_send, sel, sel_impl};
|
use objc::{msg_send, sel, sel_impl};
|
||||||
use tauri::{Emitter, Runtime, Window};
|
use tauri::{Emitter, Runtime, Window};
|
||||||
|
|
||||||
@@ -35,7 +35,7 @@ pub(crate) fn update_window_title<R: Runtime>(window: Window<R>, title: String)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
pub(crate) fn update_window_theme<R: Runtime>(window: Window<R>, color: HexColor) {
|
pub(crate) fn update_window_theme<R: Runtime>(window: Window<R>, color: Color) {
|
||||||
use cocoa::appkit::{
|
use cocoa::appkit::{
|
||||||
NSAppearance, NSAppearanceNameVibrantDark, NSAppearanceNameVibrantLight, NSWindow,
|
NSAppearance, NSAppearanceNameVibrantDark, NSAppearanceNameVibrantLight, NSWindow,
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -27,7 +27,8 @@ configureTheme().then(
|
|||||||
|
|
||||||
// Listen for settings changes, the re-compute theme
|
// Listen for settings changes, the re-compute theme
|
||||||
listen<ModelPayload>('upserted_model', async (event) => {
|
listen<ModelPayload>('upserted_model', async (event) => {
|
||||||
if (event.payload.model.model !== 'settings') return;
|
const model = event.payload.model.model;
|
||||||
|
if (model !== 'settings' && model !== 'plugin') return;
|
||||||
await configureTheme();
|
await configureTheme();
|
||||||
}).catch(console.error);
|
}).catch(console.error);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user