diff --git a/.gitmodules b/.gitmodules index 90176cbd..371247f3 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +1,3 @@ -[submodule "toml-config/toml-test"] - path = toml-config/toml-test +[submodule "crates/toml-config/toml-test"] + path = crates/toml-config/toml-test url = https://github.com/mahkoh/toml-tests.git diff --git a/Cargo.toml b/Cargo.toml index 1e4e89b9..354652df 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -15,53 +15,53 @@ path = "src/main.rs" [workspace] resolver = "3" members = [ - "jay-config", - "jay-config-schema", - "geometry", - "layout-animation", - "formats", - "edid", - "units", - "utils", - "criteria", - "cmm", - "time", - "tracy", - "async-engine", - "io-uring", - "bufio", - "dbus-core", - "xcon", - "wire-types", - "wire-buf", - "tree-types", - "eventfd-cache", - "wheel", - "cpu-worker", - "sighand", - "pr-caps", - "bugs", - "logger", - "video-types", - "output-types", - "input-types", - "keyboard", - "gfx-types", - "theme", - "clientmem", - "allocator", - "output-schedule", - "drm-feedback", - "udmabuf", - "damage", - "pango", - "libinput", - "toml-config", - "toml-parser", - "algorithms", - "toml-spec", - "wire-to-xml", - "xml-to-wire", + "crates/jay-config", + "crates/jay-config-schema", + "crates/geometry", + "crates/layout-animation", + "crates/formats", + "crates/edid", + "crates/units", + "crates/utils", + "crates/criteria", + "crates/cmm", + "crates/time", + "crates/tracy", + "crates/async-engine", + "crates/io-uring", + "crates/bufio", + "crates/dbus-core", + "crates/xcon", + "crates/wire-types", + "crates/wire-buf", + "crates/tree-types", + "crates/eventfd-cache", + "crates/wheel", + "crates/cpu-worker", + "crates/sighand", + "crates/pr-caps", + "crates/bugs", + "crates/logger", + "crates/video-types", + "crates/output-types", + "crates/input-types", + "crates/keyboard", + "crates/gfx-types", + "crates/theme", + "crates/clientmem", + "crates/allocator", + "crates/output-schedule", + "crates/drm-feedback", + "crates/udmabuf", + "crates/damage", + "crates/pango", + "crates/libinput", + "crates/toml-config", + "crates/toml-parser", + "crates/algorithms", + "crates/toml-spec", + "crates/wire-to-xml", + "crates/xml-to-wire", ] [profile.release] @@ -72,48 +72,48 @@ debug = "full" panic = "abort" [dependencies] -jay-config = { version = "1.10.0", path = "jay-config" } -jay-toml-config = { version = "0.12.0", path = "toml-config" } -jay-algorithms = { version = "0.4.0", path = "algorithms" } -jay-geometry = { version = "0.1.0", path = "geometry" } -jay-layout-animation = { version = "0.1.0", path = "layout-animation" } -jay-formats = { version = "0.1.0", path = "formats" } -jay-edid = { version = "0.1.0", path = "edid" } -jay-units = { version = "0.1.0", path = "units" } -jay-utils = { version = "0.1.0", path = "utils" } -jay-criteria = { version = "0.1.0", path = "criteria" } -jay-cmm = { version = "0.1.0", path = "cmm" } -jay-time = { version = "0.1.0", path = "time" } -jay-tracy = { version = "0.1.0", path = "tracy" } -jay-async-engine = { version = "0.1.0", path = "async-engine" } -jay-io-uring = { version = "0.1.0", path = "io-uring" } -jay-bufio = { version = "0.1.0", path = "bufio" } -jay-dbus-core = { version = "0.1.0", path = "dbus-core" } -jay-xcon = { version = "0.1.0", path = "xcon" } -jay-wire-types = { version = "0.1.0", path = "wire-types" } -jay-wire-buf = { version = "0.1.0", path = "wire-buf" } -jay-tree-types = { version = "0.1.0", path = "tree-types" } -jay-eventfd-cache = { version = "0.1.0", path = "eventfd-cache" } -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" } -jay-logger = { version = "0.1.0", path = "logger" } -jay-video-types = { version = "0.1.0", path = "video-types" } -jay-output-types = { version = "0.1.0", path = "output-types" } -jay-input-types = { version = "0.1.0", path = "input-types" } -jay-keyboard = { version = "0.1.0", path = "keyboard" } -jay-gfx-types = { version = "0.1.0", path = "gfx-types" } -jay-theme = { version = "0.1.0", path = "theme" } -jay-clientmem = { version = "0.1.0", path = "clientmem" } -jay-allocator = { version = "0.1.0", path = "allocator" } -jay-output-schedule = { version = "0.1.0", path = "output-schedule" } -jay-drm-feedback = { version = "0.1.0", path = "drm-feedback" } -jay-udmabuf = { version = "0.1.0", path = "udmabuf" } -jay-damage = { version = "0.1.0", path = "damage" } -jay-pango = { version = "0.1.0", path = "pango" } -jay-libinput = { version = "0.1.0", path = "libinput" } +jay-config = { version = "1.10.0", path = "crates/jay-config" } +jay-toml-config = { version = "0.12.0", path = "crates/toml-config" } +jay-algorithms = { version = "0.4.0", path = "crates/algorithms" } +jay-geometry = { version = "0.1.0", path = "crates/geometry" } +jay-layout-animation = { version = "0.1.0", path = "crates/layout-animation" } +jay-formats = { version = "0.1.0", path = "crates/formats" } +jay-edid = { version = "0.1.0", path = "crates/edid" } +jay-units = { version = "0.1.0", path = "crates/units" } +jay-utils = { version = "0.1.0", path = "crates/utils" } +jay-criteria = { version = "0.1.0", path = "crates/criteria" } +jay-cmm = { version = "0.1.0", path = "crates/cmm" } +jay-time = { version = "0.1.0", path = "crates/time" } +jay-tracy = { version = "0.1.0", path = "crates/tracy" } +jay-async-engine = { version = "0.1.0", path = "crates/async-engine" } +jay-io-uring = { version = "0.1.0", path = "crates/io-uring" } +jay-bufio = { version = "0.1.0", path = "crates/bufio" } +jay-dbus-core = { version = "0.1.0", path = "crates/dbus-core" } +jay-xcon = { version = "0.1.0", path = "crates/xcon" } +jay-wire-types = { version = "0.1.0", path = "crates/wire-types" } +jay-wire-buf = { version = "0.1.0", path = "crates/wire-buf" } +jay-tree-types = { version = "0.1.0", path = "crates/tree-types" } +jay-eventfd-cache = { version = "0.1.0", path = "crates/eventfd-cache" } +jay-wheel = { version = "0.1.0", path = "crates/wheel" } +jay-cpu-worker = { version = "0.1.0", path = "crates/cpu-worker" } +jay-sighand = { version = "0.1.0", path = "crates/sighand" } +jay-pr-caps = { version = "0.1.0", path = "crates/pr-caps" } +jay-bugs = { version = "0.1.0", path = "crates/bugs" } +jay-logger = { version = "0.1.0", path = "crates/logger" } +jay-video-types = { version = "0.1.0", path = "crates/video-types" } +jay-output-types = { version = "0.1.0", path = "crates/output-types" } +jay-input-types = { version = "0.1.0", path = "crates/input-types" } +jay-keyboard = { version = "0.1.0", path = "crates/keyboard" } +jay-gfx-types = { version = "0.1.0", path = "crates/gfx-types" } +jay-theme = { version = "0.1.0", path = "crates/theme" } +jay-clientmem = { version = "0.1.0", path = "crates/clientmem" } +jay-allocator = { version = "0.1.0", path = "crates/allocator" } +jay-output-schedule = { version = "0.1.0", path = "crates/output-schedule" } +jay-drm-feedback = { version = "0.1.0", path = "crates/drm-feedback" } +jay-udmabuf = { version = "0.1.0", path = "crates/udmabuf" } +jay-damage = { version = "0.1.0", path = "crates/damage" } +jay-pango = { version = "0.1.0", path = "crates/pango" } +jay-libinput = { version = "0.1.0", path = "crates/libinput" } uapi = "0.2.13" thiserror = "2.0.11" diff --git a/book/AGENTS.md b/book/AGENTS.md index 85e88261..8b5a0051 100644 --- a/book/AGENTS.md +++ b/book/AGENTS.md @@ -27,14 +27,14 @@ The table of contents is `SUMMARY.md`. Key chapter-to-topic mapping: | File | What it tells you | |------|-------------------| -| `toml-spec/spec/spec.yaml` | **Canonical** TOML config spec: every key, action, match criterion, type | -| `toml-config/src/default-config.toml` | Built-in default config (keybindings, startup actions) | -| `toml-config/src/config/parsers/action.rs` | Action parser — see which `type` strings are accepted | -| `toml-config/src/lib.rs` | Action dispatch — `window_or_seat!` macro shows which actions work in window rules | +| `crates/toml-spec/spec/spec.yaml` | **Canonical** TOML config spec: every key, action, match criterion, type | +| `crates/toml-config/src/default-config.toml` | Built-in default config (keybindings, startup actions) | +| `crates/toml-config/src/config/parsers/action.rs` | Action parser — see which `type` strings are accepted | +| `crates/toml-config/src/lib.rs` | Action dispatch — `window_or_seat!` macro shows which actions work in window rules | | `src/config/handler.rs` | Config handler; `update_capabilities` shows capability replacement semantics | | `src/cli/*.rs` | CLI subcommands (clap definitions) | | `src/control_center/cc_*.rs` | Control center pane implementations (verify field names/ordering here) | -| `toml-config/src/config/parsers/exec.rs` | Exec parser (string, array, or table forms) | +| `crates/toml-config/src/config/parsers/exec.rs` | Exec parser (string, array, or table forms) | ### Known spec.yaml bugs @@ -81,7 +81,7 @@ The table of contents is `SUMMARY.md`. Key chapter-to-topic mapping: - **Definition lists** for two-column term/description. Tables only for 3+ data columns. - **TOML formatting:** multiline with trailing commas, 4-space indent. - **Examples:** practical, not abstract. Link to - [spec.generated.md](https://github.com/mahkoh/jay/blob/master/toml-spec/spec/spec.generated.md) + [spec.generated.md](https://github.com/mahkoh/jay/blob/master/crates/toml-spec/spec/spec.generated.md) for exhaustive listings. - **Control center docs:** verify field names, ordering, and conditional visibility against `cc_*.rs` source files. Labels must match exactly. @@ -91,10 +91,10 @@ The table of contents is `SUMMARY.md`. Key chapter-to-topic mapping: ### Documenting a new action 1. Read `git diff` for the commit introducing the action. Key files: - - `toml-spec/spec/spec.yaml` — spec entry (description, fields, examples) - - `toml-config/src/config/parsers/action.rs` — parser (field names, types, defaults) - - `toml-config/src/lib.rs` — dispatch (check if `window_or_seat!` is used) - - `jay-config/src/input.rs` and/or `jay-config/src/window.rs` — Rust API + - `crates/toml-spec/spec/spec.yaml` — spec entry (description, fields, examples) + - `crates/toml-config/src/config/parsers/action.rs` — parser (field names, types, defaults) + - `crates/toml-config/src/lib.rs` — dispatch (check if `window_or_seat!` is used) + - `crates/jay-config/src/input.rs` and/or `crates/jay-config/src/window.rs` — Rust API 2. Edit `book/src/configuration/shortcuts.md`: - **Simple actions** (no fields): add to the appropriate list in the @@ -110,7 +110,7 @@ The table of contents is `SUMMARY.md`. Key chapter-to-topic mapping: ### Documenting a new config field -1. Read `toml-spec/spec/spec.yaml` for the field definition. +1. Read `crates/toml-spec/spec/spec.yaml` for the field definition. 2. Identify which book chapter covers that config section (see table above). 3. Add the field with a definition-list entry or example, matching the existing style of that chapter. diff --git a/algorithms/Cargo.toml b/crates/algorithms/Cargo.toml similarity index 100% rename from algorithms/Cargo.toml rename to crates/algorithms/Cargo.toml diff --git a/algorithms/src/lib.rs b/crates/algorithms/src/lib.rs similarity index 100% rename from algorithms/src/lib.rs rename to crates/algorithms/src/lib.rs diff --git a/algorithms/src/qoi.rs b/crates/algorithms/src/qoi.rs similarity index 100% rename from algorithms/src/qoi.rs rename to crates/algorithms/src/qoi.rs diff --git a/algorithms/src/rect.rs b/crates/algorithms/src/rect.rs similarity index 100% rename from algorithms/src/rect.rs rename to crates/algorithms/src/rect.rs diff --git a/algorithms/src/rect/region.rs b/crates/algorithms/src/rect/region.rs similarity index 100% rename from algorithms/src/rect/region.rs rename to crates/algorithms/src/rect/region.rs diff --git a/algorithms/src/windows.rs b/crates/algorithms/src/windows.rs similarity index 100% rename from algorithms/src/windows.rs rename to crates/algorithms/src/windows.rs diff --git a/allocator/Cargo.toml b/crates/allocator/Cargo.toml similarity index 100% rename from allocator/Cargo.toml rename to crates/allocator/Cargo.toml diff --git a/allocator/src/lib.rs b/crates/allocator/src/lib.rs similarity index 100% rename from allocator/src/lib.rs rename to crates/allocator/src/lib.rs diff --git a/async-engine/Cargo.toml b/crates/async-engine/Cargo.toml similarity index 100% rename from async-engine/Cargo.toml rename to crates/async-engine/Cargo.toml diff --git a/async-engine/src/ae_task.rs b/crates/async-engine/src/ae_task.rs similarity index 100% rename from async-engine/src/ae_task.rs rename to crates/async-engine/src/ae_task.rs diff --git a/async-engine/src/ae_yield.rs b/crates/async-engine/src/ae_yield.rs similarity index 100% rename from async-engine/src/ae_yield.rs rename to crates/async-engine/src/ae_yield.rs diff --git a/async-engine/src/lib.rs b/crates/async-engine/src/lib.rs similarity index 100% rename from async-engine/src/lib.rs rename to crates/async-engine/src/lib.rs diff --git a/async-engine/src/run_toplevel.rs b/crates/async-engine/src/run_toplevel.rs similarity index 100% rename from async-engine/src/run_toplevel.rs rename to crates/async-engine/src/run_toplevel.rs diff --git a/bufio/Cargo.toml b/crates/bufio/Cargo.toml similarity index 100% rename from bufio/Cargo.toml rename to crates/bufio/Cargo.toml diff --git a/bufio/src/lib.rs b/crates/bufio/src/lib.rs similarity index 100% rename from bufio/src/lib.rs rename to crates/bufio/src/lib.rs diff --git a/bugs/Cargo.toml b/crates/bugs/Cargo.toml similarity index 100% rename from bugs/Cargo.toml rename to crates/bugs/Cargo.toml diff --git a/bugs/src/lib.rs b/crates/bugs/src/lib.rs similarity index 100% rename from bugs/src/lib.rs rename to crates/bugs/src/lib.rs diff --git a/clientmem/Cargo.toml b/crates/clientmem/Cargo.toml similarity index 100% rename from clientmem/Cargo.toml rename to crates/clientmem/Cargo.toml diff --git a/clientmem/src/lib.rs b/crates/clientmem/src/lib.rs similarity index 100% rename from clientmem/src/lib.rs rename to crates/clientmem/src/lib.rs diff --git a/cmm/Cargo.toml b/crates/cmm/Cargo.toml similarity index 100% rename from cmm/Cargo.toml rename to crates/cmm/Cargo.toml diff --git a/cmm/src/cmm_description.rs b/crates/cmm/src/cmm_description.rs similarity index 100% rename from cmm/src/cmm_description.rs rename to crates/cmm/src/cmm_description.rs diff --git a/cmm/src/cmm_eotf.rs b/crates/cmm/src/cmm_eotf.rs similarity index 100% rename from cmm/src/cmm_eotf.rs rename to crates/cmm/src/cmm_eotf.rs diff --git a/cmm/src/cmm_luminance.rs b/crates/cmm/src/cmm_luminance.rs similarity index 100% rename from cmm/src/cmm_luminance.rs rename to crates/cmm/src/cmm_luminance.rs diff --git a/cmm/src/cmm_manager.rs b/crates/cmm/src/cmm_manager.rs similarity index 100% rename from cmm/src/cmm_manager.rs rename to crates/cmm/src/cmm_manager.rs diff --git a/cmm/src/cmm_primaries.rs b/crates/cmm/src/cmm_primaries.rs similarity index 100% rename from cmm/src/cmm_primaries.rs rename to crates/cmm/src/cmm_primaries.rs diff --git a/cmm/src/cmm_render_intent.rs b/crates/cmm/src/cmm_render_intent.rs similarity index 100% rename from cmm/src/cmm_render_intent.rs rename to crates/cmm/src/cmm_render_intent.rs diff --git a/cmm/src/cmm_tests.rs b/crates/cmm/src/cmm_tests.rs similarity index 100% rename from cmm/src/cmm_tests.rs rename to crates/cmm/src/cmm_tests.rs diff --git a/cmm/src/cmm_transform.rs b/crates/cmm/src/cmm_transform.rs similarity index 100% rename from cmm/src/cmm_transform.rs rename to crates/cmm/src/cmm_transform.rs diff --git a/cmm/src/lib.rs b/crates/cmm/src/lib.rs similarity index 100% rename from cmm/src/lib.rs rename to crates/cmm/src/lib.rs diff --git a/cpu-worker/Cargo.toml b/crates/cpu-worker/Cargo.toml similarity index 100% rename from cpu-worker/Cargo.toml rename to crates/cpu-worker/Cargo.toml diff --git a/cpu-worker/src/jobs.rs b/crates/cpu-worker/src/jobs.rs similarity index 100% rename from cpu-worker/src/jobs.rs rename to crates/cpu-worker/src/jobs.rs diff --git a/cpu-worker/src/jobs/img_copy.rs b/crates/cpu-worker/src/jobs/img_copy.rs similarity index 100% rename from cpu-worker/src/jobs/img_copy.rs rename to crates/cpu-worker/src/jobs/img_copy.rs diff --git a/cpu-worker/src/jobs/read_write.rs b/crates/cpu-worker/src/jobs/read_write.rs similarity index 100% rename from cpu-worker/src/jobs/read_write.rs rename to crates/cpu-worker/src/jobs/read_write.rs diff --git a/cpu-worker/src/lib.rs b/crates/cpu-worker/src/lib.rs similarity index 100% rename from cpu-worker/src/lib.rs rename to crates/cpu-worker/src/lib.rs diff --git a/cpu-worker/src/tests.rs b/crates/cpu-worker/src/tests.rs similarity index 100% rename from cpu-worker/src/tests.rs rename to crates/cpu-worker/src/tests.rs diff --git a/criteria/Cargo.toml b/crates/criteria/Cargo.toml similarity index 100% rename from criteria/Cargo.toml rename to crates/criteria/Cargo.toml diff --git a/criteria/src/crit_graph.rs b/crates/criteria/src/crit_graph.rs similarity index 100% rename from criteria/src/crit_graph.rs rename to crates/criteria/src/crit_graph.rs diff --git a/criteria/src/crit_graph/crit_downstream.rs b/crates/criteria/src/crit_graph/crit_downstream.rs similarity index 100% rename from criteria/src/crit_graph/crit_downstream.rs rename to crates/criteria/src/crit_graph/crit_downstream.rs diff --git a/criteria/src/crit_graph/crit_middle.rs b/crates/criteria/src/crit_graph/crit_middle.rs similarity index 100% rename from criteria/src/crit_graph/crit_middle.rs rename to crates/criteria/src/crit_graph/crit_middle.rs diff --git a/criteria/src/crit_graph/crit_root.rs b/crates/criteria/src/crit_graph/crit_root.rs similarity index 100% rename from criteria/src/crit_graph/crit_root.rs rename to crates/criteria/src/crit_graph/crit_root.rs diff --git a/criteria/src/crit_graph/crit_target.rs b/crates/criteria/src/crit_graph/crit_target.rs similarity index 100% rename from criteria/src/crit_graph/crit_target.rs rename to crates/criteria/src/crit_graph/crit_target.rs diff --git a/criteria/src/crit_graph/crit_upstream.rs b/crates/criteria/src/crit_graph/crit_upstream.rs similarity index 100% rename from criteria/src/crit_graph/crit_upstream.rs rename to crates/criteria/src/crit_graph/crit_upstream.rs diff --git a/criteria/src/crit_leaf.rs b/crates/criteria/src/crit_leaf.rs similarity index 100% rename from criteria/src/crit_leaf.rs rename to crates/criteria/src/crit_leaf.rs diff --git a/criteria/src/crit_matchers.rs b/crates/criteria/src/crit_matchers.rs similarity index 100% rename from criteria/src/crit_matchers.rs rename to crates/criteria/src/crit_matchers.rs diff --git a/criteria/src/crit_matchers/critm_any_or_all.rs b/crates/criteria/src/crit_matchers/critm_any_or_all.rs similarity index 100% rename from criteria/src/crit_matchers/critm_any_or_all.rs rename to crates/criteria/src/crit_matchers/critm_any_or_all.rs diff --git a/criteria/src/crit_matchers/critm_constant.rs b/crates/criteria/src/crit_matchers/critm_constant.rs similarity index 100% rename from criteria/src/crit_matchers/critm_constant.rs rename to crates/criteria/src/crit_matchers/critm_constant.rs diff --git a/criteria/src/crit_matchers/critm_exactly.rs b/crates/criteria/src/crit_matchers/critm_exactly.rs similarity index 100% rename from criteria/src/crit_matchers/critm_exactly.rs rename to crates/criteria/src/crit_matchers/critm_exactly.rs diff --git a/criteria/src/crit_matchers/critm_string.rs b/crates/criteria/src/crit_matchers/critm_string.rs similarity index 100% rename from criteria/src/crit_matchers/critm_string.rs rename to crates/criteria/src/crit_matchers/critm_string.rs diff --git a/criteria/src/crit_per_target_data.rs b/crates/criteria/src/crit_per_target_data.rs similarity index 100% rename from criteria/src/crit_per_target_data.rs rename to crates/criteria/src/crit_per_target_data.rs diff --git a/criteria/src/lib.rs b/crates/criteria/src/lib.rs similarity index 100% rename from criteria/src/lib.rs rename to crates/criteria/src/lib.rs diff --git a/damage/Cargo.toml b/crates/damage/Cargo.toml similarity index 100% rename from damage/Cargo.toml rename to crates/damage/Cargo.toml diff --git a/damage/src/lib.rs b/crates/damage/src/lib.rs similarity index 100% rename from damage/src/lib.rs rename to crates/damage/src/lib.rs diff --git a/dbus-core/Cargo.toml b/crates/dbus-core/Cargo.toml similarity index 100% rename from dbus-core/Cargo.toml rename to crates/dbus-core/Cargo.toml diff --git a/dbus-core/src/dynamic_type.rs b/crates/dbus-core/src/dynamic_type.rs similarity index 100% rename from dbus-core/src/dynamic_type.rs rename to crates/dbus-core/src/dynamic_type.rs diff --git a/dbus-core/src/formatter.rs b/crates/dbus-core/src/formatter.rs similarity index 100% rename from dbus-core/src/formatter.rs rename to crates/dbus-core/src/formatter.rs diff --git a/dbus-core/src/lib.rs b/crates/dbus-core/src/lib.rs similarity index 100% rename from dbus-core/src/lib.rs rename to crates/dbus-core/src/lib.rs diff --git a/dbus-core/src/parser.rs b/crates/dbus-core/src/parser.rs similarity index 100% rename from dbus-core/src/parser.rs rename to crates/dbus-core/src/parser.rs diff --git a/dbus-core/src/property.rs b/crates/dbus-core/src/property.rs similarity index 100% rename from dbus-core/src/property.rs rename to crates/dbus-core/src/property.rs diff --git a/dbus-core/src/types.rs b/crates/dbus-core/src/types.rs similarity index 100% rename from dbus-core/src/types.rs rename to crates/dbus-core/src/types.rs diff --git a/drm-feedback/Cargo.toml b/crates/drm-feedback/Cargo.toml similarity index 100% rename from drm-feedback/Cargo.toml rename to crates/drm-feedback/Cargo.toml diff --git a/drm-feedback/src/lib.rs b/crates/drm-feedback/src/lib.rs similarity index 100% rename from drm-feedback/src/lib.rs rename to crates/drm-feedback/src/lib.rs diff --git a/edid/Cargo.toml b/crates/edid/Cargo.toml similarity index 100% rename from edid/Cargo.toml rename to crates/edid/Cargo.toml diff --git a/edid/src/lib.rs b/crates/edid/src/lib.rs similarity index 100% rename from edid/src/lib.rs rename to crates/edid/src/lib.rs diff --git a/eventfd-cache/Cargo.toml b/crates/eventfd-cache/Cargo.toml similarity index 100% rename from eventfd-cache/Cargo.toml rename to crates/eventfd-cache/Cargo.toml diff --git a/eventfd-cache/src/lib.rs b/crates/eventfd-cache/src/lib.rs similarity index 100% rename from eventfd-cache/src/lib.rs rename to crates/eventfd-cache/src/lib.rs diff --git a/eventfd-cache/src/tests.rs b/crates/eventfd-cache/src/tests.rs similarity index 100% rename from eventfd-cache/src/tests.rs rename to crates/eventfd-cache/src/tests.rs diff --git a/formats/Cargo.toml b/crates/formats/Cargo.toml similarity index 100% rename from formats/Cargo.toml rename to crates/formats/Cargo.toml diff --git a/formats/src/lib.rs b/crates/formats/src/lib.rs similarity index 100% rename from formats/src/lib.rs rename to crates/formats/src/lib.rs diff --git a/geometry/Cargo.toml b/crates/geometry/Cargo.toml similarity index 100% rename from geometry/Cargo.toml rename to crates/geometry/Cargo.toml diff --git a/geometry/src/lib.rs b/crates/geometry/src/lib.rs similarity index 100% rename from geometry/src/lib.rs rename to crates/geometry/src/lib.rs diff --git a/geometry/src/region.rs b/crates/geometry/src/region.rs similarity index 100% rename from geometry/src/region.rs rename to crates/geometry/src/region.rs diff --git a/geometry/src/tests.rs b/crates/geometry/src/tests.rs similarity index 100% rename from geometry/src/tests.rs rename to crates/geometry/src/tests.rs diff --git a/gfx-types/Cargo.toml b/crates/gfx-types/Cargo.toml similarity index 100% rename from gfx-types/Cargo.toml rename to crates/gfx-types/Cargo.toml diff --git a/gfx-types/src/lib.rs b/crates/gfx-types/src/lib.rs similarity index 100% rename from gfx-types/src/lib.rs rename to crates/gfx-types/src/lib.rs diff --git a/input-types/Cargo.toml b/crates/input-types/Cargo.toml similarity index 100% rename from input-types/Cargo.toml rename to crates/input-types/Cargo.toml diff --git a/input-types/src/lib.rs b/crates/input-types/src/lib.rs similarity index 100% rename from input-types/src/lib.rs rename to crates/input-types/src/lib.rs diff --git a/io-uring/Cargo.toml b/crates/io-uring/Cargo.toml similarity index 100% rename from io-uring/Cargo.toml rename to crates/io-uring/Cargo.toml diff --git a/io-uring/src/debounce.rs b/crates/io-uring/src/debounce.rs similarity index 100% rename from io-uring/src/debounce.rs rename to crates/io-uring/src/debounce.rs diff --git a/io-uring/src/lib.rs b/crates/io-uring/src/lib.rs similarity index 100% rename from io-uring/src/lib.rs rename to crates/io-uring/src/lib.rs diff --git a/io-uring/src/line_logger.rs b/crates/io-uring/src/line_logger.rs similarity index 100% rename from io-uring/src/line_logger.rs rename to crates/io-uring/src/line_logger.rs diff --git a/io-uring/src/object_drop_queue.rs b/crates/io-uring/src/object_drop_queue.rs similarity index 100% rename from io-uring/src/object_drop_queue.rs rename to crates/io-uring/src/object_drop_queue.rs diff --git a/io-uring/src/ops.rs b/crates/io-uring/src/ops.rs similarity index 100% rename from io-uring/src/ops.rs rename to crates/io-uring/src/ops.rs diff --git a/io-uring/src/ops/accept.rs b/crates/io-uring/src/ops/accept.rs similarity index 100% rename from io-uring/src/ops/accept.rs rename to crates/io-uring/src/ops/accept.rs diff --git a/io-uring/src/ops/async_cancel.rs b/crates/io-uring/src/ops/async_cancel.rs similarity index 100% rename from io-uring/src/ops/async_cancel.rs rename to crates/io-uring/src/ops/async_cancel.rs diff --git a/io-uring/src/ops/connect.rs b/crates/io-uring/src/ops/connect.rs similarity index 100% rename from io-uring/src/ops/connect.rs rename to crates/io-uring/src/ops/connect.rs diff --git a/io-uring/src/ops/poll.rs b/crates/io-uring/src/ops/poll.rs similarity index 100% rename from io-uring/src/ops/poll.rs rename to crates/io-uring/src/ops/poll.rs diff --git a/io-uring/src/ops/poll_external.rs b/crates/io-uring/src/ops/poll_external.rs similarity index 100% rename from io-uring/src/ops/poll_external.rs rename to crates/io-uring/src/ops/poll_external.rs diff --git a/io-uring/src/ops/read_write.rs b/crates/io-uring/src/ops/read_write.rs similarity index 100% rename from io-uring/src/ops/read_write.rs rename to crates/io-uring/src/ops/read_write.rs diff --git a/io-uring/src/ops/read_write_no_cancel.rs b/crates/io-uring/src/ops/read_write_no_cancel.rs similarity index 100% rename from io-uring/src/ops/read_write_no_cancel.rs rename to crates/io-uring/src/ops/read_write_no_cancel.rs diff --git a/io-uring/src/ops/read_write_no_cancel/tests.rs b/crates/io-uring/src/ops/read_write_no_cancel/tests.rs similarity index 100% rename from io-uring/src/ops/read_write_no_cancel/tests.rs rename to crates/io-uring/src/ops/read_write_no_cancel/tests.rs diff --git a/io-uring/src/ops/recvmsg.rs b/crates/io-uring/src/ops/recvmsg.rs similarity index 100% rename from io-uring/src/ops/recvmsg.rs rename to crates/io-uring/src/ops/recvmsg.rs diff --git a/io-uring/src/ops/sendmsg.rs b/crates/io-uring/src/ops/sendmsg.rs similarity index 100% rename from io-uring/src/ops/sendmsg.rs rename to crates/io-uring/src/ops/sendmsg.rs diff --git a/io-uring/src/ops/timeout.rs b/crates/io-uring/src/ops/timeout.rs similarity index 100% rename from io-uring/src/ops/timeout.rs rename to crates/io-uring/src/ops/timeout.rs diff --git a/io-uring/src/ops/timeout_external.rs b/crates/io-uring/src/ops/timeout_external.rs similarity index 100% rename from io-uring/src/ops/timeout_external.rs rename to crates/io-uring/src/ops/timeout_external.rs diff --git a/io-uring/src/ops/timeout_link.rs b/crates/io-uring/src/ops/timeout_link.rs similarity index 100% rename from io-uring/src/ops/timeout_link.rs rename to crates/io-uring/src/ops/timeout_link.rs diff --git a/io-uring/src/pending_result.rs b/crates/io-uring/src/pending_result.rs similarity index 100% rename from io-uring/src/pending_result.rs rename to crates/io-uring/src/pending_result.rs diff --git a/io-uring/src/sys.rs b/crates/io-uring/src/sys.rs similarity index 100% rename from io-uring/src/sys.rs rename to crates/io-uring/src/sys.rs diff --git a/io-uring/src/timer.rs b/crates/io-uring/src/timer.rs similarity index 100% rename from io-uring/src/timer.rs rename to crates/io-uring/src/timer.rs diff --git a/jay-config-schema/Cargo.toml b/crates/jay-config-schema/Cargo.toml similarity index 100% rename from jay-config-schema/Cargo.toml rename to crates/jay-config-schema/Cargo.toml diff --git a/jay-config-schema/src/action.rs b/crates/jay-config-schema/src/action.rs similarity index 100% rename from jay-config-schema/src/action.rs rename to crates/jay-config-schema/src/action.rs diff --git a/jay-config-schema/src/animations.rs b/crates/jay-config-schema/src/animations.rs similarity index 100% rename from jay-config-schema/src/animations.rs rename to crates/jay-config-schema/src/animations.rs diff --git a/jay-config-schema/src/command.rs b/crates/jay-config-schema/src/command.rs similarity index 100% rename from jay-config-schema/src/command.rs rename to crates/jay-config-schema/src/command.rs diff --git a/jay-config-schema/src/input.rs b/crates/jay-config-schema/src/input.rs similarity index 100% rename from jay-config-schema/src/input.rs rename to crates/jay-config-schema/src/input.rs diff --git a/jay-config-schema/src/keymap.rs b/crates/jay-config-schema/src/keymap.rs similarity index 100% rename from jay-config-schema/src/keymap.rs rename to crates/jay-config-schema/src/keymap.rs diff --git a/jay-config-schema/src/lib.rs b/crates/jay-config-schema/src/lib.rs similarity index 100% rename from jay-config-schema/src/lib.rs rename to crates/jay-config-schema/src/lib.rs diff --git a/jay-config-schema/src/model.rs b/crates/jay-config-schema/src/model.rs similarity index 100% rename from jay-config-schema/src/model.rs rename to crates/jay-config-schema/src/model.rs diff --git a/jay-config-schema/src/options.rs b/crates/jay-config-schema/src/options.rs similarity index 100% rename from jay-config-schema/src/options.rs rename to crates/jay-config-schema/src/options.rs diff --git a/jay-config-schema/src/output.rs b/crates/jay-config-schema/src/output.rs similarity index 100% rename from jay-config-schema/src/output.rs rename to crates/jay-config-schema/src/output.rs diff --git a/jay-config-schema/src/rules.rs b/crates/jay-config-schema/src/rules.rs similarity index 100% rename from jay-config-schema/src/rules.rs rename to crates/jay-config-schema/src/rules.rs diff --git a/jay-config-schema/src/theme.rs b/crates/jay-config-schema/src/theme.rs similarity index 100% rename from jay-config-schema/src/theme.rs rename to crates/jay-config-schema/src/theme.rs diff --git a/jay-config/Cargo.toml b/crates/jay-config/Cargo.toml similarity index 100% rename from jay-config/Cargo.toml rename to crates/jay-config/Cargo.toml diff --git a/jay-config/src/_private.rs b/crates/jay-config/src/_private.rs similarity index 100% rename from jay-config/src/_private.rs rename to crates/jay-config/src/_private.rs diff --git a/jay-config/src/_private/client.rs b/crates/jay-config/src/_private/client.rs similarity index 100% rename from jay-config/src/_private/client.rs rename to crates/jay-config/src/_private/client.rs diff --git a/jay-config/src/_private/logging.rs b/crates/jay-config/src/_private/logging.rs similarity index 100% rename from jay-config/src/_private/logging.rs rename to crates/jay-config/src/_private/logging.rs diff --git a/jay-config/src/client.rs b/crates/jay-config/src/client.rs similarity index 100% rename from jay-config/src/client.rs rename to crates/jay-config/src/client.rs diff --git a/jay-config/src/embedded.rs b/crates/jay-config/src/embedded.rs similarity index 100% rename from jay-config/src/embedded.rs rename to crates/jay-config/src/embedded.rs diff --git a/jay-config/src/exec.rs b/crates/jay-config/src/exec.rs similarity index 100% rename from jay-config/src/exec.rs rename to crates/jay-config/src/exec.rs diff --git a/jay-config/src/input.rs b/crates/jay-config/src/input.rs similarity index 100% rename from jay-config/src/input.rs rename to crates/jay-config/src/input.rs diff --git a/jay-config/src/input/acceleration.rs b/crates/jay-config/src/input/acceleration.rs similarity index 100% rename from jay-config/src/input/acceleration.rs rename to crates/jay-config/src/input/acceleration.rs diff --git a/jay-config/src/input/capability.rs b/crates/jay-config/src/input/capability.rs similarity index 100% rename from jay-config/src/input/capability.rs rename to crates/jay-config/src/input/capability.rs diff --git a/jay-config/src/input/clickmethod.rs b/crates/jay-config/src/input/clickmethod.rs similarity index 100% rename from jay-config/src/input/clickmethod.rs rename to crates/jay-config/src/input/clickmethod.rs diff --git a/jay-config/src/io.rs b/crates/jay-config/src/io.rs similarity index 100% rename from jay-config/src/io.rs rename to crates/jay-config/src/io.rs diff --git a/jay-config/src/keyboard/mod.rs b/crates/jay-config/src/keyboard/mod.rs similarity index 100% rename from jay-config/src/keyboard/mod.rs rename to crates/jay-config/src/keyboard/mod.rs diff --git a/jay-config/src/keyboard/mods.rs b/crates/jay-config/src/keyboard/mods.rs similarity index 100% rename from jay-config/src/keyboard/mods.rs rename to crates/jay-config/src/keyboard/mods.rs diff --git a/jay-config/src/keyboard/syms.rs b/crates/jay-config/src/keyboard/syms.rs similarity index 100% rename from jay-config/src/keyboard/syms.rs rename to crates/jay-config/src/keyboard/syms.rs diff --git a/jay-config/src/lib.rs b/crates/jay-config/src/lib.rs similarity index 100% rename from jay-config/src/lib.rs rename to crates/jay-config/src/lib.rs diff --git a/jay-config/src/logging.rs b/crates/jay-config/src/logging.rs similarity index 100% rename from jay-config/src/logging.rs rename to crates/jay-config/src/logging.rs diff --git a/jay-config/src/macros.rs b/crates/jay-config/src/macros.rs similarity index 100% rename from jay-config/src/macros.rs rename to crates/jay-config/src/macros.rs diff --git a/jay-config/src/protocol.rs b/crates/jay-config/src/protocol.rs similarity index 100% rename from jay-config/src/protocol.rs rename to crates/jay-config/src/protocol.rs diff --git a/jay-config/src/status.rs b/crates/jay-config/src/status.rs similarity index 100% rename from jay-config/src/status.rs rename to crates/jay-config/src/status.rs diff --git a/jay-config/src/tasks.rs b/crates/jay-config/src/tasks.rs similarity index 100% rename from jay-config/src/tasks.rs rename to crates/jay-config/src/tasks.rs diff --git a/jay-config/src/theme.rs b/crates/jay-config/src/theme.rs similarity index 100% rename from jay-config/src/theme.rs rename to crates/jay-config/src/theme.rs diff --git a/jay-config/src/timer.rs b/crates/jay-config/src/timer.rs similarity index 100% rename from jay-config/src/timer.rs rename to crates/jay-config/src/timer.rs diff --git a/jay-config/src/video.rs b/crates/jay-config/src/video.rs similarity index 100% rename from jay-config/src/video.rs rename to crates/jay-config/src/video.rs diff --git a/jay-config/src/window.rs b/crates/jay-config/src/window.rs similarity index 100% rename from jay-config/src/window.rs rename to crates/jay-config/src/window.rs diff --git a/jay-config/src/workspace.rs b/crates/jay-config/src/workspace.rs similarity index 100% rename from jay-config/src/workspace.rs rename to crates/jay-config/src/workspace.rs diff --git a/jay-config/src/xwayland.rs b/crates/jay-config/src/xwayland.rs similarity index 100% rename from jay-config/src/xwayland.rs rename to crates/jay-config/src/xwayland.rs diff --git a/keyboard/Cargo.toml b/crates/keyboard/Cargo.toml similarity index 100% rename from keyboard/Cargo.toml rename to crates/keyboard/Cargo.toml diff --git a/keyboard/src/lib.rs b/crates/keyboard/src/lib.rs similarity index 100% rename from keyboard/src/lib.rs rename to crates/keyboard/src/lib.rs diff --git a/layout-animation/Cargo.toml b/crates/layout-animation/Cargo.toml similarity index 100% rename from layout-animation/Cargo.toml rename to crates/layout-animation/Cargo.toml diff --git a/layout-animation/src/lib.rs b/crates/layout-animation/src/lib.rs similarity index 100% rename from layout-animation/src/lib.rs rename to crates/layout-animation/src/lib.rs diff --git a/libinput/Cargo.toml b/crates/libinput/Cargo.toml similarity index 100% rename from libinput/Cargo.toml rename to crates/libinput/Cargo.toml diff --git a/libinput/build.rs b/crates/libinput/build.rs similarity index 100% rename from libinput/build.rs rename to crates/libinput/build.rs diff --git a/libinput/src/consts.rs b/crates/libinput/src/consts.rs similarity index 100% rename from libinput/src/consts.rs rename to crates/libinput/src/consts.rs diff --git a/libinput/src/device.rs b/crates/libinput/src/device.rs similarity index 100% rename from libinput/src/device.rs rename to crates/libinput/src/device.rs diff --git a/libinput/src/event.rs b/crates/libinput/src/event.rs similarity index 100% rename from libinput/src/event.rs rename to crates/libinput/src/event.rs diff --git a/libinput/src/lib.rs b/crates/libinput/src/lib.rs similarity index 100% rename from libinput/src/lib.rs rename to crates/libinput/src/lib.rs diff --git a/libinput/src/sys.rs b/crates/libinput/src/sys.rs similarity index 100% rename from libinput/src/sys.rs rename to crates/libinput/src/sys.rs diff --git a/logger/Cargo.toml b/crates/logger/Cargo.toml similarity index 100% rename from logger/Cargo.toml rename to crates/logger/Cargo.toml diff --git a/logger/src/lib.rs b/crates/logger/src/lib.rs similarity index 100% rename from logger/src/lib.rs rename to crates/logger/src/lib.rs diff --git a/output-schedule/Cargo.toml b/crates/output-schedule/Cargo.toml similarity index 100% rename from output-schedule/Cargo.toml rename to crates/output-schedule/Cargo.toml diff --git a/output-schedule/src/lib.rs b/crates/output-schedule/src/lib.rs similarity index 100% rename from output-schedule/src/lib.rs rename to crates/output-schedule/src/lib.rs diff --git a/output-types/Cargo.toml b/crates/output-types/Cargo.toml similarity index 100% rename from output-types/Cargo.toml rename to crates/output-types/Cargo.toml diff --git a/output-types/src/lib.rs b/crates/output-types/src/lib.rs similarity index 100% rename from output-types/src/lib.rs rename to crates/output-types/src/lib.rs diff --git a/pango/Cargo.toml b/crates/pango/Cargo.toml similarity index 100% rename from pango/Cargo.toml rename to crates/pango/Cargo.toml diff --git a/pango/build.rs b/crates/pango/build.rs similarity index 100% rename from pango/build.rs rename to crates/pango/build.rs diff --git a/pango/src/consts.rs b/crates/pango/src/consts.rs similarity index 100% rename from pango/src/consts.rs rename to crates/pango/src/consts.rs diff --git a/pango/src/lib.rs b/crates/pango/src/lib.rs similarity index 100% rename from pango/src/lib.rs rename to crates/pango/src/lib.rs diff --git a/pr-caps/Cargo.toml b/crates/pr-caps/Cargo.toml similarity index 100% rename from pr-caps/Cargo.toml rename to crates/pr-caps/Cargo.toml diff --git a/pr-caps/src/lib.rs b/crates/pr-caps/src/lib.rs similarity index 100% rename from pr-caps/src/lib.rs rename to crates/pr-caps/src/lib.rs diff --git a/sighand/Cargo.toml b/crates/sighand/Cargo.toml similarity index 100% rename from sighand/Cargo.toml rename to crates/sighand/Cargo.toml diff --git a/sighand/src/lib.rs b/crates/sighand/src/lib.rs similarity index 100% rename from sighand/src/lib.rs rename to crates/sighand/src/lib.rs diff --git a/theme/Cargo.toml b/crates/theme/Cargo.toml similarity index 100% rename from theme/Cargo.toml rename to crates/theme/Cargo.toml diff --git a/theme/src/lib.rs b/crates/theme/src/lib.rs similarity index 100% rename from theme/src/lib.rs rename to crates/theme/src/lib.rs diff --git a/time/Cargo.toml b/crates/time/Cargo.toml similarity index 100% rename from time/Cargo.toml rename to crates/time/Cargo.toml diff --git a/time/src/lib.rs b/crates/time/src/lib.rs similarity index 100% rename from time/src/lib.rs rename to crates/time/src/lib.rs diff --git a/toml-config/Cargo.toml b/crates/toml-config/Cargo.toml similarity index 100% rename from toml-config/Cargo.toml rename to crates/toml-config/Cargo.toml diff --git a/toml-config/src/config.rs b/crates/toml-config/src/config.rs similarity index 100% rename from toml-config/src/config.rs rename to crates/toml-config/src/config.rs diff --git a/toml-config/src/config/context.rs b/crates/toml-config/src/config/context.rs similarity index 100% rename from toml-config/src/config/context.rs rename to crates/toml-config/src/config/context.rs diff --git a/toml-config/src/config/error.rs b/crates/toml-config/src/config/error.rs similarity index 100% rename from toml-config/src/config/error.rs rename to crates/toml-config/src/config/error.rs diff --git a/toml-config/src/config/extractor.rs b/crates/toml-config/src/config/extractor.rs similarity index 100% rename from toml-config/src/config/extractor.rs rename to crates/toml-config/src/config/extractor.rs diff --git a/toml-config/src/config/keycodes.rs b/crates/toml-config/src/config/keycodes.rs similarity index 100% rename from toml-config/src/config/keycodes.rs rename to crates/toml-config/src/config/keycodes.rs diff --git a/toml-config/src/config/parser.rs b/crates/toml-config/src/config/parser.rs similarity index 100% rename from toml-config/src/config/parser.rs rename to crates/toml-config/src/config/parser.rs diff --git a/toml-config/src/config/parsers.rs b/crates/toml-config/src/config/parsers.rs similarity index 100% rename from toml-config/src/config/parsers.rs rename to crates/toml-config/src/config/parsers.rs diff --git a/toml-config/src/config/parsers/action.rs b/crates/toml-config/src/config/parsers/action.rs similarity index 100% rename from toml-config/src/config/parsers/action.rs rename to crates/toml-config/src/config/parsers/action.rs diff --git a/toml-config/src/config/parsers/actions.rs b/crates/toml-config/src/config/parsers/actions.rs similarity index 100% rename from toml-config/src/config/parsers/actions.rs rename to crates/toml-config/src/config/parsers/actions.rs diff --git a/toml-config/src/config/parsers/animations.rs b/crates/toml-config/src/config/parsers/animations.rs similarity index 100% rename from toml-config/src/config/parsers/animations.rs rename to crates/toml-config/src/config/parsers/animations.rs diff --git a/toml-config/src/config/parsers/clean_logs_older_than.rs b/crates/toml-config/src/config/parsers/clean_logs_older_than.rs similarity index 100% rename from toml-config/src/config/parsers/clean_logs_older_than.rs rename to crates/toml-config/src/config/parsers/clean_logs_older_than.rs diff --git a/toml-config/src/config/parsers/client_match.rs b/crates/toml-config/src/config/parsers/client_match.rs similarity index 100% rename from toml-config/src/config/parsers/client_match.rs rename to crates/toml-config/src/config/parsers/client_match.rs diff --git a/toml-config/src/config/parsers/client_rule.rs b/crates/toml-config/src/config/parsers/client_rule.rs similarity index 100% rename from toml-config/src/config/parsers/client_rule.rs rename to crates/toml-config/src/config/parsers/client_rule.rs diff --git a/toml-config/src/config/parsers/color.rs b/crates/toml-config/src/config/parsers/color.rs similarity index 100% rename from toml-config/src/config/parsers/color.rs rename to crates/toml-config/src/config/parsers/color.rs diff --git a/toml-config/src/config/parsers/color_management.rs b/crates/toml-config/src/config/parsers/color_management.rs similarity index 100% rename from toml-config/src/config/parsers/color_management.rs rename to crates/toml-config/src/config/parsers/color_management.rs diff --git a/toml-config/src/config/parsers/config.rs b/crates/toml-config/src/config/parsers/config.rs similarity index 100% rename from toml-config/src/config/parsers/config.rs rename to crates/toml-config/src/config/parsers/config.rs diff --git a/toml-config/src/config/parsers/connector.rs b/crates/toml-config/src/config/parsers/connector.rs similarity index 100% rename from toml-config/src/config/parsers/connector.rs rename to crates/toml-config/src/config/parsers/connector.rs diff --git a/toml-config/src/config/parsers/connector_match.rs b/crates/toml-config/src/config/parsers/connector_match.rs similarity index 100% rename from toml-config/src/config/parsers/connector_match.rs rename to crates/toml-config/src/config/parsers/connector_match.rs diff --git a/toml-config/src/config/parsers/content_type.rs b/crates/toml-config/src/config/parsers/content_type.rs similarity index 100% rename from toml-config/src/config/parsers/content_type.rs rename to crates/toml-config/src/config/parsers/content_type.rs diff --git a/toml-config/src/config/parsers/drm_device.rs b/crates/toml-config/src/config/parsers/drm_device.rs similarity index 100% rename from toml-config/src/config/parsers/drm_device.rs rename to crates/toml-config/src/config/parsers/drm_device.rs diff --git a/toml-config/src/config/parsers/drm_device_match.rs b/crates/toml-config/src/config/parsers/drm_device_match.rs similarity index 100% rename from toml-config/src/config/parsers/drm_device_match.rs rename to crates/toml-config/src/config/parsers/drm_device_match.rs diff --git a/toml-config/src/config/parsers/env.rs b/crates/toml-config/src/config/parsers/env.rs similarity index 100% rename from toml-config/src/config/parsers/env.rs rename to crates/toml-config/src/config/parsers/env.rs diff --git a/toml-config/src/config/parsers/exec.rs b/crates/toml-config/src/config/parsers/exec.rs similarity index 100% rename from toml-config/src/config/parsers/exec.rs rename to crates/toml-config/src/config/parsers/exec.rs diff --git a/toml-config/src/config/parsers/fallback_output_mode.rs b/crates/toml-config/src/config/parsers/fallback_output_mode.rs similarity index 100% rename from toml-config/src/config/parsers/fallback_output_mode.rs rename to crates/toml-config/src/config/parsers/fallback_output_mode.rs diff --git a/toml-config/src/config/parsers/float.rs b/crates/toml-config/src/config/parsers/float.rs similarity index 100% rename from toml-config/src/config/parsers/float.rs rename to crates/toml-config/src/config/parsers/float.rs diff --git a/toml-config/src/config/parsers/focus_history.rs b/crates/toml-config/src/config/parsers/focus_history.rs similarity index 100% rename from toml-config/src/config/parsers/focus_history.rs rename to crates/toml-config/src/config/parsers/focus_history.rs diff --git a/toml-config/src/config/parsers/format.rs b/crates/toml-config/src/config/parsers/format.rs similarity index 100% rename from toml-config/src/config/parsers/format.rs rename to crates/toml-config/src/config/parsers/format.rs diff --git a/toml-config/src/config/parsers/gfx_api.rs b/crates/toml-config/src/config/parsers/gfx_api.rs similarity index 100% rename from toml-config/src/config/parsers/gfx_api.rs rename to crates/toml-config/src/config/parsers/gfx_api.rs diff --git a/toml-config/src/config/parsers/idle.rs b/crates/toml-config/src/config/parsers/idle.rs similarity index 100% rename from toml-config/src/config/parsers/idle.rs rename to crates/toml-config/src/config/parsers/idle.rs diff --git a/toml-config/src/config/parsers/input.rs b/crates/toml-config/src/config/parsers/input.rs similarity index 100% rename from toml-config/src/config/parsers/input.rs rename to crates/toml-config/src/config/parsers/input.rs diff --git a/toml-config/src/config/parsers/input_match.rs b/crates/toml-config/src/config/parsers/input_match.rs similarity index 100% rename from toml-config/src/config/parsers/input_match.rs rename to crates/toml-config/src/config/parsers/input_match.rs diff --git a/toml-config/src/config/parsers/input_mode.rs b/crates/toml-config/src/config/parsers/input_mode.rs similarity index 100% rename from toml-config/src/config/parsers/input_mode.rs rename to crates/toml-config/src/config/parsers/input_mode.rs diff --git a/toml-config/src/config/parsers/keymap.rs b/crates/toml-config/src/config/parsers/keymap.rs similarity index 100% rename from toml-config/src/config/parsers/keymap.rs rename to crates/toml-config/src/config/parsers/keymap.rs diff --git a/toml-config/src/config/parsers/libei.rs b/crates/toml-config/src/config/parsers/libei.rs similarity index 100% rename from toml-config/src/config/parsers/libei.rs rename to crates/toml-config/src/config/parsers/libei.rs diff --git a/toml-config/src/config/parsers/log_level.rs b/crates/toml-config/src/config/parsers/log_level.rs similarity index 100% rename from toml-config/src/config/parsers/log_level.rs rename to crates/toml-config/src/config/parsers/log_level.rs diff --git a/toml-config/src/config/parsers/mark_id.rs b/crates/toml-config/src/config/parsers/mark_id.rs similarity index 100% rename from toml-config/src/config/parsers/mark_id.rs rename to crates/toml-config/src/config/parsers/mark_id.rs diff --git a/toml-config/src/config/parsers/mode.rs b/crates/toml-config/src/config/parsers/mode.rs similarity index 100% rename from toml-config/src/config/parsers/mode.rs rename to crates/toml-config/src/config/parsers/mode.rs diff --git a/toml-config/src/config/parsers/modified_keysym.rs b/crates/toml-config/src/config/parsers/modified_keysym.rs similarity index 100% rename from toml-config/src/config/parsers/modified_keysym.rs rename to crates/toml-config/src/config/parsers/modified_keysym.rs diff --git a/toml-config/src/config/parsers/output.rs b/crates/toml-config/src/config/parsers/output.rs similarity index 100% rename from toml-config/src/config/parsers/output.rs rename to crates/toml-config/src/config/parsers/output.rs diff --git a/toml-config/src/config/parsers/output_match.rs b/crates/toml-config/src/config/parsers/output_match.rs similarity index 100% rename from toml-config/src/config/parsers/output_match.rs rename to crates/toml-config/src/config/parsers/output_match.rs diff --git a/toml-config/src/config/parsers/repeat_rate.rs b/crates/toml-config/src/config/parsers/repeat_rate.rs similarity index 100% rename from toml-config/src/config/parsers/repeat_rate.rs rename to crates/toml-config/src/config/parsers/repeat_rate.rs diff --git a/toml-config/src/config/parsers/shortcuts.rs b/crates/toml-config/src/config/parsers/shortcuts.rs similarity index 100% rename from toml-config/src/config/parsers/shortcuts.rs rename to crates/toml-config/src/config/parsers/shortcuts.rs diff --git a/toml-config/src/config/parsers/simple_im.rs b/crates/toml-config/src/config/parsers/simple_im.rs similarity index 100% rename from toml-config/src/config/parsers/simple_im.rs rename to crates/toml-config/src/config/parsers/simple_im.rs diff --git a/toml-config/src/config/parsers/status.rs b/crates/toml-config/src/config/parsers/status.rs similarity index 100% rename from toml-config/src/config/parsers/status.rs rename to crates/toml-config/src/config/parsers/status.rs diff --git a/toml-config/src/config/parsers/tearing.rs b/crates/toml-config/src/config/parsers/tearing.rs similarity index 100% rename from toml-config/src/config/parsers/tearing.rs rename to crates/toml-config/src/config/parsers/tearing.rs diff --git a/toml-config/src/config/parsers/theme.rs b/crates/toml-config/src/config/parsers/theme.rs similarity index 100% rename from toml-config/src/config/parsers/theme.rs rename to crates/toml-config/src/config/parsers/theme.rs diff --git a/toml-config/src/config/parsers/tile_state.rs b/crates/toml-config/src/config/parsers/tile_state.rs similarity index 100% rename from toml-config/src/config/parsers/tile_state.rs rename to crates/toml-config/src/config/parsers/tile_state.rs diff --git a/toml-config/src/config/parsers/ui_drag.rs b/crates/toml-config/src/config/parsers/ui_drag.rs similarity index 100% rename from toml-config/src/config/parsers/ui_drag.rs rename to crates/toml-config/src/config/parsers/ui_drag.rs diff --git a/toml-config/src/config/parsers/vrr.rs b/crates/toml-config/src/config/parsers/vrr.rs similarity index 100% rename from toml-config/src/config/parsers/vrr.rs rename to crates/toml-config/src/config/parsers/vrr.rs diff --git a/toml-config/src/config/parsers/window_match.rs b/crates/toml-config/src/config/parsers/window_match.rs similarity index 100% rename from toml-config/src/config/parsers/window_match.rs rename to crates/toml-config/src/config/parsers/window_match.rs diff --git a/toml-config/src/config/parsers/window_rule.rs b/crates/toml-config/src/config/parsers/window_rule.rs similarity index 100% rename from toml-config/src/config/parsers/window_rule.rs rename to crates/toml-config/src/config/parsers/window_rule.rs diff --git a/toml-config/src/config/parsers/window_type.rs b/crates/toml-config/src/config/parsers/window_type.rs similarity index 100% rename from toml-config/src/config/parsers/window_type.rs rename to crates/toml-config/src/config/parsers/window_type.rs diff --git a/toml-config/src/config/parsers/workspace_display_order.rs b/crates/toml-config/src/config/parsers/workspace_display_order.rs similarity index 100% rename from toml-config/src/config/parsers/workspace_display_order.rs rename to crates/toml-config/src/config/parsers/workspace_display_order.rs diff --git a/toml-config/src/config/parsers/xwayland.rs b/crates/toml-config/src/config/parsers/xwayland.rs similarity index 100% rename from toml-config/src/config/parsers/xwayland.rs rename to crates/toml-config/src/config/parsers/xwayland.rs diff --git a/toml-config/src/config/spanned.rs b/crates/toml-config/src/config/spanned.rs similarity index 100% rename from toml-config/src/config/spanned.rs rename to crates/toml-config/src/config/spanned.rs diff --git a/toml-config/src/default-config.toml b/crates/toml-config/src/default-config.toml similarity index 100% rename from toml-config/src/default-config.toml rename to crates/toml-config/src/default-config.toml diff --git a/toml-config/src/lib.rs b/crates/toml-config/src/lib.rs similarity index 100% rename from toml-config/src/lib.rs rename to crates/toml-config/src/lib.rs diff --git a/toml-config/src/rules.rs b/crates/toml-config/src/rules.rs similarity index 100% rename from toml-config/src/rules.rs rename to crates/toml-config/src/rules.rs diff --git a/toml-config/src/shortcuts.rs b/crates/toml-config/src/shortcuts.rs similarity index 100% rename from toml-config/src/shortcuts.rs rename to crates/toml-config/src/shortcuts.rs diff --git a/toml-config/toml-test b/crates/toml-config/toml-test similarity index 100% rename from toml-config/toml-test rename to crates/toml-config/toml-test diff --git a/toml-parser/Cargo.toml b/crates/toml-parser/Cargo.toml similarity index 100% rename from toml-parser/Cargo.toml rename to crates/toml-parser/Cargo.toml diff --git a/toml-parser/src/lib.rs b/crates/toml-parser/src/lib.rs similarity index 100% rename from toml-parser/src/lib.rs rename to crates/toml-parser/src/lib.rs diff --git a/toml-parser/src/spanned_ext.rs b/crates/toml-parser/src/spanned_ext.rs similarity index 100% rename from toml-parser/src/spanned_ext.rs rename to crates/toml-parser/src/spanned_ext.rs diff --git a/toml-parser/src/tests.rs b/crates/toml-parser/src/tests.rs similarity index 100% rename from toml-parser/src/tests.rs rename to crates/toml-parser/src/tests.rs diff --git a/toml-parser/src/toml_lexer.rs b/crates/toml-parser/src/toml_lexer.rs similarity index 100% rename from toml-parser/src/toml_lexer.rs rename to crates/toml-parser/src/toml_lexer.rs diff --git a/toml-parser/src/toml_parser.rs b/crates/toml-parser/src/toml_parser.rs similarity index 100% rename from toml-parser/src/toml_parser.rs rename to crates/toml-parser/src/toml_parser.rs diff --git a/toml-parser/src/toml_span.rs b/crates/toml-parser/src/toml_span.rs similarity index 100% rename from toml-parser/src/toml_span.rs rename to crates/toml-parser/src/toml_span.rs diff --git a/toml-parser/src/toml_value.rs b/crates/toml-parser/src/toml_value.rs similarity index 100% rename from toml-parser/src/toml_value.rs rename to crates/toml-parser/src/toml_value.rs diff --git a/toml-parser/src/value_ext.rs b/crates/toml-parser/src/value_ext.rs similarity index 100% rename from toml-parser/src/value_ext.rs rename to crates/toml-parser/src/value_ext.rs diff --git a/toml-parser/src/value_parser.rs b/crates/toml-parser/src/value_parser.rs similarity index 100% rename from toml-parser/src/value_parser.rs rename to crates/toml-parser/src/value_parser.rs diff --git a/toml-spec/Cargo.toml b/crates/toml-spec/Cargo.toml similarity index 100% rename from toml-spec/Cargo.toml rename to crates/toml-spec/Cargo.toml diff --git a/toml-spec/spec/spec.generated.json b/crates/toml-spec/spec/spec.generated.json similarity index 100% rename from toml-spec/spec/spec.generated.json rename to crates/toml-spec/spec/spec.generated.json diff --git a/toml-spec/spec/spec.generated.md b/crates/toml-spec/spec/spec.generated.md similarity index 100% rename from toml-spec/spec/spec.generated.md rename to crates/toml-spec/spec/spec.generated.md diff --git a/toml-spec/spec/spec.yaml b/crates/toml-spec/spec/spec.yaml similarity index 100% rename from toml-spec/spec/spec.yaml rename to crates/toml-spec/spec/spec.yaml diff --git a/toml-spec/spec/template.md b/crates/toml-spec/spec/template.md similarity index 100% rename from toml-spec/spec/template.md rename to crates/toml-spec/spec/template.md diff --git a/toml-spec/src/json_schema.rs b/crates/toml-spec/src/json_schema.rs similarity index 100% rename from toml-spec/src/json_schema.rs rename to crates/toml-spec/src/json_schema.rs diff --git a/toml-spec/src/main.rs b/crates/toml-spec/src/main.rs similarity index 100% rename from toml-spec/src/main.rs rename to crates/toml-spec/src/main.rs diff --git a/toml-spec/src/markdown.rs b/crates/toml-spec/src/markdown.rs similarity index 100% rename from toml-spec/src/markdown.rs rename to crates/toml-spec/src/markdown.rs diff --git a/toml-spec/src/types.rs b/crates/toml-spec/src/types.rs similarity index 100% rename from toml-spec/src/types.rs rename to crates/toml-spec/src/types.rs diff --git a/tracy/Cargo.toml b/crates/tracy/Cargo.toml similarity index 100% rename from tracy/Cargo.toml rename to crates/tracy/Cargo.toml diff --git a/tracy/src/lib.rs b/crates/tracy/src/lib.rs similarity index 100% rename from tracy/src/lib.rs rename to crates/tracy/src/lib.rs diff --git a/tracy/src/tracy_impl.rs b/crates/tracy/src/tracy_impl.rs similarity index 100% rename from tracy/src/tracy_impl.rs rename to crates/tracy/src/tracy_impl.rs diff --git a/tracy/src/tracy_noop.rs b/crates/tracy/src/tracy_noop.rs similarity index 100% rename from tracy/src/tracy_noop.rs rename to crates/tracy/src/tracy_noop.rs diff --git a/tree-types/Cargo.toml b/crates/tree-types/Cargo.toml similarity index 100% rename from tree-types/Cargo.toml rename to crates/tree-types/Cargo.toml diff --git a/tree-types/src/lib.rs b/crates/tree-types/src/lib.rs similarity index 100% rename from tree-types/src/lib.rs rename to crates/tree-types/src/lib.rs diff --git a/udmabuf/Cargo.toml b/crates/udmabuf/Cargo.toml similarity index 100% rename from udmabuf/Cargo.toml rename to crates/udmabuf/Cargo.toml diff --git a/udmabuf/src/lib.rs b/crates/udmabuf/src/lib.rs similarity index 100% rename from udmabuf/src/lib.rs rename to crates/udmabuf/src/lib.rs diff --git a/units/Cargo.toml b/crates/units/Cargo.toml similarity index 100% rename from units/Cargo.toml rename to crates/units/Cargo.toml diff --git a/units/src/fixed.rs b/crates/units/src/fixed.rs similarity index 100% rename from units/src/fixed.rs rename to crates/units/src/fixed.rs diff --git a/units/src/lib.rs b/crates/units/src/lib.rs similarity index 100% rename from units/src/lib.rs rename to crates/units/src/lib.rs diff --git a/units/src/scale.rs b/crates/units/src/scale.rs similarity index 100% rename from units/src/scale.rs rename to crates/units/src/scale.rs diff --git a/utils/Cargo.toml b/crates/utils/Cargo.toml similarity index 100% rename from utils/Cargo.toml rename to crates/utils/Cargo.toml diff --git a/utils/src/array.rs b/crates/utils/src/array.rs similarity index 100% rename from utils/src/array.rs rename to crates/utils/src/array.rs diff --git a/utils/src/array_to_tuple.rs b/crates/utils/src/array_to_tuple.rs similarity index 100% rename from utils/src/array_to_tuple.rs rename to crates/utils/src/array_to_tuple.rs diff --git a/utils/src/asyncevent.rs b/crates/utils/src/asyncevent.rs similarity index 100% rename from utils/src/asyncevent.rs rename to crates/utils/src/asyncevent.rs diff --git a/utils/src/atomic_enum.rs b/crates/utils/src/atomic_enum.rs similarity index 100% rename from utils/src/atomic_enum.rs rename to crates/utils/src/atomic_enum.rs diff --git a/utils/src/binary_search_map.rs b/crates/utils/src/binary_search_map.rs similarity index 100% rename from utils/src/binary_search_map.rs rename to crates/utils/src/binary_search_map.rs diff --git a/utils/src/bitfield.rs b/crates/utils/src/bitfield.rs similarity index 100% rename from utils/src/bitfield.rs rename to crates/utils/src/bitfield.rs diff --git a/utils/src/bitflags.rs b/crates/utils/src/bitflags.rs similarity index 100% rename from utils/src/bitflags.rs rename to crates/utils/src/bitflags.rs diff --git a/utils/src/buf.rs b/crates/utils/src/buf.rs similarity index 100% rename from utils/src/buf.rs rename to crates/utils/src/buf.rs diff --git a/utils/src/cell_ext.rs b/crates/utils/src/cell_ext.rs similarity index 100% rename from utils/src/cell_ext.rs rename to crates/utils/src/cell_ext.rs diff --git a/utils/src/clonecell.rs b/crates/utils/src/clonecell.rs similarity index 100% rename from utils/src/clonecell.rs rename to crates/utils/src/clonecell.rs diff --git a/utils/src/compat.rs b/crates/utils/src/compat.rs similarity index 100% rename from utils/src/compat.rs rename to crates/utils/src/compat.rs diff --git a/utils/src/copyhashmap.rs b/crates/utils/src/copyhashmap.rs similarity index 100% rename from utils/src/copyhashmap.rs rename to crates/utils/src/copyhashmap.rs diff --git a/utils/src/double_buffered.rs b/crates/utils/src/double_buffered.rs similarity index 100% rename from utils/src/double_buffered.rs rename to crates/utils/src/double_buffered.rs diff --git a/utils/src/errorfmt.rs b/crates/utils/src/errorfmt.rs similarity index 100% rename from utils/src/errorfmt.rs rename to crates/utils/src/errorfmt.rs diff --git a/utils/src/event_listener.rs b/crates/utils/src/event_listener.rs similarity index 100% rename from utils/src/event_listener.rs rename to crates/utils/src/event_listener.rs diff --git a/utils/src/fdcloser.rs b/crates/utils/src/fdcloser.rs similarity index 100% rename from utils/src/fdcloser.rs rename to crates/utils/src/fdcloser.rs diff --git a/utils/src/free_list.rs b/crates/utils/src/free_list.rs similarity index 100% rename from utils/src/free_list.rs rename to crates/utils/src/free_list.rs diff --git a/utils/src/free_list/tests.rs b/crates/utils/src/free_list/tests.rs similarity index 100% rename from utils/src/free_list/tests.rs rename to crates/utils/src/free_list/tests.rs diff --git a/utils/src/geometric_decay.rs b/crates/utils/src/geometric_decay.rs similarity index 100% rename from utils/src/geometric_decay.rs rename to crates/utils/src/geometric_decay.rs diff --git a/utils/src/hash_map_ext.rs b/crates/utils/src/hash_map_ext.rs similarity index 100% rename from utils/src/hash_map_ext.rs rename to crates/utils/src/hash_map_ext.rs diff --git a/utils/src/lib.rs b/crates/utils/src/lib.rs similarity index 100% rename from utils/src/lib.rs rename to crates/utils/src/lib.rs diff --git a/utils/src/linkedlist.rs b/crates/utils/src/linkedlist.rs similarity index 100% rename from utils/src/linkedlist.rs rename to crates/utils/src/linkedlist.rs diff --git a/utils/src/log_on_drop.rs b/crates/utils/src/log_on_drop.rs similarity index 100% rename from utils/src/log_on_drop.rs rename to crates/utils/src/log_on_drop.rs diff --git a/utils/src/mmap.rs b/crates/utils/src/mmap.rs similarity index 100% rename from utils/src/mmap.rs rename to crates/utils/src/mmap.rs diff --git a/utils/src/nice.rs b/crates/utils/src/nice.rs similarity index 100% rename from utils/src/nice.rs rename to crates/utils/src/nice.rs diff --git a/utils/src/nonblock.rs b/crates/utils/src/nonblock.rs similarity index 100% rename from utils/src/nonblock.rs rename to crates/utils/src/nonblock.rs diff --git a/utils/src/num_cpus.rs b/crates/utils/src/num_cpus.rs similarity index 100% rename from utils/src/num_cpus.rs rename to crates/utils/src/num_cpus.rs diff --git a/utils/src/numcell.rs b/crates/utils/src/numcell.rs similarity index 100% rename from utils/src/numcell.rs rename to crates/utils/src/numcell.rs diff --git a/utils/src/on_change.rs b/crates/utils/src/on_change.rs similarity index 100% rename from utils/src/on_change.rs rename to crates/utils/src/on_change.rs diff --git a/utils/src/on_drop_event.rs b/crates/utils/src/on_drop_event.rs similarity index 100% rename from utils/src/on_drop_event.rs rename to crates/utils/src/on_drop_event.rs diff --git a/utils/src/once.rs b/crates/utils/src/once.rs similarity index 100% rename from utils/src/once.rs rename to crates/utils/src/once.rs diff --git a/utils/src/opaque.rs b/crates/utils/src/opaque.rs similarity index 100% rename from utils/src/opaque.rs rename to crates/utils/src/opaque.rs diff --git a/utils/src/opaque/tests.rs b/crates/utils/src/opaque/tests.rs similarity index 100% rename from utils/src/opaque/tests.rs rename to crates/utils/src/opaque/tests.rs diff --git a/utils/src/opaque_cell.rs b/crates/utils/src/opaque_cell.rs similarity index 100% rename from utils/src/opaque_cell.rs rename to crates/utils/src/opaque_cell.rs diff --git a/utils/src/opt.rs b/crates/utils/src/opt.rs similarity index 100% rename from utils/src/opt.rs rename to crates/utils/src/opt.rs diff --git a/utils/src/option_ext.rs b/crates/utils/src/option_ext.rs similarity index 100% rename from utils/src/option_ext.rs rename to crates/utils/src/option_ext.rs diff --git a/utils/src/ordered_float.rs b/crates/utils/src/ordered_float.rs similarity index 100% rename from utils/src/ordered_float.rs rename to crates/utils/src/ordered_float.rs diff --git a/utils/src/oserror.rs b/crates/utils/src/oserror.rs similarity index 100% rename from utils/src/oserror.rs rename to crates/utils/src/oserror.rs diff --git a/utils/src/page_size.rs b/crates/utils/src/page_size.rs similarity index 100% rename from utils/src/page_size.rs rename to crates/utils/src/page_size.rs diff --git a/utils/src/pid_info.rs b/crates/utils/src/pid_info.rs similarity index 100% rename from utils/src/pid_info.rs rename to crates/utils/src/pid_info.rs diff --git a/utils/src/pidfd_send_signal.rs b/crates/utils/src/pidfd_send_signal.rs similarity index 100% rename from utils/src/pidfd_send_signal.rs rename to crates/utils/src/pidfd_send_signal.rs diff --git a/utils/src/pipe.rs b/crates/utils/src/pipe.rs similarity index 100% rename from utils/src/pipe.rs rename to crates/utils/src/pipe.rs diff --git a/utils/src/process_name.rs b/crates/utils/src/process_name.rs similarity index 100% rename from utils/src/process_name.rs rename to crates/utils/src/process_name.rs diff --git a/utils/src/ptr_ext.rs b/crates/utils/src/ptr_ext.rs similarity index 100% rename from utils/src/ptr_ext.rs rename to crates/utils/src/ptr_ext.rs diff --git a/utils/src/queue.rs b/crates/utils/src/queue.rs similarity index 100% rename from utils/src/queue.rs rename to crates/utils/src/queue.rs diff --git a/utils/src/rc_eq.rs b/crates/utils/src/rc_eq.rs similarity index 100% rename from utils/src/rc_eq.rs rename to crates/utils/src/rc_eq.rs diff --git a/utils/src/refcounted.rs b/crates/utils/src/refcounted.rs similarity index 100% rename from utils/src/refcounted.rs rename to crates/utils/src/refcounted.rs diff --git a/utils/src/smallmap.rs b/crates/utils/src/smallmap.rs similarity index 100% rename from utils/src/smallmap.rs rename to crates/utils/src/smallmap.rs diff --git a/utils/src/stack.rs b/crates/utils/src/stack.rs similarity index 100% rename from utils/src/stack.rs rename to crates/utils/src/stack.rs diff --git a/utils/src/static_text.rs b/crates/utils/src/static_text.rs similarity index 100% rename from utils/src/static_text.rs rename to crates/utils/src/static_text.rs diff --git a/utils/src/string_ext.rs b/crates/utils/src/string_ext.rs similarity index 100% rename from utils/src/string_ext.rs rename to crates/utils/src/string_ext.rs diff --git a/utils/src/syncqueue.rs b/crates/utils/src/syncqueue.rs similarity index 100% rename from utils/src/syncqueue.rs rename to crates/utils/src/syncqueue.rs diff --git a/utils/src/threshold_counter.rs b/crates/utils/src/threshold_counter.rs similarity index 100% rename from utils/src/threshold_counter.rs rename to crates/utils/src/threshold_counter.rs diff --git a/utils/src/tri.rs b/crates/utils/src/tri.rs similarity index 100% rename from utils/src/tri.rs rename to crates/utils/src/tri.rs diff --git a/utils/src/unlink_on_drop.rs b/crates/utils/src/unlink_on_drop.rs similarity index 100% rename from utils/src/unlink_on_drop.rs rename to crates/utils/src/unlink_on_drop.rs diff --git a/utils/src/vec_ext.rs b/crates/utils/src/vec_ext.rs similarity index 100% rename from utils/src/vec_ext.rs rename to crates/utils/src/vec_ext.rs diff --git a/utils/src/vecdeque_ext.rs b/crates/utils/src/vecdeque_ext.rs similarity index 100% rename from utils/src/vecdeque_ext.rs rename to crates/utils/src/vecdeque_ext.rs diff --git a/utils/src/vecset.rs b/crates/utils/src/vecset.rs similarity index 100% rename from utils/src/vecset.rs rename to crates/utils/src/vecset.rs diff --git a/utils/src/vecstorage.rs b/crates/utils/src/vecstorage.rs similarity index 100% rename from utils/src/vecstorage.rs rename to crates/utils/src/vecstorage.rs diff --git a/utils/src/windows.rs b/crates/utils/src/windows.rs similarity index 100% rename from utils/src/windows.rs rename to crates/utils/src/windows.rs diff --git a/utils/src/xrd.rs b/crates/utils/src/xrd.rs similarity index 100% rename from utils/src/xrd.rs rename to crates/utils/src/xrd.rs diff --git a/video-types/Cargo.toml b/crates/video-types/Cargo.toml similarity index 100% rename from video-types/Cargo.toml rename to crates/video-types/Cargo.toml diff --git a/video-types/src/dmabuf.rs b/crates/video-types/src/dmabuf.rs similarity index 100% rename from video-types/src/dmabuf.rs rename to crates/video-types/src/dmabuf.rs diff --git a/video-types/src/drm.rs b/crates/video-types/src/drm.rs similarity index 100% rename from video-types/src/drm.rs rename to crates/video-types/src/drm.rs diff --git a/video-types/src/lib.rs b/crates/video-types/src/lib.rs similarity index 100% rename from video-types/src/lib.rs rename to crates/video-types/src/lib.rs diff --git a/wheel/Cargo.toml b/crates/wheel/Cargo.toml similarity index 100% rename from wheel/Cargo.toml rename to crates/wheel/Cargo.toml diff --git a/wheel/src/lib.rs b/crates/wheel/src/lib.rs similarity index 100% rename from wheel/src/lib.rs rename to crates/wheel/src/lib.rs diff --git a/wire-buf/Cargo.toml b/crates/wire-buf/Cargo.toml similarity index 100% rename from wire-buf/Cargo.toml rename to crates/wire-buf/Cargo.toml diff --git a/wire-buf/src/buf_in.rs b/crates/wire-buf/src/buf_in.rs similarity index 100% rename from wire-buf/src/buf_in.rs rename to crates/wire-buf/src/buf_in.rs diff --git a/wire-buf/src/buf_out.rs b/crates/wire-buf/src/buf_out.rs similarity index 100% rename from wire-buf/src/buf_out.rs rename to crates/wire-buf/src/buf_out.rs diff --git a/wire-buf/src/ei_formatter.rs b/crates/wire-buf/src/ei_formatter.rs similarity index 100% rename from wire-buf/src/ei_formatter.rs rename to crates/wire-buf/src/ei_formatter.rs diff --git a/wire-buf/src/ei_parser.rs b/crates/wire-buf/src/ei_parser.rs similarity index 100% rename from wire-buf/src/ei_parser.rs rename to crates/wire-buf/src/ei_parser.rs diff --git a/wire-buf/src/formatter.rs b/crates/wire-buf/src/formatter.rs similarity index 100% rename from wire-buf/src/formatter.rs rename to crates/wire-buf/src/formatter.rs diff --git a/wire-buf/src/lib.rs b/crates/wire-buf/src/lib.rs similarity index 100% rename from wire-buf/src/lib.rs rename to crates/wire-buf/src/lib.rs diff --git a/wire-buf/src/parser.rs b/crates/wire-buf/src/parser.rs similarity index 100% rename from wire-buf/src/parser.rs rename to crates/wire-buf/src/parser.rs diff --git a/wire-buf/src/wl_buf_in.rs b/crates/wire-buf/src/wl_buf_in.rs similarity index 100% rename from wire-buf/src/wl_buf_in.rs rename to crates/wire-buf/src/wl_buf_in.rs diff --git a/wire-to-xml/Cargo.toml b/crates/wire-to-xml/Cargo.toml similarity index 100% rename from wire-to-xml/Cargo.toml rename to crates/wire-to-xml/Cargo.toml diff --git a/wire-to-xml/src/main.rs b/crates/wire-to-xml/src/main.rs similarity index 100% rename from wire-to-xml/src/main.rs rename to crates/wire-to-xml/src/main.rs diff --git a/wire-types/Cargo.toml b/crates/wire-types/Cargo.toml similarity index 100% rename from wire-types/Cargo.toml rename to crates/wire-types/Cargo.toml diff --git a/wire-types/src/lib.rs b/crates/wire-types/src/lib.rs similarity index 100% rename from wire-types/src/lib.rs rename to crates/wire-types/src/lib.rs diff --git a/xcon/Cargo.toml b/crates/xcon/Cargo.toml similarity index 100% rename from xcon/Cargo.toml rename to crates/xcon/Cargo.toml diff --git a/xcon/src/consts.rs b/crates/xcon/src/consts.rs similarity index 100% rename from xcon/src/consts.rs rename to crates/xcon/src/consts.rs diff --git a/xcon/src/formatter.rs b/crates/xcon/src/formatter.rs similarity index 100% rename from xcon/src/formatter.rs rename to crates/xcon/src/formatter.rs diff --git a/xcon/src/lib.rs b/crates/xcon/src/lib.rs similarity index 100% rename from xcon/src/lib.rs rename to crates/xcon/src/lib.rs diff --git a/xcon/src/parser.rs b/crates/xcon/src/parser.rs similarity index 100% rename from xcon/src/parser.rs rename to crates/xcon/src/parser.rs diff --git a/xcon/src/wire_type.rs b/crates/xcon/src/wire_type.rs similarity index 100% rename from xcon/src/wire_type.rs rename to crates/xcon/src/wire_type.rs diff --git a/xcon/src/xauthority.rs b/crates/xcon/src/xauthority.rs similarity index 100% rename from xcon/src/xauthority.rs rename to crates/xcon/src/xauthority.rs diff --git a/xml-to-wire/Cargo.toml b/crates/xml-to-wire/Cargo.toml similarity index 100% rename from xml-to-wire/Cargo.toml rename to crates/xml-to-wire/Cargo.toml diff --git a/xml-to-wire/src/ast.rs b/crates/xml-to-wire/src/ast.rs similarity index 100% rename from xml-to-wire/src/ast.rs rename to crates/xml-to-wire/src/ast.rs diff --git a/xml-to-wire/src/builder.rs b/crates/xml-to-wire/src/builder.rs similarity index 100% rename from xml-to-wire/src/builder.rs rename to crates/xml-to-wire/src/builder.rs diff --git a/xml-to-wire/src/main.rs b/crates/xml-to-wire/src/main.rs similarity index 100% rename from xml-to-wire/src/main.rs rename to crates/xml-to-wire/src/main.rs diff --git a/xml-to-wire/src/parser.rs b/crates/xml-to-wire/src/parser.rs similarity index 100% rename from xml-to-wire/src/parser.rs rename to crates/xml-to-wire/src/parser.rs