Future rebirth.

#23 · open · 2 comments

View on GitHub ↗

meh

Since this thing bitrot I've been miring libraries to use for the next iteration. Graphics ------- [Pathfinder](https://github.com/servo/pathfinder) + [luminance](https://github.com/phaazon/luminance-rs) Makes it simple to add ReGIS support (and then add an extension to draw SVGs using the same protocol). Makes it simple to add Sixel support (and then add an extension for RGBA colors). Makes it simple to add fancy shaders or whatever. I/O ---- [smol](https://github.com/stjepang/smol) and async/await from the start because reasons.

Comments

ghost

Any progress on this? Tried installing this today but got the following error: ```rust error[E0432]: unresolved imports `xkb_context`, `xkb_keymap`, `xkb_state`, `xkb_keymap_compile_flags` --> /home/mikoto/.cargo/registry/src/github.com-1ecc6299db9ec823/xkbcommon-sys-0.7.5/src/x11.rs:16:8 | 16 | use ::{xkb_context, xkb_keymap, xkb_state, xkb_keymap_compile_flags}; | ^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ no external crate `xkb_keymap_compile_flags` | | | | | | | no external crate `xkb_state` | | no external crate `xkb_keymap` | no external crate `xkb_context` ```

ctrlcctrlv

@avdb13 I wasted embarrassing amount of time on this out of sheer curiosity as well. You're right, it's extremely difficult to compile. I've almost cracked it, but can't figure out why the `select!` macro is not in `nightly-2019-08-01`. ```rust error: cannot find macro `select!` in this scope --> src/platform/x11/window.rs:171:4 | 171 | select! { | ^^^^^^ error: cannot determine resolution for the macro `select` --> src/main.rs:306:5 | 306 | select! { | ^^^^^^ | = note: import resolution is stuck, try simplifying macro imports ``` If anyone else wants to try I recommend forcing specific versions in Cargo.toml and using rustup to install `nightly-2019-08-01-x86_64-unknown-linux-gnu`. ```diff diff --git a/Cargo.toml b/Cargo.toml index 3f51c71..1bf1732 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -18,33 +18,34 @@ panic = "abort" pkg-config = "0.3" [dependencies] -log = "0.4" -env_logger = "0.5" - -libc = "0.2" -bitflags = "0.9" -bit-vec = "0.5" -fnv = "1.0" -lru-cache = "0.1" -shlex = "0.1" -schedule_recv = "0.1" -itertools = "0.7" -picto = { version = "0.4", default-features = false } -control-code = "0.7" - -clap = "2" -app_dirs = "1.1" -toml = "0.4" -regex = "1" - -unicode-segmentation = "1.0" -unicode-width = "0.1" -tendril = "0.4" +log = "=0.4.2" +env_logger = "=0.5.0" + +libc = "=0.2.35" +bitflags = "=0.9.0" +bit-vec = "=0.5.0" +fnv = "=1.0.0" +lru-cache = "=0.1.0" +shlex = "=0.1.0" +schedule_recv = "=0.1.0" +itertools = "=0.7.0" +picto = { version = "=0.4.0", default-features = false } +control-code = "=0.7.0" + +clap = "=2.21.1" +app_dirs = "=1.1.0" +toml = "=0.4.6" +regex = "=0.2.0" +crossbeam-channel = "0.4" + +unicode-segmentation = "=0.1.2" +unicode-width = "=0.1.5" +tendril = "=0.4.0" [target.'cfg(all(unix, not(target_os = "macos")))'.dependencies] xcb = { version = "0.8", features = ["xkb", "thread"] } xcb-util = { version = "0.2", features = ["icccm", "ewmh", "thread"] } -xkb = { version = "0.2", features = ["x11"] } +xkb = { version = "=0.2.0", features = ["x11"] } [target.'cfg(target_os = "macos")'.dependencies] objc = "0.2" ```