mirror of
https://github.com/swaywm/sway.git
synced 2025-11-10 13:29:51 -05:00
Implement floating_modifier and mouse operations for floating views
This implements the following: * `floating_modifier` configuration directive * Drag a floating window by its title bar * Hold mod + drag a floating window from anywhere * Resize a floating view by dragging the border * Resize a floating view by holding mod and right clicking anywhere on the view * Resize a floating view and keep aspect ratio by holding shift while resizing using either method * Mouse cursor turns into resize when hovering floating border or corner
This commit is contained in:
parent
27f65b94ae
commit
9fbe13b9be
11 changed files with 395 additions and 17 deletions
|
|
@ -304,6 +304,12 @@ bool container_is_floating(struct sway_container *container);
|
|||
*/
|
||||
void container_get_box(struct sway_container *container, struct wlr_box *box);
|
||||
|
||||
/**
|
||||
* Move a floating container by the specified amount.
|
||||
*/
|
||||
void container_floating_translate(struct sway_container *con,
|
||||
double x_amount, double y_amount);
|
||||
|
||||
/**
|
||||
* Move a floating container to a new layout-local position.
|
||||
*/
|
||||
|
|
@ -318,4 +324,10 @@ void container_set_dirty(struct sway_container *container);
|
|||
|
||||
bool container_has_urgent_child(struct sway_container *container);
|
||||
|
||||
/**
|
||||
* If the container is involved in a drag or resize operation via a mouse, this
|
||||
* ends the operation.
|
||||
*/
|
||||
void container_end_mouse_operation(struct sway_container *container);
|
||||
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -14,10 +14,11 @@ enum movement_direction {
|
|||
};
|
||||
|
||||
enum resize_edge {
|
||||
RESIZE_EDGE_LEFT,
|
||||
RESIZE_EDGE_RIGHT,
|
||||
RESIZE_EDGE_TOP,
|
||||
RESIZE_EDGE_BOTTOM,
|
||||
RESIZE_EDGE_NONE = 0,
|
||||
RESIZE_EDGE_LEFT = 1,
|
||||
RESIZE_EDGE_RIGHT = 2,
|
||||
RESIZE_EDGE_TOP = 4,
|
||||
RESIZE_EDGE_BOTTOM = 8,
|
||||
};
|
||||
|
||||
struct sway_container;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue