aboutsummaryrefslogtreecommitdiff
path: root/src/layout/workspace.rs
diff options
context:
space:
mode:
authorIvan Molodetskikh <yalterz@gmail.com>2024-06-20 12:04:10 +0300
committerIvan Molodetskikh <yalterz@gmail.com>2024-09-01 23:47:19 -0700
commit30b213601a4f71d65a2227fa68ffb1ab2a69f671 (patch)
treee68d9db212c6a4ac610ec0f80bb3e5db83950a67 /src/layout/workspace.rs
parent8eb34b2e185aa0e0affea450226369cd3f9e6a78 (diff)
downloadniri-30b213601a4f71d65a2227fa68ffb1ab2a69f671.tar.gz
niri-30b213601a4f71d65a2227fa68ffb1ab2a69f671.tar.bz2
niri-30b213601a4f71d65a2227fa68ffb1ab2a69f671.zip
Implement the event stream IPC
Diffstat (limited to 'src/layout/workspace.rs')
-rw-r--r--src/layout/workspace.rs11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/layout/workspace.rs b/src/layout/workspace.rs
index c948bdf2..17ce9a33 100644
--- a/src/layout/workspace.rs
+++ b/src/layout/workspace.rs
@@ -123,7 +123,7 @@ pub struct OutputId(String);
static WORKSPACE_ID_COUNTER: IdCounter = IdCounter::new();
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
-pub struct WorkspaceId(u32);
+pub struct WorkspaceId(pub u32);
impl WorkspaceId {
fn next() -> WorkspaceId {
@@ -528,6 +528,15 @@ impl<W: LayoutElement> Workspace<W> {
self.output.as_ref()
}
+ pub fn active_window(&self) -> Option<&W> {
+ if self.columns.is_empty() {
+ return None;
+ }
+
+ let col = &self.columns[self.active_column_idx];
+ Some(col.tiles[col.active_tile_idx].window())
+ }
+
pub fn set_output(&mut self, output: Option<Output>) {
if self.output == output {
return;