enable shared memory method of getting window screenshot
This commit is contained in:
parent
d682756012
commit
6c36f79aae
3 changed files with 5 additions and 2 deletions
|
@ -107,6 +107,7 @@ void handle_env_vars()
|
|||
debug_thumbnails = getenv("DEBUG_THUMBNAILS") != NULL;
|
||||
debug_timers = getenv("DEBUG_TIMERS") != NULL;
|
||||
debug_executors = getenv("DEBUG_EXECUTORS") != NULL;
|
||||
thumb_use_shm = getenv("TINT2_THUMBNAIL_SHM") != NULL;
|
||||
if (debug_fps) {
|
||||
init_fps_distribution();
|
||||
char *s = getenv("TRACING_FPS_THRESHOLD");
|
||||
|
|
|
@ -98,6 +98,7 @@ extern gboolean debug_frames;
|
|||
extern gboolean debug_thumbnails;
|
||||
extern double ui_scale_dpi_ref;
|
||||
extern double ui_scale_monitor_size_ref;
|
||||
extern gboolean thumb_use_shm;
|
||||
|
||||
typedef struct Panel {
|
||||
Area area;
|
||||
|
|
|
@ -578,11 +578,12 @@ gboolean cairo_surface_is_blank(cairo_surface_t *image_surface)
|
|||
return empty;
|
||||
}
|
||||
|
||||
gboolean thumb_use_shm;
|
||||
|
||||
cairo_surface_t *get_window_thumbnail(Window win, int size)
|
||||
{
|
||||
cairo_surface_t *image_surface = NULL;
|
||||
const gboolean shm_allowed = FALSE;
|
||||
if (shm_allowed && server.has_shm && server.composite_manager) {
|
||||
if (thumb_use_shm && server.has_shm && server.composite_manager) {
|
||||
image_surface = get_window_thumbnail_ximage(win, (size_t)size, TRUE);
|
||||
if (image_surface && cairo_surface_is_blank(image_surface)) {
|
||||
cairo_surface_destroy(image_surface);
|
||||
|
|
Loading…
Reference in a new issue