mirror of
https://github.com/hyprwm/wlroots-hyprland.git
synced 2024-11-04 20:55:58 +01:00
Fixes for multiple outputs
* Fixes output positions in screenshots * Fixes Wayland backend pointer events when output layout doesn't start at (0, 0)
This commit is contained in:
parent
9c163b7d38
commit
1e6566e6cd
2 changed files with 3 additions and 9 deletions
|
@ -74,8 +74,8 @@ static void pointer_handle_motion(void *data, struct wl_pointer *wl_pointer,
|
|||
wlr_event.time_msec = time;
|
||||
wlr_event.width_mm = layout_box.width;
|
||||
wlr_event.height_mm = layout_box.height;
|
||||
wlr_event.x_mm = transformed.x + wlr_output->lx + layout_box.x;
|
||||
wlr_event.y_mm = transformed.y + wlr_output->ly + layout_box.y;
|
||||
wlr_event.x_mm = transformed.x + wlr_output->lx - layout_box.x;
|
||||
wlr_event.y_mm = transformed.y + wlr_output->ly - layout_box.y;
|
||||
wl_signal_emit(&dev->pointer->events.motion_absolute, &wlr_event);
|
||||
}
|
||||
|
||||
|
|
|
@ -220,16 +220,10 @@ static void write_image(const char *filename, int width, int height) {
|
|||
}
|
||||
|
||||
static int set_buffer_size(int *width, int *height) {
|
||||
struct screenshooter_output *output;
|
||||
min_x = min_y = INT_MAX;
|
||||
max_x = max_y = INT_MIN;
|
||||
int position = 0;
|
||||
|
||||
wl_list_for_each_reverse(output, &output_list, link) {
|
||||
output->offset_x = position;
|
||||
position += output->width;
|
||||
}
|
||||
|
||||
struct screenshooter_output *output;
|
||||
wl_list_for_each(output, &output_list, link) {
|
||||
min_x = MIN(min_x, output->offset_x);
|
||||
min_y = MIN(min_y, output->offset_y);
|
||||
|
|
Loading…
Reference in a new issue