How to replace the standard Filer
Sergey Lentsov (8268) 63 posts |
Hello, Is there a way to replace standard Filer by custom app? I would like that my app be opened by click on Taskbar file systems icons. Thanks. |
Paul Sprangers (346) 523 posts |
Do I understand correctly that you want to open your app by clicking on, say, the harddisk icon? Even if that were possible, how would you open the root directory then? You could mimic a filer icon, by creating one for your app and put it at the left side of the icon bar by setting the appropriate flag in R0 in |
Steve Pampling (1551) 8154 posts |
Filer is a module, not an app. |
Stuart Swales (8827) 1349 posts |
Note that a replacement Filer module needs to implement the same interfaces as the current Filer module, such as issuing Service_StartFiler, responding to Filer_OpenDir etc. Best to study the current source! But it can be done – I would suggest loading it in PreDesk after |
David J. Ruck (33) 1629 posts |
You can use a Wimp filter to intercept clicks on filer icons. I wrote some modules that intercepted right clicks in order to eject removable media such as CDs and ZIP discs. |
Steve Fryatt (216) 2103 posts |
Isn’t Sergey involved somehow with CLFiler? I think the “proper” way to do this is to alias
I’m not that surprised…
I’m not sure that’s what you want, either. That’s concerned with starting the iconbar resident bits of each Filer (ie. the bits that you want to replace), isn’t it?
I don’t know. For me, aliasing A quick straw poll of icons on a Titanium iconbar suggests that OS filers call |
Steve Fryatt (216) 2103 posts |
Yes, but the bit that the user sees is a module application which could easily be replaced by a standard user-space application. It would help if Sergey were less cryptic in many of his questions, but I strongly suspect that this boils down to “I would like clicks on disc icons on the iconbar to open a CLFiler window instead of the standard Filer window”.
Probably not the correct approach here. I would assume that the intent would be for both front-ends to remain available, but for the user to be able to choose for one or the other to be the “default” one. |
Julie Stamp (8365) 474 posts |
I had a look with MsgMon; when the Filer gets a *Filer_OpenDir it broadcasts it back out as a Message_FilerOpenDirAt. Some filers, like clicking on Apps or RAM disc, send a Message_FilerOpenDir directly to the Filer task, with no broadcasting. |
Sergey Lentsov (8268) 63 posts |
Thanks to all! I will try to alias *Filer_OpenDir and check what happens. |
Stuart Swales (8827) 1349 posts |
But – as Julie points out – unless you replace the Filer module, you won’t get to handle all directory open request messages. And unless you stop the current filing system filers from issuing %Filer_OpenDir, you won’t handle those either. |
Rick Murray (539) 13806 posts |
Yup, as I pointed out quite a while back, it is documented that the underlying filesystem records the filer’s task handle to send messages only to it (in other words, they aren’t normally broadcast – those that do are just being lazy). So, really, the only way to replace the filer is to replace the filer, however…
…you would have to be certain that a replacement can do all of the things the existing filer can do. It’s a fundamental part of the user interface and the look’n’feel of RISC OS so… |
Steve Pampling (1551) 8154 posts |
Which was the logic of suggesting loading the replacement during startup
Which was the logic of suggesting rewriting the existing source. |
Rick Murray (539) 13806 posts |
What would perhaps make sense – though I’m not sure if the CLFiler guys feel like the challenge… …is to rewrite the filer, as it is, as a tight little C application for replacing the current filer. In that way, we get an updated (readable) filer source and they get the hooks necessary to permit easy integration of CLFiler (or any third party filer, though I don’t imagine a rush of people making such things ;) ). |
Stefan Fröhling (7826) 167 posts |
@Rick |
Alan Williams (2601) 88 posts |
I had never heard of CLFiler before so I googled it and had a look, it seems pretty nifty. |
David Pitt (9872) 362 posts |
CLFiler did generate an impulse and being determined not to be beaten by the ‘computer’ I went for it. The payment method is an IBAN job and as far as I can see required doing on the bank’s website and not its mobile app. Once Germany was set as the destination the required IBAN fields appeared. One little catch is that the IBAN number needed the spaces in the confirmation email removing. The Apple Watch has just confirmed the transfer, which may take 24 hours to complete. IBAN stands for International Bank Account Number. |
Chris Hughes (2123) 336 posts |
In case you don’t know CLFiler can be purchased via PlingStore. |
David Pitt (9872) 362 posts |
No, missed that, and I must admit to swearing a bit. OTOH I appear to have saved £1.92. |
Stefan Fröhling (7826) 167 posts |
@Alan @David |
David Pitt (9872) 362 posts |
I have now replied. CLFiler offers interesting added capabilities to Filer operations. For instance, it can be a better than Thump thumbnailer. |