summaryrefslogtreecommitdiff
path: root/community/mate-utils/422504e251442ca9921c4218151cffb6548280e6.diff
diff options
context:
space:
mode:
Diffstat (limited to 'community/mate-utils/422504e251442ca9921c4218151cffb6548280e6.diff')
-rw-r--r--community/mate-utils/422504e251442ca9921c4218151cffb6548280e6.diff62
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,