- extract from the Concise Oxford dictionary 1990 edition
What is utopia?
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
Utopia is a small program designed to overcome my problems faced whilst using Risc OS. I'm sure you'll have noticed that the great operating system does have a few minor pitfalls, and this program endeavors to fill some of them in and add other features that you may find useful.
History of utopia
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
For several years now, I have had a series of very badly written and rushed together utilities by myself and many Pd authors. These programs each took up 32Kb of memory, Ok, so I have got 4Mb but it still runs out sometimes, so I have decided to group them together into one small, compact, fast, program writhing from top to bottom with features. Anyway, that is what you have before you now.
Loading utopia
¯¯¯¯¯¯¯¯¯¯¯¯¯¯
Just load utopia as you would with any other program that you have, by double-clicking on the application icon. Utopia will load and the utopia icon will appear on the icon bar and the main utopia window will open in the top right of the screen.
Adjusting utopia to your needs
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
If you click with the menu button over either the icon bar icon or the main window, a menu will come up with lots of different options listed, some going to other submenus. Many options are set up to be turned on/off and only work when the right circumstances appear, if you click on these options they will become ticked to show that thay are selected and are now operating. Other items will not be able to be ticked, these are ones that are minor utilities that operate when that menu item is selected, these items are high-lighted in black, for example the 'Remove' caret option.
Please note, that if you wish the utopia menu to stay open after you have clicked on one of the options, simply click with the adjust button rather than the select button on the item in question, it has the same effect but the menu remains open.
The main window
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
I'd like just to get one thing straight, yes, the main window is that tiny little 3d icon which displays the time, thankyou.
If you want to move the window around, as I'm sure you will, simply click on it with select and drag it around as you would if it were the titlebar of any other window. If you click the menu button over the window, the main menu will appear the same as if you clicked the menu button on the icon bar icon.
You can toggle whether or not the window is open by simply pressing Shift-F11 to open or close the window.
If you click select on the icon bar icon, the main window is brought to the top and if you click adjust on the icon bar icon, the main window is closed.
Extra features of the main window
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
There are some extra hidden features to this window that are detailed below and are a combination of hotkeys, when clicking on the window.
* If you hold down the adjust button and then press select over the window, the entire screen is redrawn.
* If you hold down the adjust button and then press the menu button, the hourglass is turned off, if it has been left on by a crashed task.
* Click the adjust button whilst pressing C and the !Chars application will be loaded from the Resources directory.
The following each detail the individual submenus leading off from the main utopia window.
Display
¯¯¯¯¯¯¯
The display option controls which sort of information is displayed in the main utopia window. I'm sure you will have noticed when you loaded it, that utopia displays the current time in the 24hr clock, this can be altered to another type on information or turned off.
To alter the display, simply select the main menu and then goto the display item, them move the pointer right until you see another window open, to select any of these items to be displayed in the main window, simply click on it with select or adjust.
Display options:
• Time
This is merely the time in the 24hr clock, just hours and minutes, no
seconds I'm afraid. (default) I tend to prefer this to the full time, as
it means that there is less activity on the dektop, and I won't be
distracted bye the second's frequently changing.
• Date
This is the date in numerical style, eg 28/12/79
• Free Memory
This is the amount of memory left free or in the next slot in the task
manager window
• Wimp mode
This displays the current mode number, I'm not sure what effect this will
have on a Risc PC (it might crash)
• Icon number
This displays the current icon number that the mouse is positioned over
and if the icon is a title bar etc. it is labelled accordingly
• Cache status
This tells you whether the cache (ARM 3) is enabled or not, again I'm not
sure if this will work on a Risc PC, it checks for the module Arm3Support,
so I doubt it will work.
• Mouse CoOrds
This displays the mouse's current x and y graphical co-ordinates in pixels.
• Full time
This displays the time in hours, minutes and seconds, I found the constant
alteration of the window a bit distracting and prefer the default clock.
• Nothing
This just displays the word 'utopia' in the main window instead of the
time or any of the other features, this is just a little more
aesthetically pleasing if you don't like the other options.
• Time On
This displays the amount of time in hours, minutes and seconds since the
computer was turned on or the lst reset took place.
Pointer
¯¯¯¯¯¯¯
The pointer submenu gives access to all the options connected with the mouse pointer, there are some others bu the fit better into other categories. As the Risc OS environment is almost entirely mouse driven, it is very important for your mouse to be at its optimum so that you can get the best from your computer, hopefully these settings will help you to do that.
• Wrap Around
The mouse wraparound is not a novel feature and it has been done hundreds
of times before, but it is too useful not to include. When this options is
selected, if the mouse touches the edge of the screen, it suddenly appears
on the other side as if it had been wrapped around the back of your
monitor to reappear. There is a further submenu to the right of this
option, whereby you can set the distance from the edge of the screen where
the mouse will disappear from, this is measured in pixels. For example if
set to '5' when the mouse came within 5 pixels of the edge of the screen
it would be wrapped. Note that if you set this to '0' wrapping is as good
as disabled.
• Large
If you have problems with seeing the mouse pointer on the screen, perhaps
because it is too small, when his option is selected the mouse becomes
much larger than normal. This larger sprite is held inside the Sprites
file inside the utopia application. You are free to change these sprites
but note that the maximum size of sprite that will be displayed is 32x32
pixels. If you have Risc OS 2, and if utopia actually works, you will also
have access to the double-click feature on Risc OS 3 where the mouse
pointer changes when it has received the first click of a double-click.
• Scaled
This scales the mouse so that if the mouse moves faster, it will move
further and if it doesn't move so fast it will move slower. This may sound
strange but it means that for accurate work, the mouse pointer will go at
normal pace but with a quick flick of the mouse, it can skim accross to
the other side of the screen. This does save a lot of wear and tear on
your poor wrists but can also feel a bit strange at first, try it and see
if you like it. The way it works is that is costantly checks the mouse
position, and if it has moved 15 pixels or more from the last check, the
distance it is moved is doubled by utopia. If it has moved less then 15
pixels it is left the same.
• Mouse step
The way that mouse movement works is that two rollers on either side of
the mouse ball send information to the computer on how far they have been
rolled, many times a second, one of these rollers is the x axis and the
other the y axis. Now to prevent the mouse movement from being exactly 1:1
in comparison with real life, which is pretty slow on screen, the
operating system multiplies the real distance moved by the mouse step
unit. Thus the higher mouse step, the further the mouse moves for the same
distance. You may sometimes find yourself wishing to change the mousestep,
perhaps for slow accurate movement or sometimes for resetting the default
after a nasty games has crashed and left you with a slow pointer. To do
this simply move the mouse pointer to the submenu of mouse step and then
type in the mousetep you want and press return. Note that a mouse step of
less than 1 is not permitted as it will cause the pointer to freeze or
even go in reverse, neither is a mousestep of greater than 50 permitted as
it is too fast for the mouse to be usable. A further item of note is that
the mouse step is automatically set to the utopia default on loading
utopia, also this item can not be 'ticked', it is a one off action
• Psychadelic
This is another utility for those of you who find that you are losing the
mouse a lot, when this options is selected, the mouse pointers colour will
change constantly from one shade to another, both colours independently.
This will give off some strange colours, but you should find that it is
useful in spotting the pointer especially with the large option turned on
as well. When the option is switched off, the pointer returns to the
default colours.
• Accurate
This is a useful little option for those times when you need really
accurate control over the pointer, but cannot be bothered to mess about
changing the mouse step. All you have to do is press down either of the
Alt buttons and press the cursor keys to move the pointer one pixel in the
the required direction. Most modern software includes this feature already
but it can still come in useful at times.
Caret
¯¯¯¯¯
For those of you that don't know, the caret is the small vertical red line with splitends that appears whenever you are able to type into a window. Most of these features are to do with the location of the caret.
• Flash
This option causes the caret to flash on and off at a set rate, making it
easier to see and locate. This doesn't even effect the capability of
typeing even when the caret is in it vanished phase. The amount of time
that the caret is on/off for is determined from this options submenu. It
is measured in centi-seconds (100ths of a second) so for example the
default if 50 centi-seconds is simply ½ a second.
• Autofocus
This is a clever little tool in that when this options is selected, it
gives the input focus to which ever window the pointer is over at the
time. This is particularly useful when you are writing 2 or more documents
at the same time as you can simply move the pointer to determine which
window you wish to type into. You may dislike this option because it also
gives the input focus to filer windows which can never be typed into and
gives the the cream surround, try it and see.
• Remove
When you click on this item, it causes the input focus to be removed from
which ever window currently has it, so that you can no longer enter text.
You may find this doesn't work if you have the auto-focus option turned on.
• Find
This option is currently not written, and is greyed out, it will be
available in the next version.
Security
¯¯¯¯¯¯¯¯
Computer security has long been a serious problem, unfortunately I am nowhere near wise enough to be able to provide defence against hackers but there are a few little features that you may find useful in defending your acorn.
• Protect
This is the security option that I find most useful out of all of these,
what it does is provide you with a little box that requires a password to
be typed in before you can do any more work. To make this work, move
across to the submenu, delete the stars already there and type in your
password, remembering that utopia is case-sensitive (it recognises
upper-case and lower-case letters as different letters), so you must be
careful. Note that all characters that you type in will appear as stars so
that prying eyes do not read your password. Then press return or click on
the protect option. A small window will open in the centre of the screen
asking for a password to be typed into it, the pointer will be locked into
this window and will not be able to be moved out of it. If an incorrect
password is typed in, and return is pressed, the icon will be cleared and
a beep will issue from the coputers speaker. If however you type in the
real password, the window will vanish and you can get on with your work as
per normal. Note that when typing in the password both times, the
characters are replaced with stars to prevent prying eyes. Also the fonts
option is disabled on the protect window input icon as the caret seemed to
get confused.
• Network
This is only useful if your computer is connected to an Econet network. If
it isn't this options is greyed out and cannot be selected. If you do have
a network however, when this option is selected, it will prevent the
computer from receiving notify messages from another computer. Sorry, but
I haven't been able to test this as yet so I don't know for sure if it
works, but it certainly should.
• ID: xxxxxx
Inside all newish Acorn computers, I think from the A5000 early series
onwards, there is a chip which holds an un alterable number. This number
is unique to your computer and can only be altered by removing the chip
and replacing it with another. This menu item cannot be selected, but it
displays the unique identification number for you computer. So, if in the
nasty event that your computer is stolen, and you need to prove it is
yours, run your trusty copy of utopia and if the computers unique id no.
matches your stolen acorn, the computer is yours. Not very useful in
everyday use I admit, but jolly interesting anyway.
Loading
¯¯¯¯¯¯¯
This feature controls what happens in the vent of a file/application/direcroy being loaded into utopia by being dragged to the window or icon on the iconbar. When these options are selected, the loaded file will be acted on in the selected way.
• No action
If this option is selected, when a file is loaded there is absolutly no
effect! (jolly useful wouldn't you say)
• Wipe
When a file is loaded into utopia, a window ill open asking if you wish to
wipe this object. If you select yes then the object will be *WIPEed and
deleted whether it is protected or not. If you select no then the window
will close and all will be forgotten. Use this option with care.
• Iconsprite
When a file is loded, if it is a spritefile (type &FF9), it will be
*ICONSPRITEed ie. it will be loaded into the wimp pool, it can then be
used for displaying in programs, software, or in the filer etc. This will
probably be of more use to programmers or those that understand how Risc OS
works.
• Toolsprite
It is unknown by many users that they can change the tools for their
desktop, by this I mean alter the colours, shape etc. of the toolbars,
titlebars, arrows etc. Look it up in your Acron user guide (yes, dig it
out) for more details. Basically any sprite that is loaded while this
option is selected will have its sprites configured to be the new tools.
Note, Risc OS 3 users, take a look at Resources:$.Resources.Wimp.Tools for
a quick example. I suspect this feature will be rarely used, but it was
easy to include, so I did.
Other
¯¯¯¯¯
These tend to be the optiosn that I couldn't find any where else for them to fit into, in later versions there will probably be more menu options and therefore less miscallaneous items that have to go in this menu. Some of these options are utopia's strongest selling points so don't ignore them as just being ordinary.
• Alerter
This little gem notifies the user when the computer has been occupied for
a set amount of time by another task. For example if you set a spreadsheet
calculating masses or cells, it could take several mintes that you could
spend reading a book or elsewhere, but then you would have to keep
checking whether or not the task had finished. With this options set, when
the task is over, the computer gives out a beep to tell you. To alter the
amount of time that the computer must be occupied before it will beep when
the task is over, move to the submenu and type in, in seonds the amount of
time. For example with the default of 5 seconds, a task of 4 seconds will
not make a beep when it ends but a task of 5 or more seconds will. If this
value is too low, you will get beeps when you finish dragging a scroll bar.
• FileCore Fix
Many times you will have an error occur such as File core error/filecore
in use/file open, all these are extremely irritating and unsolvable until
now. If this option is selected, simply press F11 and the filecore is
reset and all files are closed.
• No run error
Many a time have I double-clicked on a file only to get the ver so helpful
'No run action specified...' error thrown up in my face. This gets
intensley irritating especially if I then have to move the pointer to
clear the error box. If you turn this option on, the file will no longer
generate an error, merely a system beep to tell you that the operating
system doesn't know where to load it. This is a stop-gap for you until you
get hold of my excellent application 'typeinfo', when this program is
loaded, if you get a file which would generate an error, a window is
opened with a filesprite and information as to what sort of file it is,
and lots more besides. Sorry about the little advert but typeinfo is
brilliant.
• Win Scroller
When this option is selected, if the pointer comes within 20 pixels of the
boundary of a window, with select held down (eg. dragging an item) if you
press either of the Ctrl buttons on the keyboard, the window will scroll
in the appropriate direction ie. at the botom of the window it will scroll
downwards. This options is provided automatically by many applications but
some still don't provide it. The reason that you have to hold down control
is that otherwise some filer windows will scroll when you don't want them
to and it can get a bit messy if you drag a file across the screen for
example. If you do use this option on filer windows, you may well find it
does get a bit messy when the windows don't always redraw properly.
• Check ShutDn
This is really an option that should have ben included in Risc OS 3, I
don't know whether or not is has been on Risc OS 3.5 but I certainly don't
have it on my Acorn. What happens is that when you select Shut down from
the task manager or press Ctrl-Shift-F12 to initiate a shutdown, if the
option is on, utopia pauses the shutdown and enquires as to whether or not
you wish to really shutdown or whether it was just a mistake. If you
select yes, the shutdown continues as per normal but if you click no, it
is canceled. The problem is with the way Risc OS is written, a quit from
the task manager solely for utopia is seen as the same as a shutdown in
utopia's eyes. For this reason, if you vote not to shutdown, you will then
be asked if you wish to quit utopia, yes or no. This has been invaluable
to me several times when I have accidentally clicked on the Shutdown item.
Virtual Desk
¯¯¯¯¯¯¯¯¯¯¯¯
This is a collection of a few utilities that create a virtual desktop, if you haven't come across one of these before, it basically means that if you move the mouse to one side of the screen, then all the windows will scroll in the opposite direction (except the utopia window) this allows you to make use of an enlarged or 'virtual' desktop. Try it and see, it is much easier than it sounds. This works in the same vein as the virtual desktops provided by Menon, Larger and Largeness, other PD utilities.
• Scrollable
This turns the scrolling (virtual) desktop on when this option is selected.
• ScrollBound
This sets up the distance from the edge of the screen at which the windows
will start to scroll. This is measured in OS units or basically mouse
points, in the same way as the Wrap around option works for the mouse.
• Srl Retrieve
The problem with a virtual desktop is that it is possible to scroll the
windows too far off the screen so that they are almost impossible to
retrieve, causing a lot of hassle. Other virtual desktop programs use a
kind of scaled down map in a separate window so that they can retrieve the
windows from that. This idea is a little too cumbersome for a utility as
slimline as utopia, so I have provided this utility instead. When this
item is clicked on, all the windows that are off the screen are brought
back on.
Alarm
¯¯¯¯¯
This is a little feature that I desperately had a need for but never really got round to writing until now. Often I found the need to remind myself of that important program that was on TV (usually neighbours) or that it was time to go and meet my mates/girlfriend, and found myself watching the utopia clock every few minutes to check whether or not it was time to go. Of course the simple solution would be to load up the !Alarm application on my A5000s ROM and put the time in there. The problem was that it's a hassel setting up all the bits and pieces in alarm, when all I wanted was a beep at 5:35pm.
The top item in the Alarm menu is the time that utopia's alarm is set to go off, it will do this irrespective of the date, day etc. If for example you wish to set the alarm to go off at 5:35 pm, you should type in 17:35 into that menu item, ie 24 hour clock. The hours and minutes separator must be a colon or the program won't understand it, and the alarm won't sound. Another important thing to mention is that utopia verifies the details you have entered by making sure that the 2 digits before the colon are 23 or less, and the 2 digits after the colon are 59 or less, this means that if for exanple, you enter 12:44 and then go back and delete the colon, utopia will read the first number as being 1244, which is greater than 23 and will generate an error.
When the correct time has been reached, a message of the form 'An alarm has been set for this time, 17:35', will come up. You should note when entering the times that it is not necessary to put zero before a 1 digit hour, or minute number, ie. '9:5' is the equivalent of '09:05'.
The alarm can be turned on or off by selecting the menu item titled 'Active' from the alarm menu. When it is ticked, the alarm is in operation.
Max Memory
----------
This is the title leading to a menu controlling each option for memory slot minimisation. The options are; 'System heap', 'Module area', 'Font area', 'SystemSprite', 'Screen mem'. When these items are selected, utopia sets these slots to their minimum possible values by trying to set them to 0Kb. It then checks them periodically, several times a second, to see if they have grown above the minimised memory size. If they have, they are minimised to 0Kb again. The reason for this is that if the slots are not checked before being reduced, and are merely constantly reduced to the minimum, the computer is slowed down remarkably.
Note that the 'SystemSprite' option has been successfully tested with MemFS version 1.08 and causes no problems (to people not familiar to MemFS, it is a great little aplication that provides an FS similar to the RAM disc, but with no constraints, as it uses the system sprite area).
Set up
------
This is merely a sub title for several other options which control the appearance of utopia:
• Window Fonts - when the application loads, it loads the font windows
rather than the ones which don't use fonts.
• Menu Fonts - this option is currently unavailable, but when I have
written it, it will allow the use of fonts in the menus.
• Icon on Bar - when this option is selected, the utopia icon appears on te
icon bar.
• Window Start - when this option is selected and saved, when utopia is
loaded, the main window itself opens as well.
• Keep on top - when this is selected, the main utopia window is always
kept on top of all the other windows.
• Keep to back - when this is selected, the main utopia window is always
kept behind all of the other windows.
Note that if either of the keep to top or back options is selected, then the other is automatically deselected.
Save setup
¯¯¯¯¯¯¯¯¯¯
When this option is selected all the data that you have setup about utopia is saved to the disk so that when you load it up next time, it will be the same as you left it. Even the position of the main window is saved to disk. All variables such as the security password and the wraparound border are also saved to disk, and are loaded automatically when utopia is loaded.
Bugs
¯¯¯¯
Apart from being a very SAD programme on BBC1, (enough to make anyone technophobic), these are the awkward side of all software, not mentioning anything from a certain US software giant which produced an awfully big GUI in 1995. Anyway, so you don't feel left out, utopia has a couple as well.
Firstly, if you change modes from a high res to a low res mode eg. 27 to 12, you will find that if you are using fonts, the fonts become very elongated, and only return to normal size when you change the mode back. I have found a module that solves the problem inside Cy Booker's BASCompress, all I need to know is how it works, and I'll code my own version, coming soon.
You may need to increase the wimpslot size (amount of memory utopia uses) on your computer, 32K is fine on my 4Mb A5000, but you might need to allocate more. To do this, load utopia's !Run file into Edit and change the '32's on line 4 to '64's, or '96's if you have a real problem, failing that contact me. The most likely symptoms of this are a crash on startup, or completely unexplained and random problems during use.
I seriously DON'T recommend loading more than one copy of utopia at once, as the varying utilities may collide, for example the caret flasher, and the overall effect will be awkward and bug-ridden. I haven't prevented this though, because I know some people will want to display different pieces of information simultaneously, just BE CAREFUL.