Skip to content

Commit 5575f51

Browse files
wayland: add wayland-csd-adwaita-notitlebar feature
Addition to already present `notitle` feature.
1 parent 2ede84a commit 5575f51

File tree

4 files changed

+11
-6
lines changed

4 files changed

+11
-6
lines changed

winit-wayland/Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ default = ["dlopen", "csd-adwaita"]
1414
csd-adwaita = ["sctk-adwaita", "sctk-adwaita/ab_glyph"]
1515
csd-adwaita-crossfont = ["sctk-adwaita", "sctk-adwaita/crossfont"]
1616
csd-adwaita-notitle = ["sctk-adwaita"]
17+
csd-adwaita-notitlebar = ["csd-adwaita-notitle"]
1718
dlopen = ["wayland-backend/dlopen"]
1819
serde = ["dep:serde", "bitflags/serde", "smol_str/serde", "dpi/serde"]
1920

winit-wayland/src/lib.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
//! * `wayland-csd-adwaita` (default).
1414
//! * `wayland-csd-adwaita-crossfont`.
1515
//! * `wayland-csd-adwaita-notitle`.
16+
//! * `wayland-csd-adwaita-notitlebar`.
1617
use std::ffi::c_void;
1718
use std::ptr::NonNull;
1819

winit-wayland/src/window/state.rs

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -302,7 +302,7 @@ impl WindowState {
302302
subcompositor.clone(),
303303
self.queue_handle.clone(),
304304
#[cfg(feature = "sctk-adwaita")]
305-
into_sctk_adwaita_config(self.theme),
305+
create_sctk_adwaita_config(self.theme),
306306
) {
307307
Ok(mut frame) => {
308308
frame.set_title(&self.title);
@@ -816,7 +816,7 @@ impl WindowState {
816816
self.theme = theme;
817817
#[cfg(feature = "sctk-adwaita")]
818818
if let Some(frame) = self.frame.as_mut() {
819-
frame.set_config(into_sctk_adwaita_config(theme))
819+
frame.set_config(create_sctk_adwaita_config(theme))
820820
}
821821
}
822822

@@ -1228,12 +1228,14 @@ fn resize_direction_to_xdg(direction: ResizeDirection) -> XdgResizeEdge {
12281228
}
12291229
}
12301230

1231-
// NOTE: Rust doesn't allow `From<Option<Theme>>`.
12321231
#[cfg(feature = "sctk-adwaita")]
1233-
fn into_sctk_adwaita_config(theme: Option<Theme>) -> sctk_adwaita::FrameConfig {
1234-
match theme {
1232+
fn create_sctk_adwaita_config(theme: Option<Theme>) -> sctk_adwaita::FrameConfig {
1233+
let config = match theme {
12351234
Some(Theme::Light) => sctk_adwaita::FrameConfig::light(),
12361235
Some(Theme::Dark) => sctk_adwaita::FrameConfig::dark(),
12371236
None => sctk_adwaita::FrameConfig::auto(),
1238-
}
1237+
};
1238+
#[cfg(feature = "csd-adwaita-notitlebar")]
1239+
let config = config.hide_titlebar(true);
1240+
config
12391241
}

winit/Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,7 @@ wayland = ["winit-wayland"]
5757
wayland-csd-adwaita = ["winit-wayland/csd-adwaita"]
5858
wayland-csd-adwaita-crossfont = ["winit-wayland/csd-adwaita-crossfont"]
5959
wayland-csd-adwaita-notitle = ["winit-wayland/csd-adwaita-notitle"]
60+
wayland-csd-adwaita-notitlebar = ["winit-wayland/csd-adwaita-notitlebar"]
6061
wayland-dlopen = ["winit-wayland/dlopen"]
6162
x11 = ["dep:winit-x11"]
6263

0 commit comments

Comments
 (0)