Hello!
Hello Everyone, Just a quick greeting to say that I am a new RISC OS user, fairly experienced programmer and old-hat technical writer. I have signed up to this developers list because I am keen to help out in the development of NetSurf. My dream is to have a first class browser available for RISC OS users (which will encourage more people to use and stick with the platform). I have not got my hands on the source code yet and thought I'd introduce myself first. If anyone has any good advice about where I should start looking, what would you like me to work on, etc., then please get in touch and I'll see what I can do for you! Regards, Glen
Broken link on website for Style Guide
The link for the source code Style Guide doesn't appear to be working Found half way down this page: http://www.netsurf-browser.org/documentation/develop.html#SourceControl
Building on RISC OS
Hello, I have just downloaded the latest source (v3.2) for NetSurf and it seems to be missing any instruction for building it on RISC OS (despite one document alluding to a file called "BUILDING-RISC_OS" which doesn't appear to exist?) I also could not find any RISC OS specific instructions on the website. Is it generally preferable to develop and build this on another machine? Regards, Glen
Bug 2171
Hello All, Please forgive my ignorance if I ask obvious questions - I'm just starting out with NetSurf! Steve suggested I take a look at Bug 2171 (http://bugs.netsurf-browser.org/mantis/view.php?id=2171) as a way of getting to grips with the source code. I've been looking and scratching my head for a day or so. I get that the menu for the Iconbar is set up in iconbar.c with this struct: static const struct ns_menu iconbar_definition = { "NetSurf", { { "Info", NO_ACTION, &dialog_info }, { "AppHelp", HELP_OPEN_CONTENTS, 0 }, { "Open", BROWSER_NAVIGATE_URL, 0 }, { "Open.OpenURL", BROWSER_NAVIGATE_URL, &dialog_openurl }, { "Open.HotlistShow", HOTLIST_SHOW, 0 }, { "Open.HistGlobal", HISTORY_SHOW_GLOBAL, 0 }, { "Open.ShowCookies", COOKIES_SHOW, 0 }, { "Choices", CHOICES_SHOW, 0 }, { "Quit", APPLICATION_QUIT, 0 }, {NULL, 0, 0} } Which uses the enum in menus.h to set up the menu order and creates the menu according to functions in menu.c As far as I can gather the actual text (i.e., "Help... F1") is set up using the function ro_gui_menu_transate Is that correct? I can't seem to find any references to the text in the source code ("Help..." or any of the other strings). Am I missing something obvious? Glen
Re: Re: Bug 2171
Apologies again - I might have sent this out twice (first in HTML and then in plaintext but I don't think it went to everyone). This is the first time I have ever used a mailing list to talk about anything - I'm far more used to forums... But I digress...if you have received the HTML version I apologise and please delete it. Here is the plaintext version: Hello All, Please forgive my ignorance if I ask obvious questions - I'm just starting out with NetSurf! Steve suggested I take a look at Bug 2171 (http://bugs.netsurf-browser.org/mantis/view.php?id=2171) as a way of getting to grips with the source code. I've been looking and scratching my head for a day or so. I get that the menu for the Iconbar is set up in iconbar.c with this struct: static const struct ns_menu iconbar_definition = { "NetSurf", { { "Info", NO_ACTION, &dialog_info }, { "AppHelp", HELP_OPEN_CONTENTS, 0 }, { "Open", BROWSER_NAVIGATE_URL, 0 }, { "Open.OpenURL", BROWSER_NAVIGATE_URL, &dialog_openurl }, { "Open.HotlistShow", HOTLIST_SHOW, 0 }, { "Open.HistGlobal", HISTORY_SHOW_GLOBAL, 0 }, { "Open.ShowCookies", COOKIES_SHOW, 0 }, { "Choices", CHOICES_SHOW, 0 }, { "Quit", APPLICATION_QUIT, 0 }, {NULL, 0, 0} } Which uses the enum in menus.h to set up the menu order and creates the menu according to functions in menu.c As far as I can gather the actual text (i.e., "Help... F1") is set up using the function ro_gui_menu_transate Is that correct? I can't seem to find any references to the text in the source code ("Help..." or any of the other strings). Am I missing something obvious? Glen
Re: Re: Bug 2171
Aha! Excellent, thank you! Do you think it would be appropriate to define another version of "AppHelp" (and other menu entries) for use where the the function key shortcut does not apply? Something like this: en.ro.AppHelp:Help... F1 de.ro.AppHelp:Hilfe... F1 fr.ro.AppHelp:Aide... F1 it.ro.AppHelp:Aiuto... F1 nl.ro.AppHelp:Hulp... F1 en.ro.AppHelpNoFunc:Help... de.ro.AppHelpNoFunc:Hilfe... fr.ro.AppHelpNoFunc:Aide... it.ro.AppHelpNoFunc:Aiuto... nl.ro.AppHelpNoFunc:Hulp... Or is there a cleaner way? I'll get my thinking cap on... Glen
Re: Re: Bug 2171
> Sent: Thursday, March 05, 2015 at 2:49 PM > From: "Rob Kendrick" > To: netsurf-dev@netsurf-browser.org > Subject: Re: Re: Bug 2171 > > On Thu, Mar 05, 2015 at 02:26:26PM -, WPB wrote: > > Couldn't the messages in the UI messages file contain a special > > character to denote the start of a keyboard shortcut? Something that > > wouldn't make sense for a menu item, like a CR? I suppose that's not > > very friendly in terms of the messages file itself, so maybe > > something else, like a forward slash. > > > > The ro_gui_translate() (if that is the right function - I haven't > > looked) could be passed an extra parameter to either truncate the > > string at that point, or remove the special character from the > > string. > > I think the strings are handed around as const char *; processing them > would involve making copies in memory. > > B. > > This is basically how wxWidgets handles menu entries but to do so in NetSurf would require quite a function to parse each string and a flag to determine if the short-cut is actually required or not. Something like: char * menu_create_entry(char *entry, bool shortcut) { if (!shortcut) { parse entry char to find special modifier character and return char with everything after that chopped off } else { parse entry char and return with just the modifier character deleted so it is a plain text string } } For reference here is an excerpt from the wxWidgets documentation http://docs.wxwidgets.org/trunk/classwx_menu_item.html#a6e9b0e1b786fa84250a42c88d84aed2b "virtual void wxMenuItem::SetItemLabel (const wxString & label)" sets the label associated with the menu item. The label string for the normal menu items (not separators) may include the accelerator which can be used to activate the menu item from keyboard. An accelerator key can be specified using the ampersand & character. In order to embed an ampersand character in the menu item text, the ampersand must be doubled. Optionally you can specify also an accelerator string appending a tab character \t followed by a valid key combination (e.g. CTRL+V). Its general syntax is any combination of "CTRL", "RAWCTRL", "ALT" and "SHIFT" strings (case doesn't matter) separated by either '-' or '+' characters and followed by the accelerator itself. Notice that CTRL corresponds to the "Ctrl" key on most platforms but not under Mac OS where it is mapped to "Cmd" key on Mac keyboard. Usually this is exactly what you want in portable code but if you really need to use the (rarely used for this purpose) "Ctrl" key even under Mac, you may use RAWCTRL to prevent this mapping. Under the other platforms RAWCTRL is the same as plain CTRL. The accelerator may be any alphanumeric character, any function key (from F1 to F12) or one of the special characters listed in the table below (again, case doesn't matter): DEL or DELETE: Delete key BACK : Backspace key INS or INSERT: Insert key ENTER or RETURN: Enter key PGUP: PageUp key PGDN: PageDown key LEFT: Left cursor arrow key RIGHT: Right cursor arrow key UP: Up cursor arrow key DOWN: Down cursor arrow key HOME: Home key END: End key SPACE: Space TAB: Tab key ESC or ESCAPE: Escape key (Windows only)
Re: Re: Bug 2171
> But again, please not "NoFunc". > > B. > > I agree! Sorry, that was me. NoAccellerator/NoAccel or NoShortcut are better. In fact I propose that if we adopt that strategy then "NoShortcut" is probably the most obvious one and should be used.
Re: Re: Bug 2171
Thanks Steve that's brilliant work! :--) I'm away this weekend but hopefully next week I'll get some time to digest what you have written and maybe even squash 2171 - if I do any bug fixing, how would I submit the revisions? > However, I also thought that iconbar.c/h was a useful bit of code to look at > in terms of the more general structure of the RISC OS front-end. Since I'd > already written the best part of some notes on that, I've completed them and > here they are for what use they may be. > > If people think it's a good idea, I'll try and transfer these to the Wiki > along with the file list that I posted the other day. > > As ever, please ask questions... :-) >
Re: Bug 2171
Hello All, I have tried creating a git patch with the command below so that I could e-mail it to this mailing list but all I got was an empty file. > git format-patch master --stdout > bug2171.patch To progress things I have included the two files that I have modified to fix Bug 2171 but I would like to know what the correct command that I'm supposed to use to create a patch would be (the above command was all I could find on several tutorial websites and I don't have time right now to dig any deeper into git). Well I tried attaching the files I changed in a .zip format and .tar.gz format and the mail server rejected both of them so this is what I changed: In "FatMessages" I added (obviously at appropriate points): en.ro.AppHelpNoShortcut:Help... de.ro.AppHelpNoShortcut:Hilfe... fr.ro.AppHelpNoShortcut:Aide... it.ro.AppHelpNoShortcut:Aiuto... nl.ro.AppHelpNoShortcut:Hulp... en.ro.HotlistShowNoShortcut:Show hotlist... de.ro.HotlistShowNoShortcut:Hotlist zeigen... fr.ro.HotlistShowNoShortcut:Montrer les favoris... it.ro.HotlistShowNoShortcut:Mostra... nl.ro.HotlistShowNoShortcut:Favorieten... en.ro.HistGlobalNoShortcut:Show global history... de.ro.HistGlobalNoShortcut:History (global) zeigen... fr.ro.HistGlobalNoShortcut:Montrer l'historique global... it.ro.HistGlobalNoShortcut:Mostra cronologia globale... nl.ro.HistGlobalNoShortcut:Browsergeschiedenis... and then in "iconbar.c" I modified the menu initialization to: static const struct ns_menu iconbar_definition = { "NetSurf", { { "Info", NO_ACTION, &dialog_info }, { "AppHelpNoShortcut", HELP_OPEN_CONTENTS, 0 }, { "Open", BROWSER_NAVIGATE_URL, 0 }, { "Open.OpenURL", BROWSER_NAVIGATE_URL, &dialog_openurl }, { "Open.HotlistShowNoShortcut", HOTLIST_SHOW, 0 }, { "Open.HistGlobalNoShortcut", HISTORY_SHOW_GLOBAL, 0 }, { "Open.ShowCookies", COOKIES_SHOW, 0 }, { "Choices", CHOICES_SHOW, 0 }, { "Quit", APPLICATION_QUIT, 0 }, {NULL, 0, 0} } }; Hopefully this will be useful to someone who can properly apply the patch. Regards, Glen On 03/06/2015 06:22 PM, Steve Fryatt wrote: On 6 Mar, "Glen Walker" wrote in message : I'm away this weekend but hopefully next week I'll get some time to digest what you have written and maybe even squash 2171 - if I do any bug fixing, how would I submit the revisions? For now, you'll probably need to make the changes in your working copy then get git to create a patch file which you can post as an attachment to this list, or submit via one of the methods described here: http://www.netsurf-browser.org/developers/#SubmittingPatches I tend to mainly follow this mailing list, so posting things for the RISC OS front-end here might be best. Longer term, you should be able to get commit access to the git repository -- at least for /netsurf/riscos -- if you're contributing regularly. That's up to someone else, though. :-)
Re: Bug 2182
Hello David, I have not had a chance to look at any more bugs so crack on - when I get back to it I'll know to pick a different one. Thanks, Glen On 03/11/2015 05:03 PM, David Gee wrote: Having managed to get everything set up and working, including an installation of RPCEmu/RO5.20 as well as the Netsurf build tools, I was thinking about tackling bug 2182 over the next few days--unless Glen is already working on it. I have managed to reproduce the bug as follows: 1. Select text in !Netsurf 2. Do Selection|Copy to Clipboard 3. Start !StrongED and open a new text file. 4. Do Block|Clipboard|Paste To Text, clicking on Paste to Text with Adjust. The menu tree should stay open, but closes. This does not happen if another clipboard-aware application is used instead of !Netsurf.
RISC OS Development
Hello, I have been around in the RISC OS world since about 2015 but have just formally announced to the RISC OS Open community that I will be devoting my spare time to developing NetSurf on RISC OS...I know this is a little back-to-front but I'm announcing it here too! I wrote a long and waffly post on the forum if anyone is interested: https://www.riscosopen.org/forum/forums/5/topics/11721?page=1#posts-81035 Progress is likely to be slow and I don't know if anyone else out there is working on RISC OS (if you are please say "hi" so I can work with you!) but when I have something more to contribute I'll let you all know... In the mean-time happy coding everyone! Glen -- xsltpro.co.uk Technical Writing and Programming Solutions for RISC OS or UNIX
Re: RISC OS Development
On 2018-07-09 13:41, Daniel Silverstone wrote: Hello Daniel! Oddly, as you were writing this I was sending you an e-mail requesting write access to the git repository! On Mon, Jul 09, 2018 at 11:09:17 +0100, Glen Walker wrote: I have been around in the RISC OS world since about 2015 but have just formally announced to the RISC OS Open community that I will be devoting my spare time to developing NetSurf on RISC OS...I know this is a little back-to-front but I'm announcing it here too! Cool, we'll be glad to have some help. https://www.riscosopen.org/forum/forums/5/topics/11721?page=1#posts-81035 Once concern I have, having read that, is your intent to work on RISC OS for this. Sadly we've not supported building NetSurf under RISC OS for many years now. We've invested no effort into making the build systems, code generators, etc work under RISC OS, we use Perl and Python, as well as building C-based code generators, and very little is meant to work under RISC OS any more. It's possible you might be able to make some of it happen, but I'd strongly recommend you pick a more competent development environment such as Linux. You could still use RISC OS hosted editors if that's your bag, but compilation etc will be much more effectively done under Linux. I suspected as much and will no-doubt fall back to that position until RISC OS is dragged up to standard! Ever the optimist I'll have a go and see what breaks first though... Progress is likely to be slow and I don't know if anyone else out there is working on RISC OS (if you are please say "hi" so I can work with you!) but when I have something more to contribute I'll let you all know... We look forward to hearing from you wrt. patches, and if you would like to be involved in the next NetSurf developer weekend, please do raise your hand, we'll be meeting in a few weeks in Cambridgeshire. Thanks - I hope to get stuck in this week once I've figured out what I did to my OS when I was upgrading from 5.23 to 5.24! I'm up in The North and don't get out much but thank's for the offer...will keep tabs online, here and join the irc as well most likely. In the mean-time happy coding everyone! And to you. D. -- xsltpro.co.uk Technical Writing and Programming Solutions for RISC OS or UNIX
Re: RISC OS Development
On 2018-07-09 14:10, Daniel Silverstone wrote: On Mon, Jul 09, 2018 at 13:48:46 +0100, Glen Walker wrote: Oddly, as you were writing this I was sending you an e-mail requesting write access to the git repository! I have seen your email and responded :-) > Sadly we've not supported building NetSurf under RISC OS for many years > now. We've invested no effort into making the build systems, code > generators, etc work under RISC OS, we use Perl and Python, as well as > building C-based code generators, and very little is meant to work under > RISC OS any more. It's possible you might be able to make some of it > happen, but I'd strongly recommend you pick a more competent development > environment such as Linux. You could still use RISC OS hosted editors if > that's your bag, but compilation etc will be much more effectively done > under Linux. I suspected as much and will no-doubt fall back to that position until RISC OS is dragged up to standard! Ever the optimist I'll have a go and see what breaks first though... You're unlikely to "drag up to standard" RISC OS for this, without rewriting non-trivial chunks of our build system, so if you made that your first goal, I'd step back and reevaluate :-) Well...maybe not the _first_ thing I plan to do...but I can dream! Better to focus on improving the browser's RISC OS experience. Take a look on our bug tracker for RISC OS related bugs and pick one which you think you might be able to tackle. That'll be a better introduction to things for you. I've been looking around in the bug tracker and a lot of the bugs listed are old and refer to websites that have since changed completely! I've got a couple of websites of my own so might be able to knock up a few test pages though if I need to. Some of the feature requests are much more enticing and look like they might be achievable, even if they are from over a decade ago. Any objections to me working on some of the ancient feature requests that are still outstanding? I'm assuming that if they are still in the bug tracker and not marked as "assigned (or above)" they have not been fixed yet and are fair game for me to tackle...? > We look forward to hearing from you wrt. patches, and if you would like to > be involved in the next NetSurf developer weekend, please do raise your > hand, we'll be meeting in a few weeks in Cambridgeshire. Thanks - I hope to get stuck in this week once I've figured out what I did to my OS when I was upgrading from 5.23 to 5.24! I'm up in The North and don't get out much but thank's for the offer...will keep tabs online, here and join the irc as well most likely. Aah, I'm based in Manchester, as is Michael Drake. But our developer weekend is scheduled for Cambridgeshire since Vincent Sanders has kindly offered to host it this time. Perhaps the autumn developer weekend we'll host in Manchester somewhere :-) Definitely easier to get to, even if I am in the North of the North! If you want to put a pin in the map I'm up near Barrow-in-Furness. A trip out in Manchester is always welcome though so keep me posted if it happens... -- xsltpro.co.uk Technical Writing and Programming Solutions for RISC OS or UNIX
Re: NetSurf 3.8 release
On 2018-07-30 11:32, Vincent Sanders wrote: I intend to make the 3.8 release on Friday the 3rd of August 2018 If any developers have pending bugfix or features they intend to merge for the 3.8 release and need additional time please let me know as soon as possible. This release will primarily be to incorporate all the bug fixes from the developer weekends and does not contain any major feature updates. I've only just started looking at the RISC OS bugs so am not in a position to contribute this time around--maybe next time! -- xsltpro.co.uk Technical Writing and Programming Solutions for RISC OS or UNIX