История изменений
Исправление MOPKOBKA, (текущая версия) :
Вообще мне идея вызова XCompositeUnredirectWindow вместо отключения композитора кажется ненадежной.
Я написал код на SDL2, для создания окна без перирисовки. По идее, без композитора, проводя окном по окну, должен оставаться след. Я запустил два окна _NET_WM_BYPASS_COMPOSITOR, запустил плеер, но след с включенным композитором не остается. Выключаю композитор, остается.
Пример программы, компилируется как gcc -lSDL2 main.c
#include <SDL2/SDL.h>
int main()
{
SDL_Window *window;
SDL_Event evt;
SDL_Init(SDL_INIT_VIDEO);
// Отключение _NET_WM_BYPASS_COMPOSITOR
// SDL_SetHint("SDL_HINT_VIDEO_X11_NET_WM_BYPASS_COMPOSITOR", "0");
window = SDL_CreateWindow("test", 100, 100, 800, 600, SDL_WINDOW_SHOWN);
for (;;)
while (SDL_PollEvent(&evt))
if (evt.type == SDL_QUIT)
return 0;
return 0;
}
Мой вердикт: нужно отключать композитинг а не вызывать XCompositeUnredirectWindow.
Исправление MOPKOBKA, :
Вообще мне идея вызова XCompositeUnredirectWindow вместо отключения композитора кажется ненадежной.
Я написал код на SDL2, для создания окна без перирисовки. По идее, без композитора, проводя окном по окну, должен оставаться след. Я запустил два окна _NET_WM_BYPASS_COMPOSITOR, запустил плеер, но след с включенным композитором не остается. Выключаю композитор, остается.
Пример программы, компилируется как gcc -lSDL2 main.c
#include <SDL2/SDL.h>
int main()
{
SDL_Window *window;
SDL_Event evt;
SDL_Init(SDL_INIT_VIDEO);
// Отключение _NET_WM_BYPASS_COMPOSITOR
// SDL_SetHint("SDL_HINT_VIDEO_X11_NET_WM_BYPASS_COMPOSITOR", "0");
window = SDL_CreateWindow("test", 100, 100, 800, 600, SDL_WINDOW_SHOWN);
for (;;)
while (SDL_PollEvent(&evt))
if (evt.type == SDL_QUIT)
return 0;
return 0;
}
Исправление MOPKOBKA, :
Вообще мне идея вызова XCompositeUnredirectWindow вместо отключения композитора кажется ненадежной.
Я написал код на SDL2, для создания окна без перирисовки. По идее, без композитора, проводя окном по окну, должен оставаться след. Я запустил два окна _NET_WM_BYPASS_COMPOSITOR, запустил плеер, но след с включенным композитором не остается. Выключаю композитор, остается.
Пример программы, компилируется как gcc -lSDL2 main.c
#include <SDL2/SDL.h>
int main()
{
SDL_Window *window;
SDL_Event evt;
SDL_Init(SDL_INIT_VIDEO);
// SDL_SetHint("SDL_HINT_VIDEO_X11_NET_WM_BYPASS_COMPOSITOR", "0");
window = SDL_CreateWindow("test", 100, 100, 800, 600, SDL_WINDOW_SHOWN);
for (;;)
while (SDL_PollEvent(&evt))
if (evt.type == SDL_QUIT)
return 0;
return 0;
}
Исправление MOPKOBKA, :
Вообще мне идея вызова XCompositeUnredirectWindow вместо отключения композитора кажется ненадежной.
Я написал код на SDL2, для создания окна без перирисовки. По идее, без композитора, проводя окном по окну, должен оставаться след. Я запустил два окна _NET_WM_BYPASS_COMPOSITOR, запустил плеер, но след с включенным композитором не остается. Выключаю композитор, остается.
Пример программы, компилируется как gcc -lSDL2 main.c
#include <SDL2/SDL.h>
int main()
{
SDL_Window *window;
SDL_Event evt;
SDL_Init(SDL_INIT_VIDEO);
SDL_SetHint("SDL_HINT_VIDEO_X11_NET_WM_BYPASS_COMPOSITOR", "0");
window = SDL_CreateWindow("test", 100, 100, 800, 600, SDL_WINDOW_SHOWN);
for (;;)
while (SDL_PollEvent(&evt))
if (evt.type == SDL_QUIT)
return 0;
return 0;
}
Исходная версия MOPKOBKA, :
Вообще мне идея вызова XCompositeUnredirectWindow вместо отключения композитора кажется ненадежной.
Я написал код на SDL2, для создания окна без перирисовки. По идее, без композитора, проводя окном по окну, должен оставаться след. Я запустил два окна _NET_WM_BYPASS_COMPOSITOR, запустил плеер, но след с включенным композитором не остается. Выключаю композитор, остается.