1
0
Fork 0
mirror of https://github.com/Zedfrigg/ironbar.git synced 2025-07-01 18:51:04 +02:00

feat: add networkmanager module

This commit is contained in:
Reinout Meliesie 2024-02-10 17:12:07 +01:00 committed by Jake Stanger
parent fb6ae42f3b
commit 6d0fe4c8ac
No known key found for this signature in database
GPG key ID: C51FC8F9CB0BEA61
10 changed files with 414 additions and 2 deletions

View file

@ -93,6 +93,7 @@ cargo build --release --no-default-features \
| music+all | Enables the `music` module with support for all player types. |
| music+mpris | Enables the `music` module with MPRIS support. |
| music+mpd | Enables the `music` module with MPD support. |
| network_manager | Enables the `network_manager` module. |
| notifications | Enables the `notiications` module. |
| sys_info | Enables the `sys_info` module. |
| tray | Enables the `tray` module. |

View file

@ -32,6 +32,7 @@
- [Label](label)
- [Launcher](launcher)
- [Music](music)
- [Network Manager](network-manager)
- [Notifications](notifications)
- [Script](script)
- [Sys_Info](sys-info)

View file

@ -0,0 +1,77 @@
Displays the current network connection state of NetworkManager.
Supports wired ethernet, wifi, cellular data and VPN connections among others.
> [!NOTE]
> This module is currently a basic skeleton implementation and only offers the most basic functionality currently.
> It uses NetworkManager's so-called primary connection,
> and therefore inherits its limitation of only being able to display the "top-level" connection.
> For example, if we have a VPN connection over a wifi connection it will only display the former,
> until it is disconnected, at which point it will display the latter.
> A solution to this is currently in the works.
## Configuration
> Type: `network_manager`
| Name | Type | Default | Description |
|-------------|-----------|---------|-------------------------|
| `icon_size` | `integer` | `24` | Size to render icon at. |
<details>
<summary>JSON</summary>
```json
{
"end": [
{
"type": "network_manager",
"icon_size": 32
}
]
}
```
</details>
<details>
<summary>TOML</summary>
```toml
[[end]]
type = "network_manager"
icon_size = 32
```
</details>
<details>
<summary>YAML</summary>
```yaml
end:
- type: "network_manager"
icon_size: 32
```
</details>
<details>
<summary>Corn</summary>
```corn
{
end = [
{
type = "network_manager"
icon_size = 32
}
]
}
```
</details>
## Styling
| Selector | Description |
|--------------------------|----------------------------------|
| `.network_manager` | NetworkManager widget container. |
| `.network_manager .icon` | NetworkManager widget icon. |
For more information on styling, please see the [styling guide](styling-guide).