tail
x11rb
Our great sponsors
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.
tail
-
Hey Rustaceans! Got an easy question? Ask here (9/2021)!
I'm working on a side-quest, and I just started using unit tests (hurray!): https://github.com/LeCyberDucky/tail/blob/main/src/main.rs
-
What's everyone working on this week (6/2021)?
Since the program takes over the terminal when running, my trusty old debugging method of adding print statements everywhere doesn't work all too well here. Therefore, I took on the side quest of creating my own version of the UNIX tool "tail" this weekend. I'll write my debugging statements to a file instead and then use this tool to monitor that file. There are ways to achieve this without writing my own tool, but I wasn't completely satisfied with the stuff I tried (I'm on Windows), so I thought it would be fun and hopefully be too big a detour to implement it myself.
-
Hey Rustaceans! Got an easy question? Ask here (5/2021)!
I've been using those today in this small project: https://github.com/LeCyberDucky/tail/blob/main/src/main.rs
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?
aoc-runner-derive
unsafe-code-guidelines - Forum for discussion about what unsafe code can and can't do
shmem-ipc - Untrusted IPC with maximum performance and minimum latency. On Rust, on Linux.
too-many-lists - Learn Rust by writing Entirely Too Many linked lists
CleanIt - Open-source Autonomy Software in Rust-lang using gRPC for the Roomba series robot vacuum cleaners. Under development.
alexandrie - An alternative crate registry, implemented in Rust.
rust-ffi-omnibus - A collection of examples of using code written in Rust from other languages
minimax-rs - A generic implementation of Negamax in Rust.
butido - Build Linux packages using Docker Containers
i3status-rust - Very resourcefriendly and feature-rich replacement for i3status, written in pure Rust
defcon - External monitoring tool
bevy - A refreshingly simple data-driven game engine built in Rust