@@ -158,14 +158,12 @@ set(GEN_C_HEADERS
|
|||||||
"${GEN_DIR}/xdg-shell-client-protocol.h"
|
"${GEN_DIR}/xdg-shell-client-protocol.h"
|
||||||
"${GEN_DIR}/wlr-layer-shell-unstable-v1-client-protocol.h"
|
"${GEN_DIR}/wlr-layer-shell-unstable-v1-client-protocol.h"
|
||||||
"${GEN_DIR}/ext-background-effect-v1-client-protocol.h"
|
"${GEN_DIR}/ext-background-effect-v1-client-protocol.h"
|
||||||
"${GEN_DIR}/blur-client-protocol.h"
|
|
||||||
"${GEN_DIR}/text-input-unstable-v3-client-protocol.h"
|
"${GEN_DIR}/text-input-unstable-v3-client-protocol.h"
|
||||||
)
|
)
|
||||||
set(GEN_C_PRIVATES
|
set(GEN_C_PRIVATES
|
||||||
"${GEN_DIR}/xdg-shell-protocol.c"
|
"${GEN_DIR}/xdg-shell-protocol.c"
|
||||||
"${GEN_DIR}/wlr-layer-shell-unstable-v1-protocol.c"
|
"${GEN_DIR}/wlr-layer-shell-unstable-v1-protocol.c"
|
||||||
"${GEN_DIR}/ext-background-effect-v1-protocol.c"
|
"${GEN_DIR}/ext-background-effect-v1-protocol.c"
|
||||||
"${GEN_DIR}/blur-protocol.c"
|
|
||||||
"${GEN_DIR}/text-input-unstable-v3-protocol.c"
|
"${GEN_DIR}/text-input-unstable-v3-protocol.c"
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -182,9 +180,6 @@ add_custom_command(
|
|||||||
# text-input-unstable-v3
|
# text-input-unstable-v3
|
||||||
COMMAND "${WAYLAND_SCANNER}" client-header "${TEXT_INPUT_XML}" "${GEN_DIR}/text-input-unstable-v3-client-protocol.h"
|
COMMAND "${WAYLAND_SCANNER}" client-header "${TEXT_INPUT_XML}" "${GEN_DIR}/text-input-unstable-v3-client-protocol.h"
|
||||||
COMMAND "${WAYLAND_SCANNER}" private-code "${TEXT_INPUT_XML}" "${GEN_DIR}/text-input-unstable-v3-protocol.c"
|
COMMAND "${WAYLAND_SCANNER}" private-code "${TEXT_INPUT_XML}" "${GEN_DIR}/text-input-unstable-v3-protocol.c"
|
||||||
# org-kde-win-blur
|
|
||||||
COMMAND "${WAYLAND_SCANNER}" client-header "${CMAKE_CURRENT_SOURCE_DIR}/blur.xml" "${GEN_DIR}/blur-client-protocol.h"
|
|
||||||
COMMAND "${WAYLAND_SCANNER}" private-code "${CMAKE_CURRENT_SOURCE_DIR}/blur.xml" "${GEN_DIR}/blur-protocol.c"
|
|
||||||
DEPENDS "${XDG_SHELL_XML}" "${WLR_LAYER_SHELL_XML}" "${TEXT_INPUT_XML}"
|
DEPENDS "${XDG_SHELL_XML}" "${WLR_LAYER_SHELL_XML}" "${TEXT_INPUT_XML}"
|
||||||
COMMENT "Generating Wayland + wlr-layer-shell client headers and private code"
|
COMMENT "Generating Wayland + wlr-layer-shell client headers and private code"
|
||||||
VERBATIM
|
VERBATIM
|
||||||
|
|||||||
28
blur.xml
28
blur.xml
@@ -1,28 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<protocol name="blur">
|
|
||||||
<copyright><![CDATA[
|
|
||||||
SPDX-FileCopyrightText: 2015 Martin Gräßlin
|
|
||||||
SPDX-FileCopyrightText: 2015 Marco Martin
|
|
||||||
|
|
||||||
SPDX-License-Identifier: LGPL-2.1-or-later
|
|
||||||
]]></copyright>
|
|
||||||
<interface name="org_kde_kwin_blur_manager" version="1">
|
|
||||||
<request name="create">
|
|
||||||
<arg name="id" type="new_id" interface="org_kde_kwin_blur"/>
|
|
||||||
<arg name="surface" type="object" interface="wl_surface"/>
|
|
||||||
</request>
|
|
||||||
<request name="unset">
|
|
||||||
<arg name="surface" type="object" interface="wl_surface"/>
|
|
||||||
</request>
|
|
||||||
</interface>
|
|
||||||
<interface name="org_kde_kwin_blur" version="1">
|
|
||||||
<request name="commit">
|
|
||||||
</request>
|
|
||||||
<request name="set_region">
|
|
||||||
<arg name="region" type="object" interface="wl_region" allow-null="true"/>
|
|
||||||
</request>
|
|
||||||
<request name="release" type="destructor">
|
|
||||||
<description summary="release the blur object"/>
|
|
||||||
</request>
|
|
||||||
</interface>
|
|
||||||
</protocol>
|
|
||||||
22
src/App.cpp
22
src/App.cpp
@@ -31,7 +31,6 @@
|
|||||||
#include "wlr-layer-shell-unstable-v1-client-protocol.h"
|
#include "wlr-layer-shell-unstable-v1-client-protocol.h"
|
||||||
#undef namespace
|
#undef namespace
|
||||||
|
|
||||||
#include "blur-client-protocol.h"
|
|
||||||
#include "ext-background-effect-v1-client-protocol.h"
|
#include "ext-background-effect-v1-client-protocol.h"
|
||||||
|
|
||||||
namespace Waylight {
|
namespace Waylight {
|
||||||
@@ -578,10 +577,6 @@ auto App::init_wayland() -> void
|
|||||||
= static_cast<ext_background_effect_manager_v1 *>(
|
= static_cast<ext_background_effect_manager_v1 *>(
|
||||||
wl_registry_bind(registry, name,
|
wl_registry_bind(registry, name,
|
||||||
&ext_background_effect_manager_v1_interface, 1));
|
&ext_background_effect_manager_v1_interface, 1));
|
||||||
} else if (std::strcmp(interface, "org_kde_kwin_blur_manager") == 0) {
|
|
||||||
app->m_wayland.kde_blur_mgr
|
|
||||||
= static_cast<org_kde_kwin_blur_manager *>(wl_registry_bind(
|
|
||||||
registry, name, &org_kde_kwin_blur_manager_interface, 1));
|
|
||||||
} else if (std::strcmp(
|
} else if (std::strcmp(
|
||||||
interface, zwp_text_input_manager_v3_interface.name)
|
interface, zwp_text_input_manager_v3_interface.name)
|
||||||
== 0) {
|
== 0) {
|
||||||
@@ -869,10 +864,6 @@ auto App::create_layer_surface() -> void
|
|||||||
m_wayland.eff = ext_background_effect_manager_v1_get_background_effect(
|
m_wayland.eff = ext_background_effect_manager_v1_get_background_effect(
|
||||||
m_wayland.mgr, m_wayland.surface);
|
m_wayland.mgr, m_wayland.surface);
|
||||||
}
|
}
|
||||||
if (m_wayland.kde_blur_mgr) {
|
|
||||||
m_wayland.kde_blur = org_kde_kwin_blur_manager_create(
|
|
||||||
m_wayland.kde_blur_mgr, m_wayland.surface);
|
|
||||||
}
|
|
||||||
|
|
||||||
m_wayland.layer_surface = zwlr_layer_shell_v1_get_layer_surface(
|
m_wayland.layer_surface = zwlr_layer_shell_v1_get_layer_surface(
|
||||||
m_wayland.layer_shell, m_wayland.surface, nullptr,
|
m_wayland.layer_shell, m_wayland.surface, nullptr,
|
||||||
@@ -883,10 +874,6 @@ auto App::create_layer_surface() -> void
|
|||||||
ext_background_effect_surface_v1_destroy(m_wayland.eff);
|
ext_background_effect_surface_v1_destroy(m_wayland.eff);
|
||||||
m_wayland.eff = nullptr;
|
m_wayland.eff = nullptr;
|
||||||
}
|
}
|
||||||
if (m_wayland.kde_blur) {
|
|
||||||
org_kde_kwin_blur_destroy(m_wayland.kde_blur);
|
|
||||||
m_wayland.kde_blur = nullptr;
|
|
||||||
}
|
|
||||||
if (m_wayland.surface) {
|
if (m_wayland.surface) {
|
||||||
wl_surface_destroy(m_wayland.surface);
|
wl_surface_destroy(m_wayland.surface);
|
||||||
m_wayland.surface = nullptr;
|
m_wayland.surface = nullptr;
|
||||||
@@ -974,11 +961,6 @@ auto App::destroy_layer_surface() -> void
|
|||||||
m_wayland.eff = nullptr;
|
m_wayland.eff = nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (m_wayland.kde_blur) {
|
|
||||||
org_kde_kwin_blur_destroy(m_wayland.kde_blur);
|
|
||||||
m_wayland.kde_blur = nullptr;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (m_wayland.layer_surface) {
|
if (m_wayland.layer_surface) {
|
||||||
zwlr_layer_surface_v1_destroy(m_wayland.layer_surface);
|
zwlr_layer_surface_v1_destroy(m_wayland.layer_surface);
|
||||||
m_wayland.layer_surface = nullptr;
|
m_wayland.layer_surface = nullptr;
|
||||||
@@ -1024,7 +1006,7 @@ auto App::update_blur_region() -> void
|
|||||||
{
|
{
|
||||||
if (!m_wayland.compositor)
|
if (!m_wayland.compositor)
|
||||||
return;
|
return;
|
||||||
if (!m_wayland.eff && !m_wayland.kde_blur)
|
if (!m_wayland.eff)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
wl_region *region = wl_compositor_create_region(m_wayland.compositor);
|
wl_region *region = wl_compositor_create_region(m_wayland.compositor);
|
||||||
@@ -1035,8 +1017,6 @@ auto App::update_blur_region() -> void
|
|||||||
|
|
||||||
if (m_wayland.eff)
|
if (m_wayland.eff)
|
||||||
ext_background_effect_surface_v1_set_blur_region(m_wayland.eff, region);
|
ext_background_effect_surface_v1_set_blur_region(m_wayland.eff, region);
|
||||||
if (m_wayland.kde_blur)
|
|
||||||
org_kde_kwin_blur_set_region(m_wayland.kde_blur, region);
|
|
||||||
|
|
||||||
wl_region_destroy(region);
|
wl_region_destroy(region);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -10,7 +10,6 @@
|
|||||||
#include <libportal/portal.h>
|
#include <libportal/portal.h>
|
||||||
#include <wayland-client-protocol.h>
|
#include <wayland-client-protocol.h>
|
||||||
extern "C" {
|
extern "C" {
|
||||||
#include "blur-client-protocol.h"
|
|
||||||
#define namespace namespace_
|
#define namespace namespace_
|
||||||
#include "ext-background-effect-v1-client-protocol.h"
|
#include "ext-background-effect-v1-client-protocol.h"
|
||||||
#include "text-input-unstable-v3-client-protocol.h"
|
#include "text-input-unstable-v3-client-protocol.h"
|
||||||
@@ -86,8 +85,6 @@ private:
|
|||||||
zwlr_layer_surface_v1 *layer_surface {};
|
zwlr_layer_surface_v1 *layer_surface {};
|
||||||
ext_background_effect_manager_v1 *mgr {};
|
ext_background_effect_manager_v1 *mgr {};
|
||||||
ext_background_effect_surface_v1 *eff {};
|
ext_background_effect_surface_v1 *eff {};
|
||||||
org_kde_kwin_blur_manager *kde_blur_mgr {};
|
|
||||||
org_kde_kwin_blur *kde_blur {};
|
|
||||||
zwp_text_input_manager_v3 *text_input_mgr {};
|
zwp_text_input_manager_v3 *text_input_mgr {};
|
||||||
zwp_text_input_v3 *text_input {};
|
zwp_text_input_v3 *text_input {};
|
||||||
wl_data_device_manager *ddm {};
|
wl_data_device_manager *ddm {};
|
||||||
|
|||||||
@@ -29,7 +29,7 @@ constexpr auto make_default_themes() -> enum_array<Theme, ColorScheme> const
|
|||||||
.foreground_preedit = { 0, 0, 0, 255 },
|
.foreground_preedit = { 0, 0, 0, 255 },
|
||||||
.window =
|
.window =
|
||||||
{
|
{
|
||||||
.background = { 255, 255, 255, 100 },
|
.background = { 255, 255, 255, 200 },
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
array[Theme::Dark] = {
|
array[Theme::Dark] = {
|
||||||
@@ -37,7 +37,7 @@ constexpr auto make_default_themes() -> enum_array<Theme, ColorScheme> const
|
|||||||
.foreground_preedit = { 255, 255, 255, 255 },
|
.foreground_preedit = { 255, 255, 255, 255 },
|
||||||
.window =
|
.window =
|
||||||
{
|
{
|
||||||
.background = { 0, 0, 0, 100 },
|
.background = { 0, 0, 0, 200 },
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
return array;
|
return array;
|
||||||
|
|||||||
Reference in New Issue
Block a user