PCE version 4C man_modulenamespaceid_tablemodified current_idOIxN class/displayN referenceC hash_tablerefersizeOIxNbothI?sN C.displayCman_class_card identifiermodule last_modifiednamesummary descriptionsee_alsoinherituser_interfacebugsOIxN C.displayRICdateOIx,@6NdisplaynCstringOIx-Class `display' actually maps on an X-window screen, augmented with some additional PCE housekeeping. Class display allows for overall control over the display, such as querying its size, setting and fetching the X cut-buffers, keeping track of associated bitmaps, cursors, fonts, etc. PCE creates a single instance of this class at boot time which is called @display. This display is by default created on the address read from the Unix environment variable DISPLAY. Other instances may be created, allowing windows to be created on multiple displays.CchainsizeOIxIeNM.display.G.converteNV.display.resource_classeNV.display.addresseN $topics$123EN $objects$3XnnnsNV.display.cacheCman_variable_card identifiermodule last_modifiednamesummary descriptionsee_alsoinheritdefaultsOIxNV.display.cacheRIOIx<¸{µNcachenOI x¢To avoid flickering during repaint, xpce paints a modified area of a window on this image and then copies this image to the (changed) window. If the area to be repainted is larger than this image or this image is not present (@nil), pce paints directly on the changed window. This image is created by `display ->open' from `display.graphics_cache', which defines the size of the image. When @default, `display <-size' is used. When using an X-terminal with limited memory, use something like 200x200. This avoids flickering small objects and is not too costly in terms of memory. The use of this cache can be avoided fro specific window using `window->buffered_update'.OI xIENR.display.graphics_cacheXnnsNM.display.S.x11_threadsCman_method_card identifiermodule last_modifiednamesummary descriptionsee_alsoinherit diagnosticsdefaultsbugsOI xNM.display.S.x11_threadsRIOI xD$N x11_threadsnOI x?This method should not exist. It controls whether XInitThreads() is called to intialise Xlib for multi-threaded access. Normally this is the case if XPCE is compiled for use with the multi-threaded version of Prolog, making all work nice and reliable. Even for most multi-threaded applications it is not needed to have Xlib prepared for threads as most of XPCE does synchronised calls on X11. A known exception is debugging background threads using tspy/1 and friends (See "Debugging threads" in the SWI-Prolog Reference Manual), we the issue hasn't been investigated enough to be sure and therefore we play safe. Unfortunately MacOS X11 (version 1.1, Xfree 4.4.0) has a bug in the XIM input library that can cause a deadlock on certain keyboard input. Therefore the default in the Mac is NOT to initialise threading for X11, meaning you cannot use the source-level debugger on background threads. The problem shows up as a low-level X11 error causing the program to hang. If you have an international keyboard and you do not need the Alt-key to enter the characters you want to use in XPCE, use this method to enable threading if you want to do debugging. The bug is filed under No. 4474979 Purely single threaded applications that wish to optimize on speed of the UI may choose to disable X11 thread support using this method.nnnnnsNM.display.S.load_fontsOIxNM.display.S.load_fontsRIOIx5}S˜N load_fontsnOIxCalled by `font <-convert' to establish the systems default set of fonts. It performs the following steps: 1) Get the display.font_families 2) For each word in this chain, get the associated class-variable and create fonts from it using the method `display ->load_font_family'. For example if `display.font_families' contains the word `symbol_fonts', the `display.symbol_fonts' may be defined to be a string of the form: Pce.Display.symbol_fonts: \ [ font(symbol, normal, 12, \ "-adobe-symbol-*-*-normal-*-12-*-*-*-*-*-*-*") \ ] Personal extensions to the default font-list may be defined in the file ~/.xpce/Defaults by redefining display.font_families and defining new defaults for the added families. UNIX/X11 Available X-fonts may be located using the standard X11 applications xfontsel(1) and or xlsfonts(1). After modifying the font definitions in Defaults, you should restart XPCE to make the modifications effective. The FontViewer demo program program can be used to verify your modifications.OIxIXnnnnsNV.display.display_managerOIxNV.display.display_managerRIOIx,@"ÛNdisplay_managernOIx-The global display manager (@display_manager)OIxIEN($class/display_manager$C.display_managerXnnsNM.display.S.draw_inOIxNM.display.S.draw_inRIOIx0µ­ˆNdraw_innOIx¢Draw the indicated graphical object directly on the root-window of the display. This is similar to `image ->draw_in' in the sense that this operation just affects the current pixels on the display: the user has to take care of redraw, etc. If `invert' is @on, the affected pixels are inverted rather than painted. This way the graphical may be removed by painting it a second time. If `subwindow' is @on not only the rootwindow, but also all overlapping subwindows are affected by the drawing operation. This method is intended to support feedback of gestures that perform operations not bound to a single window. See also class move_outline_gesture and ->grab_server.nnnnnsNM.display.G.monitorsOIxNM.display.G.monitorsRIOIxD5iINmonitorsnOIxÄPhysical monitors attached to the display. Each monitor is represented by a monitor object. Monitors can be passed as arguments to many of the frame positioning methods, such as `frame->center'.nnnnnsNV.display.framesOIxNV.display.framesRIOIx4ƒ JNframesnOIxÓChain with all frames displayed on this window. Maintained by `frame ->create' and `frame ->unlink'. This implies that frame objects that are not yet created (see `frame ->create') do not appear in this chain.OIxIeN$class/frame$M.frame.S.createEN$class/frame$C.frameXnnsNM.display.S.dispatchOI xNM.display.S.dispatchRIOI!x*·:ÄNdispatchnOI"xSInvokes `display_manager ->dispatch', dispatching events for about 1/4 of a second.OI#xIEN3$class/display_manager$M.display_manager.S.dispatchXnnnnsNV.display.window_managerOI$xNV.display.window_managerRIOI%x,£üNwindow_managernnnnnsNR.display.no_fontCman_resource_card identifiermodule last_modifiednamesummary descriptionsee_alsoinheritdefaultsO I&xNR.display.no_fontRIOI'x*·L§Nno_fontnOI(x¶Whenever PCE attempts to open a font for which there is no existing counterpart, it will print a message informing the user of the font it cannot create and use this font as default.OI)xIENR.display.font_listXnnsNM.display.S.bellOI*xNM.display.S.bellRIOI+x5}VNbellnOI,xoRings bell on this display. The argument describes the volume, which' default is described by display.volume.OI-xIeNR.display.volumeeN$class/frame$M.frame.S.bellEN#$class/graphical$M.graphical.S.bellXnnnnsNV.display.sizeOI.xNV.display.sizeRIOI/xD5h‹NsizenOI0xŒSize (width, height) of the display object. The first invocation of <-size will fill the instance-variable and return the size object. For displays with multiple <-monitors, the returned size is the union of all available monitors. Note that it is possible that not the whole area of the display is covered by monitors. This is for example the case using two monitors of different resolution.nnnsNM.display.S.flushOI1xNM.display.S.flushRIOI2x.²¥NflushnOI3xŠRequests all frames to update itself immediately and flushes the output to the X-server. This method is normally called automatically from PCE's main event-loop. It must be used by the application programmer when the display needs to be updated while a computation is in progress (for giving information on progress of the computation for example). See also ->synchronise and `frame ->wait'.OI4xIeN*$class/graphical$M.graphical.S.synchroniseeN$class/frame$M.frame.S.flusheNM.display.S.synchroniseEN$class/window$M.window.S.flushXnnnnsNR.display.value_fontO I5xNR.display.value_fontRIOI6x*·L6N value_fontnnOI7xIENR.display.label_fontXnnsNM.display.G.depthOI8xNM.display.G.depthRIOI9x.ŽäÝNdepthnOI:x¥Number of bits used to represent a display pixel. 1 for monochrome displays, higher for grey_scale and colour displays. See also <-visual_type and @colour_display.nnnnnsNR.display.font_familiesO I;xNR.display.font_familiesRIOIload_fonts.nnnsNM.display.G.cut_bufferOI>xNM.display.G.cut_bufferRIOI?x,@•N cut_buffernOI@xNew string with the value of the indicated X-window cut-buffer. Cut-buffer 0 is for many X11 applications treated equivalent to the X-selection.OIAxIEN&$clasc.pce$M.pce.G.secondary_selectionXnnnnsNM.display.S.openOIBxNM.display.S.openRIOICxopen' opens the actual connection to the X-server process and initialises the graphics context for this display. If the display is already open, ->open simply succeeds. On Windows machines, a display is always available and therefore the concerns below do not apply. This method is automatically invoked whenever interaction with the display is required. On X11 systems (typically Unix), access to the display is required for graphical operations as well (in the current version) for using socket objects. Server applications should therefore ensure the presense of a display. Possible options are Xvfb and Xvnc if you are looking for a non-hardware server. See also <-open and <-connection_fd.OIExIEN $class/pce$M.pce.S.debug_subjectXnnnOIFx:There is no way to find out whether the display is opened.sNM.display.S.confirmOIGxNM.display.S.confirmRIOIHx*¤ýðNconfirmnOIIxeFormat a string from the arguments and display a window with this text and the text Press LEFT button to confirm, RIGHT button to cancel This method grabs all pointer-events until the user presses either of the buttons. When LEFT button is depressed, the message returns successful. When the RIGHT button is depressed, the message returns with failure.OIJxIeN$class/pce$M.pce.S.confirmeN$class/string$M.string.S.formatENM.display.S.informXnnnOIKx›The window is modelled to a very old implementation of PCE. The user however may decide to redefine this method using a different type of prompter window.sNM.display.G.win_directoryOILxNM.display.G.win_directoryRIOIMxCÎ60N win_directorynOINxàAsk for a directory (folder) using Windows standard dialog. Directory specifies the initial selection. Owner specifies the owning window. Integer values are used to specify a native Windows HWND. See also <-win_file_name.nnnnnsNM.display.S.selection_ownerOIOxNM.display.S.selection_ownerRIOIPx2ŒNselection_ownernOIQxSpecify the owner of the indicated selection. The selection owner must be prepared to deliver th value of the selection if requested. For this purpose, `convert' is evaluated when the selection is requested with the following arguments: @receiver The selection owner @arg1 `which' selection (primary, ...) @arg2 `target', see <-selection if another PCE object is granted the selection or another X11 application requests the selection, the code object `loose' is executed with the following arguments: @receiver The selection owner @arg1 `which' selection (primary, ...) If `owner' is @nil, XPCE will release the selection ownership. `which' defaults to `primary'. `convert' and `loose' may only be default if `owner' is @nil. The following fragment indicates how a PCE editor object is made holder of the X11 selection: send(E, selection_owner, primary, @receiver?selected, message(@receiver, selection, 0, 0)). In the X11 implementation, type `text' is the only available type for the selection, and the value should be convertable to a string object. In the Win32 version, the types `emf' and `wmf' both require a win_metafile object, which is placed on the clipboard as either an enhanced metafile or an encapsulated Windows 3.x metafile. See also class win_metafile.nnnnnsNV.display.inspect_handlersOIRxNV.display.inspect_handlersRIOISx,@!:Ninspect_handlersnOITx˜Chain of handler objects used to support debugging tools. When an event occurs on a window and this chain is non-empty, the handlers in this chain will be tried before the normal event-handling procedure is started. PCE searches for the deepest nested graphical that overlaps the event-position. A possible event focus is ignored. If the event matches the type of the handler, the message of the handler is executed with the following argument binding: @receiver The graphical @arg1 Idem @arg2 The event If this message succeeds, the event is considered to be dealt with. The following query prints the reference of a graphical to the terminal and stores it in the X-cut buffer 0 when the user types META-CONTROL-p to a graphical: ?- send(@display, inspect_handler, handler('M-\C-p', and(message(@pce, write_ln, @arg1), message(@display, cut_buffer, 0, @arg1?object_reference)))).OIUxIeN $changes$4eN $tools$11ENM.display.S.inspect_handlerXnOIVxInitially, this chain is empty.sNM.display.G.selection_ownerOIWxNM.display.G.selection_ownerRIOIXx,Û´;Nselection_ownernnnOIYxIENM.display.S.selection_ownerXnnnsNM.display.S.grab_serverOIZxNM.display.S.grab_serverRIOI[x,ÍENN grab_servernOI\xŸWhen `grab' equals @on, the X-server on this display will not handle any request from another client (effectively freezing other applications on the same display). This method should be used with care. It is intended to be used in combination with ->draw_in to ensure that drawing twice in invert-mode properly restores the display. ->reset automatically releases the server and so does killing the XPCE process.nnnnnsNM.display.S.cut_bufferOI]xNM.display.S.cut_bufferRIOI^x(OµìN cut_buffernnOI_xIeN $tools$11XnnnnsNM.display.S.initialiseOI`xNM.display.S.initialiseRIOIax5}N$N initialisenOIbx3Create a display from its address. The default address is determined by the Unix environment variable `DISPLAY'. Note that the global object @display is created at boot-time. It has default address. On Windows the address is meaningless, and the only available display is the predefined object @display.OIcxIeNV.display.addressENV.display.resource_classXnnnnsNM.display.G.connection_fdOIdxNM.display.G.connection_fdRIOIex,@N connection_fdnOIfxÊInteger giving the Unix file-descriptor used to communicate with the X-server. This information is necessary to synchronise input handling for some host-systems. See also `display_manager->dispatch'.OIgxIEN3$class/display_manager$M.display_manager.S.dispatchXnnnnsNM.display.S.meta_modifierOIhxNM.display.S.meta_modifierRIOIixDó+N meta_modifiernOIjx?X11 knows about 5 general `modifier keys' that can play a role similar to the control and shift keys. On most systems the `Alt' key is mapped to modifier 1 and used by XPCE as `Meta' key, providing -especially Emacs related- commands. The Mac uses `Alt' or modifier 1 for composing special characters and has a seperate `Command' key bound to modifier 2. On MacOS XPCE binds Meta to modifier 2, keeping the Alt key for composing characters. This method allows to change the X11 modifier key used for creating Meta-sequences. The modifier names are named `mod1' to `mod5'.nnnnnsNM.display.G.postscriptOIkxNM.display.G.postscriptRIOIlx2=cLN postscriptnOImx_Get PostScript or (area of) display. See also `graphical <-postscript', and `display <-image'.OInxIEN!$class/frame$M.frame.G.postscriptXnnnnsNM.display.S.reportOIoxNM.display.S.reportRIOIpx+xÖNreportnOIqxSThis method serves as a `catch-all' for ->report messages invoked on visual objects. If the type of the report is `inform' or `error', it will invoke `display ->inform'. If the kind is `error' it will also invoke `graphical ->alert' to @reportee. Warnings are indicated using `graphical ->alert' to @reportee. Status reports are ignored.nnnnnsNM.display.G.font_aliasOIrxNM.display.G.font_aliasRIOIsx0‚Q*N font_aliasnnnOItxIENM.display.S.font_aliasXnnnsNM.display.G.imageOIuxNM.display.G.imageRIOIvx2=bñNimagenOIwxhImage with the pixels of a region from the display. See also `frame<-image' and `display <-postscript'.nnnnnsNM.display.G.pointer_locationOIxxNM.display.G.pointer_locationRIOIyxD6K6Npointer_locationnOIzx¬Current location of the pointer in screen coordinates. Normally the position must be read from the processed event object. If this is not available as an argument in the current context, the variable @event provides the currently processing event. If neither is available, for example on actions triggered from timer objects, socket objects, etc. this method can be used to locate the pointer. It is exploited by <-monitor.nnnnnsNM.display.S.synchroniseOI{xNM.display.S.synchroniseRIOI|x*¥ý N synchronisenOI}xýSimilar to `display ->flush', but also handles possible pending events from the X-server. This method is needed in the following circumstances: # Windows are created during ongoing computation When a window is opened using ->open, the PCE process will sooner or later receive an event from the X-server indicating the window has been created and requesting to actually paint the contents of the window. Just using ->flush won't show the window as this event will not be handled. # Events needs processed during computation If the application wants a to process events during computation, this method should be called somewhere in the main-loop of the application. For good interactive response it should be called at least about 5 times per second.OI~xIeN*$class/graphical$M.graphical.S.synchroniseeNM.display.S.event_queuedeN"$class/frame$M.frame.S.synchroniseENM.display.S.flushXnnnnsNV.display.quick_and_dirtyOIxNV.display.quick_and_dirtyRIOI€x0µ•5Nquick_and_dirtynOIxWhen @on, drawing of shapes with pen > 1 is achieved by drawing multiple shapes with pen = 1. On most X-servers this is *much* faster. Sometimes this gives inferior results and some X-servers do handle pen > 1 fast. In these cases, set this value to @offnnnsNM.display.S.busy_cursorOI‚xNM.display.S.busy_cursorRIOIƒx,ì¡ÂN busy_cursornOI„x¥Define (temporary) cursor for all frames on the display by calling `frame ->busy_cursor' on all <-frames. Used by `popup ->execute' and `click_gesture ->terminate'.nnnnnsNM.display.G.monitorOI…xNM.display.G.monitorRIOI†xD6J‰NmonitornOI‡xLFind monitor object at position. If position is a point object, the first monitor overlapping with the point is returned (assuming monitors do not overlap). If the argument is an area object, the monitor with the largest overlapping area is returned. If the argument is @default, <-pointer_location is used. See also <-monitors.nnnnnsNR.display.foregroundO IˆxNR.display.foregroundRIOI‰x.¸¸N foregroundnOIŠxXDefault foreground for windows. Changing this value only affects newly created windows.nnnsNM.display.S.informOI‹xNM.display.S.informRIOIŒx,›zSNinformnOIx®Simple mechanism to inform the user of anything. This behaviour displays a prompter window on the center of the screen holding the specified text. `display ->inform' succeeds after the user presses any of the mouse-buttons. The first argument is a format string (similar to printf, see `string ->format'). The remaining arguments are used for substitution in this format string. See also `pce ->format' and `visual ->report'.OIŽxIeN$class/pce$M.pce.S.informeN%$class/window$M.window.S.grab_pointereN$class/string$M.string.S.formateN$$class/graphical$M.graphical.S.alertENM.display.S.confirmeN$$class/editor$V.editor.error_messageXnnnnsNR.display.graphics_cacheO IxNR.display.graphics_cacheRIOIx0µ¦ýNgraphics_cachenOI‘x‰Size of cache image to avoid flickering. If the objects to be repainted are smaller than the indicated size, the objects are painted on a background bitmap and then mapped on the display. If the value is @default, all graphical operations are first done in the background. It is advised to specify a value in the order of magnitude of 256x256 if you are using a display with limited memory.OI’xIENV.display.cacheXnnsNM.display.S.inspect_handlerOI“xNM.display.S.inspect_handlerRIOI”x*·IZNinspect_handlernOI•xBAdds handler (using `chain ->add' to `display <-inspect_handlers'.OI–xIeN $topics$149ENV.display.inspect_handlersXnnnnsNM.display.G.visual_typeOI—xNM.display.G.visual_typeRIOI˜x0µ¸MN visual_typenOI™xDDetermine the type of the attached display. The definition of the return-types is conform X11's classification of visual types: monochrome: Same as <-depth:1 static_grey: Multiple predefined grey-levels grey_scale: Multiple grey levels static_colour: Multiple predefined colours pseudo_color: Colour-map defined colours direct_colour: Separate RGB values on colour-map true_colour: Nearly linear predefined direct_colour Most Unix and PC colour adapters use pseudo_colour displays: A pixel is an entry in a dynamically changeable `colour-map' that translates the pixel value into an RGB triple feeding the monitor. On these displays, the number of colours that may be displayed simultaneously is limited to 2 ** <-depth. 8 is the most common value for <-depth, allowing for 256 distinct colours. See also @colour_display.nnnnnsNM.display.G.window_managerOIšxNM.display.G.window_managerRIOI›x0µ¥ØNwindow_managernOIœxØIf the slot <-window_manager is running, return its value. Otherwise try to guess the running window manager. Unfortunately there is no standard way to find out about the running window manager. In the current implementation it will only find-out a running mwm (Motif) window manager when XPCE is compiled for the AIX operating system. Knowledge about the running window manager may be used by future XPCE releases to adopt to the look-and-feel of the window manager.nnnnnsNM.display.G.pasteOIxNM.display.G.pasteRIOIžxAà¹NpastenOIŸxHSimple interface to get a textual value for pasting. On X11, it tries the following methods: * get(@display, selection, primary, utf8_string, X). * get(@display, selection, primary, text, X). * get(@display, selection, primary, string, X). * get(@display, cut_buffer, 0, X). See also ->copy, <-selection and <-cut_buffer.nnnnnsNM.display.S.synchronousOI xNM.display.S.synchronousRIOI¡x0µ•PN synchronousnOI¢x,When @on, PCE waits for acknowledgment for each call to the X-window server. Normally Xlib (the lowest communication level) will not wait for acknowledgment. This method may be used to find the exact context in which X-errors are generated. Only applicable for debugging PCE's drawing primitives.nnnnnsNM.display.G.convertOI£xNM.display.G.convertRIOI¤x,}E¤NconvertnOI¥x‹This method is useful when dealing with multiple displays. It translates a graphical object to the display on which it is displayed or string of the form `host:display[:screen]' (see `display <->address') to the display object residing on that address (or creates one if no display exists for this address). Example ?- new(P, picture('Hello', @default, 'sun10:0')), send(P, open). Creates a graphical window on the display of host `sun10', provided sun10 is accessible through the internet, has an X-server running and this X-server allows your PCE process to contact it. See the X-manuals for details on X-window authorisation principles.OI¦xIEN C.displayXnnnnsNM.display.S.selection_timeoutOI§xNM.display.S.selection_timeoutRIOI¨x,Û¸áNselection_timeoutnOI©x¶Set/get the timeout for getting the current selection value (see <-selection). The time is in seconds. The X11 granularity is 1 millisecond. The X11 default timeout is 5 seconds.nnnnnsNM.display.G.selectionOIªxNM.display.G.selectionRIOI«xAàâN selectionnOI¬x”Query value of the X-window selection. The selection may be `owned' (see ->selection_owner) by an object of the current XPCE process or by an external X-application connected to the same X-display. `which' is the type of selection requested. Default is `primary'. Other common values are `secondary' and `clipboard'. The specified textual value is converted into uppercase before it is passed to the X11 selection handling. `target' is the type of information requested. The default is `text'. Internationalised applications commonly use 'utf8_string' to indicate they way a textual value encoded as UTF8. On X11, the selection collection can deal with selections of type STRING in 8-bit format as well as with selections of type UTF8_STRING. `type' specifies the PCE type of the return value. The return value of the selection system will be translated to this type using `type <-check'. See also <-paste.nnnnnsNR.display.label_fontO I­xNR.display.label_fontRIOI®x*·L N label_fontnOI¯xVFont used to print the standard message of `display ->inform' and `display ->confirm'.OI°xIENR.display.value_fontXnnsNV.display.backgroundOI±xNV.display.backgroundRIOI²x,@HN backgroundnOI³xsInitial background colour for all created windows. Note that changing this value does not affect existing windows.OI´xIEN#$class/window$M.window.S.backgroundXnnsNM.display.G.contained_inOIµxNM.display.G.contained_inRIOI¶x,@"çN contained_innnnOI·xIENV.display.display_managerXnnnsNM.display.G.sizeOI¸xNM.display.G.sizeRIOI¹x*·»NsizennOIºxIEN$class/pce$M.pce.G.displayXOI»xIENV.display.sizeXnnnsNM.display.S.load_font_familyOI¼xNM.display.S.load_font_familyRIOI½x-ŽÒNload_font_familynnOI¾xIXOI¿xIENM.display.S.load_fontsXnnnsNM.display.G.selection_timeoutOIÀxNM.display.G.selection_timeoutRIOIÁx,Û³@Nselection_timeoutnnnOIÂxIENM.display.S.selection_timeoutXnnnsNM.display.S.font_aliasOIÃxNM.display.S.font_aliasRIOIÄx0‚PýN font_aliasnOIÅxFDefine a logical font-name for a physical font object. The first argument specifies the name, the second the related font object. If the force argument is @off (default), the alias will only be set if there was no alias for this font. If force is @on, a possible existing alias will be removed. See also `font <-convert'.nnnnnsNM.display.G.containsOIÆxNM.display.G.containsRIOIÇx,@" NcontainsnnnOIÈxIENV.display.framesXnnnsNV.display.colour_mapOIÉxNV.display.colour_mapRIOIÊx2ÙüN colour_mapnOIËxDefault for `frame ->colour_map'. If @nil, the systems default colour map will be used. If @default, and this is a Win32 based system, it is filled with the colour_map(pce). This colour_map object will be automatically expanded if new colour objects are opened on the display.nnnsNM.display.S.event_queuedOIÌxNM.display.S.event_queuedRIOIÍx<¸n©N event_queuednOIÎxûIf the display is opened, performs `display ->flush' and then checks for possible pending events in the event-queue. Succeeds if events are ready without handling them. Fails immediately if no events are present. See also ->synchronise and ->flush.OIÏxIeNM.display.S.synchroniseEN3$class/display_manager$M.display_manager.S.dispatchXnnnnsNM.display.G.dots_per_inchOIÐxNM.display.G.dots_per_inchRIOIÑx:¨²N dots_per_inchnOIÒxResolution of the screen in dots-per-inch. Note that this value is not always reliable and displays function just fine without their physical dimension being specified correctly. Currently only available in the MS-Windows version. See also `win_printer <-dots_per_inch'.nnnnnsNR.display.volumeO IÓxNR.display.volumeRIOIÔx*§K‚NvolumennOIÕxIeNM.display.S.bellXnnsNV.display.addressOIÖxNV.display.addressRIOI×x*·2èNaddressnOIØx¬Host and screen on which the display resides. May be changed before the display is opened. Its value must be of the form :[: is the name of the host on which to open the display. It may also be an internet number.d is the logical number of the attached display (almost always 0) and is the logical number of the screen, which defaults to 0.OIÙxIeNM.display.S.initialiseEN C.displayXnnsNM.display.G.win_file_nameOIÚxNM.display.G.win_file_nameRIOIÛxCÁˆDN win_file_namenOIÜxÊProvide an interface for the standard Windows file dialog. Arguments: # mode If save, calls GetSaveFileName(), if open calls GetOpenFileName() and demands the file to exist. # filters If @default, all files are allowed. Otherwise each element of the chain defines an allowed filter. This is either a pattern (i.e. *.pl) or a tuple(Name, Pattern). In the latter case `Name' is displayed to the user rather than Pattern. # title The title of the dialog window. If not specified the Windows default is used. # Default (file) Specify the initial selection. When omitted there is no initial selection. # directory Specify the directory to start searching. Default is the current working directory. # options Chain of name object, providing options for the Windows GetOpenFileName()/GetSaveFileName() interface. Options provided are: allowmultiselect, createprompt, filemustexist, hidereadonly, nodereferencelinks, nonetworkbutton, noreadonlyreturn, notestfilecreate, overwriteprompt, pathmustexist, readonly, shareaware. Check the Windows SDK for details. If the user enters a filename without extension and the pattern is of the form *. the extension from the pattern is added to the returned file. In all other cases (the user added an extension or the pattern does not specify an extension), the typed filename is left untouched. The library(find_file) defined generic finder uses this method when available. See also <-win_directory.nnnnnXaCnumber O IÝxx