ターミナルで天気を:weathr – ASCII アート天気アプリ
ターミナルで天気を:weathr – ASCII アート天気アプリ
コマンドラインの快適さを愛し、天気が数回のキー入力で済むことを視覚的に日々確認したいなら、weathr が待っていたツールです。Rustで開発され、weathr は無料の Open‑Meteo API から現在の状態を取得し、鮮明な ASCII アートでターミナルに直接アニメーション天気を描画します。
なぜ weathr なのか?
- 即時フィードバック:ウェブブラウザ不要 ― 天気情報が直接コンソールに表示されます。
- 目を楽しませる:昼夜を切り替える背景に対し、雨や雪、雷、飛行機の雲がアニメーションで動きます。
- クロスプラットフォーム:Linux、macOS、Windows、さらに WSL でもネイティブに動作します。
- セルフコンテナ:1 つのバイナリで構成され、Rust 開発ツールチェーン以外の外部依存はありません。
- オープンソース & GPL‑v3:フォーク、改変、またはプルリクエストを提出できます。
クイックスタート
Cargo でインストール – すでに Rust を使っている場合は最も簡単な方法です:
cargo install weathr
Homebrew (macOS)
brew install Veirt/veirt/weathr
AUR (Arch)
yay -S weathr
Windows (Winget)
winget install -i Veirt.weathr
ビルドからソース (Rust が必要):
git clone https://github.com/Veirt/weathr.git
cd weathr
cargo install --path .
設定
アプリは各 OS の従来の設定ディレクトリにある config.toml を探します:
| システム | デフォルト設定パス |
|---|---|
| Linux | ~/.config/weathr/config.toml |
| macOS | ~/Library/Application Support/weathr/config.toml |
| Windows | ~/AppData/Roaming/weathr/config.toml |
ディレクトリを作成し、ファイルを編集して設定を行います。例として以下のような設定ファイルがあります:
# 目標表示 (HUD) を隠す
hide_hud = false
# 静かに実行(エラーのみ表示)
silent = false
[location]
# 自動位置検出を上書き;IP 位置をクエリする場合は `true` に設定
auto = true
# 手動オーバーライドの緯度と経度
latitude = 51.5074
longitude = -0.1278
# HUD から位置名を隠す
hide = false
[units]
# 温度単位:「celsius」または「fahrenheit」
temperature = "celsius"
# 風速単位:"kmh"、"ms"、"mph"、または "kn"
wind_speed = "kmh"
# 降水単位:"mm" または "inch"
precipitation = "mm"
アプリの起動
単に実行してください:
weathr
アプリケーションは位置を解決し、現在の天気を取得し、アニメーションループを開始します。キーボードコントロールは最小限です:
qまたはQ– 終了。Ctrl+C– 即時終了。
条件のシミュレーション
開発者やテスト目的で、任意の天気状態をシミュレートできます:
weathr --simulate rain
weathr --simulate snow --night
weathr --simulate clear --leaves
コマンドラインオプション
| フラグ | 説明 |
|---|---|
--imperial |
°F、mph、inch(設定を上書き) |
--metric |
°C、km/h、mm(デフォルト) |
--auto-location |
IP ベースの位置情報検索を強制 |
--hide-location |
HUD で座標を非表示 |
--hide-hud |
HUD 全体を非表示 |
--silent |
エラー以外の出力を抑制 |
フラグは組み合わせて使用できます。例:weathr --imperial --auto-location。
環境変数
NO_COLOR=1– カラー出力を無効化します。COLORTERM=truecolor– 24‑bit カラーサポートを強制します。TERM=xterm-256color– ターミナル機能検出。
プライバシーについて
自動位置検出が有効な場合、weathr は ipinfo.io に対して1回のリクエストを行い、IP から緯度/経度を解決します。これはオプションで、auto = false を設定するかフラグを省略すると無効化できます。個人情報は保存または天気プロバイダーに送信されません。
ロードマップ
- 追加天気 API – 冗長性を確保するため OpenWeatherMap や WeatherAPI を統合。
- キーボードショートカット – 手動更新、速度制御、アニメーション停止、HUD 切替。
- Home-Manager モジュール – NixOS 完全構成サポート。
- カスタムテーマ – ユーザー作成の ASCII アートセットをインポート。
コントリビューション
ご寄稿を歓迎します!リポジトリをフォークし、変更を加えてプルリクエストを送ってください。プロジェクトは Linux と macOS で CI テストされています。寄稿はバグ修正、新しい天気状態、あるいは使い勝手の向上など多岐にわたります。
クレジット
- 天気データ – Open‑Meteo.com(CC BY‑4.0)
- ASCII アート – asciiart.eu のさまざまなアーティスト
- Rust クレート –
reqwest、serde、crossterm、clap
weathr はオープンソースのターミナル中心天気アプリです。コマンドプロンプトを天気ウィジェットに変えます。軽量で洗練されたスタイルでターミナルを離れずに空の情報を得たい場合は、今すぐ weathr をインストールし、アニメーションが一日を予報します。