Window management - Change spread ordering from recency to spatial

Bug #1033943 reported by John Lea
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Ayatana Design
Fix Committed
High
John Lea
unity (Ubuntu)
Fix Released
High
Unassigned

Bug Description

By default, windows are shown in a order that corresponds as closely as possible to the physical location of the windows on the screen (spatial layout). If two or more windows are in the exact same location (e.g. both windows are maximised), they should be shown in the order in which they were created.

For more details see section "2.1. Application Spread" in https://docs.google.com/a/canonical.com/document/d/1EdrlUuZvA9P8-BZufUU2KlHGjg49p9UacF4MCL0U5uA/edit#heading=h.pgfs08v5wuv3

Visual designs are available at http://design.canonical.com/the-toolkit/unity-task-switching/

Tags: exbacklog udp
John Lea (johnlea)
Changed in ayatana-design:
assignee: nobody → John Lea (johnlea)
Changed in unity:
milestone: none → backlog
Changed in ayatana-design:
importance: Undecided → High
Changed in unity:
importance: Undecided → High
Changed in unity (Ubuntu):
importance: Undecided → High
tags: added: udp
Changed in ayatana-design:
status: New → Triaged
Changed in unity:
status: New → Triaged
Changed in unity (Ubuntu):
status: New → Triaged
Revision history for this message
Sam Spilsbury (smspillaz) wrote :

Difficulty: Easy
Method: Test and make sure this branch still works: https://code.launchpad.net/~smspillaz/unity/unity.scale_layout
Test: Need to get the window layout code under unit test. Talk to jason about it.

Revision history for this message
Andrea Azzarone (azzar1) wrote :

IIRC we already show windows «in a order that corresponds as closely as possible to the physical location of the windows on the screen».

Revision history for this message
Olivier Tilloy (osomon) wrote :

That’s correct, the scale plugin computes slots so as to minimize the distances between the windows’ original position and the corresponding slots.

Need to check whether recency is used as a criterion to decide between two windows that have the exact same position.

Revision history for this message
Olivier Tilloy (osomon) wrote :

I just tested the feature with four firefox windows and the computation of the slots according to the original position of the windows seems to work. With four windows, I’m seeing two rows, the first one with three thumbnails and the second one with only one. This looks odd to me, I would have expected two thumbnails on each row, but in any case that’s a separate issue.

However when all four windows have the same position, they are not ordered by recency, so that needs fixing.

John Lea (johnlea)
Changed in ayatana-design:
status: Triaged → Fix Committed
Changed in unity:
assignee: nobody → Renato Araujo Oliveira Filho (renatofilho)
status: Triaged → In Progress
Revision history for this message
Sam Spilsbury (smspillaz) wrote :

Right, the sorting order is based on recency. You'll need to tweak the layout algorithm to take that into account the window position as an option.

Revision history for this message
Olivier Tilloy (osomon) wrote :

@Sam: your last comment got me confused.

From a quick glance at the code, it looks to me like the current algorithm to position the windows in the spread minimizes the distance to the slot. So that would be the first half of the design specification already implemented. What seems to be missing is the use of the recency criterion to decide between two windows that have the exact same geometry.

Or am I misunderstanding the current state of the code?

Tim Penhey (thumper)
Changed in unity:
milestone: backlog → none
Tim Penhey (thumper)
tags: added: exbacklog
John Lea (johnlea)
Changed in unity:
assignee: Renato Araujo Oliveira Filho (renatofilho) → nobody
status: In Progress → Triaged
Revision history for this message
Andrea Azzarone (azzar1) wrote :

Should be already fixed.

no longer affects: unity
Changed in unity (Ubuntu):
status: Triaged → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.