Persistent mode changes
Pages: 1 2
Theo Markettos (89) 919 posts |
I was looking at Display Manager, which looks like an unloved piece of assembler. This lead me to wonder whether we need it at all. There is after all a second place where screen modes are configured, in !Configure. The difference, of course, is that !Configure changes are persistent, while changes in Display Manager are temporary. However I wonder if this is still useful. A long time ago screen modes took a lot of memory, and so mode selection was a tradeoff between display capability and screen memory usage. You would switch modes because you wanted to use the memory for something else. This continued into the Archimedes era. But nowadays the screen memory is a tiny part of the machine’s memory, and you don’t typically switch resolution to save a few KB. At which point, why is there an icon dedicated to this purpose? On other platforms mode changes are persistent – they are remembered over reboot. The !Configure interface handles that, with a ‘try’ button for getting you out of trouble if you select a mode where you can’t see. Display Manager doesn’t have that. It is confusing to have two places for configuring screen resolution, one of which persists and one which doesn’t. So should Display Manager go away, or be replaced with an icon that just opens the relevant panel from !Configure? That would make all mode changes persistent over reboots. Should there be some kind of ‘safe mode’ to select a lowest-common-denominator mode so you can always get in an reconfigure it if you break things? |
Chris (121) 472 posts |
I think so. As you say, it’s one less bit of assembler to maintain, and Configure does the job more comprehensively. I’d be very happy to lose the old iconbar icon too, but it could always be retained as a shortcut to the Configure app if necessary. The only really useful thing that Display Manager does allow at the moment, IMO, is an option to change the DPI, via the Mode string field, which I do find useful when designing sprites or checking screen redraw in the higher-res modes. But if that feature were added to the Configure plug-in, then even that reason for keeping the component disappears. |
GavinWraith (26) 1563 posts |
Since I started using the Raspberry Pi for RISC OS it is very rare that I use any screen mode other than X1920 Y1080 C16M F50. |
Clive Semmens (2335) 3276 posts |
Since I started using the Raspberry Pi for RISC OS it is very rare that I use any screen mode other than X3840 Y2160 C16M F25. Actually, that’s a lie. For a while after first getting a Pi I didn’t have any monitor bigger than 1600×1200, but I’ve had this 4K beast four and a half years now. |
Theo Markettos (89) 919 posts |
I wonder whether the Display Manager icon should be replaced with a generic ‘settings’ icon that takes you to Configure? I know Configure is available via the Task Manager menu, but it is now a fairly central part of the OS, and maybe it should be more prominent? I thought there was a link to it from the Apps iconbar icon, but on this RO Direct install it seems not. Doing that would mean the monitor configuration is only two clicks away. Or perhaps it would be better to free up space on the iconbar? Adding DPI settings or better scaling settings (50%, 100%, 200%) to the mode settings in Configure would address that use case (does anyone ever really do non-square scaling these days, ie EX0 EY2 or whatever?) |
David Pitt (3386) 1248 posts |
When using a monitor then it is very rare to use anything other than the default for the LCD display. However when using VNC any display size could be used. A really nice size is 1280×1280 to have RISC OS occupy half of the Mac’s 27 inch display. (Usefully one could have two RISC OS machines side by side on the one monitor.) This AOC is having nothing to do with 1280×1280 so configuring that will give one a minor headache if the RISC OS machine is rebooted and needed to be displayed on the monitor. Similarly the Titanium can display 2048×1440 in VNC Viewer but not in its 1920×1200 AOC. For this sort of usage a transitory mode change is safer. A bit of an edge case perhaps but … I have built a ROM without the Display Manager. It does save a tiny bit of ROM space which would be useful. |
David J. Ruck (33) 1635 posts |
I’m surprised DisplayManager is assembler. I’m sure someone could knock up a replacement in a few lines of BASIC and then stick it on the disk image, for anyone to run if required. |
Rick Murray (539) 13840 posts |
History, mostly. It started off as a palette utility and evolved into a mode change tool.
I like how people (here and elsewhere) describe things as “unloved” if it hasn’t had a dozen commits in the past year.
Unplug DisplayManager? Because there are some of us that actually use it. Especially when some problems that quit in a less than salubrious manner (FastDOSBox I’m looking at you) leave the display stick in some weirdo mode like 320×240 or whatever. Kindly do not ask for it to be removed simply because you don’t have a need for it.
Good luck with that. A number of us have wanted a right click on Switcher to open the configuration tool. The Powers That Be vetoed that one. :/ As for an always present icon to get to settings, that might be a bit of an interesting debate. I view system configuration as something that gets set up, tested, and then left the hell alone. Too much fiddling isn’t a good idea. ;-)
I use GPU rescale, so I can use any (defined) mode that I like and the monitor sees 1280×1024.
Probably a case of don’t fix what isn’t broken. |
Steve Pampling (1551) 8170 posts |
There can be, if you configure it with Configure |
Chris (121) 472 posts |
I didn’t ask for it. I’m just agreeing with the original post that it seems anachronistic to have it there. If there are good reasons to keep it, then that’s fine too.
Sounds good. |
Dave Higton (1515) 3525 posts |
Just beware of what happens when “Machine startup has not completed successfully” (or whatever it says), because under those circumstances it isn’t possible to reconfigure the machine. |
Steffen Huber (91) 1953 posts |
During development, I quite often drop to lower-res modes ro get a better feeling which window style works good enough for low resolutions. In the pre-ViewFinder Risc PC days, I used it all the time to switch between 16 colours, 256 colours and 32k colours in their max resolutions…in the Archimedes days, it was always Mode 0 to gain some speed compared to Mode 31 (on an A3000/ARM2…). But anyway, having an obvious way into !Configure instead and either always make the chosen res persistent, or make also selection-without-persistence possible, maybe even a simple button to restore the previous user-chosen resolution (to cater for Rick’s case of running software that fails to properly restore display state) would be a good idea. |
Rick Murray (539) 13840 posts |
Using Configure, no. Which is sometimes a little awkward. However with the current Display Manager, it should be possible to drag an MDF onto the icon to load the definitions within, and then select a more appropriate mode for the process of unborking the machine.
Anybody else want to hoist the “right click on Switcher” flag again? ;-) |
Theo Markettos (89) 919 posts |
If the Configure display options had scaling and a ‘just do it one time’ button, and a Configure iconbar icon was provided in which an Adjust click opened those display options, would that cover the use cases? That mostly leaves ‘drop an MDF into Display Manager’ and setting the mode string. Perhaps that might need a button somewhere. The use case I’m not sure about is when you’ve booted without a disc present, or shift booted. But then you don’t have a valid MDF so DM won’t let you change mode anyway. I think ‘you cannot reconfigure this machine’ a very unhelpful thing to say, but that’s a different problem to this one. |
David Pitt (3386) 1248 posts |
With MonitorType configured as EDID the DisplayManager Resolution menu is populated with the found modes and does work. Tested on Titanium with 24" AOC and RPi400 with 27" AOC. |
Sprow (202) 1158 posts |
A further dimension to consider is the roadmap item for multiple displays which we already have several hardware platforms for today, even if OS support is a little lagging. When I plug my laptop into projectors it dynamically adjusts stuff (and can either replicate the same image on both the screen and projector, or have the projector show slides and notes on the screen, and similar combinations). I don’t want this to be persistent because in 30 minutes I’ll unplug the laptop and walk off. Of course, that comment’s really just raising the spectre of lack of hotplug support in RISC OS. To me this points to needing some kind of desktop widget that spots displays coming and going and lets me select which one is current on a temporary basis. Since it needs a Wimp front end (eg. for a button to plot a giant ‘1’ or ‘2’ so figure out which is the primary head) I’d guess it needs to be an application, and as it’s related to displays maybe such an application would be called ‘Display Manager’?! That’s not to say the current Display Manager is the right tool for the job, but expending effort fiddling with the current one when there’s visibility of a much more substantial change is a bit like pulling up weeds the day before you have your drive tarmac’d. There are plent of empty sections in the multiple display design document so maybe this thread can distill some thoughts on how that might hang together.
Fun fact: you can also drag EDID data files as well as MDFs. |
Frederick Bambrough (1372) 837 posts |
Frogger & friends. Want to reconfigure for those? |
Theo Markettos (89) 919 posts |
Good points. The MacOS implementation of that has this to be persistent, but keyed on the combination of monitors. In other words it will remember the settings from last time you had monitors with a particular collection of model and serial numbers connected. That means it’s seamless when you switch between two different setups – home and office, for example. It always knows that home monitor A is to the left of home monitor B, or that the projector in Conference Room C needs SVGA. This means you don’t need to go into settings you potentially can’t see. When presented with a monitor it hasn’t seen before it dreams up some defaults, which you can then adjust. I think the case where you truly want to forget the settings next time you plug in the same monitor are actually very few. And a ‘just this once’ button would likely cover that. I think the current assembler Display Manager would be woefully unsuitable for this role, in any case. |
Jeffrey Lee (213) 6048 posts |
Both the Display Manager and the Screen Setup Configure plugin will need extending significantly to cope with multi-monitor, and there’s a common subset of functionality which they’ll both need to offer. So it might make sense to remove the current Display Manager component, and extend Screen Setup so that it can build two different targets (Screen Setup & the new Display Manager). That way they can easily share each others code with minimal maintenance overhead. In terms of the Display Manager icon bar icon, I also rarely use it. However as RISC OS continues to develop, it would be nice to have things like volume control, wifi/bluetooth control, etc. easily accessible, like they are on other OS’s. So it might make sense to replace the Display Manager icon with a multi-function settings icon (which possibly just acts as a launcher for Configure or individual Configure plugins). I’m not sure what presentation would work best though – a single icon that opens up another window with separate icons for each component, like Configure? Or a bunch of mini icons in a stack/grid that can be clicked directly? Maybe give the user the choice of presentation? (one icon leading to a separate window, or multiple mini icons, or multiple full-size icons). This is also the kind of thing that should probably have an API to allow third-party software to add their own components, and a way for the icons to update to reflect the current status of the component (wifi signal strength, etc.) |
Alan Adams (2486) 1149 posts |
NO! I have an array of rPI computers, which normally use small monitors, and are configured that way. Sometimes I need to attach a larger monitor to one, and adjust the screen mode to suit. If this change was permanent then next time I start up with a small monitor I have no display. Edit: These are VGA monitors running via a converter, so EDID isn’t a reliable way to find out what the monitor needs. I then have two options only: re-attach the large monitor, and adjust the screen mode downwards, or use VNC to connect and make the adjustment that way. |
Chris (121) 472 posts |
That sounds like a good idea. It would cater for possible future needs while allowing people who find it handy to use the current Display Manager to do so in pretty much the same way as now. It would be a ‘Configure-lite’, I guess, for often-used or non-persistent settings. |
Chris Evans (457) 1614 posts |
I use Display Manger most days, it can be very useful. I often drag windows to the edge of the screen and sometimes have trouble finding them and other windows occasionally windows seem to just go AWOL, dropping to a lower resolution will bring them all on to the screen. |
Rick Murray (539) 13840 posts |
Pi machines are dirt cheap and can run rings around any RiscPC. Given all of this, I would imagine that anybody who hasn’t come over by now…is probably not going to. |
Clive Semmens (2335) 3276 posts |
Pi machines are dirt cheap and can run rings around any RiscPC. Exactly, all points. I’d add that anyone who is riding two horses (RISCOS + Windows, or RISCOS + Mac, like me) is likely to be able to use the same monitor for both – at resolutions that a RiscPC can only dream of. |
David Pitt (3386) 1248 posts |
From the Mac’s second, 2560×1440, monitor in full screen mode. |
Pages: 1 2