After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 734352 - Session chooser menu too short
Session chooser menu too short
Status: RESOLVED FIXED
Product: gnome-shell
Classification: Core
Component: login-screen
3.10.x
Other Linux
: Normal normal
: ---
Assigned To: Ray Strode [halfline]
gnome-shell-maint
: 741918 757914 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2014-08-06 11:49 UTC by Anka
Modified: 2016-01-12 21:56 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
screenshot of all sessions (467.91 KB, image/png)
2014-08-06 12:50 UTC, Anka
  Details
loginDialog: Move long session-list menus to the side (1.79 KB, patch)
2015-03-20 13:43 UTC, Florian Müllner
none Details | Review
loginDialog: Move long session-list menus to the side (1.85 KB, patch)
2015-03-20 17:32 UTC, Florian Müllner
committed Details | Review

Description Anka 2014-08-06 11:49:50 UTC
We're running fedora 20 in a computer lab and try to provide a lot of session for our users. But it is not possible to choose all of them, since the session chooser menu is too short to show all of them. There's a scroll bar missing or the chooser menu should open on top of the screen.
Comment 1 Matthias Clasen 2014-08-06 11:54:27 UTC
can you say how many sessions you want to offer ? A screenshot would also be helpful.
Comment 2 Anka 2014-08-06 12:50:04 UTC
Created attachment 282697 [details]
screenshot of all sessions
Comment 3 Anka 2014-08-06 12:50:36 UTC
We have 22 sessions
Comment 4 Maurits Lamers 2014-10-04 10:19:03 UTC
I want to confirm this issue. My screen has a lower resolution than the one in the attached screenshot and consequently the list is even shorter.
Comment 5 Edgar Hoch 2015-03-19 15:30:36 UTC
Is there a solution?

I think it would be simple for the maintainers to enable a scrollbar for a pulldown-menu in the source code.

The patch should be applicable to all versions since 3.12.x, because the problem affects all current fedora versions. This is a very long time without reaction for a simple solvable problem.

This bug report seems to describe the same problem as bug 741918.
Comment 6 Matthias Clasen 2015-03-20 11:21:39 UTC
Florian, can we pop up the menu to the right instead of the bottom when it has more than, say 10 items ? That should give us enough room for 20-30 sessions.
Comment 7 Matthias Clasen 2015-03-20 11:23:37 UTC
*** Bug 741918 has been marked as a duplicate of this bug. ***
Comment 8 Florian Müllner 2015-03-20 13:43:58 UTC
Created attachment 299949 [details] [review]
loginDialog: Move long session-list menus to the side

Currently the menu position below the button means that the menu
can extend to roughly half the screen height before ending up partly
off-screen. This is plenty of space for commonly installed sessions,
but some users have a significantly higher number of sessions in the
list. Move the menu to the side of the button in that case to maximize
the vertical space the menu may take up.
Comment 9 Rui Matos 2015-03-20 14:22:45 UTC
Review of attachment 299949 [details] [review]:

::: js/gdm/loginDialog.js
@@ +50,3 @@
 const _TIMED_LOGIN_IDLE_THRESHOLD = 5.0;
 const _LOGO_ICON_HEIGHT = 48;
+const _MAX_BOTTOM_MENU_ITEMS = 10;

I would lower this to 5 which is already more than any sensible installation would have. I'm thinking of testing in VMs where the monitor size is more likely to be small and the number of sessions big and as such perhaps 10 is still too much to fit below the button?

Do we also want to consider vertically oriented monitors? :-)
Comment 10 Andre Robatino 2015-03-20 14:48:55 UTC
In Fedora at least, some DEs create several menu entries. For example, I have 5 DEs installed (GNOME, KDE, MATE, Cinnamon, Basic) and the entries I can read are

awesome
Cinnamon
Cinnamon (Software Rendering)
dwm
GNOME
GNOME Classic
GNOME on Wayland
i3

In particular, Basic creates around half a dozen entries (don't ask me why).

Should the Version for this bug be set to 3.15.x since that's affected (and was the Version on my duplicate bug)?
Comment 11 Florian Müllner 2015-03-20 17:22:31 UTC
(In reply to Rui Matos from comment #9)
> Review of attachment 299949 [details] [review] [review]:
> 
> ::: js/gdm/loginDialog.js
> @@ +50,3 @@
>  const _TIMED_LOGIN_IDLE_THRESHOLD = 5.0;
>  const _LOGO_ICON_HEIGHT = 48;
> +const _MAX_BOTTOM_MENU_ITEMS = 10;
> 
> I would lower this to 5 which is already more than any sensible installation
> would have.

Sure. I used 4 in my first test attempt, just to be reminded that I don't have actually have more than that (and that's including a custom jhbuild session) ...


> Do we also want to consider vertically oriented monitors? :-)

Not sure, is it worth the code? The limit could be higher there (or even unlimited?), but then the proposed limit of 5 is unlikely enough. Or do you mean a session like "Enlightenment Special Preview Edition (Software renderer)" could bring us in trouble with regard to screen width?


Something else though - should we change the menu alignment as well? At least to me, menus that point left/right look nicer when vertically centered ...
Comment 12 Rui Matos 2015-03-20 17:24:54 UTC
(In reply to Florian Müllner from comment #11)
> Something else though - should we change the menu alignment as well? At
> least to me, menus that point left/right look nicer when vertically centered

Ah, yes that's a good idea
Comment 13 Florian Müllner 2015-03-20 17:32:33 UTC
Created attachment 299973 [details] [review]
loginDialog: Move long session-list menus to the side

Updated limit and alignment.
Comment 14 Edgar Hoch 2015-03-20 18:05:46 UTC
First, thanks for working on a solution.

I am not an expert in interface programming. But I want to note that a fixed limit cannot fit to all display sizes. Wouldn't it be better to compute the maximum number of menu items vertically or horizontally depending on the size of the visible screen, and use the fixed number only as fallback value when the screen size is unknown? This would also solve the problem whether we have a vertically or horizontally oriented monitor or a small or big one.

I don't know internal details of gnome-shell, but is there a reason not to use a scrollbar when there are to much items to fit on the screen, as we had in previous gnome releases? Depending on the size and resolution of the monitor and how much desktops are installed, there may be always a (smaller or bigger) number of items so that the menu will not fit on the screen.


Here an explanation why our list of session managers has many items:

We have varying users, students, staff, with different preferences and experience. Most of them use gnome oder kde, but some of them like to use the session manager they already know or like. It is less expensive for me to install (nearly) all available session managers on the computers in advance, instead of doing a later (individual) install of the requested desktop (and software in general) for every individual requirements. This is the reason why our session chooser menu has many items.
Comment 15 Rui Matos 2015-03-21 14:08:24 UTC
Review of attachment 299973 [details] [review]:

looks good, let's keep this simple
Comment 16 Florian Müllner 2015-03-23 19:26:20 UTC
Attachment 299973 [details] pushed as 9934529 - loginDialog: Move long session-list menus to the side
Comment 17 Michael Catanzaro 2016-01-12 21:56:42 UTC
*** Bug 757914 has been marked as a duplicate of this bug. ***