awesome-wm-widgets/_widgets/weather-widget.md

84 lines
2.8 KiB
Markdown
Raw Normal View History

---
layout: page
---
# Weather widget
2019-12-15 21:38:54 +01:00
![Weather Widget](../awesome-wm-widgets/assets/img/screenshots/weather-widget/weather-widget.png)
Note that widget uses the Arc icon theme, so it should be [installed](../awesome-wm-widgets/assets/img/screenshots/weather-widgetttps://github.com/horst3180/arc-icon-theme#installation) first under **/usr/share/icons/Arc/** folder.
## Customization
It is possible to customize widget by providing a table with all or some of the following config parameters:
| Name | Default | Description |
|---|---|---|
| `font` | `Play 9` | Font |
| `city` | `Montreal,ca` | City name and country code, [more info](../awesome-wm-widgets/assets/img/screenshots/weather-widgetttps://openweathermap.org/current) |
| `api_key` | none| API key, required |
| `units` | `metric` | `metric` for celsius, `imperial` for fahrenheit |
| `both_units_widget` | `false` | show temperature in both units (15°C (59°F)) or in one (15°C) |
| `both_units_popup` | `false` | same as above but for popup |
| `notification_position` | `top_right` | The notification position |
### Example:
```lua
weather_widget({
api_key = 'your-api-key',
units = 'imperial',
font = 'Ubuntu Mono 9'
}),
```
## Installation
2018-09-25 01:18:45 +02:00
1. Install lua socket - to make HTTP calls to get the weather information.
```bash
$ sudo apt-get install lua-socket
```
2019-12-15 21:38:54 +01:00
1. Download json parser for lua from [github.com/rxi/json.lua](../awesome-wm-widgets/assets/img/screenshots/weather-widgetttps://github.com/rxi/json.lua) and place it under **~/.config/awesome/** (don't forget to star a repo <i class="fa fa-github-alt"></i> ):
2018-09-25 01:18:45 +02:00
```bash
wget -P ~/.config/awesome/ https://raw.githubusercontent.com/rxi/json.lua/master/json.lua
```
1. Clone this repo under **~/.config/awesome/**:
```bash
git clone https://github.com/streetturtle/awesome-wm-widgets.git ~/.config/awesome/
```
2019-12-15 21:38:54 +01:00
1. Get Open Weather Map app id here: [openweathermap.org/appid](../awesome-wm-widgets/assets/img/screenshots/weather-widgetttps://openweathermap.org/appid).
2019-01-27 04:59:45 +01:00
2018-10-16 18:36:33 +02:00
1. Require weather widget at the beginning of **rc.lua**:
2018-09-25 01:18:45 +02:00
```lua
local weather_widget = require("awesome-wm-widgets.weather-widget.weather")
```
1. Add widget to the tasklist:
```lua
s.mytasklist, -- Middle widget
{ -- Right widgets
layout = wibox.layout.fixed.horizontal,
...
2019-12-15 21:38:54 +01:00
--default
weather_widget({api_key = 'your-api-key'}),
--customized
weather_widget({
api_key = 'your-api-key',
units = 'imperial',
font = 'Ubuntu Mono 9'
})
2018-09-25 01:18:45 +02:00
...
```
2019-12-15 21:38:54 +01:00
You can read how it works in more details [here](../awesome-wm-widgets/assets/img/screenshots/weather-widgetttp://pavelmakhov.com/2017/02/weather-widget-for-awesome-wm)