~ruther/dwl

499a43db744227500a88ba541816d950424d87eb — Devin J. Pohly 5 years ago ce5d116
funnel isfloating changes through setfloating()
1 files changed, 12 insertions(+), 5 deletions(-)

M dwl.c
M dwl.c => dwl.c +12 -5
@@ 162,6 162,7 @@ static void run(char *startup_cmd);
static void scalebox(struct wlr_box *box, float scale);
static Client *selclient(void);
static void setcursor(struct wl_listener *listener, void *data);
static void setfloating(Client *c, int floating);
static void setlayout(const Arg *arg);
static void setmfact(const Arg *arg);
static void setmon(Client *c, Monitor *m);


@@ 736,8 737,7 @@ movemouse(const Arg *arg)
		return;

	/* Float the window and tell motionnotify to grab it */
	if (!grabc->isfloating && selmon->lt[selmon->sellt]->arrange)
		grabc->isfloating = 1;
	setfloating(grabc, 1);
	cursor_mode = CurMove;
	wlr_xcursor_manager_set_cursor_image(cursor_mgr, "fleur", cursor);
}


@@ 957,8 957,7 @@ resizemouse(const Arg *arg)
			grabc->x + grabc->w, grabc->y + grabc->h);

	/* Float the window and tell motionnotify to resize it */
	if (!grabc->isfloating && selmon->lt[selmon->sellt]->arrange)
		grabc->isfloating = 1;
	setfloating(grabc, 1);
	cursor_mode = CurResize;
	wlr_xcursor_manager_set_cursor_image(cursor_mgr,
			"bottom_right_corner", cursor);


@@ 1064,6 1063,14 @@ setcursor(struct wl_listener *listener, void *data)
}

void
setfloating(Client *c, int floating)
{
	if (c->isfloating == floating)
		return;
	c->isfloating = floating;
}

void
setlayout(const Arg *arg)
{
	if (!arg || !arg->v || arg->v != selmon->lt[selmon->sellt])


@@ 1282,7 1289,7 @@ togglefloating(const Arg *arg)
	if (!sel)
		return;
	/* return if fullscreen */
	sel->isfloating = !sel->isfloating /* || sel->isfixed */;
	setfloating(sel, !sel->isfloating /* || sel->isfixed */);
}

void