| locales | Rename to BeGroups for a more recognizable name | |
| reader | Remove stuff related to spam filtering from Reader | |
| sources | Sort newer articles first | |
| .gitignore | Add make targets for packaging and debugging | |
| BeGroups.rdef | Add icon | |
| LICENSE | Switch to GNU GPL 3.0 license | |
| Makefile | Add the Reader application to the package | |
| PackageInfo.tpl | Rename to BeGroups for a more recognizable name | |
| README.md | Add build instructions | |
| Screenshot.png | Update screenshot, show new Reader | |
BeGroups Please don't upload to GitHub
BeGroups is a newsreader for Haiku. It is more or less modelled after MT-Newswatcher on the Mac--in fact you can even open your MT-Newswatcher newsgroup files with it. It has two advantages over MT-Newswatcher: it is a bit more multithreaded and "live", and it caches headers. These two features together mean that when you open up a newsgroup, you don't have to wait before you can start reading articles in the group.
BeGroups is somewhat modular. It ships with a article viewer application in its own binary which is used to open articles by default, but you can also use any other text editor instead if you want. BeGroupsReader is based on the source code of Haikus built-in Mail application, as the format of E-mails and Usenet articles is quite similar. The Reader isn't perfect yet and probably still has more than enough stuff left in the code that's only relevant for E-mails, but it serves its purpose and can be improved in the future.
However, BeGroups still has a few rough edges and missing features. I'm sure you'll discover these for yourself as you use it.
Building
To build a (release) binary from source, simply run:
make
You will most likely also want the Reader application, to build it run:
make reader
To build a debug binary with additional warnings and debugger symbols, run:
make debug
To build a HPKG (complete with BeGroups and Reader) that you can install on your system, run:
make package
Note that BeGroups will fail to find translations if no package of it is installed, unless you copy
the catalogs to the correct non-packaged locations by hand.
Limitations
- No TLS encryption yet
- No proxy support yet
- Article sorting is a mess
- No tree-style discussion view
- Filters can't be deleted
- Probably a lot more
All of that is planned for the future. I wanted to get a first preview out as soon as possible (took longer than initially planned anyway), but expect BeGroups to get a lot better over time.
Workarounds
One missing feature requires a workaround for now. If you need to delete a filter, open the "/boot/home/config/settings/BeGroups/Filters" file in a text editor and delete the appropriate line.
Making your homebrew editor work with BeGroups
If you're writing a text editor and would like to make it work with BeGroups, all you have to do is make it handle files of type "text/x-news". If you want to post messages, the following bit of code should show you the way:
void PostNewsMessage(const char* filePath)
{
// launch BeGroups and send it the message
BEntry fileEntry(filePath);
if (fileEntry.InitCheck() != B_NO_ERROR)
throw OSException("Couldn't find file to post it.", fileEntry.InitCheck());
entry_ref fileRef;
fileEntry.GetRef(&fileRef);
BMessage postMessage('Post');
postMessage.AddRef("refs", &fileRef);
be_roster->Launch("application/x-vnd.Nikisoft-BeGroups", &postMessage);
}
Credits
Sources originally obtained from http://www.folta.net/steve/Item/
Original sources available under a MIT-style license.
Now maintained by Nikisoft and changes licensed under GNU GPL 3.0.