pub struct ScreenWakeLock { /* private fields */ }Expand description
Guard that keeps the display from idling/sleeping while alive.
Implementations§
Source§impl ScreenWakeLock
impl ScreenWakeLock
Sourcepub fn acquire(reason: impl Into<String>) -> Result<Self, Error>
pub fn acquire(reason: impl Into<String>) -> Result<Self, Error>
Acquire a screen wake lock with a reason string.
Examples found in repository?
examples/keep_awake.rs (line 18)
4fn main() -> Result<(), Box<dyn std::error::Error>> {
5 let mut args = std::env::args().skip(1);
6
7 let reason = args
8 .next()
9 .unwrap_or_else(|| "Running screen-wake-lock example".to_string());
10
11 let seconds: u64 = args.next().as_deref().unwrap_or("10").parse().unwrap_or(10);
12
13 if !ScreenWakeLock::is_supported() {
14 eprintln!("Wake lock is not supported in this environment.");
15 std::process::exit(2);
16 }
17
18 let _lock = ScreenWakeLock::acquire(&reason)?;
19
20 println!("Keeping the display awake for {seconds}s: {reason}");
21 std::thread::sleep(Duration::from_secs(seconds));
22 println!("Done (wake lock released when dropped).");
23
24 Ok(())
25}Sourcepub fn acquire_with_linux_options(
reason: impl Into<String>,
linux: LinuxOptions,
) -> Result<Self, Error>
pub fn acquire_with_linux_options( reason: impl Into<String>, linux: LinuxOptions, ) -> Result<Self, Error>
Acquire, with extra Linux-specific options (safe to call on all platforms).
Sourcepub fn is_supported() -> bool
pub fn is_supported() -> bool
Best-effort check (Linux: checks for a usable inhibitor service).
Examples found in repository?
examples/keep_awake.rs (line 13)
4fn main() -> Result<(), Box<dyn std::error::Error>> {
5 let mut args = std::env::args().skip(1);
6
7 let reason = args
8 .next()
9 .unwrap_or_else(|| "Running screen-wake-lock example".to_string());
10
11 let seconds: u64 = args.next().as_deref().unwrap_or("10").parse().unwrap_or(10);
12
13 if !ScreenWakeLock::is_supported() {
14 eprintln!("Wake lock is not supported in this environment.");
15 std::process::exit(2);
16 }
17
18 let _lock = ScreenWakeLock::acquire(&reason)?;
19
20 println!("Keeping the display awake for {seconds}s: {reason}");
21 std::thread::sleep(Duration::from_secs(seconds));
22 println!("Done (wake lock released when dropped).");
23
24 Ok(())
25}Trait Implementations§
Auto Trait Implementations§
impl Freeze for ScreenWakeLock
impl !RefUnwindSafe for ScreenWakeLock
impl Send for ScreenWakeLock
impl Sync for ScreenWakeLock
impl Unpin for ScreenWakeLock
impl !UnwindSafe for ScreenWakeLock
Blanket Implementations§
§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more