Tamarc 1.01 released
Pages: 1 2
Fred Graute (114) 645 posts |
Version 1.01 of Tamarc is now available for download. Tamarc (short for TaskManager Right Click) is a small module that checks for clicks with the right mouse button on the TaskManager’s icon bar icon. The inspiration for Tamarc came from ‘QuickConfig’ (by Will Ling) which was hardcoded to open Configure on a right click. In Tamarc this was changed to running an obey file so that the action performed could be modified by the user. By default that action is still to start the Configure application but you can edit the obey file to make it do something else. Also included is a utility called TestACS which checks if any of the modifiers Alt, Ctrl or Shift are pressed. The results are placed in a couple of system variables that can be used in an obey file. By using TestACS, multiple actions can be assigned to Adjust clicks depending on which modifier key(s) are pressed. For example, a plain Adjust click could open Configure while a Ctrl-click opens a TaskWindow. Tamarc & TestACS can be freely distributed under the 3-clause BSD licence, and come with the source included. As always, all feedback is welcome. |
Steve Pampling (1551) 8155 posts |
Is it just me or does anyone else think that it is a bit wrong that Fred has spent time producing this to deal with the obstinance of at least one ROOL personality with regard to coding the right-click use into the TaskManager? – I know Rick modifies his build to do exactly this. Fortunately Fred’s offering has other functionality so the effort is justified on those grounds, if not the actually the headline item. |
nemo (145) 2529 posts |
RISC OS makes it very easy to add this kind of functionality if it is desired, so there is no necessity for ‘official’ modification. On my machine clicking Adjust on Apps opens Resources:$ – the fact that I find that useful doesn’t mean it should be built-in out of the box. |
Steve Pampling (1551) 8155 posts |
Thus demonstrating a mind fixed in the era of closed source OS releases that happened (very) occasionally. |
Rick Murray (539) 13806 posts |
While I am happy to see some amazing work on getting RISC OS to deal with Unicode in a manner that resembles sanity (yes, it’s my fault, I know…); it does concern me a little that these enhancements are provided as extension modules. Certainly, an extension is the only way that is going to work for older OS versions that are never going to be further developed; but for current versions of RISC OS? Is it logical to have extension modules correcting the inherent brokenness of the OS in preference to just fixing the damn OS?
Well, clearly the option that would satisfy everybody is to have Switcher look to see what |
Steve Pampling (1551) 8155 posts |
That idea is quite appealing. Plus a version in the system download updates earlier versions,yes? |
nemo (145) 2529 posts |
That’s one, uncharitable, interpretation. The other is that you find Rick’s suggestion of a right-click hook “appealing”, but I find the existing hook makes it “very easy to add this kind of functionality”. I acknowledge that not everyone is comfortable registering a PostFilter on the Switcher icon, but that’s not because my mind is ‘fixed’. |
nemo (145) 2529 posts |
I hope the UTF-8 support I’m working on will be incorporated, once proven. There have been some discussions along those lines. However, I am insisting that’s a post-beta consideration. |
Steve Pampling (1551) 8155 posts |
That’s an example of grumpy mode1 phraseology – my apologies. 1 For some reason every idiot in the organisation finds stupid things to do on a Friday and dump the result on the support staff. Being IT we obviously don’t have a life and don’t mind setting to work on a Friday afternoon on something that could have been avoided totally if the offender had a braincell2 and asked about particular requirements when they first knew (Tuesday) rather than waiting for Friday and insisting it “is critical this available 8am Monday” 2 What dumbass3 would delete a database table on a Friday afternoon? Yes, we could shorten that sentence. Repeat offender. It isn’t even the 3rd time he’s done it to my knowledge. 3 Erroneously labelled “system manager” by their department, try doing that with no admin permissions sunshine… |
Rick Murray (539) 13806 posts |
So let’s see – a simple OSVar that anyone can modify, or a complicated arrangement that requires some sort of extension module – and thus firmly removes it from the hands of “anyone can modify” and leaves it for a select few with knowledge to alter Switcher’s behaviour as they prefer it. Besides, messing with the polling filters… can’t you basically just do what you want and override my suggestion if it were implemented? If the Switcher never sees an Adjust click, it won’t act upon it.
Well, that makes sense. Get everything working well before making FontManager do what it should have from the beginning. ;-) However…
What we have now is extremely incomplete. I won’t say “broken” (even though I want to) as it does work, it just doesn’t work in a realistic way that is useful for anything other than direct rendering of UTF-8 text (like any NetSurf page in a non-Latin language). Furthermore, I find it depressing that we need to “be” in an alphabet. The Wimp should be able to be told “this app uses UTF-8” and just “do the right thing” regardless of the old-school Alphabet setting. I mean, God, a few half-assed tweaks and I got Ovation to do exactly that – the UTF-8 support just works by holding the UTF-8 character sequences in the document and telling Font_Paint it’s UTF-8 – so it isn’t impossible; and I would imagine NetSurf does a similar thing in a much smarter way.
There, fixed that for you. ;-)
You should run a three strikes policy. If he deletes an important database table multiple times, he is incompetent. If he does it always on a Friday (you don’t make this clear), he’s incompetent and malicious. Three strikes, admin privs revoked and he can go explain to his boss… |
Clive Semmens (2335) 3276 posts |
I won’t tell you where and when I ran into almost exactly that issue. I chucked myself out of the pram, leaving the toys for them to play with as they saw fit. (You might be able to guess where by looking at my CV, if you’re so inclined…) |
Steve Pampling (1551) 8155 posts |
and while one person is recalcitrant others think of alternates. Even this route is less annoying than the standard buried and half hidden Configure:
Three clicks to get in but it is a least the same mouse button so it ain’t too bad. In what reality does a RO user expect the system to do exactly the same thing irrespective of left or right click being used? |
Rick Murray (539) 13806 posts |
Copying text is not permitted in this document else I’d copy-paste a paragraph from par/p15 of the Style Guide relating to the mouse buttons. While it doesn’t outright state that Adjust should do something different, this is the usual and expected behaviour. That both mouse buttons do the same thing is not only unnecessary, but also a wasted opportunity to add some useful functionality (Switcher is always loaded, a right click ought to have some purpose). [the unnecessary paragraph break after the italicised text is purely Textile’s applied insanity] |
Steve Pampling (1551) 8155 posts |
I believe the legal position is that small contextual passages are permitted in discussions etc. Anyway “used for shortcuts and alternatives to other procedures.” is probably the specific bit of the paragraph you’re referencing. |
Fred Graute (114) 645 posts |
That’s not an entirely fair comparison. In both cases someone needs to write the code to provide the hook either by modifying TaskManager or by setting up a Wimp filter. After that it’s just a matter of editing an obey file. Don’t get me wrong I too would have preferred for this to be in the OS, and using
Better still, TaskManager checks for the existence of That way everyone is happy, ROOL can have Adjust do what they want and everyone that wants something different can override it. |
nemo (145) 2529 posts |
Rick said
An OS var is an excellent user interface, yes… which can be provided by a small module registering a PostFilter on the Switcher icon, as I said. And in fact, that is what has been done. My point is that none of that requires the OS developers to drop what they’re doing, implement that bit of trivial customisation, then ship that to everyone just so five of you can set this new system variable. Use the module that has been so helpfully provided. |
Colin Ferris (399) 1809 posts |
Why all the fuss – I have lots of little modules loaded on startup. (only this – it would be nice if the help command – with the module gave a hint on the syntax – it may have been a while since last used) |
nemo (145) 2529 posts |
Rick suggested
I’m afraid I have rather bad news for you. It doesn’t even manage to do that. Unicode is terrifically complicated, so I forgive everyone who has understood none of it. Believe me, your life is infinitely better that way. Run away now with your fingers in your ears singing “La La La”. To render any Unicode text requires complexity, functionality and competency that simply does not exist on RISC OS. It requires a font format which is not supported, glyph substitution which does not exist, feature selection which is not implemented, glyph shaping which has not been considered, character composition which is impossible, normalisation which is indescribable, and text formatting that hasn’t even been discussed. To put this in context, to merely decide where one character ends (or grapheme cluster, to be pedantic) and the next character begins, requires about 4K of data and 13 rules applied. To break a line – for example to do what OS_PrettyPrint does, but generalised for the whole of Unicode – requires at bare minimum 5.5K of data and 38 rules applied… but that naïve implementation won’t cope with Japanese for example, which would require an entire dictionary just to be able to work out where one word ends and the next begins. Just to get some terminology in order:
The font manager at present basically emits codepoints, in isolation, if the one font has it. Not only is it next to useless, it’s basically one Planck length from useless. It can’t even display a single vertical Japanese character. This is a long road, and I’m not sure there’s enough steam to get what’s left of the train to the end of it, but if we do not start with a full understanding of what is necessary, we’re going to end up with Windows level of Unicode support… and that’s shockingly poor (for historical reasons). |
nemo (145) 2529 posts |
And in case anyone thinks I’m making stuff up for rhetorical effect: The 13 rules for finding the end of a character The data required for finding an end of a character I’ll leave you to find the line splitting algorithm yourself, if you’re feeling brave enough. And yes, I’m implementing |
Rick Murray (539) 13806 posts |
Very good point. I’d only been thinking in terms of left to right plotting (and maybe right to left).
Anybody who reads this, scroll down a little for the greatly more complicated rules on determining what a “word” is.
How do you mean? [just interested in how that works, changing spelling when hyphenating a word] |
Rick Murray (539) 13806 posts |
Gets yet harder – look at some non English punctuation rules in languages you might have thought you knew: https://en.m.wikipedia.org/wiki/Punctuation#Other_languages ;-) |
nemo (145) 2529 posts |
Hyphens are used for making compound words in Portuguese. Sometimes the compound word would look like a single word if it wasn’t for the hyphen. If you split the line at the compound hyphen, it would look like the hyphenated form of the single word, so if you split a line at a compound hyphen, you repeat the hyphen at the start of the next line. This is unique to Portuguese I think. Bom dia. Some Swedish words change spelling if split and hyphenated – see this ancient article |
Chris Evans (457) 1614 posts |
Having read only what is above and none of the contents pointed to.
Sounds like very wise words. Thanks Nemo very much tackling this thorny subject. Will you want visitors in the sanatorium? |
Steffen Huber (91) 1949 posts |
Nemo, could you explain which parts of “Unicode support” would need a font manager replacement (is FreeType2 advanced enough for “all Unicode support” you are talking about? Is it feasable to add the Acorn font format to it, or would it be better to convert the Acorn fonts into e.g. Type1? Does the current FontManager API “fit” to the way FreeType2 works?), and which would be provided seperately? German split-/hyphenation rules are a nightmare (e.g. splitting a word at “ck” turns into “k-k”, but only under “old spelling rules” – and there are words like “Schiffahrt” that get an additional consonant when splitted, i.e. “Schiff-fahrt”), but up to now I thought that this would have to be handled on the application level and not on the OS level. Or is that only because OS level support is/was just too incomplete? |
Rick Murray (539) 13806 posts |
Um, all of it? :-/ |
Pages: 1 2