We really heavily depend on these fonts, so in the name of portability, it's
okayish to import them here. The license for these files is apparently the
public domain, so this should be okay.
Adjusts the fonts package to load in the fonts using importlib and some BytesIO
wizardry.
We have a bunch more info that is nearly correct, though I haven't validated
this yet. Currently exploring using pipenv instead, since that helps manage
these more effectively.
There's really no point to switching to the switcher when the BD key always
brings it up. It was also causing problems since we introduced switching back to
the previous applet by pressing BD while the switcher is up.
This makes us use strings instead of numbers. This allows us to export more of
the G13's key matrix to applets, so we can include things like MR, BD, and the
rest of the keyboard matrix.
Most of this work is done in prep for the real-time macro recording
functionality that I'm attempting to hack in.
Something I've wanted for a while has been the ability to draw a rectangle
anywhere on the screen without it being filled in. Hopefully this does the
trick.
This adds a ton of new functionality to the clock widget, and exercises the
bitwidgets widgets a bit more. This adds a new button widget, called a
LabelWidget. These are pretty unsurprising -- they're just a label inside of a
button slot in the buttonbar. They do give us the ability to toggle and add
"more" glyphs in the button for more flexibility in the buttonbar.
- Make Clock toggle between 12 and 24 hour clock modes.
- Add CPU load and RAM load histograms.
- Create a new button type, LabelButton.
- Create a new widget, the Graph, which shows a histogram of values over
time.
- Make Button not assign values by way of accessors in the constructor.
- Make Label actually dynamically change its bounds based upon properties.
This wraps most of the proxy calls with some exception handling code which
removes an applet from the list of applets. This is kinda remedial, but should
make developing applets a bit smoother, as we end up restarting them
periodically. IOW, this prevents the configurator from completely crashing out.
- Give switcher the ability to handle applet removals
- Wrap most proxy methods in try...except blocks
- Add a removeActiveApplet method to kill off the currently stuck applet in
the face of an error.