!7 import java.awt.geom.*; module MakeHole > DynPrintLog { start { dm_afterVisualize(r makeHole); dm_afterUnvisualize(r unmakeHole); } void makeHole { Window mainWindow = getWindow(dm_desktopPane()); if (mainWindow == null) ret; Area shape = new Area(new Rectangle(0, 0, getWidth(mainWindow), getHeight(mainWindow))); Area inner = new Area(toRectangle(dm_bounds())); //Area inner = new Area(new Rectangle(100, 100, 100, 50); shape.subtract(inner); setWindowShape(mainWindow, shape); } void unmakeHole { setWindowShape(getWindow(dm_desktopPane()), null); } void cleanMeUp { unmakeHole(); } }