pub struct WmClass(/* private fields */);
Expand description
The value of a window’s WM_CLASS
property.
Usage example:
use x11rb::connection::Connection;
use x11rb::errors::ConnectionError;
use x11rb::properties::WmClass;
use x11rb::protocol::xproto::Window;
fn print_class_instance(
conn: &impl Connection,
window: Window,
) -> Result<bool, ConnectionError> {
let wm_class = match WmClass::get(conn, window)?.reply_unchecked()? {
Some(wm_class) => wm_class,
None => return Ok(false), // Getting the property failed
};
// Note that the WM_CLASS property is not actually encoded in utf8.
// ASCII values are most common and for these from_utf8() should be fine.
let class = std::str::from_utf8(wm_class.class());
let instance = std::str::from_utf8(wm_class.instance());
println!(
"For window {:x}, class is '{:?}' and instance is '{:?}'",
window, class, instance,
);
Ok(true)
}
Implementations§
Source§impl WmClass
impl WmClass
Sourcepub fn get<C: RequestConnection>(
conn: &C,
window: Window,
) -> Result<WmClassCookie<'_, C>, ConnectionError>
pub fn get<C: RequestConnection>( conn: &C, window: Window, ) -> Result<WmClassCookie<'_, C>, ConnectionError>
Send a GetProperty
request for the WM_CLASS
property of the given window
Sourcepub fn from_reply(reply: GetPropertyReply) -> Result<Option<Self>, ParseError>
pub fn from_reply(reply: GetPropertyReply) -> Result<Option<Self>, ParseError>
Construct a new WmClass
instance from a GetPropertyReply
.
The original GetProperty
request must have been for a WM_CLASS
property for this
function to return sensible results.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for WmClass
impl RefUnwindSafe for WmClass
impl Send for WmClass
impl Sync for WmClass
impl Unpin for WmClass
impl UnwindSafe for WmClass
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more