Struct gabelstaplerwm::wm::client::ClientSet
[−]
[src]
pub struct ClientSet { /* fields omitted */ }
A client set.
Managing all direct children of the root window, as well as their orderings on different tagsets. the ordering on different tagsets is organized in a delayed fashion: not all tagsets have an associated client list to avoid unnecessary copying of weak references. cleanup is done as soon as clients are removed, i.e. it is non-lazy.
Methods
impl ClientSet
[src]
fn get_client_by_window(&self, window: Window) -> Option<&ClientRef>
Get a client that corresponds to a given window.
fn get_order_or_insert(&mut self, tags: &BTreeSet<Tag>) -> &mut OrderEntry
Get the order entry for a set of tags.
If not present, create it.
fn add(&mut self, client: Client, as_slave: bool)
Add a new client to the client store.
Adds client object to master HashMap
and creates references to
on the tagsets the client is visible on.
fn remove(&mut self, window: Window) -> bool
Remove the client corresponding to a window.
Removes the client objects and cleans all weak references to it, returning whether a client has actually been removed
fn update_client<F>(&mut self, window: Window, func: F) -> Option<WmCommand> where
F: Fn(RefMut<Client>) -> WmCommand,
F: Fn(RefMut<Client>) -> WmCommand,
Apply a function to the client corresponding to a window.
Maps the function and updates references as needed, returning a window manager command as returned by the passed closure.
fn get_focused_window(&self, tags: &BTreeSet<Tag>) -> Option<Window>
Get the currently focused window on a set of tags.
fn focus_next(&mut self, tagset: &TagSet) -> bool
Focus next window, returning whether changes have been made.
fn swap_next(&mut self, tagset: &TagSet) -> bool
Swap with next window, returning whether changes have been made.
fn focus_prev(&mut self, tagset: &TagSet) -> bool
Focus previous window, returning whether changes have been made.
fn swap_prev(&mut self, tagset: &TagSet) -> bool
Swap with previous window, returning whether changes have been made.
fn focus_right(&mut self, tagset: &TagSet) -> bool
Focus the window to the right, returning whether changes have been made.
fn swap_right(&mut self, tagset: &TagSet) -> bool
Swap with the window to the right, returning whether changes have been made.
fn focus_left(&mut self, tagset: &TagSet) -> bool
Focus the window to the left, returning whether changes have been made.
fn swap_left(&mut self, tagset: &TagSet) -> bool
Swap with the window to the left, returning whether changes have been made.
fn focus_top(&mut self, tagset: &TagSet) -> bool
Focus the window to the top, returning whether changes have been made.
fn swap_top(&mut self, tagset: &TagSet) -> bool
Swap with the window to the left, returning whether changes have been made.
fn focus_bottom(&mut self, tagset: &TagSet) -> bool
Focus the window to the bottom, returning whether changes have been made.
fn swap_bottom(&mut self, tagset: &TagSet) -> bool
Swap with the window to the left, returning whether changes have been made.
fn swap_master(&mut self, tagset: &TagSet) -> bool
Swap with the master window, returning whether changes have been made.