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.
- Add svg icon installed into a standard icons dir instead of the non-standard dimensions png in pixmaps
- Rename the desktop icon to just "gpredict" to match desktop file name
- Add AppStream metainfo file
- Fix Makefile formatting
Previously, the thousands place separator for gtk-freq-knob was
hard-coded as the decimal point (".").
Make the following changes:
- Add a new method, get_locale_thousands_sep(), to compat.{c,h}.
- Use this new method in gtk-freq-knob.c to determine the correct
thousands separator to use at runtime.
This solves two problems with the orbit number calculations:
- When age = 0, the orbit number must match the TLE revnum. However,
the expression inside the floor(..) can be give a non-zero value.
We need to subtract the result of the floor(..) with age = 0 to
account for this.
- In gtk-sat-data.c, the sign of the term involving the argument of
perigee and mean anomaly at epoch is wrong. The term should have
a positive sign, since it counts as an increasing fraction of a
revolution measured from the ascending node.