Hello community, here is the log from the commit of package terminus for openSUSE:Factory checked in at 2019-03-28 22:50:19 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/terminus (Old) and /work/SRC/openSUSE:Factory/.terminus.new.25356 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "terminus" Thu Mar 28 22:50:19 2019 rev:3 rq:689409 version:1.4.1 Changes: -------- --- /work/SRC/openSUSE:Factory/terminus/terminus.changes 2019-02-11 21:23:38.471136843 +0100 +++ /work/SRC/openSUSE:Factory/.terminus.new.25356/terminus.changes 2019-03-28 22:50:22.839034732 +0100 @@ -1,0 +2,8 @@ +Thu Mar 28 15:53:09 UTC 2019 - Alexei Podvalsky <[email protected]> + +- Update to 1.4.1: + * Fixed COPY keybinding + * Added keybindings for COPY and PASTE + * Added keybindings to move focus between terminals in the same tab + +------------------------------------------------------------------- Old: ---- terminus-1.3.0.tar.gz New: ---- terminus-1.4.1.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ terminus.spec ++++++ --- /var/tmp/diff_new_pack.9AZVEQ/_old 2019-03-28 22:50:24.063034461 +0100 +++ /var/tmp/diff_new_pack.9AZVEQ/_new 2019-03-28 22:50:24.087034456 +0100 @@ -17,7 +17,7 @@ Name: terminus -Version: 1.3.0 +Version: 1.4.1 Release: 0 Summary: An X terminal written in Vala License: GPL-3.0-or-later ++++++ terminus-1.3.0.tar.gz -> terminus-1.4.1.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/terminus-1.3.0/CMakeLists.txt new/terminus-1.4.1/CMakeLists.txt --- old/terminus-1.3.0/CMakeLists.txt 2019-02-07 00:39:12.000000000 +0100 +++ new/terminus-1.4.1/CMakeLists.txt 2019-03-27 20:37:46.000000000 +0100 @@ -45,9 +45,22 @@ pkg_check_modules(DEPS REQUIRED ${MODULES_TO_CHECK}) -find_program ( WHERE_GRESOURCE glib-compile-resources ) -if ( NOT WHERE_GRESOURCE ) - MESSAGE(FATAL_ERROR "Error! GLIB-COMPILE-RESOURCES is not installed.") +find_program ( WHERE_glib_compile_resources glib-compile-resources ) +if ( NOT WHERE_glib_compile_resources ) + MESSAGE(FATAL_ERROR "Error! external program 'glib-compile-resources' is not installed.") +endif() + +find_program ( WHERE_gtk_update_icon_cache gtk-update-icon-cache ) +if ( NOT WHERE_gtk_update_icon_cache ) + find_program ( WHERE_gtk_update_icon_cache gtk-update-icon-cache.3.0 ) + if ( NOT WHERE_gtk_update_icon_cache ) + MESSAGE(FATAL_ERROR "Error! none of the external programs 'gtk-update-icon-cache', 'gtk-update-icon-cache.3.0', are installed.") + endif() +endif() + +find_program ( WHERE_glib_compile_schemas glib-compile-schemas ) +if ( NOT WHERE_glib_compile_schemas ) + MESSAGE(FATAL_ERROR "Error! external program 'glib-compile-schemas' is not installed.") endif() add_subdirectory(po) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/terminus-1.3.0/HISTORY.md new/terminus-1.4.1/HISTORY.md --- old/terminus-1.3.0/HISTORY.md 2019-02-07 00:39:12.000000000 +0100 +++ new/terminus-1.4.1/HISTORY.md 2019-03-27 20:37:46.000000000 +0100 @@ -1,6 +1,11 @@ # History of versions # -* Version 1.3.0 (2019-01-06) +* Version 1.4.1 (2019-03-26) + * Fixed COPY keybinding +* Version 1.4.0 (2019-02-28) + * Added keybindings for COPY and PASTE + * Added keybindings to move focus between terminals in the same tab +* Version 1.3.0 (2019-02-06) * Added the -e and -x parameters to create a new window an launch a command inside * Added the --working-directory parameter * Fixed the .desktop file to fully follow the standard diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/terminus-1.3.0/PKGBUILD new/terminus-1.4.1/PKGBUILD --- old/terminus-1.3.0/PKGBUILD 2019-02-07 00:39:12.000000000 +0100 +++ new/terminus-1.4.1/PKGBUILD 2019-03-27 20:37:46.000000000 +0100 @@ -1,5 +1,5 @@ pkgname=terminus -pkgver=1.3.0 +pkgver=1.4.1 pkgrel=1 pkgdesc="A new terminal for XWindows " diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/terminus-1.3.0/cmake/CMakeLists.txt new/terminus-1.4.1/cmake/CMakeLists.txt --- old/terminus-1.3.0/cmake/CMakeLists.txt 2019-02-07 00:39:12.000000000 +0100 +++ new/terminus-1.4.1/cmake/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 @@ -1,17 +0,0 @@ -### CMakeLists automatically created with AutoVala -### Do not edit - -IF(IS_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/) - install(DIRECTORY - ${CMAKE_CURRENT_SOURCE_DIR}/ - DESTINATION - share/autovala/cmake - ) -ELSE() - install(FILES - ${CMAKE_CURRENT_SOURCE_DIR}/ - DESTINATION - share/autovala/cmake - ) -ENDIF() - diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/terminus-1.3.0/data/org.rastersoft.terminus.gschema.xml new/terminus-1.4.1/data/org.rastersoft.terminus.gschema.xml --- old/terminus-1.3.0/data/org.rastersoft.terminus.gschema.xml 2019-02-07 00:39:12.000000000 +0100 +++ new/terminus-1.4.1/data/org.rastersoft.terminus.gschema.xml 2019-03-27 20:37:46.000000000 +0100 @@ -143,5 +143,35 @@ <summary>A copy of guake-mode in the format needed by gnome shell</summary> <description></description> </key> + <key type="s" name="copy"> + <default><![CDATA['<Shift><Ctrl>c']]></default> + <summary>Copy text into clipboard</summary> + <description></description> + </key> + <key type="s" name="paste"> + <default><![CDATA['<Shift><Ctrl>v']]></default> + <summary>Paste text from clipboard</summary> + <description></description> + </key> + <key type="s" name="terminal-left"> + <default><![CDATA['<Shift><Ctrl>Left']]></default> + <summary>Select the terminal at the left</summary> + <description></description> + </key> + <key type="s" name="terminal-right"> + <default><![CDATA['<Shift><Ctrl>Right']]></default> + <summary>Select the terminal at the right</summary> + <description></description> + </key> + <key type="s" name="terminal-up"> + <default><![CDATA['<Shift><Ctrl>Up']]></default> + <summary>Select the terminal at the top</summary> + <description></description> + </key> + <key type="s" name="terminal-down"> + <default><![CDATA['<Shift><Ctrl>Down']]></default> + <summary>Select the terminal at the bottom</summary> + <description></description> + </key> </schema> </schemalist> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/terminus-1.3.0/debian/changelog new/terminus-1.4.1/debian/changelog --- old/terminus-1.3.0/debian/changelog 2019-02-07 00:39:12.000000000 +0100 +++ new/terminus-1.4.1/debian/changelog 2019-03-27 20:37:46.000000000 +0100 @@ -1,10 +1,24 @@ +terminus (1.4.1-Debian1) sid; urgency=low + + * Fixed COPY keybinding + + -- Sergio Costas Rodriguez <[email protected]> Tue, 26 Mar 2019 23:55:00 +0200 + +terminus (1.4.0-Debian1) sid; urgency=low + + * Added keybindings for COPY and PASTE + * Added keybindings to move focus between terminals in the same tab + + -- Sergio Costas Rodriguez <[email protected]> Thu, 28 Feb 2019 23:55:00 +0200 + terminus (1.3.0-Debian1) sid; urgency=low - * Allows to use the -e and -x parameters to create a new window an launch a command inside + * Added the -e and -x parameters to create a new window an launch a command inside + * Added the --working-directory parameter * Fixed the .desktop file to fully follow the standard * Added an screenshot in the README.md file - -- Sergio Costas Rodriguez <[email protected]> Sun, 06 Jan 2019 23:55:00 +0200 + -- Sergio Costas Rodriguez <[email protected]> Wed, 06 Feb 2019 23:55:00 +0200 terminus (1.2.0-Debian1) sid; urgency=low diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/terminus-1.3.0/debian/control new/terminus-1.4.1/debian/control --- old/terminus-1.3.0/debian/control 2019-02-07 00:39:12.000000000 +0100 +++ new/terminus-1.4.1/debian/control 2019-03-27 20:37:46.000000000 +0100 @@ -4,12 +4,12 @@ Section: misc Standards-Version: 4.1.3 Homepage: https://gitlab.com/rastersoft/terminus -Build-Depends: build-essential, po-debconf, valac (>=0.30), libc6-dev, libgee-0.8-dev, libkeybinder-3.0-dev, libvte-2.91-dev, cmake, intltool +Build-Depends: build-essential, po-debconf, valac (>=0.30), libc6-dev, libgee-0.8-dev, libkeybinder-3.0-dev, libvte-2.91-dev, cmake, intltool, libpcre3-dev Package: terminus Architecture: any -Version: 1.3.0 -Depends: libgee-0.8-2, libkeybinder-3.0-0, libvte-2.91-0 +Version: 1.4.1 +Depends: libgee-0.8-2, libkeybinder-3.0-0, libvte-2.91-0, libpcre3, libglib2.0-bin Description: A new terminal for X11 and Wayland both for classic, in-window terminal, and Guake-like (hot-key drop-down mode) terminal. It also allows to split the window both in horizontal diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/terminus-1.3.0/meson.build new/terminus-1.4.1/meson.build --- old/terminus-1.3.0/meson.build 2019-02-07 00:39:12.000000000 +0100 +++ new/terminus-1.4.1/meson.build 2019-03-27 20:37:46.000000000 +0100 @@ -4,6 +4,9 @@ add_global_arguments('-DGETTEXT_PACKAGE="terminus"',language: 'c') +find_program ('glib-compile-resources') +find_program ('gtk-update-icon-cache', 'gtk-update-icon-cache.3.0') +find_program ('glib-compile-schemas') gdk_3_0_dep = dependency('gdk-3.0') gtk_3_0_dep = dependency('gtk+-3.0') gee_0_8_dep = dependency('gee-0.8') @@ -16,6 +19,7 @@ subdir('po') cfg_dbus_data = configuration_data() cfg_dbus_data.set ('DBUS_PREFIX',get_option('prefix')) +meson.add_install_script('meson_scripts/update_icon.sh') meson.add_install_script(join_paths(meson.current_source_dir(),'meson_scripts','install_data.sh'),join_paths(get_option('prefix'),'share/gnome-shell/extensions/[email protected]'),join_paths(meson.current_source_dir(),'terminus_gnome_shell','extension.js')) meson.add_install_script(join_paths(meson.current_source_dir(),'meson_scripts','install_data.sh'),join_paths(get_option('prefix'),'share/gnome-shell/extensions/[email protected]'),join_paths(meson.current_source_dir(),'terminus_gnome_shell','metadata.json')) @@ -39,6 +43,6 @@ dbus_cfg_com_rastersoft_terminus_service_base = configure_file(input: 'data/dbus/com.rastersoft.terminus.service.base',output: 'com.rastersoft.terminus.service', configuration: cfg_dbus_data) install_data(dbus_cfg_com_rastersoft_terminus_service_base,install_dir: join_paths(get_option('prefix'),get_option('datadir'),'dbus-1','services')) install_data('data/org.rastersoft.terminus.gschema.xml', install_dir: join_paths(get_option('prefix'),get_option('datadir'), 'glib-2.0', 'schemas')) -meson.add_install_script('meson_scripts/install_schemas.py') +meson.add_install_script('meson_scripts/install_schemas.sh') install_data('data/icons/terminus.svg',install_dir: join_paths(get_option('prefix'),get_option('datadir'),'icons','hicolor/scalable/apps')) subdir('src') diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/terminus-1.3.0/meson_scripts/install_data.sh new/terminus-1.4.1/meson_scripts/install_data.sh --- old/terminus-1.3.0/meson_scripts/install_data.sh 2019-02-07 00:39:12.000000000 +0100 +++ new/terminus-1.4.1/meson_scripts/install_data.sh 2019-03-27 20:37:46.000000000 +0100 @@ -1,7 +1,9 @@ -#!/bin/sh +#!/bin/bash + +shopt -s extglob mkdir -p $DESTDIR/$1 if [ -d "$2" ]; then - cp -a $2/* $DESTDIR/$1 + cp -a $2/!(CMakeLists.txt) $DESTDIR/$1 else cp -a $2 $DESTDIR/$1 fi diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/terminus-1.3.0/meson_scripts/install_schemas.py new/terminus-1.4.1/meson_scripts/install_schemas.py --- old/terminus-1.3.0/meson_scripts/install_schemas.py 2019-02-07 00:39:12.000000000 +0100 +++ new/terminus-1.4.1/meson_scripts/install_schemas.py 1970-01-01 01:00:00.000000000 +0100 @@ -1,10 +0,0 @@ -#!/usr/bin/env python3 - -import os -import subprocess - -schemadir = os.path.join(os.environ['MESON_INSTALL_PREFIX'], 'share', 'glib-2.0', 'schemas') - -if not os.environ.get('DESTDIR'): - print('Compiling gsettings schemas...') - subprocess.call(['glib-compile-schemas', schemadir]) \ No newline at end of file diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/terminus-1.3.0/meson_scripts/install_schemas.sh new/terminus-1.4.1/meson_scripts/install_schemas.sh --- old/terminus-1.3.0/meson_scripts/install_schemas.sh 1970-01-01 01:00:00.000000000 +0100 +++ new/terminus-1.4.1/meson_scripts/install_schemas.sh 2019-03-27 20:37:46.000000000 +0100 @@ -0,0 +1,6 @@ +#!/bin/bash + +if [[ -z "${DESTDIR}" ]]; then + echo Compiling gsettings schemas... + glib-compile-schemas ${MESON_INSTALL_PREFIX}/share/glib-2.0/schemas +fi diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/terminus-1.3.0/meson_scripts/update_icon.sh new/terminus-1.4.1/meson_scripts/update_icon.sh --- old/terminus-1.3.0/meson_scripts/update_icon.sh 1970-01-01 01:00:00.000000000 +0100 +++ new/terminus-1.4.1/meson_scripts/update_icon.sh 2019-03-27 20:37:46.000000000 +0100 @@ -0,0 +1,12 @@ +#!/bin/bash + +if [[ -z "${DESTDIR}" ]]; then + if [[ -z "${MESON_INSTALL_PREFIX}" ]]; then + prefix=/usr/local + else + prefix="${MESON_INSTALL_PREFIX}" + fi + datadir="${prefix}/share" + echo Updating icon cache at ${datadir}/icons/hicolor... + gtk-update-icon-cache -qtf "${datadir}/icons/hicolor" +fi diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/terminus-1.3.0/po/es.po new/terminus-1.4.1/po/es.po --- old/terminus-1.3.0/po/es.po 2019-02-07 00:39:12.000000000 +0100 +++ new/terminus-1.4.1/po/es.po 2019-03-27 20:37:46.000000000 +0100 @@ -8,8 +8,8 @@ msgstr "" "Project-Id-Version: 1.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-02-07 00:30+0100\n" -"PO-Revision-Date: 2019-02-07 00:30+0100\n" +"POT-Creation-Date: 2019-03-27 20:34+0100\n" +"PO-Revision-Date: 2019-03-27 20:37+0100\n" "Last-Translator: Sergio Costas <[email protected]>\n" "Language-Team: Español; Castellano <[email protected]>\n" "Language: es\n" @@ -19,7 +19,7 @@ "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: Gtranslator 3.30.1\n" -#: src/params.vala:81 +#: src/params.vala:100 #, c-format msgid "" "The '%s' parameter requires a path after it.\n" @@ -28,7 +28,7 @@ "El parámetro '%s' necesita una ruta detrás de él.\n" "\n" -#: src/params.vala:86 +#: src/params.vala:105 #, c-format msgid "" "The '%s' parameter requires a command after it.\n" @@ -37,7 +37,7 @@ "El parámetro '%s' necesita un comando detrás de él.\n" "\n" -#: src/params.vala:91 +#: src/params.vala:110 msgid "" "Usage:\n" " terminus [OPTION...] [-- COMMAND ...]\n" @@ -83,11 +83,11 @@ msgid "Version %s" msgstr "Versión %s" -#: src/settings.vala:308 src/terminal.vala:201 +#: src/settings.vala:308 src/terminal.vala:213 msgid "New window" msgstr "Nueva ventana" -#: src/settings.vala:309 src/terminal.vala:195 +#: src/settings.vala:309 src/terminal.vala:207 msgid "New tab" msgstr "Nueva pestaña" @@ -103,35 +103,59 @@ msgid "Show guake terminal" msgstr "Mostrar terminal Guake" -#: src/settings.vala:319 +#: src/settings.vala:313 +msgid "Copy text into the clipboard" +msgstr "Copiar texto al portapapeles" + +#: src/settings.vala:314 +msgid "Paste text from the clipboard" +msgstr "Pegar texto desde el portapapeles" + +#: src/settings.vala:315 +msgid "Move focus to the terminal on the left" +msgstr "Cambiar el foco al terminal de la izquierda" + +#: src/settings.vala:316 +msgid "Move focus to the terminal on the right" +msgstr "Cambiar el foco al terminal de la derecha" + +#: src/settings.vala:317 +msgid "Move focus to the terminal above" +msgstr "Cambiar el foco al terminal superior" + +#: src/settings.vala:318 +msgid "Move focus to the terminal below" +msgstr "Cambiar el foco al terminal inferior" + +#: src/settings.vala:325 msgid "Action" msgstr "Acción" -#: src/settings.vala:320 +#: src/settings.vala:326 msgid "Key" msgstr "Tecla" -#: src/terminal.vala:154 +#: src/terminal.vala:166 msgid "Copy" msgstr "Copiar" -#: src/terminal.vala:163 +#: src/terminal.vala:175 msgid "Paste" msgstr "Pegar" -#: src/terminal.vala:173 +#: src/terminal.vala:185 msgid "Split horizontally" msgstr "Dividir horizontalmente" -#: src/terminal.vala:185 +#: src/terminal.vala:197 msgid "Split vertically" msgstr "Dividir verticalmente" -#: src/terminal.vala:209 +#: src/terminal.vala:221 msgid "Preferences" msgstr "Preferencias" -#: src/terminal.vala:218 +#: src/terminal.vala:230 msgid "Close" msgstr "Cerrar" @@ -290,7 +314,7 @@ #: data/interface/properties.ui:910 msgid "Scrolling" -msgstr "Scrolling" +msgstr "Desplazamiento" #: data/interface/properties.ui:938 msgid "Keybindings" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/terminus-1.3.0/po/terminus.pot new/terminus-1.4.1/po/terminus.pot --- old/terminus-1.3.0/po/terminus.pot 2019-02-07 00:39:12.000000000 +0100 +++ new/terminus-1.4.1/po/terminus.pot 2019-03-27 20:37:46.000000000 +0100 @@ -6,9 +6,9 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: terminus 1.2.0\n" +"Project-Id-Version: terminus 1.4.1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-02-07 00:30+0100\n" +"POT-Creation-Date: 2019-03-27 20:34+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <[email protected]>\n" @@ -17,21 +17,21 @@ "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: src/params.vala:81 +#: src/params.vala:100 #, c-format msgid "" "The '%s' parameter requires a path after it.\n" "\n" msgstr "" -#: src/params.vala:86 +#: src/params.vala:105 #, c-format msgid "" "The '%s' parameter requires a command after it.\n" "\n" msgstr "" -#: src/params.vala:91 +#: src/params.vala:110 msgid "" "Usage:\n" " terminus [OPTION...] [-- COMMAND ...]\n" @@ -58,11 +58,11 @@ msgid "Version %s" msgstr "" -#: src/settings.vala:308 src/terminal.vala:201 +#: src/settings.vala:308 src/terminal.vala:213 msgid "New window" msgstr "" -#: src/settings.vala:309 src/terminal.vala:195 +#: src/settings.vala:309 src/terminal.vala:207 msgid "New tab" msgstr "" @@ -78,35 +78,59 @@ msgid "Show guake terminal" msgstr "" -#: src/settings.vala:319 +#: src/settings.vala:313 +msgid "Copy text into the clipboard" +msgstr "" + +#: src/settings.vala:314 +msgid "Paste text from the clipboard" +msgstr "" + +#: src/settings.vala:315 +msgid "Move focus to the terminal on the left" +msgstr "" + +#: src/settings.vala:316 +msgid "Move focus to the terminal on the right" +msgstr "" + +#: src/settings.vala:317 +msgid "Move focus to the terminal above" +msgstr "" + +#: src/settings.vala:318 +msgid "Move focus to the terminal below" +msgstr "" + +#: src/settings.vala:325 msgid "Action" msgstr "" -#: src/settings.vala:320 +#: src/settings.vala:326 msgid "Key" msgstr "" -#: src/terminal.vala:154 +#: src/terminal.vala:166 msgid "Copy" msgstr "" -#: src/terminal.vala:163 +#: src/terminal.vala:175 msgid "Paste" msgstr "" -#: src/terminal.vala:173 +#: src/terminal.vala:185 msgid "Split horizontally" msgstr "" -#: src/terminal.vala:185 +#: src/terminal.vala:197 msgid "Split vertically" msgstr "" -#: src/terminal.vala:209 +#: src/terminal.vala:221 msgid "Preferences" msgstr "" -#: src/terminal.vala:218 +#: src/terminal.vala:230 msgid "Close" msgstr "" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/terminus-1.3.0/rpmbuild/SPECS/terminus.spec new/terminus-1.4.1/rpmbuild/SPECS/terminus.spec --- old/terminus-1.3.0/rpmbuild/SPECS/terminus.spec 2019-02-07 00:39:12.000000000 +0100 +++ new/terminus-1.4.1/rpmbuild/SPECS/terminus.spec 2019-03-27 20:37:46.000000000 +0100 @@ -1,45 +1,42 @@ Name: terminus -Version: 1.3.0 +Version: 1.4.1 Release: 1 License: Unknown/not set -Summary: A new terminal for XWindows +Summary: A new terminal for XWindows and Wayland BuildRequires: gcc BuildRequires: gcc-c++ BuildRequires: vala BuildRequires: glibc-headers -BuildRequires: atk-devel -BuildRequires: cairo-devel BuildRequires: gtk3-devel -BuildRequires: gdk-pixbuf2-devel BuildRequires: libgee-devel BuildRequires: glib2-devel BuildRequires: keybinder3-devel -BuildRequires: pango-devel BuildRequires: vte291-devel -BuildRequires: libX11-devel BuildRequires: cmake BuildRequires: gettext -BuildRequires: pkgconfig +BuildRequires: pkgconf-pkg-config BuildRequires: make BuildRequires: intltool -Requires: atk -Requires: glib2 -Requires: cairo Requires: gtk3 Requires: pango Requires: gdk-pixbuf2 Requires: cairo-gobject +Requires: cairo +Requires: glib2 +Requires: atk Requires: libgee Requires: keybinder3 Requires: vte291 Requires: zlib +Requires: pcre2 Requires: gnutls -Requires: libX11 %description -A new terminal for XWindows +A new terminal for XWindows and Wayland +. + . %files diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/terminus-1.3.0/src/CMakeLists.txt new/terminus-1.4.1/src/CMakeLists.txt --- old/terminus-1.3.0/src/CMakeLists.txt 2019-02-07 00:39:12.000000000 +0100 +++ new/terminus-1.4.1/src/CMakeLists.txt 2019-03-27 20:37:46.000000000 +0100 @@ -7,13 +7,13 @@ set (RELEASE_NAME "terminus") set (CMAKE_C_FLAGS "") set (PREFIX ${CMAKE_INSTALL_PREFIX}) -set (VERSION "1.3.0") +set (VERSION "1.4.1") set (TESTSRCDIR "${CMAKE_SOURCE_DIR}") set (DOLLAR "$") configure_file (${CMAKE_SOURCE_DIR}/src/Config.vala.base ${CMAKE_BINARY_DIR}/src/Config.vala) add_definitions(-DGETTEXT_PACKAGE=\"${GETTEXT_PACKAGE}\") -set (VERSION "1.3.0") +set (VERSION "1.4.1") add_definitions (${DEPS_CFLAGS}) link_libraries ( ${DEPS_LIBRARIES} ) link_directories ( ${DEPS_LIBRARY_DIRS} ) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/terminus-1.3.0/src/PanedPercentage.vala new/terminus-1.4.1/src/PanedPercentage.vala --- old/terminus-1.3.0/src/PanedPercentage.vala 2019-02-07 00:39:12.000000000 +0100 +++ new/terminus-1.4.1/src/PanedPercentage.vala 2019-03-27 20:37:46.000000000 +0100 @@ -1,3 +1,22 @@ +/* + * Copyright 2016 (C) Raster Software Vigo (Sergio Costas) + * + * This file is part of Terminus + * + * Terminus is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Terminus is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + + using Gtk; using Gdk; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/terminus-1.3.0/src/base.vala new/terminus-1.4.1/src/base.vala --- old/terminus-1.3.0/src/base.vala 2019-02-07 00:39:12.000000000 +0100 +++ new/terminus-1.4.1/src/base.vala 2019-03-27 20:37:46.000000000 +0100 @@ -36,7 +36,7 @@ } public void new_terminal_tab() { - var term = new Terminus.Container(this, null); + var term = new Terminus.Container(this, null, null, null); term.ended.connect((w) => { this.delete_page(term); }); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/terminus-1.3.0/src/checkwayland.c new/terminus-1.4.1/src/checkwayland.c --- old/terminus-1.3.0/src/checkwayland.c 2019-02-07 00:39:12.000000000 +0100 +++ new/terminus-1.4.1/src/checkwayland.c 2019-03-27 20:37:46.000000000 +0100 @@ -1,3 +1,22 @@ +/* + * Copyright 2016 (C) Raster Software Vigo (Sergio Costas) + * + * This file is part of Terminus + * + * Terminus is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Terminus is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + + #include "gdk/gdk.h" #include "gdk/gdkwayland.h" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/terminus-1.3.0/src/container.vala new/terminus-1.4.1/src/container.vala --- old/terminus-1.3.0/src/container.vala 2019-02-07 00:39:12.000000000 +0100 +++ new/terminus-1.4.1/src/container.vala 2019-03-27 20:37:46.000000000 +0100 @@ -27,6 +27,8 @@ * one. */ + public enum MoveFocus {UP, DOWN, LEFT, RIGHT} + class Container : Gtk.Bin { public Terminus.Container ? container1; public Terminus.Container ? container2; @@ -35,12 +37,15 @@ private Terminus.Terminal ? terminal; private Terminus.PanedPercentage ? paned; private Terminus.Container top_container; + private Terminus.Container upper_container; private Terminus.Base main_container; + private bool splited_horizontal; public signal void ended(Terminus.Container who); - public Container(Terminus.Base main_container, Terminus.Terminal ? terminal, Terminus.Container ? top_container = null) { + public Container(Terminus.Base main_container, Terminus.Terminal ? terminal, Terminus.Container ? top_container, Terminus.Container ? upper_container) { this.main_container = main_container; + this.upper_container = upper_container; if (top_container == null) { this.top_container = this; this.notetab = new Terminus.Notetab(this.main_container, this); @@ -50,12 +55,13 @@ } if (terminal == null) { - this.terminal = new Terminus.Terminal(this.main_container, this.top_container); + this.terminal = new Terminus.Terminal(this.main_container, this.top_container, this); } else { this.terminal = terminal; } - this.set_terminal_child(); + this.container1 = null; + this.container2 = null; } public void set_tab_title(string title) { @@ -104,14 +110,16 @@ } private void split(bool horizontal) { - this.remove(terminal); + this.splited_horizontal = horizontal; + this.remove(this.terminal); this.terminal.split_horizontal.disconnect(this.split_horizontal_cb); this.terminal.split_vertical.disconnect(this.split_vertical_cb); this.terminal.ended.disconnect(this.ended_cb); this.paned = new Terminus.PanedPercentage(horizontal ? Gtk.Orientation.VERTICAL : Gtk.Orientation.HORIZONTAL, 0.5); - this.container1 = new Terminus.Container(this.main_container, this.terminal, this.top_container); - this.container2 = new Terminus.Container(this.main_container, null, this.top_container); + this.container1 = new Terminus.Container(this.main_container, this.terminal, this.top_container, this); + this.container2 = new Terminus.Container(this.main_container, null, this.top_container, this); + this.terminal.set_container(this.container1); this.container1.ended.connect(this.ended_child); this.container2.ended.connect(this.ended_child); this.paned.add1(this.container1); @@ -121,6 +129,76 @@ this.terminal = null; } + public void move_focus(MoveFocus direction, Terminus.Container ? sender, bool searching_up) { + if (sender == null) { + sender = this.container1; + } + if (this.terminal != null) { + if (searching_up) { + if (this.upper_container != null) { + this.upper_container.move_focus(direction, this, true); + } + } else { + this.terminal.do_grab_focus(); + } + return; + } + switch (direction) { + case Terminus.MoveFocus.UP: + case Terminus.MoveFocus.DOWN: + if (searching_up) { + if (this.splited_horizontal) { + if ((direction == Terminus.MoveFocus.UP) && (sender == this.container2)) { + this.container1.move_focus(direction, this, false); + } else if ((direction == Terminus.MoveFocus.DOWN) && (sender == this.container1)) { + this.container2.move_focus(direction, this, false); + } else { + if (this.upper_container != null) { + this.upper_container.move_focus(direction, this, true); + } + } + } else { + if (this.upper_container != null) { + this.upper_container.move_focus(direction, this, true); + } + } + } else { + if (direction == Terminus.MoveFocus.UP) { + this.container2.move_focus(direction, this, false); + } else { + this.container1.move_focus(direction, this, false); + } + } + break; + case Terminus.MoveFocus.LEFT: + case Terminus.MoveFocus.RIGHT: + if (searching_up) { + if (!this.splited_horizontal) { + if ((direction == Terminus.MoveFocus.LEFT) && (sender == this.container2)) { + this.container1.move_focus(direction, this, false); + } else if ((direction == Terminus.MoveFocus.RIGHT) && (sender == this.container1)) { + this.container2.move_focus(direction, this, false); + } else { + if (this.upper_container != null) { + this.upper_container.move_focus(direction, this, true); + } + } + } else { + if (this.upper_container != null) { + this.upper_container.move_focus(direction, this, true); + } + } + } else { + if (direction == Terminus.MoveFocus.LEFT) { + this.container2.move_focus(direction, this, false); + } else { + this.container1.move_focus(direction, this, false); + } + } + break; + } + } + public void do_grab_focus() { if (this.terminal == null) { this.container1.do_grab_focus(); @@ -138,11 +216,17 @@ old_container = this.container1; } var new_child = old_container.get_current_child(); - this.paned.remove(this.container1); - this.paned.remove(this.container2); - this.container1.ended.disconnect(this.ended_child); - this.container2.ended.disconnect(this.ended_child); - this.remove(this.paned); + if (this.container1 != null) { + this.paned.remove(this.container1); + this.container1.ended.disconnect(this.ended_child); + } + if (this.container2 != null) { + this.paned.remove(this.container2); + this.container2.ended.disconnect(this.ended_child); + } + if (this.paned != null) { + this.remove(this.paned); + } if (new_child is Terminus.Terminal) { this.terminal = new_child as Terminus.Terminal; this.set_terminal_child(); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/terminus-1.3.0/src/meson.build new/terminus-1.4.1/src/meson.build --- old/terminus-1.3.0/src/meson.build 2019-02-07 00:39:12.000000000 +0100 +++ new/terminus-1.4.1/src/meson.build 2019-03-27 20:37:46.000000000 +0100 @@ -4,10 +4,13 @@ cfg_terminus.set('GETTEXT_PACKAGE', 'terminus') cfg_terminus.set('RELEASE_NAME', 'terminus') cfg_terminus.set('PREFIX', get_option('prefix')) -cfg_terminus.set('VERSION', '1.3.0') +cfg_terminus.set('VERSION', '1.4.1') cfg_terminus.set('TESTSRCDIR', meson.source_root()) -cfgfile_2 = configure_file(input: 'Config.vala.base',output: 'Config.vala',configuration: cfg_terminus) +cfgfile_2 = configure_file( + input: 'Config.vala.base', + output: 'Config.vala', + configuration: cfg_terminus) terminus_deps = [gdk_3_0_dep] terminus_deps += [gtk_3_0_dep] @@ -41,5 +44,10 @@ endif terminus_link_args = ['-rdynamic'] -executable('terminus',terminus_sources,dependencies: terminus_deps,vala_args: terminus_vala_args,c_args: terminus_c_args,link_args: terminus_link_args,install: true) +executable('terminus',terminus_sources, + dependencies: terminus_deps, + vala_args: terminus_vala_args, + c_args: terminus_c_args, + link_args: terminus_link_args, + install: true) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/terminus-1.3.0/src/params.vala new/terminus-1.4.1/src/params.vala --- old/terminus-1.3.0/src/params.vala 2019-02-07 00:39:12.000000000 +0100 +++ new/terminus-1.4.1/src/params.vala 2019-03-27 20:37:46.000000000 +0100 @@ -1,3 +1,22 @@ +/* + * Copyright 2016 (C) Raster Software Vigo (Sergio Costas) + * + * This file is part of Terminus + * + * Terminus is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Terminus is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + + namespace Terminus { class Parameters : Object { public bool bind_keys; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/terminus-1.3.0/src/settings.vala new/terminus-1.4.1/src/settings.vala --- old/terminus-1.3.0/src/settings.vala 2019-02-07 00:39:12.000000000 +0100 +++ new/terminus-1.4.1/src/settings.vala 2019-03-27 20:37:46.000000000 +0100 @@ -310,6 +310,12 @@ this.add_keybinding(_("Next tab"), "next-tab"); this.add_keybinding(_("Previous tab"), "previous-tab"); this.add_keybinding(_("Show guake terminal"), "guake-mode"); + this.add_keybinding(_("Copy text into the clipboard"), "copy"); + this.add_keybinding(_("Paste text from the clipboard"), "paste"); + this.add_keybinding(_("Move focus to the terminal on the left"), "terminal-left"); + this.add_keybinding(_("Move focus to the terminal on the right"), "terminal-right"); + this.add_keybinding(_("Move focus to the terminal above"), "terminal-up"); + this.add_keybinding(_("Move focus to the terminal below"), "terminal-down"); var keybindings_view = main_window.get_object("keybindings") as Gtk.TreeView; keybindings_view.activate_on_single_click = true; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/terminus-1.3.0/src/terminal.vala new/terminus-1.4.1/src/terminal.vala --- old/terminus-1.3.0/src/terminal.vala 2019-02-07 00:39:12.000000000 +0100 +++ new/terminus-1.4.1/src/terminal.vala 2019-03-27 20:37:46.000000000 +0100 @@ -36,6 +36,7 @@ private Gtk.Menu menu; private Gtk.MenuItem item_copy; private Terminus.Container top_container; + private Terminus.Container container; private Terminus.Base main_container; private Gtk.Scrollbar right_scroll; @@ -43,6 +44,12 @@ private Gdk.EventKey new_window_key; private Gdk.EventKey next_tab_key; private Gdk.EventKey previous_tab_key; + private Gdk.EventKey copy; + private Gdk.EventKey paste; + private Gdk.EventKey terminal_left; + private Gdk.EventKey terminal_right; + private Gdk.EventKey terminal_up; + private Gdk.EventKey terminal_down; private bool had_focus; public signal void ended(Terminus.Terminal terminal); @@ -61,7 +68,12 @@ this.vte_terminal.grab_focus(); } - public Terminal(Terminus.Base main_container, Terminus.Container top_container) { + public void set_container(Terminus.Container container) { + this.container = container; + } + + public Terminal(Terminus.Base main_container, Terminus.Container top_container, Terminus.Container container) { + this.container = container; // when creating a new terminal, it must take the focus had_focus = true; this.map.connect_after(() => { @@ -231,11 +243,23 @@ this.new_window_key = new Gdk.Event(Gdk.EventType.KEY_RELEASE).key; this.next_tab_key = new Gdk.Event(Gdk.EventType.KEY_RELEASE).key; this.previous_tab_key = new Gdk.Event(Gdk.EventType.KEY_RELEASE).key; + this.copy = new Gdk.Event(Gdk.EventType.KEY_RELEASE).key; + this.paste = new Gdk.Event(Gdk.EventType.KEY_RELEASE).key; + this.terminal_left = new Gdk.Event(Gdk.EventType.KEY_RELEASE).key; + this.terminal_right = new Gdk.Event(Gdk.EventType.KEY_RELEASE).key; + this.terminal_up = new Gdk.Event(Gdk.EventType.KEY_RELEASE).key; + this.terminal_down = new Gdk.Event(Gdk.EventType.KEY_RELEASE).key; keybind_settings_changed("new-window"); keybind_settings_changed("new-tab"); keybind_settings_changed("next-tab"); keybind_settings_changed("previous-tab"); + keybind_settings_changed("copy"); + keybind_settings_changed("paste"); + keybind_settings_changed("terminal-left"); + keybind_settings_changed("terminal-right"); + keybind_settings_changed("terminal-up"); + keybind_settings_changed("terminal-down"); Terminus.settings.changed.connect(this.settings_changed); Terminus.keybind_settings.changed.connect(this.keybind_settings_changed); @@ -290,6 +314,36 @@ this.previous_tab_key.state = state; break; + case "copy": + this.copy.keyval = keyval; + this.copy.state = state; + break; + + case "paste": + this.paste.keyval = keyval; + this.paste.state = state; + break; + + case "terminal-left": + this.terminal_left.keyval = keyval; + this.terminal_left.state = state; + break; + + case "terminal-right": + this.terminal_right.keyval = keyval; + this.terminal_right.state = state; + break; + + case "terminal-up": + this.terminal_up.keyval = keyval; + this.terminal_up.state = state; + break; + + case "terminal-down": + this.terminal_down.keyval = keyval; + this.terminal_down.state = state; + break; + default: break; } @@ -442,6 +496,39 @@ return true; } + if ((eventkey.keyval == this.copy.keyval) && (eventkey.state == this.copy.state)) { + this.vte_terminal.copy_primary(); + var primary = Gtk.Clipboard.get(Gdk.SELECTION_PRIMARY); + var clipboard = Gtk.Clipboard.get(Gdk.SELECTION_CLIPBOARD); + clipboard.set_text(primary.wait_for_text(), -1); + return true; + } + + if ((eventkey.keyval == this.paste.keyval) && (eventkey.state == this.paste.state)) { + this.vte_terminal.paste_primary(); + return true; + } + + if ((eventkey.keyval == this.terminal_up.keyval) && (eventkey.state == this.terminal_up.state)) { + this.container.move_focus(Terminus.MoveFocus.UP, null, true); + return true; + } + + if ((eventkey.keyval == this.terminal_down.keyval) && (eventkey.state == this.terminal_down.state)) { + this.container.move_focus(Terminus.MoveFocus.DOWN, null, true); + return true; + } + + if ((eventkey.keyval == this.terminal_left.keyval) && (eventkey.state == this.terminal_left.state)) { + this.container.move_focus(Terminus.MoveFocus.LEFT, null, true); + return true; + } + + if ((eventkey.keyval == this.terminal_right.keyval) && (eventkey.state == this.terminal_right.state)) { + this.container.move_focus(Terminus.MoveFocus.RIGHT, null, true); + return true; + } + return false; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/terminus-1.3.0/src/terminus.vala new/terminus-1.4.1/src/terminus.vala --- old/terminus-1.3.0/src/terminus.vala 2019-02-07 00:39:12.000000000 +0100 +++ new/terminus-1.4.1/src/terminus.vala 2019-03-27 20:37:46.000000000 +0100 @@ -19,7 +19,7 @@ using Gtk; using Gee; -//project version = 1.3.0 +//project version = 1.4.1 namespace Terminus { TerminusRoot main_root; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/terminus-1.3.0/terminus.avprj new/terminus-1.4.1/terminus.avprj --- old/terminus-1.3.0/terminus.avprj 2019-02-07 00:39:12.000000000 +0100 +++ new/terminus-1.4.1/terminus.avprj 2019-03-27 20:37:46.000000000 +0100 @@ -1,5 +1,5 @@ ### AutoVala Project ### -autovala_version: 28 +autovala_version: 30 project_name: terminus vala_version: 0.30 @@ -13,7 +13,7 @@ *vapidir: src/vapidir vala_binary: src/terminus -*version: 1.3.0 +*version: 1.4.1 use_gresource: extras_gresource_xml vala_vapi: checkwayland.vapi *vala_package: posix @@ -69,3 +69,7 @@ *full_icon: Hicolor Applications data/icons/terminus.svg +*build_external_program: glib-compile-resources +*build_external_program: gtk-update-icon-cache gtk-update-icon-cache.3.0 +*build_external_program: glib-compile-schemas +
