/* WinSwap for Directory Opus 5. By Leo 'Nudel' Davidson for Gods'Gift Utilities email: leo.davidson@keble.oxford.ac.uk www: http://info.ox.ac.uk/~kebl0364/ $VER: WinSwap.dopus5 1.4 (26.12.95) NOTE: This script _requires_ DOpus v5.11 or above. NOTE: DOpusFuncs is an assembler version of this (and other) scripts. This script will swap around your source and destination listers, like the old swap command in DOpus4. Obviously, in DOpus5 it is possible to simply move the two lister windows, but somethimes this isn't desireable. For example, when they are locked in place via the option in the pull-off menu; when you're too lazy to move the windows; or when the two windows are positioned such that moving them would be difficult or would make a mess. Call as: ------------------------------------------------------------------------------ ARexx DOpus5:ARexx/WinSwap.dopus5 {Qp} ------------------------------------------------------------------------------ Turn off all switches. v1.01 -> v1.02 - Made "PathOnly" the default behaviour and removed the option to copy the window dimensions (Did anyone want it?). Some minor tidying up. Now checks to make sure the DOPUS.x port exists. v1.02 -> v1.3 - Now uses Show() instead of ShowList(). (Thanks Stoebi) Style Guide compliant version numbering and $VER string. v1.3 -> v1.4 - Works properly with paths containing spaces, finally. */ options results options failat 99 signal on syntax;signal on ioerr /* Error trapping */ parse arg DOpusPort DOpusPort = Strip(DOpusPort,"B",'" ') If DOpusPort="" THEN Do Say "Not correctly called from Directory Opus 5!" Say "Load this ARexx script into an editor for more info." EXIT END If ~Show("P",DOpusPort) Then Do Say DOpusPort "is not a valid port." EXIT End Address value DOpusPort lister query source stem source_handle. IF source_handle.count = 0 | source_handle.count = "SOURCE_HANDLE.COUNT" Then Do dopus request '"You must have a SOURCE lister!" OK' EXIT End lister query dest stem dest_handle. IF dest_handle.count = 0 | dest_handle.count = "DEST_HANDLE.COUNT" Then Do dopus request '"You must have a DESTINATION lister!" OK' EXIT End lister query source_handle.0 path source_path = RESULT lister query dest_handle.0 path dest_path = RESULT lister read source_handle.0 '"'||dest_path||'"' lister read dest_handle.0 '"'||source_path||'"' syntax:;ioerr: /* In case of error, jump here */ EXIT