Apps - Plain directory
Pages: 1 2
Colin Ferris (399) 1818 posts |
Has anyone done a patch for ‘Apps’ on Iconbar too show a ‘Plain directory’ ? ie like [Internet] Thanks |
John Williams (567) 768 posts |
If you want to change the appearance of a system sprite, you merely have to iconsprite a replacement sprite, in this case with the name “romapps”. If you look through Resources:$.Resources.Wimp.Sprites you will see the wimp version under that name, “romapps”. I have a simple app in Apps to iconsprite my chosen set of WIMP sprites, as some apps change their appearance by substituting their own versions – notably MP3 file sprites and WAV file sprites in my case! I prefer continuity! Forgive me if I’ve misunderstood what you’re after. |
Steve Pampling (1551) 8172 posts |
I think Colin was looking to put a directory shortcut for the Internet directory into the Apps displayed from the iconbar. |
Colin (478) 2433 posts |
If that’s what he means Once on the iconbar it is saved with the pinboard. To add more folders to the iconbar you only need drag the folder onto an existing tinydir folder on the iconbar and save the pinboard if you want to keep it there. |
John Williams (567) 768 posts |
In that case a symbolic link prefixed by a pling to make it visible in Apps would suffice. Tom Hughes’ LinkFS may serve. Or simpler still an obey file to filer_open the directory would suffice, again prefixed with a pling or as a mini-app if a sprite file was required. Important thing is to remember that pling, as non-plinged things remain hidden! |
Steve Drain (222) 1620 posts |
‘AddApp’, the command that adds apps on boot, does not work like that. What ‘AddApp’ does is use the leaf name of the supplied path to create a directory in ‘ResourceFS:$.Apps’ with that name. This leaf can be a ‘plain directory’ or an ‘application directory’ with ‘!’, or indeed a file name. Inside that directory it puts a ‘!Run’ file that has a line to run the original path. If it finds a ‘!Boot’ file or ‘!Help’ file it puts in corresponding files to run those. You cannot add a file to ‘Apps’ using ‘AddApp’, although there are other ways to do it. 1 So, if you have added an application, when you double-click on it the ‘!Run’ file will run the original app. If you have added a directory then that directory is opened to reveal the ‘!Run’ file inside. If you double-click on that you are attempting to run the original directory and there will be an error. However, you could put a ‘!Run’ file inside the original: I think the Pinboard is altogether simpler for this task. 1 Essentially this involves using SWI “ResourceFS_RegisterFiles” and should only be done in a module. It is not very straightforward. My RFSFiles module allows individual files to be added easily, but the current version has not been updated for RO5. ;-( |
Steve Pampling (1551) 8172 posts |
True, and I’m idle so that, as I said, is what I do. |
John Williams (567) 768 posts |
I was merely talking about putting things in the Apps directory on disc. In my experience, directories are ignored when the Apps “application” is then initiated. I use this for hiding old versions of programs when I add an updated item until I am sure it’s OK for me. AFAICS nothing is added to the Resources:$.Apps in this case. But then I put apps directly in the Apps directory on disc and let the OS sort out its symbolic linking at Boot time. I assume this just reiterates the “AddApps” over the directory contents, but it does ignore anything without a leading pling IME. |
Steve Pampling (1551) 8172 posts |
History is so nice, we like to repeat it |
Steve Drain (222) 1620 posts |
What goes around comes around. I glad to see that my attitude has remained the same. ;-) |
Steve Drain (222) 1620 posts |
AddApp reiterates of itself these days, I think. The pling thing is a result of how AddApp is called in PreDesktop. |
Rick Murray (539) 13850 posts |
One could say “four years and still nothing has changed”. ;-) I think having “folders” in Apps could help with organisation and reduce the clutter of everything all jumbled up together. |
nemo (145) 2556 posts |
Thanks for that, it reminded me of this post which is why this now exists: So it’s all Rick’s fault (I think this can be the default starting position TBH ;-p). |
nemo (145) 2556 posts |
And WRT application launching, the Cerilica MMK Keyboard had four hot keys above the function keys: My MMK_Hot application allowed the user to add as many apps as they liked to those four buttons. So you would press Web (say) and !Browse would appear in a little window… press it again and !Oregano would appear… again and !Lynx showed up… and at the end it closed again. While it was open, drag another app in to insert at that point in the list. It saved automatically. Four buttons, four different lists. I found I used that far more than Apps. Web, Web, Web, Web, Return for example. The problem with Apps is that it is hard-wired and extremely un-interactive. |
Steve Pampling (1551) 8172 posts |
I feel the phrase I used slipped in the sharp object with so much more subtlety :)
Indeed, has anyone tried dropping in a plain directory full of other apps BTW. The result is entirely not what people want.
Well it looks like there’s been a little progress on the keyboard hardware front so what people would need is an app/utility to enable the key use in RO or a structured Apps setup like Rick described (briefly) |
nemo (145) 2556 posts |
It’s… ALIVE! |
nemo (145) 2556 posts |
I can’t be done with a keyboard that doesn’t have an actual volume knob!
A keyboard handler, in other words, just like the Cerilica MMK one. That was a PS2 driver though. I don’t know what USB keyboard handlers do with the extra keys. The four hotkeys on the MMK were Wimp keypresses &1C6, &1D6, &1E6 and &1F6. It’s a great pity that the wimp message buffering introduced in RO4 (and still present in 5) stopped DeepKeys from delivering ‘deep’ keypress codes correctly. Back in RO3 you could do Sorry, that aside was because it would be nice to have a range of dedicated hot key codes, and that was precisely what DeepKeys was designed to provide (among other things). |
Rick Murray (539) 13850 posts |
Infamy! Imfamy! They’ve got it in for me!
Haven’t you noticed? I don’t “do” subtle. :-)
As far as I can determine, it presents them through an HID interface. Different codes, different endpoint. Totally invisible to something expecting to see “a regular keyboard”.
FFS. If Wimp_ProcessKey doesn’t go to the task with focus, where the hell does it go? Technically – according to the PRM, the key is passed down the window stack starting with the top-most window. As this is usually the one with input focus…? |
nemo (145) 2556 posts |
No it’s worse than that. It tries to buffer the keypress as a byte, even though it’s defined to be a word. “But I only know about keypress codes &00 to &1FF” says some commodity programmer “so I store bit 8 somewhere else”. Resulting saving… nearly three whole bytes. And just to be clear, though this affects DeepKeys, the main thing it broke was Myopic. Unnecessary. Infuriating. And this from the company that once created |
Rick Murray (539) 13850 posts |
WHAT? PRM 3, Key_Pressed event. Offset R1+24. Clearly says “(NB this is a word, not a byte)”. And this was in the days of RISC OS 3.10! Was that not clear enough?
I wonder what twat made that change?
Oh, I’d be a lot less complimentary than that. By the time Acorn fell, keyboards were starting to have additional keys. And, look, aren’t the current codes pretty much defined up to &1FD or something? So thanks to some utter bloody stupidity, that leaves, what? Two unused key codes for the future? But, you’re so much better than me. You try to support such insanity. I just usually pretend the ROL variants…don’t exist.
Set palette? Oh, wait… on second thoughts maybe I don’t wanna know… |
Colin Ferris (399) 1818 posts |
Bug fix by Jeffery |
Colin Ferris (399) 1818 posts |
As another question – why is saving the ‘PC’ – on the stack – frowned upon? |
Jon Abbott (1421) 2651 posts |
Possibly because the offset of PC stored changes depending on the CPU and instruction used to stack it. Apart from old C compilers (might be Norcroft) which stacked PC before a branch, it’s mostly only used for stack padding such as in DDE. I think the preferred method is a MOV Rd, PC followed by an STR / STM. |
Colin Ferris (399) 1818 posts |
Some games – instead of a ‘BL’ stmdb r13!,{pc} routine |
Rick Murray (539) 13850 posts |
I can see that if adding oneself to the vector chain to be called on return from passing the vector on, but in a game? Surely BL does the same thing with less weird? |
Pages: 1 2