!7 module MiniVNC > DynImageSurface { S computerID; int width = 256; double videoInterval = 2.0; start { doEvery(videoInterval, r grab); } visualize { ret northAndCenterWithMargins(vstackWithSpacing( centerAndEastWithMargin( withLabel("Grab from:", dm_onlineComputerSelectorComboBox(dm_fieldLiveValue('computerID))), jbutton("Grab", rThread grab)), jRightAlignedLine(jLabel("Resize to width (pixels):"), jMinWidth(100, jLiveValueIntTextField(dm_fieldLiveValue('width))))), super.visualize()); } void grab enter { if (possibleComputerID(computerID) && dm_isVisible()) { setImage(dm_scaledDownScreenshotFromOtherMachine(computerID, width)); } } }