8000 X11 SDL_GetWindowFlags doesn't reflect fullscreen changes that happen outside of SDL · Issue #5390 · libsdl-org/SDL · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content
X11 SDL_GetWindowFlags doesn't reflect fullscreen changes that happen outside of SDL #5390
Closed as not planned
@jo-valve

Description

@jo-valve

Not sure how widespread this is. I've only tested on Manjaro KDE Plasma.

Basically, if I toggle fullscreen using the window manager GUI instead of SDL code, SDL_GetWindowFlags doesn't reflect the changes. Here's a simple little program to test.

#include <SDL2/SDL.h>
#include <stdio.h>

int main(void) {
    SDL_Init(SDL_INIT_VIDEO);
    SDL_Window *window = SDL_CreateWindow(
        "Press F: Fullscreen (Red), Press W: Windowed (Green)",
        SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED,
        512, 512, SDL_WINDOW_RESIZABLE
    );

    SDL_Renderer *renderer = SDL_CreateRenderer(window, -1, 0);

    for (;;) {
        SDL_Event event;
        while (SDL_PollEvent(&event)) {
            switch (event.type) {
                case SDL_KEYDOWN: {
                    if (event.key.keysym.sym == SDLK_f) {
                        SDL_SetWindowFullscreen(window, SDL_WINDOW_FULLSCREEN_DESKTOP);
                    } else if (event.key.keysym.sym == SDLK_w) {
                        SDL_SetWindowFullscreen(window, 0);
                    }
                    break;
                }
                case SDL_QUIT: {
                    return 0;
                }
            }
        }

        if ((SDL_GetWindowFlags(window) & SDL_WINDOW_FULLSCREEN) != 0) {
            SDL_SetRenderDrawColor(renderer, 255, 0, 0, 255);
        } else {
            SDL_SetRenderDrawColor(renderer, 0, 255, 0, 255);
        }

        SDL_RenderClear(renderer);
        SDL_RenderPresent(renderer);
        SDL_Delay(1);
    }
}

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions

    0