~sircmpwn/wio

wio: Re: Behave more like Rio v1 PROPOSED

~goleo
Of course I'm inaccurate, but here are 3 fixes, now it should be perfect
to merge.

Leonid Bobrov (3):
  Use a better cursor for New and Resize
  Fix weird output from Resize
  Fix x and y positions when cursor is reflecting view

 input.c | 9 +++++----
 view.c  | 4 ++--
 2 files changed, 7 insertions(+), 6 deletions(-)

-- 
2.26.2
Export patchset (mbox)
How do I use this?

Copy & paste the following snippet into your terminal to import this patchset into git:

curl -s https://lists.sr.ht/~sircmpwn/wio/patches/11242/mbox | git am -3
Learn more about email & git
View this thread in the archives

[PATCH wio 1/3] Use a better cursor for New and Resize Export this patch

~goleo
From: Leonid Bobrov <goleo@disroot.org>

---
 input.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/input.c b/input.c
index b6118f2..6a1daf1 100644
--- a/input.c
+++ b/input.c
@@ -127,12 +127,12 @@ static void process_cursor_motion(struct wio_server *server, uint32_t time) {
	case INPUT_STATE_RESIZE_START:
	case INPUT_STATE_NEW_START:
		wlr_xcursor_manager_set_cursor_image(server->cursor_mgr,
				"top_left_corner", server->cursor);
				"grabbing", server->cursor);
		break;
	case INPUT_STATE_RESIZE_END:
	case INPUT_STATE_NEW_END:
		wlr_xcursor_manager_set_cursor_image(server->cursor_mgr,
				"bottom_right_corner", server->cursor);
				"grabbing", server->cursor);
		break;
	default:
		wlr_xcursor_manager_set_cursor_image(server->cursor_mgr,
@@ -180,7 +180,7 @@ static void menu_handle_button(
	case 0:
		server->input_state = INPUT_STATE_NEW_START;
		wlr_xcursor_manager_set_cursor_image(server->cursor_mgr,
				"top_left_corner", server->cursor);
				"grabbing", server->cursor);
		break;
	case 1:
		server->input_state = INPUT_STATE_RESIZE_SELECT;
@@ -329,7 +329,7 @@ static void handle_button_internal(
		view = wio_view_at(server, server->cursor->x, server->cursor->y, &surface, &sx, &sy);
		if (view != NULL) {
			view_begin_interactive(view, surface, sx, sy,
					"top_left_corner", INPUT_STATE_RESIZE_START);
					"grabbing", INPUT_STATE_RESIZE_START);
		} else {
			view_end_interactive(server);
		}
-- 
2.26.2

[PATCH wio 2/3] Fix weird output from Resize Export this patch

~goleo
From: Leonid Bobrov <goleo@disroot.org>

---
 input.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/input.c b/input.c
index 6a1daf1..c2b78f9 100644
--- a/input.c
+++ b/input.c
@@ -340,6 +340,7 @@ static void handle_button_internal(
		}
		server->interactive.sx = server->cursor->x;
		server->interactive.sy = server->cursor->y;
		server->interactive.view->area = VIEW_AREA_BORDER_BOTTOM_RIGHT;
		server->input_state = INPUT_STATE_RESIZE_END;
		break;
	case INPUT_STATE_BORDER_DRAG:
-- 
2.26.2

[PATCH wio 3/3] Fix x and y positions when cursor is reflecting view Export this patch

~goleo
From: Leonid Bobrov <goleo@disroot.org>

---
 view.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/view.c b/view.c
index 8ed91ee..3b1e38d 100644
--- a/view.c
+++ b/view.c
@@ -6,8 +6,8 @@
#include "view.h"

// TODO: scale
#define less_swap1(A, B) { if (A < B) { int C = A; A = B + window_border * 2; B = C + window_border * 2; } }
#define less_swap2(A, B) { if (A < B) { int C = A; A = B - window_border * 2; B = C - window_border * 2; } }
#define less_swap1(A, B) { if (A < B) { int C = A; A = B; B = C + window_border * 2; } }
#define less_swap2(A, B) { if (A < B) { int C = A; A = B - window_border * 2; B = C; } }

static void xdg_surface_map(struct wl_listener *listener, void *data) {
	struct wio_view *view = wl_container_of(listener, view, map);
-- 
2.26.2