Something always felt odd to me with pavucontrol's layout, and I think I finally figured out what it is: the horizontal tabs at the top. The problem is that in many verbose languages (such as French) they become very lengthy, and then the notebook overflows into scroll mode, which is not handled very well by GTK.
A better layout I would propose would be to simply use vertical tabs, and to remove the 12px padding (border) around the vbox containing the notebook widget.
This would make pavucontrol look great on the official GTK theme, Adwaita. Screenshots attached.
You might be surprised to find out that, paradoxally, with vertical tabs the window actually becomes less wide, and the contents inside each page feel more balanced (less stretched horizontally, especially the sliders and vumeters). This looks especially great on widescreen monitors.
Created attachment 123003 [details]
screenshot - proposed UI
Created attachment 123004 [details]
screenshot - current UI
Actually, my proposed change (vertical tabs and no border padding) is more compact in both dimensions, requiring less minimum window width and height before contents need to be scrolled. Win win all around.
I've already pushed out a change to remove the extra border. If we want to follow the GNOME3 HIG, it looks like we should be using the View Switcher pattern (https://developer.gnome.org/hig/stable/view-switchers.html.en)
I'm not against trying the vertical notebook though. Want to send a patch? ;)
(In reply to Jean-François Fortin Tam from comment #1)
> Created attachment 123003 [details]
> screenshot - proposed UI
That looks way better, good job.
The use of a "view switcher" might be the more technically correct approach, it's just not a one-liner quickfix, I guess ;) I wonder how it would look like, if it would have significant visual layout advantages over the "tabs at the top" approach (somehow I found the sidebar-like appearance nice to look at).
If you're considering a more complex approach than just flipping the tabs orientation, then you might want to consider this related problem: I always end up confusing the "application" vs "devices" tabs, as currently the following is all placed on the same level of importance and with somewhat similar semantics:
- "Playback" ("Playing streams/apps" to be precise)
- "Recording" ("Recording streams/apps" to be accurate)
- "Output devices"
- "Input devices"
- "Configuration" (really "Hardware devices configuration")
One could imagine a more hierarchical system (treeview-style), maybe with something organized roughly like:
A bit oldschool, but I would find it easier to navigate, personally speaking. It's not a huge deal though, I reckon it might be a bit tricky.