This is probably too difficult to implement, but I'll post it so that you have the feedback. Some of my menus have lists longer than the screen can display. For example, the Drupal.org menu that links to all of the issue ques only shows the top 10 modules. The reason for this is that I made my Admin menu font size larger than the default.

My solution is to mimic the Firefox Bookmarks command. The bottom of the menu has a space that you hover over and then the menu cycles downwards through the list. A hover-up space then appears at the top of the menu.

Comments

sun’s picture

Version: 6.x-1.3 » 6.x-3.x-dev

Nice idea - do you have some example code to share?

Ariesto’s picture

I wish I did! Unfortunately, I only have a C++ background, so I'm learning how to php/css code on the fly. My project deadlines are approaching fast, so right now the best I can do is offer the idea to the community.

My approach to programming this would be:

  • have two new image files, an "up bar" and "down bar"
  • Have a function check to see if the menu will spill over the browser region or a reasonably set div region (I'm not sure if this is possible)
  • if spillover returns true, reconstruct the menu list with the "up bar" inserted as the first leaf item
  • fill the menu leaf items until a region criteria is met/full
  • for the last menu leaf, insert the "down bar"
  • when a user hovers over the "down bar" the hoverflow plugin is called and the menu list is dynamically regenerated with the "up/down" bars appended to the beginning and end.

I didn't spend a lot of time thinking about this, so there might be better approaches.

For instance, a simpler approach would be to just have the user/programmer select a set number of menu items, say 5, that shows at any given time with the rest accessed through the hover bars.

(http://www.2meter3.de/code/hoverFlow/)

dave reid’s picture

Status: Active » Closed (duplicate)

This should be marked as a duplicate of #196772: Split module settings into sub-menus so we can get a solution for the long menus decided and and fixed.