Phosphor
Qt6 / Wayland library suite for window-management tools
 
Loading...
Searching...
No Matches
PhosphorCompositor::FloatingCache Class Reference

Compositor-agnostic floating window state cache. More...

#include <phosphor-compositor/include/PhosphorCompositor/FloatingCache.h>

Public Member Functions

bool isFloating (const QString &windowId) const
 
void setFloating (const QString &windowId, bool floating)
 
void clear ()
 
int size () const
 
void insert (const QString &windowId)
 Convenience alias for setFloating(windowId, true).
 
void remove (const QString &windowId)
 Convenience alias for setFloating(windowId, false).
 

Detailed Description

Compositor-agnostic floating window state cache.

Tracks which windows are floating using full windowId with appId fallback. Shared by all compositor plugins to avoid duplicating the lookup logic.

setFloating(false) removes the exact windowId and only removes the bare appId key if no other full-ID entry shares it. This ensures clearing "firefox|1" does not affect "firefox|2"'s float state via the appId fallback in isFloating().

Member Function Documentation

◆ clear()

void PhosphorCompositor::FloatingCache::clear ( )
inline

◆ insert()

void PhosphorCompositor::FloatingCache::insert ( const QString &  windowId)
inline

Convenience alias for setFloating(windowId, true).

Kept symmetric with remove() so both entry points share the same guard logic.

◆ isFloating()

bool PhosphorCompositor::FloatingCache::isFloating ( const QString &  windowId) const
inline

◆ remove()

void PhosphorCompositor::FloatingCache::remove ( const QString &  windowId)
inline

Convenience alias for setFloating(windowId, false).

◆ setFloating()

void PhosphorCompositor::FloatingCache::setFloating ( const QString &  windowId,
bool  floating 
)
inline

◆ size()

int PhosphorCompositor::FloatingCache::size ( ) const
inline

The documentation for this class was generated from the following file: