diff options
author | Stefano Karapetsas <[email protected]> | 2013-11-08 14:02:07 -0800 |
---|---|---|
committer | Stefano Karapetsas <[email protected]> | 2013-11-08 14:02:07 -0800 |
commit | ec30a112619905aed3e8f66ecef66f8425b5de62 (patch) | |
tree | 8ab7cabe2cd7456dfb6197f8122fc52b46df42b1 | |
parent | 83ae7e3c19d7fe8cb8024d77ac8c5a5dcf3d1b99 (diff) | |
parent | 422504e251442ca9921c4218151cffb6548280e6 (diff) | |
download | mate-utils-ec30a112619905aed3e8f66ecef66f8425b5de62.tar.bz2 mate-utils-ec30a112619905aed3e8f66ecef66f8425b5de62.tar.xz |
Merge pull request #45 from NiceandGently/master
disable masking for area or window screenshots
-rw-r--r-- | mate-screenshot/mate-screenshot.c | 5 | ||||
-rw-r--r-- | mate-screenshot/screenshot-utils.c | 9 | ||||
-rw-r--r-- | 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 63ec5d9b..6510f7f8 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, |