ChanServ changed the topic of #wayland to: https://wayland.freedesktop.org | Discussion about the Wayland protocol and its implementations, plus libinput | register your nick to speak
cwittlut has joined #wayland
hardening has quit [Ping timeout: 480 seconds]
sav10 has joined #wayland
sav10 has quit []
ybogdano has quit [Quit: The Lounge - https://thelounge.chat]
sav10 has joined #wayland
ybogdano has joined #wayland
rasterman has quit [Quit: Gettin' stinky!]
co1umbarius has joined #wayland
columbarius has quit [Ping timeout: 480 seconds]
fmuellner has quit [Ping timeout: 480 seconds]
ybogdano has quit [Ping timeout: 480 seconds]
Leopold has quit []
Leopold_ has joined #wayland
bcheng has quit [Remote host closed the connection]
bcheng has joined #wayland
sozuba has joined #wayland
Leopold_ has quit [Remote host closed the connection]
maxzor has quit [Ping timeout: 480 seconds]
cvmn has joined #wayland
sav10 has quit [Ping timeout: 480 seconds]
slattann has joined #wayland
smallville7123 has joined #wayland
hendry has quit [Quit: brb]
hendry has joined #wayland
nerdopolis_ has quit [Ping timeout: 480 seconds]
cvmn has quit [Remote host closed the connection]
kts has joined #wayland
danvet has joined #wayland
jgrulich has joined #wayland
kts has quit [Quit: Leaving]
kts has joined #wayland
dcz_ has joined #wayland
<wlb> weston Issue #702 opened by Sherry Huang (xiaoyu) desktop-shell: Weston crash when user click the parent window while the child window is fading out https://gitlab.freedesktop.org/wayland/weston/-/issues/702
slattann has quit [Ping timeout: 480 seconds]
<wlb> weston/main: Leandro Ribeiro * libweston/input: update view transforms when pointer is constrained https://gitlab.freedesktop.org/wayland/weston/commit/734497055257 libweston/input.c
<wlb> weston Merge request !1068 merged \o/ (Update view transforms when pointer is constrained https://gitlab.freedesktop.org/wayland/weston/-/merge_requests/1068)
<wlb> weston Issue #698 closed \o/ (Xwayland crashes if clipboard is set without a seat present https://gitlab.freedesktop.org/wayland/weston/-/issues/698)
<wlb> weston/main: Derek Foreman * xwm: Fix selection if no seat present at startup https://gitlab.freedesktop.org/wayland/weston/commit/a04fd9921276 xwayland/ selection.c window-manager.c xwayland.h
<wlb> weston/main: Derek Foreman * xwm: Don't crash when setting selection with no seat https://gitlab.freedesktop.org/wayland/weston/commit/bb993df23676 xwayland/selection.c
<wlb> weston/main: Derek Foreman * xwm: Propagate selection ownership immediately https://gitlab.freedesktop.org/wayland/weston/commit/11bcad116f5c xwayland/selection.c
<wlb> weston/main: Derek Foreman * xwm: Assert if we try to fetch our own selection https://gitlab.freedesktop.org/wayland/weston/commit/1d36f7655d78 xwayland/selection.c
<wlb> weston Merge request !985 merged \o/ (xwm: Fix selection if no seat present at startup https://gitlab.freedesktop.org/wayland/weston/-/merge_requests/985)
mvlad has joined #wayland
slattann has joined #wayland
rasterman has joined #wayland
<wlb> weston/main: Michael Tretter * clients/screenshot: build screenshooter with kiosk-shell and fullscreen-shell https://gitlab.freedesktop.org/wayland/weston/commit/6bcfc43a886b clients/meson.build
<wlb> weston/main: Marco Felsch * ivi-shell: add screenshot capability https://gitlab.freedesktop.org/wayland/weston/commit/a8e93ed90f68 clients/meson.build ivi-shell/ivi-shell.c
<wlb> weston Merge request !1067 merged \o/ (ivi-shell: add screenshot capability https://gitlab.freedesktop.org/wayland/weston/-/merge_requests/1067)
hardening has joined #wayland
MajorBiscuit has joined #wayland
manuel1985 has joined #wayland
Major_Biscuit has joined #wayland
rgallaispou has quit [Read error: Connection reset by peer]
MajorBiscuit has quit [Ping timeout: 480 seconds]
Company has joined #wayland
kts has quit [Remote host closed the connection]
Dami_Lu has quit [Remote host closed the connection]
maxzor has joined #wayland
cool110_ has joined #wayland
maxzor has quit [Ping timeout: 480 seconds]
cool110 has quit [Remote host closed the connection]
devilhorns has joined #wayland
<yshui`> is wl_surface.enter expected to have a newly allocated output object? am i allowed to reuse an already bound output object? oh, wait. the type is "object", not "new_id", which means I should only send enter/leave events for output that is bound by the client?
<vyivel> yshui`: yes, if the client hasn't bound an output yet, you can't send enter/leave events related to it
<yshui`> i see!
rgallaispou has joined #wayland
<yshui`> if the same output global is bound many times, do i send an event for any of them, or for all of them?
<vyivel> i'd say send for each one
<yshui`> ok, one more question. for newly bound output object, do i need to send enter events to all surfaces currently on that output?
<pq> for all of them, yes
<yshui`> ok, cool, thanks!
<pq> yes
maxzor has joined #wayland
smallville7123 has quit [Quit: Konversation terminated!]
<Max1> What's the reason that during an xdg_toplevel.move the surface loses pointer focus?
<emersion> the compositor starts an implicit grab
<emersion> same for resize
<pq> IOW, the compositor is using the pointer for its own purposes, "eating" the events. There is no need for the client to get those motion events.
<Max1> Thanks!
<Max1> emersion, pq: can I quote your messages on Chromium's code review platform?
<emersion> sure
<pq> fine by me
<pq> This is related to a more profound principle: an input event should be delivered to at most one consumer.
alarumbe has quit [Quit: ZNC 1.8.2+deb2 - https://znc.in]
<pq> This prevents the same end user action from triggering multiple independent actions in software.
<pq> IOW, input events shouldn't be copied to multiple targets, especially if they trigger something.
<Max1> Thank you :)
<Max1> And the compositor itself counts as a consumer / target?
<pq> sometimes, yes, when it triggers things itself like moving a window
<pq> or a hotkey handled by the compositor
<Max1> Got it
<pq> if there is a key-combo for a compositor hotkey, the current wl_keyboard focus client may see key events to the one that triggers the hotkey action. The triggering key event is not delivered to the client but keyboard focus is taken away from the client.
<pq> *up to the one
<pq> so pointer or keyboard focus can also be on the compositor itself, when the compositor so decides
nerdopolis has joined #wayland
kts has joined #wayland
<Max1> Ah, yeah I noticed that behaviour with hotkey actions
<Max1> Thanks!
sav10 has joined #wayland
kts_ has joined #wayland
kts has quit [Ping timeout: 480 seconds]
agd5f has quit [Read error: Connection reset by peer]
fmuellner has joined #wayland
<Max1> The xdg_toplevel.resize spec says: "If triggered, the surface also will lose the focus of the device (wl_pointer, wl_touch, etc) used for the resize." In case of touch, does that mean wl_touch.up, wl_touch.cancel or something else?
<pq> Definitely not wl_touch.up, at least.
<pq> cancel seems to fit the use.
<pq> hm. Kinda. Good question.
<Max1> Is there a way to emulate touch so I can check what e.g. Weston does? I don't have a real touch device I could test it with
<Max1> Looking at Weston's code, I'm not sure it sends any event
<pq> there might be some uinput based touchscreen emulators, but I've forgot everything about them
<daniels> evtest
<daniels> Max1: I think the codepath you're after would be default_grab_touch_{down,motion,up}, and the rest of default_touch_grab_interface
<Max1> I thought so, and default_grab_touch_cancel() is just empty
<Max1> That's why I think it might just send no event at all
<Max1> daniels: the git repo for evtest says "evtest is a tool to print evdev kernel events", can it also be used for emulating events?
<pq> I'm not sure Weston's desktop-shell even can resize by touch...
<pq> there is touch_move stuff, but no touch_resize stuff
floof58 has quit [Ping timeout: 480 seconds]
floof58 has joined #wayland
<pq> yeah, there is no instance of weston_touch_grab_interface that looks like it does resizing.
<Max1> Moving is also interesting, as it's the same with "losing the focus of the device (wl_pointer, wl_touch, etc) used for the move"
devilhorns has quit []
<pq> right, but given resize is not even implemented at all, even though it's in the protocol, I'm not sure how good an example weston is here.
maxzor has quit [Ping timeout: 480 seconds]
kts_ has quit []
cvmn has joined #wayland
floof58 is now known as Guest1238
floof58 has joined #wayland
caveman has quit [Remote host closed the connection]
Guest1238 has quit [Ping timeout: 480 seconds]
Paul33 has joined #wayland
tzimmermann has joined #wayland
tzimmermann has quit [Remote host closed the connection]
tzimmermann has joined #wayland
Leopold_ has joined #wayland
maxzor has joined #wayland
agd5f has joined #wayland
kts has joined #wayland
Paul33 has quit []
<Max1> Good point, I'll check what Sway does, I think it has good touch support
<zamundaaa[m]> KWin just doesn't send any move events with interactive move or resize. The app gets wl_touch.down -> it initiates resize -> resize happens -> finger gets lifted -> app gets wl_touch.up
<pq> That sounds sensible.
<pq> xdg_toplevel.resize spec note might need untangling
kts has quit [Quit: Leaving]
<Max1> But it's not really the touch-equivalent of what happens for wl_pointer, right? The client doesn't receive wl_pointer.button to signal the release
<Max1> Then again, wl_touch has no enter/leave
<Max1> And I'm not that familiar with how touch is being handled in other scenarios
kts has joined #wayland
sozuba_tmp has joined #wayland
sozuba has quit [Ping timeout: 480 seconds]
jgrulich has quit [Ping timeout: 480 seconds]
bcheng has quit [Remote host closed the connection]
bcheng has joined #wayland
<pq> Max1, exactly. One must not fake physical input events, you cannot send a fake touch-up, and since there is no touch-leave, there is nothing to do.
<pq> touch-cancel might be an option, but this is not really cancelling the action, this is handing over the responsibility to the compositor to execute the action from now on, so cancel doesn't feel right.
<Max1> From https://wayland-book.com/seat/touch.html I got the idea that wl_touch.cancel basically means "the compositor is taking over, you as the client don't need to care about it anymore"
<Max1> Is that not what's happening for a move / resize?
<pq> it's not just taking over, it also means the client needs undo anything it had going on
<pq> like if you have drag of some object with touch, and you get cancel, it means you need to return that object to where it started
<pq> so that if the drag really was not a drag but a global gesture, it doesn't accidentally also drag unwanted stuff
<Max1> I see
<Max1> But is there anything to undo if you just start an interactive move / resize?
<pq> I'd say that's undefined rather than nothing to do.
<pq> Canceling a resize would mean returning to the original size, right?
<pq> but who's responsibility is it to remember the original size? I don't know.
<pq> cancelling a move would mean that the compositor needs to return the window to its old position, as the client cannot do that.
<pq> while the end result might not really differ much, the semantic difference between cancelling and offloading to the compositor is significant
<pq> a resize or move may be off-loaded to the compositor, and that's not cancelling the action
<pq> recognizing a global gesture OTOH requires cancelling whatever unrelated that touch sequence may have started already
<pq> *unrelated actions
<Max1> Makes sense
<Max1> Should I open an issue where we can discuss how to revise the notes in the xdg_toplevel.{move,resize} specs?
rv1sr has joined #wayland
BPCZ has quit [Quit: yeet]
BPCZ has joined #wayland
Major_Biscuit has quit []
hwentlan_ has left #wayland [#wayland]
floof58 has quit [Ping timeout: 480 seconds]
floof58 has joined #wayland
kts has quit [Quit: Leaving]
ybogdano has joined #wayland
manuel_ has joined #wayland
sozuba_tmp has quit [Ping timeout: 480 seconds]
manuel1985 has quit [Ping timeout: 480 seconds]
tzimmermann has quit [Quit: Leaving]
manuel_ has quit [Ping timeout: 480 seconds]
andyrtr_ has joined #wayland
andyrtr has quit [Read error: Connection reset by peer]
andyrtr_ is now known as andyrtr
junaid has joined #wayland
alarumbe has joined #wayland
Paul33 has joined #wayland
manuel_ has joined #wayland
<yshui`> hmm, when does a surface get mapped? does it have to have both a role and a buffer?
<yshui`> do i need to send output enter events for surfaces with a appropriate role but no buffer?
nerdopolis has quit [Ping timeout: 480 seconds]
fmuellner has quit [Ping timeout: 480 seconds]
sav10 has quit [Ping timeout: 480 seconds]
slattann has quit [Ping timeout: 480 seconds]
rasterman has quit [Quit: Gettin' stinky!]
wizard5623 has joined #wayland
wizard5623 has quit []
Paul33_ has joined #wayland
Paul33 has quit [Ping timeout: 480 seconds]
nerdopolis has joined #wayland
mvlad has quit [Remote host closed the connection]
alarumbe has quit [Quit: ZNC 1.8.2+deb2 - https://znc.in]
Lucretia has quit [Remote host closed the connection]
manuel_ has quit [Ping timeout: 480 seconds]
Lucretia has joined #wayland
ybogdano has quit [Ping timeout: 480 seconds]
sav10 has joined #wayland
rv1sr has quit []
wizard5623 has joined #wayland
junaid has quit [Remote host closed the connection]
fmil has joined #wayland
fmil has quit []
filmil has joined #wayland
wizard5623 has quit []
<filmil> hi folks. I'm reading through the text input API at https://wayland.app/protocols/text-input-unstable-v3
<filmil> would like to check if I understood it correctly. how does the compositor tell the client to move the caret to some specific position?
fmuellner has joined #wayland
dcz_ has quit [Ping timeout: 480 seconds]
danvet has quit [Ping timeout: 480 seconds]
ybogdano has joined #wayland
<soreau> the protocol allows for the opposite - the client can tell the compositor where it has drawn the caret
agd5f has quit [Remote host closed the connection]
<filmil> thanks! how then, does "move one word to the right" work?
agd5f has joined #wayland
<filmil> one other question - what is the relationship between the v3 and the v1 apis? I couldn't find any implementations of v3, but it's supposedly newer - also it seems to have fewer features than v1. what gives?
<filmil> v3: https://wayland.app/protocols/text-input-unstable-v3 (no equivalent human-friendly representation seems to exist for v2)
<filmil> s/v2/v3
manuel_ has joined #wayland
manuel_ has quit [Remote host closed the connection]
manuel1985 has joined #wayland
nerdopolis has quit [Ping timeout: 480 seconds]
Lucretia-backup has joined #wayland
Lucretia has quit [Ping timeout: 480 seconds]
nerdopolis has joined #wayland
nerdopolis has quit [Ping timeout: 480 seconds]
Paul33_ has quit [Remote host closed the connection]
manuel1985 has quit [Ping timeout: 480 seconds]
hardening has quit [Ping timeout: 480 seconds]