https://github.com/jchomarat/wttop
System monitor for the new Windows Terminal
https://github.com/jchomarat/wttop
dotnetcore gtop htop system-information terminal windows-terminal
Last synced: about 1 month ago
JSON representation
System monitor for the new Windows Terminal
- Host: GitHub
- URL: https://github.com/jchomarat/wttop
- Owner: jchomarat
- License: other
- Created: 2019-08-08T08:17:13.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2020-04-03T13:27:44.000Z (about 5 years ago)
- Last Synced: 2024-11-13T14:46:54.282Z (7 months ago)
- Topics: dotnetcore, gtop, htop, system-information, terminal, windows-terminal
- Language: C#
- Homepage:
- Size: 385 KB
- Stars: 83
- Watchers: 5
- Forks: 6
- Open Issues: 1
-
Metadata Files:
- Readme: Readme.md
- License: LICENSE
Awesome Lists containing this project
- jimsghstars - jchomarat/wttop - System monitor for the new Windows Terminal (C# #)
README
# wttop
You love the new [Windows Terminal](https://github.com/microsoft/terminal)? **So do I**!
You love [gtop](https://github.com/aksakalli/gtop) or [htop](https://github.com/hishamhm/htop)? **So do I**!
That is why I decided to make an equivalent in [dotnetcore](https://github.com/dotnet/core) using [Miguel De Icaza work for Terminal UI](https://github.com/migueldeicaza/gui.cs).
**Wttop** is a simple system monitor for the terminal:

## Version 1.1
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](Core/ISystemInfo.cs) 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## Installation
### Manual
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](https://github.com/jchomarat/wttop/releases), store it somewhere in your *$path*, and run the command from a *terminal*
```sh
/> wttop.exe
```### Via scoop
If yo do not know [Scoop](https://scoop.sh/), go and check it out. I find it easier than Chocolatey.
Once [Scoop](https://scoop.sh/) is installed on your machine, simply run the following command:
```sh
/> scoop install wttop
```Then, you can run
```sh
/> wttop.exe
```## Usage
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## Todo
[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
## License
Wttop is under [MIT license](https://github.com/jchomarat/wttop/blob/master/LICENSE)