summaryrefslogtreecommitdiff
path: root/src/Compositor.hpp
diff options
context:
space:
mode:
authorVaxry <43317083+vaxerski@users.noreply.github.com>2022-12-16 17:17:31 +0000
committerGitHub <noreply@github.com>2022-12-16 17:17:31 +0000
commit98a4fa2b0d79298fa29b048a3ba15c3bf5aed8cd (patch)
tree64e78342cf08e5f9ad87bd5f6ea36233133be7bb /src/Compositor.hpp
parent7c33c7fc64203c17b4f3625a16ae6b4774992c0e (diff)
Added clang format (#1239)
* clang-format stuff and format files
Diffstat (limited to 'src/Compositor.hpp')
-rw-r--r--src/Compositor.hpp311
1 files changed, 154 insertions, 157 deletions
diff --git a/src/Compositor.hpp b/src/Compositor.hpp
index c4c96fae..e12caec5 100644
--- a/src/Compositor.hpp
+++ b/src/Compositor.hpp
@@ -25,180 +25,177 @@
#include "hyprerror/HyprError.hpp"
class CCompositor {
-public:
+ public:
CCompositor();
~CCompositor();
// ------------------ WLR BASICS ------------------ //
- wl_display* m_sWLDisplay;
- wl_event_loop* m_sWLEventLoop;
- wlr_backend* m_sWLRBackend;
- wlr_session* m_sWLRSession;
- wlr_renderer* m_sWLRRenderer;
- wlr_allocator* m_sWLRAllocator;
- wlr_compositor* m_sWLRCompositor;
- wlr_subcompositor* m_sWLRSubCompositor;
- wlr_data_device_manager* m_sWLRDataDevMgr;
- wlr_drm* m_sWRLDRM;
- wlr_drm_lease_v1_manager* m_sWRLDRMLeaseMgr;
- wlr_xdg_activation_v1* m_sWLRXDGActivation;
- wlr_output_layout* m_sWLROutputLayout;
- wlr_idle* m_sWLRIdle;
- wlr_layer_shell_v1* m_sWLRLayerShell;
- wlr_xdg_shell* m_sWLRXDGShell;
- wlr_cursor* m_sWLRCursor;
- wlr_xcursor_manager* m_sWLRXCursorMgr;
- wlr_virtual_keyboard_manager_v1* m_sWLRVKeyboardMgr;
- wlr_output_manager_v1* m_sWLROutputMgr;
- wlr_presentation* m_sWLRPresentation;
- wlr_scene* m_sWLRScene;
- wlr_input_inhibit_manager* m_sWLRInhibitMgr;
+ wl_display* m_sWLDisplay;
+ wl_event_loop* m_sWLEventLoop;
+ wlr_backend* m_sWLRBackend;
+ wlr_session* m_sWLRSession;
+ wlr_renderer* m_sWLRRenderer;
+ wlr_allocator* m_sWLRAllocator;
+ wlr_compositor* m_sWLRCompositor;
+ wlr_subcompositor* m_sWLRSubCompositor;
+ wlr_data_device_manager* m_sWLRDataDevMgr;
+ wlr_drm* m_sWRLDRM;
+ wlr_drm_lease_v1_manager* m_sWRLDRMLeaseMgr;
+ wlr_xdg_activation_v1* m_sWLRXDGActivation;
+ wlr_output_layout* m_sWLROutputLayout;
+ wlr_idle* m_sWLRIdle;
+ wlr_layer_shell_v1* m_sWLRLayerShell;
+ wlr_xdg_shell* m_sWLRXDGShell;
+ wlr_cursor* m_sWLRCursor;
+ wlr_xcursor_manager* m_sWLRXCursorMgr;
+ wlr_virtual_keyboard_manager_v1* m_sWLRVKeyboardMgr;
+ wlr_output_manager_v1* m_sWLROutputMgr;
+ wlr_presentation* m_sWLRPresentation;
+ wlr_scene* m_sWLRScene;
+ wlr_input_inhibit_manager* m_sWLRInhibitMgr;
wlr_keyboard_shortcuts_inhibit_manager_v1* m_sWLRKbShInhibitMgr;
- wlr_egl* m_sWLREGL;
- int m_iDRMFD;
- wlr_ext_workspace_manager_v1* m_sWLREXTWorkspaceMgr;
- wlr_pointer_constraints_v1* m_sWLRPointerConstraints;
- wlr_relative_pointer_manager_v1* m_sWLRRelPointerMgr;
- wlr_server_decoration_manager* m_sWLRServerDecoMgr;
- wlr_xdg_decoration_manager_v1* m_sWLRXDGDecoMgr;
- wlr_virtual_pointer_manager_v1* m_sWLRVirtPtrMgr;
- wlr_foreign_toplevel_manager_v1* m_sWLRToplevelMgr;
- wlr_tablet_manager_v2* m_sWLRTabletManager;
- wlr_xdg_foreign_registry* m_sWLRForeignRegistry;
- wlr_idle_inhibit_manager_v1* m_sWLRIdleInhibitMgr;
- wlr_pointer_gestures_v1* m_sWLRPointerGestures;
- wlr_output_power_manager_v1* m_sWLROutputPowerMgr;
- wlr_input_method_manager_v2* m_sWLRIMEMgr;
- wlr_text_input_manager_v3* m_sWLRTextInputMgr;
- wlr_xdg_activation_v1* m_sWLRActivation;
- wlr_linux_dmabuf_v1* m_sWLRLinuxDMABuf;
- wlr_backend* m_sWLRHeadlessBackend;
+ wlr_egl* m_sWLREGL;
+ int m_iDRMFD;
+ wlr_ext_workspace_manager_v1* m_sWLREXTWorkspaceMgr;
+ wlr_pointer_constraints_v1* m_sWLRPointerConstraints;
+ wlr_relative_pointer_manager_v1* m_sWLRRelPointerMgr;
+ wlr_server_decoration_manager* m_sWLRServerDecoMgr;
+ wlr_xdg_decoration_manager_v1* m_sWLRXDGDecoMgr;
+ wlr_virtual_pointer_manager_v1* m_sWLRVirtPtrMgr;
+ wlr_foreign_toplevel_manager_v1* m_sWLRToplevelMgr;
+ wlr_tablet_manager_v2* m_sWLRTabletManager;
+ wlr_xdg_foreign_registry* m_sWLRForeignRegistry;
+ wlr_idle_inhibit_manager_v1* m_sWLRIdleInhibitMgr;
+ wlr_pointer_gestures_v1* m_sWLRPointerGestures;
+ wlr_output_power_manager_v1* m_sWLROutputPowerMgr;
+ wlr_input_method_manager_v2* m_sWLRIMEMgr;
+ wlr_text_input_manager_v3* m_sWLRTextInputMgr;
+ wlr_xdg_activation_v1* m_sWLRActivation;
+ wlr_linux_dmabuf_v1* m_sWLRLinuxDMABuf;
+ wlr_backend* m_sWLRHeadlessBackend;
// ------------------------------------------------- //
+ std::string m_szWLDisplaySocket = "";
+ std::string m_szInstanceSignature = "";
+ std::string m_szCurrentSplash = "error";
- std::string m_szWLDisplaySocket = "";
- std::string m_szInstanceSignature = "";
- std::string m_szCurrentSplash = "error";
+ std::vector<std::shared_ptr<CMonitor>> m_vMonitors;
+ std::vector<std::shared_ptr<CMonitor>> m_vRealMonitors; // for all monitors, even those turned off
+ std::vector<std::unique_ptr<CWindow>> m_vWindows;
+ std::deque<std::unique_ptr<CWindow>> m_dUnmanagedX11Windows;
+ std::vector<std::unique_ptr<SXDGPopup>> m_vXDGPopups;
+ std::vector<std::unique_ptr<CWorkspace>> m_vWorkspaces;
+ std::vector<std::unique_ptr<SSubsurface>> m_vSubsurfaces;
+ std::vector<CWindow*> m_vWindowsFadingOut;
+ std::vector<SLayerSurface*> m_vSurfacesFadingOut;
- std::vector<std::shared_ptr<CMonitor>> m_vMonitors;
- std::vector<std::shared_ptr<CMonitor>> m_vRealMonitors; // for all monitors, even those turned off
- std::vector<std::unique_ptr<CWindow>> m_vWindows;
- std::deque<std::unique_ptr<CWindow>> m_dUnmanagedX11Windows;
- std::vector<std::unique_ptr<SXDGPopup>> m_vXDGPopups;
- std::vector<std::unique_ptr<CWorkspace>> m_vWorkspaces;
- std::vector<std::unique_ptr<SSubsurface>> m_vSubsurfaces;
- std::vector<CWindow*> m_vWindowsFadingOut;
- std::vector<SLayerSurface*> m_vSurfacesFadingOut;
+ void startCompositor();
+ void cleanup();
- void startCompositor();
- void cleanup();
+ wlr_surface* m_pLastFocus = nullptr;
+ CWindow* m_pLastWindow = nullptr;
+ CMonitor* m_pLastMonitor = nullptr;
- wlr_surface* m_pLastFocus = nullptr;
- CWindow* m_pLastWindow = nullptr;
- CMonitor* m_pLastMonitor = nullptr;
+ SSeat m_sSeat;
- SSeat m_sSeat;
-
- bool m_bReadyToProcess = false;
- bool m_bSessionActive = true;
- bool m_bDPMSStateON = true;
- bool m_bUnsafeState = false; // unsafe state is when there is no monitors.
- bool m_bIsShuttingDown = false;
- std::deque<uint64_t> m_dProcessPIDsOnShutdown; // stores PIDs of apps to kill later when shutting down
+ bool m_bReadyToProcess = false;
+ bool m_bSessionActive = true;
+ bool m_bDPMSStateON = true;
+ bool m_bUnsafeState = false; // unsafe state is when there is no monitors.
+ bool m_bIsShuttingDown = false;
+ std::deque<uint64_t> m_dProcessPIDsOnShutdown; // stores PIDs of apps to kill later when shutting down
// ------------------------------------------------- //
- CMonitor* getMonitorFromID(const int&);
- CMonitor* getMonitorFromName(const std::string&);
- CMonitor* getMonitorFromCursor();
- CMonitor* getMonitorFromVector(const Vector2D&);
- void removeWindowFromVectorSafe(CWindow*);
- void focusWindow(CWindow*, wlr_surface* pSurface = nullptr);
- void focusSurface(wlr_surface*, CWindow* pWindowOwner = nullptr);
- bool windowExists(CWindow*);
- bool windowValidMapped(CWindow*);
- CWindow* vectorToWindow(const Vector2D&);
- CWindow* vectorToWindowIdeal(const Vector2D&); // used only for finding a window to focus on, basically a "findFocusableWindow"
- CWindow* vectorToWindowTiled(const Vector2D&);
- wlr_surface* vectorToLayerSurface(const Vector2D&, std::vector<std::unique_ptr<SLayerSurface>>*, Vector2D*, SLayerSurface**);
- wlr_surface* vectorWindowToSurface(const Vector2D&, CWindow*, Vector2D& sl);
- CWindow* windowFromCursor();
- CWindow* windowFloatingFromCursor();
- CMonitor* getMonitorFromOutput(wlr_output*);
- CWindow* getWindowForPopup(wlr_xdg_popup*);
- CWindow* getWindowFromSurface(wlr_surface*);
- CWindow* getWindowFromHandle(uint32_t);
- CWindow* getWindowFromZWLRHandle(wl_resource*);
- bool isWorkspaceVisible(const int&);
- CWorkspace* getWorkspaceByID(const int&);
- CWorkspace* getWorkspaceByName(const std::string&);
- CWorkspace* getWorkspaceByString(const std::string&);
- void sanityCheckWorkspaces();
- void updateWorkspaceWindowDecos(const int&);
- int getWindowsOnWorkspace(const int&);
- CWindow* getFirstWindowOnWorkspace(const int&);
- CWindow* getFullscreenWindowOnWorkspace(const int&);
- bool doesSeatAcceptInput(wlr_surface*);
- bool isWindowActive(CWindow*);
- void moveWindowToTop(CWindow*);
- void cleanupFadingOut(const int& monid);
- CWindow* getWindowInDirection(CWindow*, char);
- void deactivateAllWLRWorkspaces(wlr_ext_workspace_handle_v1* exclude = nullptr);
- CWindow* getNextWindowOnWorkspace(CWindow*, bool focusableOnly = false);
- CWindow* getPrevWindowOnWorkspace(CWindow*, bool focusableOnly = false);
- int getNextAvailableNamedWorkspace();
- bool isPointOnAnyMonitor(const Vector2D&);
- CWindow* getConstraintWindow(SMouse*);
- CMonitor* getMonitorInDirection(const char&);
- void updateAllWindowsAnimatedDecorationValues();
- void updateWindowAnimatedDecorationValues(CWindow*);
- int getNextAvailableMonitorID();
- void moveWorkspaceToMonitor(CWorkspace*, CMonitor*);
- void swapActiveWorkspaces(CMonitor*, CMonitor*);
- CMonitor* getMonitorFromString(const std::string&);
- bool workspaceIDOutOfBounds(const int&);
- void setWindowFullscreen(CWindow*, bool, eFullscreenMode);
- void moveUnmanagedX11ToWindows(CWindow*);
- CWindow* getX11Parent(CWindow*);
- void scheduleFrameForMonitor(CMonitor*);
- void addToFadingOutSafe(SLayerSurface*);
- void addToFadingOutSafe(CWindow*);
- CWindow* getWindowByRegex(const std::string&);
- void warpCursorTo(const Vector2D&);
- SLayerSurface* getLayerSurfaceFromWlr(wlr_layer_surface_v1*);
- SLayerSurface* getLayerSurfaceFromSurface(wlr_surface*);
- void closeWindow(CWindow*);
- Vector2D parseWindowVectorArgsRelative(const std::string&, const Vector2D&);
- void forceReportSizesToWindowsOnWorkspace(const int&);
- bool cursorOnReservedArea();
- CWorkspace* createNewWorkspace(const int&, const int&, const std::string& name = ""); // will be deleted next frame if left empty and unfocused!
- void setActiveMonitor(CMonitor*);
- bool isWorkspaceSpecial(const int&);
- int getNewSpecialID();
-
- std::string explicitConfigPath;
-
-private:
- void initAllSignals();
- void setRandomSplash();
-
- uint64_t m_iHyprlandPID = 0;
+ CMonitor* getMonitorFromID(const int&);
+ CMonitor* getMonitorFromName(const std::string&);
+ CMonitor* getMonitorFromCursor();
+ CMonitor* getMonitorFromVector(const Vector2D&);
+ void removeWindowFromVectorSafe(CWindow*);
+ void focusWindow(CWindow*, wlr_surface* pSurface = nullptr);
+ void focusSurface(wlr_surface*, CWindow* pWindowOwner = nullptr);
+ bool windowExists(CWindow*);
+ bool windowValidMapped(CWindow*);
+ CWindow* vectorToWindow(const Vector2D&);
+ CWindow* vectorToWindowIdeal(const Vector2D&); // used only for finding a window to focus on, basically a "findFocusableWindow"
+ CWindow* vectorToWindowTiled(const Vector2D&);
+ wlr_surface* vectorToLayerSurface(const Vector2D&, std::vector<std::unique_ptr<SLayerSurface>>*, Vector2D*, SLayerSurface**);
+ wlr_surface* vectorWindowToSurface(const Vector2D&, CWindow*, Vector2D& sl);
+ CWindow* windowFromCursor();
+ CWindow* windowFloatingFromCursor();
+ CMonitor* getMonitorFromOutput(wlr_output*);
+ CWindow* getWindowForPopup(wlr_xdg_popup*);
+ CWindow* getWindowFromSurface(wlr_surface*);
+ CWindow* getWindowFromHandle(uint32_t);
+ CWindow* getWindowFromZWLRHandle(wl_resource*);
+ bool isWorkspaceVisible(const int&);
+ CWorkspace* getWorkspaceByID(const int&);
+ CWorkspace* getWorkspaceByName(const std::string&);
+ CWorkspace* getWorkspaceByString(const std::string&);
+ void sanityCheckWorkspaces();
+ void updateWorkspaceWindowDecos(const int&);
+ int getWindowsOnWorkspace(const int&);
+ CWindow* getFirstWindowOnWorkspace(const int&);
+ CWindow* getFullscreenWindowOnWorkspace(const int&);
+ bool doesSeatAcceptInput(wlr_surface*);
+ bool isWindowActive(CWindow*);
+ void moveWindowToTop(CWindow*);
+ void cleanupFadingOut(const int& monid);
+ CWindow* getWindowInDirection(CWindow*, char);
+ void deactivateAllWLRWorkspaces(wlr_ext_workspace_handle_v1* exclude = nullptr);
+ CWindow* getNextWindowOnWorkspace(CWindow*, bool focusableOnly = false);
+ CWindow* getPrevWindowOnWorkspace(CWindow*, bool focusableOnly = false);
+ int getNextAvailableNamedWorkspace();
+ bool isPointOnAnyMonitor(const Vector2D&);
+ CWindow* getConstraintWindow(SMouse*);
+ CMonitor* getMonitorInDirection(const char&);
+ void updateAllWindowsAnimatedDecorationValues();
+ void updateWindowAnimatedDecorationValues(CWindow*);
+ int getNextAvailableMonitorID();
+ void moveWorkspaceToMonitor(CWorkspace*, CMonitor*);
+ void swapActiveWorkspaces(CMonitor*, CMonitor*);
+ CMonitor* getMonitorFromString(const std::string&);
+ bool workspaceIDOutOfBounds(const int&);
+ void setWindowFullscreen(CWindow*, bool, eFullscreenMode);
+ void moveUnmanagedX11ToWindows(CWindow*);
+ CWindow* getX11Parent(CWindow*);
+ void scheduleFrameForMonitor(CMonitor*);
+ void addToFadingOutSafe(SLayerSurface*);
+ void addToFadingOutSafe(CWindow*);
+ CWindow* getWindowByRegex(const std::string&);
+ void warpCursorTo(const Vector2D&);
+ SLayerSurface* getLayerSurfaceFromWlr(wlr_layer_surface_v1*);
+ SLayerSurface* getLayerSurfaceFromSurface(wlr_surface*);
+ void closeWindow(CWindow*);
+ Vector2D parseWindowVectorArgsRelative(const std::string&, const Vector2D&);
+ void forceReportSizesToWindowsOnWorkspace(const int&);
+ bool cursorOnReservedArea();
+ CWorkspace* createNewWorkspace(const int&, const int&, const std::string& name = ""); // will be deleted next frame if left empty and unfocused!
+ void setActiveMonitor(CMonitor*);
+ bool isWorkspaceSpecial(const int&);
+ int getNewSpecialID();
+
+ std::string explicitConfigPath;
+
+ private:
+ void initAllSignals();
+ void setRandomSplash();
+
+ uint64_t m_iHyprlandPID = 0;
};
-
inline std::unique_ptr<CCompositor> g_pCompositor;
// For XWayland
-inline std::map<std::string, xcb_atom_t> HYPRATOMS = {
- HYPRATOM("_NET_WM_WINDOW_TYPE"),
- HYPRATOM("_NET_WM_WINDOW_TYPE_NORMAL"),
- HYPRATOM("_NET_WM_WINDOW_TYPE_DOCK"),
- HYPRATOM("_NET_WM_WINDOW_TYPE_DIALOG"),
- HYPRATOM("_NET_WM_WINDOW_TYPE_UTILITY"),
- HYPRATOM("_NET_WM_WINDOW_TYPE_TOOLBAR"),
- HYPRATOM("_NET_WM_WINDOW_TYPE_SPLASH"),
- HYPRATOM("_NET_WM_WINDOW_TYPE_MENU"),
- HYPRATOM("_NET_WM_WINDOW_TYPE_DROPDOWN_MENU"),
- HYPRATOM("_NET_WM_WINDOW_TYPE_POPUP_MENU"),
- HYPRATOM("_NET_WM_WINDOW_TYPE_TOOLTIP"),
- HYPRATOM("_NET_WM_WINDOW_TYPE_NOTIFICATION")};
+inline std::map<std::string, xcb_atom_t> HYPRATOMS = {HYPRATOM("_NET_WM_WINDOW_TYPE"),
+ HYPRATOM("_NET_WM_WINDOW_TYPE_NORMAL"),
+ HYPRATOM("_NET_WM_WINDOW_TYPE_DOCK"),
+ HYPRATOM("_NET_WM_WINDOW_TYPE_DIALOG"),
+ HYPRATOM("_NET_WM_WINDOW_TYPE_UTILITY"),
+ HYPRATOM("_NET_WM_WINDOW_TYPE_TOOLBAR"),
+ HYPRATOM("_NET_WM_WINDOW_TYPE_SPLASH"),
+ HYPRATOM("_NET_WM_WINDOW_TYPE_MENU"),
+ HYPRATOM("_NET_WM_WINDOW_TYPE_DROPDOWN_MENU"),
+ HYPRATOM("_NET_WM_WINDOW_TYPE_POPUP_MENU"),
+ HYPRATOM("_NET_WM_WINDOW_TYPE_TOOLTIP"),
+ HYPRATOM("_NET_WM_WINDOW_TYPE_NOTIFICATION")};