Skip to content

Locations: find, save, switch and manage #1

Closed

Description

@PlanetLinux98

Finding, saving, switching and managing the places Weatherspell shows weather for.

Decisions and progress

  • A combo box above the forecast text lists saved locations; arrowing through it switches the forecast.
  • Ctrl+1 to Ctrl+9 select a saved location by position; the Locations menu lists the first nine with their shortcuts, the one on screen checked (59d2a41).
  • Add Location dialog (Ctrl+Shift+L, also in the Locations menu; called Find Location on Ctrl+L until 59d2a41): type a place name or postal code, press Enter to search, results appear in a list ("Peterborough, Ontario, Canada (population 84,000)"), Enter adds the highlighted result. The list only changes when the user searches, never as they type.
  • Coordinates go in the same search field, typed or pasted in the usual forms (decimals, compass letters, degrees with minutes and seconds, decimal minutes, map links), and come back as one result named after the place they fall in, from OpenStreetMap: "Near Bobcaygeon, Ontario, Canada (44.54 north, 78.54 west)". The forecast is for the exact point; a point nothing names (open sea) is offered under its coordinates. Replaced the planned Coordinates button, which would have left a point with no name or country (e5dddfc).
  • Geocoding via Open-Meteo's geocoding API (no key). No IP-based "detect my location".
  • Postal codes for Canada, the UK, Australia, New Zealand and Ireland from a GeoNames table built into the exe, since Open-Meteo's search has none for them (and is dependable only for the US, France, Spain, the Netherlands and Belgium). One entry per code, named after its largest place; merged with the geocoder's results for other countries.
  • A saved location keeps the geocoder's full name.
  • Optional nickname ("Home"); the full name stays available. Set with Rename in Manage Locations, whose list shows "Home (Peterborough, Ontario, Canada)" (59d2a41).
  • Manage Locations dialog (Ctrl+L): list of saved places with Move Up (Alt+U), Move Down (Alt+D), Add, Rename (F2) and Remove (Delete), and a "Notify me about alerts" checkbox for the selected place. The order here is the Ctrl+1..9 order. Edits apply on OK; Cancel undoes them all (59d2a41).
  • The last viewed location is remembered and shown on the next launch.
  • First run (no saved locations): the main window opens with a one-line explanation in the text and the Add Location dialog opens on top with focus in the search field.
  • Locations, nicknames, order and notify flags persist in %APPDATA%\Weatherspell\settings.json.

Accessibility

  • Every field carries its visible label's text as its accessible name; explicit tab order; mnemonics that do not collide within the dialog (the Location label is Alt+O because Alt+L is the Locations menu).
  • Result list items read as one spoken chunk each; the number of results is announced after a search ("5 places found") and focus moves to the first result. Whether both are wanted is for NVDA testing to decide.

Activity

  1. added this to the 0.1.0 milestone on Sep 11, 2026
  2. PlanetLinux98 commented on Sep 27, 2026

    @PlanetLinux98
    OwnerAuthor

    Every item has landed on main:

    • Find Location (now Add Location), saved locations in the combo box and the last viewed location remembered: 3fd5d40
    • Postal codes for Canada, the UK, Australia, New Zealand and Ireland: fcbf2c8, 7e06cb8
    • Manage Locations (order, nicknames, remove, the "Notify me about alerts" checkbox), Add Location on Ctrl+Shift+L, and Ctrl+1 to Ctrl+9: 59d2a41
    • Coordinates in the search field, named after the place they fall in: e5dddfc

    Still to hear with NVDA on Manage Locations: whether Alt+U and Alt+D with focus in the list read the moved item, and whether "Removed X." clashes with the next item. Those go with the NVDA pass over every window in #8.

  3. PlanetLinux98 commented on Oct 4, 2026

    @PlanetLinux98
    OwnerAuthor

    Shipped in v0.1.0.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    accessibilityBarrier affecting people with disabilitiesenhancementNew feature or request

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions