public static void SetWorkaroundGeometry (this Window window, WindowGravity gravity, WindowMoveResizeMask mask, int x, int y, int width, int height) { // This is very weird. Don't know when they will fix it. You must subtract the top and left // frame extents from a move operation to get the window to actually show in the right spot. // Save for maybe kwin, I think only compiz uses Viewports anyhow, so this is ok. int [] extents = window.FrameExtents (); x -= extents [(int) Position.Left]; y -= extents [(int) Position.Top]; window.SetGeometry (gravity, mask, x, y, width, height); }
public static void SetWorkaroundGeometry(this Wnck.Window window, WindowGravity gravity, WindowMoveResizeMask mask, int x, int y, int width, int height) { // This is very weird. Don't know when they will fix it. You must subtract the top and left // frame extents from a move operation to get the window to actually show in the right spot. // Save for maybe kwin, I think only compiz uses Viewports anyhow, so this is ok. int [] extents = window.FrameExtents(); x -= extents [(int)Position.Left]; y -= extents [(int)Position.Top]; window.SetGeometry(gravity, mask, x, y, width, height); }