49 if (!groupName.startsWith(prefix))
51 QString remainder = groupName.mid(prefix.size());
52 if (remainder.isEmpty())
55 int actIdx = remainder.indexOf(QLatin1String(
":Activity:"));
57 const QString
activity = remainder.mid(actIdx + 10);
60 remainder = remainder.left(actIdx);
62 int deskIdx = remainder.indexOf(QLatin1String(
":Desktop:"));
65 int desktop = remainder.mid(deskIdx + 9).toInt(&ok);
66 if (ok && desktop > 0)
68 remainder = remainder.left(deskIdx);
245 return QStringLiteral(
"snapping");
247 return QStringLiteral(
"autotile");
249 return QStringLiteral(
"scrolling");
274 Q_UNREACHABLE_RETURN(QStringLiteral(
"invalid"));
287 if (wire == QLatin1String(
"snapping")) {
290 if (wire == QLatin1String(
"autotile")) {
293 if (wire == QLatin1String(
"scrolling")) {
QString makeAutotileId(const QString &algorithmId)
Definition LayoutId.h:50
bool isAutotile(const QString &id)
Definition LayoutId.h:28
QString extractAlgorithmId(const QString &id)
Extract the algorithm id portion from an autotile preview id.
Definition LayoutId.h:38
Definition IWindowTrackingService.h:23
size_t qHash(const LayoutAssignmentKey &key, size_t seed=0)
Definition AssignmentEntry.h:75
std::optional< AssignmentEntry::Mode > modeFromWireString(const QString &wire)
Inverse of modeToWireString.
Definition AssignmentEntry.h:285
QString modeToWireString(AssignmentEntry::Mode mode)
Canonical wire-string for an AssignmentEntry::Mode.
Definition AssignmentEntry.h:241
QList< AssignmentEntry::Mode > allModes()
Iteration order for every AssignmentEntry::Mode value.
Definition AssignmentEntry.h:309
Explicit per-context assignment entry storing both mode fields.
Definition AssignmentEntry.h:91
QString snappingLayout
Definition AssignmentEntry.h:116
static AssignmentEntry fromLayoutId(const QString &layoutId)
Create a fresh AssignmentEntry from a layoutId string.
Definition AssignmentEntry.h:162
static AssignmentEntry fromLayoutId(const QString &layoutId, const AssignmentEntry &existing)
Update an existing AssignmentEntry from a layoutId, preserving the "other" field.
Definition AssignmentEntry.h:149
QString activeLayoutId() const
Definition AssignmentEntry.h:119
Mode
Per-context engine selection.
Definition AssignmentEntry.h:100
@ Scrolling
Reserved engine slot for a future scrolling-workspace engine.
Definition AssignmentEntry.h:113
@ Snapping
Definition AssignmentEntry.h:101
@ Autotile
Definition AssignmentEntry.h:102
bool operator==(const AssignmentEntry &other) const
Definition AssignmentEntry.h:139
bool isValid() const
Definition AssignmentEntry.h:135
QString tilingAlgorithm
Definition AssignmentEntry.h:117
Mode mode
Definition AssignmentEntry.h:115
Per-context gap override resolved from window rules.
Definition AssignmentEntry.h:188
std::optional< int > outerGapLeft
Definition AssignmentEntry.h:194
std::optional< int > outerGapBottom
Definition AssignmentEntry.h:193
std::optional< int > zonePadding
Definition AssignmentEntry.h:189
std::optional< int > outerGapTop
Definition AssignmentEntry.h:192
bool isEmpty() const
Definition AssignmentEntry.h:197
std::optional< bool > usePerSideOuterGap
Definition AssignmentEntry.h:191
std::optional< int > outerGap
Definition AssignmentEntry.h:190
std::optional< int > outerGapRight
Definition AssignmentEntry.h:195
Per-context overlay-property overrides resolved from window-rule actions.
Definition AssignmentEntry.h:220
std::optional< int > style
Definition AssignmentEntry.h:223
QVariantMap shaderParams
Definition AssignmentEntry.h:222
std::optional< QString > shaderId
Definition AssignmentEntry.h:221
bool isEmpty() const
Definition AssignmentEntry.h:225
Key for layout assignment (screen + desktop + activity)
Definition AssignmentEntry.h:22
static LayoutAssignmentKey fromGroupName(const QString &groupName, const QString &prefix)
Parse a "<prefix><screenId>[:Desktop:N][:Activity:uuid]" group name.
Definition AssignmentEntry.h:46
bool operator==(const LayoutAssignmentKey &other) const
Definition AssignmentEntry.h:27
QString screenId
Definition AssignmentEntry.h:23
int virtualDesktop
Definition AssignmentEntry.h:24
QString activity
Definition AssignmentEntry.h:25