Skip to content
This repository has been archived by the owner on Nov 1, 2021. It is now read-only.

tinywl window movement is suddenly buggy #1544

Closed
georgewsinger opened this issue Feb 14, 2019 · 3 comments
Closed

tinywl window movement is suddenly buggy #1544

georgewsinger opened this issue Feb 14, 2019 · 3 comments

Comments

@georgewsinger
Copy link

Tinywl window movement is now buggy against the latest commit (5c8d2da) of wlroots. I tested this in Ubuntu Cosmic and NixOS (two different systems), one with nvidia and one with mesa drivers respectively.

Specifically, clicking and holding window decoration doesn't start moving the window until after the left mouse button is released (as if the xdg top level movement event isn't triggered until the mouse button is released).

I know a few commits ago window movement was working correctly. Perhaps something is wrong on my systems?

@georgewsinger georgewsinger changed the title tinywl window movement is suddently buggy tinywl window movement is suddenly buggy Feb 14, 2019
@emersion
Copy link
Member

Hmm, maybe it's missing pointer frame events?

@georgewsinger
Copy link
Author

georgewsinger commented Feb 14, 2019

What do you mean? I don't think tinywl explicitly handles anything called a "pointer frame event", though it does handle output frame events and many cursor events.

Also, I just found another bug with tinywl: it doesn't seem to have working axis events, in that launching, i.e., the epiphany web browser and scrolling up and down doesn't cause the web page to scroll up and down accordingly. Yet tinywl should be equipped to handle this AFAIK:

void server_cursor_axis(struct wl_listener *listener, void *data) {
	/* This event is forwarded by the cursor when a pointer emits an axis event,
	 * for example when you move the scroll wheel. */
	struct tinywl_server *server =
		wl_container_of(listener, server, cursor_axis);
	struct wlr_event_pointer_axis *event = data;
	/* Notify the client with pointer focus of the axis event. */
	wlr_seat_pointer_notify_axis(server->seat,
			event->time_msec, event->orientation, event->delta,
			event->delta_discrete, event->source);
}

@ddevault
Copy link
Contributor

Yeah frame events are the likely cause here.

emersion added a commit to emersion/wlroots that referenced this issue Mar 2, 2019
ddevault pushed a commit that referenced this issue Mar 2, 2019
WillPower3309 pushed a commit to wlrfx/scenefx that referenced this issue Jul 11, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Development

No branches or pull requests

3 participants