Mir

[enhancement] Missing client function for surface resizing

Bug #1420573 reported by Daniel van Vugt
10
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Mir
Fix Released
Medium
Alan Griffiths
mir (Ubuntu)
Fix Released
Undecided
Unassigned
xorg-server (Ubuntu)
Invalid
Medium
Unassigned

Bug Description

Missing client API for client-initiated interactive resizing (eg: drag on the client-drawn resize handles)

Actually there are two types of client initiated resizing we need to support:

(a) Client specifies new width and height (e.g. video player loaded new file or System Settings switched panel).
(b) Edge resizing for client-drawn decorations (which is closely related to bug 1420334).

(a) Would be something like:
   mir_surface_resize(surface, width, height);

(b) Could be something like:
   mir_surface_move_resize(surface, delta_top, delta_bottom, delta_left, delta_right);
which would solve bug 1420334 also, as you can then say:

void mir_surface_move_by(MirSurface *s, int dx, int dy)
{
    mir_surface_move_resize(s, dy, dy, dx, dx);
}

Related branches

summary: - [enhacement] Missing client API for resizing
+ [enhancement] Missing client API for resizing
description: updated
tags: added: clientapi
summary: - [enhancement] Missing client API for resizing
+ [enhancement] Missing client API for interactive resizing
description: updated
Revision history for this message
Daniel van Vugt (vanvugt) wrote : Re: [enhancement] Missing client API for resizing

It's not just interactive. Sometimes a client just changes size by itself (e.g. control centre).

summary: - [enhancement] Missing client API for interactive resizing
+ [enhancement] Missing client API for resizing
summary: - [enhancement] Missing client API for resizing
+ [enhancement] Missing client function for surface resizing
Revision history for this message
Chris Halse Rogers (raof) wrote :

Right. *That's* the morph window support bug.

summary: - [enhancement] Missing client function for surface resizing
+ [enhancement] Missing client function for interactive resizing
Revision history for this message
Daniel van Vugt (vanvugt) wrote : Re: [enhancement] Missing client function for interactive resizing

I'm not sure "morphing" is always the right term.

Our design docs mentioned type morphing -- changing from one style to another. However a surface simply resizing itself usually is not changing its type. e.g. Navigating System Settings, or Totem showing/hiding the playlist/sidebar.

Revision history for this message
Alberto Aguirre (albaguirre) wrote :

Right, morphing should refer to type semantics.

Note we need non-interactive re-sizing since Qt and SDL will attempt to resize their surfaces after they are visible and not due to any pointer drag events.

summary: - [enhancement] Missing client function for interactive resizing
+ [enhancement] Missing client function for surface resizing
Changed in xmir:
importance: Undecided → Wishlist
status: New → Confirmed
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

I'm working on prerequisite stuff for this, and might even complete this part too.

Changed in mir:
assignee: nobody → Daniel van Vugt (vanvugt)
description: updated
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :

Fix committed into lp:mir at revision None, scheduled for release in mir, milestone 0.13.0

Changed in mir:
status: Triaged → Fix Committed
Changed in mir:
status: Fix Committed → Triaged
Changed in mir:
assignee: Daniel van Vugt (vanvugt) → Alan Griffiths (alan-griffiths)
milestone: none → 0.13.0
status: Triaged → In Progress
Changed in mir:
status: In Progress → Fix Committed
description: updated
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

The solution that landed addresses (a) but not (b). Let's say (b) will be done as part of bug 1420334.

Changed in mir:
status: Fix Committed → Fix Released
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package mir - 0.13.1+15.10.20150520-0ubuntu1

---------------
mir (0.13.1+15.10.20150520-0ubuntu1) wily; urgency=medium

  [ Cemil Azizoglu ]
  * New upstream release 0.13.1 (https://launchpad.net/mir/+milestone/0.13.1)
    - ABI summary: No ABI break. Servers and clients do not need rebuilding.
      . Mirclient ABI unchanged at 8
      . Mircommon ABI unchanged at 4
      . Mirplatform ABI unchanged at 7
      . Mirserver ABI unchanged at 31
    - Bug fixes:
      . Can't load app purchase UI without a U1 account (LP: #1450377)
      . Crash because uncaught exception in mir::events::add_touch (LP: #1437357)

 -- CI Train Bot <email address hidden> Wed, 20 May 2015 21:20:15 +0000

Changed in mir (Ubuntu):
status: New → Fix Released
affects: xmir → xorg-server (Ubuntu)
tags: added: xmir
Changed in xorg-server (Ubuntu):
importance: Wishlist → Medium
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Note to self: I suspect this functionality isn't working properly. Need to write a Mir demo client to take Xmir out of the equation.

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Moved to bug 1511608.

Changed in xorg-server (Ubuntu):
status: Confirmed → Invalid
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.