ntp-parser
x11rb
Our great sponsors
ntp-parser | x11rb | |
---|---|---|
1 | 14 | |
18 | 339 | |
- | - | |
0.0 | 8.8 | |
over 2 years ago | 12 days ago | |
Rust | Rust | |
Apache License 2.0 | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
ntp-parser
-
Hey Rustaceans! Got an easy question? Ask here (9/2021)!
Well nom does list out examples on the readme page, though many are probably for older versions of nom. I clicked through a couple and it looks like ntp is up to date with nom 6.0. The last full parser I wrote using nom was in v4.0 days, which was more macro-oriented than current nom. Since what you pass nom is slices of data, you will basically be reading from a file into a buffer, and calling your parsing functions on that. If it returns an error indicating it is incomplete, just read in another chunk of data into your buffer and try again.
x11rb
-
My (challenging) experience building a window switcher for Ubuntu
xdotool worked ... but I didn't want to depend on external command-line tools, so I decided to look for X11 bindings for Rust. The best library I could find was x11rb. It had very little documentation and almost no one used it (it was difficult to find people who could help me with it). Fortunately, it had a detailed tutorial. Still, it was a struggle to make things works sometimes.
-
x11rb: Listening to key presses from anywhere on the screen
I'm using x11rb, X11 Rust Bindings. I modified some code from this tutorial so that I'm listening to key presses from parent_win (screen.root) rather than win:
-
Handling two types of errors in the same function
In the end, I decided to use x11rb: https://github.com/psychon/x11rb. This way I don't have to run external commands.
-
Moving a window with Rust X11 bindings
I'm trying to move a window (the GNOME terminal) with x11rb. I followed this tutorial. But the move_window function doesn't move the window.
-
x11rs can't access window created with gtk-rs
I'm using x11rb to interact with a window created with gtk-rs. window_id is the ID of the window created with gtk-rs. window_id_2 is the ID of the window created with x11rb (for testing purposes).
-
Focusing/switching X11 windows with a Rust crate
I also checked x11rb, but I think it's too low level (and too complicated).
-
X11 programming: x11rb or rust-xcb ? What's the difference ?
There is a comparison page in x11rb but it seems to be outdated w.r.t rust-xcb and the unsafe claims, so would appreciate other perspectives.
-
We never know who is delusional..
Do you have a source for that or any specifics on how it "can't handle" the usecases? There's already work in Rust around fully supporting X11 (for example https://github.com/bread-graphics/breadx or https://github.com/psychon/x11rb)
-
Pgwm 0.3 a pure rust `no_std` no libc window manager.
I was thinking about specializing x11rb which is a great library for interfacing with X11, to my specific single threaded use case.
-
I wrote an x11 tiling window manager inspired by DWM that I've been using for a few months now. If you're using x11 and want to try out a new tiling window manager I'd love your feedback!
So if firefox is an application you can find you can query the WM_CLASS property, like this. Other applications might not set that and you'd have to use some other property or information to deduce that this given window(which is just a u32) is actually applicationA. A tip is to start the application, use xprop and see what properties it sets. call_wrapper.rs contains a lot of code about querying different properties. The x11rb example simple_window.rs has a few examples of the other side of that showing how an application can set its on properties.
What are some alternatives?
serde - Serialization framework for Rust
unsafe-code-guidelines - Forum for discussion about what unsafe code can and can't do
tokio - A runtime for writing reliable asynchronous applications with Rust. Provides I/O, networking, scheduling, timers, ...
too-many-lists - Learn Rust by writing Entirely Too Many linked lists
tail - My implementation of the tail tool to (continuously) read the tail end of a file. See https://en.wikipedia.org/wiki/Tail_(Unix)
alexandrie - An alternative crate registry, implemented in Rust.
minimax-rs - A generic implementation of Negamax in Rust.
rust-ffi-omnibus - A collection of examples of using code written in Rust from other languages
i3status-rust - Very resourcefriendly and feature-rich replacement for i3status, written in pure Rust
bevy - A refreshingly simple data-driven game engine built in Rust