feat(settings): add grouped configuration hub, languages and tray controls
This commit is contained in:
1 parent
6f34fd080f
commit
cc3b6f903f
90 files changed
+3625
-408
No files matched your search
@@ -2,7 +2,7 @@ use serde::{Deserialize, Serialize};
|
||||
|
||||
use crate::{Appearance, Tokens};
|
||||
|
||||
#[derive(Clone, Debug, Deserialize, Serialize, PartialEq)]
|
||||
#[derive(Clone, Debug, Deserialize, Serialize, PartialEq, schemars::JsonSchema)]
|
||||
pub struct Palette {
|
||||
pub background: String,
|
||||
pub bar: String,
|
||||
@@ -25,7 +25,7 @@ impl From<&Tokens> for Palette {
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Clone, Debug, Deserialize, Serialize, PartialEq)]
|
||||
#[derive(Clone, Debug, Deserialize, Serialize, PartialEq, schemars::JsonSchema)]
|
||||
pub struct Family {
|
||||
pub id: String,
|
||||
pub name: String,
|
||||
|
||||
@@ -2,7 +2,9 @@ use std::path::PathBuf;
|
||||
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Clone, Copy, Debug, Default, Deserialize, Serialize, PartialEq, Eq)]
|
||||
#[derive(
|
||||
Clone, Copy, Debug, Default, Deserialize, Serialize, PartialEq, Eq, schemars::JsonSchema,
|
||||
)]
|
||||
#[serde(rename_all = "lowercase")]
|
||||
pub enum Appearance {
|
||||
Light,
|
||||
@@ -10,7 +12,9 @@ pub enum Appearance {
|
||||
Dark,
|
||||
}
|
||||
|
||||
#[derive(Clone, Copy, Debug, Default, Deserialize, Serialize, PartialEq, Eq)]
|
||||
#[derive(
|
||||
Clone, Copy, Debug, Default, Deserialize, Serialize, PartialEq, Eq, schemars::JsonSchema,
|
||||
)]
|
||||
#[serde(rename_all = "lowercase")]
|
||||
pub enum Mode {
|
||||
Light,
|
||||
@@ -19,14 +23,14 @@ pub enum Mode {
|
||||
Auto,
|
||||
}
|
||||
|
||||
#[derive(Clone, Debug, Default, Deserialize, Serialize, PartialEq, Eq)]
|
||||
#[derive(Clone, Debug, Default, Deserialize, Serialize, PartialEq, Eq, schemars::JsonSchema)]
|
||||
#[serde(default)]
|
||||
pub struct Accessibility {
|
||||
pub increase_contrast: bool,
|
||||
pub reduce_transparency: bool,
|
||||
}
|
||||
|
||||
#[derive(Clone, Debug, Deserialize, Serialize, PartialEq)]
|
||||
#[derive(Clone, Debug, Deserialize, Serialize, PartialEq, schemars::JsonSchema)]
|
||||
pub struct Colors {
|
||||
pub surface_base: String,
|
||||
pub surface_raised: String,
|
||||
@@ -39,7 +43,7 @@ pub struct Colors {
|
||||
pub shadow: String,
|
||||
}
|
||||
|
||||
#[derive(Clone, Debug, Deserialize, Serialize, PartialEq)]
|
||||
#[derive(Clone, Debug, Deserialize, Serialize, PartialEq, schemars::JsonSchema)]
|
||||
pub struct Material {
|
||||
pub style: String,
|
||||
pub opacity: f64,
|
||||
@@ -47,7 +51,7 @@ pub struct Material {
|
||||
pub tint_strength: f64,
|
||||
}
|
||||
|
||||
#[derive(Clone, Debug, Deserialize, Serialize, PartialEq)]
|
||||
#[derive(Clone, Debug, Deserialize, Serialize, PartialEq, schemars::JsonSchema)]
|
||||
pub struct Geometry {
|
||||
pub border_width: f64,
|
||||
pub focus_ring_width: f64,
|
||||
@@ -56,50 +60,52 @@ pub struct Geometry {
|
||||
pub control_gap: f64,
|
||||
}
|
||||
|
||||
#[derive(Clone, Debug, Deserialize, Serialize, PartialEq)]
|
||||
#[derive(Clone, Debug, Deserialize, Serialize, PartialEq, schemars::JsonSchema)]
|
||||
pub struct Typography {
|
||||
pub font_family: String,
|
||||
}
|
||||
|
||||
#[derive(Clone, Debug, Deserialize, Serialize, PartialEq)]
|
||||
#[derive(Clone, Debug, Deserialize, Serialize, PartialEq, schemars::JsonSchema)]
|
||||
pub struct Background {
|
||||
pub path: Option<PathBuf>,
|
||||
pub lock_path: Option<PathBuf>,
|
||||
pub mode: String,
|
||||
}
|
||||
|
||||
#[derive(Clone, Debug, Deserialize, Serialize, PartialEq)]
|
||||
#[derive(Clone, Debug, Deserialize, Serialize, PartialEq, schemars::JsonSchema)]
|
||||
pub struct BarSurface {
|
||||
pub background: String,
|
||||
pub text_primary: String,
|
||||
pub text_muted: String,
|
||||
}
|
||||
|
||||
#[derive(Clone, Debug, Deserialize, Serialize, PartialEq)]
|
||||
#[derive(Clone, Debug, Deserialize, Serialize, PartialEq, schemars::JsonSchema)]
|
||||
pub struct Surfaces {
|
||||
pub bar: BarSurface,
|
||||
}
|
||||
|
||||
#[derive(Clone, Debug, Deserialize, Serialize, PartialEq)]
|
||||
#[derive(Clone, Debug, Deserialize, Serialize, PartialEq, schemars::JsonSchema)]
|
||||
pub struct SoftShadow {
|
||||
pub offset_y: f64,
|
||||
pub blur: f64,
|
||||
pub opacity: f64,
|
||||
}
|
||||
|
||||
#[derive(Clone, Debug, Deserialize, Serialize, PartialEq)]
|
||||
#[derive(Clone, Debug, Deserialize, Serialize, PartialEq, schemars::JsonSchema)]
|
||||
pub struct Shadows {
|
||||
pub soft: SoftShadow,
|
||||
}
|
||||
|
||||
#[derive(Clone, Debug, Deserialize, Serialize, PartialEq)]
|
||||
#[derive(Clone, Debug, Deserialize, Serialize, PartialEq, schemars::JsonSchema)]
|
||||
pub struct Gradient {
|
||||
pub from: String,
|
||||
pub to: String,
|
||||
pub angle: f64,
|
||||
}
|
||||
|
||||
#[derive(Clone, Copy, Debug, Default, Deserialize, Serialize, PartialEq, Eq)]
|
||||
#[derive(
|
||||
Clone, Copy, Debug, Default, Deserialize, Serialize, PartialEq, Eq, schemars::JsonSchema,
|
||||
)]
|
||||
#[serde(rename_all = "lowercase")]
|
||||
pub enum PaintStyle {
|
||||
#[default]
|
||||
@@ -113,7 +119,7 @@ impl PaintStyle {
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Clone, Debug, Default, Deserialize, Serialize, PartialEq)]
|
||||
#[derive(Clone, Debug, Default, Deserialize, Serialize, PartialEq, schemars::JsonSchema)]
|
||||
pub struct Paint {
|
||||
#[serde(default, skip_serializing_if = "PaintStyle::is_auto")]
|
||||
pub style: PaintStyle,
|
||||
@@ -131,7 +137,7 @@ impl Paint {
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Clone, Debug, Deserialize, Serialize, PartialEq)]
|
||||
#[derive(Clone, Debug, Deserialize, Serialize, PartialEq, schemars::JsonSchema)]
|
||||
pub struct Tokens {
|
||||
pub colors: Colors,
|
||||
pub material: Material,
|
||||
@@ -144,7 +150,7 @@ pub struct Tokens {
|
||||
pub focus_ring: Paint,
|
||||
}
|
||||
|
||||
#[derive(Clone, Debug, Deserialize, Serialize, PartialEq)]
|
||||
#[derive(Clone, Debug, Deserialize, Serialize, PartialEq, schemars::JsonSchema)]
|
||||
pub struct ResolvedTheme {
|
||||
pub appearance: Appearance,
|
||||
pub tokens: Tokens,
|
||||
|
||||
Reference in new issue
Block a user