wayland: Fix Wayland appId

This commit is contained in:
Reilly Brogan 2024-05-30 17:16:48 -05:00 committed by LibretroAdmin
parent 0e9ea9fd47
commit 7f3de64ef8
9 changed files with 21 additions and 12 deletions

View File

@ -240,7 +240,7 @@ install: $(TARGET)
cp tools/cg2glsl.py $(DESTDIR)$(BIN_DIR)/retroarch-cg2glsl
cp retroarch.cfg $(DESTDIR)$(GLOBAL_CONFIG_DIR)
cp com.libretro.RetroArch.appdata.xml $(DESTDIR)$(DATA_DIR)/metainfo
cp retroarch.desktop $(DESTDIR)$(DATA_DIR)/applications
cp org.libretro.RetroArch.desktop $(DESTDIR)$(DATA_DIR)/applications
cp docs/retroarch.6 $(DESTDIR)$(MAN_DIR)/man6
cp docs/retroarch-cg2glsl.6 $(DESTDIR)$(MAN_DIR)/man6
cp media/retroarch.svg $(DESTDIR)$(DATA_DIR)/pixmaps
@ -249,7 +249,7 @@ install: $(TARGET)
chmod 755 $(DESTDIR)$(BIN_DIR)/$(TARGET)
chmod 755 $(DESTDIR)$(BIN_DIR)/retroarch-cg2glsl
chmod 644 $(DESTDIR)$(GLOBAL_CONFIG_DIR)/retroarch.cfg
chmod 644 $(DESTDIR)$(DATA_DIR)/applications/retroarch.desktop
chmod 644 $(DESTDIR)$(DATA_DIR)/applications/org.libretro.RetroArch.desktop
chmod 644 $(DESTDIR)$(DATA_DIR)/metainfo/com.libretro.RetroArch.appdata.xml
chmod 644 $(DESTDIR)$(MAN_DIR)/man6/retroarch.6
chmod 644 $(DESTDIR)$(MAN_DIR)/man6/retroarch-cg2glsl.6
@ -274,7 +274,7 @@ uninstall:
rm -f $(DESTDIR)$(BIN_DIR)/$(TARGET)
rm -f $(DESTDIR)$(BIN_DIR)/retroarch-cg2glsl
rm -f $(DESTDIR)$(GLOBAL_CONFIG_DIR)/retroarch.cfg
rm -f $(DESTDIR)$(DATA_DIR)/applications/retroarch.desktop
rm -f $(DESTDIR)$(DATA_DIR)/applications/org.libretro.RetroArch.desktop
rm -f $(DESTDIR)$(DATA_DIR)/metainfo/com.libretro.RetroArch.appdata.xml
rm -f $(DESTDIR)$(DATA_DIR)/pixmaps/retroarch.svg
rm -f $(DESTDIR)$(DOC_DIR)/COPYING

View File

@ -214,7 +214,7 @@ install: $(TARGET)
cp tools/cg2glsl.py $(DESTDIR)$(BIN_DIR)/retroarch-cg2glsl
cp retroarch.cfg $(DESTDIR)$(GLOBAL_CONFIG_DIR)
cp com.libretro.RetroArch.appdata.xml $(DESTDIR)$(DATA_DIR)/metainfo
cp retroarch.desktop $(DESTDIR)$(DATA_DIR)/applications
cp org.libretro.RetroArch.desktop $(DESTDIR)$(DATA_DIR)/applications
cp docs/retroarch.6 $(DESTDIR)$(MAN_DIR)/man6
cp docs/retroarch-cg2glsl.6 $(DESTDIR)$(MAN_DIR)/man6
cp media/retroarch.svg $(DESTDIR)$(DATA_DIR)/pixmaps
@ -223,7 +223,7 @@ install: $(TARGET)
chmod 755 $(DESTDIR)$(BIN_DIR)/$(TARGET)
chmod 755 $(DESTDIR)$(BIN_DIR)/retroarch-cg2glsl
chmod 644 $(DESTDIR)$(GLOBAL_CONFIG_DIR)/retroarch.cfg
chmod 644 $(DESTDIR)$(DATA_DIR)/applications/retroarch.desktop
chmod 644 $(DESTDIR)$(DATA_DIR)/applications/org.libretro.RetroArch.desktop
chmod 644 $(DESTDIR)$(DATA_DIR)/metainfo/com.libretro.RetroArch.appdata.xml
chmod 644 $(DESTDIR)$(MAN_DIR)/man6/retroarch.6
chmod 644 $(DESTDIR)$(MAN_DIR)/man6/retroarch-cg2glsl.6

View File

@ -2,7 +2,7 @@
<!-- Copyright 2019 Rob Loach <robloach@gmail.com> -->
<component type="desktop-application">
<id>com.libretro.RetroArch</id>
<launchable type="desktop-id">retroarch.desktop</launchable>
<launchable type="desktop-id">org.libretro.RetroArch.desktop</launchable>
<name>RetroArch</name>
<summary>Frontend for emulators, game engines and media players</summary>
<developer_name>libretro</developer_name>

View File

@ -34,7 +34,6 @@
#define SPLASH_SHM_NAME "retroarch-wayland-vk-splash"
#define APP_ID "org.libretro.RetroArch"
#define WINDOW_TITLE "RetroArch"
#ifdef HAVE_LIBDECOR_H
@ -727,7 +726,7 @@ bool gfx_ctx_wl_init_common(
goto error;
}
wl->libdecor_frame_set_app_id(wl->libdecor_frame, APP_ID);
wl->libdecor_frame_set_app_id(wl->libdecor_frame, WAYLAND_APP_ID);
wl->libdecor_frame_set_title(wl->libdecor_frame, WINDOW_TITLE);
wl->libdecor_frame_map(wl->libdecor_frame);
@ -753,7 +752,7 @@ bool gfx_ctx_wl_init_common(
wl->xdg_toplevel = xdg_surface_get_toplevel(wl->xdg_surface);
xdg_toplevel_add_listener(wl->xdg_toplevel, &toplevel_listener->xdg_toplevel_listener, wl);
xdg_toplevel_set_app_id(wl->xdg_toplevel, APP_ID);
xdg_toplevel_set_app_id(wl->xdg_toplevel, WAYLAND_APP_ID);
xdg_toplevel_set_title(wl->xdg_toplevel, WINDOW_TITLE);
if (wl->deco_manager)

View File

@ -25,6 +25,8 @@
#define SPLASH_WINDOW_WIDTH 240
#define SPLASH_WINDOW_HEIGHT 256
#define WAYLAND_APP_ID "org.libretro.RetroArch"
typedef struct toplevel_listener
{
#ifdef HAVE_LIBDECOR_H

View File

@ -170,7 +170,7 @@ typedef struct gfx_ctx_wayland_data
struct libdecor *libdecor_context;
struct libdecor_frame *libdecor_frame;
#ifdef HAVE_DYLIB
struct dylib_t *libdecor;
dylib_t libdecor;
#define RA_WAYLAND_SYM(rc,fn,params) rc (*fn) params;
#include "../../gfx/common/wayland/libdecor_sym.h"
#endif

View File

@ -63,7 +63,7 @@ sed -i \
sed -i \
's|^Exec=retroarch|Exec=retroarch --menu|' \
%{buildroot}/usr/share/applications/retroarch.desktop
%{buildroot}/usr/share/applications/org.libretro.RetroArch.desktop
# Install icon file in the correct place
mkdir -p %{buildroot}/usr/share/icons/hicolor/86x86/apps
@ -75,7 +75,7 @@ sed -i \
%doc README.md
%config /etc/retroarch.cfg
%{_prefix}/bin/retroarch
%{_prefix}/share/applications/retroarch.desktop
%{_prefix}/share/applications/org.libretro.RetroArch.desktop
%{_prefix}/share/man/man6/*.6*
%{_prefix}/share/icons/hicolor/86x86/apps/retroarch.*
%{_prefix}/share/doc/retroarch/*

View File

@ -91,6 +91,10 @@ extern "C" {
#include "../../version_git.h"
#endif
#ifdef HAVE_WAYLAND
#include "../../gfx/common/wayland_common.h"
#endif
#ifndef CXX_BUILD
}
#endif
@ -4230,6 +4234,10 @@ static void* ui_application_qt_initialize(void)
#ifdef Q_OS_UNIX
setlocale(LC_NUMERIC, "C");
#ifdef HAVE_WAYLAND
// This needs to match the name of the .desktop file in order for windows to be correctly associated on Wayland
ui_application.app->setDesktopFileName(WAYLAND_APP_ID);
#endif
#endif
{
/* Can't declare the pixmap at the top, because: "QPixmap: Must construct a QGuiApplication before a QPixmap" */