GNOME Bugzilla – Bug 782210
Divide message list and preview panel size proportionally
Last modified: 2017-07-12 15:22:07 UTC
I often move Evolution between screens of different sizes (when I undock and leave my external monitor) and I always have to adjust the horizontal sizes of panes (folder list, message list, message view) in the vertical view. It would really save a lot of time adjusting if the proportions between the panes stayed the same no matter how large the window is.
Thanks for a bug report. It had been supposed to be a one-lines (see the change in e-mail-paned-view.c), but I realized that the saving doesn't work properly, thus it turned to be tricky. The EPaned doesn't save the position of the GtkPaned, but the rest to the width/height, thus the size of the bottom panel. It brings many issues, like the GtkPaned position may not change, but the bottom panel can (it's when making the window smaller. The proportion value was also incorrectly updated in some situations. The current code works in a special way, but in a good way, I believe. The proportion is recalculated only when the slider is moved (and after start), thus for example when the window is shrunk to its minimum, then the visible proportion is roughly 50:50, but the stored proportion is still the same, thus when the window is resized back to its previous size, then the proportion is returned back as it was before the shrink, instead of using the shrunk 50:50 proportion. The value saved in GSettings is still what is visible, thus closing window in the shrunk state resets the proportion. That's expected, from my point of view. Created commit a58c339 in evo master (3.25.3+) Created commit cd6c432 in evo gnome-3-24 (3.24.3+)
I noticed that with Classic View (preview panel below message list) the stored ratio sometimes misbehaves. After some debugging the cause was the alerts above message list, which use some height, which causes recalculation of the ration to a different value than it was the last start. I tried to address it with the below change, which can also kind of misbehave, but only by few pixels, then it settles to some semi-rounded value and stays where it is. The biggest issue here is that the EPaned stores the size of the bottom panel, while GtkPaned uses top panel. The proportion-driven EPaned might probably preserver top panel as well, but I wasn't brave enough to add there one more set of if-s. Maybe if it'll prove to misbehave too I'll do it, just not now. Created commit fdbd581 in evo master (3.25.4+) Created commit 1dbe5df in evo gnome-3-24 (3.24.4+)
Hrm, the main problem are those alerts at the top, respectively when the window closes with them there. I've got an idea to clear that alert bar and it seems to do the trick, finally. Created commit bc2bfda in evo master (3.25.4+) Created commit ae633f9 in evo gnome-3-24 (3.24.4+)
*** Bug 778398 has been marked as a duplicate of this bug. ***