Horizontal Scroll Bar for Boot/Run-at-startup
Richard Ashbery (495) 163 posts |
Configuration Boot-at-startup and Run-at-startup and possibly Add-to-Apps could benefit from a horizontal scroll bar so that the full path location of a program can be seen. Simply editing the Res file for each of these can be made to create another scroll bar. Could this be implemented in future HardDisc4 releases please? |
Steve Pampling (1551) 8155 posts |
If you have edited copies you could let ROOL have them and save them a short while… |
Bryan Hogan (339) 589 posts |
Make it a resizeable window with normal scrollbars. Fixed size scrolling regions within windows are evil! |
Rick Murray (539) 13806 posts |
Just sounds so Windows… |
patric aristide (434) 418 posts |
yawn |
Richard Ashbery (495) 163 posts |
Yes – I agree – it’s not the best solution but lets be practical – this modification can be simply and quickly implemented without incurring additional programming time which would be better spent on higher priority stuff. The best idea would be to copy the system used by RISC OS Select which I seem to remember uses a resizeable window. |
nemo (145) 2529 posts |
A dialog with a scrolling pane can be resized if you’re prepared to do some fancy footwork: http://twitpic.com/bcngkq/full (no ‘nested Wimp’ stuff there) |
Richard Ashbery (495) 163 posts |
Very nice but surely your suggestion would involve quite a bit of extra programming. The solution I’ve highlighted is not the best by any means but is easy to do by editing an existing Res file. |
nemo (145) 2529 posts |
That would depend on how complex the parent window is, it could be as minor as scrolling the parent to keep its OK button in the right place. Having just checked it seems the RISC OS 4 windows already work like my example(!), I’d never noticed (I edit my boot sequence by hand). |
Steve Pampling (1551) 8155 posts |
4.02 or later? i.e. Code that probably exists in the ROOL archive or in the unfortunate sealed source box of ROL? If it’s the latter then as per Chris Evans comments elsewhere – likelihood of ever using those ROL developments on new systems is approaching zero and therefore a block of replication work for ROOL. |
Eric Rucker (325) 232 posts |
4.02 sure doesn’t do that in the Boot at startup window, just checked. |
Steve Pampling (1551) 8155 posts |
With the ROL toolbox loaded I presume. In which case it’s bad news time. I hadn’t gone upstairs to check on the RPC |
Eric Rucker (325) 232 posts |
I used 4.02 plus !RO4INSTAL’s !Boot structure, so I’d assume so. |
Steve Pampling (1551) 8155 posts |
@nemo Oops, just realised Liverpool ties1 and the match is on, and probably the net access isn’t on the lap with a TV handy. 1 Higsons devotee or not? |
nemo (145) 2529 posts |
4.39 “Adjust”. I didn’t willingly purchase RO4, it came with VirtualRPC, which is mostly very good (once hacked around with). |
nemo (145) 2529 posts |
Steve worried:
Come on now! The engineering involved in resizing the parent window and potentially moving a couple of icons in response to the pane resize is trivial. I realise that 0+k > 0 but this isn’t worth worrying about. It’s not like I suggested writeable icon text selection ought to be done. That’s less trivial (but very necessary). |
Steve Pampling (1551) 8155 posts |
The most I’ve ever done in programming on RO is a chunk of BASIC that sorts mail into appropriate directories, created on the basis of the user id in the outgoing mail, and then repeatedly calls PopStar to send the mails using the appropriate user credentials in each case. So, determining how easy or hard the changes would be probably couldn’t be put in my CV (I have a manager that knows all about everything so he could be the worlds authority) If it’s easy then fine, I will wait all the way to the end of the month for the change to appear. :^) Serious comment though – I think a list of the specific features that are needed, as opposed to just wished for, might be rather useful for ROOL. |
Rick Murray (539) 13806 posts |
Define “needed”. Here are some I remember, and I’ll outline an idea of my own below.
There are many things RISC OS needs, I think the list you’ll get depends upon who you ask. (^_^) Here’s my suggestion. Transparent UTF8 capable desktop. It is to work as follows: There will be a helper module, with a name like “UTFTranslate” that will translate UTF8 to Latin1 (etc) with anything not understood being replaced by question marks – so “animé” (UTF8) will be seen as “animé” (Latin1), while “涼宮ハルヒ” (UTF8) will be seen as “?????” (Latin1). This is only a high level GUI thing. I don’t think it is either worth it or feasible to get the underlying OS to cope with UTF8, like in the command line. The DOS command line doesn’t do it either, while Windows GUI can, so it’s a reasonable place to draw a distinction. There shouldn’t be a problem with UTF8 filenames as the <xxxx>Filer incarnations won’t be flagged as UTF8-aware so they will receive older behaviour. Upon such time as the underlying filesystem can cater for UTF8 filenames, the relevant Filer(s) can be updated. If/when I get around to getting myself the ROOL DDE and a buildable version of RISC OS, I plan to see if I’m up to hacking around the Wimp to attempt an implementation of this. Wish me luck, light candles, etc. Justifications: Firstly, we need to enter into the modern age. My Zen media player and phone both tell me that I’m listening to a song by “鬼束ちひろ”. Chances are if you are reading this under RISC OS, you’ll see question marks, char-code markers, or nothing at all. The desktop needs, in my belief, to move forward to an API that goes beyond Latin1, Latin2, LatinX to embrace “characters” as an entity, not little subsets. The other day I was in the ludicrous situation of trying to load a katakana font in OvationPro but it only worked while the system was configured Latin1. It went wrong when configured UTF8. That’s my plan for something I believe RISC OS needs. I’m sure some will disagree and some will say “balls, RISC OS needs <insert item> before any of that!”. Over to you… |
Steve Pampling (1551) 8155 posts |
Wish list omitted. Sorry Rick but the conversation was about those little (or not so little) items that ROL created/modified that are locked away in that closed source box. The question is: What does the OS REALLY need from that stuff? Not wish lists, not I think this is whizzy wonderful, what does it need? Leap ahead all you like in your thoughts, but unless you provide a path forward for both the "I’m not buying that ROL Select stuff crowd AND the I think ROL are wonderful crowd you have lost. Because, simply put, the majority of existing RO users need to be on board for the whole thing to work. New enthusiasts will simply wallow around awhile and wander off without that existing user base. |
Jess Hampshire (158) 865 posts |
It would, but I think it should probably be an add on module, (since it would probably be gpl.) Although it would be nice to be able to have in the core system.
My Pi and 2 dedicated media players do 1080p no problem. But again, wouldn’t this be an add on to the OS? “Is my scanner/printer supported?” Again, not a core thing.
I think the non blocking part is the most important for sorting out performance issues. Apparently the existing API can be extended from 2GB to 4GB by fixing a signing issue. Beyond that it would need a new API. I would hope the new API would be non blocking. I don’t see there is much point making ADFS support bigger files than 4GB, unless it is really easy. We would be better off using NTFS, EXTFS etc (or an NAS). It would be nice to have a module that provides for large files on old filesystems though. They could be made into folders of parts of the file, like CDVDburn does.
I like this.
It displays under Netsurf, but it’s not going to quote.
I think this is also the case with multitasking, (and probably non blocking file access). There should be a new set of APIs that provide the more controlled access to the system (PMT, non blocking file access, etc.) But these should only apply for new programs (and the parts of the system that get modified to take advantage of it.) You run a new program and it doesn’t stall the system. You run an old program and it freezes the system just like now. (And it’s generally ports of programs designed for a PMT system that do this, anyway.) This would have the added advantage that those who want the ability to grab the whole system just use the current method. I have noticed quite a few posts where this ability is beneficial for certain purposes. (I think this would be why I found CDBurn far more reliable than any Windows 9x system, because the machine was allowed to do nothing else.) |
Rick Murray (539) 13806 posts |
Not to be an ar** <grin> but where would you make a distinction between OS module and add-on module? Isn’t my suggestion sort of like a Unixy version of DOSFS?
Thanks. I knew the Pi could do HD, but I didn’t know if it was 1080i or 1080p so I just left it. It does 1080p – I’ll remember that.
I know, but part of the “installation” contains the printer driver setup. Isn’t it going to be logical to look in there and find……..some printers so old you probably can’t even get spares for them off eBay. Is Printers not a part of the ROOL “product”? Again, like RISC OS itself, it is highly modular and can be expanded by others.
We’re moving from a 32 bit pointer (4GiB-1) to a 64 bit pointer (>4GiB). I should point out – if the filesystem doesn’t support more than 4GiB, it would not be possible to hold DVD isos – a DVD-R is 4488KiB (or 4.7GB (denary)).
Certainly. There is a certain level of predictability with RISC OS. I shall give you an example with Windows that happened earlier today. I was pulling the latest Chuunibyou (a 200MiB download). From time to time Windows freezes with the disc light on. I don’t know what this is as my system does not use a swapfile (not a good idea with SSDs!). So this “freeze” can take 20-40 seconds. I’ve had ProcessExplorer running when this happens and there is no spike on the CPU activity. It is as if that period of time simply does not exist, so I can’t blame Firefox or (file)Explorer or Avast! or… This, perhaps more than anything, is something we ought to be shouting about from the rooftops when it comes to the RaspberryPi. Want to play Taylor Swift songs by bit-bashing the audio data to a GPIO (PCM, maybe even S/PDIF!)? With RISC OS and a Pi you can probably pull it off; and reliably so. Maybe even in BASIC with critical code being some wodges of assembler. While Swift is a rather “because I can” example, you can expand upon this to all sorts of devices that require a lot of processing power but demand responsiveness. Essentially, RISC OS has the ability to turn a Pi into a Great Damn Hero version of the microcontroller, offering microcontroller-like attributes with the processing power of a full system. Consider something like a quadricopter (one of those “about a metre-across” ones) with an on-board camera and a Pi. You could use the remote controller to control the camera and the Pi would translate this into how to fly the quadricopter to make it happen, with enough responsiveness to keep the whole thing fluid. All a bunch of random ideas floating in my head, suffice to say I’d be wary about using other operating systems. I know Linux can provide realtime-like facilities, my PVR runs Debian on a 200MHz ARM and it can keep up 640×480 @ 25fps video recording (though it takes several seconds for the command line (via telnet) to catch up); however I would imagine coding that sort of thing for Linux would be considerably harder than the same under RISC OS; and I wonder if Linux has a mechanism to push the OS itself out of the way for when you know you need to count every cycle… |
Rick Murray (539) 13806 posts |
All further quotes from: http://select.riscos.com/SelChanges/s4changes.html I’m going to skip Toolbox stuff, as I don’t use Toolbox so don’t know if their changes are good, okay, or in a different direction…
How does this differ from our RISC OS? I presume this is talking about abstration as in “OS_Byte” moved out of the kernel, rather than using a HAL? It is a possibility, but it is a necessity?
Something we could add? Granted, the C backtraces are not terribly helpful to ordinary people. Maybe some sort of “snapshot” mechanism might be an aid to developers? But, again, it is nice but is it necessary?
…which might not be such an issue if the OS was hardened a little more so a bad program will risk crashing the program and not the machine.
Harinezumi could probably fake some of this stuff. All we need is a version that runs as a module and kicks in before the OS starts the command line interpreter… Again, nice but is it necessary?
As discussed earlier, this possibly needs to be rejigged to handle gamma and such? One thing I noticed when making Harinezumi – there are commands to convert palette entries (&BBGGRR00 IIRC) to GCOLs, but there isn’t a SWI that I could see to return the palette entry from a GCOL. I mean, what colour is GCOL 47,2 ? There’s some sort of OS_Word to do this. Shouldn’t there be a version in ColourTrans?
Our DHCP needs to be modified as followed. I am assuming that the Pi’s hardware can return whether or not there’s a heartbeat (cable connected)? If there is, attempt to do a DHCP configuration. If there is not, revert to preconfigured static IP address. This would mean that DHCP can work on the Pi out of the box (most recent routers should respond to the DHCP request), but it won’t hang up for ~30 seconds when nothing is plugged in.
ROL’s supports multiple displays? At the same time? Same stuff on each, or different? That’d be dead useful for debugging to run the oh-look-its-risc-os-two debugger on one screen, with the “live” system on the other.
Looks like they didn’t attempt non-blocking either.
Looks like a lot of stuff was fixed here. Important?
Now, after all those image convertors and stuff, we get to some meat.
I can sort of see what is going on here. It looks like they were stripping RISC OS down to a microkernel with all of the cruft provided as separate modules. I look at that list and think “Oh my God!”, and then I look at it again and think “Oh. My. God.”. Some of it seems so obvious. I mean, why is the kernel in charge of printing text or doing stuff like OS_Plot?
Eh?
Useful, but to be honest OS_Word and OS_Byte are anachronisms. Obviously they will need to be retained for compatibility, but it might be better to read/write the clock and NVRAM with something other than OS_Byte/OS_Word. How about OS_Time? Or maybe better still, Territory_Clock to fold in the option of “UTC or Local”. Likewise for NVRAM.
This is in line with kicking ’most everything else out. Though, as has been observed on the Pi, perhaps if the RTC is not detected, it will flag this and return generic data on reads and ignore writes instead of periodically attempting to access hardware? Might be useful to make this a replaceable module, so can support whatever methods may be designed for the Beagles, Pies, etc, just by having the hardware come with a suitable module…
? You can’t force a reset-NVRAM on ROL’s version? Granted, it would solve a lot of nonsense in the kernel, but if your CMOS is shagged up, how do you go about fixing it?
What’s the current size? How full is it normally? What happens if it overflows?
There’s a pile of stuff that ought to be inaccessible and/or read only in USR mode.
…it wasn’t already? I thought 3.7 or somesuch did that?
What does this mean? Early initialised?
Along with RTC mentioned earlier, this would be a useful thing for the various third-party options for the SoC boards.
Whoo – Level2! ;-)
Interesting. I’d have thought a new API would be necessary; for instance I could not easily support a graphics tablet with OS_Mouse’s mechanisms (how to report pen pressure?), touch devices have a fair few additional possibilities. In terms of necessity, it can be thought about later…
A week or so ago we were discussing a compositing GUI. Something like that? Not “necessary”, but interesting to note.
Not necessary, but are progressive JPEGs supported these days?
A worrying number of fixes there…
Seems logical.
Head, meet wall. Seems like a lot of Wimp stuff was to do with Icon Transitions. Okay, that’s all for now. I’m beat. But, apart from the sense of stripping down the kernel, and moving out CMOS/RTC code to separate modules (especially since modern devices don’t use the Acorn method here); there are a lot of “good idea”s but I’m not sure how much is absolute necessity. I suspect the skipped-over Toolbox stuff might be seen so by some. Maybe best to ask an actual RISC OS 4/6 developer – what do you think RISC OS 5 needs to support that it doesn’t now? |
Eric Rucker (325) 232 posts |
Those are just the changes from, I believe, Select 3i4 (4.39) to Select 4i1 (6.02 Preview, I think). Anyway, the code to handle resetting CMOS could safely be removed from RO6, given that there has never been an Adjust (ROM) release of Select 4, 5, or 6. You would be booting RISC OS 6 from a 4.02 or 4.39 ROM, and that ROM would have reset code. |
Steve Pampling (1551) 8155 posts |
Link layer detect (OSI model L1). Is the NIC connected to another L1 interface? |
Jess Hampshire (158) 865 posts |
The issues I was thinking of are that the OS should be designed to have and use plug in filesystem formats. And that unless you were writing from scratch or using a BSB licensed source, it would be GPL, giving the same issue as FAT32FS.
It would not be able to hold full capacity DVD ISOs, (but 4GB is much better than the current 2) and FAT32 is the same. Which is why I think a driver that fakes big files by storing folders full of 2 or 4 GB chunks (similar to the way longfiles faked the names) would be good. (And the files would survive copying by non aware utilities.) Any effort spent making Filecore support the bigger files would be far better spent porting EXTFS or even NTFS.
I thought this one was a good idea. (Because it can be turned off, if you need to run a program that has a bad header.) bq.Internet I did notice my Iyonix was much poorer at doing network stuff when I first got it than my RPC. (e.g. streaming internet radio was rubbish.) It doesn’t seem to have such problems not, so I assume lots of similar work has been done. Also I notice the page is changes from 3 to 4. There are goodies from previous selects too. Notably the image render system. (And the cosmetic stuff) |