This commit is contained in:
2024-06-12 13:49:42 +02:00
commit b8e15ff09c
390 changed files with 37206 additions and 0 deletions

View File

@@ -0,0 +1,129 @@
# Customizable disk block for i3blocks
Script checks the disk usage of **$BLOCK_INSTANCE** using pythons **os.statvfs** module. If the instance isn't set the home-directory of the executing user will be set as default.
So a standard configuration minding a specific partition would look as follows:
```
[disk_nas]
label=:
instance=/nas
interval=30
command=$SCRIPT_DIR/disk_usage/disk_usage
```
## Arguments
Additionally the script can take more arguments passed to it by command-line in a key=value fashion. The following is supported.
### Warning Threshold
The warning threshold in percent (used disk space).
Display warnig color when 70% of the available disk space is used:
``
warn_threshold=70
``
_Default:_ 80
### Critical Threshold
The critical threshold in percent (used disk space)
Display critical color when 80% of the available disk space is used:
``
crit_threshold=80
``
_Default:_ 90
### Warning Color
Hex-color code to use when **warn_threshold** is reached:
``
warn_color=#90ce00
``
_Default:_ #d6af4e
### Critical Color
Hex-color code to use when **crit_threshold** is reached:
``
crit_color=#ce2500
``
_Default:_ #d64e4e
### Output Format
Output format used by pythons string formatting for displayment.
To get:
```
: 119.3G used of 518.5 total beeing 23.0%
```
the following *format*-argument must be passed to the script:
```
format="{used:.1f}G used of {total:.1f} total beeing {perc_used}%"
```
Quotes are required for format.
#### Fields
* **avail:** available disk space in gigabytes
* **used:** used disk space in gigabytes
* **total:** total diskspace in gigabytes
* **perc_used:** disk usage in percent
## Example
```
[disk_root]
label=:
instance=/
interval=30
command=$SCRIPT_DIR/disk_usage/disk_usage format="{used:.1f}G used of {total:.1f} Total beeing {perc_used}%" warn_color=#90ce00
```
## Click events
Upon a click event a terminal is opened with ncdu running for the configured partition. To adapt this to your personal setup, you'll need to change the function **launch_ncdu()**:
```python
def launch_ncdu(mp):
cmd = [
'/usr/bin/sakura',
'-t',
'pop-up',
'-e',
'/usr/bin/ncdu %s' % mp,
'-x',
]
subprocess.Popen(
cmd,
stdout=open(os.devnull, 'w'),
stderr=subprocess.STDOUT
)
```
Personally, I launch sakura with *pop-up* as title, which i can then use to configure i3 to set the window into floating mode:
```
for_window [title="pop-up"] floating enable border none sticky
```
Output of the launch-command will be redirected to /dev/null
## Dependancies
The script uses only standard python modules and should therefore run on any python environment or should easily be made to run.
## Help
* Advanced String Formatting: https://www.python.org/dev/peps/pep-3101/
## Screenshot
![screenshot][screenshot]
[screenshot]: https://raw.githubusercontent.com/nevious/i3blocks_blocklets/master/disk_usage/screenshot.png