nikisoft/BeGroups
2
0
Fork
You've already forked BeGroups
1
Usenet newsreader for Haiku
C++ 94.6%
HTML 3%
Makefile 1.8%
C 0.5%
Find a file
2026年01月11日 20:04:31 +01:00
locales Rename to BeGroups for a more recognizable name 2026年01月07日 15:11:33 +01:00
reader Remove stuff related to spam filtering from Reader 2026年01月09日 18:19:05 +01:00
sources Sort newer articles first 2026年01月11日 20:04:31 +01:00
.gitignore Add make targets for packaging and debugging 2025年10月12日 18:26:42 +02:00
BeGroups.rdef Add icon 2026年01月07日 15:42:18 +01:00
LICENSE Switch to GNU GPL 3.0 license 2025年10月04日 18:42:00 +02:00
Makefile Add the Reader application to the package 2026年01月09日 11:00:41 +01:00
PackageInfo.tpl Rename to BeGroups for a more recognizable name 2026年01月07日 15:11:33 +01:00
README.md Add build instructions 2026年01月09日 11:23:12 +01:00
Screenshot.png Update screenshot, show new Reader 2026年01月09日 14:04:54 +01:00

BeGroups Please don't upload to GitHub

Screenshot

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.