6#include <phosphortileengine_export.h>
109 m_contextGapProvider = std::move(provider);
127 std::optional<QVariant> perScreenOverride(
const QString& screenId,
const QString& key)
const;
131 std::optional<int> contextGap(
const QString& screenId, QLatin1String key)
const;
136 std::optional<::PhosphorLayout::EdgeGaps> contextOuterGaps(
const QString& screenId)
const;
139 QHash<QString, QVariantMap> m_perScreenOverrides;
Core engine for automatic window tiling.
Definition AutotileEngine.h:65
Resolves per-screen configuration overrides for autotiling.
Definition PerScreenConfigResolver.h:40
bool effectiveRespectMinimumSize(const QString &screenId) const
PerScreenConfigResolver(AutotileEngine *engine)
void removeOverridesForScreen(const QString &screenId)
Remove all overrides for a screen (used during screen removal)
int effectiveMaxWindows(const QString &screenId) const
void clearPerScreenConfig(const QString &screenId)
Clear per-screen configuration overrides.
::PhosphorLayout::EdgeGaps effectiveOuterGaps(const QString &screenId) const
void applyPerScreenConfig(const QString &screenId, const QVariantMap &overrides)
Apply per-screen configuration overrides.
QString effectiveAlgorithmId(const QString &screenId) const
PhosphorTiles::TilingAlgorithm * effectiveAlgorithm(const QString &screenId) const
bool effectiveSmartGaps(const QString &screenId) const
std::function< QVariantMap(const QString &screenId)> ContextGapProvider
Inject a per-context (window-rule) gap-override provider.
Definition PerScreenConfigResolver.h:106
void setContextGapProvider(ContextGapProvider provider)
Definition PerScreenConfigResolver.h:107
QVariantMap perScreenOverrides(const QString &screenId) const
Get currently applied per-screen overrides for comparison.
qreal effectiveSplitRatioStep(const QString &screenId) const
void updatePerScreenOverride(const QString &screenId, const QString &key, const QVariant &value)
Update a single per-screen override value in-place.
bool hasPerScreenOverride(const QString &screenId, const QString &key) const
Check if a screen has a per-screen override for a specific key.
int effectiveInnerGap(const QString &screenId) const
int effectiveOuterGap(const QString &screenId) const
Abstract base class for tiling algorithms.
Definition TilingAlgorithm.h:51
Definition PerScreenKeys.h:9
Definition AutotileConfig.h:13
Definition AutotileEngine.h:46
Per-side edge gap values (resolved, non-negative pixel values)
Definition EdgeGaps.h:27