fix(wayland): set default output size
This commit is contained in:
@@ -4,16 +4,16 @@ use rustc_hash::FxHashMap;
|
|||||||
use slog::Logger;
|
use slog::Logger;
|
||||||
use smithay::{
|
use smithay::{
|
||||||
delegate_output, delegate_shm,
|
delegate_output, delegate_shm,
|
||||||
output::{Output, Scale, Subpixel},
|
output::{Mode, Output, Scale, Subpixel},
|
||||||
reexports::{
|
reexports::{
|
||||||
wayland_protocols_misc::server_decoration::server::org_kde_kwin_server_decoration_manager::Mode,
|
wayland_protocols_misc::server_decoration::server::org_kde_kwin_server_decoration_manager::Mode as DecorationMode,
|
||||||
wayland_server::{
|
wayland_server::{
|
||||||
backend::{ClientData, ClientId, DisconnectReason},
|
backend::{ClientData, ClientId, DisconnectReason},
|
||||||
protocol::wl_data_device_manager::WlDataDeviceManager,
|
protocol::wl_data_device_manager::WlDataDeviceManager,
|
||||||
Display, DisplayHandle,
|
Display, DisplayHandle,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
utils::Size,
|
utils::{Size, Transform},
|
||||||
wayland::{
|
wayland::{
|
||||||
buffer::BufferHandler,
|
buffer::BufferHandler,
|
||||||
compositor::CompositorState,
|
compositor::CompositorState,
|
||||||
@@ -68,8 +68,11 @@ impl WaylandState {
|
|||||||
let xdg_activation_state = XdgActivationState::new::<Self, _>(&display_handle, log.clone());
|
let xdg_activation_state = XdgActivationState::new::<Self, _>(&display_handle, log.clone());
|
||||||
let xdg_shell_state = XdgShellState::new::<Self, _>(&display_handle, log.clone());
|
let xdg_shell_state = XdgShellState::new::<Self, _>(&display_handle, log.clone());
|
||||||
let xdg_decoration_state = XdgDecorationState::new::<Self, _>(&display_handle, log.clone());
|
let xdg_decoration_state = XdgDecorationState::new::<Self, _>(&display_handle, log.clone());
|
||||||
let kde_decoration_state =
|
let kde_decoration_state = KdeDecorationState::new::<Self, _>(
|
||||||
KdeDecorationState::new::<Self, _>(&display_handle, Mode::Server, log.clone());
|
&display_handle,
|
||||||
|
DecorationMode::Server,
|
||||||
|
log.clone(),
|
||||||
|
);
|
||||||
let shm_state = ShmState::new::<Self, _>(&display_handle, vec![], log.clone());
|
let shm_state = ShmState::new::<Self, _>(&display_handle, vec![], log.clone());
|
||||||
let output_manager_state = OutputManagerState::new_with_xdg_output::<Self>(&display_handle);
|
let output_manager_state = OutputManagerState::new_with_xdg_output::<Self>(&display_handle);
|
||||||
let output = Output::new(
|
let output = Output::new(
|
||||||
@@ -83,7 +86,15 @@ impl WaylandState {
|
|||||||
log.clone(),
|
log.clone(),
|
||||||
);
|
);
|
||||||
let _global = output.create_global::<Self>(&display_handle);
|
let _global = output.create_global::<Self>(&display_handle);
|
||||||
output.change_current_state(None, None, Some(Scale::Integer(2)), None);
|
output.change_current_state(
|
||||||
|
Some(Mode {
|
||||||
|
size: (4096, 4096).into(),
|
||||||
|
refresh: 60000,
|
||||||
|
}),
|
||||||
|
Some(Transform::Normal),
|
||||||
|
Some(Scale::Integer(2)),
|
||||||
|
None,
|
||||||
|
);
|
||||||
display_handle.create_global::<Self, WlDataDeviceManager, _>(3, ());
|
display_handle.create_global::<Self, WlDataDeviceManager, _>(3, ());
|
||||||
|
|
||||||
println!("Init Wayland compositor");
|
println!("Init Wayland compositor");
|
||||||
|
|||||||
Reference in New Issue
Block a user