Advance Wayland and KDE package bring-up

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
This commit is contained in:
2026-04-14 10:51:06 +01:00
parent 51f3c21121
commit cf12defd28
15214 changed files with 20594243 additions and 269 deletions
@@ -0,0 +1,70 @@
/*
KWin - the KDE window manager
This file is part of the KDE project.
SPDX-FileCopyrightText: 2022 Xaver Hugl <xaver.hugl@gmail.com>
SPDX-License-Identifier: GPL-2.0-or-later
*/
#pragma once
#include "utils/common.h"
#include <QHash>
#include <QList>
#include <QRect>
#include <QString>
#include <QUuid>
namespace KWin
{
class Window;
class Workspace;
class PlacementTracker : public QObject
{
Q_OBJECT
public:
PlacementTracker(Workspace *workspace);
void add(Window *window);
void remove(Window *window);
void restore(const QString &key);
void init(const QString &key);
void inhibit();
void uninhibit();
private:
struct WindowData
{
QUuid outputUuid;
QRectF geometry;
MaximizeMode maximize;
QuickTileMode quickTile;
QRectF geometryRestore;
bool fullscreen;
QRectF fullscreenGeometryRestore;
uint32_t interactiveMoveResizeCount;
};
void saveGeometry(Window *window);
void saveInteractionCounter(Window *window);
void saveMaximize(Window *window);
void saveQuickTile(Window *window);
void saveFullscreen(Window *window);
void saveMaximizeGeometryRestore(Window *window);
void saveFullscreenGeometryRestore(Window *window);
WindowData dataForWindow(Window *window) const;
QList<Window *> m_savedWindows;
QHash<QString, QHash<Window *, WindowData>> m_data;
QHash<Window *, WindowData> m_lastRestoreData;
QString m_currentKey;
int m_inhibitCount = 0;
Workspace *const m_workspace;
};
}