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
|
filterByScreen: true
|
||||||
filterHidden: false
|
filterHidden: false
|
||||||
activity: activityInfo.currentActivity
|
activity: activityInfo.currentActivity
|
||||||
groupMode: TaskManager.TasksModel.GroupApplications
|
groupMode: TaskManager.TasksModel.GroupDisabled
|
||||||
}
|
}
|
||||||
|
|
||||||
TaskManager.TasksModel {
|
TaskManager.TasksModel {
|
||||||
|
|
@ -117,7 +117,7 @@ Item {
|
||||||
filterHidden: false
|
filterHidden: false
|
||||||
virtualDesktop: virtualDesktopInfo.currentDesktop
|
virtualDesktop: virtualDesktopInfo.currentDesktop
|
||||||
activity: activityInfo.currentActivity
|
activity: activityInfo.currentActivity
|
||||||
groupMode: TaskManager.TasksModel.GroupApplications
|
groupMode: TaskManager.TasksModel.GroupDisabled
|
||||||
sortMode: root.sortByName ? TaskManager.TasksModel.SortAlpha : TaskManager.TasksModel.SortLastActivated
|
sortMode: root.sortByName ? TaskManager.TasksModel.SortAlpha : TaskManager.TasksModel.SortLastActivated
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -429,7 +429,6 @@ Item {
|
||||||
const action = root.dynamicTilingMoveToDesktopAction(desktopId, desktopIndex)
|
const action = root.dynamicTilingMoveToDesktopAction(desktopId, desktopIndex)
|
||||||
if (action !== "") {
|
if (action !== "") {
|
||||||
ShellSettings.Settings.requestDynamicTilingWindowAction(taskCard.windowId, action)
|
ShellSettings.Settings.requestDynamicTilingWindowAction(taskCard.windowId, action)
|
||||||
return
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
tasksModel.requestVirtualDesktops(taskCard.modelIndex, [desktopId])
|
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"
|
effects_cmake="$repo_root/kwin/effects/CMakeLists.txt"
|
||||||
tiling_script="$repo_root/kwin/scripts/shift-tiling/contents/ui/main.qml"
|
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"
|
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"
|
env_config="$repo_root/envmanager/config.h"
|
||||||
|
|
||||||
require_line() {
|
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: 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 }"
|
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" "targetKey = lastLeafKey(rootNode)"
|
||||||
reject_line "$tiling_script" "function lastLeafKey(node)"
|
reject_line "$tiling_script" "function lastLeafKey(node)"
|
||||||
reject_line "$tiling_script" "win.output.name !== outputName"
|
reject_line "$tiling_script" "win.output.name !== outputName"
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue