GNOME Bugzilla – Bug 590127
Define ETable::vertical-spacing style property
Last modified: 2011-02-17 16:31:06 UTC
Please describe the problem: The mail list has a significant regression in usability for people with a lot of email and/or long threads in that it uses *significantly* more space to display each email in the list. Steps to reproduce: Just start evolution. Actual results: I see just under 13 emails in the list. Expected results: I see more than 15 emails in the list. Does this happen every time? obviously Other information: I'll attach two screenshots.
Created attachment 139458 [details] screenshot of 2.26
Created attachment 139459 [details] screen shot of 2.27
And no, the font size hasn't increased, even though it may look like it. And it's not a theme problem either -- it appears that you've *again* copied some random code that belongs into the theme -- just like in bug #527532. My theme specifies no spacing, and that is properly respected in the folder list.
Not a bug. See bug #565780.
I disagree. It should be doing whatever my theme specifies, and not arbitrarily and unilaterally deciding that I need more spacing.
Created attachment 139471 [details] screenshot of folder list For comparison, a screenshot of the folder list. It is correctly adhering to my theme which makes it much less padded. (and no, I don't care about the technical differentiation between ETree and GtkTreeView)
If nothing else, the bug is that the UI is inconsistent unless you run the same theme that the developers happen to be using.
I'm curious how your theme is able to change the vertical padding of a GtkTreeView given that GtkTreeView hard-codes it to 3.
my gtkrc for that has "GtkTreeView::vertical-separator = 0". That may not be the _padding_ but the _spacing_, it has a similar effect though and packs the folder list closer as you can see in the screenshot.
And why, incidentally, is it 4 in evolution then instead of 3? Why can it not be consistent with gtktreeview?
It -is- consistent with GtkTreeView's defaults. GtkTreeView hard-codes a vertical padding of 3 around text, and also uses the vertical-separator style property for space between rows, which defaults to 2. So that's an extra pixel above and below each row. ETable doesn't have a vertical-separator property, so I increased the padding to compensate. 3 + 1 = 4.
Ok, I stand corrected -- but that's obviously contrained by the default setting. A quick google search suggests that many people change that property for various reasons. (incidentally, increasing padding is not /quite/ the same as vertical-separator since the padding would be in front of the top-most row, but the separator only between rows, but that would be nitpicking really)
*** Bug 597024 has been marked as a duplicate of this bug. ***
Created attachment 146114 [details] [review] proposed evo patch for evolution; This should work, and some parts are really working as the values is set to its default when reading from the default style, but for some reason I cannot change it. I guess my ~/.gtkrc-2.0 is incorrect or I miss some simple point: > style "my-style" { > ETable::vertical-spacing = 10 > GtkTreeView::vertical-separator = 10 > } > > widget "*" style "my-style" The problem is that asking the default style for a vertical-separator of a type GTK_TYPE_TREE_VIEW is not working too, it's returning a default value too. Any idea what I'm doing wrong?
Oh, I forgot to add, I know that the GtkTreeView works otherwise, because the folder tree is using that value, only the default gtk style doesn't know anything about it.
(In reply to comment #14) > Created an attachment (id=146114) [details] [review] > proposed evo patch > > for evolution; > > This should work, and some parts are really working as the values is set to its > default when reading from the default style, but for some reason I cannot > change it. So does this patch work or not? I'm confused.
It isn't working for me, but I do not know whether because I did something incorrectly either in the code or in the .gtkrc-2.0 file, thus I'm asking someone for an advice what I might do wrong.
Created attachment 147922 [details] [review] proposed evo patch ][ for evolution; This patch, with this in my ~/.gtkrc-2.0 file > style "my-style" { > ETable::vertical-spacing = 1 > } > > widget "*" style "my-style" is working properly. The difference from the previous patch is that I take a style from a real widget, which seems to make The Difference.
(In reply to comment #18) > Created an attachment (id=147922) [details] [review] > proposed evo patch ][ Now, that's what I'm talking about. > This patch, with this in my ~/.gtkrc-2.0 file > > style "my-style" { > > ETable::vertical-spacing = 1 > > } > > > > widget "*" style "my-style" An any (and every) widget match of "*" seems overly permissive. Can we narrow this down to Evo's ETable widget specifically? I don't know much about gtk theming or I would just do it. > is working properly. Indeed. It is. Commit it Danno! :-)
Patch looks good, Milan. Go ahead and commit.
(In reply to comment #19) > An any (and every) widget match of "*" seems overly permissive. Can we narrow > this down to Evo's ETable widget specifically? I don't know much about gtk > theming or I would just do it. To be honest, I do not know how the gtk-rc works, and this made it work for me. if it's possible to achieve the same in some other way, then I'm for it. Just note that the widget showing the messages is actually ETree, not ETable.
Created commit 6ca624a in evo master (2.29.3+)
Created commit 6266647 in evo gnome-2-28 (2.28.2+) Slightly modified (no translatable strings), just for a fun.
(In reply to comment #19) > An any (and every) widget match of "*" seems overly permissive. Can we narrow > this down to Evo's ETable widget specifically? The following works for me: # affects mail widget_class "*.ETree.*" style "my-style" # affects tasks, etc. widget_class "*.ETable.*" style "my-style" But does it make a difference?
Err, it is not working in actual master.
OK, so this happened just after "Kill ETreeScrolled" commit eb60a4e4 and is reproducible with settings from comment #24, which I had set in my ~/.gtkrc-2.0 file while seeing the issue. Going back to widget "*" style "my-style" fixes it to me. So the change in the commit made a difference. I'm sorry for a noise, though I guess someone else will notice this sooner or later too.
*** Bug 616028 has been marked as a duplicate of this bug. ***
For the record, gtk3 css-styled syntax looks like this: > $ cat ~/.config/gtk-3.0/gtk.css > ETree { > -ETree-vertical-spacing: 1; > }