Launchpad has imported 6 comments from the remote bug at
https://bugzilla.xfce.org/show_bug.cgi?id=11831.

If you reply to an imported comment from within Launchpad, your comment
will be sent to the remote bug automatically. Read more about
Launchpad's inter-bugtracker facilities at
https://help.launchpad.net/InterBugTracking.

------------------------------------------------------------------------
On 2015-04-19T12:27:12+00:00 Dave Gilbert wrote:

(Fedora 22 packaged xfce4-panel-4.12.0-3.fc22.x86_64)
I have two monitors, each has it's own panel, and each panel has it's own 
identically configured workspace switcher widget.
I have 9 workspaces, and the switcher widgets are configured to show them as 3 
rows (so I have a 3x3 grid).

On one of my monitors, the workspace switcher always starts up
correctly, on the other it always starts up showing a row of 9
workspaces.  If I right click and bring up the properties dialog it
immediately springs into the right 3x3 shape before I've done anything
with the dialog.

Looking at .config/xfce4/xfconf/xfce-perchannel-xml/xfce4-panel.xml I see two
sections for pager data:

    <property name="plugin-4" type="string" value="pager">
      <property name="rows" type="uint" value="3"/>
    </property>

and

    <property name="plugin-7" type="string" value="pager">
      <property name="rows" type="uint" value="3"/>
    </property>

so they do agree.

Reply at:
https://bugs.launchpad.net/ubuntu/+source/xfce4-panel/+bug/1325069/comments/4

------------------------------------------------------------------------
On 2015-04-19T14:02:35+00:00 Dave Gilbert wrote:

(Actually; kind of side comment - why is the rows value associated with
the panel widget?   Given that there are shortcut binds for the window
manager for up/down/right/left in workspaces it seems odd to have this
setting on the panel widget).

Reply at:
https://bugs.launchpad.net/ubuntu/+source/xfce4-panel/+bug/1325069/comments/5

------------------------------------------------------------------------
On 2015-04-27T17:43:52+00:00 Dave Gilbert wrote:

Noticed in .xsession-errors:

libpager-Message: Setting the pager rows returned false. Maybe the
setting is not applied.

I'm not sure when that was logged though.

Reply at:
https://bugs.launchpad.net/ubuntu/+source/xfce4-panel/+bug/1325069/comments/6

------------------------------------------------------------------------
On 2015-05-24T23:17:26+00:00 Dave Gilbert wrote:

that libpager message error seems to come from the call to

  wnck_pager_set_n_rows

and it can only return the error case if the wnck_pager_set_layout_hint
fails.

Reply at:
https://bugs.launchpad.net/ubuntu/+source/xfce4-panel/+bug/1325069/comments/8

------------------------------------------------------------------------
On 2015-05-31T15:48:14+00:00 Dave Gilbert wrote:

I think I understand-ish why this is happening, and have a fix that makes it 
work, but I'm not sure if there are any side effects.
First the fix:

--- plugins/pager/pager.c       2015-02-26 20:32:17.000000000 +0000
+++ fixed/plugins/pager/pager.c 2015-05-31 16:23:35.682554450 +0100
@@ -320,8 +320,8 @@
   if (G_UNLIKELY (plugin->pager != NULL))
     {
       gtk_widget_destroy (GTK_WIDGET (plugin->pager));
-      wnck_screen_force_update (plugin->wnck_screen);
     }
+  wnck_screen_force_update (plugin->wnck_screen);
 
   mode = xfce_panel_plugin_get_mode (XFCE_PANEL_PLUGIN (plugin));
   orientation =

---------------------

Now some explanation; I added a lot of debug in libwnck

wnck_pager_set_layout_hint: Entry for 0x26bb1e0
_wnck_pager_set_screen: entry for 0x26bb1e0
_wnck_pager_set_screen: Exit for !gtk_widget_has_screen
wnck_pager_set_layout_hint: pager->priv->screen==NULL
libpager-Message: Setting the pager rows returned false. Maybe the setting is 
not applied.
_wnck_pager_set_screen: entry for 0x26bb1e0
wnck_pager_set_layout_hint: Entry for 0x26bb1e0
wnck_screen_try_set_workspace_layout entry: screen=0x26938b0 current_token=0 
rows=3 columns=0
wnck_pager_set_layout_hint: bottom 1
_wnck_pager_set_screen: Exit bottom
wnck_pager_set_layout_hint: Entry for 0x26bb620
_wnck_pager_set_screen: entry for 0x26bb620
_wnck_pager_set_screen: Exit for !gtk_widget_has_screen
wnck_pager_set_layout_hint: pager->priv->screen==NULL
libpager-Message: Setting the pager rows returned false. Maybe the setting is 
not applied.
_wnck_pager_set_screen: entry for 0x26bb620
wnck_pager_set_layout_hint: Entry for 0x26bb620
wnck_screen_try_set_workspace_layout entry: screen=0x26938b0 current_token=0 
rows=3 columns=0
wnck_pager_set_layout_hint: bottom 0
_wnck_pager_set_screen: in !set_layout_hint branch, before get_workspace_layout 
n_rows=3
!!! _wnck_pager_set_screen: in !set_layout_hint branch, after 
get_workspace_layout n_rows=1
_wnck_pager_set_screen: Exit bottom
update_workspace_layout on 0x26938b0
!!! update_workspace_layout on 0x26938b0: num_workspaces=9 rows=3 cols=0
update_workspace_layout on 0x26938b0

Note the two lines with !!!
What I think happens is that the 1st pager instance works OK, but for the 2nd 
pager we end up in _wnck_pager_set_screen   and it has:
  if (!wnck_pager_set_layout_hint (pager))
    {
      _WnckLayoutOrientation orientation;

      /* we couldn't set the layout on the screen. This means someone else owns
       * it. Let's at least show the correct layout. */
      _wnck_screen_get_workspace_layout (pager->priv->screen,
                                         &orientation,
                                         &pager->priv->n_rows,
                                         NULL, NULL);


that should ensure that the 2nd pager has the same layout, but it doesn't work 
because as from that debug we see:

_wnck_pager_set_screen: in !set_layout_hint branch, after
get_workspace_layout n_rows=1

so _wnck_screen_get_workspace_layout is getting the wrong answer - why?
Well I think it's set by update_workspace_layout, and we only see that called
later in the debug; it's normally called on idle - see update_idle.
But I guess there's no idle between the two pagers, so we get to the second 
pager and haven't setup it's screen's row data yet.
I'm not sure if wnck3 is any better at this; but is there any downside to just 
doing that force_update ?

Dave

Reply at:
https://bugs.launchpad.net/ubuntu/+source/xfce4-panel/+bug/1325069/comments/9

------------------------------------------------------------------------
On 2015-06-02T18:56:49+00:00 Dave Gilbert wrote:

hmm; hang off on that fix - it works if I kill the panel and restart it;
however it still failed at start of session.

Reply at:
https://bugs.launchpad.net/ubuntu/+source/xfce4-panel/+bug/1325069/comments/10


** Changed in: xfce4-panel
       Status: Unknown => Confirmed

** Changed in: xfce4-panel
   Importance: Unknown => Medium

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1325069

Title:
  miniature view wrong on xfce workspace switcher applet

To manage notifications about this bug go to:
https://bugs.launchpad.net/xfce4-panel/+bug/1325069/+subscriptions

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to