v0.3.0
elkowar/ewwv0.3.0May 26, 2022by elkowar
AI Summary
Major foundational release that completely reworks state management and adds extensive widget functionality including circular progress, graph, scroll, and transform widgets, along with significant improvements to expressions and magic variables.
Key Highlights
- BREAKING: onclick command API now uses separate placeholders ({0}, {1}, {2}) instead of combined values
- Complete rework of state management system
- Add `eww inspector` command
- Add `eww get` subcommand
- Add multiple new widgets (circular progress, graph, scroll, transform, overlay, children)
- Add desktop and notification window types
Breaking Changes
- Change onclick command API to support multiple placeholders - day accessed with {0}, month with {1}, year with {2}, x/y with {0} and {1}
New Features
- eww inspector command
- --no-daemonize flag
- marks support on scale widget
- children widget
- :hover css selectors for eventbox
- eww get subcommand
- circular progress widget
- :xalign and :yalign on labels
- graph widget
- comparison operators (>=, <=)
- desktop window type
- scroll widget
- notification window type
- drag and drop on eventbox
- search, captures, stringlength, arraylength, objectlength functions
- matches function
- transform widget
- :onaccept on input field
- :onclick on eventbox
- EWW_CMD, EWW_CONFIG_DIR, EWW_EXECUTABLE magic variables
- overlay widget
Full Release Notes
(corresponding docs commit: https://github.com/elkowar/eww/commit/86476a79feee9c46af30f521f17152b1d2c0ad97)
### BREAKING CHANGES
- Change the onclick command API to support multiple placeholders.
This changes. the behaviour of the calendar widget's onclick as well as the onhover and onhoverlost
events. Instead of providing the entire date (or, respecively, the x and y mouse coordinates) in
a single value (`day.month.year`, `x y`), the values are now provided as separate placeholders.
The day can now be accessed with `{0}`, the month with `{1}`, and the year with `{2}`, and
similarly x and y are accessed with `{0}` and `{1}`.
### Features
- Add `eww inspector` command
- Add `--no-daemonize` flag
- Add support for displaying marks on `scale`-widget (By: druskus20)
- Add `children`-widget that allows custom widgets to make use of children
- Add support for `:hover` css selectors for eventbox (By: druskus20)
- Add `eww get` subcommand (By: druskus20)
- Add circular progress widget (By: druskus20)
- Add `:xalign` and `:yalign` to labels (By: alecsferra)
- Add `graph` widget (By: druskus20)
- Add `>=` and `<=` operators to simplexpr (By: viandoxdev)
- Add `desktop` window type (By: Alvaro Lopez)
- Add `scroll` widget (By: viandoxdev)
- Add `notification` window type
- Add drag and drop functionality to eventbox
- Add `search`, `captures`, `stringlength`, `arraylength` and `objectlength` functions for expressions (By: MartinJM, ElKowar)
- Add `matches` function
- Add `transform` widget (By: druskus20)
- Add `:onaccept` to input field, add `:onclick` to eventbox
- Add `EWW_CMD`, `EWW_CONFIG_DIR`, `EWW_EXECUTABLE` magic variables
- Add `overlay` widget (By: viandoxdev)
### Notable Internal changes
- Rework state management completely, now making local state and dynamic widget hierarchy changes possible.
### Notable fixes and other changes
- Fix `onscroll` gtk-bug where the first event is emitted incorrectly (By: druskus20)
- Allow windows to get moved when windowtype is `normal`
- Added more examples
- List system-level dependencies in documentation
- Document structure of magic variables (By: legendofmiracles)