Mir

need way to position menus and tooltips (relative positioning to parent)

Bug #1324101 reported by desrt
28
This bug affects 5 people
Affects Status Importance Assigned to Milestone
Mir
Fix Released
High
Alberto Aguirre
mir (Ubuntu)
Fix Released
Undecided
Unassigned

Bug Description

Without:

 (a) knowing root-relative coordinates

and

  (b) having a way to specify that a window is created at a given position

it is not possible to correctly position menus and toolbars.

It would be nice if we either got those things or if Mir were to provide a mechanism by which we could specify a relative offset within our window and the display server take care of adjusting things if needed.

The amount of adjustments required may be pretty complex, though:

 - move menus in from the side of the screen if they would run off

 - if it's a submenu and we move it in, we may rather need to move it to the other side of its parent menu

 - we also need to consider different rules for combobox-style popups

Tags: gtk-mir next

Related branches

Changed in mir:
status: New → Triaged
tags: added: gtk-mir
Changed in mir:
importance: Undecided → Medium
kevin gunn (kgunn72)
Changed in mir:
importance: Medium → High
assignee: nobody → Chris Halse Rogers (raof)
kevin gunn (kgunn72)
tags: added: next
Changed in mir:
assignee: Chris Halse Rogers (raof) → nobody
Changed in mir:
assignee: nobody → Daniel van Vugt (vanvugt)
summary: - need way to position menus and tooltips
+ need way to position menus and tooltips (relative positioning to parent)
Changed in mir:
milestone: none → 0.9.0
Changed in mir:
status: Triaged → In Progress
Changed in mir:
status: In Progress → Triaged
Changed in mir:
milestone: 0.9.0 → 0.10.0
Changed in mir:
assignee: Daniel van Vugt (vanvugt) → nobody
Changed in mir:
assignee: nobody → Alberto Aguirre (albaguirre)
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Although I said I would not... if Alberto is busy and if the contentious protocol bits are landed already, then I would be willing to make another attempt at this.

Changed in mir:
status: Triaged → In Progress
Changed in mir:
milestone: 0.10.0 → 0.11.0
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.11.0

Changed in mir:
status: In Progress → Fix Committed
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

r2219 only adds a client function for menus, not tooltips. Do we want to wait for the tooltips part or someone log a new bug for that ?

Changed in mir:
status: Fix Committed → In Progress
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :

Fix committed into lp:mir at revision 2249, scheduled for release in mir, milestone 0.11.0

Changed in mir:
status: In Progress → Fix Committed
Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (3.2 KiB)

This bug was fixed in the package mir - 0.11.0+15.04.20150209.1-0ubuntu1

---------------
mir (0.11.0+15.04.20150209.1-0ubuntu1) vivid; urgency=medium

  [ Daniel van Vugt ]
  * New upstream release 0.11.0 (https://launchpad.net/mir/+milestone/0.11.0)
    - Enhancements:
      . Lots more major plumbing in the Android code, on the path to
        supporting external displays.
      . Add support for clang 3.6.
      . Major redesign of server classes in mir::shell,scene and friends
        (still in progress).
      . Added client API for creating dialogs and tooltips.
      . Added new surface states: mir_surface_state_hidden and
        mir_surface_state_horizmaximized.
      . Performance: Use optimally efficient fragment shading when possible.
      . Performance: (Desktop) Composite using double buffering instead of
        triple to reduce visible lag.
      . mir_proving_server: Can now resize windows from any edge or corner
        using the existing Alt+middlebuttondrag.
      . mir_proving_server: Added some demo custom shaders (negative and
        high contrast modes: Super+N/C).
      . mir_proving_server: Can now close clients politely via Alt+F4.
      . Added MirPointerInputEvent (part of the new input API, the old
        MirMotionEvent is still supported also for now).
    - ABI summary: Servers need rebuilding, but clients do not;
      . Mirclient ABI unchanged at 8
      . Mircommon ABI unchanged at 3
      . Mirplatform ABI bumped to 6
      . Mirserver ABI bumped to 29
    - Bug fixes:
      . [regression] mir_demo_server exits immediately with boost
        bad_any_cast exception (LP: #1414630)
      . need way to position menus and tooltips (relative positioning to
        parent) (LP: #1324101)
      . GLibMainLoopTest failure seen in CI (LP: #1413748)
      . Clang builds fail in CI (LP: #1416317)
      . segfault in mir::compositor::GLProgramFamily::Shader::init()
        (LP: #1416482)
      . GLRenderer: The default fragment shader is sub-optimal for alpha=1.0
        (LP: #1350674)
      . mesa::DisplayBuffer::post_update is triple buffered - more laggy than
        it needs to be (LP: #1350725)
      . Cannot connect to nested server when started from a differen vt
        (LP: #1379266)
      . [testfail] AsioMainLoopAlarmTest fails in CI (LP: #1392256)
      . Compositor report inconsistently reports frame time during bypass,
        and render time otherwise (LP: #1408906)
      . [regression] mir_demo_client_fingerpaint doesn't paint anything any
        more (with the mouse) (LP: #1413139)
      . Hardware cursor is always slightly ahead of the composited image
        (LP: #1274408)
      . integration tests are outputting (too many) DisplayServer log
        messages (LP: #1408231)
      . [regression] deploy-and-test.sh doesn't work any more (unless you
        have umockdev installed already) (LP: #1413479)
      . Color Inverse on display. Toggle Negative Image (LP: #1400580)
      . mir-ubuntu-vivid-armhf-ci fails consistently (LP: #1407863)
      . Double-buffered surfaces may lag or freeze if event driven and not
        constantly redrawing (LP: #1395581)
      . Pointer motion and crossing events...

Read more...

Changed in mir (Ubuntu):
status: New → Fix Released
Changed in mir:
status: Fix Committed → 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.