You love the new Windows Terminal? So do I!
You love gtop or htop? So do I!
That is why I decided to make an equivalent in dotnetcore using Miguel De Icaza work for Terminal UI.
Wttop is a simple system monitor for the terminal:
This version, although it is built on the cross-platform dotnetcore 3.1, does only support Windows. The reason is that it uses WMI - P/invoke to gather metrics.
However, it is made to be cross-platform. I just need to implement the ISystemInfo interface for both OSX and Linux.
The widgets available are:
- Machine name / version / uptime / System time
- CPU activity (virtual CPUs)
- RAM/SWAP usage
- Network activity
- Disk activity (aggregation of all disks)
- Disk usage (list all the available disks)
- List of top 15 processes
With dotnetcore 3.1, only one self-contained .exe file is used. You do not even need to have dotnetcore 3.1 installed on your machine.
Simply download the latest version, store it somewhere in your $path, and run the command from a terminal
/> wttop.exe
If yo do not know Scoop, go and check it out. I find it easier than Chocolatey.
Once Scoop is installed on your machine, simply run the following command:
/> scoop install wttop
Then, you can run
/> wttop.exe
As of version 1.1, I replaced some WMI calls by p/invoke, much quicker. I have also introduced a couple of commands:
- Press C to order processes by CPU usage (default)
- Press M to order processes by Memory usage
- Press Q to quit
[x] Add system time widget
[ ] Make it compatible with OSX
[ ] Make it compatible with Linux
[ ] Allow command to kill a process
[ ] Investigate the ability to adjust layout, via config file for instance
Wttop is under MIT license