mirror of
https://invent.kde.org/marcoa/shift-shell.git
synced 2026-06-11 00:47:22 +00:00
Ungroup Running panel windows
Show each running window as its own card in the Folio Running panel, including duplicate apps. When a card is dropped on another desktop, still call requestVirtualDesktops() after notifying dynamic tiling so the move actually completes. Add a guard to keep both behaviors from regressing.
This commit is contained in:
parent
d9943d2e7a
commit
02170250f1
2 changed files with 20 additions and 3 deletions
|
|
@ -105,7 +105,7 @@ Item {
|
|||
filterByScreen: true
|
||||
filterHidden: false
|
||||
activity: activityInfo.currentActivity
|
||||
groupMode: TaskManager.TasksModel.GroupApplications
|
||||
groupMode: TaskManager.TasksModel.GroupDisabled
|
||||
}
|
||||
|
||||
TaskManager.TasksModel {
|
||||
|
|
@ -117,7 +117,7 @@ Item {
|
|||
filterHidden: false
|
||||
virtualDesktop: virtualDesktopInfo.currentDesktop
|
||||
activity: activityInfo.currentActivity
|
||||
groupMode: TaskManager.TasksModel.GroupApplications
|
||||
groupMode: TaskManager.TasksModel.GroupDisabled
|
||||
sortMode: root.sortByName ? TaskManager.TasksModel.SortAlpha : TaskManager.TasksModel.SortLastActivated
|
||||
}
|
||||
|
||||
|
|
@ -429,7 +429,6 @@ Item {
|
|||
const action = root.dynamicTilingMoveToDesktopAction(desktopId, desktopIndex)
|
||||
if (action !== "") {
|
||||
ShellSettings.Settings.requestDynamicTilingWindowAction(taskCard.windowId, action)
|
||||
return
|
||||
}
|
||||
}
|
||||
tasksModel.requestVirtualDesktops(taskCard.modelIndex, [desktopId])
|
||||
|
|
|
|||
|
|
@ -11,6 +11,7 @@ effect_metadata="$repo_root/kwin/effects/shift-tile-preview/metadata.json"
|
|||
effects_cmake="$repo_root/kwin/effects/CMakeLists.txt"
|
||||
tiling_script="$repo_root/kwin/scripts/shift-tiling/contents/ui/main.qml"
|
||||
decoration_qml="$repo_root/kwin/decorations/org.shift.decoration/contents/ui/main.qml"
|
||||
running_apps_panel="$repo_root/containments/homescreens/folio/qml/RunningAppsPanel.qml"
|
||||
env_config="$repo_root/envmanager/config.h"
|
||||
|
||||
require_line() {
|
||||
|
|
@ -125,6 +126,23 @@ require_line "$decoration_qml" "borders.bottom = normalCornerRadius;"
|
|||
require_line "$decoration_qml" "PathArc { x: root.width - root.cornerRadius; y: root.height; radiusX: root.cornerRadius; radiusY: root.cornerRadius }"
|
||||
require_line "$decoration_qml" "PathArc { x: 0; y: root.height - root.cornerRadius; radiusX: root.cornerRadius; radiusY: root.cornerRadius }"
|
||||
|
||||
running_panel_group_disabled_count="$(grep -F "groupMode: TaskManager.TasksModel.GroupDisabled" "$running_apps_panel" | wc -l)"
|
||||
if [[ "$running_panel_group_disabled_count" -ne 2 ]]; then
|
||||
echo "Expected the Folio Running panel to disable grouping for both task models; found $running_panel_group_disabled_count" >&2
|
||||
exit 1
|
||||
fi
|
||||
reject_line "$running_apps_panel" "groupMode: TaskManager.TasksModel.GroupApplications"
|
||||
|
||||
if awk '
|
||||
/ShellSettings\.Settings\.requestDynamicTilingWindowAction\(taskCard\.windowId, action\)/ { seen = 1; next }
|
||||
seen && /return/ { exit 0 }
|
||||
seen && /tasksModel\.requestVirtualDesktops\(taskCard\.modelIndex, \[desktopId\]\)/ { exit 1 }
|
||||
END { exit 1 }
|
||||
' "$running_apps_panel"; then
|
||||
echo "Expected the Folio Running panel desktop drop to fall through to TaskManager after notifying dynamic tiling" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
reject_line "$tiling_script" "targetKey = lastLeafKey(rootNode)"
|
||||
reject_line "$tiling_script" "function lastLeafKey(node)"
|
||||
reject_line "$tiling_script" "win.output.name !== outputName"
|
||||
|
|
|
|||
Loading…
Reference in a new issue