xfce4-panel/02_pager-size-for-viewport.patch
2020-07-09 18:26:35 +08:00

26 lines
1.2 KiB
Diff

Description: Fix workspace miniature size calculation wrong for viewport mode
Author: Bin Guo <gb2312@rcn.com>
Debian-Bug: https://bugs.debian.org/785582
--- a/plugins/pager/pager.c
+++ b/plugins/pager/pager.c
@@ -662,6 +662,18 @@ pager_plugin_get_preferred_width (GtkWid
else if (plugin->miniature_view)
{
n_workspaces = wnck_screen_get_workspace_count (plugin->wnck_screen);
+ if (n_workspaces == 1)
+ {
+ WnckWorkspace *active_ws;
+ /* check if we ware in viewport mode */
+ active_ws = wnck_screen_get_active_workspace (plugin->wnck_screen);
+ if (wnck_workspace_is_virtual (active_ws))
+ {
+ /* number of rows * number of columns */
+ n_workspaces = (wnck_workspace_get_width (active_ws) / wnck_screen_get_width (plugin->wnck_screen))
+ * (wnck_workspace_get_height (active_ws) / wnck_screen_get_height (plugin->wnck_screen));
+ }
+ }
n_cols = MAX (1, (n_workspaces + plugin->rows - 1) / plugin->rows);
min_width = nat_width = (gint) (xfce_panel_plugin_get_size (XFCE_PANEL_PLUGIN (plugin)) / plugin->rows * plugin->ratio * n_cols);
}