[Completed] Porting KNetStats to KDE5 (or pure Qt5/Qt6)

I’m looking forward to KNetStats being ported to KDE5 or better yet to pure Qt5/Qt6 (without using KDE Frameworks) but only if you’re interested in this application yourself. I’m ready to pay up to $50 for the trouble (via Paypal or USDT), and if it feels too little to you, please don’t bother. I’m not a citizen of a first-world country and this is a very considerable sum of money for me.

Aside from porting, integer data types must be adjusted but there’s already a patch for that.

A bonus point would be making the app compatible with Windows and releasing Windows binaries.

Thank you for your attention.

4 Likes

I’m attempting this, but Qt3 is two decades old and just ‘porting’ seems to be very hacky. It needs quite a bit of work.

2 Likes

Fantastic work, thanks a ton!

Do interfaces systray icons work?

One of the things I absolutely loved about KNetStats is that it allowed to have a systray icon per network interface, so you always know what’s up and running.

And I used a long time ago but it had a preference dialog which allowed to “ignore” network interfaces (useful for virtual and other auxiliary network interfaces you’re not interested in).

1 Like

I’m working on that right now, but no it isn’t plumbed in yet. I’ve mainly been trying to move from now-nonexistent KDE APIs to pure Qt, fixing visual layout, and using modern Qt for things like loading icons/images and config files.

Yeah, that’s the “To monitor the interface” setting you see there (the English translation needs some work).


I can’t say this will be done any time soon, but I’ll update when per interface tray icons work

1 Like

Per interface tray icons now work. As you can see icon themes work per interface too.

Screenshot_20230929_123503

It’s now in pure Qt5 (excluding KWidgetsAddons, which doesn’t depend on anything else as far as I can tell). I’ve yet to complete displaying upload/download text in the system tray, it’s only the changing icons for now.


Thoughts?

3 Likes

Per interface tray icons now work. As you can see icon themes work per interface too.

Thanks a ton for your work!

It’s now in pure Qt5 (excluding KWidgetsAddons, which doesn’t depend on anything else as far as I can tell).

This (KWidgetsAddons) sounds perfectly fine. I won’t complain.

I’ve yet to complete displaying upload/download text in the system tray, it’s only the changing icons for now.

If you manage to figure it out, it would be great. Blinking systray icons for interfaces and a pop-up with stats are basically everything I hoped/needed/desired.

I don’t remember what the Details tab contained. Probably IPv4 address? Netmask? Default route? I wonder if the application supported IPv6. Would be great to show this info if it’s available.

Finally done! I’ve released v2.0.0.alpha :tada:
For anyone who is interested here is the repository:

There aren’t any prebuilt binaries yet, but I’ve published an AUR package under the same name here

Hopefully some people find this useful (no guarantees on stability just yet :melting_face:). Please report any bugs if you do use it!
Big thanks to @birdie for helping troubleshoot during development

3 Likes

@ngraham

@sitter

Any chance of marking this topic “Done/Complete/Accomplished”? Thanks!

I can no longer edit the title or description.

AFAIK Discourse has this feature, would be great if you enabled it for this subforum.

Good idea. I think @sitter will have to do it, as I couldn’t find a way to make that change from my admin console.

Do I take this to mean that feature has been implemented to your satisfaction and the bounty paid?

Yep, only it’s not a “feature”, that was a “rewrite”. :slight_smile:

6 Likes

It’s now possible to mark things solved.

3 Likes

Is it possible to integrate this project with the rest of KDE applications? What needs to be done for that? What’s the process?

1 Like

I remember the days when we all used this program. I could see using it now if it were in the repos. :smiley:

With 694 views of the original post, there must be at least a bit of interest.

Incubation: Incubator - KDE Community Wiki

How we’d probably implement this in Plasma now is to use KSystemStats to provide sensors for this data that can be used in System Monitor. We have Upload/Download speed and total downloaded/uploaded already, just not in packets. This could be used to build a System Monitor page.

2 Likes