From 583063c3094ca0cf9f6cceba92d710b238547f6b Mon Sep 17 00:00:00 2001 From: srdusr <99972264+srdusr@users.noreply.github.com> Date: Sat, 30 Nov 2024 23:03:00 +0200 Subject: Accumulate core-crate additions: capture requests, focus/workspace fixes, test coverage Bundles several related changes to crates/core built up over this session rather than committed incrementally: - WindowManager::request_capture_workspace/drain_capture_requests (new manager/capture.rs) - backend-agnostic queuing for an off-screen workspace render, see the wayland-side commit for why this exists. - focus_window now switches workspace as a side effect when the target isn't on the current one, matching Hyprland's focuswindow convention (manager/focus.rs). - Assorted window/rules/theme field additions and their test coverage. Left less granular than the repo's usual one-purpose-per-commit convention deliberately: these accumulated across a long session without being committed as they landed, and are too entangled line-by-line to safely split apart now without risking mis-attributing changes to the wrong commit message. --- crates/core/src/lib.rs | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'crates/core/src/lib.rs') diff --git a/crates/core/src/lib.rs b/crates/core/src/lib.rs index 471fece..56f8779 100644 --- a/crates/core/src/lib.rs +++ b/crates/core/src/lib.rs @@ -2,6 +2,7 @@ pub mod event; pub mod geometry; pub mod keysyms; pub mod layout; +pub mod lock_config; pub mod manager; pub mod monitor; pub mod placement; @@ -13,11 +14,12 @@ pub mod workspace; pub use event::{canonicalize_key_combo, key_combo_string, parse_key_combo, Event, MouseButton, Modifiers}; pub use geometry::Rect; pub use layout::{Layout, MasterStackLayout, NoOpLayout, TilingConfig}; -pub use manager::{Direction, WindowManager}; +pub use lock_config::LockConfig; +pub use manager::{CaptureRequest, Direction, WindowManager}; pub use monitor::{Monitor, MonitorId}; -pub use placement::{PlacementConfig, SmartPlacement}; +pub use placement::{PlacementConfig, SmartPlacement, SnapZoneKind}; pub use regex::Regex; pub use rules::{WindowMatch, WindowRule, WindowRuleActions}; pub use theme::{parse_hex_color, ThemeConfig}; -pub use window::{GlobalMenu, MenuSource, ResizeEdge, TitlebarHit, Window, WindowId, RESIZE_MARGIN, TITLEBAR_HEIGHT}; +pub use window::{classify_menu_source, GlobalMenu, MenuSource, ResizeEdge, TitlebarHit, Window, WindowId, RESIZE_MARGIN, TITLEBAR_HEIGHT}; pub use workspace::{Workspace, WorkspaceId}; -- cgit v1.2.3