mirror of
https://github.com/cemu-project/Cemu.git
synced 2025-07-04 14:01:17 +12:00
Wayland: Set app_id for icon in kde (#718)
This commit is contained in:
parent
715d2247a9
commit
be1e77186e
5 changed files with 51 additions and 3 deletions
24
src/gui/helpers/wxWayland.cpp
Normal file
24
src/gui/helpers/wxWayland.cpp
Normal file
|
@ -0,0 +1,24 @@
|
|||
#include "gui/helpers/wxWayland.h"
|
||||
|
||||
#if BOOST_OS_LINUX && HAS_WAYLAND
|
||||
|
||||
#include <dlfcn.h>
|
||||
|
||||
bool wxWlIsWaylandWindow(wxWindow* window)
|
||||
{
|
||||
GtkWidget* gtkWindow = static_cast<GtkWidget*>(window->GetHandle());
|
||||
GdkWindow* gdkWindow = gtk_widget_get_window(gtkWindow);
|
||||
return GDK_IS_WAYLAND_WINDOW(gdkWindow);
|
||||
}
|
||||
|
||||
void wxWlSetAppId(wxFrame* frame, const char* applicationId)
|
||||
{
|
||||
GtkWidget* gtkWindow = static_cast<GtkWidget*>(frame->GetHandle());
|
||||
gtk_widget_realize(gtkWindow);
|
||||
GdkWindow* gdkWindow = gtk_widget_get_window(gtkWindow);
|
||||
static auto gdk_wl_set_app_id = reinterpret_cast<void (*) (GdkWindow*, const char*)>(dlsym(nullptr, "gdk_wayland_window_set_application_id"));
|
||||
if (gdk_wl_set_app_id)
|
||||
gdk_wl_set_app_id(gdkWindow, applicationId);
|
||||
}
|
||||
|
||||
#endif // BOOST_OS_LINUX && HAS_WAYLAND
|
Loading…
Add table
Add a link
Reference in a new issue