Releases: way-cooler/rust-wlc
Hotfix - fix bindings in input::keyboard
This fixes bindings in input::keyboard
and adds a new binding.
Breaking changes
input::keyboard::{get_keysym_for_key, get_utf32_for_key}
had previously been incorrectly bound to take an&KeyMod
. They now take a fullKeyboardModifiers
. If you are using this function the way we are (calling it with empty modifiers to get the letter being pressed), it is suggested to construct the argument usingKeyboardModifiers { leds: KeyboardLeds::empty(), mods: KeyMod::empty() }
.
Non-breaking changes
- We also added
keyboard::get_current_keys
. It is suggested to put the output of that throughget_keysym_for_key
as well as the reported keysyms are inaccurate if multiple keys are pressed.
Future changes
Wlc has had some changes as well. They can now build for *BSD, and we've already had an issue raised with ARM. We don't have a *BSD machine to test on but we will make sure cargo can compile us on both platforms.
rustwlc v0.5 for wlc v0.0.5
We were a few wlc versions behind this time because we were focused on way-cooler. However, wlc's updates broke compatibility which caused bugs with way-cooler when we were releasing it.
We would like to point out that it's likely wlc will continue to break backwards compatibility. When this happens we will bump our revision number. We will continue to drift away from wlc's version (although this time we had a lucky coincidence).
The xkb
mod is deprecated, there is already an xkbcommon
crate for Rust. Ours will be removed in the next version. We will break backwards compatibility as well.
rustwlc 0.4.0 for wlc 0.0.2
This update brings dummy methods for handles to rustwlc. In addition, we have updated and improved a lot of documentation.
Breaking changes
All structs defined in rustwlc are now exported through the crate root. This will probably break your code if use rustwlc::handle::*
or use rustwlc::types::*
becomes redundant. This is something we should have done a long time ago. Those crates will remain pub
to allow these importing methods to remain semi-backwards-compatible.
Non-breaking changes
- Add
#[derive(PartialOrd, Ord)]
toWlcView
andWlcOutput
. These are mostly meant for dummy handles, but can be a heuristic for figuring out if one view handle is older than another. - Add
WlcView::dummy
andWlcOutput::dummy
to create handles for testing/debugging purposes. - Many wlc methods can be used with these, or with handles when wlc is not running. This is specified in the documentation.
rust-wlc for wlc-v0.0.1
wlc has finally switched to a versioning system, they're now at v0.0.1. We won't really be matching their version numbers but our releases will specify which wlc to use.
wlc's major changes are in the callback system. The WlcInterface is now deprecated, callbacks are registered separately, initializing wlc is now done with an init2()
function.
Our major changes are a callback
module for these functions. We've implemented wlc's new init with rustwlc::init2()
. See crate-level documentation in the callback
module.
Additionally, we have been implementing the pointer_scroll
callback wrong. The final argument, heights
, has changed from [u64; 2]
to [f64; 2]
to match wlc's.
We are terribly sorry for getting this wrong and any trouble the invalid types have caused. See the docs in the callback module for more information about the arguments.
In addition, some minor changes (documented in #31):
- Add
#[derive(Hash)]
on a few structs that you might want to use as hash keys - Add
get_code()
to Keysyms (we're planning on writing alibxkbcommon
library soon though) - Callbacks are registered with
rustwlc::callbacks::callback_name(callback_fn)
- Removed
rustwlc::exec
- this is Rust, you shouldn't have been using it anyway WlcInterface
is deprecated, the docs are littered with "this is deprecated"
Release 0.2.1 - Bugfixes
This release contains minor improvements and deprecation of rustlwc::input::keyboard::get_current_keys
.
- Fix typo in
SCROLL_LOCK
enum variant - Add
#repr(C)
and documentation tobitflags!
values - Deprecate
input::keyboard::get_current_keys
: This method will panic.
v0.2.0 Release - wlc stable
This is our first "supported" release, we've implemented all the needed wlc functionality for compositors and tested it all ourselves. We'd like to tag this as v1.0
, but wlc considers itself very much in development.