wayland: add wayland-csd-adwaita-notitlebar feature
Addition to already present `notitle` feature.
This commit is contained in:
parent
2ede84ab2f
commit
5575f51483
4 changed files with 11 additions and 6 deletions
|
|
@ -14,6 +14,7 @@ default = ["dlopen", "csd-adwaita"]
|
|||
csd-adwaita = ["sctk-adwaita", "sctk-adwaita/ab_glyph"]
|
||||
csd-adwaita-crossfont = ["sctk-adwaita", "sctk-adwaita/crossfont"]
|
||||
csd-adwaita-notitle = ["sctk-adwaita"]
|
||||
csd-adwaita-notitlebar = ["csd-adwaita-notitle"]
|
||||
dlopen = ["wayland-backend/dlopen"]
|
||||
serde = ["dep:serde", "bitflags/serde", "smol_str/serde", "dpi/serde"]
|
||||
|
||||
|
|
|
|||
|
|
@ -13,6 +13,7 @@
|
|||
//! * `wayland-csd-adwaita` (default).
|
||||
//! * `wayland-csd-adwaita-crossfont`.
|
||||
//! * `wayland-csd-adwaita-notitle`.
|
||||
//! * `wayland-csd-adwaita-notitlebar`.
|
||||
use std::ffi::c_void;
|
||||
use std::ptr::NonNull;
|
||||
|
||||
|
|
|
|||
|
|
@ -302,7 +302,7 @@ impl WindowState {
|
|||
subcompositor.clone(),
|
||||
self.queue_handle.clone(),
|
||||
#[cfg(feature = "sctk-adwaita")]
|
||||
into_sctk_adwaita_config(self.theme),
|
||||
create_sctk_adwaita_config(self.theme),
|
||||
) {
|
||||
Ok(mut frame) => {
|
||||
frame.set_title(&self.title);
|
||||
|
|
@ -816,7 +816,7 @@ impl WindowState {
|
|||
self.theme = theme;
|
||||
#[cfg(feature = "sctk-adwaita")]
|
||||
if let Some(frame) = self.frame.as_mut() {
|
||||
frame.set_config(into_sctk_adwaita_config(theme))
|
||||
frame.set_config(create_sctk_adwaita_config(theme))
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -1228,12 +1228,14 @@ fn resize_direction_to_xdg(direction: ResizeDirection) -> XdgResizeEdge {
|
|||
}
|
||||
}
|
||||
|
||||
// NOTE: Rust doesn't allow `From<Option<Theme>>`.
|
||||
#[cfg(feature = "sctk-adwaita")]
|
||||
fn into_sctk_adwaita_config(theme: Option<Theme>) -> sctk_adwaita::FrameConfig {
|
||||
match theme {
|
||||
fn create_sctk_adwaita_config(theme: Option<Theme>) -> sctk_adwaita::FrameConfig {
|
||||
let config = match theme {
|
||||
Some(Theme::Light) => sctk_adwaita::FrameConfig::light(),
|
||||
Some(Theme::Dark) => sctk_adwaita::FrameConfig::dark(),
|
||||
None => sctk_adwaita::FrameConfig::auto(),
|
||||
}
|
||||
};
|
||||
#[cfg(feature = "csd-adwaita-notitlebar")]
|
||||
let config = config.hide_titlebar(true);
|
||||
config
|
||||
}
|
||||
|
|
|
|||
|
|
@ -57,6 +57,7 @@ wayland = ["winit-wayland"]
|
|||
wayland-csd-adwaita = ["winit-wayland/csd-adwaita"]
|
||||
wayland-csd-adwaita-crossfont = ["winit-wayland/csd-adwaita-crossfont"]
|
||||
wayland-csd-adwaita-notitle = ["winit-wayland/csd-adwaita-notitle"]
|
||||
wayland-csd-adwaita-notitlebar = ["winit-wayland/csd-adwaita-notitlebar"]
|
||||
wayland-dlopen = ["winit-wayland/dlopen"]
|
||||
x11 = ["dep:winit-x11"]
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue