ChanServ changed the topic of #wayland to: https://wayland.freedesktop.org | Discussion about the Wayland protocol and its implementations, plus libinput
manuel_ has joined #wayland
manuel has quit [Ping timeout: 480 seconds]
columbarius has joined #wayland
co1umbarius has quit [Ping timeout: 480 seconds]
jmdaemon has quit [Ping timeout: 480 seconds]
fmuellner has quit [Ping timeout: 480 seconds]
jmdaemon has joined #wayland
eroc1990 has quit [Quit: Ping timeout (120 seconds)]
eroc1990 has joined #wayland
Dami_Lu has quit [Remote host closed the connection]
Brainium has quit [Quit: Konversation terminated!]
eroc1990 has quit [Ping timeout: 480 seconds]
eroc1990 has joined #wayland
bim9262 has quit [Ping timeout: 480 seconds]
Dami_Lu has joined #wayland
eroc1990 has quit [Remote host closed the connection]
eroc1990 has joined #wayland
eroc1990 has quit []
nerdopolis has quit [Ping timeout: 480 seconds]
co1umbarius has joined #wayland
columbarius has quit [Ping timeout: 480 seconds]
Satan2 has quit [Ping timeout: 480 seconds]
eroc1990 has joined #wayland
Satan2 has joined #wayland
tzimmermann has joined #wayland
rv1sr has joined #wayland
mvlad has joined #wayland
sima has joined #wayland
sima has quit [Read error: No route to host]
sima has joined #wayland
Company has quit [Quit: Leaving]
rasterman has joined #wayland
<pq> kchibisov, I would always recommend client code to ack a configure from the draw path, and not from the event received code.
<pq> kchibisov, I consider sending the ack from event configure handler a poor code design.
<pq> *from the configure event handler
<pq> kchibisov, btw. about Rust glutin and winit; can you say anything about winit maybe exposing the equivalent of a wl_surface.frame callback event?
<pq> on Wayland it would be exactly the frame callback, and on other platforms if winit cares it might be anything roughly corresponding or even a timer if there is really nothing else.
<vyivel> pq: the confusion might stem from xdg-shell.xml saying "A client is not required to commit immediately after sending an ack_configure request"
<pq> emersion, swick[m], TIL that wxEDID is a GUI EDID editor, but apparently it has no public code repository, just release archives. Available as flatpak it seems.
Fxzxmic has joined #wayland
fmuellner has joined #wayland
<wlb> weston Issue #770 closed \o/ (Timeline debug scope crash at start-up / begin fence sync https://gitlab.freedesktop.org/wayland/weston/-/issues/770)
nerdopolis has joined #wayland
<pq> swick[m], looks like edid-decode got support for SBTM block.
<pq> kchibisov, oh, it's coming already, nice!
fmuellner_ has joined #wayland
<swick[m]> pq: the SBTM information isn't useful to me without more information
<swick[m]> wxEDID looks nice. could be handy to craft test cases.
fmuellner has quit [Ping timeout: 480 seconds]
<swick[m]> and hdmi 2.1a is still not... widely available.
jmdaemon has quit [Ping timeout: 480 seconds]
<zubzub> How/where is the egl implementation for wayland client done? I found: https://gitlab.freedesktop.org/wayland/wayland/-/tree/main/egl but I don't understand how it's coupled with the egl api's
alarumbe has quit [Ping timeout: 480 seconds]
alarumbe has joined #wayland
<zubzub> hmm this seems to give some more pointers: https://jan.newmarch.name/Wayland/EGL/
<daniels> zubzub: mesa/src/egl/drivers/dri2/platform_wayland.c mostly
<daniels> why?
<zubzub> writing an emscripten wasm shim for wayland+egl
<zubzub> was wondering how it currently works for native implementatins
<zubzub> why is there an intermediate wayland-client-egl (eg. wl_egl_window_create call)
bodiccea has quit [Ping timeout: 480 seconds]
andyrtr has quit [Quit: ZNC 1.8.2 - https://znc.in]
Company has joined #wayland
<daniels> ooof
Guest4844 has quit [Ping timeout: 480 seconds]
cool110 has joined #wayland
cool110 is now known as Guest5048
<zubzub> I have the whole thing already working, except for the egl abstraction part
fmuellner_ has quit []
fmuellner has joined #wayland
<daniels> the intermediate shim is required to make sizes work
<daniels> in X11, you create a Window with an innate size and then just point EGL at that - it can query to see what the size is and adjust
Guest5048 has quit [Remote host closed the connection]
<daniels> since surfaces don't have an innate size in Wayland, the wayland-egl lib is just there to create a tiny wrapper which holds current & user-requested size
<zubzub> right makes sense
cool110_ has joined #wayland
cool110_ is now known as Guest5049
<wlb> wayland-protocols Merge request !228 opened by Carlos Garnacho (carlosg) staging/dialog: Add "dialog" protocol https://gitlab.freedesktop.org/wayland/wayland-protocols/-/merge_requests/228 [In 30 day discussion period], [Needs acks], [Needs implementations], [Needs review], [New Protocol]
<wlb> wayland-protocols Merge request !229 opened by Carlos Garnacho (carlosg) staging/wm-gestures: Add WM "gestures" protocol https://gitlab.freedesktop.org/wayland/wayland-protocols/-/merge_requests/229 [In 30 day discussion period], [Needs acks], [Needs implementations], [Needs review], [New Protocol]
DodoGTA has quit [Quit: DodoGTA]
DodoGTA has joined #wayland
The_Company has joined #wayland
<pq> swick[m], when you load a display profile from an ICC file, and then a client asks for that profile, do you: a) give the original file contents as-is, or b) since you parsed it with LittleCMS, let LittleCMS re-serialize it?
TheCompany has joined #wayland
Company has quit [Ping timeout: 480 seconds]
The_Company has quit [Ping timeout: 480 seconds]
<pq> I'm not sure if LittleCMS would produce a byte-identical copy, especially if the ICC file had tags it doesn't parse. OTOH, if LittleCMS does not parse something, then the compositor won't understand it either.
DodoGTA has quit [Quit: DodoGTA]
DodoGTA has joined #wayland
Fxzxmic has quit [Quit: Konversation exit!]
<emersion> why do we have a "Spam" label in wayland-protocols?
<emersion> it seems unused
<pq> emersion, it's the damspam mechanism, right?
<emersion> damspam?
<pq> slap it on an issue, and the author gets immediately blocked
<emersion> i see
<pq> rather than the "report spam" button which waits for some human to come around and look, while the spammer creates more spam
<pq> wonder where it's documented...
iomari891 has joined #wayland
<pq> actually more than blocked: it hides every issue the author had created, not just the labeled one
fmuellner_ has joined #wayland
nerdopolis has quit [Ping timeout: 480 seconds]
Moprius has joined #wayland
fmuellner has quit [Ping timeout: 480 seconds]
manuel1985 has quit [Ping timeout: 480 seconds]
riteo has joined #wayland
<riteo> hi!
fmuellner_ has quit []
fmuellner has joined #wayland
<riteo> I'm working on godot, a FOSS game engine with a pretty complex windowing API and I'm attempting to change its API in a way that allows wayland to work with it
<riteo> The reason I'm here is: is popup grabbing supposed to be used everywhere? It requires input serials and I can't seem to make it work for some reason
<riteo> currently every other platform sends keyboard input to it manually, even when it looks like it grabs I can't dismiss the popup by clicking outside its geometry and it goes away when I focus out of the parent anyways
<riteo> am I missing something?
<jadahl> riteo: you should use grabbing popup if you want your popups to be automatically dismissed when e.g. the user clicks outside any of your windows, the lock screen appears and things like that
<riteo> currently when I focus out it closes itself. That might be something that godot does
<jadahl> there are some implementation details about pointer and keyboard focus, but in the end you can route however you want within your client
<jadahl> running your client with WAYLAND_DEBUG=1 then looking at what requests to xdg_popup is done or what events are emitted can answer why your popup closes
<riteo> yeah all right, mistery solved
<jadahl> as in answer whether it's dismissed by the compositor, or the client itself
<riteo> popups close themselves when focused out in godot
<riteo> it's a godot thing
<jadahl> \o/
<riteo> like, when they receive a global focus out event they close themselves
<riteo> should I still grab?
<jadahl> if you want them to be auto-dismissed yes. e.g. if you click outsid, but it's on the desktop background, you wouldn't loose keyboard focus
<jadahl> or wouldn't, you can't rely on loosing keyboard focus
<riteo> it currently listens for a "global" application focus out event though
<jadahl> (I'm assuming "global focus out" is keyboard focus or "activated" xdg-toplevel state)
<riteo> oh I think it's actually pointer focus
<riteo> yeah I'm not sure what would be the most reliable way
<riteo> definitely not activated AFAIK
<jadahl> pointer focus you loose as soon as the pointer leaves your window
<riteo> that explains the weird behaviour
<riteo> so I should rely on the keyboard focus, right?
<riteo> sorry for all of the questions
<jadahl> depends on what you're after
<riteo> I'm not sure really. I'm trying to adapt an already existing, heavily Windows-like API which has only the concept of "focus"
<riteo> yeah thinking about it keyboard focus would be better
<jadahl> is it used for traditional File menus and such things?
<jadahl> if so you can probably make it a grabbing popup and call it a day
<riteo> do you mean the popups? Yeah, the ones that should auto-close are indeed dropdowns
<jadahl> except you should hide when clicking outside the popup
<riteo> all right, now I get the reasoning
<riteo> thanks a lot for the help!
<jadahl> so: makem them grabbing popup. destroy them when anything outside them gets clicked (or touched). destroy them on e.g Esc.
<jadahl> destroying on keyboard focus lost I suspect is redudant, they'll probably be dismissed by the compositor before that
<riteo> the weird thing is that destroying when clicked outside is platform-side, while focus out closing is engine-side
<jadahl> riteo: fyi, when you create nested menus, the order of destruction is important
<jadahl> riteo: doesn't hurt if you close on keyboard focus lost too I guess, if that's what you want
<riteo> luckily there's some ordering so it shouldn't be an issue
<jadahl> riteo: that is, keyboard of all your windows/popups, because a grabbing popup gets keybord focus when popped up
<riteo> uh right
<riteo> I think that the reasoning behind a global focus out is when no window is left focused that is godot's
<riteo> so... I think I should be set?
<jadahl> sounds like it, assuming popups are encountered for among those windows
<riteo> great, thanks for the help once again!
<jadahl> though, I can't remember the exact order of focus changes when going from parent to popup etc
<jadahl> so might want to double check
<riteo> I'm still doing a PoC so there's plenty of room for errors
<jadahl> sounds like fun!
<riteo> (I have to change the API, that's why)
<kchibisov> Could I assume that server will immidiatelly destroy the objects, so I want to wait all objects being destroyed I could wait with wl_display.sync()? Or is it not enough and server could destroy things later on?
<kchibisov> I'm trying to understand how to wait for wl_surface/toplevel being destroyed, before I 'pause' the loop.
bodiccea has joined #wayland
bodiccea_ has joined #wayland
<d_ed[m]> what do you mean by pause the loop?
bodiccea has quit [Ping timeout: 480 seconds]
<emersion> a wl_display.sync will ensure that the server has seen the destroy requests
<riteo> well, I'll go for now. Bye!
riteo has quit [Quit: epic grab moment]
___nick___ has joined #wayland
Moprius has quit [Quit: bye]
<kchibisov> d_ed[m]: I won't read connection anymore for undefined amount of time.
<kchibisov> emersion: thx, that what I assumed.
neonking_ has joined #wayland
neonking has quit [Ping timeout: 480 seconds]
tzimmermann has quit [Remote host closed the connection]
tzimmermann has joined #wayland
<Max1> Because shsurf is NULL
<Max1> I think it might have something to do with popups with a fullscreen parent surface?
<daniels> Max1: heh yeah, I was going to ask if popups were involved :) do you have a WAYLAND_DEBUG=client trace please?
<Max1> But I can look into it some more if no one is able to figure it out from this very un-detailed report :)
<Max1> One second
nerdopolis has joined #wayland
<Max1> Ah I don't think that was what we wanted
<Max1> daniels: This is the log from the client, ignore the Chromium logs :) https://pastebin.com/FU0NqVTG
<daniels> Max1: thankyou! ooi - given you're talking about fullscreen - does it also happen when you start weston with --shell=kiosk?
junaid has joined #wayland
<Max1> daniels: no, but the test also doesn't pass anymore 😅
<Max1> But here's a stacktrace from Weston, if that helps: https://pastebin.com/4HWKxHbY
<daniels> Max1: that helps a lot, thankyou!
paramount has joined #wayland
paramount has quit []
tzimmermann has quit [Quit: Leaving]
paramount has joined #wayland
<paramount> emersion: Do you think you can comment on this ocaML based lem language linker script solution, many people including me are searching for better support to be added for linker script, i would have questions to you, i see you committed to this repository? https://github.com/rems-project/linksem/blob/master/src/linker_script.lem
gildekel has joined #wayland
<mvlad> daniels, seems recently introduced with cc3d30c28bb.
<daniels> oof yeah, we never get ->added() for popups, only for toplevels :(
<emersion> paramount: this sounds completely unrelated to wayland
<emersion> please contact me privately for such inquiries
<emersion> (oh my, that brings back memories)
<daniels> #emersion-side-quests
<emersion> i do actually have #emersion over on Libera Chat :P
<daniels> personal brand! :D
iomari891 has quit [Ping timeout: 480 seconds]
Leopold__ has quit [Remote host closed the connection]
Leopold has joined #wayland
<paramount> emersion: I am interested to have private message, but i need to think a bit before, i thing that both functionality and license wise LIEF might be better, sorry for the off-topic https://github.com/lief-project/LIEF/blob/master/LICENSE
<swick[m]> pq: I would send the original bytes. it's completely valid for a profile to contain CME specific data the compositor and lcms2 don't understand
systwi has quit [Ping timeout: 480 seconds]
fmuellner has quit [Ping timeout: 480 seconds]
rv1sr has quit []
junaid has quit [Remote host closed the connection]
___nick___ has quit [Ping timeout: 480 seconds]
mvlad has quit [Remote host closed the connection]
systwi has joined #wayland
jmdaemon has joined #wayland
systwi_ has joined #wayland
systwi has quit [Ping timeout: 480 seconds]
dv_ has joined #wayland
<dv_> hi
<dv_> I know that by default, it is not possible for an application to specify window coordinates. but what about a setup with multiple framebuffers? can an application specify which particular framebuffer to use for its window?
<vyivel> dv_: do yoh mean wl_outputs?
<vyivel> *you
<vyivel> xdg_toplevel.set_fullscreen might be what you're looking for
systwi has joined #wayland
systwi_ has quit [Ping timeout: 480 seconds]
<paramount> But overall emersion, you know I am that Mart who is troublesome to community, but i won my trial unanimously, a hugely positive twist in my life, and this month i am finishing my life work, with immense luck that is not comprehensible to me, i managed to survive, i am no longer interested in trolling, my projects landed a success in all of them as result too, i am doing some yet small fix ups and prepare for work career
<paramount> finally. I do not really bother much anymore what others say. But final off-topic link. https://people.ece.cornell.edu/land/courses/ece4760/RP2040/C_SDK_DMA_machine/DMA_machine_rp2040.html that is what i am integrating into lief with my own execution encoding called HWbird. This gets my laptops going and i write little bit es2 backends and code for this too. Some security fixes on my laptops and start my own lab too.
sima has quit [Ping timeout: 480 seconds]
iomari891 has joined #wayland
<dv_> vyivel: fullscreen yeah, but I want to decide _which_ screen
<dv_> as said, this is a setup with multiple framebuffers, one for each screen
<vyivel> xdg_toplevel.set_fullscreen has an optional wl_output argument
paramount has quit [Quit: Leaving]
iomari891 has quit [Read error: Connection reset by peer]
fmuellner has joined #wayland
Moprius has joined #wayland
Moprius has quit []
systwi_ has joined #wayland
systwi has quit [Remote host closed the connection]
rasterman has quit [Quit: Gettin' stinky!]
systwi has joined #wayland
Brainium has joined #wayland
systwi_ has quit [Ping timeout: 480 seconds]
floof58 has quit [Ping timeout: 480 seconds]
floof58 has joined #wayland
<daniels> dv_: your compositor should guide you to the right output. kiosk-shell can do this for example
Leopold has quit [Ping timeout: 480 seconds]
Leopold has joined #wayland
carbonfiber has quit [Quit: Connection closed for inactivity]