2020-04-05 18:29:12 +00:00
# ![bashtop](logo-t.png)
2020-03-28 10:04:34 +00:00
2020-04-05 18:29:12 +00:00
**Usage:** Linux resource monitor
**Language:** Bash
2020-03-28 10:04:34 +00:00
## Description
2020-04-05 18:29:12 +00:00
Resource monitor that shows usage and stats for processor, memory, disks, network and processes.
## Features
* Easy to use, with a game inspired menu system.
* Fast and responsive UI with UP, DOWN keys process selection.
* Function for showing detailed stats for selected process.
* Ability to filter processes.
* Easy switching between sorting options.
* Send SIGTERM, SIGKILL, SIGINT to selected process.
* UI menu for changing all config file options.
* Auto scaling graph for network usage.
2020-04-16 19:04:57 +00:00
* Shows message in menu if new version is available
2020-03-28 10:04:34 +00:00
2020-04-16 19:04:57 +00:00
## Themes
2020-04-13 20:04:31 +00:00
2020-04-16 19:04:57 +00:00
Bashtop now has theme support and a function to download missing local themes from repository.
See [themes ](themes ) folder for available themes.
Let me know if you want to contribute with new themes.
2020-04-13 20:04:31 +00:00
2020-04-05 18:53:08 +00:00
## Compability
Should work on most modern linux distributions with a truecolor capable terminal.
## Dependencies
2020-04-06 14:35:54 +00:00
**bash** (v4.4 or later) Script functionality will most probably break with earlier versions.
2020-04-05 18:53:08 +00:00
Bash version 5 is higly recommended to make use of $EPOCHREALTIME variable instead of alot of external date command calls.
2020-04-16 19:04:57 +00:00
(Optional) ** [curl ](https://curl.haxx.se/download.html )** (v7.16.2 or later) Needed if you want messages about updates and the ability to download themes.
2020-03-28 10:04:34 +00:00
## Screenshots
2020-04-05 18:29:12 +00:00
Main UI showing details for a selected process.
![Screenshot 1 ](main.png )
2020-03-28 10:04:34 +00:00
2020-04-05 18:29:12 +00:00
Main menu.
![Screenshot 2 ](menu.png )
2020-03-28 10:04:34 +00:00
2020-04-05 18:29:12 +00:00
Options menu.
![Screenshot 3 ](options.png )
2020-03-28 10:04:34 +00:00
2020-04-05 19:01:20 +00:00
## Installation
Copy or link "bashtop" into PATH, or just run from cloned directory...
2020-04-09 22:49:04 +00:00
Also available in the AUR as [bashtop-git ](https://aur.archlinux.org/packages/bashtop-git/ )
2020-04-10 23:49:37 +00:00
Also available for debian/ubuntu from [Azlux's repository ](http://packages.azlux.fr/ )
2020-03-28 10:04:34 +00:00
## Configurability
2020-04-05 18:29:12 +00:00
All options changeable from within UI.
Config files stored in "$HOME/.config/bashtop" folder
2020-03-28 10:04:34 +00:00
2020-04-05 18:29:12 +00:00
#### bashtop.cfg: (auto generated if not found)
2020-03-28 11:05:39 +00:00
2020-03-28 10:04:34 +00:00
```bash
2020-04-05 18:29:12 +00:00
#? Config file for bashtop v. 0.6.5
2020-03-28 10:04:34 +00:00
2020-04-05 18:29:12 +00:00
#* Update time in milliseconds, increases automatically if set below internal loops processing time, recommended 2000 ms or above for better sample times for graphs
update_ms="2500"
2020-03-28 11:05:39 +00:00
2020-04-05 18:29:12 +00:00
#* Processes sorting, "pid" "program" "arguments" "threads" "user" "memory" "cpu lazy" "cpu responsive"
#* "cpu lazy" upates sorting over time, "cpu responsive" updates sorting directly at a cpu usage cost
proc_sorting="cpu lazy"
2020-03-28 10:04:34 +00:00
2020-04-05 18:29:12 +00:00
#* Reverse sorting order, "true" or "false"
proc_reversed="false"
2020-03-28 11:05:39 +00:00
2020-04-05 18:29:12 +00:00
#* Check cpu temperature, only works if "sensors" command is available and have values for "Package" and "Core"
check_temp="true"
2020-03-28 10:04:34 +00:00
2020-04-05 18:29:12 +00:00
#* Draw a clock at top of screen, formatting according to strftime, empty string to disable
draw_clock="%X"
2020-03-28 10:04:34 +00:00
2020-04-06 20:52:48 +00:00
#* Update main ui when menus are showing, set this to false if the menus is flickering too much for comfort
background_update="true"
2020-04-05 18:29:12 +00:00
#* Custom cpu model name, empty string to disable
custom_cpu_name=""
#* Enable error logging to "$HOME/.config/bashtop/error.log", "true" or "false"
error_logging="true"
```
2020-03-28 10:04:34 +00:00
2020-04-05 18:29:12 +00:00
#### Command line options: (not yet implemented)
2020-03-28 10:04:34 +00:00
2020-04-05 18:29:12 +00:00
```
USAGE: bashtop
2020-03-28 10:04:34 +00:00
2020-04-05 18:29:12 +00:00
```
2020-03-28 10:04:34 +00:00
## TODO
2020-04-16 19:04:57 +00:00
- [x] TODO Add options to change colors for text, graphs and meters.
2020-04-11 00:14:04 +00:00
- [ ] TODO Add options for resizing all boxes.
2020-04-05 18:29:12 +00:00
- [ ] TODO Add command line argument parsing.
2020-04-05 18:53:08 +00:00
- [ ] TODO Miscellaneous optimizations and code cleanup.
- [ ] TODO Add more commenting where it's sparse.
2020-04-05 18:29:12 +00:00
2020-03-28 10:04:34 +00:00
## LICENSE
[Apache License 2.0 ](LICENSE )