diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 13d30e1c..084ac667 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -30,6 +30,8 @@ jobs: - name: Checkout Hyprland uses: actions/checkout@v3 + with: + submodules: recursive - name: Build Hyprland With default settings run: | diff --git a/.github/workflows/nix-build.yaml b/.github/workflows/nix-build.yaml index 0f74c4d5..b0905fee 100644 --- a/.github/workflows/nix-build.yaml +++ b/.github/workflows/nix-build.yaml @@ -8,6 +8,8 @@ jobs: steps: - name: Clone repository uses: actions/checkout@v3 + with: + submodules: recursive - name: Install nix uses: cachix/install-nix-action@v17 with: diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 00000000..b0169c16 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "wlroots"] + path = wlroots + url = https://gitlab.freedesktop.org/wlroots/wlroots diff --git a/Makefile b/Makefile index b185eb90..08a17dfb 100644 --- a/Makefile +++ b/Makefile @@ -89,6 +89,7 @@ clear: rm -rf build rm -f *.o *-protocol.h *-protocol.c rm -f ./hyprctl/hyprctl + rm -rf ./wlroots/build all: make config @@ -113,4 +114,16 @@ uninstall: rm -f ${PREFIX}/bin/hyprctl rm -rf ${PREFIX}/share/hyprland -config: xdg-shell-protocol.o wlr-layer-shell-unstable-v1-protocol.o wlr-screencopy-unstable-v1-protocol.o idle-protocol.o ext-workspace-unstable-v1-protocol.o pointer-constraints-unstable-v1-protocol.o +protocols: xdg-shell-protocol.o wlr-layer-shell-unstable-v1-protocol.o wlr-screencopy-unstable-v1-protocol.o idle-protocol.o ext-workspace-unstable-v1-protocol.o pointer-constraints-unstable-v1-protocol.o + +config: + make protocols + + sed -i -E 's/(soversion = 11)([^032]|$$)/soversion = 11032/g' ./wlroots/meson.build + + rm -rf ./wlroots/build + + cd wlroots && meson ./build --prefix=/usr --buildtype=release + cd wlroots && ninja -C build/ + + cd wlroots && sudo cp ./build/libwlroots.so.11032 /usr/lib/ diff --git a/src/includes.hpp b/src/includes.hpp index 65f2d0f4..5c216b7e 100644 --- a/src/includes.hpp +++ b/src/includes.hpp @@ -34,56 +34,56 @@ #define static extern "C" { -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include +#include "../wlroots/include/wlr/backend.h" +#include "../wlroots/include/wlr/backend/libinput.h" +#include "../wlroots/include/wlr/render/allocator.h" +#include "../wlroots/include/wlr/render/wlr_renderer.h" +#include "../wlroots/include/wlr/types/wlr_compositor.h" +#include "../wlroots/include/wlr/types/wlr_cursor.h" +#include "../wlroots/include/wlr/types/wlr_data_control_v1.h" +#include "../wlroots/include/wlr/types/wlr_data_device.h" +#include "../wlroots/include/wlr/types/wlr_export_dmabuf_v1.h" +#include "../wlroots/include/wlr/types/wlr_linux_dmabuf_v1.h" +#include "../wlroots/include/wlr/types/wlr_gamma_control_v1.h" +#include "../wlroots/include/wlr/types/wlr_idle.h" +#include "../wlroots/include/wlr/types/wlr_input_device.h" +#include "../wlroots/include/wlr/types/wlr_keyboard.h" +#include "../wlroots/include/wlr/types/wlr_layer_shell_v1.h" +#include "../wlroots/include/wlr/types/wlr_matrix.h" +#include "../wlroots/include/wlr/types/wlr_output.h" +#include "../wlroots/include/wlr/types/wlr_output_layout.h" +#include "../wlroots/include/wlr/types/wlr_output_management_v1.h" +#include "../wlroots/include/wlr/types/wlr_pointer.h" +#include "../wlroots/include/wlr/types/wlr_presentation_time.h" +#include "../wlroots/include/wlr/types/wlr_primary_selection.h" +#include "../wlroots/include/wlr/types/wlr_primary_selection_v1.h" +#include "../wlroots/include/wlr/types/wlr_screencopy_v1.h" +#include "../wlroots/include/wlr/types/wlr_seat.h" +#include "../wlroots/include/wlr/types/wlr_server_decoration.h" +#include "../wlroots/include/wlr/types/wlr_viewporter.h" +#include "../wlroots/include/wlr/types/wlr_virtual_keyboard_v1.h" +#include "../wlroots/include/wlr/types/wlr_xcursor_manager.h" +#include "../wlroots/include/wlr/types/wlr_xdg_activation_v1.h" +#include "../wlroots/include/wlr/types/wlr_xdg_decoration_v1.h" +#include "../wlroots/include/wlr/types/wlr_xdg_output_v1.h" +#include "../wlroots/include/wlr/types/wlr_xdg_shell.h" +#include "../wlroots/include/wlr/types/wlr_subcompositor.h" +#include "../wlroots/include/wlr/types/wlr_scene.h" +#include "../wlroots/include/wlr/types/wlr_output_damage.h" +#include "../wlroots/include/wlr/types/wlr_input_inhibitor.h" +#include "../wlroots/include/wlr/types/wlr_keyboard_shortcuts_inhibit_v1.h" +#include "../wlroots/include/wlr/types/wlr_virtual_pointer_v1.h" +#include "../wlroots/include/wlr/types/wlr_foreign_toplevel_management_v1.h" +#include "../wlroots/include/wlr/util/log.h" +#include "../wlroots/include/wlr/xwayland.h" +#include "../wlroots/include/wlr/util/region.h" #include #include -#include -#include -#include -#include -#include +#include "../wlroots/include/wlr/render/egl.h" +#include "../wlroots/include/wlr/render/gles2.h" +#include "../wlroots/include/wlr/render/wlr_texture.h" +#include "../wlroots/include/wlr/types/wlr_pointer_constraints_v1.h" +#include "../wlroots/include/wlr/types/wlr_relative_pointer_v1.h" } #undef class diff --git a/wlroots b/wlroots new file mode 160000 index 00000000..75d31509 --- /dev/null +++ b/wlroots @@ -0,0 +1 @@ +Subproject commit 75d31509db8c28e8379fe9570118ef8c82284581