From 311e73e097db6f6462ea138d66153aac16e4c928 Mon Sep 17 00:00:00 2001 From: "Dustin C. Hatch" Date: Thu, 5 Jan 2023 14:10:20 -0600 Subject: [PATCH] Fullscreen windows at startup We don't want the browser chrome showing on heads-up displays. --- src/marionette/message.rs | 2 ++ src/marionette/mod.rs | 7 +++++++ src/session.rs | 5 ++++- 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/src/marionette/message.rs b/src/marionette/message.rs index b7af4a0..476213e 100644 --- a/src/marionette/message.rs +++ b/src/marionette/message.rs @@ -117,4 +117,6 @@ pub enum Command { NewWindow, #[serde(rename = "WebDriver:SwitchToWindow")] SwitchToWindow(SwitchToWindowParams), + #[serde(rename = "WebDriver:FullscreenWindow")] + FullscreenWindow, } diff --git a/src/marionette/mod.rs b/src/marionette/mod.rs index 89ec71c..15788d3 100644 --- a/src/marionette/mod.rs +++ b/src/marionette/mod.rs @@ -183,6 +183,13 @@ impl Marionette { Ok(()) } + pub async fn fullscreen(&mut self) -> Result<(), CommandError> { + let res: serde_json::Value = + self.conn.send_message(Command::FullscreenWindow).await?.unwrap(); + debug!("Received message: {:?}", res); + Ok(()) + } + pub async fn get_title(&mut self) -> Result { let res: GetTitleResponse = self.conn.send_message(Command::GetTitle).await?.unwrap(); diff --git a/src/session.rs b/src/session.rs index 1142864..2b004d0 100644 --- a/src/session.rs +++ b/src/session.rs @@ -143,7 +143,10 @@ impl Session { if window.is_none() { window = Some(self.marionette.new_window().await?); } - windowmap.insert(monitor.name, window.take().unwrap()); + let w = window.take().unwrap(); + self.marionette.switch_to_window(w.clone(), false).await?; + self.marionette.fullscreen().await?; + windowmap.insert(monitor.name, w); } trace!("Built window map: {:?}", windowmap); Ok(windowmap)