[package]
name = "wl-proxy"
version = "0.1.0"
edition = "2024"
rust-version = "1.89.0"
license = "MIT OR Apache-2.0"
repository = "https://github.com/mahkoh/wl-proxy"
description = "Wayland connection proxy"
keywords = ["protocol", "linux", "wayland"]
[dependencies]
uapi = "0.2.13"
isnt = "0.2.0"
thiserror = "2.0.17"
smallvec = "1.15.1"
error_reporter = "1.0.0"
log = "0.4.29"
phf = { version = "0.13.1", features = ["macros"] }
debug-fn = "1.0.0"
run-on-drop = "1.0.0"
linearize = { version = "0.1.5", features = ["derive"] }
parking_lot = "0.12.5"
[dev-dependencies]
env_logger = "0.11.8"
[features]
default = ["logging"]
logging = []
all-protocols = [
"suite-hyprland-protocols",
"suite-jay-protocols",
"suite-external",
"suite-wayland-protocols",
"suite-wlr-protocols",
"suite-wlproxy",
"suite-river-protocols",
"suite-weston-protocols",
"suite-cosmic-protocols",
]
suite-hyprland-protocols = [
"protocol-hyprland_ctm_control_v1",
"protocol-hyprland_focus_grab_v1",
"protocol-hyprland_global_shortcuts_v1",
"protocol-hyprland_input_capture_v1",
"protocol-hyprland_lock_notify_v1",
"protocol-hyprland_surface_v1",
"protocol-hyprland_toplevel_export_v1",
"protocol-hyprland_toplevel_mapping_v1",
]
suite-jay-protocols = [
"protocol-jay_popup_ext_v1",
"protocol-jay_tray_v1",
]
suite-external = [
"protocol-drm",
"protocol-input_method_unstable_v2",
"protocol-org_kde_kwin_server_decoration_v1",
"protocol-virtual_keyboard_unstable_v1",
]
suite-wayland-protocols = [
"protocol-alpha_modifier_v1",
"protocol-color_management_v1",
"protocol-color_representation_v1",
"protocol-commit_timing_v1",
"protocol-content_type_v1",
"protocol-cursor_shape_v1",
"protocol-drm_lease_v1",
"protocol-ext_background_effect_v1",
"protocol-ext_data_control_v1",
"protocol-ext_foreign_toplevel_list_v1",
"protocol-ext_idle_notify_v1",
"protocol-ext_image_capture_source_v1",
"protocol-ext_image_copy_capture_v1",
"protocol-ext_session_lock_v1",
"protocol-ext_transient_seat_v1",
"protocol-ext_workspace_v1",
"protocol-fifo_v1",
"protocol-fractional_scale_v1",
"protocol-fullscreen_shell_unstable_v1",
"protocol-idle_inhibit_unstable_v1",
"protocol-input_method_unstable_v1",
"protocol-input_timestamps_unstable_v1",
"protocol-keyboard_shortcuts_inhibit_unstable_v1",
"protocol-linux_dmabuf_v1",
"protocol-linux_drm_syncobj_v1",
"protocol-pointer_constraints_unstable_v1",
"protocol-pointer_gestures_unstable_v1",
"protocol-pointer_warp_v1",
"protocol-presentation_time",
"protocol-relative_pointer_unstable_v1",
"protocol-security_context_v1",
"protocol-single_pixel_buffer_v1",
"protocol-tablet_v2",
"protocol-tearing_control_v1",
"protocol-text_input_unstable_v1",
"protocol-text_input_unstable_v3",
"protocol-viewporter",
"protocol-wp_primary_selection_unstable_v1",
"protocol-xdg_activation_v1",
"protocol-xdg_decoration_unstable_v1",
"protocol-xdg_dialog_v1",
"protocol-xdg_foreign_unstable_v2",
"protocol-xdg_output_unstable_v1",
"protocol-xdg_shell",
"protocol-xdg_system_bell_v1",
"protocol-xdg_toplevel_drag_v1",
"protocol-xdg_toplevel_icon_v1",
"protocol-xdg_toplevel_tag_v1",
"protocol-xwayland_keyboard_grab_unstable_v1",
"protocol-xwayland_shell_v1",
"protocol-zwp_linux_explicit_synchronization_unstable_v1",
]
suite-wlr-protocols = [
"protocol-wlr_data_control_unstable_v1",
"protocol-wlr_export_dmabuf_unstable_v1",
"protocol-wlr_foreign_toplevel_management_unstable_v1",
"protocol-wlr_gamma_control_unstable_v1",
"protocol-wlr_input_inhibit_unstable_v1",
"protocol-wlr_layer_shell_unstable_v1",
"protocol-wlr_output_management_unstable_v1",
"protocol-wlr_output_power_management_unstable_v1",
"protocol-wlr_screencopy_unstable_v1",
"protocol-wlr_virtual_pointer_unstable_v1",
]
suite-wlproxy = [
"protocol-wlproxy_sync_v1",
]
suite-river-protocols = [
"protocol-river_input_management_v1",
"protocol-river_layer_shell_v1",
"protocol-river_libinput_config_v1",
"protocol-river_window_management_v1",
"protocol-river_xkb_bindings_v1",
]
suite-weston-protocols = [
"protocol-ivi_application",
"protocol-ivi_hmi_controller",
"protocol-weston_content_protection",
"protocol-weston_debug",
"protocol-weston_desktop",
"protocol-weston_direct_display",
"protocol-weston_output_capture",
"protocol-weston_test",
"protocol-weston_touch_calibration",
]
suite-cosmic-protocols = [
"protocol-cosmic_a11y_v1",
"protocol-cosmic_corner_radius_v1",
"protocol-cosmic_image_source_unstable_v1",
"protocol-cosmic_output_management_unstable_v1",
"protocol-cosmic_overlap_notify_unstable_v1",
"protocol-cosmic_workspace_unstable_v2",
]
protocol-hyprland_ctm_control_v1 = []
protocol-hyprland_focus_grab_v1 = []
protocol-hyprland_global_shortcuts_v1 = []
protocol-hyprland_input_capture_v1 = []
protocol-hyprland_lock_notify_v1 = []
protocol-hyprland_surface_v1 = []
protocol-hyprland_toplevel_export_v1 = ["protocol-wlr_foreign_toplevel_management_unstable_v1"]
protocol-hyprland_toplevel_mapping_v1 = ["protocol-ext_foreign_toplevel_list_v1", "protocol-wlr_foreign_toplevel_management_unstable_v1"]
protocol-jay_popup_ext_v1 = ["protocol-xdg_shell"]
protocol-jay_tray_v1 = ["protocol-xdg_shell"]
protocol-drm = []
protocol-input_method_unstable_v2 = ["protocol-text_input_unstable_v3"]
protocol-org_kde_kwin_server_decoration_v1 = []
protocol-virtual_keyboard_unstable_v1 = []
protocol-alpha_modifier_v1 = []
protocol-color_management_v1 = []
protocol-color_representation_v1 = []
protocol-commit_timing_v1 = []
protocol-content_type_v1 = []
protocol-cursor_shape_v1 = ["protocol-tablet_v2"]
protocol-drm_lease_v1 = []
protocol-ext_background_effect_v1 = []
protocol-ext_data_control_v1 = []
protocol-ext_foreign_toplevel_list_v1 = []
protocol-ext_idle_notify_v1 = []
protocol-ext_image_capture_source_v1 = ["protocol-ext_foreign_toplevel_list_v1"]
protocol-ext_image_copy_capture_v1 = ["protocol-ext_image_capture_source_v1"]
protocol-ext_session_lock_v1 = []
protocol-ext_transient_seat_v1 = []
protocol-ext_workspace_v1 = []
protocol-fifo_v1 = []
protocol-fractional_scale_v1 = []
protocol-fullscreen_shell_unstable_v1 = []
protocol-idle_inhibit_unstable_v1 = []
protocol-input_method_unstable_v1 = []
protocol-input_timestamps_unstable_v1 = []
protocol-keyboard_shortcuts_inhibit_unstable_v1 = []
protocol-linux_dmabuf_v1 = []
protocol-linux_drm_syncobj_v1 = []
protocol-pointer_constraints_unstable_v1 = []
protocol-pointer_gestures_unstable_v1 = []
protocol-pointer_warp_v1 = []
protocol-presentation_time = []
protocol-relative_pointer_unstable_v1 = []
protocol-security_context_v1 = []
protocol-single_pixel_buffer_v1 = []
protocol-tablet_v2 = []
protocol-tearing_control_v1 = []
protocol-text_input_unstable_v1 = []
protocol-text_input_unstable_v3 = []
protocol-viewporter = []
protocol-wp_primary_selection_unstable_v1 = []
protocol-xdg_activation_v1 = []
protocol-xdg_decoration_unstable_v1 = ["protocol-xdg_shell"]
protocol-xdg_dialog_v1 = ["protocol-xdg_shell"]
protocol-xdg_foreign_unstable_v2 = []
protocol-xdg_output_unstable_v1 = []
protocol-xdg_shell = []
protocol-xdg_system_bell_v1 = []
protocol-xdg_toplevel_drag_v1 = ["protocol-xdg_shell"]
protocol-xdg_toplevel_icon_v1 = ["protocol-xdg_shell"]
protocol-xdg_toplevel_tag_v1 = ["protocol-xdg_shell"]
protocol-xwayland_keyboard_grab_unstable_v1 = []
protocol-xwayland_shell_v1 = []
protocol-zwp_linux_explicit_synchronization_unstable_v1 = []
protocol-wlr_data_control_unstable_v1 = []
protocol-wlr_export_dmabuf_unstable_v1 = []
protocol-wlr_foreign_toplevel_management_unstable_v1 = []
protocol-wlr_gamma_control_unstable_v1 = []
protocol-wlr_input_inhibit_unstable_v1 = []
protocol-wlr_layer_shell_unstable_v1 = ["protocol-xdg_shell"]
protocol-wlr_output_management_unstable_v1 = []
protocol-wlr_output_power_management_unstable_v1 = []
protocol-wlr_screencopy_unstable_v1 = []
protocol-wlr_virtual_pointer_unstable_v1 = []
protocol-wlproxy_sync_v1 = []
protocol-river_input_management_v1 = []
protocol-river_layer_shell_v1 = ["protocol-river_window_management_v1"]
protocol-river_libinput_config_v1 = ["protocol-river_input_management_v1"]
protocol-river_window_management_v1 = []
protocol-river_xkb_bindings_v1 = ["protocol-river_window_management_v1"]
protocol-ivi_application = []
protocol-ivi_hmi_controller = []
protocol-weston_content_protection = []
protocol-weston_debug = []
protocol-weston_desktop = []
protocol-weston_direct_display = ["protocol-linux_dmabuf_v1"]
protocol-weston_output_capture = []
protocol-weston_test = []
protocol-weston_touch_calibration = []
protocol-cosmic_a11y_v1 = []
protocol-cosmic_corner_radius_v1 = ["protocol-xdg_shell"]
protocol-cosmic_image_source_unstable_v1 = ["protocol-ext_image_capture_source_v1", "protocol-ext_workspace_v1"]
protocol-cosmic_output_management_unstable_v1 = ["protocol-wlr_output_management_unstable_v1"]
protocol-cosmic_overlap_notify_unstable_v1 = ["protocol-ext_foreign_toplevel_list_v1", "protocol-wlr_layer_shell_unstable_v1"]
protocol-cosmic_workspace_unstable_v2 = ["protocol-ext_workspace_v1"]