Skip to content

Commit 6f2f72a

Browse files
committed
fix: resolve master rebase build regressions
Restore the missing rebase integration fixes on top of current master. Keep the fashion dock series buildable after rebasing. Add explicit REUSE sidecar metadata for spotlight assets.
1 parent 1a74c88 commit 6f2f72a

5 files changed

Lines changed: 45 additions & 8 deletions

File tree

frame/layershell/x11dlayershellemulation.cpp

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
#include <xcb/xcb.h>
1818
#include <xcb/xcb_ewmh.h>
1919
#include <xcb/xcb_icccm.h>
20+
#include <xcb/shape.h>
2021

2122
DS_BEGIN_NAMESPACE
2223

@@ -316,6 +317,38 @@ void LayerShellEmulation::onScopeChanged()
316317
qCDebug(layershell) << "Set WM_CLASS for window" << m_window->winId() << " wm_class:" << wmClassData;
317318
}
318319

320+
void LayerShellEmulation::onInputRegionChanged()
321+
{
322+
auto *x11Application = qGuiApp->nativeInterface<QNativeInterface::QX11Application>();
323+
if (!x11Application || !m_window->winId() || !m_dlayerShellWindow) {
324+
return;
325+
}
326+
327+
if (m_dlayerShellWindow->inputRegion().isNull()) {
328+
xcb_shape_mask(x11Application->connection(), XCB_SHAPE_SO_SET, XCB_SHAPE_SK_INPUT, m_window->winId(), 0, 0, XCB_NONE);
329+
xcb_flush(x11Application->connection());
330+
return;
331+
}
332+
333+
QRegion region = m_dlayerShellWindow->inputRegion();
334+
qreal scaleFactor = qGuiApp->devicePixelRatio();
335+
336+
QVector<xcb_rectangle_t> rects;
337+
for (const QRect &r : region) {
338+
xcb_rectangle_t rect;
339+
rect.x = r.x() * scaleFactor;
340+
rect.y = r.y() * scaleFactor;
341+
rect.width = r.width() * scaleFactor;
342+
rect.height = r.height() * scaleFactor;
343+
rects.append(rect);
344+
}
345+
346+
xcb_shape_rectangles(x11Application->connection(), XCB_SHAPE_SO_SET, XCB_SHAPE_SK_INPUT,
347+
XCB_CLIP_ORDERING_UNSORTED, m_window->winId(), 0, 0,
348+
rects.size(), rects.data());
349+
xcb_flush(x11Application->connection());
350+
}
351+
319352
// void X11Emulation::onKeyboardInteractivityChanged()
320353
// {
321354
// // kwin no implentation on wayland
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
SPDX-FileCopyrightText: 2026 UnionTech Software Technology Co., Ltd.
2+
3+
SPDX-License-Identifier: GPL-3.0-or-later
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
SPDX-FileCopyrightText: 2026 UnionTech Software Technology Co., Ltd.
2+
3+
SPDX-License-Identifier: GPL-3.0-or-later

panels/dock/taskmanager/dockglobalelementmodel.cpp

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -951,14 +951,6 @@ QVariant DockGlobalElementModel::data(const QModelIndex &index, int role) const
951951
QModelIndex groupIndex = model->index(row, 0);
952952
return groupIndex.data(TaskManager::WindowsRole).toStringList();
953953
}
954-
case TaskManager::ActiveRole:
955-
case TaskManager::AttentionRole: {
956-
if (model == m_activeAppModel) {
957-
return model->index(row, 0).data(role);
958-
}
959-
return false;
960-
}
961-
962954
case TaskManager::MenusRole: {
963955
return getMenus(index);
964956
}

panels/dock/taskmanager/taskmanager.cpp

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1007,6 +1007,7 @@ TaskManager::TaskManager(QObject *parent)
10071007
qmlRegisterUncreatableType<TextCalculatorAttached>("org.deepin.ds.dock.taskmanager", 1, 0, "TextCalculatorAttached", "TextCalculator Attached");
10081008

10091009
connect(Settings, &TaskManagerSettings::allowedForceQuitChanged, this, &TaskManager::allowedForceQuitChanged);
1010+
connect(Settings, &TaskManagerSettings::showAttentionAnimationChanged, this, &TaskManager::showAttentionAnimationChanged);
10101011
connect(Settings, &TaskManagerSettings::windowSplitChanged, this, &TaskManager::windowSplitChanged);
10111012

10121013
if (auto *thumbnailProvider = Dtk::Gui::DThumbnailProvider::instance()) {
@@ -1291,6 +1292,11 @@ bool TaskManager::allowForceQuit()
12911292
return Settings->isAllowedForceQuit();
12921293
}
12931294

1295+
bool TaskManager::showAttentionAnimation()
1296+
{
1297+
return Settings->showAttentionAnimation();
1298+
}
1299+
12941300
QString TaskManager::desktopIdToAppId(const QString& desktopId) const
12951301
{
12961302
return Q_LIKELY(desktopId.endsWith(".desktop")) ? desktopId.chopped(8) : desktopId;

0 commit comments

Comments
 (0)