* Minor grammar edit only in PLUGINS.md (I was checking if it explicitly
stated what data is expected in the synthetic 'StartUp' event, it doesn't).
* First changes to move some monitor properties into the monitor.state
dictionary. This is for system or body data.
* Re-factored the generation of 'StartUp' event into
`EDLogs.synthesize_startup_event()`. It's done in two places, so was
anti-DRY.
* In general any bulk setting of system & body data is now done in the
same order for comparison clarity.
* A little of the location tracking has been duplicated from plugins/eddn.py.
This is with a view to switching *it* to using the state version.
It *seems* we don't need to specify both a directory and its contents.
Also, hopefully this will fix the:
Creating zip archive...
Command Line Error:
Unknown switch:
-
which the last run got. That was where the 'root' directory prefix was
added to all exclusions. Maybe the commandline got too long ?
zip-release does indeed create this in `directory`, so we need to specify
it should be *in* the 'root' directory that we're including *in* the zip file.
This *should* allow for easy setup to work on any XDG-compliant desktop
environment. Just run `scripts/linux-setup.sh` and it will:
1. Determine the 'root' directory of the EDMarketConnector source you're
using.
2. Check you have `${HOME}/bin` in PATH and it exists as a directory.
3. Copy `scripts/edmarketconnector.sh` to there, replacing the string
`EDMC_PATH` with the 'root' directory.
4. Copy .png (icon) and .desktop files into ~/.local/share/... locations.
Then the desktop environment should have a menu entry for
"E:D Market Connector", which attempts to run `edmarketconnector`, which
should now be the shell script present in ${HOME}/bin.
1. `io.edcd.EDMarketConnector.desktop` based on the flathub one, but with
reference to v1.5 of the spec (linked in a file comment).
2. As the Icon is specified using `io.edcd.EDMarketConnector`, not only
`EDMarketConnector`, renamed the .png file and updated the single code
reference to it.
It was observed that some text in the EDMC-Canonn plugin was wrapping in
this branch when the same text doesn't in `develop. So, tweaked the
plugin_frame setup to match the main UI frame setup:
* `tk.NSEW` not `tk.EW` - didn't fix the problem, but we should match this.
* `.columnconfigure(1, weight=1)` - this actually fixed the problem.
These are used in the non-default themes, as the OS ones are hidden and
replaced by them.
They're created after the rest of the main UI, so come last in the 'children'
list.
* eddn: Needs to find status text, although really there should be a helper
function for this.
* Removed commented out references to same in edsm and inara.
As we're experimenting with per-plugin frames up a level `parent.children`
would need to be `parent.parent.children`, but this way it will Just Work
without knowledge of the hierarchy.
Unfortunately we can't name the plugin ones, as that's entirely up to their
`plugin_app()` code, and widget names can't be changed after creation.
NB: Each `plugin_hr_X` frame is `grid()`'d to be *before* the plugin in
question, despite being listed *after* in:
>>> self.w.children['edmarketconnector'].children
Typing this as `update.Updater | None` and having the check
`if self.updater is not None:` causes the menu entry to not even get added,
because `import update` was coming later.
I can't recall why that import/setup was later, but I might be about to find
out again....