diff options
Diffstat (limited to 'community/mate-utils/422504e251442ca9921c4218151cffb6548280e6.diff')
-rw-r--r-- | community/mate-utils/422504e251442ca9921c4218151cffb6548280e6.diff | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/community/mate-utils/422504e251442ca9921c4218151cffb6548280e6.diff b/community/mate-utils/422504e251442ca9921c4218151cffb6548280e6.diff new file mode 100644 index 000000000..fd71dbb57 --- /dev/null +++ b/community/mate-utils/422504e251442ca9921c4218151cffb6548280e6.diff @@ -0,0 +1,62 @@ +diff --git a/mate-screenshot/mate-screenshot.c b/mate-screenshot/mate-screenshot.c +index 63ec5d9..6510f7f 100644 +--- a/mate-screenshot/mate-screenshot.c ++++ b/mate-screenshot/mate-screenshot.c +@@ -809,13 +809,14 @@ enum + 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 b41ae4b..faed676 100644 +--- a/mate-screenshot/screenshot-utils.c ++++ b/mate-screenshot/screenshot-utils.c +@@ -670,7 +670,8 @@ + 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 @@ + 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 0af2ba3..5404bde 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, |