wayland: Add a hint to allow disabling libdecor use
Useful for testing xdg-shell path with compositors like Weston.main
parent
092a20d945
commit
2e6dac870f
|
@ -1265,6 +1265,17 @@ extern "C" {
|
||||||
*/
|
*/
|
||||||
#define SDL_HINT_VIDEO_MINIMIZE_ON_FOCUS_LOSS "SDL_VIDEO_MINIMIZE_ON_FOCUS_LOSS"
|
#define SDL_HINT_VIDEO_MINIMIZE_ON_FOCUS_LOSS "SDL_VIDEO_MINIMIZE_ON_FOCUS_LOSS"
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \brief A variable controlling whether the libdecor Wayland backend is allowed to be used.
|
||||||
|
*
|
||||||
|
* This variable can be set to the following values:
|
||||||
|
* "0" - libdecor use is disabled.
|
||||||
|
* "1" - libdecor use is enabled (default).
|
||||||
|
*
|
||||||
|
* libdecor is used over xdg-shell when xdg-decoration protocol is unavailable.
|
||||||
|
*/
|
||||||
|
#define SDL_HINT_VIDEO_WAYLAND_ALLOW_LIBDECOR "SDL_VIDEO_WAYLAND_ALLOW_LIBDECOR"
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief A variable that is the address of another SDL_Window* (as a hex string formatted with "%p").
|
* \brief A variable that is the address of another SDL_Window* (as a hex string formatted with "%p").
|
||||||
*
|
*
|
||||||
|
|
|
@ -37,6 +37,7 @@
|
||||||
#include "SDL_waylandtouch.h"
|
#include "SDL_waylandtouch.h"
|
||||||
#include "SDL_waylandclipboard.h"
|
#include "SDL_waylandclipboard.h"
|
||||||
#include "SDL_waylandvulkan.h"
|
#include "SDL_waylandvulkan.h"
|
||||||
|
#include "SDL_hints.h"
|
||||||
|
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
|
@ -555,7 +556,7 @@ Wayland_VideoInit(_THIS)
|
||||||
|
|
||||||
#ifdef HAVE_LIBDECOR_H
|
#ifdef HAVE_LIBDECOR_H
|
||||||
/* Don't have server-side decorations? Try client-side instead. */
|
/* Don't have server-side decorations? Try client-side instead. */
|
||||||
if (!data->decoration_manager && SDL_WAYLAND_HAVE_WAYLAND_LIBDECOR) {
|
if (!data->decoration_manager && SDL_WAYLAND_HAVE_WAYLAND_LIBDECOR && SDL_GetHintBoolean(SDL_HINT_VIDEO_WAYLAND_ALLOW_LIBDECOR, SDL_TRUE)) {
|
||||||
data->shell.libdecor = libdecor_new(data->display, &libdecor_interface);
|
data->shell.libdecor = libdecor_new(data->display, &libdecor_interface);
|
||||||
|
|
||||||
/* If libdecor works, we don't need xdg-shell anymore. */
|
/* If libdecor works, we don't need xdg-shell anymore. */
|
||||||
|
|
Loading…
Reference in New Issue