MU-WETTER International Weather Station for Puppy Linux and Linux desktop environments, providing real-time weather monitoring, hourly forecasts, daily summaries, unit conversions (Celsius/Fahrenheit, km/h, knots, mph, mm, inches), multi-language support, proxy support for restricted network regions, and script exports. CHANGELOG Version 1.1.0 - Russian Localization for Proxy Guide: Added proxyinfo_ru.txt with automatic language detection in the UI help dialog when Russian (ru) is selected. - Manjaro & Arch Linux Support: Added PKGBUILD and make arch target for native building on Manjaro Linux (Plasma version) and Arch-based distros. - DEB Package Dependencies: Updated DEB control file to automatically include required runtime dependencies (libgtk-3-0, libsoup-3.0-0, libjson-glib-1.0-0, libglib2.0-0). - Optional Proxy & VPN Bypass Support: Added settings to enable an API proxy for regions where services like Open-Meteo or Nominatim are blocked. Includes a selector listbox pre-configured with https://schinkenpizza.de/muwetter/ as default, with full capability to edit or add custom proxy URLs, plus a `?` help button displaying proxyinfo.txt. - Two PHP Proxy Scripts Included: Added proxy-meteo.php and proxy-nominatim.php for server deployment at https://schinkenpizza.de/muwetter/ to seamlessly forward API requests. - Expanded Language Support: Added full translations for the 10 most common/spoken languages worldwide plus Swahili (English, German, French, Spanish, Russian, Mandarin Chinese, Hindi, Arabic, Bengali, Portuguese, Japanese, and Swahili). - libsoup 3 Upgrade: Migrated from deprecated libsoup 2.4 to modern libsoup 3 (libsoup-3.0) utilizing send_and_read_async and GLib.Bytes. - Imperial Rain Unit Support: Added automatic unit conversion for precipitation (millimeters to inches) when temperature is set to Fahrenheit (F). - External Parsing Exports: Added automated plain-text exports in ~/.mu-wetter/: * temp.txt: Simple temperature string (e.g. 33.0° C or 56.5° F). * rain.txt: Simple precipitation string (e.g. 5.0 mm or 0.00 in). * export.txt: Key-value export file containing numeric values and units. - Runtime Dependency Check: Added startup check for missing network libraries (libsoup-3.0) with clear package installation instructions (apt / pacman). Version 1.0.0 - Initial release with GTK3 GUI, Open-Meteo & Nominatim APIs, and multi-language support (languages.rc). -------------------------------------------------------------------------------- SECTION 1: USER GUIDE -------------------------------------------------------------------------------- Features: - Location Search: Search worldwide locations by city name or ZIP code using Nominatim (OpenStreetMap). - Proxy / VPN Bypass: Optional setting in the UI to route API requests through a proxy server for regions where direct weather/geocoding APIs are blocked. Includes a selector listbox (defaulting to https://schinkenpizza.de/muwetter/), an editable URL field, and a `?` help dialog (with automatic Russian translation when Russian language is selected). - Multi-Language Support: Full localization across 12 languages (English, German, French, Spanish, Russian, Chinese, Hindi, Arabic, Bengali, Portuguese, Japanese, and Swahili) selectable via the dropdown combo. - Custom Units: Toggle between Celsius (°C) and Fahrenheit (°F), and wind speed units (km/h, knots, mph). Rain units automatically adapt to millimeters (mm) for Celsius and inches (in) for Fahrenheit. - Silent Mode: Run updates in the background without launching the GUI (mu-wetter --silent). - Debugging: Run with --debug to output detailed network and JSON parsing logs to stdout. - Script & Panel Integration: External panel applets or scripts can easily parse current conditions using export files generated in ~/.mu-wetter/: * ~/.mu-wetter/temp.txt (e.g. 56.5° F) * ~/.mu-wetter/rain.txt (e.g. 0.00 in) * ~/.mu-wetter/export.txt (Key-value export) Runtime Dependencies & Missing Package Notice: mu-wetter requires libsoup 3 (libsoup-3.0) at runtime. If the required network library is missing, mu-wetter will output a clear error message at startup with installation instructions: - Debian / Ubuntu / Puppy Linux (apt): sudo apt install libsoup-3.0-0 - Arch Linux (pacman): sudo pacman -S libsoup3 -------------------------------------------------------------------------------- SECTION 2: TECHNICAL DETAILS (FOR EXPERTS) -------------------------------------------------------------------------------- Architecture & Tech Stack: - Language: Written in modern Vala (.vala), transpiled to C (.c), and compiled with gcc. - UI Framework: GTK 3 (gtk+-3.0) utilizing CSS providers for styling, Gtk.TextView with markup support, and Gtk.ListStore / Gtk.TreeView. - Networking: libsoup-3.0 (Soup.Session, Soup.Message) handling asynchronous HTTP requests with send_and_read_async and GLib.Bytes. - PHP Proxy Scripts: proxy-meteo.php and proxy-nominatim.php provided in the project root for deployment on https://schinkenpizza.de/muwetter/ to securely forward queries to Open-Meteo and OpenStreetMap Nominatim. - JSON Parsing: json-glib-1.0 (Json.Parser) for parsing Open-Meteo weather payloads and Nominatim search results. - Localization: Powered by languages.rc containing translation dictionaries loaded at runtime, plus proxyinfo.txt / proxyinfo_ru.txt for localized help dialogs. - Config & Storage: Settings and generated reports/exports are stored locally in ~/.mu-wetter/: * location: Saved location coordinates and preferences. * forecast.txt: Formatted human-readable weather table. * export.txt, temp.txt, rain.txt: Machine-parsable exports. Build Instructions: Build the application using the included Makefile: make Install system-wide: sudo make install Build Debian packages (.deb) on Linux Mint / Ubuntu / Debian: make deb (Install via: sudo apt install ./mu-wetter_1.1.0_amd64.deb) Build and install on Manjaro Linux / Arch Linux (Plasma version): make arch (Or manually via: makepkg -si)