mirror of
https://gitlab.alpinelinux.org/alpine/aports.git
synced 2026-05-05 20:36:40 +02:00
main/xfce4-panel: apply patches from upstream
This commit is contained in:
parent
0a9b67feb6
commit
b0863c77b8
37
main/xfce4-panel/6792.patch
Normal file
37
main/xfce4-panel/6792.patch
Normal file
@ -0,0 +1,37 @@
|
||||
From bb6b1ef03c05dfd7f8209e923c2e8ec5365ccaac Mon Sep 17 00:00:00 2001
|
||||
From: Nick Schermer <nick@xfce.org>
|
||||
Date: Mon, 08 Nov 2010 20:53:56 +0000
|
||||
Subject: Fix crash in always group mode (bug #6792).
|
||||
|
||||
---
|
||||
diff --git a/plugins/tasklist/tasklist-widget.c b/plugins/tasklist/tasklist-widget.c
|
||||
index cdf696d..72283ba 100644
|
||||
--- a/plugins/tasklist/tasklist-widget.c
|
||||
+++ b/plugins/tasklist/tasklist-widget.c
|
||||
@@ -1586,6 +1586,7 @@ xfce_tasklist_update_icon_geometries (gpointer data)
|
||||
|
||||
toplevel = gtk_widget_get_toplevel (GTK_WIDGET (tasklist));
|
||||
gtk_window_get_position (GTK_WINDOW (toplevel), &root_x, &root_y);
|
||||
+ panel_return_val_if_fail (XFCE_IS_TASKLIST (tasklist), FALSE);
|
||||
|
||||
for (li = tasklist->windows; li != NULL; li = li->next)
|
||||
{
|
||||
@@ -1603,7 +1604,7 @@ xfce_tasklist_update_icon_geometries (gpointer data)
|
||||
|
||||
case CHILD_TYPE_GROUP:
|
||||
alloc = &child->button->allocation;
|
||||
- for (lp = child->windows; li != NULL; li = li->next)
|
||||
+ for (lp = child->windows; lp != NULL; lp = lp->next)
|
||||
{
|
||||
child2 = lp->data;
|
||||
panel_return_val_if_fail (WNCK_IS_WINDOW (child2->window), FALSE);
|
||||
@@ -2382,7 +2383,6 @@ xfce_tasklist_button_activate (XfceTasklistChild *child,
|
||||
WnckWorkspace *workspace;
|
||||
|
||||
panel_return_if_fail (XFCE_IS_TASKLIST (child->tasklist));
|
||||
- panel_return_if_fail (child->type == CHILD_TYPE_WINDOW);
|
||||
panel_return_if_fail (WNCK_IS_WINDOW (child->window));
|
||||
|
||||
if (wnck_window_is_active (child->window))
|
||||
--
|
||||
cgit v0.8.3.4
|
||||
@ -1,7 +1,7 @@
|
||||
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
|
||||
pkgname=xfce4-panel
|
||||
pkgver=4.7.4
|
||||
pkgrel=0
|
||||
pkgrel=1
|
||||
pkgdesc="Panel for the Xfce desktop environment"
|
||||
url="http://www.xfce.org/"
|
||||
license="GPL-2"
|
||||
@ -9,9 +9,24 @@ subpackages="$pkgname-dev $pkgname-doc"
|
||||
depends="hicolor-icon-theme"
|
||||
makedepends="libxfce4ui-dev exo-dev garcon-dev libwnck-dev"
|
||||
install=
|
||||
source="http://archive.xfce.org/src/xfce/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.bz2"
|
||||
source="http://archive.xfce.org/src/xfce/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.bz2
|
||||
6792.patch
|
||||
dont-destroy-the-about-dialog.patch
|
||||
allow-using-enter.patch
|
||||
drop-the-automatics-grouping.patch
|
||||
"
|
||||
|
||||
depends_dev="libxfce4util-dev gtk+-dev"
|
||||
|
||||
_builddir="$srcdir"/$pkgname-$pkgver
|
||||
prepare() {
|
||||
cd "$_builddir"
|
||||
for i in $source; do
|
||||
case $i in
|
||||
*.patch) patch -p1 -i "$srcdir"/$i || return 1;;
|
||||
esac
|
||||
done
|
||||
}
|
||||
build() {
|
||||
cd "$srcdir"/$pkgname-$pkgver
|
||||
./configure --prefix=/usr \
|
||||
@ -27,4 +42,8 @@ package() {
|
||||
make DESTDIR="$pkgdir" install || return 1
|
||||
}
|
||||
|
||||
md5sums="20a9afd50066a2c8a607f90eaec29cfa xfce4-panel-4.7.4.tar.bz2"
|
||||
md5sums="20a9afd50066a2c8a607f90eaec29cfa xfce4-panel-4.7.4.tar.bz2
|
||||
7b0cd40e47ab64fa80c763d9a22ea848 6792.patch
|
||||
039c3f3351920c0ae56e5676099c4bd5 dont-destroy-the-about-dialog.patch
|
||||
c83d70479ecd2740d924d7e37e880689 allow-using-enter.patch
|
||||
d248aa7918a4449145bf28f4670400d1 drop-the-automatics-grouping.patch"
|
||||
|
||||
193
main/xfce4-panel/allow-using-enter.patch
Normal file
193
main/xfce4-panel/allow-using-enter.patch
Normal file
@ -0,0 +1,193 @@
|
||||
From 10da325fac243a0b8d6766508b3fc892d605531a Mon Sep 17 00:00:00 2001
|
||||
From: Nick Schermer <nick@xfce.org>
|
||||
Date: Sun, 07 Nov 2010 19:49:09 +0000
|
||||
Subject: Allow using enter in the launcher treeviews.
|
||||
|
||||
---
|
||||
diff --git a/plugins/launcher/launcher-dialog.c b/plugins/launcher/launcher-dialog.c
|
||||
index f19e73f..fbb981c 100644
|
||||
--- a/plugins/launcher/launcher-dialog.c
|
||||
+++ b/plugins/launcher/launcher-dialog.c
|
||||
@@ -30,6 +30,7 @@
|
||||
#include <garcon/garcon.h>
|
||||
#include <xfconf/xfconf.h>
|
||||
#include <gio/gio.h>
|
||||
+#include <gdk/gdkkeysyms.h>
|
||||
|
||||
#include <common/panel-private.h>
|
||||
#include <common/panel-utils.h>
|
||||
@@ -67,14 +68,16 @@ enum
|
||||
|
||||
|
||||
|
||||
-static void launcher_dialog_items_set_item (GtkTreeModel *model,
|
||||
- GtkTreeIter *iter,
|
||||
- GarconMenuItem *item);
|
||||
-static void launcher_dialog_tree_save (LauncherPluginDialog *dialog);
|
||||
-static void launcher_dialog_tree_selection_changed (GtkTreeSelection *selection,
|
||||
- LauncherPluginDialog *dialog);
|
||||
-static void launcher_dialog_items_unload (LauncherPluginDialog *dialog);
|
||||
-static void launcher_dialog_items_load (LauncherPluginDialog *dialog);
|
||||
+static void launcher_dialog_items_set_item (GtkTreeModel *model,
|
||||
+ GtkTreeIter *iter,
|
||||
+ GarconMenuItem *item);
|
||||
+static void launcher_dialog_tree_save (LauncherPluginDialog *dialog);
|
||||
+static void launcher_dialog_tree_selection_changed (GtkTreeSelection *selection,
|
||||
+ LauncherPluginDialog *dialog);
|
||||
+static gboolean launcher_dialog_press_event (LauncherPluginDialog *dialog,
|
||||
+ const gchar *object_name);
|
||||
+static void launcher_dialog_items_unload (LauncherPluginDialog *dialog);
|
||||
+static void launcher_dialog_items_load (LauncherPluginDialog *dialog);
|
||||
|
||||
|
||||
|
||||
@@ -297,24 +300,32 @@ launcher_dialog_add_button_press_event (GtkTreeView *treeview,
|
||||
GdkEventButton *event,
|
||||
LauncherPluginDialog *dialog)
|
||||
{
|
||||
- GObject *object;
|
||||
-
|
||||
panel_return_val_if_fail (GTK_IS_BUILDER (dialog->builder), FALSE);
|
||||
panel_return_val_if_fail (GTK_IS_TREE_VIEW (treeview), FALSE);
|
||||
|
||||
- if (event->button == 1 && event->type == GDK_2BUTTON_PRESS
|
||||
+ if (event->button == 1
|
||||
+ && event->type == GDK_2BUTTON_PRESS
|
||||
&& event->window == gtk_tree_view_get_bin_window (treeview)
|
||||
&& gtk_tree_view_get_path_at_pos (treeview, event->x, event->y,
|
||||
NULL, NULL, NULL, NULL))
|
||||
- {
|
||||
- object = gtk_builder_get_object (dialog->builder, "button-add");
|
||||
- panel_return_val_if_fail (GTK_IS_BUTTON (object), FALSE);
|
||||
- if (GTK_WIDGET_SENSITIVE (object))
|
||||
- {
|
||||
- gtk_button_clicked (GTK_BUTTON (object));
|
||||
- return TRUE;
|
||||
- }
|
||||
- }
|
||||
+ return launcher_dialog_press_event (dialog, "button-add");
|
||||
+
|
||||
+ return FALSE;
|
||||
+}
|
||||
+
|
||||
+
|
||||
+
|
||||
+static gboolean
|
||||
+launcher_dialog_add_key_press_event (GtkTreeView *treeview,
|
||||
+ GdkEventKey *event,
|
||||
+ LauncherPluginDialog *dialog)
|
||||
+{
|
||||
+ panel_return_val_if_fail (GTK_IS_BUILDER (dialog->builder), FALSE);
|
||||
+ panel_return_val_if_fail (GTK_IS_TREE_VIEW (treeview), FALSE);
|
||||
+
|
||||
+ if (event->keyval == GDK_KEY_Return
|
||||
+ || event->keyval == GDK_KEY_KP_Enter)
|
||||
+ return launcher_dialog_press_event (dialog, "button-add");
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
@@ -517,7 +528,6 @@ launcher_dialog_tree_drag_data_received (GtkWidget *treeview,
|
||||
|
||||
|
||||
|
||||
-
|
||||
static void
|
||||
launcher_dialog_tree_selection_changed (GtkTreeSelection *selection,
|
||||
LauncherPluginDialog *dialog)
|
||||
@@ -581,12 +591,31 @@ launcher_dialog_tree_selection_changed (GtkTreeSelection *selection,
|
||||
|
||||
|
||||
static gboolean
|
||||
+launcher_dialog_press_event (LauncherPluginDialog *dialog,
|
||||
+ const gchar *object_name)
|
||||
+{
|
||||
+ GObject *object;
|
||||
+
|
||||
+ panel_return_val_if_fail (GTK_IS_BUILDER (dialog->builder), FALSE);
|
||||
+
|
||||
+ object = gtk_builder_get_object (dialog->builder, object_name);
|
||||
+ panel_return_val_if_fail (GTK_IS_BUTTON (object), FALSE);
|
||||
+ if (GTK_WIDGET_SENSITIVE (object))
|
||||
+ {
|
||||
+ gtk_button_clicked (GTK_BUTTON (object));
|
||||
+ return TRUE;
|
||||
+ }
|
||||
+
|
||||
+ return FALSE;
|
||||
+}
|
||||
+
|
||||
+
|
||||
+
|
||||
+static gboolean
|
||||
launcher_dialog_tree_button_press_event (GtkTreeView *treeview,
|
||||
GdkEventButton *event,
|
||||
LauncherPluginDialog *dialog)
|
||||
{
|
||||
- GObject *object;
|
||||
-
|
||||
panel_return_val_if_fail (GTK_IS_BUILDER (dialog->builder), FALSE);
|
||||
panel_return_val_if_fail (GTK_IS_TREE_VIEW (treeview), FALSE);
|
||||
|
||||
@@ -594,15 +623,24 @@ launcher_dialog_tree_button_press_event (GtkTreeView *treeview,
|
||||
&& event->window == gtk_tree_view_get_bin_window (treeview)
|
||||
&& gtk_tree_view_get_path_at_pos (treeview, event->x, event->y,
|
||||
NULL, NULL, NULL, NULL))
|
||||
- {
|
||||
- object = gtk_builder_get_object (dialog->builder, "item-edit");
|
||||
- panel_return_val_if_fail (GTK_IS_BUTTON (object), FALSE);
|
||||
- if (GTK_WIDGET_SENSITIVE (object))
|
||||
- {
|
||||
- gtk_button_clicked (GTK_BUTTON (object));
|
||||
- return TRUE;
|
||||
- }
|
||||
- }
|
||||
+ return launcher_dialog_press_event (dialog, "item-edit");
|
||||
+
|
||||
+ return FALSE;
|
||||
+}
|
||||
+
|
||||
+
|
||||
+
|
||||
+static gboolean
|
||||
+launcher_dialog_tree_key_press_event (GtkTreeView *treeview,
|
||||
+ GdkEventKey *event,
|
||||
+ LauncherPluginDialog *dialog)
|
||||
+{
|
||||
+ panel_return_val_if_fail (GTK_IS_BUILDER (dialog->builder), FALSE);
|
||||
+ panel_return_val_if_fail (GTK_IS_TREE_VIEW (treeview), FALSE);
|
||||
+
|
||||
+ if (event->keyval == GDK_KEY_Return
|
||||
+ || event->keyval == GDK_KEY_KP_Enter)
|
||||
+ return launcher_dialog_press_event (dialog, "item-edit");
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
@@ -991,6 +1029,8 @@ launcher_dialog_show (LauncherPlugin *plugin)
|
||||
launcher_dialog_tree_selection_changed (selection, dialog);
|
||||
g_signal_connect (G_OBJECT (object), "button-press-event",
|
||||
G_CALLBACK (launcher_dialog_tree_button_press_event), dialog);
|
||||
+ g_signal_connect (G_OBJECT (object), "key-press-event",
|
||||
+ G_CALLBACK (launcher_dialog_tree_key_press_event), dialog);
|
||||
|
||||
/* connect bindings to the advanced properties */
|
||||
for (i = 0; i < G_N_ELEMENTS (binding_names); i++)
|
||||
@@ -1006,7 +1046,7 @@ launcher_dialog_show (LauncherPlugin *plugin)
|
||||
g_signal_connect (G_OBJECT (object), "response",
|
||||
G_CALLBACK (launcher_dialog_add_response), dialog);
|
||||
g_signal_connect (G_OBJECT (object), "delete-event",
|
||||
- G_CALLBACK (gtk_true), NULL);
|
||||
+ G_CALLBACK (gtk_widget_hide_on_delete), NULL);
|
||||
|
||||
/* setup sorting in the add dialog */
|
||||
object = gtk_builder_get_object (builder, "add-store");
|
||||
@@ -1025,6 +1065,8 @@ launcher_dialog_show (LauncherPlugin *plugin)
|
||||
G_CALLBACK (launcher_dialog_add_selection_changed), dialog);
|
||||
g_signal_connect (G_OBJECT (object), "button-press-event",
|
||||
G_CALLBACK (launcher_dialog_add_button_press_event), dialog);
|
||||
+ g_signal_connect (G_OBJECT (object), "key-press-event",
|
||||
+ G_CALLBACK (launcher_dialog_add_key_press_event), dialog);
|
||||
|
||||
/* setup search filter in the add dialog */
|
||||
object = gtk_builder_get_object (builder, "add-store-filter");
|
||||
--
|
||||
cgit v0.8.3.4
|
||||
22
main/xfce4-panel/dont-destroy-the-about-dialog.patch
Normal file
22
main/xfce4-panel/dont-destroy-the-about-dialog.patch
Normal file
@ -0,0 +1,22 @@
|
||||
From de2ebcb59c77eeb30918d40271cb8ab0393d6fc0 Mon Sep 17 00:00:00 2001
|
||||
From: Nick Schermer <nick@xfce.org>
|
||||
Date: Sun, 07 Nov 2010 12:07:19 +0000
|
||||
Subject: Don't destroy the about dialog.
|
||||
|
||||
---
|
||||
diff --git a/panel/panel-dialogs.c b/panel/panel-dialogs.c
|
||||
index 14596e9..f2f3b15 100644
|
||||
--- a/panel/panel-dialogs.c
|
||||
+++ b/panel/panel-dialogs.c
|
||||
@@ -44,9 +44,6 @@ panel_dialogs_show_about_email_hook (GtkAboutDialog *dialog,
|
||||
{
|
||||
if (g_strcmp0 ("tictactoe@xfce.org", uri) == 0)
|
||||
{
|
||||
- /* gtk needs to finish some stuff before the dialog can be closed */
|
||||
- exo_gtk_object_destroy_later (GTK_OBJECT (dialog));
|
||||
-
|
||||
/* open tic-tac-toe */
|
||||
panel_tic_tac_toe_show ();
|
||||
}
|
||||
--
|
||||
cgit v0.8.3.4
|
||||
119
main/xfce4-panel/drop-the-automatics-grouping.patch
Normal file
119
main/xfce4-panel/drop-the-automatics-grouping.patch
Normal file
@ -0,0 +1,119 @@
|
||||
From 50c4281e5b8c36107732d0d48dd55e5ee7b9b549 Mon Sep 17 00:00:00 2001
|
||||
From: Nick Schermer <nick@xfce.org>
|
||||
Date: Mon, 08 Nov 2010 21:10:16 +0000
|
||||
Subject: Drop the automatics grouping option from tasklist.
|
||||
|
||||
Not implemented yet, so avoid the confusion.
|
||||
---
|
||||
diff --git a/plugins/tasklist/tasklist-dialog.glade b/plugins/tasklist/tasklist-dialog.glade
|
||||
index a2e19a0..a779d52 100644
|
||||
--- a/plugins/tasklist/tasklist-dialog.glade
|
||||
+++ b/plugins/tasklist/tasklist-dialog.glade
|
||||
@@ -349,10 +349,10 @@
|
||||
<col id="0" translatable="yes">Never</col>
|
||||
</row>
|
||||
<row>
|
||||
- <col id="0" translatable="yes">When space is limited</col>
|
||||
+ <col id="0" translatable="yes">Always</col>
|
||||
</row>
|
||||
<row>
|
||||
- <col id="0" translatable="yes">Always</col>
|
||||
+ <col id="0" translatable="yes">When space is limited</col>
|
||||
</row>
|
||||
</data>
|
||||
</object>
|
||||
diff --git a/plugins/tasklist/tasklist-widget.c b/plugins/tasklist/tasklist-widget.c
|
||||
index 72283ba..23cd967 100644
|
||||
--- a/plugins/tasklist/tasklist-widget.c
|
||||
+++ b/plugins/tasklist/tasklist-widget.c
|
||||
@@ -307,7 +307,7 @@ xfce_tasklist_class_init (XfceTasklistClass *klass)
|
||||
g_param_spec_uint ("grouping",
|
||||
NULL, NULL,
|
||||
XFCE_TASKLIST_GROUPING_MIN,
|
||||
- XFCE_TASKLIST_GROUPING_MAX,
|
||||
+ XFCE_TASKLIST_GROUPING_MAX + 1 /* TODO drop this later */,
|
||||
XFCE_TASKLIST_GROUPING_DEFAULT,
|
||||
EXO_PARAM_READWRITE));
|
||||
|
||||
@@ -765,10 +765,12 @@ xfce_tasklist_size_layout (XfceTasklist *tasklist,
|
||||
n_buttons = tasklist->n_windows;
|
||||
n_buttons_target = ((alloc->width / max_button_length) + 1) * rows;
|
||||
|
||||
+#if 0
|
||||
if (tasklist->grouping == XFCE_TASKLIST_GROUPING_AUTO)
|
||||
{
|
||||
/* try creating group buttons */
|
||||
}
|
||||
+#endif
|
||||
|
||||
/* we now push the windows with the lowest score in the
|
||||
* overflow menu */
|
||||
@@ -2918,9 +2920,11 @@ xfce_tasklist_group_button_child_destroyed (XfceTasklistChild *group_child,
|
||||
}
|
||||
|
||||
if ((group_child->tasklist->grouping == XFCE_TASKLIST_GROUPING_ALWAYS
|
||||
- && n_children > 0)
|
||||
+ && n_children > 0))
|
||||
+#if 0
|
||||
|| (group_child->tasklist->grouping == XFCE_TASKLIST_GROUPING_AUTO
|
||||
&& n_children > 1))
|
||||
+#endif
|
||||
{
|
||||
xfce_tasklist_group_button_child_visible_changed (group_child);
|
||||
xfce_tasklist_group_button_name_changed (NULL, group_child);
|
||||
@@ -3148,6 +3152,10 @@ xfce_tasklist_set_grouping (XfceTasklist *tasklist,
|
||||
{
|
||||
panel_return_if_fail (XFCE_IS_TASKLIST (tasklist));
|
||||
|
||||
+ /* TODO avoid overflow, because we allows + 1 in the object */
|
||||
+ if (grouping > XFCE_TASKLIST_GROUPING_MAX)
|
||||
+ grouping = XFCE_TASKLIST_GROUPING_MAX;
|
||||
+
|
||||
if (tasklist->grouping != grouping)
|
||||
{
|
||||
tasklist->grouping = grouping;
|
||||
diff --git a/plugins/tasklist/tasklist-widget.h b/plugins/tasklist/tasklist-widget.h
|
||||
index c903260..c0574e4 100644
|
||||
--- a/plugins/tasklist/tasklist-widget.h
|
||||
+++ b/plugins/tasklist/tasklist-widget.h
|
||||
@@ -40,12 +40,12 @@ typedef enum _XfceTasklistSortOrder XfceTasklistSortOrder;
|
||||
enum _XfceTasklistGrouping
|
||||
{
|
||||
XFCE_TASKLIST_GROUPING_NEVER,
|
||||
- XFCE_TASKLIST_GROUPING_AUTO, /* when space is limited */
|
||||
XFCE_TASKLIST_GROUPING_ALWAYS,
|
||||
+ /*XFCE_TASKLIST_GROUPING_AUTO, *//* when space is limited */
|
||||
|
||||
XFCE_TASKLIST_GROUPING_MIN = XFCE_TASKLIST_GROUPING_NEVER,
|
||||
XFCE_TASKLIST_GROUPING_MAX = XFCE_TASKLIST_GROUPING_ALWAYS,
|
||||
- XFCE_TASKLIST_GROUPING_DEFAULT = XFCE_TASKLIST_GROUPING_AUTO
|
||||
+ XFCE_TASKLIST_GROUPING_DEFAULT = XFCE_TASKLIST_GROUPING_NEVER
|
||||
};
|
||||
|
||||
enum _XfceTasklistSortOrder
|
||||
diff --git a/plugins/tasklist/tasklist.c b/plugins/tasklist/tasklist.c
|
||||
index d69c1b9..407a150 100644
|
||||
--- a/plugins/tasklist/tasklist.c
|
||||
+++ b/plugins/tasklist/tasklist.c
|
||||
@@ -185,6 +185,7 @@ tasklist_plugin_configure_plugin (XfcePanelPlugin *panel_plugin)
|
||||
GtkBuilder *builder;
|
||||
GObject *dialog;
|
||||
GObject *object;
|
||||
+ GtkTreeIter iter;
|
||||
|
||||
/* setup the dialog */
|
||||
PANEL_UTILS_LINK_4UI
|
||||
@@ -222,6 +223,11 @@ tasklist_plugin_configure_plugin (XfcePanelPlugin *panel_plugin)
|
||||
gtk_widget_hide (GTK_WIDGET (object));
|
||||
#endif
|
||||
|
||||
+ /* TODO: remove this if always group is supported */
|
||||
+ object = gtk_builder_get_object (builder, "grouping-model");
|
||||
+ if (gtk_tree_model_iter_nth_child (GTK_TREE_MODEL (object), &iter, NULL, 2))
|
||||
+ gtk_list_store_remove (GTK_LIST_STORE (object), &iter);
|
||||
+
|
||||
gtk_widget_show (GTK_WIDGET (dialog));
|
||||
}
|
||||
|
||||
--
|
||||
cgit v0.8.3.4
|
||||
Loading…
x
Reference in New Issue
Block a user