kchibisov on v0.25.1
kchibisov on master
Release version 0.25.1 (compare)
kchibisov on master
Test x11 and wayland features o… (compare)
UndeadLeech on FreenodeIf something applies only to certain compositors, that should be made clear from the start. If it should work on all compositors and it turns out during the testing process that it doesn't, that's exactly what testing is there for.
kchibisov on FreenodeI mean the thing with GNOME that it can arbitrary downscale you.
kchibisov on FreenodeLike it just reverts scale factor after certain actions or something like that.
kchibisov on FreenodeSo I can't just state in every PR, 'please don't test anything on GNOME with HiDPI or verify logs in WAYLAND_DEBUG=1'.
Kai Mast(I think since 0.23 most issues have been resolved for me though)
kchibisov on FreenodeI mean, I test sway, gnome, weston, and sometimes KDE.
kchibisov on FreenodeBut if you really want to test things you can add yourself as a tester on Wayland.
kchibisov on FreenodeInto this table ^
fuzbuz on FreenodeI have a C++ library that creates a window and it would be neat if I could just dump that window into winit somehow rather than trying to shoehorn things in
UndeadLeech on FreenodeWhy are you creating a window with a different library?
fuzbuz on FreenodeIf I can somehow convert the raw handle into a winit window, then it fits into the ecosystem nicely. If not, I suppose I can work around it.
UndeadLeech on FreenodeWhich library gives you that window handle?
fuzbuz on FreenodeI'm 95% sure it's coming from Qt
UndeadLeech on FreenodeShouldn't you use Qt then?
fuzbuz on FreenodeNope. For multiple reasons: I really dislike Qt, I'd rather work in Rust, and the rendering library is already written in Rust and I don't feel any need to rewrite it just to satisfy a single use of the library.
UndeadLeech on FreenodeIf you really dislike Qt, why are you letting it create windows for you?
fuzbuz on FreenodeI'm not. Someone else is and then giving me the window handle.
UndeadLeech on FreenodeAre you being held hostage?
fuzbuz on FreenodeIn the literal sense, no. I do like keeping my boss happy, though.
UndeadLeech on FreenodeWhat exactly do you want winit to do for you?
fuzbuz on FreenodeAt some point the rendering code has to turn it back into a raw handle for OS reasons, I can just add a function that passes an already-raw-handle down to that level.
fuzbuz on FreenodeBut it would be nice if I didn't have to do that.
UndeadLeech on FreenodeIs that a crate, or did you write the rendering library yourself? Fundamentally taking just a winit window for rendering doesn't make a ton of sense.
UndeadLeech on FreenodeWinit's purpose is to manage your windows and window events. If you don't have winit manage your windows, there's little point in using it.
fuzbuz on FreenodeI have a rendering crate that is used in several Rust-only projects. The rendering crate takes a winit Window to provide the rendering context as the Rust-only projects use winit for managing the windows and window events. A new project, mostly in C++, wants to also use the rendering code and can provide me with a raw window handle.
fuzbuz on FreenodeAs I'm making the C FFI interface for the rendering crate, I need to either turn that raw handle into a winit Window or I need to make changes to the rendering to allow using raw handles. The former is cleaner but the latter isn't a problem.
fuzbuz on FreenodeI'm just curious if there is a way to do the former that I am failing to discover by reading the docs
UndeadLeech on FreenodeWhich should be documented in winit's documentation.
UndeadLeech on Freenodehttps://docs.rs/winit/0.23.0/winit/event_loop/struct.EventLoop.html#method.new
UndeadLeech on FreenodeI don't see how it could be any more clear tbh.
UndeadLeech on FreenodeYou're aware that EventLoop is !Send + !Sync, right?
UndeadLeech on FreenodeBut I don't see why you would ever do that.
UndeadLeech on FreenodeSince that just increases latency.
Ralith > <@freenode_fuzbuz:matrix.org> As I'm making the C FFI interface for the rendering crate, I need to either turn that raw handle into a winit Window or I need to make changes to the rendering to allow using raw handles. The former is cleaner but the latter isn't a problem.
the latter is definitely the idiomatic thing to do, fwiw; this is the problem raw-window-handle was intended to solve in the first place