https://github.com/phdenzel/xmobar_wttr
A command-line tool for xmobar to fetch info from wttr.in
https://github.com/phdenzel/xmobar_wttr
Last synced: about 1 year ago
JSON representation
A command-line tool for xmobar to fetch info from wttr.in
- Host: GitHub
- URL: https://github.com/phdenzel/xmobar_wttr
- Owner: phdenzel
- License: gpl-3.0
- Created: 2022-01-11T12:25:03.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2022-10-22T10:35:35.000Z (almost 4 years ago)
- Last Synced: 2025-05-27T02:11:30.054Z (about 1 year ago)
- Language: Python
- Homepage:
- Size: 89.8 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
`xmobar_wttr` is a command-line program which fetches weather info
from [wttr.in](https://wttr.in) and applies direct formatting to be used by xmobar.
Different from already available plugins, it can easily be configured
to use any kind of combination of numbers, icons, and colors. It
implements a custom syntax with which a single line in the
`xmobar_wttr.yml` configuration file translates to an xmobar field entry.
In the `commands` list of your `xmobarrc`, add something along the lines
of
Run Com "xmobar_wttr" ["-c", "~/.config/xmobar/xmobar_wttr.yml"] "wttr" 9000
# Prerequisites
This program mainly uses following python3 modules
- requests
- pyyaml
Furthermore, the program uses weather icons from
[https://github.com/erikflowers/weather-icons](https://github.com/erikflowers/weather-icons). Install them
directly from the website, using an AUR helper such as
yay -S ttf-weather-icons
or by other means.
# Install
pip install xmobar-wttr
For installing from source, clone the repository, and run
cd xmobar_wttr
python setup.py install --user
or create a virtual environment with
pipenv install
pipenv install -e .
To activate the virtual environment run
pipenv shell
or start every command with `pipenv run`.
# Usage
usage: xmobar_wttr [-h] [-c ] [-l ] [-f ] [-o ] [-s ] [-p [ ...]] [-v]
optional arguments:
-h, --help show this help message and exit
-c , --config
Path to the config file
-l , --location
Location for which to pull information.
-f , --format
Format template for xmobarrc
-o , --output
Path to the output file
-s , --section
Section in the yaml file to be parsed
-p [ ...], --pars [ ...]
Select parameters to be fetched from wttr.in
excluded parameters are not available in xmobar template format
-v, --verbose Run program in verbose mode
# Configuration
`xmobar_wttr` works with both command-line arguments as well as YAML
configuration files (the first takes precedence over the latter). To
set your desired defaults edit the configuration file
`xmobar_wttr.yml` and place it in either
- `~/.config/xmobar_wttr/xmobar_wttr.yml`
- `~/.config/xmobar/xmobar_wttr.yml`
- `~/.xmobar_wttr/xmobar_wttr.yml`
- `~/.xmobar_wttr.yml`
# Notation
- Fields are separated by `%`.
- Each field should have a parameter entry prefixed by an exclamation
mark `!`, e.g. `!h`.
- Units can be placed using `.u`
- Fonts can be selected using `` where `N` is the xmobar font
index, e.g. `<2:weather condition>` formats to `weather
condition`
- Analogously colors can be used using `{#dedede:...}`.
Notation
*Description
%[!par]
parameter value
%g[!par]
render parameter only as icon
%G[!par]
prefix icon to parameter value
.u
append units of previous parameter
Format map
Result
<2:…>
<fn=2>…</fn>
{#dedede:…}
<fc=#dedede>…</fc>
\…
\x…
## Example:
`'%g!x %!t(%!f)<1: >.u {#46d9ff:%G}<1: >!h'`
could format to something like
` 3(1) °C 81`
and renders in xmobar as
