summarylogtreecommitdiffstats
path: root/pager-dimensions.patch
diff options
context:
space:
mode:
Diffstat (limited to 'pager-dimensions.patch')
-rw-r--r--pager-dimensions.patch67
1 files changed, 67 insertions, 0 deletions
diff --git a/pager-dimensions.patch b/pager-dimensions.patch
new file mode 100644
index 000000000000..e8726206741a
--- /dev/null
+++ b/pager-dimensions.patch
@@ -0,0 +1,67 @@
+--- xfce4-panel-4.14.0-orig/plugins/pager/pager.c 2019-09-05 17:11:16.690993341 +0200
++++ xfce4-panel-4.14.0/plugins/pager/pager.c 2019-09-05 17:09:02.205850264 +0200
+@@ -77,6 +77,7 @@
+ static void pager_plugin_configure_workspace_settings (GtkWidget *button);
+ static void pager_plugin_configure_plugin (XfcePanelPlugin *panel_plugin);
+ static void pager_plugin_screen_layout_changed (PagerPlugin *plugin);
++static void pager_plugin_get_ratio (PagerPlugin *plugin);
+ static void pager_plugin_get_preferred_width (GtkWidget *widget,
+ gint *minimum_width,
+ gint *natural_width);
+@@ -527,9 +528,6 @@
+ g_message ("Setting the pager rows returned false. Maybe the setting is not applied.");
+
+ wnck_pager_set_orientation (WNCK_PAGER (plugin->pager), orientation);
+-G_GNUC_BEGIN_IGNORE_DEPRECATIONS
+- plugin->ratio = (gfloat) gdk_screen_width () / (gfloat) gdk_screen_height ();
+-G_GNUC_END_IGNORE_DEPRECATIONS
+ g_signal_connect_after (G_OBJECT (plugin->pager), "drag-begin",
+ G_CALLBACK (pager_plugin_drag_begin_event), plugin);
+ g_signal_connect_after (G_OBJECT (plugin->pager), "drag-end",
+@@ -825,6 +823,26 @@
+
+
+ static void
++pager_plugin_get_ratio (PagerPlugin *plugin)
++{
++ WnckWorkspace *active_ws;
++
++ panel_return_if_fail (XFCE_IS_PAGER_PLUGIN (plugin));
++ panel_return_if_fail (WNCK_IS_SCREEN (plugin->wnck_screen));
++
++ active_ws = wnck_screen_get_active_workspace (plugin->wnck_screen);
++ if (wnck_workspace_is_virtual (active_ws))
++ {
++ plugin->ratio = (gfloat) wnck_workspace_get_width (active_ws) / (gfloat) wnck_workspace_get_height (active_ws);
++ }
++ else
++ {
++ plugin->ratio = (gfloat) gdk_screen_width () / (gfloat) gdk_screen_height ();
++ }
++}
++
++
++static void
+ pager_plugin_get_preferred_width (GtkWidget *widget,
+ gint *minimum_width,
+ gint *natural_width)
+@@ -846,6 +864,9 @@
+ {
+ n_workspaces = wnck_screen_get_workspace_count (plugin->wnck_screen);
+ n_cols = MAX (1, (n_workspaces + plugin->rows - 1) / plugin->rows);
++
++ pager_plugin_get_ratio(plugin);
++
+ min_width = nat_width = (gint) (xfce_panel_plugin_get_size (XFCE_PANEL_PLUGIN (plugin)) / plugin->rows * plugin->ratio * n_cols);
+ }
+
+@@ -877,6 +898,9 @@
+ {
+ n_workspaces = wnck_screen_get_workspace_count (plugin->wnck_screen);
+ n_cols = MAX (1, (n_workspaces + plugin->rows - 1) / plugin->rows);
++
++ pager_plugin_get_ratio(plugin);
++
+ if (mode == XFCE_PANEL_PLUGIN_MODE_VERTICAL)
+ min_height = nat_height = (gint) (xfce_panel_plugin_get_size (XFCE_PANEL_PLUGIN (plugin)) / plugin->rows / plugin->ratio * n_cols);
+ else /* (mode == XFCE_PANEL_PLUGIN_MODE_DESKBAR) */