From 061991218f4a9aab392a0000dcf56803862bd080 Mon Sep 17 00:00:00 2001 From: kossLAN Date: Fri, 29 May 2026 11:21:42 -0400 Subject: [PATCH] bugs: move application quirks into workspace crate --- Cargo.lock | 8 ++++++++ Cargo.toml | 2 ++ bugs/Cargo.toml | 8 ++++++++ bugs/src/lib.rs | 38 ++++++++++++++++++++++++++++++++++++++ src/bugs.rs | 39 +-------------------------------------- 5 files changed, 57 insertions(+), 38 deletions(-) create mode 100644 bugs/Cargo.toml create mode 100644 bugs/src/lib.rs diff --git a/Cargo.lock b/Cargo.lock index fb564714..f755659b 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -658,6 +658,13 @@ dependencies = [ "uapi", ] +[[package]] +name = "jay-bugs" +version = "0.1.0" +dependencies = [ + "ahash", +] + [[package]] name = "jay-cmm" version = "0.1.0" @@ -693,6 +700,7 @@ dependencies = [ "jay-ash", "jay-async-engine", "jay-bufio", + "jay-bugs", "jay-cmm", "jay-config", "jay-cpu-worker", diff --git a/Cargo.toml b/Cargo.toml index 9da94883..d8f8d6cf 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -40,6 +40,7 @@ members = [ "cpu-worker", "sighand", "pr-caps", + "bugs", "toml-config", "algorithms", "toml-spec", @@ -81,6 +82,7 @@ jay-wheel = { version = "0.1.0", path = "wheel" } jay-cpu-worker = { version = "0.1.0", path = "cpu-worker" } jay-sighand = { version = "0.1.0", path = "sighand" } jay-pr-caps = { version = "0.1.0", path = "pr-caps" } +jay-bugs = { version = "0.1.0", path = "bugs" } uapi = "0.2.13" thiserror = "2.0.11" diff --git a/bugs/Cargo.toml b/bugs/Cargo.toml new file mode 100644 index 00000000..84894b92 --- /dev/null +++ b/bugs/Cargo.toml @@ -0,0 +1,8 @@ +[package] +name = "jay-bugs" +version = "0.1.0" +edition = "2024" +license = "GPL-3.0-only" + +[dependencies] +ahash = "0.8.7" diff --git a/bugs/src/lib.rs b/bugs/src/lib.rs new file mode 100644 index 00000000..b62b4d37 --- /dev/null +++ b/bugs/src/lib.rs @@ -0,0 +1,38 @@ +use {ahash::AHashMap, std::sync::LazyLock}; + +static BUGS: LazyLock> = LazyLock::new(|| { + let mut map = AHashMap::new(); + map.insert( + "chromium", + Bugs { + respect_min_max_size: true, + ..Default::default() + }, + ); + map.insert( + "Alacritty", + Bugs { + min_width: Some(100), + min_height: Some(100), + ..Default::default() + }, + ); + map +}); + +pub fn get(app_id: &str) -> &'static Bugs { + BUGS.get(app_id).unwrap_or(&NONE) +} + +pub static NONE: Bugs = Bugs { + respect_min_max_size: false, + min_width: None, + min_height: None, +}; + +#[derive(Default, Debug)] +pub struct Bugs { + pub respect_min_max_size: bool, + pub min_width: Option, + pub min_height: Option, +} diff --git a/src/bugs.rs b/src/bugs.rs index b62b4d37..eaf76784 100644 --- a/src/bugs.rs +++ b/src/bugs.rs @@ -1,38 +1 @@ -use {ahash::AHashMap, std::sync::LazyLock}; - -static BUGS: LazyLock> = LazyLock::new(|| { - let mut map = AHashMap::new(); - map.insert( - "chromium", - Bugs { - respect_min_max_size: true, - ..Default::default() - }, - ); - map.insert( - "Alacritty", - Bugs { - min_width: Some(100), - min_height: Some(100), - ..Default::default() - }, - ); - map -}); - -pub fn get(app_id: &str) -> &'static Bugs { - BUGS.get(app_id).unwrap_or(&NONE) -} - -pub static NONE: Bugs = Bugs { - respect_min_max_size: false, - min_width: None, - min_height: None, -}; - -#[derive(Default, Debug)] -pub struct Bugs { - pub respect_min_max_size: bool, - pub min_width: Option, - pub min_height: Option, -} +pub use jay_bugs::*;