Open Weather extension for i3status

Related tags

System tools i3owm
Overview

I3owm

rust implementation of Open Weather Map add-on for i3status

Example usage in i3config:

bar {
status_command i3status | i3owm -p 2 -r -k <key> -c Berlin,DE -f '{icon} {temp}{temp_unit} 💧{humidity}%'
}

Output would be like:

⛅ 11°C 💧55%

Get API key for OpenWeatherMap

Get your free API-key at https://openweathermap.org/price.

Installation

To install this from Rust community's crate registry, one must install Rust. Then do this in the terminal:

cargo install i3owm

Options

▶ i3owm --help              
i3owm 0.1.4
Patrick Hoffmann
Open Weather extension for i3status

Example usage in i3config:

  bar {
    status_command i3status | i3owm -p 2 -r -k <key> -c Berlin,DE -f '{icon} {temp}{temp_unit}
💧{humidity}%'
  }

Output would be like:

    ⛅ 11°C 💧55%


USAGE:
    i3owm [FLAGS] [OPTIONS]

FLAGS:
    -h, --help
            Prints help information

    -r, --reverse
            reverse position (from right)

    -V, --version
            Prints version information


OPTIONS:
    -k, --api-key <api>
            OpenWeatherMap API key
            (get one at https://openweathermap.org/api)

    -c, --city <city>
            location city
            (city's name, comma, 2-letter country code (ISO3166)) [default: Berlin,DE]

    -i, --city_id <city_id>
            location city ID
            (search your city at https://openweathermap.org/find and take ID out of the link you
            get)

    -f, --format <format>
            available keys are:
            {city}          City name
            {main}          Group of weather parameters (Rain, Snow, Extreme
                            etc.)
            {description}   Weather condition within the group
            {icon}          Weather icon
            {pressure}      Atmospheric pressure (on the sea level, if there is
                            no sea_level or grnd_level data), hPa
            {humidity}      Humidity, %
            {wind}          Wind direction, degrees (meteorological)
            {wind_icon}     Wind direction, (meteorological) as arrow icon
            {wind_speed}    Wind speed, {speed_unit}
            {visibility}    Visibility, meter
            {visibility_km} Visibility, kilometer
            {rain.1h}       Rain volume for the last 1 hour, mm
            {rain.3h}       Rain volume for the last 3 hours, mm
            {snow.1h}       Snow volume for the last 1 hour, mm
            {snow.3h}       Snow volume for the last 3 hours, mm
            {temp_min}      Minimum temperature at the moment. This is minimal
                            currently observed temperature (within large
                            megalopolises and urban areas), {temp_unit}
            {temp_max}      Maximum temperature at the moment. This is maximal
                            currently observed temperature (within large
                            megalopolises and urban areas), {temp_unit}
            {feels_like}    Temperature. This temperature parameter accounts
                            for the human perception of weather, {temp_unit}
            {temp}          Temperature, {temp_unit}
            {temp_unit}     Temperature
                            (standard=K, metric=°C, imperial=°F)
            {speed_unit}    Wind speed unit
                            (standard=m/s, metric=m/s, imperial=mi/h
            {update}        Local time of last update, HH:MM
             [default: {city} {icon} {current} {temp}{temp_unit} {humidity}%]

    -l, --lang <lang>
            two character language code of weather descriptions
            (default is 'en')

    -p, --position <position>
            position of output in JSON when wrapping i3status

    -u, --units <units>
            use imperial units [default: metric] [possible values: metric, imperial, standard]
You might also like...
Elemental System Designs is an open source project to document system architecture design of popular apps and open source projects that we want to study
Elemental System Designs is an open source project to document system architecture design of popular apps and open source projects that we want to study

Elemental System Designs is an open source project to document system architecture design of popular apps and open source projects that we want to study

Open Protocol Indexer, OPI, is the best-in-slot open-source indexing client for meta-protocols on Bitcoin.

OPI - Open Protocol Indexer Open Protocol Indexer, OPI, is the best-in-slot open-source indexing client for meta-protocols on Bitcoin. OPI uses a fork

🦀 The ultimate search extension for Rust
🦀 The ultimate search extension for Rust

Rust Search Extension 简体中文 The ultimate search extension for Rust Search docs, crates, builtin attributes, official books, and error codes, etc in you

A setuptools/wheel/cffi extension to embed a binary data in wheels

Milksnake Milksnake is an extension for setuptools that allows you to distribute dynamic linked libraries in Python wheels in the most portable way im

Visual Studio extension for Rust
Visual Studio extension for Rust

Visual Studio extension for Rust Currently in development, and not feature complete. Stable versions are available on the Visual Studio extension gall

Rust extension for Visual Studio 2017 with RLS support

Rust support for Visual Studio 2017 Preview Adds language support for Rust to Visual Studio 2017. Supports: code completion goto definition find all r

crates is an extension aims to help people to manage their dependencies for rust (crates.io & TOML).
crates is an extension aims to help people to manage their dependencies for rust (crates.io & TOML).

crates Hello Rust & VSCode lovers, This is crates, an extension for crates.io dependencies. Aims helping developers to manage dependencies while using

Lisp dialect scripting and extension language for Rust programs

Ketos Ketos is a Lisp dialect functional programming language. The primary goal of Ketos is to serve as a scripting and extension language for program

Extension for actix-web to validate user permissions

actix-web-grants Extension for actix-web to validate user permissions. To check user access to specific services, you can use built-in proc-macro, Per

A discord.py experimental extension for audio recording

discord-ext-audiorec This project is currently under development. We do not guarantee it works.

A safe Rust FFI binding for the NVIDIA® Tools Extension SDK (NVTX).
A safe Rust FFI binding for the NVIDIA® Tools Extension SDK (NVTX).

NVIDIA® Tools Extension SDK (NVTX) is a C-based Application Programming Interface (API) for annotating events, code ranges, and resources in your applications. Official documentation for NVIDIA®'s NVTX can be found here.

VSCode debug extension for probe-rs. It uses the MS DAP protocol to communicate directly with the probe (via probe-rs), and supports basic command line debugging in addition to VSCode UI.
VSCode debug extension for probe-rs. It uses the MS DAP protocol to communicate directly with the probe (via probe-rs), and supports basic command line debugging in addition to VSCode UI.

VSCode debug extension for probe-rs. It uses the MS DAP protocol to communicate directly with the probe (via probe-rs), and supports basic command line debugging in addition to VSCode UI.

Auto-Complete is an intelligent auto-completion extension for Emacs.
Auto-Complete is an intelligent auto-completion extension for Emacs.

Auto-Complete is an intelligent auto-completion extension for Emacs. It extends the standard Emacs completion interface and provides an environment that allows users to concentrate more on their own work.

A rust-based extension module for Halo 3: MCC PC

halo3-rs This project is a rust-based extension module for Halo 3 in the Master Chief Collection on PC. The DLL wrapper contains a collection of patch

An extension to Rust std for beginner exercises

note: this is for practicing rust only, do not use this in actual production programs! really, don't. [dependencies] simple-std = "0.1.1" simple-std i

Provides a Rust-based SQLite extension for using Hypercore as the VFS for your databases.

SQLite and Hypercore A Rust library providing SQLite with an virtual file system to enable Hypercore as a means of storage. Contributing The primary r

Example sqlite3 Dynamic Loadable Extension in Rust - vfs and vtab modules - port of vfsstat.c

Example sqlite3 Dynamic Loadable Extension in Rust - vfs and vtab modules The vfs and vtab This is a port of the official ext/misc/vfsstat.c sqlite3 e

GitHub CLI extension to show & rename the default branch.

gh-default-branch GitHub CLI extension to show & rename the default branch. rename subcommand was inspired by this gist. ⚠️ Caution The rename subcomm

Simple MHV6 extension used to download custom songs efficiently and effectively.

nong-downloader-extension A simple MegaHack v6 extension that helps you download NONG songs directly to GD. Compiling. Why would you want to compile??

Comments
  • Cargo install now fails due to crate_version issue

    Cargo install now fails due to crate_version issue

    Possibly similar issue to https://github.com/tauri-apps/tauri/issues/3050??

    Attempt to install via cargo has the following error.

    $ cargo install i3owm
    <snip>
       Compiling i3owm v0.2.15
    error[E0432]: unresolved import `clap::crate_version`
     --> /home/timw/.cargo/registry/src/github.com-1ecc6299db9ec823/i3owm-0.2.15/src/main.rs:6:12
      |
    6 | use clap::{crate_version, load_yaml, App};
      |            ^^^^^^^^^^^^^ no `crate_version` in the root
    
    error: cannot determine resolution for the macro `crate_version`
      --> /home/timw/.cargo/registry/src/github.com-1ecc6299db9ec823/i3owm-0.2.15/src/main.rs:28:40
       |
    28 |     let args = App::from(yaml).version(crate_version!()).get_matches();
       |                                        ^^^^^^^^^^^^^
       |
       = note: import resolution is stuck, try simplifying macro imports
    
    error[E0308]: mismatched types
      --> /home/timw/.cargo/registry/src/github.com-1ecc6299db9ec823/i3owm-0.2.15/src/main.rs:28:26
       |
    28 |     let args = App::from(yaml).version(crate_version!()).get_matches();
       |                          ^^^^ expected struct `App`, found `&yaml_rust::yaml::Yaml`
    
    Some errors have detailed explanations: E0308, E0432.
    For more information about an error, try `rustc --explain E0308`.
    error: failed to compile `i3owm v0.2.15`, intermediate artifacts can be found at `/tmp/cargo-installo3FXlz`
    
    Caused by:
      could not compile `i3owm` due to 3 previous errors
    
    opened by timwsuqld 0
  • Predicted ISS spotting uses today's weather

    Predicted ISS spotting uses today's weather

    When combining openweathermap data with *open-notify' data i3owm makes a mistake:

    Whenever there is an ISS spotting in the future it's visibility will be rated by the current weather's visibility. So for a correct prediction a weather forecast for all possible spot dates.

    opened by fightling 0
Releases(v0.2.15)
Owner
Patrick Hoffmann
Patrick Hoffmann
A Rust client for the NOAA Weather Wire Service Open Interface.

nwws-oi A Rust client for the NOAA Weather Wire Service Open Interface. NWWS-OI is one of several platforms through which the National Weather Service

Will Glynn 3 Sep 15, 2022
🌤️ Command line weather tool.

??️ Command line weather tool.

risoflora 45 Jan 3, 2023
Print Apple WeatherKit REST API weather conditions and hourly/daily foreacast to the console.

weatherkit-rust A Rust CLI program to print current conditions and daily/hourly forecast to the console. Please read authorization.md as you need an A

boB Rudis 11 Dec 23, 2022
Display NOAA Weather Alerts For A Given Lat/Lon

wxwarn Display NOAA Weather Alerts For A Given Lat/Lon Grabs the NOAA weather alerts shapefile, checks to see if there are any alerts for the given co

boB Rudis 4 Jul 25, 2022
RusQTTbom takes weather data from the Bureau of Meteorology (BOM) and publishes that data via MQTT messages.

RusQTTbom RusQTTbom collects weather data from the Bureau of Meterology (BOM) then publishes said data locally via MQTT messages. BOM weather data is

Athenars 7 Jan 13, 2023
Custom module for showing the weather in Waybar, using the great wttr.io

wttrbar a simple but detailed weather indicator for Waybar using wttr.in. Installation Compile yourself using cargo build --release, or download the p

Yo'av Moshe 10 Apr 23, 2023
🌤 Track the weather for event days

Weather on the Event Day wed's idea is to automate something I do pretty often: once I register for a run or triathlon event, I frequently check the c

Eduardo Cuducos 5 May 3, 2023
CLI command for retrieving weather details.

rusty-forecast rusty-forecast is a Linux CLI command for retrieving weather details. INSTALLATION git clone https://github.com/husseinhareb/rusty-fo

Hussein Hareb 10 May 27, 2024
ANISE provides an open-source and open-governed library and algorithmic specification for most computations for astrodynamics

ANISE provides an open-source and open-governed library and algorithmic specification for most computations for astrodynamics. It is heavily inspired by NAIF SPICE, and may be considered as an open-source modern rewrite of SPICE.

ANISE 4 Mar 9, 2022
H2O Open Source Kubernetes operator and a command-line tool to ease deployment (and undeployment) of H2O open-source machine learning platform H2O-3 to Kubernetes.

H2O Kubernetes Repository with official tools to aid the deployment of H2O Machine Learning platform to Kubernetes. There are two essential tools to b

H2O.ai 16 Nov 12, 2022