Skip to content

gcclinux/WeatherWidget

Repository files navigation

EasyWeatherWidget

A compact weather widget for your desktop.

Screenshots

System Tray Menu

Win32 Task Manager Menu

Opacity / background transparency - (1-5 Cities)

Win32 Transparent Background

Weather Widget Location Settings

Weather Widget Settings

Weather Widget Appearance Settings

Weather Widget Settings

Weather Widget Languages Settings

Weather Widget Settings

Download

You can download the latest pre-compiled binaries for Windows and Linux from the GitHub Releases page.

Compilation

Windows

    $env:PATH = "C:\msys64\ucrt64\bin;" + $env:PATH; $env:CGO_ENABLED = "1"; gcc --version | Select-Object -First 1
    go build -ldflags="-H windowsgui -s -w" -o weatherwidget.exe ./cmd/weatherwidget/
    .\weatherwidget.exe

Windows MSI Package

 .\installer\build-msi.ps1 -Version "0.0.6.0" -SkipSign

Linux

  1. Install dependencies:
    sudo apt-get update && sudo apt-get install -y libgl1-mesa-dev xorg-dev
  2. Build:
    make build

Note: The first build may take several minutes as it compiles graphical dependencies (CGO). My updated Makefile includes the -v flag so you can monitor progress.

Config example

{
  "dataSource": "remote_api",
  "cities": [
    {
      "name": "Holambra",
      "region": "BR",
      "latitude": -22.6332,
      "longitude": -47.0545,
      "timezone": "America/Sao_Paulo"
    },
    {
      "name": "Edinburgh",
      "region": "UK",
      "latitude": 55.95,
      "longitude": -3.19,
      "timezone": "Europe/London"
    },
    {
      "name": "Warsaw",
      "region": "PL",
      "latitude": 52.231958,
      "longitude": 21.006725,
      "timezone": "Europe/Warsaw"
    }
  ],
  "refreshInterval": 10,
  "cornerPosition": "top-right",
  "monitorIndex": 0,
  "opacity": 25,
  "locale": "en-GB",
  "apiConfig": {
    "provider": "openweathermap",
    "apiKey": "YOUR_API_KEY"
  }
}

Windows Config location

Windows

type $env:APPDATA\WeatherWidget\WeatherWidget\config.json

Linux

cat $HOME/.config/WeatherWidget/WeatherWidget/config.json

Troubleshooting

"Nothing happens" when clicking Settings or Weather Panel

If the app appears in your system tray (or is running in the background) but clicking Settings or Show Weather does nothing, it usually means the application failed to create the UI window.

You can verify this by running the application from the command line with the -debug flag to enable logging to a file:

.\weatherwidget.exe -debug

Then, check the log file at:

type $env:APPDATA\WeatherWidget\debug.log

If you see the following error: Cause: APIUnavailable: WGL: The driver does not appear to support OpenGL

The Fix: This happens on "clean" Windows installations (using the Microsoft Basic Display Adapter) or in Virtual Machines because the system lacks proper graphics drivers to support the required OpenGL 2.0+ context.

There are two ways to fix this:

  1. Install Graphics Drivers: Install the proper Intel/AMD/NVIDIA graphics drivers for your system.

  2. Use Mesa3D Software Renderer (Portable Fix): If installing drivers is not an option:

    • Download a pre-compiled Mesa3D for Windows package (e.g., from fdossena.com).
    • Extract the 64-bit opengl32.dll file.
    • Place that opengl32.dll file directly in the same folder as your weatherwidget.exe.

    Windows will automatically use this DLL to translate OpenGL hardware calls into software rendering, allowing the app to work flawlessly on any PC regardless of graphics drivers.

Note: A -software flag is also available (.\weatherwidget.exe -software) which instructs the Fyne framework to prefer software rendering, but this still requires basic OpenGL driver availability at the OS level.

About

Your Desktop. Your Weather, Your Time. A compact, transparent weather widget that lives on your desktop. Monitor up to 5 cities at a glance with a beautiful, always-on-top overlay.

Topics

Resources

License

Stars

Watchers

Forks

Sponsor this project

  •  

Packages

 
 
 

Contributors