[arch-commits] Commit in lxterminal/repos (3 files)

Balló György bgyorgy at archlinux.org
Mon Sep 17 15:14:34 UTC 2018


    Date: Monday, September 17, 2018 @ 15:14:33
  Author: bgyorgy
Revision: 382513

archrelease: copy trunk to community-testing-x86_64

Added:
  lxterminal/repos/community-testing-x86_64/
  lxterminal/repos/community-testing-x86_64/PKGBUILD
    (from rev 382512, lxterminal/trunk/PKGBUILD)
  lxterminal/repos/community-testing-x86_64/vte-0.54.patch
    (from rev 382512, lxterminal/trunk/vte-0.54.patch)

----------------+
 PKGBUILD       |   38 ++++++++++++++++++
 vte-0.54.patch |  116 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 154 insertions(+)

Copied: lxterminal/repos/community-testing-x86_64/PKGBUILD (from rev 382512, lxterminal/trunk/PKGBUILD)
===================================================================
--- community-testing-x86_64/PKGBUILD	                        (rev 0)
+++ community-testing-x86_64/PKGBUILD	2018-09-17 15:14:33 UTC (rev 382513)
@@ -0,0 +1,38 @@
+# Maintainer: Balló György <ballogyor+arch at gmail dot com>
+# Contributor: Bartłomiej Piotrowski <bpiotrowski at archlinux.org>
+# Contributor: Angel Velasquez <angvp at archlinux.org> 
+# Contributor: Geoffroy Carrier <geoffroy.carrier at koon.fr>
+
+pkgname=lxterminal
+pkgver=0.3.1
+pkgrel=3
+pkgdesc="VTE-based terminal emulator (part of LXDE)"
+arch=('x86_64')
+url="https://lxde.org/"
+license=('GPL2')
+groups=('lxde' 'lxde-gtk3')
+depends=('vte3')
+makedepends=('intltool')
+conflicts=('lxterminal-gtk3')
+replaces=('lxterminal-gtk3')
+source=(https://downloads.sourceforge.net/lxde/${pkgname}-${pkgver}.tar.xz
+        vte-0.54.patch)
+sha256sums=('cd8df387c2dd40e03b48caacf700820f9421b421954a0ed56395f505411d2c4b'
+            '81d2748782c30b29d4cba0ec910d794d4a87231efb06e9e279c995a84dc0fd75')
+
+prepare() {
+  cd $pkgname-$pkgver
+  # Fix close button for vte 0.54
+  patch -Np1 -i ../vte-0.54.patch
+}
+
+build() {
+  cd $pkgname-$pkgver
+  ./configure --sysconfdir=/etc --prefix=/usr --enable-gtk3
+  make
+}
+
+package() {
+  cd $pkgname-$pkgver
+  make DESTDIR="$pkgdir" install
+}

Copied: lxterminal/repos/community-testing-x86_64/vte-0.54.patch (from rev 382512, lxterminal/trunk/vte-0.54.patch)
===================================================================
--- community-testing-x86_64/vte-0.54.patch	                        (rev 0)
+++ community-testing-x86_64/vte-0.54.patch	2018-09-17 15:14:33 UTC (rev 382513)
@@ -0,0 +1,116 @@
+From a4eaef43ab3afaea12db70318df7d2db5aad39db Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Yao=20Wei=20=28=E9=AD=8F=E9=8A=98=E5=BB=B7=29?=
+ <mwei at lxde.org>
+Date: Mon, 17 Sep 2018 00:06:56 +0800
+Subject: [PATCH] fix: fix close button handler
+
+---
+ src/lxterminal.c | 21 +++++++++++++++------
+ 1 file changed, 15 insertions(+), 6 deletions(-)
+
+diff --git a/src/lxterminal.c b/src/lxterminal.c
+index a6dc0b3..8802a12 100644
+--- a/src/lxterminal.c
++++ b/src/lxterminal.c
+@@ -82,7 +82,7 @@ static void terminal_child_exited_event(VteTerminal * vte, gint status, Term * t
+ #else
+ static void terminal_child_exited_event(VteTerminal * vte, Term * term);
+ #endif
+-static void terminal_close_button_event(VteTerminal * vte, Term * term);
++static void terminal_close_button_event(GtkButton * button, Term * term);
+ static gboolean terminal_tab_button_press_event(GtkWidget * widget, GdkEventButton * event, Term * term);
+ static void terminal_vte_cursor_moved_event(VteTerminal * vte, Term * term);
+ static gboolean terminal_vte_button_press_event(VteTerminal * vte, GdkEventButton * event, Term * term);
+@@ -458,7 +458,11 @@ static void terminal_vte_size_allocate_event(GtkWidget *widget, GtkAllocation *a
+ static void terminal_close_tab_activate_event(GtkAction * action, LXTerminal * terminal)
+ {
+     Term * term = g_ptr_array_index(terminal->terms, gtk_notebook_get_current_page(GTK_NOTEBOOK(terminal->notebook)));
+-    terminal_close_button_event(VTE_TERMINAL(term->vte), term);
++#if VTE_CHECK_VERSION (0, 38, 0)
++    terminal_child_exited_event(VTE_TERMINAL(term->vte), 0, term);
++#else
++    terminal_child_exited_event(VTE_TERMINAL(term->vte), term);
++#endif
+ }
+ 
+ /* Handler for "activate" signal on File/Close Window menu item.
+@@ -471,7 +475,12 @@ static void terminal_close_window_activate_event(GtkAction * action, LXTerminal
+ 
+     /* Play it safe and delete tabs one by one. */
+     while(terminal->terms->len > 0) {
+-        terminal_close_button_event(NULL, g_ptr_array_index(terminal->terms, 0));
++        Term *term = g_ptr_array_index(terminal->terms, 0);
++#if VTE_CHECK_VERSION (0, 38, 0)
++        terminal_child_exited_event(VTE_TERMINAL(term->vte), 0, term);
++#else
++        terminal_child_exited_event(VTE_TERMINAL(term->vte), term);
++#endif
+     }
+ }
+ 
+@@ -905,12 +914,12 @@ static void terminal_child_exited_event(VteTerminal * vte, Term * term)
+ }
+ 
+ /* Adapter for "activate" signal on Close button of tab and File/Close Tab menu item and accelerator. */
+-static void terminal_close_button_event(VteTerminal * vte, Term * term)
++static void terminal_close_button_event(GtkButton * button, Term * term)
+ {
+ #if VTE_CHECK_VERSION (0, 38, 0)
+-    terminal_child_exited_event(vte, 0, term);
++    terminal_child_exited_event(VTE_TERMINAL(term->vte), 0, term);
+ #else
+-    terminal_child_exited_event(vte, term);
++    terminal_child_exited_event(VTE_TERMINAL(term->vte), term);
+ #endif
+ }
+ 
+From b7c07ddbced4dd137be1e26b0d519ec742323a26 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Yao=20Wei=20=28=E9=AD=8F=E9=8A=98=E5=BB=B7=29?=
+ <mwei at lxde.org>
+Date: Mon, 17 Sep 2018 00:07:16 +0800
+Subject: [PATCH] fix: prevent calling chiled-exited function more than once
+ per term
+
+child-exited signal behavior changed in VTE 0.54.
+This needs more proper refactoring.
+
+Closes #61
+---
+ src/lxterminal.c | 4 +++-
+ src/lxterminal.h | 1 +
+ 2 files changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/src/lxterminal.c b/src/lxterminal.c
+index 8802a12..70ed131 100644
+--- a/src/lxterminal.c
++++ b/src/lxterminal.c
+@@ -881,6 +881,8 @@ static void terminal_child_exited_event(VteTerminal * vte, Term * term)
+ {
+     LXTerminal * terminal = term->parent;
+ 
++    g_signal_handler_disconnect(G_OBJECT(term->vte), term->exit_handler_id);
++
+     /* Last tab being deleted.  Deallocate memory and close the window. */
+     if (gtk_notebook_get_n_pages(GTK_NOTEBOOK(terminal->notebook)) == 1)
+     {
+@@ -1278,7 +1280,7 @@ static Term * terminal_new(LXTerminal * terminal, const gchar * label, const gch
+     g_signal_connect(G_OBJECT(term->vte), "button-press-event", G_CALLBACK(terminal_vte_button_press_event), term);
+     g_signal_connect(G_OBJECT(term->vte), "button-release-event", G_CALLBACK(terminal_vte_button_release_event), term);
+     g_signal_connect(G_OBJECT(term->vte), "commit", G_CALLBACK(terminal_vte_commit), term);
+-    g_signal_connect(G_OBJECT(term->vte), "child-exited", G_CALLBACK(terminal_child_exited_event), term);
++    term->exit_handler_id = g_signal_connect(G_OBJECT(term->vte), "child-exited", G_CALLBACK(terminal_child_exited_event), term);
+     g_signal_connect(G_OBJECT(term->vte), "cursor-moved", G_CALLBACK(terminal_vte_cursor_moved_event), term);
+     g_signal_connect(G_OBJECT(term->vte), "window-title-changed", G_CALLBACK(terminal_window_title_changed_event), term);
+ 
+diff --git a/src/lxterminal.h b/src/lxterminal.h
+index 1f4bcdd..b5373d0 100644
+--- a/src/lxterminal.h
++++ b/src/lxterminal.h
+@@ -72,6 +72,7 @@ typedef struct _term {
+     GClosure * closure;             /* Accelerator structure */
+     gchar * matched_url;
+     gboolean open_menu_on_button_release;
++    gulong exit_handler_id;
+ } Term;
+ 
+ /* Output of lxterminal_process_arguments. */



More information about the arch-commits mailing list