Pager: Row settings not respected across multiple pagers on same desktop
I have one logical X screen split across two monitors; because of this, I've got two Xfce panels (one on each monitor).
This seems to work, except when it comes to the Pager: upon startup, the first pager to load will respect the row setting (which I have set to 2; I have 2 Xfce workspaces as well); the pager in the second panel, however, will always display with one row.
If I right-click on the pager that has the incorrect number of rows displayed, and bring up its properties page, the number of rows is set to 2; if I reduce it to 1 and increase it back to 2, the pagers on both panels will redraw twice, once with one row, and finally (both) with two rows. This is expected behavior (to me, anyway), and ultimately gets me what I want (2 rows the pagers on both panels/both monitors).
But it's annoying to have to do that upon every X startup... and it's not clear to me why the second panel isn't drawing with the correct number of rows on startup. I did peruse the code, and I see there's a a concept of a master_plugin
for the pager, and additional pagers should get their row settings from this master_plugin
(https://gitlab.xfce.org/xfce/xfce4-panel/-/blob/master/plugins/pager/pager.c#L231-235), but this isn't happening for some reason.
I did a little g_warning()
debugging, and I didn't get too far, but it does look like the two panels are fighting each other for configuring the workspace (the first panel sets the rows to 2 in the libwnck code; the second panel tries to do the same, but libwnck returns various failures; the second pager then doesn't seem to update its internal state to have multiple rows, so you always get the default 1-row).
4.18.x and 4.19.x both have this issue.