summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorConnor Behan2021-10-18 19:01:06 -0400
committerConnor Behan2021-10-18 19:01:06 -0400
commitf7091f1714fdd37da69df9133eada57b34f0bd09 (patch)
tree048984c3e042770e26a457dad20f8d1ed7b48f20
parent9dbe8a993cd572cf711f143649675896668570e7 (diff)
downloadaur-f7091f1714fdd37da69df9133eada57b34f0bd09.tar.gz
Update which will be upstream soon
-rw-r--r--.SRCINFO19
-rw-r--r--0001-Use-plugin-API-2.0.patch85
-rw-r--r--0002-Make-it-build-with-GTK3.patch86
-rw-r--r--0003-Stop-using-some-things.patch144
-rw-r--r--0004-Use-GtkGrid-instead-of-GtkTable.patch62
-rw-r--r--0005-Change-the-packing-order.patch85
-rw-r--r--PKGBUILD23
7 files changed, 495 insertions, 9 deletions
diff --git a/.SRCINFO b/.SRCINFO
index a4587741f67f..6034d859836f 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,7 +1,7 @@
pkgbase = xfce4-generic-slider-git
pkgdesc = Xfce panel plugin for adjusting the value passed to a command
- pkgver = 23.a9c5cc6
- pkgrel = 1
+ pkgver = 26.d1fc31f
+ pkgrel = 2
url = http://goodies.xfce.org/projects/panel-plugins/xfce4-generic-slider
arch = i686
arch = x86_64
@@ -9,8 +9,17 @@ pkgbase = xfce4-generic-slider-git
license = GPL
makedepends = xfce4-dev-tools
depends = xfce4-panel
- source = git://git.xfce.org/panel-plugins/xfce4-generic-slider
- md5sums = SKIP
+ source = git+https://gitlab.xfce.org/panel-plugins/xfce4-generic-slider
+ source = 0001-Use-plugin-API-2.0.patch
+ source = 0002-Make-it-build-with-GTK3.patch
+ source = 0003-Stop-using-some-things.patch
+ source = 0004-Use-GtkGrid-instead-of-GtkTable.patch
+ source = 0005-Change-the-packing-order.patch
+ sha256sums = SKIP
+ sha256sums = 14cc51fc23d6f047e7cbb8732e1b421705a48d05313238fbf5214f0083692487
+ sha256sums = eb5dc13e27c2ecdc565a99024395c956eff21f06073a42bf6c809d20241b9d67
+ sha256sums = 46ba26148336db197c0abcaf87ea38168c9ad98ba35e3ef57ac26f46a189ea4a
+ sha256sums = 03df7e88edc4fdc6a2b6527b255060fae2819b70e64d9a9688a44eb5c29c0479
+ sha256sums = b25a78a082adfc3a76091acd885bda82dce7a8e6e2a26cb1f23ecee1e81d44c1
pkgname = xfce4-generic-slider-git
-
diff --git a/0001-Use-plugin-API-2.0.patch b/0001-Use-plugin-API-2.0.patch
new file mode 100644
index 000000000000..86264955f1df
--- /dev/null
+++ b/0001-Use-plugin-API-2.0.patch
@@ -0,0 +1,85 @@
+From 63cf77d0863e2997ee6cd4c0eb9d33ad5ed561fe Mon Sep 17 00:00:00 2001
+From: Connor Behan <connor.behan@gmail.com>
+Date: Mon, 18 Oct 2021 18:33:07 -0400
+Subject: [PATCH 1/5] Use plugin API 2.0
+
+This just checks for the right versions of the libraries so we can begin
+porting.
+
+Signed-off-by: Connor Behan <connor.behan@gmail.com>
+---
+ configure.ac.in | 4 ++--
+ panel-plugin/generic-slider.c | 13 +++++++++----
+ panel-plugin/generic-slider.desktop.in | 2 +-
+ 3 files changed, 12 insertions(+), 7 deletions(-)
+
+diff --git a/configure.ac.in b/configure.ac.in
+index a4ad5ec..37a8670 100644
+--- a/configure.ac.in
++++ b/configure.ac.in
+@@ -70,8 +70,8 @@ XDT_CHECK_LIBX11_REQUIRE()
+ dnl ***********************************
+ dnl *** Check for required packages ***
+ dnl ***********************************
+-XDT_CHECK_PACKAGE([LIBXFCE4UI], [libxfce4ui-1], [4.12.0])
+-XDT_CHECK_PACKAGE([LIBXFCE4PANEL], [libxfce4panel-1.0], [4.12.0])
++XDT_CHECK_PACKAGE([LIBXFCE4UI], [libxfce4ui-2], [4.12.0])
++XDT_CHECK_PACKAGE([LIBXFCE4PANEL], [libxfce4panel-2.0], [4.12.0])
+
+ dnl ***********************************
+ dnl *** Check for debugging support ***
+diff --git a/panel-plugin/generic-slider.c b/panel-plugin/generic-slider.c
+index cbb3a91..43e1527 100644
+--- a/panel-plugin/generic-slider.c
++++ b/panel-plugin/generic-slider.c
+@@ -3,12 +3,17 @@
+ #include <sys/types.h>
+ #include <sys/wait.h>
+ #include <unistd.h>
+-#include <libxfce4panel/xfce-panel-plugin.h>
+-#include <libxfce4util/libxfce4util.h>
++#include <libxfce4panel/libxfce4panel.h>
+ #include <libxfce4ui/libxfce4ui.h>
+ #define TIMEOUT 1000
+ #define WIDTH 8
+
++#ifdef LIBXFCE4PANEL_CHECK_VERSION
++#if LIBXFCE4PANEL_CHECK_VERSION (4,9,0)
++#define PANEL490
++#endif
++#endif
++
+ typedef struct generic_slider {
+ GtkWidget *slider;
+ GtkWidget *label;
+@@ -670,7 +675,7 @@ static void generic_slider_orientation_or_mode_changed(XfcePanelPlugin *plugin,
+ }
+ }
+
+-#if defined (LIBXFCE4PANEL_CHECK_VERSION) && LIBXFCE4PANEL_CHECK_VERSION (4,9,0)
++#ifdef PANEL490
+ static void generic_slider_mode_changed(XfcePanelPlugin *plugin, XfcePanelPluginMode mode, Generic_Slider *generic_slider) {
+ GtkWidget *label = generic_slider -> label;
+
+@@ -801,7 +806,7 @@ static void generic_slider_construct(XfcePanelPlugin *plugin) {
+
+ xfce_panel_plugin_menu_show_configure (plugin);
+
+-#if defined (LIBXFCE4PANEL_CHECK_VERSION) && LIBXFCE4PANEL_CHECK_VERSION (4,9,0)
++#ifdef PANEL490
+ g_signal_connect(plugin, "mode-changed", G_CALLBACK(generic_slider_mode_changed), generic_slider);
+ #else
+ g_signal_connect(plugin, "orientation-changed", G_CALLBACK(generic_slider_orientation_changed), generic_slider);
+diff --git a/panel-plugin/generic-slider.desktop.in b/panel-plugin/generic-slider.desktop.in
+index 3395624..d252e38 100644
+--- a/panel-plugin/generic-slider.desktop.in
++++ b/panel-plugin/generic-slider.desktop.in
+@@ -7,4 +7,4 @@ Icon=gtk-remove
+ X-XFCE-Module=generic-slider
+ X-XFCE-Internal=false
+ X-XFCE-Unique=false
+-X-XFCE-API=1.0
++X-XFCE-API=2.0
+--
+2.33.0
+
diff --git a/0002-Make-it-build-with-GTK3.patch b/0002-Make-it-build-with-GTK3.patch
new file mode 100644
index 000000000000..8df21c389209
--- /dev/null
+++ b/0002-Make-it-build-with-GTK3.patch
@@ -0,0 +1,86 @@
+From 0b64ce64711a5d1af202fe3c180d9738469d96f1 Mon Sep 17 00:00:00 2001
+From: Connor Behan <connor.behan@gmail.com>
+Date: Mon, 18 Oct 2021 18:34:35 -0400
+Subject: [PATCH 2/5] Make it build with GTK3
+
+This is the bare minimum of changes that should be made. There are still
+plenty of function calls that should be moved over to non-deprecated
+versions.
+
+Signed-off-by: Connor Behan <connor.behan@gmail.com>
+---
+ panel-plugin/generic-slider.c | 22 +++++++++++-----------
+ 1 file changed, 11 insertions(+), 11 deletions(-)
+
+diff --git a/panel-plugin/generic-slider.c b/panel-plugin/generic-slider.c
+index 43e1527..e18207d 100644
+--- a/panel-plugin/generic-slider.c
++++ b/panel-plugin/generic-slider.c
+@@ -369,7 +369,7 @@ static void generic_slider_read_rc_file(XfcePanelPlugin *plugin, Generic_Slider
+ }
+
+ g_free(color_string);
+- generic_slider -> timeout_id = g_timeout_add(TIMEOUT, (GtkFunction)timer_cb, generic_slider);
++ generic_slider -> timeout_id = g_timeout_add(TIMEOUT, (GSourceFunc)timer_cb, generic_slider);
+ generic_slider -> active = 1;
+ }
+
+@@ -529,9 +529,9 @@ static void generic_slider_properties_dialog(XfcePanelPlugin *plugin, Generic_Sl
+ GtkWidget *table;
+ GtkWidget *dialog;
+
+- GtkObject *adjustment_1;
+- GtkObject *adjustment_2;
+- GtkObject *adjustment_3;
++ GtkAdjustment *adjustment_1;
++ GtkAdjustment *adjustment_2;
++ GtkAdjustment *adjustment_3;
+ GtkWidget *spin_1;
+ GtkWidget *spin_2;
+ GtkWidget *spin_3;
+@@ -573,9 +573,9 @@ static void generic_slider_properties_dialog(XfcePanelPlugin *plugin, Generic_Sl
+ adjustment_1 = gtk_adjustment_new(((gdouble)(generic_slider -> adjust_denominator)), 1.0, 1000.0, 1.0, 1.0, 0.0);
+ adjustment_2 = gtk_adjustment_new(((gdouble)(generic_slider -> sync_denominator)), 1.0, 1000.0, 1.0, 1.0, 0.0);
+ adjustment_3 = gtk_adjustment_new(((gdouble)(generic_slider -> description_denominator)), 1.0, 1000.0, 1.0, 1.0, 0.0);
+- spin_1 = gtk_spin_button_new(GTK_ADJUSTMENT(adjustment_1), 0.5, 0);
+- spin_2 = gtk_spin_button_new(GTK_ADJUSTMENT(adjustment_2), 0.5, 0);
+- spin_3 = gtk_spin_button_new(GTK_ADJUSTMENT(adjustment_3), 0.5, 0);
++ spin_1 = gtk_spin_button_new(adjustment_1, 0.5, 0);
++ spin_2 = gtk_spin_button_new(adjustment_2, 0.5, 0);
++ spin_3 = gtk_spin_button_new(adjustment_3, 0.5, 0);
+ g_signal_connect(G_OBJECT(adjustment_1), "value_changed", G_CALLBACK(generic_slider_update_denominators), &(generic_slider -> adjust_denominator));
+ g_signal_connect(G_OBJECT(adjustment_2), "value_changed", G_CALLBACK(generic_slider_update_denominators), &(generic_slider -> sync_denominator));
+ g_signal_connect(G_OBJECT(adjustment_3), "value_changed", G_CALLBACK(generic_slider_update_denominators), &(generic_slider -> description_denominator));
+@@ -662,13 +662,13 @@ static void generic_slider_orientation_or_mode_changed(XfcePanelPlugin *plugin,
+
+ if (vertical) {
+ gtk_alignment_set(GTK_ALIGNMENT(aligned_box), 0.5, 0.5, 0.0, 1.0);
+- gtk_progress_bar_set_orientation(GTK_PROGRESS_BAR(slider), GTK_PROGRESS_LEFT_TO_RIGHT);
++ gtk_orientable_set_orientation(GTK_ORIENTABLE(slider), GTK_ORIENTATION_HORIZONTAL);
+ gtk_widget_set_size_request(slider, -1, WIDTH);
+ gtk_widget_set_size_request(GTK_WIDGET(plugin), xfce_panel_plugin_get_size(plugin), -1);
+ gtk_orientable_set_orientation(GTK_ORIENTABLE(box), GTK_ORIENTATION_VERTICAL);
+ } else {
+ gtk_alignment_set(GTK_ALIGNMENT(aligned_box), 0.5, 0.5, 1.0, 0.0);
+- gtk_progress_bar_set_orientation(GTK_PROGRESS_BAR(slider), GTK_PROGRESS_BOTTOM_TO_TOP);
++ gtk_orientable_set_orientation(GTK_ORIENTABLE(slider), GTK_ORIENTATION_VERTICAL);
+ gtk_widget_set_size_request(slider, WIDTH, -1);
+ gtk_widget_set_size_request(GTK_WIDGET(plugin), -1, xfce_panel_plugin_get_size(plugin));
+ gtk_orientable_set_orientation(GTK_ORIENTABLE(box), GTK_ORIENTATION_HORIZONTAL);
+@@ -790,11 +790,11 @@ static void generic_slider_construct(XfcePanelPlugin *plugin) {
+ gtk_progress_bar_set_fraction(GTK_PROGRESS_BAR(slider), 0.5);
+
+ if (xfce_panel_plugin_get_orientation(plugin) == GTK_ORIENTATION_HORIZONTAL) {
+- gtk_progress_bar_set_orientation(GTK_PROGRESS_BAR(slider), GTK_PROGRESS_BOTTOM_TO_TOP);
++ gtk_orientable_set_orientation(GTK_ORIENTABLE(slider), GTK_ORIENTATION_VERTICAL);
+ gtk_widget_set_size_request(slider, WIDTH, -1);
+ box = gtk_hbox_new(FALSE, 0);
+ } else {
+- gtk_progress_bar_set_orientation(GTK_PROGRESS_BAR(slider), GTK_PROGRESS_LEFT_TO_RIGHT);
++ gtk_orientable_set_orientation(GTK_ORIENTABLE(slider), GTK_ORIENTATION_HORIZONTAL);
+ gtk_widget_set_size_request(slider, -1, WIDTH);
+ box = gtk_vbox_new(FALSE, 0);
+ }
+--
+2.33.0
+
diff --git a/0003-Stop-using-some-things.patch b/0003-Stop-using-some-things.patch
new file mode 100644
index 000000000000..1901e6b31daf
--- /dev/null
+++ b/0003-Stop-using-some-things.patch
@@ -0,0 +1,144 @@
+From 2c7194e34891402aa40418b07d5a410aef608176 Mon Sep 17 00:00:00 2001
+From: Connor Behan <connor.behan@gmail.com>
+Date: Mon, 18 Oct 2021 18:41:16 -0400
+Subject: [PATCH 3/5] Stop using some things
+
+Specifically, GtkStock, GtkAlignment and individual H/V boxes.
+
+Signed-off-by: Connor Behan <connor.behan@gmail.com>
+---
+ panel-plugin/generic-slider.c | 33 ++++++++++++++-------------------
+ 1 file changed, 14 insertions(+), 19 deletions(-)
+
+diff --git a/panel-plugin/generic-slider.c b/panel-plugin/generic-slider.c
+index e18207d..3ee0800 100644
+--- a/panel-plugin/generic-slider.c
++++ b/panel-plugin/generic-slider.c
+@@ -446,7 +446,7 @@ static void generic_slider_update_mode(GtkToggleButton *radio, Generic_Slider *g
+ return;
+ }
+
+- hbox = gtk_widget_get_ancestor(GTK_WIDGET(radio), GTK_TYPE_HBOX);
++ hbox = gtk_widget_get_ancestor(GTK_WIDGET(radio), GTK_TYPE_BOX);
+ label = gtk_container_get_children(GTK_CONTAINER(hbox)) -> data;
+ box = gtk_widget_get_ancestor(generic_slider -> slider, GTK_TYPE_BOX);
+ gtk_widget_show_all(box);
+@@ -544,7 +544,7 @@ static void generic_slider_properties_dialog(XfcePanelPlugin *plugin, Generic_Sl
+ /* We don't want the slider invoking a nonexistent command while the command is being changed */
+ generic_slider -> active = 0;
+
+- dialog = xfce_titled_dialog_new_with_buttons(_("Generic Slider"), GTK_WINDOW(gtk_widget_get_toplevel(GTK_WIDGET(plugin))), GTK_DIALOG_DESTROY_WITH_PARENT, GTK_STOCK_CLOSE, GTK_RESPONSE_OK, NULL);
++ dialog = xfce_titled_dialog_new_with_buttons(_("Generic Slider"), GTK_WINDOW(gtk_widget_get_toplevel(GTK_WIDGET(plugin))), GTK_DIALOG_DESTROY_WITH_PARENT, _("Close"), GTK_RESPONSE_OK, NULL);
+ gtk_window_set_position(GTK_WINDOW(dialog), GTK_WIN_POS_CENTER);
+ gtk_window_set_icon_name(GTK_WINDOW(dialog), "xfce4-settings");
+
+@@ -607,10 +607,10 @@ static void generic_slider_properties_dialog(XfcePanelPlugin *plugin, Generic_Sl
+ g_signal_connect(G_OBJECT(radio_1), "toggled", G_CALLBACK(generic_slider_update_mode), generic_slider);
+ g_signal_connect(G_OBJECT(radio_2), "toggled", G_CALLBACK(generic_slider_update_mode), generic_slider);
+ g_signal_connect(G_OBJECT(radio_3), "toggled", G_CALLBACK(generic_slider_update_mode), generic_slider);
+- hbox_1 = gtk_hbox_new(FALSE, 0);
+- hbox_2 = gtk_hbox_new(FALSE, 0);
+- hbox_3 = gtk_hbox_new(FALSE, 0);
+- hbox_4 = gtk_hbox_new(FALSE, 0);
++ hbox_1 = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0);
++ hbox_2 = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0);
++ hbox_3 = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0);
++ hbox_4 = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0);
+ gtk_box_pack_start(GTK_BOX(hbox_1), label_4, FALSE, FALSE, 0);
+ gtk_box_pack_start(GTK_BOX(hbox_1), radio_1, FALSE, FALSE, 0);
+ gtk_box_pack_start(GTK_BOX(hbox_2), label_5, FALSE, FALSE, 0);
+@@ -630,7 +630,7 @@ static void generic_slider_properties_dialog(XfcePanelPlugin *plugin, Generic_Sl
+ gtk_box_pack_start(GTK_BOX(hbox_4), check, FALSE, FALSE, 0);
+ gtk_container_add(GTK_CONTAINER(bbox_2), hbox_4);
+ gtk_container_add(GTK_CONTAINER(bbox_2), picker);
+- hbox_5 = gtk_hbox_new(FALSE, 0);
++ hbox_5 = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0);
+ frame_1 = gtk_frame_new("Show:");
+ frame_2 = gtk_frame_new("Color:");
+ gtk_container_add(GTK_CONTAINER(frame_1), bbox_1);
+@@ -661,13 +661,15 @@ static void generic_slider_orientation_or_mode_changed(XfcePanelPlugin *plugin,
+ GtkWidget *aligned_box = gtk_container_get_children(GTK_CONTAINER(event_box)) -> data;
+
+ if (vertical) {
+- gtk_alignment_set(GTK_ALIGNMENT(aligned_box), 0.5, 0.5, 0.0, 1.0);
++ gtk_widget_set_halign(aligned_box, GTK_ALIGN_CENTER);
++ gtk_widget_set_valign(aligned_box, GTK_ALIGN_FILL);
+ gtk_orientable_set_orientation(GTK_ORIENTABLE(slider), GTK_ORIENTATION_HORIZONTAL);
+ gtk_widget_set_size_request(slider, -1, WIDTH);
+ gtk_widget_set_size_request(GTK_WIDGET(plugin), xfce_panel_plugin_get_size(plugin), -1);
+ gtk_orientable_set_orientation(GTK_ORIENTABLE(box), GTK_ORIENTATION_VERTICAL);
+ } else {
+- gtk_alignment_set(GTK_ALIGNMENT(aligned_box), 0.5, 0.5, 1.0, 0.0);
++ gtk_widget_set_halign(aligned_box, GTK_ALIGN_FILL);
++ gtk_widget_set_valign(aligned_box, GTK_ALIGN_CENTER);
+ gtk_orientable_set_orientation(GTK_ORIENTABLE(slider), GTK_ORIENTATION_VERTICAL);
+ gtk_widget_set_size_request(slider, WIDTH, -1);
+ gtk_widget_set_size_request(GTK_WIDGET(plugin), -1, xfce_panel_plugin_get_size(plugin));
+@@ -713,7 +715,6 @@ static gboolean generic_slider_set_size(XfcePanelPlugin *plugin, int size) {
+
+ static void generic_slider_free_data(XfcePanelPlugin *plugin, Generic_Slider *generic_slider) {
+ GtkWidget *event_box;
+- GtkWidget *aligned_box;
+ GtkWidget *slider;
+ GtkWidget *label;
+ GtkWidget *box;
+@@ -722,11 +723,9 @@ static void generic_slider_free_data(XfcePanelPlugin *plugin, Generic_Slider *ge
+ label = generic_slider -> label;
+ box = gtk_widget_get_ancestor(label, GTK_TYPE_BOX);
+ event_box = gtk_widget_get_ancestor(slider, GTK_TYPE_EVENT_BOX);
+- aligned_box = gtk_container_get_children(GTK_CONTAINER(event_box)) -> data;
+
+ g_return_if_fail(plugin != NULL);
+ g_return_if_fail(event_box != NULL);
+- g_return_if_fail(aligned_box != NULL);
+ g_return_if_fail(box != NULL);
+ g_return_if_fail(slider != NULL);
+ g_return_if_fail(label != NULL);
+@@ -734,7 +733,6 @@ static void generic_slider_free_data(XfcePanelPlugin *plugin, Generic_Slider *ge
+ g_object_unref(G_OBJECT(slider));
+ g_object_unref(G_OBJECT(label));
+ g_object_unref(G_OBJECT(box));
+- g_object_unref(G_OBJECT(aligned_box));
+ g_object_unref(G_OBJECT(event_box));
+
+ if (generic_slider -> timeout_id != 0) {
+@@ -757,7 +755,6 @@ static void generic_slider_construct(XfcePanelPlugin *plugin) {
+ GtkStyle *pre_rc;
+ GtkRcStyle *rc;
+ GtkWidget *event_box;
+- GtkWidget *aligned_box;
+ GtkWidget *slider;
+ GtkWidget *label;
+ GtkWidget *box;
+@@ -765,7 +762,6 @@ static void generic_slider_construct(XfcePanelPlugin *plugin) {
+ char *label_text;
+
+ event_box = gtk_event_box_new();
+- aligned_box = gtk_alignment_new(0.5, 0.5, 1.0, 1.0);
+ slider = gtk_progress_bar_new();
+ label = gtk_label_new("");
+ generic_slider -> timeout_id = 0;
+@@ -792,17 +788,16 @@ static void generic_slider_construct(XfcePanelPlugin *plugin) {
+ if (xfce_panel_plugin_get_orientation(plugin) == GTK_ORIENTATION_HORIZONTAL) {
+ gtk_orientable_set_orientation(GTK_ORIENTABLE(slider), GTK_ORIENTATION_VERTICAL);
+ gtk_widget_set_size_request(slider, WIDTH, -1);
+- box = gtk_hbox_new(FALSE, 0);
++ box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0);
+ } else {
+ gtk_orientable_set_orientation(GTK_ORIENTABLE(slider), GTK_ORIENTATION_HORIZONTAL);
+ gtk_widget_set_size_request(slider, -1, WIDTH);
+- box = gtk_vbox_new(FALSE, 0);
++ box = gtk_box_new(GTK_ORIENTATION_VERTICAL, 0);
+ }
+
+ gtk_box_pack_start(GTK_BOX(box), label, FALSE, FALSE, 0);
+ gtk_box_pack_start(GTK_BOX(box), slider, FALSE, FALSE, 0);
+- gtk_container_add(GTK_CONTAINER(aligned_box), box);
+- gtk_container_add(GTK_CONTAINER(event_box), aligned_box);
++ gtk_container_add(GTK_CONTAINER(event_box), box);
+
+ xfce_panel_plugin_menu_show_configure (plugin);
+
+--
+2.33.0
+
diff --git a/0004-Use-GtkGrid-instead-of-GtkTable.patch b/0004-Use-GtkGrid-instead-of-GtkTable.patch
new file mode 100644
index 000000000000..318c497a7d20
--- /dev/null
+++ b/0004-Use-GtkGrid-instead-of-GtkTable.patch
@@ -0,0 +1,62 @@
+From a81308cb0b0bd76e1bd704d3db84585146e454c2 Mon Sep 17 00:00:00 2001
+From: Connor Behan <connor.behan@gmail.com>
+Date: Mon, 18 Oct 2021 18:44:18 -0400
+Subject: [PATCH 4/5] Use GtkGrid instead of GtkTable
+
+One could also use GtkBuilder for this but I prefer C.
+
+Signed-off-by: Connor Behan <connor.behan@gmail.com>
+---
+ panel-plugin/generic-slider.c | 34 +++++++++++++++++-----------------
+ 1 file changed, 17 insertions(+), 17 deletions(-)
+
+diff --git a/panel-plugin/generic-slider.c b/panel-plugin/generic-slider.c
+index 3ee0800..c8ae428 100644
+--- a/panel-plugin/generic-slider.c
++++ b/panel-plugin/generic-slider.c
+@@ -579,25 +579,25 @@ static void generic_slider_properties_dialog(XfcePanelPlugin *plugin, Generic_Sl
+ g_signal_connect(G_OBJECT(adjustment_1), "value_changed", G_CALLBACK(generic_slider_update_denominators), &(generic_slider -> adjust_denominator));
+ g_signal_connect(G_OBJECT(adjustment_2), "value_changed", G_CALLBACK(generic_slider_update_denominators), &(generic_slider -> sync_denominator));
+ g_signal_connect(G_OBJECT(adjustment_3), "value_changed", G_CALLBACK(generic_slider_update_denominators), &(generic_slider -> description_denominator));
+- table = gtk_table_new(3, 4, FALSE);
+- gtk_table_attach_defaults(GTK_TABLE(table), label_1_a, 0, 1, 0, 1);
+- gtk_table_attach_defaults(GTK_TABLE(table), entry_1, 1, 2, 0, 1);
+- gtk_table_attach_defaults(GTK_TABLE(table), label_1_b, 2, 3, 0, 1);
+- gtk_table_attach_defaults(GTK_TABLE(table), spin_1, 3, 4, 0, 1);
+- gtk_table_attach_defaults(GTK_TABLE(table), label_2_a, 0, 1, 1, 2);
+- gtk_table_attach_defaults(GTK_TABLE(table), entry_2, 1, 2, 1, 2);
+- gtk_table_attach_defaults(GTK_TABLE(table), label_2_b, 2, 3, 1, 2);
+- gtk_table_attach_defaults(GTK_TABLE(table), spin_2, 3, 4, 1, 2);
+- gtk_table_attach_defaults(GTK_TABLE(table), label_3_a, 0, 1, 2, 3);
+- gtk_table_attach_defaults(GTK_TABLE(table), entry_3, 1, 2, 2, 3);
+- gtk_table_attach_defaults(GTK_TABLE(table), label_3_b, 2, 3, 2, 3);
+- gtk_table_attach_defaults(GTK_TABLE(table), spin_3, 3, 4, 2, 3);
+- bbox_1 = gtk_vbutton_box_new();
+- bbox_2 = gtk_vbutton_box_new();
++ table = gtk_grid_new();
++ gtk_grid_attach(GTK_GRID(table), label_1_a, 0, 0, 1, 1);
++ gtk_grid_attach(GTK_GRID(table), entry_1, 1, 0, 1, 1);
++ gtk_grid_attach(GTK_GRID(table), label_1_b, 2, 0, 1, 1);
++ gtk_grid_attach(GTK_GRID(table), spin_1, 3, 0, 1, 1);
++ gtk_grid_attach(GTK_GRID(table), label_2_a, 0, 1, 1, 1);
++ gtk_grid_attach(GTK_GRID(table), entry_2, 1, 1, 1, 1);
++ gtk_grid_attach(GTK_GRID(table), label_2_b, 2, 1, 1, 1);
++ gtk_grid_attach(GTK_GRID(table), spin_2, 3, 1, 1, 1);
++ gtk_grid_attach(GTK_GRID(table), label_3_a, 0, 2, 1, 1);
++ gtk_grid_attach(GTK_GRID(table), entry_3, 1, 2, 1, 1);
++ gtk_grid_attach(GTK_GRID(table), label_3_b, 2, 2, 1, 1);
++ gtk_grid_attach(GTK_GRID(table), spin_3, 3, 2, 1, 1);
++ bbox_1 = gtk_button_box_new(GTK_ORIENTATION_VERTICAL);
++ bbox_2 = gtk_button_box_new(GTK_ORIENTATION_VERTICAL);
+ gtk_button_box_set_layout(GTK_BUTTON_BOX(bbox_1), GTK_BUTTONBOX_SPREAD);
+ gtk_button_box_set_layout(GTK_BUTTON_BOX(bbox_2), GTK_BUTTONBOX_SPREAD);
+- gtk_button_box_set_spacing(GTK_BUTTON_BOX(bbox_1), 10);
+- gtk_button_box_set_spacing(GTK_BUTTON_BOX(bbox_2), 10);
++ //gtk_button_box_set_spacing(GTK_BUTTON_BOX(bbox_1), 10);
++ //gtk_button_box_set_spacing(GTK_BUTTON_BOX(bbox_2), 10);
+ label_4 = gtk_label_new("Slider");
+ label_5 = gtk_label_new("Label");
+ label_6 = gtk_label_new("Both");
+--
+2.33.0
+
diff --git a/0005-Change-the-packing-order.patch b/0005-Change-the-packing-order.patch
new file mode 100644
index 000000000000..fafc6ae63667
--- /dev/null
+++ b/0005-Change-the-packing-order.patch
@@ -0,0 +1,85 @@
+From f5cd298584bf5b2018acbf18797b5a7e8c9ad3ac Mon Sep 17 00:00:00 2001
+From: Connor Behan <connor.behan@gmail.com>
+Date: Mon, 18 Oct 2021 18:48:15 -0400
+Subject: [PATCH 5/5] Change the packing order
+
+I think box(event_box(slider), label) will work better than
+event_box(box(slider, label)).
+
+Signed-off-by: Connor Behan <connor.behan@gmail.com>
+---
+ panel-plugin/generic-slider.c | 25 ++++++++++++-------------
+ 1 file changed, 12 insertions(+), 13 deletions(-)
+
+diff --git a/panel-plugin/generic-slider.c b/panel-plugin/generic-slider.c
+index c8ae428..a0a5017 100644
+--- a/panel-plugin/generic-slider.c
++++ b/panel-plugin/generic-slider.c
+@@ -657,19 +657,17 @@ static void generic_slider_orientation_or_mode_changed(XfcePanelPlugin *plugin,
+ GtkWidget *slider = generic_slider -> slider;
+ GtkWidget *label = generic_slider -> label;
+ GtkWidget *box = gtk_widget_get_ancestor(label, GTK_TYPE_BOX);
+- GtkWidget *event_box = gtk_widget_get_ancestor(slider, GTK_TYPE_EVENT_BOX);
+- GtkWidget *aligned_box = gtk_container_get_children(GTK_CONTAINER(event_box)) -> data;
+
+ if (vertical) {
+- gtk_widget_set_halign(aligned_box, GTK_ALIGN_CENTER);
+- gtk_widget_set_valign(aligned_box, GTK_ALIGN_FILL);
++ gtk_widget_set_halign(box, GTK_ALIGN_CENTER);
++ gtk_widget_set_valign(box, GTK_ALIGN_FILL);
+ gtk_orientable_set_orientation(GTK_ORIENTABLE(slider), GTK_ORIENTATION_HORIZONTAL);
+ gtk_widget_set_size_request(slider, -1, WIDTH);
+ gtk_widget_set_size_request(GTK_WIDGET(plugin), xfce_panel_plugin_get_size(plugin), -1);
+ gtk_orientable_set_orientation(GTK_ORIENTABLE(box), GTK_ORIENTATION_VERTICAL);
+ } else {
+- gtk_widget_set_halign(aligned_box, GTK_ALIGN_FILL);
+- gtk_widget_set_valign(aligned_box, GTK_ALIGN_CENTER);
++ gtk_widget_set_halign(box, GTK_ALIGN_FILL);
++ gtk_widget_set_valign(box, GTK_ALIGN_CENTER);
+ gtk_orientable_set_orientation(GTK_ORIENTABLE(slider), GTK_ORIENTATION_VERTICAL);
+ gtk_widget_set_size_request(slider, WIDTH, -1);
+ gtk_widget_set_size_request(GTK_WIDGET(plugin), -1, xfce_panel_plugin_get_size(plugin));
+@@ -780,10 +778,10 @@ static void generic_slider_construct(XfcePanelPlugin *plugin) {
+
+ stupid_hack = g_list_append(stupid_hack, generic_slider);
+ stupid_hack = g_list_append(stupid_hack, plugin);
+- gtk_widget_set_events(slider, gtk_widget_get_events(slider) | GDK_LEAVE_NOTIFY_MASK | GDK_BUTTON_PRESS_MASK);
+- g_signal_connect(G_OBJECT(slider), "button-press-event", G_CALLBACK(adjust_slider_cb), stupid_hack);
+- g_signal_connect(G_OBJECT(slider), "scroll-event", G_CALLBACK(scroll_slider_cb), stupid_hack);
++ g_signal_connect(G_OBJECT(event_box), "button-press-event", G_CALLBACK(adjust_slider_cb), stupid_hack);
++ g_signal_connect(G_OBJECT(event_box), "scroll-event", G_CALLBACK(scroll_slider_cb), stupid_hack);
+ gtk_progress_bar_set_fraction(GTK_PROGRESS_BAR(slider), 0.5);
++ gtk_progress_bar_set_inverted(GTK_PROGRESS_BAR(slider), TRUE);
+
+ if (xfce_panel_plugin_get_orientation(plugin) == GTK_ORIENTATION_HORIZONTAL) {
+ gtk_orientable_set_orientation(GTK_ORIENTABLE(slider), GTK_ORIENTATION_VERTICAL);
+@@ -795,9 +793,9 @@ static void generic_slider_construct(XfcePanelPlugin *plugin) {
+ box = gtk_box_new(GTK_ORIENTATION_VERTICAL, 0);
+ }
+
++ gtk_container_add(GTK_CONTAINER(event_box), slider);
+ gtk_box_pack_start(GTK_BOX(box), label, FALSE, FALSE, 0);
+- gtk_box_pack_start(GTK_BOX(box), slider, FALSE, FALSE, 0);
+- gtk_container_add(GTK_CONTAINER(event_box), box);
++ gtk_box_pack_start(GTK_BOX(box), event_box, FALSE, FALSE, 0);
+
+ xfce_panel_plugin_menu_show_configure (plugin);
+
+@@ -811,11 +809,12 @@ static void generic_slider_construct(XfcePanelPlugin *plugin) {
+ g_signal_connect(plugin, "free-data", G_CALLBACK(generic_slider_free_data), generic_slider);
+ g_signal_connect(plugin, "save", G_CALLBACK(generic_slider_write_rc_file), generic_slider);
+
+- gtk_container_add(GTK_CONTAINER(plugin), event_box);
++ gtk_container_add(GTK_CONTAINER(plugin), box);
++ xfce_panel_plugin_add_action_widget(plugin, box);
+ xfce_panel_plugin_add_action_widget(plugin, event_box);
+ xfce_panel_plugin_add_action_widget(plugin, slider);
+ xfce_panel_plugin_add_action_widget(plugin, label);
+- gtk_widget_show_all(event_box);
++ gtk_widget_show_all(box);
+
+ /* The default color only corresponds to the theme in use once all widgets are shown! */
+ pre_rc = gtk_widget_get_style(generic_slider -> slider);
+--
+2.33.0
+
diff --git a/PKGBUILD b/PKGBUILD
index 2af6a444a161..81aab2663d50 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,8 +1,8 @@
# Contributor: Connor Behan <connor.behan@gmail.com>
pkgname=xfce4-generic-slider-git
-pkgver=23.a9c5cc6
-pkgrel=1
+pkgver=26.d1fc31f
+pkgrel=2
pkgdesc="Xfce panel plugin for adjusting the value passed to a command"
arch=(i686 x86_64)
license=('GPL')
@@ -10,7 +10,12 @@ url="http://goodies.xfce.org/projects/panel-plugins/xfce4-generic-slider"
groups=('xfce4-goodies')
depends=('xfce4-panel')
makedepends=('xfce4-dev-tools')
-source=('git://git.xfce.org/panel-plugins/xfce4-generic-slider')
+source=('git+https://gitlab.xfce.org/panel-plugins/xfce4-generic-slider'
+ '0001-Use-plugin-API-2.0.patch'
+ '0002-Make-it-build-with-GTK3.patch'
+ '0003-Stop-using-some-things.patch'
+ '0004-Use-GtkGrid-instead-of-GtkTable.patch'
+ '0005-Change-the-packing-order.patch')
pkgver() {
cd "$srcdir"/xfce4-generic-slider
@@ -19,6 +24,11 @@ pkgver() {
build() {
cd "$srcdir"/xfce4-generic-slider
+ git apply ../0001-Use-plugin-API-2.0.patch
+ git apply ../0002-Make-it-build-with-GTK3.patch
+ git apply ../0003-Stop-using-some-things.patch
+ git apply ../0004-Use-GtkGrid-instead-of-GtkTable.patch
+ git apply ../0005-Change-the-packing-order.patch
./autogen.sh --prefix=/usr
make
}
@@ -28,4 +38,9 @@ package() {
make DESTDIR="$pkgdir" install
}
-md5sums=('SKIP')
+sha256sums=('SKIP'
+ '14cc51fc23d6f047e7cbb8732e1b421705a48d05313238fbf5214f0083692487'
+ 'eb5dc13e27c2ecdc565a99024395c956eff21f06073a42bf6c809d20241b9d67'
+ '46ba26148336db197c0abcaf87ea38168c9ad98ba35e3ef57ac26f46a189ea4a'
+ '03df7e88edc4fdc6a2b6527b255060fae2819b70e64d9a9688a44eb5c29c0479'
+ 'b25a78a082adfc3a76091acd885bda82dce7a8e6e2a26cb1f23ecee1e81d44c1')