mod_mgr_reload_sats() manipulates GTK widgets but ran on the background
TLE update thread, racing the main loop that reads the same state. Schedule
the reload on the main loop via an idle callback so all GTK access stays on
the main thread.
Signed-off-by: Nerijus Bendžiūnas <nerijus.bendziunas@gmail.com>
Include GTK Run-time binaries in the zip package when building with the dist target
Updated Binary Dependencies for Win32 Builds:
- Fixed gdk-pixbuf-2.0 SVG dependencies
- Added gspawn-win64-helper.exe and gspawn-win64-helper-console.exe as they are required for hyperlinks to launch
Replace all GooCanvas-based canvas widgets with GtkDrawingArea and
Cairo for rendering satellite tracking visualizations:
- gtk-polar-view: Polar plot for real-time satellite tracking
- gtk-polar-plot: Polar plot for pass visualization
- gtk-azel-plot: Azimuth/Elevation time plot
- gtk-sat-map: World map with satellite positions and ground tracks
- gtk-sky-glance: Timeline view of upcoming passes
Key changes:
- Replace GooCanvasItemModel objects with coordinate fields in structs
- Implement on_draw() callbacks using Cairo API for all rendering
- Add manual hit testing for mouse interactions
- Store render state (points, colors, positions) in widget structures
- Use gtk_widget_queue_draw() to trigger redraws
Build system updates:
- Remove goocanvas-2.0/3.0 pkg-config checks from configure.ac
- Add explicit gtk+-3.0 dependency check
- Update CI workflows and snap
This eliminates the external GooCanvas library dependency, reducing
build complexity and improving portability. The application now only
requires GTK+ 3.0 and standard system libraries.
Fixes: #369
Implements both global and module specific config options to show or hide
the satellite names, footprints, and markers on the map view.
Partially implements issues #242 and #335.
Implements both global and module specific config options to show or hide
the satellite names and markers on the polar view.
Partially implements issues #242 and #335.