gtk-rs-core
gtk-rs
gtk-rs-core | gtk-rs | |
---|---|---|
3 | 45 | |
262 | 510 | |
3.8% | - | |
9.8 | 8.6 | |
4 days ago | 2 months ago | |
Rust | Rust | |
MIT License | MIT License |
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.
gtk-rs-core
-
Nix Software Center: gtk4/libadwaita app store for NixOS
nix-software-center> [1/6] Generating src/resources_gresource with a custom command nix-software-center> xml-stripblanks preprocessing requested, but XMLLINT is not set, and xmllint is not in PATH nix-software-center> [4/6] Generating data/dev.vlinkz.NixSoftwareCenter.metainfo.xml with a custom command nix-software-center> FAILED: src/nix-software-center nix-software-center> /nix/store/p643r4aczmzb0dhyrx3dj592f0s5v7xj-coreutils-9.0/bin/env CARGO_HOME=/build/r4npznxg986vxdl3gh7jhmqvv8jbvf02-source/build/cargo-home /nix/store/2gwhsd2jcz90zni0pwlhhfbmfbflixws-cargo-1.60.0/bin/cargo build --manifest-path /build/r4npznxg986vxdl3gh7jhmqvv8jbvf02-source/Cargo.toml --target-dir /build/r4npznxg986vxdl3gh7jhmqvv8jbvf02-source/build/src --release && cp src/release/nix-software-center src/nix-software-center nix-software-center> ninja: build stopped: subcommand failed. error: builder for '/nix/store/m9kf43zsr5hkq2igfdnag0phq154igks-nix-software-center-0.0.1.drv' failed with exit code 1; last 10 log lines: > building > build flags: -j8 -l8 > [0/6] Generating src/cargo-build with a custom command > error: package cairo-sys-rs v0.16.0 (https://github.com/gtk-rs/gtk-rs-core#9fe7e5ce) cannot be built because it requires rustc 1.63 or newer, while the currently active rustc version is 1.60.0 > [1/6] Generating src/resources_gresource with a custom command > xml-stripblanks preprocessing requested, but XMLLINT is not set, and xmllint is not in PATH > [4/6] Generating data/dev.vlinkz.NixSoftwareCenter.metainfo.xml with a custom command > FAILED: src/nix-software-center > /nix/store/p643r4aczmzb0dhyrx3dj592f0s5v7xj-coreutils-9.0/bin/env CARGO_HOME=/build/r4npznxg986vxdl3gh7jhmqvv8jbvf02-source/build/cargo-home /nix/store/2gwhsd2jcz90zni0pwlhhfbmfbflixws-cargo-1.60.0/bin/cargo build --manifest-path /build/r4npznxg986vxdl3gh7jhmqvv8jbvf02-source/Cargo.toml --target-dir /build/r4npznxg986vxdl3gh7jhmqvv8jbvf02-source/build/src --release && cp src/release/nix-software-center src/nix-software-center > ninja: build stopped: subcommand failed. For full logs, run 'nix log /nix/store/m9kf43zsr5hkq2igfdnag0phq154igks-nix-software-center-0.0.1.drv'. error: 1 dependencies of derivation '/nix/store/clykb6wwpv08l2vxnvnx8br7fzpx2y63-system-path.drv' failed to build error: 1 dependencies of derivation '/nix/store/321q6c143bf5w7m8njzvqkhjillbssk5-nixos-system-nflx-erahhal-t490s-22.05.20220902.67e4507.drv' failed to build
-
Gtk4 Tutorial
"Automatically figuring out which parent objects the class you're subclassing derives from"
AFAIK this is a language limitation, there is no way in a Rust macro to take a type and get all the traits that are implemented for that type.
"Helpers for properties and signals"
There is an open issue for this: https://github.com/gtk-rs/gtk-rs-core/issues/27
"A flat list of methods, instead of the public/imp split"
You can already do this in your code and use "pub fn" and "fn" like normal.
"I feel like I had a difficult time figuring out how to share state between widgets. You end up with lots of OnceCell, Rc, and RefCell, and it quickly becomes confusing,"
I think you are supposed to use bind_property and the gtk::Expression objects to do data binding, though that part is not so convenient to use from C or Rust either.
-
How to (properly) use subclassing in gtk4-rs?
Ideally this should be automated with a nice derive macro, see https://github.com/gtk-rs/gtk-rs-core/issues/27 . How that could look exactly is still up to discussion and not so easy while keeping it flexible. That derive macro would then likely also work with the id: usize parameter to the property setter/getter instead of the string name.
gtk-rs
-
Counter App with GTK4 and Rust
gtk-rs
-
Rust GUI Development?
GTK: I have little - no experience with GTK, and from what i have read it is cross-platform similar to wxWidgets, however is an emulated UI system similar to Qt. As i have no experience with it i am not sure how well supported this library is as far as it's Rust - bindings are concerned gtk-rs
-
gtk-rs: can't get window ID with command inside connect_show or connect_realize
In a gtk-rs application, I'm running a xdotool command to get the id of the application's window. I'm running the command in a connect_show closure (after the window has been shown):
-
My (challenging) experience building a window switcher for Ubuntu
To build the UI, I used gtk-rs. My experience with this library was quite pleasant; it was easy to use and there were a lot of examples. However, it isn't as widely used as, say, React, so it was difficult to find answer on Stack Overflow (I come from a JavaScript/Typescript background).
-
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).
-
What GUI libs are out there and good to use?
I haven't used it yet, but gtk-rs looks pretty good too. I've used GTK in general, just not the Rust bindings so far. The tutorials seem nice and GTK is a good UI toolkit overall.
-
gtk-rs: triggering code after the window has been shown
I'm using gtk-rs. I want to trigger some code after the window has been shown (has displayed on the screen):
-
Adding ListBoxRow to ListBox from inside a closure
I'm using gtk-rs to add ListBoxRow items to a ListBox. The items are successfully added if I do it outside of input.connect_changed, a closure. But nothing is added if I do it from inside input.connect_changed:
-
Who "owns" Rust ?
For GTK, there's https://gtk-rs.org/
-
gtk-ks: Join the Effort to create GTK Bindings for Kotlin!
Out there there are already some open source projects trying to do this, but most of them are abandoned or in a very alpha stage. The most promising project so far seems to me git-kt. This project is trying to do something similar to what gtk-rs does for Rust, which is using GObject Introspection (GIR) files to generate Kotlin native bindings automatically.
What are some alternatives?
Gtk4-tutorial - GTK 4 tutorial for beginners
iced - A cross-platform GUI library for Rust, inspired by Elm
Relm4 - Build truly native applications with ease!
tauri - Build smaller, faster, and more secure desktop applications with a web frontend.
poppler-rs - Render PDFs in Rust using libpoppler
egui - egui: an easy-to-use immediate mode GUI in Rust that runs on both web and native
async-tungstenite - Async binding for Tungstenite, the Lightweight stream-based WebSocket implementation
fltk-rs - Rust bindings for the FLTK GUI library.
marko-editor - Marko Editor is a simple WYSIWYG editor for note taking.
gtk4-rs - Rust bindings of GTK 4
nix-editor - A simple rust program to edit NixOS configuration files with just a command
Slint - Slint is a toolkit to efficiently develop fluid graphical user interfaces for any display: embedded devices and desktop applications. We support multiple programming languages, such as Rust, C++ or JavaScript. [Moved to: https://github.com/slint-ui/slint]