diff --git a/Cargo.lock b/Cargo.lock index 413afc2..3439fb2 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -536,7 +536,7 @@ dependencies = [ [[package]] name = "swkb" -version = "0.2.1" +version = "0.2.3" dependencies = [ "async-std", "failure", diff --git a/Cargo.toml b/Cargo.toml index 1703987..56e5a43 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "swkb" -version = "0.2.2" +version = "0.2.3" authors = ["Alexandr Bogomyakov "] edition = "2018" @@ -21,3 +21,7 @@ unstable = [] #[dependencies.swayipc] #features = ["async", "event_stream"] + +[packaging] +depends = ["sway"] +makedepends = ["cargo", "git"] diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 0000000..6da703d --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,33 @@ +# Maintainer: + +pkgname= +pkgver= +pkgrel=1 +pkgdesc= +url= +arch=($CARCH) +license= +depends=() +makedepends=() +source=("git+https://github.com/house-of-vanity/$pkgname") +sha512sums=('SKIP') + +pkgver() { + cd "$srcdir/$pkgname" + git describe --long --tags | awk -F '-' '{print $1}'| sed 's/^v//;s/\([^-]*-g\)/r\1/;s/-/./g' +} + +prepare() { + cd "$srcdir/$pkgname" + cargo fetch --target $CARCH-unknown-linux-gnu +} + +build() { + cd "$srcdir/$pkgname" + cargo build --release --frozen --all-targets --all-features +} + +package() { + cd "$srcdir/$pkgname" + install -Dt "$pkgdir/usr/bin" target/release/$pkgname +} diff --git a/assets/PKGBUILD.jinja b/assets/PKGBUILD.jinja new file mode 100644 index 0000000..abf7666 --- /dev/null +++ b/assets/PKGBUILD.jinja @@ -0,0 +1,33 @@ +# Maintainer: {{ config.authors }} + +pkgname={{ config.name }} +pkgver={{ config.version }} +pkgrel=1 +pkgdesc={{ config.desc }} +url={{ config.url }} +arch=($CARCH) +license={{ config.licence }} +depends=({{ config.depends }}) +makedepends=({{ config.makedepends }}) +source=("git+https://github.com/house-of-vanity/$pkgname") +sha512sums=('SKIP') + +pkgver() { + cd "$srcdir/$pkgname" + git describe --long --tags | awk -F '-' '{print $1}'| sed 's/^v//;s/\([^-]*-g\)/r\1/;s/-/./g' +} + +prepare() { + cd "$srcdir/$pkgname" + cargo fetch --target $CARCH-unknown-linux-gnu +} + +build() { + cd "$srcdir/$pkgname" + cargo build --release --frozen --all-targets --all-features +} + +package() { + cd "$srcdir/$pkgname" + install -Dt "$pkgdir/usr/bin" target/release/$pkgname +} diff --git a/src/main.rs b/src/main.rs index b391e1f..b0e9e07 100644 --- a/src/main.rs +++ b/src/main.rs @@ -52,6 +52,7 @@ async fn main() -> Fallible<()> { while let Some(event) = events.next().await { match event { Ok(Event::Input(event)) => { + println!("Input: {:?}", event); let layouts_list = event.input.xkb_layout_names; let layout_name = event.input.xkb_active_layout_name.unwrap_or("none".to_string()); if layout_name == "none" { @@ -63,7 +64,9 @@ async fn main() -> Fallible<()> { //println!("Layout saved [{:?}] for {:?}", layout_name, current_window); layouts.insert(current_window, index); } - Ok(Event::Window(event)) => match event.change { + Ok(Event::Window(event)) => { + println!("Window: {:?}", event); + match event.change { swayipc::reply::WindowChange::Focus => { let layouts = layouts.lock().unwrap(); let mut connection = Connection::new().await?; @@ -91,6 +94,7 @@ async fn main() -> Fallible<()> { } } _ => (), + } }, _ => (), } diff --git a/tmp_builder.py b/tmp_builder.py new file mode 100644 index 0000000..69fed60 --- /dev/null +++ b/tmp_builder.py @@ -0,0 +1,44 @@ +from jinja2 import Environment, PackageLoader, FileSystemLoader + +cargo = dict() + + +# async-std = { version = "1.6", features = ["attributes", "unstable"], optional = true } + + + +def parse_line(val): + result = dict() + attr, value = line.split("=", maxsplit=1) + result[value] = dict() + + return result + +def parse(filename='Cargo.toml'): + with open(filename) as cargo_file: + level = '' + for line in cargo_file.readlines(): + if line[0] == '#' or line[0] == '\n': + continue + + print("line is ", (line, len(line))) + + if line[0] == '[': + attr = line.replace('[', '').replace(']', '').strip() + cargo[attr] = dict() + level = attr + continue + + value = parse_line(line) + print(value) + cargo[level] += value + +print(cargo) + +config = {} + +with open("PKGBUILD", "w") as rcfile_obj: + file_loader = Environment(loader=FileSystemLoader('assets')) + template = file_loader.get_template('PKGBUILD.jinja') + output = template.render(config=config) + rcfile_obj.write(output+ "\n")