Skip to content

Future rebirth. #23

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
meh opened this issue Sep 5, 2020 · 2 comments
Open

Future rebirth. #23

meh opened this issue Sep 5, 2020 · 2 comments

Comments

@meh
Copy link
Owner

meh commented Sep 5, 2020

Since this thing bitrot I've been miring libraries to use for the next iteration.

Graphics

Pathfinder + luminance

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 and async/await from the start because reasons.

@meh meh added the enhancement label Sep 5, 2020
@avdb13
Copy link

avdb13 commented Dec 12, 2022

Any progress on this? Tried installing this today but got the following error:

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
Copy link

@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.

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 --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"

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants