2022-12-05 18:05:15 +01:00
|
|
|
#include "ProtocolManager.hpp"
|
|
|
|
|
2024-04-19 23:16:35 +02:00
|
|
|
#include "../protocols/TearingControl.hpp"
|
2024-04-20 15:14:54 +02:00
|
|
|
#include "../protocols/FractionalScale.hpp"
|
2024-04-20 20:34:18 +02:00
|
|
|
#include "../protocols/XDGOutput.hpp"
|
2024-04-21 02:47:38 +02:00
|
|
|
#include "../protocols/CursorShape.hpp"
|
2024-04-21 17:29:30 +02:00
|
|
|
#include "../protocols/IdleInhibit.hpp"
|
2024-04-21 20:30:23 +02:00
|
|
|
#include "../protocols/RelativePointer.hpp"
|
2024-04-21 21:04:58 +02:00
|
|
|
#include "../protocols/XDGDecoration.hpp"
|
2024-04-21 22:21:22 +02:00
|
|
|
#include "../protocols/AlphaModifier.hpp"
|
2024-04-22 19:21:03 +02:00
|
|
|
#include "../protocols/GammaControl.hpp"
|
2024-04-24 16:45:59 +02:00
|
|
|
#include "../protocols/ForeignToplevel.hpp"
|
2024-04-24 22:12:26 +02:00
|
|
|
#include "../protocols/PointerGestures.hpp"
|
2024-04-25 01:58:40 +02:00
|
|
|
#include "../protocols/ForeignToplevelWlr.hpp"
|
2024-04-25 15:32:35 +02:00
|
|
|
#include "../protocols/ShortcutsInhibit.hpp"
|
2024-04-26 00:27:25 +02:00
|
|
|
#include "../protocols/TextInputV3.hpp"
|
2024-04-27 00:55:41 +02:00
|
|
|
#include "../protocols/PointerConstraints.hpp"
|
2024-04-29 02:28:26 +02:00
|
|
|
#include "../protocols/OutputPower.hpp"
|
2024-04-29 17:43:24 +02:00
|
|
|
#include "../protocols/XDGActivation.hpp"
|
2024-04-29 18:42:07 +02:00
|
|
|
#include "../protocols/IdleNotify.hpp"
|
2024-04-30 17:32:05 +02:00
|
|
|
#include "../protocols/SessionLock.hpp"
|
2024-05-01 17:41:17 +02:00
|
|
|
#include "../protocols/InputMethodV2.hpp"
|
2024-05-03 01:31:48 +02:00
|
|
|
#include "../protocols/VirtualKeyboard.hpp"
|
2024-05-03 02:27:59 +02:00
|
|
|
#include "../protocols/VirtualPointer.hpp"
|
2024-05-03 18:58:40 +02:00
|
|
|
#include "../protocols/OutputManagement.hpp"
|
2024-05-05 02:07:46 +02:00
|
|
|
#include "../protocols/ServerDecorationKDE.hpp"
|
2024-05-05 04:14:35 +02:00
|
|
|
#include "../protocols/FocusGrab.hpp"
|
2024-05-06 03:15:26 +02:00
|
|
|
#include "../protocols/Tablet.hpp"
|
2024-05-09 22:47:21 +02:00
|
|
|
#include "../protocols/LayerShell.hpp"
|
2024-05-10 03:27:54 +02:00
|
|
|
#include "../protocols/PresentationTime.hpp"
|
2024-05-10 19:27:57 +02:00
|
|
|
#include "../protocols/core/Seat.hpp"
|
2024-05-11 00:28:33 +02:00
|
|
|
#include "../protocols/XDGShell.hpp"
|
2023-07-18 15:30:28 +02:00
|
|
|
|
2022-12-05 18:05:15 +01:00
|
|
|
CProtocolManager::CProtocolManager() {
|
2024-04-20 20:34:18 +02:00
|
|
|
|
2024-05-10 19:27:57 +02:00
|
|
|
// Core
|
|
|
|
PROTO::seat = std::make_unique<CWLSeatProtocol>(&wl_seat_interface, 9, "WLSeat");
|
|
|
|
|
|
|
|
// Extensions
|
2024-05-05 02:07:46 +02:00
|
|
|
PROTO::tearing = std::make_unique<CTearingControlProtocol>(&wp_tearing_control_manager_v1_interface, 1, "TearingControl");
|
|
|
|
PROTO::fractional = std::make_unique<CFractionalScaleProtocol>(&wp_fractional_scale_manager_v1_interface, 1, "FractionalScale");
|
|
|
|
PROTO::xdgOutput = std::make_unique<CXDGOutputProtocol>(&zxdg_output_manager_v1_interface, 3, "XDGOutput");
|
|
|
|
PROTO::cursorShape = std::make_unique<CCursorShapeProtocol>(&wp_cursor_shape_manager_v1_interface, 1, "CursorShape");
|
|
|
|
PROTO::idleInhibit = std::make_unique<CIdleInhibitProtocol>(&zwp_idle_inhibit_manager_v1_interface, 1, "IdleInhibit");
|
|
|
|
PROTO::relativePointer = std::make_unique<CRelativePointerProtocol>(&zwp_relative_pointer_manager_v1_interface, 1, "RelativePointer");
|
|
|
|
PROTO::xdgDecoration = std::make_unique<CXDGDecorationProtocol>(&zxdg_decoration_manager_v1_interface, 1, "XDGDecoration");
|
|
|
|
PROTO::alphaModifier = std::make_unique<CAlphaModifierProtocol>(&wp_alpha_modifier_v1_interface, 1, "AlphaModifier");
|
|
|
|
PROTO::gamma = std::make_unique<CGammaControlProtocol>(&zwlr_gamma_control_manager_v1_interface, 1, "GammaControl");
|
|
|
|
PROTO::foreignToplevel = std::make_unique<CForeignToplevelProtocol>(&ext_foreign_toplevel_list_v1_interface, 1, "ForeignToplevel");
|
|
|
|
PROTO::pointerGestures = std::make_unique<CPointerGesturesProtocol>(&zwp_pointer_gestures_v1_interface, 3, "PointerGestures");
|
|
|
|
PROTO::foreignToplevelWlr = std::make_unique<CForeignToplevelWlrProtocol>(&zwlr_foreign_toplevel_manager_v1_interface, 3, "ForeignToplevelWlr");
|
|
|
|
PROTO::shortcutsInhibit = std::make_unique<CKeyboardShortcutsInhibitProtocol>(&zwp_keyboard_shortcuts_inhibit_manager_v1_interface, 1, "ShortcutsInhibit");
|
|
|
|
PROTO::textInputV3 = std::make_unique<CTextInputV3Protocol>(&zwp_text_input_manager_v3_interface, 1, "TextInputV3");
|
|
|
|
PROTO::constraints = std::make_unique<CPointerConstraintsProtocol>(&zwp_pointer_constraints_v1_interface, 1, "PointerConstraints");
|
|
|
|
PROTO::outputPower = std::make_unique<COutputPowerProtocol>(&zwlr_output_power_manager_v1_interface, 1, "OutputPower");
|
|
|
|
PROTO::activation = std::make_unique<CXDGActivationProtocol>(&xdg_activation_v1_interface, 1, "XDGActivation");
|
|
|
|
PROTO::idle = std::make_unique<CIdleNotifyProtocol>(&ext_idle_notifier_v1_interface, 1, "IdleNotify");
|
|
|
|
PROTO::sessionLock = std::make_unique<CSessionLockProtocol>(&ext_session_lock_manager_v1_interface, 1, "SessionLock");
|
|
|
|
PROTO::ime = std::make_unique<CInputMethodV2Protocol>(&zwp_input_method_manager_v2_interface, 1, "IMEv2");
|
|
|
|
PROTO::virtualKeyboard = std::make_unique<CVirtualKeyboardProtocol>(&zwp_virtual_keyboard_manager_v1_interface, 1, "VirtualKeyboard");
|
|
|
|
PROTO::virtualPointer = std::make_unique<CVirtualPointerProtocol>(&zwlr_virtual_pointer_manager_v1_interface, 2, "VirtualPointer");
|
|
|
|
PROTO::outputManagement = std::make_unique<COutputManagementProtocol>(&zwlr_output_manager_v1_interface, 4, "OutputManagement");
|
|
|
|
PROTO::serverDecorationKDE = std::make_unique<CServerDecorationKDEProtocol>(&org_kde_kwin_server_decoration_manager_interface, 1, "ServerDecorationKDE");
|
2024-05-05 04:14:35 +02:00
|
|
|
PROTO::focusGrab = std::make_unique<CFocusGrabProtocol>(&hyprland_focus_grab_manager_v1_interface, 1, "FocusGrab");
|
2024-05-06 03:15:26 +02:00
|
|
|
PROTO::tablet = std::make_unique<CTabletV2Protocol>(&zwp_tablet_manager_v2_interface, 1, "TabletV2");
|
2024-05-09 22:47:21 +02:00
|
|
|
PROTO::layerShell = std::make_unique<CLayerShellProtocol>(&zwlr_layer_shell_v1_interface, 5, "LayerShell");
|
2024-05-10 03:27:54 +02:00
|
|
|
PROTO::presentation = std::make_unique<CPresentationProtocol>(&wp_presentation_interface, 1, "Presentation");
|
2024-05-11 00:28:33 +02:00
|
|
|
PROTO::xdgShell = std::make_unique<CXDGShellProtocol>(&xdg_wm_base_interface, 6, "XDGShell");
|
2024-04-20 20:34:18 +02:00
|
|
|
|
|
|
|
// Old protocol implementations.
|
|
|
|
// TODO: rewrite them to use hyprwayland-scanner.
|
2023-01-20 19:44:30 +01:00
|
|
|
m_pToplevelExportProtocolManager = std::make_unique<CToplevelExportProtocolManager>();
|
2023-03-14 13:57:50 +01:00
|
|
|
m_pTextInputV1ProtocolManager = std::make_unique<CTextInputV1ProtocolManager>();
|
2023-04-09 14:48:20 +02:00
|
|
|
m_pGlobalShortcutsProtocolManager = std::make_unique<CGlobalShortcutsProtocolManager>();
|
2023-04-03 18:01:05 +02:00
|
|
|
m_pScreencopyProtocolManager = std::make_unique<CScreencopyProtocolManager>();
|
2023-07-18 15:30:28 +02:00
|
|
|
}
|