v0.3.0

zed-industries/zedv0.3.0May 26, 2022by elkowar

AI Summary

A major update featuring a complete rework of state management, the introduction of an inspector tool, and the addition of several new widgets including circular progress and graph.

Key Highlights

  • Complete rework of state management
  • Introduction of eww inspector command
  • New widgets: circular-progress, graph, scroll, transform, overlay
  • Add >= and <= operators to simplexpr

Breaking Changes

  • Change the onclick command API to support multiple placeholders (e.g., {0} for day, {1} for month)

New Features

  • eww inspector command
  • --no-daemonize flag
  • children-widget
  • :hover css selectors for eventbox
  • eww get subcommand
  • circular progress widget
  • :xalign and :yalign to labels
  • graph widget
  • >= and <= operators to simplexpr
  • desktop window type
  • scroll widget
  • notification window type
  • drag and drop functionality to eventbox
  • search, captures, stringlength, arraylength, objectlength functions
  • matches function
  • transform widget
  • :onaccept to input field, :onclick to 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)