Files
dtos-dotfiles/.config/awesome/lain/wiki/fs.md
Derek Taylor a91301075a Revert "Update"
This reverts commit 777960ac7b.
2025-12-03 11:20:33 -06:00

96 lines
3.2 KiB
Markdown

## Usage
[Read here.](https://github.com/copycat-killer/lain/wiki/Widgets#usage)
### Description
Shows disk space usage for a set partition.
Displays a notification when the partition is full or has low space.
```lua
local mypartition = lain.widget.fs()
```
## Input table
Variable | Meaning | Type | Default
--- | --- | --- | ---
`timeout` | Refresh timeout seconds -| number | 600
`partition` | Partition to monitor | string | "/"
`options` | Additional options to pass to [`dfs`](https://github.com/copycat-killer/lain/blob/master/scripts/dfs) | string, in the form `--type='fstype' | --exclude-type='fstype'` | nil
`notification_preset` | Notification preset | table | See [default `notification_preset`](https://github.com/copycat-killer/lain/wiki/fs#default-notification_preset)
`followtag` | Display the notification on currently focused screen | boolean | false
`notify` | Display notifications | string | "on"
`showpopup` | Display popups with mouse hovering | string, possible values: "on", "off" | "on"
`settings` | User settings | function | empty function
`settings` can use the following `partition` related strings:
* `fs_now.size_mb`
* `fs_now.size_gb`
* `fs_now.used`
* `fs_now.used_mb`
* `fs_now.used_gb`
* `fs_now.available`
* `fs_now.available_mb`
* `fs_now.available_gb`
Within `settings`, you can obtain other partition values from internal `fs_info` table. For each partition, the following indexes are available:
* `fs_info[other_partition .. " size_mb"]`
* `fs_info[other_partition .. " size_gb"]`
* `fs_info[other_partition .. " used_p"]`
* `fs_info[other_partition .. " used_mb"]`
* `fs_info[other_partition .. " used_gb"]`
* `fs_info[other_partition .. " avail_p"]`
* `fs_info[other_partition .. " avail_mb"]`
* `fs_info[other_partition .. " avail_gb"]`
just like the variables of `fs_now`. Example:
```lua
-- shows root and home partitions percentage used
local fsroothome = lain.widget.fs({
settings = function()
local home_used = tonumber(fs_info["/home used_p"]) or 0
widget:set_text("/ " .. fs_now.used .. "% | /home " .. home_used .. "% ")
end
})
```
Also, `settings` can modify `notification_preset` table. This table will be the preset for the naughty notifications. Check [here](https://awesomewm.org/doc/api/libraries/naughty.html#notify) for the list of variables it can contain.
In multiple screen setups, the default behaviour is to show a visual notification pop-up window on the first screen. By setting `followtag` to `true` it will be shown on the currently focused tag screen.
### Default `notification_preset`
```lua
notification_preset = {
font = "Monospace 10",
fg = "#FFFFFF",
bg = "#000000"
}
```
## Output table
Variable | Meaning | Type
--- | --- | ---
`widget` | The widget | `wibox.widget.textbox`
`show` | The notification | function
You can display the notification with a key binding like this:
```lua
awful.key({ altkey }, "h", function () mypartition.show(seconds, scr) end),
```
where ``altkey = "Mod1"`` and ``show`` arguments, both optionals, are:
* `seconds`, notification time in seconds
* `scr`, screen which to display the notification in
## Note
Naughty notifications require `notification_preset.font` to be **monospaced**, in order to correctly display the output.