Publish tool cleanup and Framework monitoring refinements
This commit is contained in:
@@ -23,6 +23,7 @@ find_package(XKB REQUIRED)
|
||||
|
||||
# KWin caches both QML components and directory listings for its whole session.
|
||||
# Changed helper code needs a new directory, not just a new filename.
|
||||
set_property(DIRECTORY APPEND PROPERTY CMAKE_CONFIGURE_DEPENDS TaskbarGeometry.qml)
|
||||
file(SHA256 "${CMAKE_CURRENT_SOURCE_DIR}/TaskbarGeometry.qml" geometry_hash)
|
||||
set(geometry_dir "plasma-task-group-shortcuts/${geometry_hash}")
|
||||
configure_file(TaskbarGeometry.qml "qml/${geometry_hash}/TaskbarGeometry.qml" COPYONLY)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
Name: plasma-task-group-shortcuts
|
||||
Version: 0.1.0
|
||||
Release: 20%{?dist}
|
||||
Release: 21%{?dist}
|
||||
Summary: Windows-like application-group shortcuts for the Plasma Task Manager
|
||||
|
||||
License: MIT
|
||||
@@ -62,6 +62,10 @@ install -Dpm 0644 %{SOURCE2} \
|
||||
%{_sysconfdir}/xdg/autostart/se.ajpanton.plasma-task-group-shortcuts-autostart.desktop
|
||||
|
||||
%changelog
|
||||
* Sat Sep 12 2026 fedora-tools contributors - 0.1.0-21
|
||||
- Validate group indices and reduce repeated launcher lookups
|
||||
- Refresh geometry resource hashes during incremental builds
|
||||
|
||||
* Thu Sep 10 2026 fedora-tools contributors - 0.1.0-20
|
||||
- Load updated geometry helpers without reusing KWin's cached QML
|
||||
|
||||
|
||||
@@ -43,15 +43,15 @@ QVector<int> logicalTaskRows(const QAbstractItemModel &model, bool separateLaunc
|
||||
continue;
|
||||
}
|
||||
|
||||
const QString launcherAppId = launcher.data(AbstractTasksModel::AppId).toString();
|
||||
const QUrl launcherUrl = launcher.data(AbstractTasksModel::LauncherUrlWithoutIcon).toUrl();
|
||||
for (int windowRow = 0; windowRow < model.rowCount(); ++windowRow) {
|
||||
const QModelIndex window = model.index(windowRow, 0);
|
||||
if (!window.data(AbstractTasksModel::IsWindow).toBool()) {
|
||||
continue;
|
||||
}
|
||||
|
||||
const QString launcherAppId = launcher.data(AbstractTasksModel::AppId).toString();
|
||||
const QString windowAppId = window.data(AbstractTasksModel::AppId).toString();
|
||||
const QUrl launcherUrl = launcher.data(AbstractTasksModel::LauncherUrlWithoutIcon).toUrl();
|
||||
const QUrl windowUrl = window.data(AbstractTasksModel::LauncherUrlWithoutIcon).toUrl();
|
||||
if ((!launcherAppId.isEmpty() && launcherAppId == windowAppId)
|
||||
|| (launcherUrl.isValid() && windowUrl.isValid()
|
||||
@@ -76,6 +76,9 @@ QVector<int> logicalTaskRows(const QAbstractItemModel &model, bool separateLaunc
|
||||
int initialCyclePosition(const QAbstractItemModel &model, int row, bool startWithFirst, bool backwards)
|
||||
{
|
||||
const QModelIndex group = model.index(row, 0);
|
||||
if (!group.isValid()) {
|
||||
return 0;
|
||||
}
|
||||
const int childCount = model.rowCount(group);
|
||||
if (childCount == 0) {
|
||||
return 0;
|
||||
|
||||
@@ -31,6 +31,8 @@ void TaskSelectionTest::returnsTopLevelTask()
|
||||
|
||||
QCOMPARE(taskToActivate(model, 0, 0), model.index(0, 0));
|
||||
QVERIFY(!taskToActivate(model, 1, 0).isValid());
|
||||
QCOMPARE(initialCyclePosition(model, 1, false, true), 0);
|
||||
QCOMPARE(initialCyclePosition(model, -1, false, true), 0);
|
||||
}
|
||||
|
||||
void TaskSelectionTest::selectsChildByCyclePosition()
|
||||
|
||||
Reference in New Issue
Block a user