New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Menu applet width bug when pressing arrow keys #7109

Closed
bastimeyer opened this Issue Nov 30, 2017 · 1 comment

Comments

Projects
None yet
2 participants
@bastimeyer

bastimeyer commented Nov 30, 2017

 * Cinnamon version: 3.6.6
 * Distribution: Antergos
 * xf86-video-intel
 * 64 bit

Issue

The width of the popup of the default menu applet (menu@cinnamon.org) seems to be influenced by the X-coordinate of the mouse cursor when navigating through the menu via the arrow keys.
Having the mouse cursor inside the popup is working correctly, but when the menu is set to the left hand side of the screen and the mouse cursor has been moved to the right hand side, the width of the popup increases as soon as the first arrow up/down key is being pressed after opening the menu. When the cursor is touching the edge of the screen, favorite icons become smaller and start to disappear (when using the Adapta theme).

Steps to reproduce

  1. Bottom panel
  2. Menu applet on the left
  3. Mouse cursor on the far right
  4. Open menu via hotkey (eg. Super_L)
  5. Press arrow up/down key
  6. Menu width gets huge

Other information

This issue has occured in one of the recent patches from a couple of days ago (I just upgraded an hour ago). The overall issue is theme independent, as I've tested it with Adapta and the default cinnamon theme. The icons were only disappearing when using Adapta, probably because of some different spacing configuration.

$ pacman -Qo /usr/share/cinnamon/applets/menu@cinnamon.org/applet.js
/usr/share/cinnamon/applets/menu@cinnamon.org/applet.js is owned by cinnamon 3.6.6-1

itzexor added a commit to itzexor/Cinnamon that referenced this issue Dec 1, 2017

menu-applet: don't create a zero-width vector box
fixes the menu growing during keynav since 1c513b2

fixes linuxmint#7109

itzexor added a commit to itzexor/Cinnamon that referenced this issue Dec 2, 2017

menu-applet: rework vectorBox
-Rework the workaround in 1c513b2 so that the overlay box only contains
  the actor we want to overlay, and the overlaying actor itself. This
  simplifies the vectorBox calculations and positioning a bit.
-Reduce code duplication by doing the calculations in a separate function.
-Ignore invalid coordinates. If the mouse is outside the overlay box, then
  we can just destroy or not create the vectorBox.
-Use a ClutterAlignConstraint to keep it in the correct position instead of
  repositioning it manually.
-Some comments explaining the vectorBox.

fixes linuxmint#7109

itzexor added a commit to itzexor/Cinnamon that referenced this issue Dec 3, 2017

menu-applet: rework vectorBox
-Rework the workaround in 1c513b2 so that the overlay
  box only contains the actor we want to overlay, and the
  overlaying actor itself. This simplifies the vectorBox
  calculations and positioning a bit.

-Reduce code duplication by doing the calculations in a
  separate function.

-Ignore invalid coordinates. If the mouse is outside the
  overlay box, then we can just destroy or not create the
  vectorBox.

-Position the vectorBox to the same size as the
  categoriesBox and only change the "point". Avoids having
  to reposition the box every time or rely on an ActorAlign.

-Some comments explaining the vectorBox.

fixes linuxmint#7109

mtwebster added a commit that referenced this issue Dec 3, 2017

menu-applet: rework vectorBox
-Rework the workaround in 1c513b2 so that the overlay
  box only contains the actor we want to overlay, and the
  overlaying actor itself. This simplifies the vectorBox
  calculations and positioning a bit.

-Reduce code duplication by doing the calculations in a
  separate function.

-Ignore invalid coordinates. If the mouse is outside the
  overlay box, then we can just destroy or not create the
  vectorBox.

-Position the vectorBox to the same size as the
  categoriesBox and only change the "point". Avoids having
  to reposition the box every time or rely on an ActorAlign.

-Some comments explaining the vectorBox.

fixes #7109
@itzexor

This comment has been minimized.

Show comment
Hide comment
@itzexor

itzexor Dec 3, 2017

Contributor

This should be fixed in the next release. Thanks for the report.

Contributor

itzexor commented Dec 3, 2017

This should be fixed in the next release. Thanks for the report.

WillDaSilva pushed a commit to WillDaSilva/Cinnamon that referenced this issue Jun 8, 2018

menu-applet: rework vectorBox
-Rework the workaround in 1c513b2 so that the overlay
  box only contains the actor we want to overlay, and the
  overlaying actor itself. This simplifies the vectorBox
  calculations and positioning a bit.

-Reduce code duplication by doing the calculations in a
  separate function.

-Ignore invalid coordinates. If the mouse is outside the
  overlay box, then we can just destroy or not create the
  vectorBox.

-Position the vectorBox to the same size as the
  categoriesBox and only change the "point". Avoids having
  to reposition the box every time or rely on an ActorAlign.

-Some comments explaining the vectorBox.

fixes linuxmint#7109
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment