diff --git a/data/gala.metainfo.xml.in b/data/gala.metainfo.xml.in index a84b69d3d..c8d08c9c7 100644 --- a/data/gala.metainfo.xml.in +++ b/data/gala.metainfo.xml.in @@ -43,6 +43,7 @@ Multitasking View. Wingpanel shows for brief moment if a fullscreen wokspace is selected after coming from a wokspace that shows the wingpanel. Check for redacted font Super+Number. When workspace doesn't exist, switch to last workspace instead. + Postman app is captured partially (and without a shadow) Touchpad desktop switching gesture is sometimes unresponsive Overview window title should follow keyboard focus Better post-screenshot animation diff --git a/src/ScreenshotManager.vala b/src/ScreenshotManager.vala index 01590f552..962db15a5 100644 --- a/src/ScreenshotManager.vala +++ b/src/ScreenshotManager.vala @@ -78,19 +78,19 @@ public class Gala.ScreenshotManager : Object { wm.launch_action (ActionKeys.INTERACTIVE_SCREENSHOT_ACTION); break; case "area-screenshot": - handle_screenshot_area_shortcut.begin (false); + handle_screenshot_area_shortcut.begin (false); break; case "window-screenshot": - handle_screenshot_current_window_shortcut.begin (false); + handle_screenshot_current_window_shortcut.begin (false); break; case "screenshot-clip": handle_screenshot_screen_shortcut.begin (true); break; case "area-screenshot-clip": - handle_screenshot_area_shortcut.begin (true); + handle_screenshot_area_shortcut.begin (true); break; case "window-screenshot-clip": - handle_screenshot_current_window_shortcut.begin (true); + handle_screenshot_current_window_shortcut.begin (true); break; } } @@ -280,15 +280,12 @@ public class Gala.ScreenshotManager : Object { var window_actor = (Meta.WindowActor) window.get_compositor_private (); - float actor_x, actor_y; - window_actor.get_position (out actor_x, out actor_y); - - var rect = window.get_frame_rect (); + var rect = window.get_buffer_rect (); if (!include_frame) { - rect = window.frame_rect_to_client_rect (rect); + rect = window.get_frame_rect (); } - Mtk.Rectangle clip = { rect.x - (int) actor_x, rect.y - (int) actor_y, rect.width, rect.height }; + Mtk.Rectangle clip = { rect.x - (int) window_actor.x, rect.y - (int) window_actor.y, rect.width, rect.height }; var image = (Cairo.ImageSurface) window_actor.get_image (clip); if (include_cursor) { if (window.get_client_type () == Meta.WindowClientType.WAYLAND) {