The Filer_OpenDir command in the obey file is
Filer_OpenDir <MDSD$Dir> 750 1000 800 720 -sn -li
where <MDSD$Dir> happens to be set to HostFS::HardDisc4.$
Has anyone else encountered such a problem, or am I doing
something wrong.
Regards,
Pete Miller.
I noticed a similar oddity with Filer_OpenDir under 6.16 on my RiscPC,
and put the question into a post on the Select discussion group on 1
October. But it has not yet received an answer from Developer.
To demonstrate at least something wrong (by comparison with 4.39 and
5.14), try having a TestDir and making two obeyfiles:
Obey1 containing:
Filer_OpenDir TestDir 700 1000 500 200
and Obey2 containing:
Filer_OpenDir TestDir 700 1000
then double-click them in the order:
Obey1
Obey2
Obey1
With 6.16, on the second execution of Obey1 the filer window moves to
700 700, whereas under 4.39 and 5.14 it stays put (although the width
can change). This seems to show that under certain circumstances, the
Y value does get replaced by the X value.
I will post this to the Select group too, and hope that a bug is
acknowledged.
Bernard.
> Obey1 containing:
> Filer_OpenDir TestDir 700 1000 500 200
>
> and Obey2 containing:
> Filer_OpenDir TestDir 700 1000
>
> then double-click them in the order:
>
> Obey1
> Obey2
> Obey1
>
I tried this on RISC OS 4.02, 4.39, 5.11 and 6.16 and got the same
result
as you did - works as expected except on 6.16.
<snip>.
I use Filer_OpenDir quite alot with my virtual screen manager that I
wrote to
use instead of !Multiscreen - which doesn't seem to work on later
versions of
RISC OS.
In the end I got fed up with filer windows being in the wrong place
and
motivated by the fact that it might cost me another 99ukp for a bug
fix, I
decided to look for a workaround and ended up writing a module to
correct
the filer window's position. The module implements a single command
for
the window open part of the Filer_OpenDir command. i.e. the following
opens the filer window where you expect it to be with the selected
options.
Filer_OpenDir $.TestDir -sn -li
pdm_OpenDir $.TestDir 700 1000 500 400
The command stores each directory name and coordinates in a list in a
dynamic area and when the module gets control back from the wimp on a
poll word non zero event it scans the window stack repeatedly, between
wimp_polls for a null event, for the filer windows and sends an open
window request to the filer with the stored coordinates, until there
are no
more names in the list. Using a list caters for the possibility (real
or not !?)
of any number of Filer_OpenDir and pdm_OpenDir commands being
issued before the module gets control back from the wimp.
I don't know if there is a simpler workaround but the module appears
to work, at least in the way I use it.
If you want to risk trying out the module, I can email a copy to you.
Regards,
Pete Miller.
> I encountered the oddity a day before my Select subscription ran
> out, and I hadn't got round to joining the Select discussion group. I
> sent an email to RISCOS Ltd support but didn't get a reply.
Well, I have raised the point on the Select group and had some further
confirmation of there being a problem with 6.16, but so far no answer
from Developer.
> I tried this on RISC OS 4.02, 4.39, 5.11 and 6.16 and got the same
> result as you did - works as expected except on 6.16.
Yup,
> I use Filer_OpenDir quite alot with my virtual screen manager that I
> wrote to use instead of !Multiscreen - which doesn't seem to work
> on later versions of RISC OS.
Don't know !Multiscreen, but I do use Steve Revill's !MoreDesk under
5.14 (http://7thsoftware.com/moredesk/index.html : £17+) which is bang
up to date and may do what you require, since (among many features)
you can set up each desktop to open directories with full
specification including position. (Note to self: I should check that
this works correctly under 6.16 as well!)
> In the end I [snip] ended up writing a module to correct
> the filer window's position. [snip detail].
Interesting, but it shouldn't be needed, should it?
> If you want to risk trying out the module, I can email a copy to you.
Thank you, but I'm more than satisfied with !MoreDesk for now...
Bernard.
> (Note to self: I should check that this works correctly under 6.16 as
> well!)
I've now tried the Automatic Filer_OpenDir when switching between
desktops using !MoreDesk under 6.16. Lo and behold, after several
switches to and from the desktop for which an OpenDir is defined, its
position reverts from the stored (x,y) to (x,x).
I'll let the Select forum know.
Bernard.
This is exactly what I'd expect to happen given the description of the ROL
Filer bug in this thread.
Thanks,
Steve
--
Steve Revill @ Home
Note: All opinions expressed herein are my own.
Except, understandably, that doesn't allow for operating system
extensions
to the Filer_OpenDir options e.g. -ThumbNails -VerticalList -
ReverseSort
-ClaimFocus -DefaultLegacy in RISC OS 6.16. That's one reason I was
using the Filer_OpenDir command.
>
> > In the end I [snip] ended up writing a module to correct
> > the filer window's position. [snip detail].
>
> Interesting, but it shouldn't be needed, should it?
>
> > If you want to risk trying out the module, I can email a copy to you.
>
> Thank you, but I'm more than satisfied with !MoreDesk for now...
>
Just to clarify. I wasn't suggesting that you try my virtual screen
manager,
but the module I wrote to address filer windows being in the wrong
place
in the specific case of using the Filer_OpenDir command. !MoreDesk
sends a FilerOpenDirAt message to the filer when auto opening a filer
window, so the module wouldn't help in that case.
But as you mention !MoreDesk. When it was initially released I did
consider
using it, but I'm not a big fan of the desktop viewer/micro view
features that it
and many virtual desk programs use, nor of decorating my desktops with
backdrop images, but still wanted to have an organized set of desktops
and
windows. So I decided to continue with my own program which has a more
light weight, unobtrusive approach, and which already had the facility
to provide
an unlimited number of named virtual screens, and only needed to use a
menu
system and a small control panel to access them and easily do the
usual things
of listing windows by task or screen (or all windows on all screens),
selecting a
group of windows and move or tab through them and hide, re-show,
fetch, or get
them from a screen, move or copy them to another screen, etc. And it
uses the
hidden windows stack to hide windows from, view instead of a large
negative x or
y offset, to avoid certain situations like WinEd marking a file as
modified when its
window is moved off screen. Apart from that my program already
contained alot
of similar functionality to !MoreDesk such as backdrop and pinboard
association,
ability to include or ignore windows, user configuration and alerts
(implemented
by a small script language), obey files and its own script files can
be run when
a screen is first entered, or on every visit or exit, etc.
However, on your recommendation I downloaded the latest !MoreDesk demo
and tried it out again. It's gained some good features since I last
looked at it.
I encountered one little problem with it though. When I used the
Window submenu
to move windows to the front or back of the stack applications started
crashing
and I needed to do a restart to regain a usable system. This occurred
with
windows of about half of the DrWimp example programs, which might
sound like
a big problem but I am building a C version of the DrWimp lbrary and a
front end
DrWimp C application builder to go with it and use both the BASIC and
C example
programs regularly in testing. It would be unfortunate to encounter
the crash in mid
source edit. But, there is a way round it - the corresponding keyboard
shortcuts ^F
and ^B work ok.
Regards,
Pete Miller.
That's true. Those display options could always be added if someone were to
contact me and ask for them. I'd probably need the output from *Help
Filer_OpenDir as a guide.
> But as you mention !MoreDesk. When it was initially released I did
> consider using it, but I'm not a big fan of the desktop viewer/micro view
> features that it and many virtual desk programs use, nor of decorating my
> desktops with backdrop images, but still wanted to have an organized set
> of desktops and windows.
I'm very interested in hearing how people use their systems, especially
because I find unexpected things which give me inspiration for MoreDesk
development.
I don't really understand what you mean about not being a fan of the desktop
viewer and micro view features. They only appear if/when you ask them to.
Also, the features in MoreDesk for decorating your desktops with background
images (and pinboard icon sets) are off by default, so I don't know why that
should affect you.
Ta for the bug report, by the way, I'll look into it. :)