From dc7123530e154dc4852c7f9900e693ecce5e2e2c Mon Sep 17 00:00:00 2001 From: raveit65 Date: Wed, 2 Oct 2013 20:23:11 +0200 Subject: disable masking for area or window screenshots --- mate-screenshot/mate-screenshot.c | 5 +++-- mate-screenshot/screenshot-utils.c | 9 +++++++-- mate-screenshot/screenshot-utils.h | 3 ++- 3 files changed, 12 insertions(+), 5 deletions(-) diff --git a/mate-screenshot/mate-screenshot.c b/mate-screenshot/mate-screenshot.c index 77ceb3af..4243563f 100644 --- a/mate-screenshot/mate-screenshot.c +++ b/mate-screenshot/mate-screenshot.c @@ -809,13 +809,14 @@ static void finish_prepare_screenshot (char *initial_uri, GdkWindow *window, GdkRectangle *rectangle) { ScreenshotDialog *dialog; + gboolean include_mask = (!take_window_shot && !take_area_shot); /* always disable window border for full-desktop or selected-area screenshots */ if (!take_window_shot) - screenshot = screenshot_get_pixbuf (window, rectangle, include_pointer, FALSE); + screenshot = screenshot_get_pixbuf (window, rectangle, include_pointer, FALSE, include_mask); else { - screenshot = screenshot_get_pixbuf (window, rectangle, include_pointer, include_border); + screenshot = screenshot_get_pixbuf (window, rectangle, include_pointer, include_border, include_mask); switch (border_effect[0]) { diff --git a/mate-screenshot/screenshot-utils.c b/mate-screenshot/screenshot-utils.c index b41ae4b8..faed6762 100644 --- a/mate-screenshot/screenshot-utils.c +++ b/mate-screenshot/screenshot-utils.c @@ -670,7 +670,8 @@ GdkPixbuf * screenshot_get_pixbuf (GdkWindow *window, GdkRectangle *rectangle, gboolean include_pointer, - gboolean include_border) + gboolean include_border, + gboolean include_mask) { GdkWindow *root; GdkPixbuf *screenshot; @@ -738,7 +739,11 @@ screenshot_get_pixbuf (GdkWindow *window, x_orig, y_orig, 0, 0, width, height); - mask_monitors (screenshot, root); + /* + * Masking currently only works properly with full-screen shots + */ + if (include_mask) + mask_monitors (screenshot, root); #ifdef HAVE_X11_EXTENSIONS_SHAPE_H if (include_border) diff --git a/mate-screenshot/screenshot-utils.h b/mate-screenshot/screenshot-utils.h index 0af2ba39..5404bde4 100644 --- a/mate-screenshot/screenshot-utils.h +++ b/mate-screenshot/screenshot-utils.h @@ -36,7 +36,8 @@ gboolean screenshot_select_area (int *px, GdkPixbuf *screenshot_get_pixbuf (GdkWindow *win, GdkRectangle *rectangle, gboolean include_pointer, - gboolean include_border); + gboolean include_border, + gboolean include_mask); void screenshot_show_error_dialog (GtkWindow *parent, const gchar *message, -- cgit v1.2.1