enable shared memory method of getting window screenshot
This commit is contained in:
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user