|
|
@ -1092,6 +1092,8 @@ static void dispatch_cursor_axis(struct sway_cursor *cursor,
|
|
|
|
enum wlr_edges edge = cont ? find_edge(cont, cursor) : WLR_EDGE_NONE;
|
|
|
|
enum wlr_edges edge = cont ? find_edge(cont, cursor) : WLR_EDGE_NONE;
|
|
|
|
bool on_border = edge != WLR_EDGE_NONE;
|
|
|
|
bool on_border = edge != WLR_EDGE_NONE;
|
|
|
|
bool on_titlebar = cont && !on_border && !surface;
|
|
|
|
bool on_titlebar = cont && !on_border && !surface;
|
|
|
|
|
|
|
|
bool on_titlebar_border = cont && on_border &&
|
|
|
|
|
|
|
|
cursor->cursor->y < cont->content_y;
|
|
|
|
bool on_contents = cont && !on_border && surface;
|
|
|
|
bool on_contents = cont && !on_border && surface;
|
|
|
|
float scroll_factor =
|
|
|
|
float scroll_factor =
|
|
|
|
(ic == NULL || ic->scroll_factor == FLT_MIN) ? 1.0f : ic->scroll_factor;
|
|
|
|
(ic == NULL || ic->scroll_factor == FLT_MIN) ? 1.0f : ic->scroll_factor;
|
|
|
@ -1117,7 +1119,7 @@ static void dispatch_cursor_axis(struct sway_cursor *cursor,
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// Scrolling on a tabbed or stacked title bar (handled as press event)
|
|
|
|
// Scrolling on a tabbed or stacked title bar (handled as press event)
|
|
|
|
if (!handled && on_titlebar) {
|
|
|
|
if (!handled && (on_titlebar || on_titlebar_border)) {
|
|
|
|
enum sway_container_layout layout = container_parent_layout(cont);
|
|
|
|
enum sway_container_layout layout = container_parent_layout(cont);
|
|
|
|
if (layout == L_TABBED || layout == L_STACKED) {
|
|
|
|
if (layout == L_TABBED || layout == L_STACKED) {
|
|
|
|
struct sway_node *tabcontainer = node_get_parent(node);
|
|
|
|
struct sway_node *tabcontainer = node_get_parent(node);
|
|
|
|