mirror of
https://github.com/swaywm/sway.git
synced 2024-11-28 10:51:28 +00:00
view: send scale notification when the output is known
This commit is contained in:
parent
cdde0165da
commit
5d237679f5
|
@ -6,6 +6,7 @@
|
||||||
#include <wlr/types/wlr_buffer.h>
|
#include <wlr/types/wlr_buffer.h>
|
||||||
#include <wlr/types/wlr_ext_foreign_toplevel_list_v1.h>
|
#include <wlr/types/wlr_ext_foreign_toplevel_list_v1.h>
|
||||||
#include <wlr/types/wlr_foreign_toplevel_management_v1.h>
|
#include <wlr/types/wlr_foreign_toplevel_management_v1.h>
|
||||||
|
#include <wlr/types/wlr_fractional_scale_v1.h>
|
||||||
#include <wlr/types/wlr_output_layout.h>
|
#include <wlr/types/wlr_output_layout.h>
|
||||||
#include <wlr/types/wlr_server_decoration.h>
|
#include <wlr/types/wlr_server_decoration.h>
|
||||||
#include <wlr/types/wlr_subcompositor.h>
|
#include <wlr/types/wlr_subcompositor.h>
|
||||||
|
@ -741,6 +742,14 @@ void view_map(struct sway_view *view, struct wlr_surface *wlr_surface,
|
||||||
ws = select_workspace(view);
|
ws = select_workspace(view);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (ws && ws->output) {
|
||||||
|
// Once the output is determined, we can notify the client early about
|
||||||
|
// scale to reduce startup jitter.
|
||||||
|
float scale = ws->output->wlr_output->scale;
|
||||||
|
wlr_fractional_scale_v1_notify_scale(wlr_surface, scale);
|
||||||
|
wlr_surface_set_preferred_buffer_scale(wlr_surface, ceil(scale));
|
||||||
|
}
|
||||||
|
|
||||||
struct sway_seat *seat = input_manager_current_seat();
|
struct sway_seat *seat = input_manager_current_seat();
|
||||||
struct sway_node *node =
|
struct sway_node *node =
|
||||||
seat_get_focus_inactive(seat, ws ? &ws->node : &root->node);
|
seat_get_focus_inactive(seat, ws ? &ws->node : &root->node);
|
||||||
|
|
Loading…
Reference in a new issue