Previously images that could not be located were handled by throwing a
full report error, which incorrectly stated it was an invalid image
*type*.
This changes the image handling to instead log a single-line warning
directly in the image provider code, reducing the error handling
required by each consumer.
Resolves#146.
BREAKING CHANGE: To allow for the `name` property, any widgets that were previously targeted by name should be targeted by class instead. This affects **all modules and all popups**, as well as several widgets inside modules. **This will break a lot of rules in your stylesheet**. To attempt to mitigate the damage, a migration script can be found [here](https://raw.githubusercontent.com/JakeStanger/ironbar/master/scripts/migrate-styles.sh) that should get you most of the way.
Resolves#75.
This ensures that starting `ironbar` while an instance already running causes the 2nd instance to cleanly exit, and avoids launching the init code a second time.
Previously icons were only loaded from the theme based on the provided icon name. Sometimes no icon name was provided, and sometimes the name is just missing from the theme.
This falls back to using the provided pixbuf, and then falls back to just displaying the name as text if that is not available.
Previously icons were only loaded from the theme based on the provided icon name. Sometimes no icon name was provided, and sometimes the name is just missing from the theme.
This falls back to using the provided pixbuf, and then falls back to just displaying the name as text if that is not available.
The short input parser was previously splitting colons, and incorrectly handling situations where the `cmd` section contained colons. The parser now properly checks input in the `mode:interval:cmd` format, moving onto the next section regardless of whether the previous was found.
This means unless your script literally starts with `poll:` or `5000:` you won't hit this issue anymore.