mirror of
https://github.com/house-of-vanity/swkb.git
synced 2025-07-07 11:14:07 +00:00
Fixing event handling.
This commit is contained in:
2
.github/workflows/PKGBUILD
vendored
2
.github/workflows/PKGBUILD
vendored
@ -1,7 +1,7 @@
|
|||||||
# Maintainer: Alexandr Bogomyakov (ultradesu) <ab@hexor.ru>
|
# Maintainer: Alexandr Bogomyakov (ultradesu) <ab@hexor.ru>
|
||||||
|
|
||||||
pkgname=swkb
|
pkgname=swkb
|
||||||
pkgver=0.2.0
|
pkgver=0.2.1
|
||||||
pkgrel=1
|
pkgrel=1
|
||||||
pkgdesc="swkb"
|
pkgdesc="swkb"
|
||||||
url="https://github.com/house-of-vanity/swkb.git"
|
url="https://github.com/house-of-vanity/swkb.git"
|
||||||
|
24
Cargo.lock
generated
24
Cargo.lock
generated
@ -521,18 +521,6 @@ dependencies = [
|
|||||||
"winapi",
|
"winapi",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "sway-layout"
|
|
||||||
version = "0.2.0"
|
|
||||||
dependencies = [
|
|
||||||
"async-std",
|
|
||||||
"failure",
|
|
||||||
"futures-core",
|
|
||||||
"serde",
|
|
||||||
"serde_json",
|
|
||||||
"swayipc",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "swayipc"
|
name = "swayipc"
|
||||||
version = "2.7.0"
|
version = "2.7.0"
|
||||||
@ -546,6 +534,18 @@ dependencies = [
|
|||||||
"serde_json",
|
"serde_json",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "swkb"
|
||||||
|
version = "0.2.0"
|
||||||
|
dependencies = [
|
||||||
|
"async-std",
|
||||||
|
"failure",
|
||||||
|
"futures-core",
|
||||||
|
"serde",
|
||||||
|
"serde_json",
|
||||||
|
"swayipc",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "syn"
|
name = "syn"
|
||||||
version = "1.0.35"
|
version = "1.0.35"
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "swkb"
|
name = "swkb"
|
||||||
version = "0.2.0"
|
version = "0.2.1"
|
||||||
authors = ["Alexandr Bogomyakov <abogomyakov@iponweb.net>"]
|
authors = ["Alexandr Bogomyakov <abogomyakov@iponweb.net>"]
|
||||||
edition = "2018"
|
edition = "2018"
|
||||||
|
|
||||||
|
@ -46,8 +46,8 @@ async fn main() -> Fallible<()> {
|
|||||||
let subs = [EventType::Input, EventType::Window];
|
let subs = [EventType::Input, EventType::Window];
|
||||||
let mut events = connection.subscribe(&subs).await?;
|
let mut events = connection.subscribe(&subs).await?;
|
||||||
while let Some(event) = events.next().await {
|
while let Some(event) = events.next().await {
|
||||||
match event.unwrap() {
|
match event {
|
||||||
Event::Input(event) => {
|
Ok(Event::Input(event)) => {
|
||||||
let layouts_list = event.input.xkb_layout_names;
|
let layouts_list = event.input.xkb_layout_names;
|
||||||
let layout_name = event.input.xkb_active_layout_name.unwrap();
|
let layout_name = event.input.xkb_active_layout_name.unwrap();
|
||||||
let index = layouts_list.iter().position(|r| *r == layout_name).unwrap() as i64;
|
let index = layouts_list.iter().position(|r| *r == layout_name).unwrap() as i64;
|
||||||
@ -56,7 +56,7 @@ async fn main() -> Fallible<()> {
|
|||||||
//println!("Layout saved [{:?}] for {:?}", layout_name, current_window);
|
//println!("Layout saved [{:?}] for {:?}", layout_name, current_window);
|
||||||
layouts.insert(current_window, index);
|
layouts.insert(current_window, index);
|
||||||
}
|
}
|
||||||
Event::Window(event) => match event.change {
|
Ok(Event::Window(event)) => match event.change {
|
||||||
swayipc::reply::WindowChange::Focus => {
|
swayipc::reply::WindowChange::Focus => {
|
||||||
let layouts = layouts.lock().unwrap();
|
let layouts = layouts.lock().unwrap();
|
||||||
let mut connection = Connection::new().await?;
|
let mut connection = Connection::new().await?;
|
||||||
|
Reference in New Issue
Block a user