autocommit 2022-04-10 18:26:13 CEST
This commit is contained in:
parent
af152f7f3e
commit
6b3316e920
26 changed files with 514 additions and 82 deletions
23
src/state.rs
23
src/state.rs
|
|
@ -75,6 +75,7 @@ pub struct State {
|
|||
pub logger: Arc<Logger>,
|
||||
pub connectors: CopyHashMap<ConnectorId, Rc<ConnectorData>>,
|
||||
pub outputs: CopyHashMap<ConnectorId, Rc<OutputData>>,
|
||||
pub status: CloneCell<Rc<String>>,
|
||||
}
|
||||
|
||||
pub struct InputDeviceData {
|
||||
|
|
@ -265,4 +266,26 @@ impl State {
|
|||
seat.workspace_changed(&output);
|
||||
}
|
||||
}
|
||||
|
||||
pub fn float_map_ws(&self) -> Rc<WorkspaceNode> {
|
||||
if let Some(seat) = self.seat_queue.last() {
|
||||
let output = seat.get_output();
|
||||
if !output.is_dummy {
|
||||
return output.ensure_workspace();
|
||||
}
|
||||
}
|
||||
if let Some(output) = self.root.outputs.lock().values().cloned().next() {
|
||||
return output.ensure_workspace();
|
||||
}
|
||||
self.dummy_output.get().unwrap().ensure_workspace()
|
||||
}
|
||||
|
||||
pub fn set_status(&self, status: &str) {
|
||||
let status = Rc::new(status.to_owned());
|
||||
self.status.set(status.clone());
|
||||
let outputs = self.root.outputs.lock();
|
||||
for output in outputs.values() {
|
||||
output.set_status(&status);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue