diff --git a/src/api/wayfire/nonstd/wlroots-full.hpp b/src/api/wayfire/nonstd/wlroots-full.hpp index 8dea78ab3..5c67194fa 100644 --- a/src/api/wayfire/nonstd/wlroots-full.hpp +++ b/src/api/wayfire/nonstd/wlroots-full.hpp @@ -134,6 +134,7 @@ extern "C" #include #include #include +#include // Activation plugin #include diff --git a/src/core/core.cpp b/src/core/core.cpp index c2a42c02f..e1aaed987 100644 --- a/src/core/core.cpp +++ b/src/core/core.cpp @@ -191,6 +191,8 @@ void wf::compositor_core_impl_t::init() protocols.foreign_v2 = wlr_xdg_foreign_v2_create(display, protocols.foreign_registry); + wlr_fractional_scale_manager_v1_create(display, 1); + this->bindings = std::make_unique(); image_io::init(); OpenGL::init(); diff --git a/src/view/wlr-surface-node.cpp b/src/view/wlr-surface-node.cpp index 08409cc3e..b67b559b4 100644 --- a/src/view/wlr-surface-node.cpp +++ b/src/view/wlr-surface-node.cpp @@ -252,6 +252,7 @@ class wf::scene::wlr_surface_node_t::wlr_surface_render_instance_t : public rend if (self->surface) { wlr_surface_send_enter(self->surface, visible_on->handle); + wlr_fractional_scale_v1_notify_scale(self->surface, visible_on->handle->scale); } }