diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
new file mode 100644
index 0000000..333be00
--- /dev/null
+++ b/.gitlab-ci.yml
@@ -0,0 +1,55 @@
+# Copyright 2023 Zander Brown
+#
+# This library is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License as published
+# by the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This library 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 Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public License
+# along with this library. If not, see .
+
+image: fedora:latest
+
+doc:
+ only:
+ refs:
+ - tags
+ variables:
+ MESON_ARGS: >-
+ -Ddocs=true
+ -Dgtk4=true
+ -Dvapi=false
+ before_script:
+ - dnf -y install fribidi-devel g++ git glib2-devel gnutls-devel
+ gobject-introspection-devel gperf gtk3-devel gtk4-devel
+ libicu-devel meson pango-devel pcre2-devel python3-jinja2
+ python3-packaging python3-pygments python3-toml python3-typogrify
+ systemd-devel lz4-devel gi-docgen
+ script:
+ - meson --prefix=/app ${MESON_ARGS} _build
+ - ninja -C _build
+ - mkdir _doc
+ - cp .gitlab-ci/docs.html _doc/index.html
+ - mv _build/doc/reference/vte-2.91/ _doc/gtk3
+ - mv _build/doc/reference/vte-2.91-gtk4/ _doc/gtk4
+ artifacts:
+ expose_as: 'Browse documentation'
+ paths:
+ - _doc/index.html
+ - _doc
+
+pages:
+ needs: ['doc']
+ only:
+ refs:
+ - tags
+ script:
+ - cp -r _doc public
+ artifacts:
+ paths:
+ - public
diff --git a/.gitlab-ci/docs.html b/.gitlab-ci/docs.html
new file mode 100644
index 0000000..ab0dc7c
--- /dev/null
+++ b/.gitlab-ci/docs.html
@@ -0,0 +1,79 @@
+
+
+
+
+
+
+
+ Vte Docs
+
+
+
+
+ Vte Documentation
+ Gtk 3
+ Gtk 4
+
+
+
\ No newline at end of file
diff --git a/COPYING.GPL3 b/COPYING.GPL3
index 24afbe2..25f026d 100644
--- a/COPYING.GPL3
+++ b/COPYING.GPL3
@@ -646,7 +646,7 @@ the "copyright" line and a pointer to where the full notice is found.
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 .
+ along with this program. If not, see .
Also add information on how to contact you by electronic and paper mail.
@@ -665,7 +665,7 @@ might be different; for a GUI interface, you would use an "about box".
You should also get your employer (if you work as a programmer) or school,
if any, to sign a "copyright disclaimer" for the program, if necessary.
For more information on this, and how to apply and follow the GNU GPL, see
-.
+.
The GNU General Public License does not permit incorporating your program
into proprietary programs. If your program is a subroutine library, you
diff --git a/COPYING.LGPL2 b/COPYING.LGPL2
deleted file mode 100644
index 4362b49..0000000
--- a/COPYING.LGPL2
+++ /dev/null
@@ -1,502 +0,0 @@
- GNU LESSER GENERAL PUBLIC LICENSE
- Version 2.1, February 1999
-
- Copyright (C) 1991, 1999 Free Software Foundation, Inc.
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-[This is the first released version of the Lesser GPL. It also counts
- as the successor of the GNU Library Public License, version 2, hence
- the version number 2.1.]
-
- Preamble
-
- The licenses for most software are designed to take away your
-freedom to share and change it. By contrast, the GNU General Public
-Licenses are intended to guarantee your freedom to share and change
-free software--to make sure the software is free for all its users.
-
- This license, the Lesser General Public License, applies to some
-specially designated software packages--typically libraries--of the
-Free Software Foundation and other authors who decide to use it. You
-can use it too, but we suggest you first think carefully about whether
-this license or the ordinary General Public License is the better
-strategy to use in any particular case, based on the explanations below.
-
- When we speak of free software, we are referring to freedom of use,
-not price. Our General Public Licenses are designed to make sure that
-you have the freedom to distribute copies of free software (and charge
-for this service if you wish); that you receive source code or can get
-it if you want it; that you can change the software and use pieces of
-it in new free programs; and that you are informed that you can do
-these things.
-
- To protect your rights, we need to make restrictions that forbid
-distributors to deny you these rights or to ask you to surrender these
-rights. These restrictions translate to certain responsibilities for
-you if you distribute copies of the library or if you modify it.
-
- For example, if you distribute copies of the library, whether gratis
-or for a fee, you must give the recipients all the rights that we gave
-you. You must make sure that they, too, receive or can get the source
-code. If you link other code with the library, you must provide
-complete object files to the recipients, so that they can relink them
-with the library after making changes to the library and recompiling
-it. And you must show them these terms so they know their rights.
-
- We protect your rights with a two-step method: (1) we copyright the
-library, and (2) we offer you this license, which gives you legal
-permission to copy, distribute and/or modify the library.
-
- To protect each distributor, we want to make it very clear that
-there is no warranty for the free library. Also, if the library is
-modified by someone else and passed on, the recipients should know
-that what they have is not the original version, so that the original
-author's reputation will not be affected by problems that might be
-introduced by others.
-
- Finally, software patents pose a constant threat to the existence of
-any free program. We wish to make sure that a company cannot
-effectively restrict the users of a free program by obtaining a
-restrictive license from a patent holder. Therefore, we insist that
-any patent license obtained for a version of the library must be
-consistent with the full freedom of use specified in this license.
-
- Most GNU software, including some libraries, is covered by the
-ordinary GNU General Public License. This license, the GNU Lesser
-General Public License, applies to certain designated libraries, and
-is quite different from the ordinary General Public License. We use
-this license for certain libraries in order to permit linking those
-libraries into non-free programs.
-
- When a program is linked with a library, whether statically or using
-a shared library, the combination of the two is legally speaking a
-combined work, a derivative of the original library. The ordinary
-General Public License therefore permits such linking only if the
-entire combination fits its criteria of freedom. The Lesser General
-Public License permits more lax criteria for linking other code with
-the library.
-
- We call this license the "Lesser" General Public License because it
-does Less to protect the user's freedom than the ordinary General
-Public License. It also provides other free software developers Less
-of an advantage over competing non-free programs. These disadvantages
-are the reason we use the ordinary General Public License for many
-libraries. However, the Lesser license provides advantages in certain
-special circumstances.
-
- For example, on rare occasions, there may be a special need to
-encourage the widest possible use of a certain library, so that it becomes
-a de-facto standard. To achieve this, non-free programs must be
-allowed to use the library. A more frequent case is that a free
-library does the same job as widely used non-free libraries. In this
-case, there is little to gain by limiting the free library to free
-software only, so we use the Lesser General Public License.
-
- In other cases, permission to use a particular library in non-free
-programs enables a greater number of people to use a large body of
-free software. For example, permission to use the GNU C Library in
-non-free programs enables many more people to use the whole GNU
-operating system, as well as its variant, the GNU/Linux operating
-system.
-
- Although the Lesser General Public License is Less protective of the
-users' freedom, it does ensure that the user of a program that is
-linked with the Library has the freedom and the wherewithal to run
-that program using a modified version of the Library.
-
- The precise terms and conditions for copying, distribution and
-modification follow. Pay close attention to the difference between a
-"work based on the library" and a "work that uses the library". The
-former contains code derived from the library, whereas the latter must
-be combined with the library in order to run.
-
- GNU LESSER GENERAL PUBLIC LICENSE
- TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
- 0. This License Agreement applies to any software library or other
-program which contains a notice placed by the copyright holder or
-other authorized party saying it may be distributed under the terms of
-this Lesser General Public License (also called "this License").
-Each licensee is addressed as "you".
-
- A "library" means a collection of software functions and/or data
-prepared so as to be conveniently linked with application programs
-(which use some of those functions and data) to form executables.
-
- The "Library", below, refers to any such software library or work
-which has been distributed under these terms. A "work based on the
-Library" means either the Library or any derivative work under
-copyright law: that is to say, a work containing the Library or a
-portion of it, either verbatim or with modifications and/or translated
-straightforwardly into another language. (Hereinafter, translation is
-included without limitation in the term "modification".)
-
- "Source code" for a work means the preferred form of the work for
-making modifications to it. For a library, complete source code means
-all the source code for all modules it contains, plus any associated
-interface definition files, plus the scripts used to control compilation
-and installation of the library.
-
- Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope. The act of
-running a program using the Library is not restricted, and output from
-such a program is covered only if its contents constitute a work based
-on the Library (independent of the use of the Library in a tool for
-writing it). Whether that is true depends on what the Library does
-and what the program that uses the Library does.
-
- 1. You may copy and distribute verbatim copies of the Library's
-complete source code as you receive it, in any medium, provided that
-you conspicuously and appropriately publish on each copy an
-appropriate copyright notice and disclaimer of warranty; keep intact
-all the notices that refer to this License and to the absence of any
-warranty; and distribute a copy of this License along with the
-Library.
-
- You may charge a fee for the physical act of transferring a copy,
-and you may at your option offer warranty protection in exchange for a
-fee.
-
- 2. You may modify your copy or copies of the Library or any portion
-of it, thus forming a work based on the Library, and copy and
-distribute such modifications or work under the terms of Section 1
-above, provided that you also meet all of these conditions:
-
- a) The modified work must itself be a software library.
-
- b) You must cause the files modified to carry prominent notices
- stating that you changed the files and the date of any change.
-
- c) You must cause the whole of the work to be licensed at no
- charge to all third parties under the terms of this License.
-
- d) If a facility in the modified Library refers to a function or a
- table of data to be supplied by an application program that uses
- the facility, other than as an argument passed when the facility
- is invoked, then you must make a good faith effort to ensure that,
- in the event an application does not supply such function or
- table, the facility still operates, and performs whatever part of
- its purpose remains meaningful.
-
- (For example, a function in a library to compute square roots has
- a purpose that is entirely well-defined independent of the
- application. Therefore, Subsection 2d requires that any
- application-supplied function or table used by this function must
- be optional: if the application does not supply it, the square
- root function must still compute square roots.)
-
-These requirements apply to the modified work as a whole. If
-identifiable sections of that work are not derived from the Library,
-and can be reasonably considered independent and separate works in
-themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works. But when you
-distribute the same sections as part of a whole which is a work based
-on the Library, the distribution of the whole must be on the terms of
-this License, whose permissions for other licensees extend to the
-entire whole, and thus to each and every part regardless of who wrote
-it.
-
-Thus, it is not the intent of this section to claim rights or contest
-your rights to work written entirely by you; rather, the intent is to
-exercise the right to control the distribution of derivative or
-collective works based on the Library.
-
-In addition, mere aggregation of another work not based on the Library
-with the Library (or with a work based on the Library) on a volume of
-a storage or distribution medium does not bring the other work under
-the scope of this License.
-
- 3. You may opt to apply the terms of the ordinary GNU General Public
-License instead of this License to a given copy of the Library. To do
-this, you must alter all the notices that refer to this License, so
-that they refer to the ordinary GNU General Public License, version 2,
-instead of to this License. (If a newer version than version 2 of the
-ordinary GNU General Public License has appeared, then you can specify
-that version instead if you wish.) Do not make any other change in
-these notices.
-
- Once this change is made in a given copy, it is irreversible for
-that copy, so the ordinary GNU General Public License applies to all
-subsequent copies and derivative works made from that copy.
-
- This option is useful when you wish to copy part of the code of
-the Library into a program that is not a library.
-
- 4. You may copy and distribute the Library (or a portion or
-derivative of it, under Section 2) in object code or executable form
-under the terms of Sections 1 and 2 above provided that you accompany
-it with the complete corresponding machine-readable source code, which
-must be distributed under the terms of Sections 1 and 2 above on a
-medium customarily used for software interchange.
-
- If distribution of object code is made by offering access to copy
-from a designated place, then offering equivalent access to copy the
-source code from the same place satisfies the requirement to
-distribute the source code, even though third parties are not
-compelled to copy the source along with the object code.
-
- 5. A program that contains no derivative of any portion of the
-Library, but is designed to work with the Library by being compiled or
-linked with it, is called a "work that uses the Library". Such a
-work, in isolation, is not a derivative work of the Library, and
-therefore falls outside the scope of this License.
-
- However, linking a "work that uses the Library" with the Library
-creates an executable that is a derivative of the Library (because it
-contains portions of the Library), rather than a "work that uses the
-library". The executable is therefore covered by this License.
-Section 6 states terms for distribution of such executables.
-
- When a "work that uses the Library" uses material from a header file
-that is part of the Library, the object code for the work may be a
-derivative work of the Library even though the source code is not.
-Whether this is true is especially significant if the work can be
-linked without the Library, or if the work is itself a library. The
-threshold for this to be true is not precisely defined by law.
-
- If such an object file uses only numerical parameters, data
-structure layouts and accessors, and small macros and small inline
-functions (ten lines or less in length), then the use of the object
-file is unrestricted, regardless of whether it is legally a derivative
-work. (Executables containing this object code plus portions of the
-Library will still fall under Section 6.)
-
- Otherwise, if the work is a derivative of the Library, you may
-distribute the object code for the work under the terms of Section 6.
-Any executables containing that work also fall under Section 6,
-whether or not they are linked directly with the Library itself.
-
- 6. As an exception to the Sections above, you may also combine or
-link a "work that uses the Library" with the Library to produce a
-work containing portions of the Library, and distribute that work
-under terms of your choice, provided that the terms permit
-modification of the work for the customer's own use and reverse
-engineering for debugging such modifications.
-
- You must give prominent notice with each copy of the work that the
-Library is used in it and that the Library and its use are covered by
-this License. You must supply a copy of this License. If the work
-during execution displays copyright notices, you must include the
-copyright notice for the Library among them, as well as a reference
-directing the user to the copy of this License. Also, you must do one
-of these things:
-
- a) Accompany the work with the complete corresponding
- machine-readable source code for the Library including whatever
- changes were used in the work (which must be distributed under
- Sections 1 and 2 above); and, if the work is an executable linked
- with the Library, with the complete machine-readable "work that
- uses the Library", as object code and/or source code, so that the
- user can modify the Library and then relink to produce a modified
- executable containing the modified Library. (It is understood
- that the user who changes the contents of definitions files in the
- Library will not necessarily be able to recompile the application
- to use the modified definitions.)
-
- b) Use a suitable shared library mechanism for linking with the
- Library. A suitable mechanism is one that (1) uses at run time a
- copy of the library already present on the user's computer system,
- rather than copying library functions into the executable, and (2)
- will operate properly with a modified version of the library, if
- the user installs one, as long as the modified version is
- interface-compatible with the version that the work was made with.
-
- c) Accompany the work with a written offer, valid for at
- least three years, to give the same user the materials
- specified in Subsection 6a, above, for a charge no more
- than the cost of performing this distribution.
-
- d) If distribution of the work is made by offering access to copy
- from a designated place, offer equivalent access to copy the above
- specified materials from the same place.
-
- e) Verify that the user has already received a copy of these
- materials or that you have already sent this user a copy.
-
- For an executable, the required form of the "work that uses the
-Library" must include any data and utility programs needed for
-reproducing the executable from it. However, as a special exception,
-the materials to be distributed need not include anything that is
-normally distributed (in either source or binary form) with the major
-components (compiler, kernel, and so on) of the operating system on
-which the executable runs, unless that component itself accompanies
-the executable.
-
- It may happen that this requirement contradicts the license
-restrictions of other proprietary libraries that do not normally
-accompany the operating system. Such a contradiction means you cannot
-use both them and the Library together in an executable that you
-distribute.
-
- 7. You may place library facilities that are a work based on the
-Library side-by-side in a single library together with other library
-facilities not covered by this License, and distribute such a combined
-library, provided that the separate distribution of the work based on
-the Library and of the other library facilities is otherwise
-permitted, and provided that you do these two things:
-
- a) Accompany the combined library with a copy of the same work
- based on the Library, uncombined with any other library
- facilities. This must be distributed under the terms of the
- Sections above.
-
- b) Give prominent notice with the combined library of the fact
- that part of it is a work based on the Library, and explaining
- where to find the accompanying uncombined form of the same work.
-
- 8. You may not copy, modify, sublicense, link with, or distribute
-the Library except as expressly provided under this License. Any
-attempt otherwise to copy, modify, sublicense, link with, or
-distribute the Library is void, and will automatically terminate your
-rights under this License. However, parties who have received copies,
-or rights, from you under this License will not have their licenses
-terminated so long as such parties remain in full compliance.
-
- 9. You are not required to accept this License, since you have not
-signed it. However, nothing else grants you permission to modify or
-distribute the Library or its derivative works. These actions are
-prohibited by law if you do not accept this License. Therefore, by
-modifying or distributing the Library (or any work based on the
-Library), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Library or works based on it.
-
- 10. Each time you redistribute the Library (or any work based on the
-Library), the recipient automatically receives a license from the
-original licensor to copy, distribute, link with or modify the Library
-subject to these terms and conditions. You may not impose any further
-restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties with
-this License.
-
- 11. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License. If you cannot
-distribute so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you
-may not distribute the Library at all. For example, if a patent
-license would not permit royalty-free redistribution of the Library by
-all those who receive copies directly or indirectly through you, then
-the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Library.
-
-If any portion of this section is held invalid or unenforceable under any
-particular circumstance, the balance of the section is intended to apply,
-and the section as a whole is intended to apply in other circumstances.
-
-It is not the purpose of this section to induce you to infringe any
-patents or other property right claims or to contest validity of any
-such claims; this section has the sole purpose of protecting the
-integrity of the free software distribution system which is
-implemented by public license practices. Many people have made
-generous contributions to the wide range of software distributed
-through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing
-to distribute software through any other system and a licensee cannot
-impose that choice.
-
-This section is intended to make thoroughly clear what is believed to
-be a consequence of the rest of this License.
-
- 12. If the distribution and/or use of the Library is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Library under this License may add
-an explicit geographical distribution limitation excluding those countries,
-so that distribution is permitted only in or among countries not thus
-excluded. In such case, this License incorporates the limitation as if
-written in the body of this License.
-
- 13. The Free Software Foundation may publish revised and/or new
-versions of the Lesser General Public License from time to time.
-Such new versions will be similar in spirit to the present version,
-but may differ in detail to address new problems or concerns.
-
-Each version is given a distinguishing version number. If the Library
-specifies a version number of this License which applies to it and
-"any later version", you have the option of following the terms and
-conditions either of that version or of any later version published by
-the Free Software Foundation. If the Library does not specify a
-license version number, you may choose any version ever published by
-the Free Software Foundation.
-
- 14. If you wish to incorporate parts of the Library into other free
-programs whose distribution conditions are incompatible with these,
-write to the author to ask for permission. For software which is
-copyrighted by the Free Software Foundation, write to the Free
-Software Foundation; we sometimes make exceptions for this. Our
-decision will be guided by the two goals of preserving the free status
-of all derivatives of our free software and of promoting the sharing
-and reuse of software generally.
-
- NO WARRANTY
-
- 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
-WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
-EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
-OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
-KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
-LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
-THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
- 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
-WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
-AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
-FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
-CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
-LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
-RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
-FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
-SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
-DAMAGES.
-
- END OF TERMS AND CONDITIONS
-
- How to Apply These Terms to Your New Libraries
-
- If you develop a new library, and you want it to be of the greatest
-possible use to the public, we recommend making it free software that
-everyone can redistribute and change. You can do so by permitting
-redistribution under these terms (or, alternatively, under the terms of the
-ordinary General Public License).
-
- To apply these terms, attach the following notices to the library. It is
-safest to attach them to the start of each source file to most effectively
-convey the exclusion of warranty; and each file should have at least the
-"copyright" line and a pointer to where the full notice is found.
-
-
- Copyright (C)
-
- This library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- This library 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
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with this library; if not, write to the Free Software
- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
-
-Also add information on how to contact you by electronic and paper mail.
-
-You should also get your employer (if you work as a programmer) or your
-school, if any, to sign a "copyright disclaimer" for the library, if
-necessary. Here is a sample; alter the names:
-
- Yoyodyne, Inc., hereby disclaims all copyright interest in the
- library `Frob' (a library for tweaking knobs) written by James Random Hacker.
-
- , 1 April 1990
- Ty Coon, President of Vice
-
-That's all there is to it!
diff --git a/COPYING.XTERM b/COPYING.XTERM
new file mode 100644
index 0000000..c34c621
--- /dev/null
+++ b/COPYING.XTERM
@@ -0,0 +1,30 @@
+Parts of code copied from xterm, under this licence:
+
+Copyright 2013-2019,2020 by Ross Combs
+Copyright 2013-2019,2020 by Thomas E. Dickey
+
+ All Rights Reserved
+
+Permission is hereby granted, free of charge, to any person obtaining a
+copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be included
+in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT HOLDER(S) BE LIABLE FOR ANY
+CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name(s) of the above copyright
+holders shall not be used in advertising or otherwise to promote the
+sale, use or other dealings in this Software without prior written
+authorization.
diff --git a/ChangeLog b/ChangeLog
new file mode 100644
index 0000000..78c6a68
--- /dev/null
+++ b/ChangeLog
@@ -0,0 +1,77784 @@
+commit 3c29bfef30c34afec4982ba5ec37f944cfacbba2 (HEAD, tag: 0.76.0)
+Author: Christian Persch
+Date: 2024-03-15 22:20:18 +0100
+
+ build: Version 0.76.0
+
+ meson.build | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit d09a78964cec7368217acbd35389d7acc1350f64
+Author: Christian Persch
+Date: 2024-03-15 22:20:18 +0100
+
+ build: Bump gtk4 req version
+
+ (cherry picked from commit 8e9524712866d93339c3cc87d2854ba3a7633dd0)
+
+ meson.build | 6 +++---
+ src/app/app.cc | 2 +-
+ src/widget.cc | 2 +-
+ 3 files changed, 5 insertions(+), 5 deletions(-)
+
+commit 73fb0460fdda1280345659c86f11109583680ac9
+Author: Carlos Garnacho
+Date: 2024-03-13 21:36:39 +0100
+
+ widget: Activate OSK on button release
+
+ Currently, make it mutually exclusive with having started a selection,
+ other heuristics might be added here (e.g. making it also mutually exclusive
+ with unselecting text, or not issuing the call for cases where text input
+ is known to be ignored.
+
+ https://gitlab.gnome.org/GNOME/vte/-/issues/2630
+ (cherry picked from commit f3cc41dcbc4e6967155790e3bbd597042ee5af76)
+
+ src/vte.cc | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit 2fd91e541cf0db93e20e437a01ecf1f8273a5b65
+Author: Carlos Garnacho
+Date: 2024-03-13 21:36:39 +0100
+
+ widget: Add im_activate_osk() method
+
+ This method makes the GtkIMContext request an OSK to be activated.
+ Currently supported on the Wayland platform.
+
+ https://gitlab.gnome.org/GNOME/vte/-/issues/2630
+ (cherry picked from commit 4c21cff3a72a946cbd39fae15acc4515484c4ea6)
+
+ src/widget.cc | 8 ++++++++
+ src/widget.hh | 1 +
+ 2 files changed, 9 insertions(+)
+
+commit 4d9b6be5898c0fe3019d34f55710efb1b60afe7b
+Author: Egmont Koblinger
+Date: 2024-03-12 23:12:44 +0100
+
+ gtk3: draw: minifont: Don't do minifont caching
+
+ On gtk3, painting from the minifont cache seems to be slower than
+ painting the glyph in the first place, so don't use a cache.
+
+ Fixes https://gitlab.gnome.org/GNOME/vte/-/issues/2757
+
+ (cherry picked from commit 1109aad798c47b30c7af04c1771983d3f48f5b7d)
+
+ src/minifont.cc | 30 +++++++++++++++++++++++-------
+ 1 file changed, 23 insertions(+), 7 deletions(-)
+
+commit 3166f8b4aca05e5100990a52a0ddd27a4a71884b
+Author: Christian Persch
+Date: 2024-03-02 21:15:06 +0100
+
+ build: Post release version bump
+
+ meson.build | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit acad28244fc5015fd547983037ed3029c624a5b3 (tag: 0.75.92)
+Author: Christian Hergert
+Date: 2024-03-02 21:03:55 +0100
+
+ fonts: Allow unknown coverage to silently pass through
+
+ https://gitlab.gnome.org/GNOME/vte/-/issues/2747
+ (cherry picked from commit a9104708265d49cd0bcacfb6e3dd7dfddc27dbb1)
+
+ src/drawing-cairo.cc | 1 -
+ src/drawing-gsk.cc | 3 ++-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+commit ae78b60049aed5a82858effc2027e9d2b707fd4e
+Author: Christian Persch
+Date: 2024-03-02 19:07:25 +0100
+
+ widget: Fix end alignment
+
+ This fixes a regression from commit
+ 5a242c232bec00a905176f26a30630ff66606a95.
+
+ Fixes: https://gitlab.gnome.org/GNOME/vte/-/issues/2752
+
+ src/vteinternal.hh | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+commit 4f6ea6d22125909ef2881cbe1ee1cdda3967400f
+Author: Christian Persch
+Date: 2024-03-02 19:07:25 +0100
+
+ app: Rework argument parsing
+
+ ... and add loading/saving options from/to a key file.
+
+ src/app/app.cc | 1004 ++++++++++++++++++++++++++++++++++++++++++++----------
+ src/glib-glue.hh | 1 +
+ 2 files changed, 816 insertions(+), 189 deletions(-)
+
+commit fb9693eca240f7892b584ae6f33f7bc389fa9533
+Author: Egmont Koblinger
+Date: 2024-02-28 09:21:06 +0100
+
+ widget: gtk4: Fix the look of outline block cursor in the first column
+
+ Fixes https://gitlab.gnome.org/GNOME/vte/-/issues/2749
+
+ (cherry picked from commit bcf9db0d628478c7870ed1c84c1c454a9120594f)
+
+ src/vte.cc | 16 +++++++++++++---
+ 1 file changed, 13 insertions(+), 3 deletions(-)
+
+commit 9d0ed85d89d4b3b476e57536e6219a9a2d7f6de4
+Author: Christian Hergert
+Date: 2024-02-27 11:58:02 -0800
+
+ ringview: inline get_bidirow()
+
+ This is called frequently during Terminal::draw() and reduces overhead
+ there on release builds a decent amount. I didn't quanitfy exactly without
+ bidi patches applied, but it approaches double digits.
+
+ src/ringview.cc | 10 ----------
+ src/ringview.hh | 9 ++++++++-
+ 2 files changed, 8 insertions(+), 11 deletions(-)
+
+commit 529c4b2e6121187fea6779f73552dbf11c3d524b
+Author: Christian Hergert
+Date: 2024-02-27 11:15:51 -0800
+
+ bidi: inline log2vis() and vis2log()
+
+ These are called frequently during drawing. Inlining the fast path is
+ extremely useful here to keep that overhead low.
+
+ Hoist it into the caller for roughly a 4.5% reduction in drawing time
+ using scrolling a large file in vim as the test case.
+
+ src/bidi.cc | 24 ------------------------
+ src/bidi.hh | 22 ++++++++++++++++++++--
+ 2 files changed, 20 insertions(+), 26 deletions(-)
+
+commit 74d223ae10564d1d5b6cde67e28a001edcb583d1
+Author: Christian Hergert
+Date: 2024-02-27 10:07:40 -0800
+
+ terminal: inline hot path of cell_is_selected_log()
+
+ This function appears to be called a lot, especially during high scrolling
+ scenarios (such as ctrl+f/ctrl+b in vim). There is a typical fast path
+ which is that ring is updated and there is no selection. Hoist that into
+ the callers and leave the selection case behind a function call.
+
+ This shaves about 1.5% of application samples off time spent in
+ Terminal::draw().
+
+ src/vte.cc | 2 +-
+ src/vteinternal.hh | 20 ++++++++++++++++++--
+ 2 files changed, 19 insertions(+), 3 deletions(-)
+
+commit 169b83d3a31c5a43a9d0f8ea178d0db8335036bc
+Author: Christian Hergert
+Date: 2024-02-27 10:13:13 -0800
+
+ terminal: annotate unlikely paths in determine_colors()
+
+ This gets called extremly often so ensuring that we keep the common path
+ tight is important. This is good for about 2% of application samples
+ in the case of scrolling with ctrl+f/ctrl+b in vim.
+
+ src/vte.cc | 12 ++++++------
+ 1 file changed, 6 insertions(+), 6 deletions(-)
+
+commit c33b94d17d3c80b8bd4b05f0f2e2e26bc0948b1c
+Author: Christian Hergert
+Date: 2024-02-27 10:33:03 -0800
+
+ terminal: remove determine_colors() invisible check
+
+ This is called very frequently.
+
+ The invisible check, which should be unnecessary, is about 2.8% of
+ application samples in a tight scrolling loop with vim doing
+ ctrl+f/ctrl+b.
+
+ src/vte.cc | 9 ---------
+ 1 file changed, 9 deletions(-)
+
+commit b3f8c243a16c611ef644f6339cf191d6eab07908
+Author: Egmont Koblinger
+Date: 2024-02-24 18:56:41 +0100
+
+ Revert "widget: Limit select-all to the writable region not including the scrollback"
+
+ This reverts commit caf8a6a7a17a3f70fa5fc611c71ffb27a5cfee75.
+
+ Also bump GLib requirement to include their fix, and add an API comment
+ discouraging the use of large scrollback sizes.
+
+ Fixes https://gitlab.gnome.org/GNOME/vte/-/issues/2504
+
+ (cherry picked from commit 4637dd9729fbf9001154a1d962746227860ffb4b)
+
+ meson.build | 8 ++++----
+ src/vte.cc | 9 +++------
+ src/vtegtk.cc | 3 +++
+ 3 files changed, 10 insertions(+), 10 deletions(-)
+
+commit cedcd4537c200af3960b83d6902c9c629f777dd1
+Author: Marko Mäkelä
+Date: 2024-02-24 15:37:59 +0100
+
+ vte.sh: Avoid warning if shell is configured with 'set -u'
+
+ Followup of commit e148105691926cbd4861e7dc26dec194f59c7f14.
+
+ Bug-Debian: https://bugs.debian.org/1063941
+
+ (cherry picked from commit 2010409c9f708f840fb5b30b3cb6ef5628765ec4)
+
+ src/vte.sh.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit cf7984d3be7b4902769ad8566f44e1487ad84d7f
+Author: Christian Persch
+Date: 2024-02-22 21:54:49 +0100
+
+ widget: Set scroll-on-insert to false by default
+
+ https://gitlab.gnome.org/GNOME/vte/-/issues/2743
+ (cherry picked from commit e55af605d1139d86b388ccfb4eefafe879952fa0)
+ (cherry picked from commit b6d52dc3bab5bab9c902abedeff62eda16238d1e)
+
+ src/vtegtk.cc | 2 +-
+ src/vteinternal.hh | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+commit 6581fea7a4450a724ec3a4bc4859156722d1df1d
+Author: Christian Hergert
+Date: 2024-02-21 14:26:07 -0800
+
+ scheduler: add 10hz fallback scheduler
+
+ If we fail to get updates from the window manager and/or compositor, then
+ fallback to a 10hz scheduler that will ensure we still make progress on
+ incoming PTY data.
+
+ This fixes a situation where the GdkFrameClock will not advance while the
+ window is hidden in GNOME Shell using Super+H.
+
+ src/meson.build | 2 +
+ src/scheduler.cc | 158 +++++++++++++++++++++++++++++++++++++++++++++++++++++
+ src/scheduler.h | 31 +++++++++++
+ src/vte.cc | 24 +++-----
+ src/vteinternal.hh | 2 +-
+ 5 files changed, 201 insertions(+), 16 deletions(-)
+
+commit 7329a0c9fcb32ace5c274c6a884ba69448b541c9
+Author: Christian Persch
+Date: 2024-02-12 22:20:41 +0100
+
+ widget: Try to fix a build failure on 32-bit archs
+
+ https://gitlab.gnome.org/GNOME/vte/-/issues/2722
+
+ (cherry picked from commit e7e8a8c7ade54ca89ed38a18729aab891fb96f92)
+
+ src/vte.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit ceaf69ac5486ae9cee6a67aa863946149c459275
+Author: Egmont Koblinger
+Date: 2024-02-19 09:40:25 +0100
+
+ ring: Only occasionally advance the stream tails
+
+ This results in a slight performance improvement.
+
+ Fixes https://gitlab.gnome.org/GNOME/vte/-/issues/2715
+
+ (cherry picked from commit c2343bf3854d1f4f35e4afe2de397151dafc0747)
+
+ src/ring.cc | 15 +++++++++------
+ 1 file changed, 9 insertions(+), 6 deletions(-)
+
+commit 07ca9e0da93ab69fdc9b9eb284afa163ee59fa74
+Author: Egmont Koblinger
+Date: 2024-02-19 09:38:31 +0100
+
+ lib: Batch handling of single-width characters
+
+ Runs of single-width printable characters are handled in a special
+ code path for increased performance.
+
+ Fixes https://gitlab.gnome.org/GNOME/vte/-/issues/2693
+
+ (cherry picked from commit 77a8f94acb85d03ebf03f58e03069357f3c2072a)
+
+ src/chunk.hh | 3 ++
+ src/vte.cc | 88 +++++++++++++++++++++++++++++++++++++++++-------------
+ src/vteinternal.hh | 4 +--
+ 3 files changed, 73 insertions(+), 22 deletions(-)
+
+commit 10931c693a8278969c28f7235cceaa150df7da82
+Author: Egmont Koblinger
+Date: 2024-02-19 09:38:26 +0100
+
+ lib: Remember the Terminal in ProcessingContext
+
+ https://gitlab.gnome.org/GNOME/vte/-/issues/2693
+
+ (cherry picked from commit c89a24786586ab2aa23752558a0f147c98cee5d2)
+
+ src/vte.cc | 43 +++++++++++++++++++++++--------------------
+ 1 file changed, 23 insertions(+), 20 deletions(-)
+
+commit c8dab1a4be20759eb3cd67c5dcf51820f57784dd
+Author: Egmont Koblinger
+Date: 2024-02-19 09:11:40 +0100
+
+ widget: Faster rewrapping on resize
+
+ Introduce a special fast code path for paragraphs that will fit in a
+ single line at the new window size. This speeds up the rewrapping of
+ such paragraphs by about 5-10x.
+
+ Fixes https://gitlab.gnome.org/GNOME/vte/-/issues/2657
+
+ (cherry picked from commit ffab62df110097185b14b061c0858a3552c08b61)
+
+ src/ring.cc | 24 +++++++++++++++++++++---
+ src/ring.hh | 7 ++++---
+ 2 files changed, 25 insertions(+), 6 deletions(-)
+
+commit 0614aeb9d09c8f501292e81182dad2c8316d4e80
+Author: Egmont Koblinger
+Date: 2024-02-19 09:02:06 +0100
+
+ widget: gtk4: Fix double and triple click handling
+
+ Fixes https://gitlab.gnome.org/GNOME/vte/-/issues/2648
+
+ (cherry picked from commit ab6dcbc16e7a3d4a2c7a554131ea202b0b7e9c96)
+
+ src/vte.cc | 20 ++++++++++++++++----
+ 1 file changed, 16 insertions(+), 4 deletions(-)
+
+commit b29a3a263444ba6caea973870538735789706d77
+Author: Egmont Koblinger
+Date: 2024-02-19 09:02:02 +0100
+
+ widget: Bit of cleanup around the previous fix
+
+ (cherry picked from commit d9f753e1cbfbc0ad9cec3503e7fff34d91a538b2)
+
+ src/vte.cc | 7 ++-----
+ 1 file changed, 2 insertions(+), 5 deletions(-)
+
+commit 9006628253b8bda37d526b5faa615a29d8594e19
+Author: Egmont Koblinger
+Date: 2024-02-19 09:01:36 +0100
+
+ widget: Make backwards search find wrapped words
+
+ Fixes https://gitlab.gnome.org/GNOME/vte/-/issues/104
+
+ (cherry picked from commit 08a78ced0f94ffdffe476f47dd61d2ec5d841a95)
+
+ src/vte.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 14725febff3ca731a8b49b29b9bbaad58a90f31e
+Author: Egmont Koblinger
+Date: 2024-02-19 08:42:26 +0100
+
+ Revert "build: Remove extra debug compile option"
+
+ This reverts commit 8d5697550f1460480792763767bd638e07a4a624
+ and renames the option from debugg to dbg.
+
+ Fixes https://gitlab.gnome.org/GNOME/vte/-/issues/2696
+
+ (cherry picked from commit 019551eabf18510964bf4542ac70112a5f3281c2)
+
+ meson.build | 2 +-
+ meson_options.txt | 5 +++--
+ 2 files changed, 4 insertions(+), 3 deletions(-)
+
+commit 0f5bbb762f2fafc49787093a9974cd38e53c5529
+Author: Samuel Thibault
+Date: 2024-01-04 11:49:56 +0100
+
+ widget: a11y: Add missing text changes on scrolling with modifications
+
+ When vte_terminal_accessible_text_scrolled gets called, the terminal
+ might have not only scrolled, but also changed. We thus have to check
+ whether the remaining text really is exactly the same as expected.
+
+ We here support simple diff for the common case: an ample head and/or tail
+ content is the same. This allows to emit only the modification, which is
+ usually relatively small.
+
+ Fixes: https://gitlab.gnome.org/GNOME/vte/issues/88
+
+ src/vteaccess.cc | 267 ++++++++++++++++++++++++++++++++++++++++++++-----------
+ 1 file changed, 214 insertions(+), 53 deletions(-)
+
+commit b94a8fb5091d014891fa67776bb693e3edbc1760
+Author: Christian Persch
+Date: 2024-02-11 15:26:32 +0100
+
+ widget: Add type annotation to setup-context-menu signal
+
+ gobject-introspection seems to have a problem with custom pointer
+ types (G_DEFINE_POINTER_TYPE), leading to this warning when building
+ vte's GIR:
+
+ :: Warning: Vte: (Signal)setup-context-menu: argument context: Unresolved type: 'VteEventContext'
+
+ Adding the explicit type annotation to the parameter in the signal's
+ docs comment appears to fix this problem.
+
+ (cherry picked from commit c7225d241f713e898fbf840835f719f42a5dd748)
+
+ src/vtegtk.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit e02eed7b389249a7208876f510eefd7103e92421
+Author: Christian Persch
+Date: 2024-02-11 13:20:24 +0100
+
+ build: Post release version bump
+
+ meson.build | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 4ebb548e28db550257d67e5fa329b80de4d7c10e (tag: 0.75.91)
+Author: Christian Persch
+Date: 2024-02-11 13:18:36 +0100
+
+ Revert "lib: Add a simple UUID class"
+
+ This reverts commit 68d4539c6ebe9547abb19385bd6e8bfbca843f6e.
+
+ src/cxx-utils.hh | 29 -----
+ src/fwd.hh | 2 -
+ src/glib-glue.hh | 1 -
+ src/meson.build | 25 +---
+ src/uuid-test.cc | 166 ------------------------
+ src/uuid.cc | 214 -------------------------------
+ src/uuid.hh | 211 ------------------------------
+ src/vte-glue.hh | 1 -
+ src/vte/meson.build | 1 -
+ src/vte/vte.h | 1 -
+ src/vte/vteenums.h | 18 ---
+ src/vte/vteuuid.h | 77 -----------
+ src/vteuuid.cc | 339 -------------------------------------------------
+ src/vteuuidinternal.hh | 30 -----
+ 14 files changed, 1 insertion(+), 1114 deletions(-)
+
+commit 2ce1d8e9de688f7c9e7d26647494ed259d209026
+Author: Christian Persch
+Date: 2024-02-11 13:18:29 +0100
+
+ Revert "lib: Add some colour helper classes"
+
+ This reverts commit b8f31a0459d45f03183af067cb0fc7847b2a8b84.
+
+ src/color-names-tests.hh | 853 ---------------------------
+ src/color-names.hh | 1443 ----------------------------------------------
+ src/color-parser.cc | 477 ---------------
+ src/color-parser.hh | 54 --
+ src/color-test.cc | 217 -------
+ src/color.hh | 181 ------
+ src/meson.build | 21 -
+ 7 files changed, 3246 deletions(-)
+
+commit db7726eacea84e1f397829c1dc75dd1a66191ec3
+Author: Christian Persch
+Date: 2024-02-11 12:25:52 +0100
+
+ build: Post release version bump
+
+ meson.build | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit d81534141c572ec1f317aaef37ee25a912178603 (tag: 0.75.90)
+Author: Egmont Koblinger
+Date: 2024-02-10 23:09:53 +0100
+
+ vte.sh: Consistent indentation
+
+ (cherry picked from commit 9e8824480ef51374bf9b42ad8ee59f64d50456b1)
+
+ src/vte.sh.in | 12 ++++++------
+ 1 file changed, 6 insertions(+), 6 deletions(-)
+
+commit ba7a6e904235e50cd2c98109d7cff50902d42531
+Author: Egmont Koblinger
+Date: 2024-02-10 23:09:50 +0100
+
+ vte.sh: Set up bash and zsh for OSC 133 shell integration
+
+ https://gitlab.gnome.org/GNOME/vte/-/issues/2681
+
+ (cherry picked from commit 4d4e4807e1205ea10bca821af30caa0ec70325db)
+
+ src/vte.sh.in | 53 +++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 53 insertions(+)
+
+commit e1d5418e0cdabccb39b743415b4bb18593935f8c
+Author: Egmont Koblinger
+Date: 2024-02-10 23:09:47 +0100
+
+ emulation: Support conditional new paragraph
+
+ Add OSC 133 L escape sequence to maybe move down the cursor to ensure
+ it's at the beginning of a paragraph.
+
+ https://gitlab.gnome.org/GNOME/vte/-/issues/2681
+
+ (cherry picked from commit 3dce4fa8eb14b658fe3122311915bbc9f6e18502)
+
+ src/vteseq.cc | 12 ++++++++++++
+ 1 file changed, 12 insertions(+)
+
+commit 6e8a2adb3fe721e30872f7120b1f13387f3db13b
+Author: Egmont Koblinger
+Date: 2024-02-10 23:09:44 +0100
+
+ emulation: Track shell integration escape sequences
+
+ Track OSC 133 A (prompt), B (command), C (output) escape sequences.
+ Add methods to scroll to previous/next prompt.
+ Hook these up to Shift+Ctrl+Left/Right keypresses.
+
+ https://gitlab.gnome.org/GNOME/vte/-/issues/2681
+
+ (cherry picked from commit 7808c6d2fca8b189e305c049ca82f1450adf5db1)
+
+ src/attr.hh | 19 +++++++++++++++++
+ src/cell.hh | 1 +
+ src/parser-osc.hh | 2 +-
+ src/ring.cc | 45 ++++++++++++++++++++++++++++++++++++++++
+ src/ring.hh | 1 +
+ src/vte.cc | 61 ++++++++++++++++++++++++++++++++++++++++++++++++++++--
+ src/vteinternal.hh | 7 ++++++-
+ src/vteseq.cc | 24 ++++++++++++++++++++-
+ 8 files changed, 155 insertions(+), 5 deletions(-)
+
+commit 0534ec3ca3b55576e3775bd35a292a1ec4ea90f3
+Author: Egmont Koblinger
+Date: 2024-02-10 23:09:38 +0100
+
+ lib: Remove pointless "maybe" in some method names
+
+ (cherry picked from commit aad9e79d8f7006f986b03c2a0de473a29526491d)
+
+ src/vte.cc | 18 +++++++++---------
+ src/vteinternal.hh | 4 ++--
+ 2 files changed, 11 insertions(+), 11 deletions(-)
+
+commit 8c0c6c5fbae68e1760dde001ee4f3b26016a7ebe
+Author: Christian Persch
+Date: 2024-02-10 19:07:02 +0100
+
+ build: Version 0.75.90
+
+ meson.build | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit e264c6ed36c1a5ada131d5ee781645fff4ce9e78
+Author: Christian Persch
+Date: 2024-02-10 19:07:02 +0100
+
+ all: Remove SIXEL support from stable branch
+
+ The SIXEL support is not in a releasable state with
+ important and fundamental problems still unsolved.
+
+ (cherry picked from commit d578bd30b18a0d040305f356a3327fbd011e5451)
+ (cherry picked from commit ba1e05c9ad34d0e48a823ad5a67b96baa166de24)
+ (cherry picked from commit 6d80d3bca78397b2073f61e7954f3ceb45a8cb37)
+ (cherry picked from commit d90b9d1139c3ce413670f34588506741673919bb)
+ (cherry picked from commit 59d1403c455801dbbb64dadb55478bb0e5e96966)
+ (cherry picked from commit e0720853f59ebf54e022b4cd164de2d9b8a21fc1)
+
+ meson.build | 2 -
+ meson_options.txt | 7 -
+ src/app/app.cc | 6 -
+ src/debug.cc | 1 -
+ src/debug.h | 1 -
+ src/fwd.hh | 8 -
+ src/image.cc | 68 ---
+ src/image.hh | 102 ----
+ src/meson.build | 56 --
+ src/parser-cat.cc | 327 -----------
+ src/parser-seq.py | 2 +-
+ src/pty.cc | 4 -
+ src/ring.cc | 225 +------
+ src/ring.hh | 46 --
+ src/sixel-context.cc | 516 ----------------
+ src/sixel-context.hh | 662 ---------------------
+ src/sixel-fuzzer.cc | 763 ------------------------
+ src/sixel-parser.hh | 669 ---------------------
+ src/sixel-test.cc | 1597 --------------------------------------------------
+ src/vte.cc | 187 +-----
+ src/vtedefines.hh | 6 -
+ src/vtegtk.cc | 26 +-
+ src/vteinternal.hh | 38 --
+ src/vteseq.cc | 224 +------
+ src/widget.hh | 3 -
+ 25 files changed, 18 insertions(+), 5528 deletions(-)
+
+commit 0d56a309f55063a94c73b9f584d4d9b0fec92b8f
+Author: Christian Persch
+Date: 2024-02-10 19:07:02 +0100
+
+ widget: Remove termprops from stable branch
+
+ This reverts commit 713dafdacc4c5264376a539e562f2b3cf0e162be.
+ This reverts commit 6e68f077dc315eb02628c59569c4ebfdcdffc7f8.
+ This reverts commit 90904e30eb3af45a546cce6847c520320f5571c5.
+ This reverts commit 130adb28c82b33335a7bcd2b90e08e5104f11dec.
+ This reverts commit 50d9b3b6ca3a8529ff4c33da609617f4211348c5.
+ This reverts commit 03356b77ba7ffc7b098cc876c5e1306f83a759fb.
+ This reverts commit 20cd61065c33fadfa29d81b23ca60887bb87b873.
+ This reverts commit 01ca39e2b6523b246e6a2ea251ffbe9698bba29e.
+ This reverts commit 1ce1cccd0557e60db4a3ef6825fa91026439cae0.
+ This reverts commit 90543ab2a3de9635993950d8afb231fcb11bb915.
+
+ src/app/app.cc | 51 --
+ src/color-parser.hh | 14 -
+ src/color.hh | 14 +-
+ src/fwd.hh | 7 -
+ src/marshal.list | 1 -
+ src/meson.build | 19 +-
+ src/parser-osc.hh | 1 -
+ src/parser.hh | 12 -
+ src/termprops-test.cc | 352 ----------
+ src/termprops.hh | 462 -------------
+ src/vte.cc | 25 +-
+ src/vte/vteenums.h | 45 +-
+ src/vte/vteglobals.h | 34 -
+ src/vte/vteterminal.h | 137 +---
+ src/vtedefines.hh | 2 -
+ src/vtegtk.cc | 1746 +------------------------------------------------
+ src/vtegtk.hh | 2 -
+ src/vteinternal.hh | 61 +-
+ src/vteseq.cc | 107 ---
+ src/widget.cc | 13 -
+ src/widget.hh | 32 -
+ 21 files changed, 16 insertions(+), 3121 deletions(-)
+
+commit 713dafdacc4c5264376a539e562f2b3cf0e162be
+Author: Christian Persch
+Date: 2024-02-08 21:55:53 +0100
+
+ widget: termprops: Reset termprops on terminal reset
+
+ When resetting the terminal (RIS, DECSTR, or DECSR) we need to also
+ reset all the termprops, and emit the change notification.
+
+ https://gitlab.gnome.org/GNOME/vte/-/issues/2732
+
+ src/vte.cc | 3 +++
+ src/vtegtk.cc | 3 +--
+ src/vteinternal.hh | 9 +++++++++
+ 3 files changed, 13 insertions(+), 2 deletions(-)
+
+commit 6e68f077dc315eb02628c59569c4ebfdcdffc7f8
+Author: Christian Persch
+Date: 2024-02-08 21:55:53 +0100
+
+ widget: termprops: Rewrite termprop documentation
+
+ Clarify the purpose of each property type, and the exact syntax
+ of the OSC sequence to set termprops.
+
+ https://gitlab.gnome.org/GNOME/vte/-/issues/2732
+
+ src/vtegtk.cc | 252 ++++++++++++++++++++++++++++++++++++++--------------------
+ 1 file changed, 164 insertions(+), 88 deletions(-)
+
+commit 90904e30eb3af45a546cce6847c520320f5571c5
+Author: Christian Persch
+Date: 2024-02-07 19:28:03 +0100
+
+ widget: termprops: Unify int types
+
+ There really is no need for separate 16- and 64-bit integers.
+ Remove the 16-bit ones and only support 64-bit ones, as the
+ getters already do.
+
+ https://gitlab.gnome.org/GNOME/vte/-/issues/2732
+
+ src/app/app.cc | 14 +++------
+ src/termprops-test.cc | 76 +++++++++++++--------------------------------
+ src/termprops.hh | 19 ++++--------
+ src/vte/vteenums.h | 12 +++-----
+ src/vtegtk.cc | 85 +++++++++++++++------------------------------------
+ 5 files changed, 60 insertions(+), 146 deletions(-)
+
+commit 38cb502fc34fd9ad2281c29fc58e8676ae1772d5
+Author: Egmont Koblinger
+Date: 2024-02-07 14:19:19 +0100
+
+ widget: Fix HTML CSS property "text-decoration-style: solid"
+
+ src/vte.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit bec7e6a27204a577425e5c29586a8ac618d6fa1d
+Author: Egmont Koblinger
+Date: 2024-02-06 13:41:09 +0100
+
+ widget,emulation: Add support for dotted and dashed underlines
+
+ Fixes https://gitlab.gnome.org/GNOME/vte/-/issues/2639
+
+ src/attr.hh | 4 ++--
+ src/vte.cc | 41 +++++++++++++++++++++++++++++++++++++----
+ src/vteseq.cc | 2 +-
+ 3 files changed, 40 insertions(+), 7 deletions(-)
+
+commit 130adb28c82b33335a7bcd2b90e08e5104f11dec
+Author: Christian Persch
+Date: 2024-02-06 22:32:39 +0100
+
+ widget: termprops: Relax boolean value parsing
+
+ Allow True/False and TRUE/FALSE also.
+
+ https://gitlab.gnome.org/GNOME/vte/-/issues/2732#note_1999752
+
+ src/termprops-test.cc | 12 +++++++++---
+ src/termprops.hh | 10 ++++++++--
+ src/vtegtk.cc | 3 ++-
+ 3 files changed, 19 insertions(+), 6 deletions(-)
+
+commit 50d9b3b6ca3a8529ff4c33da609617f4211348c5
+Author: Christian Persch
+Date: 2024-02-05 23:04:55 +0100
+
+ widget: termprops: String value parsing fixes
+
+ Fix parsing to reject an unescaped semicolon.
+
+ Also, there is no need to escape the colon (':') in string values, so
+ drop the need to escape it.
+
+ https://gitlab.gnome.org/GNOME/vte/-/issues/2732
+
+ src/termprops-test.cc | 7 ++++---
+ src/termprops.hh | 9 ++++-----
+ 2 files changed, 8 insertions(+), 8 deletions(-)
+
+commit 03356b77ba7ffc7b098cc876c5e1306f83a759fb
+Author: Christian Persch
+Date: 2024-02-05 23:04:55 +0100
+
+ widget: termprops: Add some more tests
+
+ Check that the string value of a STRING termprop admits the
+ characters ! and = which are used in the termprop set-statement
+ to delimit the key from the value/to end the value.
+
+ https://gitlab.gnome.org/GNOME/vte/-/issues/2732
+
+ src/termprops-test.cc | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+commit 20cd61065c33fadfa29d81b23ca60887bb87b873
+Author: Christian Persch
+Date: 2024-02-05 23:04:55 +0100
+
+ widget: termprops: Allow true/false for BOOL termprops
+
+ https://gitlab.gnome.org/GNOME/vte/-/issues/2732
+
+ src/termprops-test.cc | 12 ++++++++++--
+ src/termprops.hh | 4 ++--
+ src/vtegtk.cc | 2 +-
+ 3 files changed, 13 insertions(+), 5 deletions(-)
+
+commit 01ca39e2b6523b246e6a2ea251ffbe9698bba29e
+Author: Christian Persch
+Date: 2024-02-05 23:04:55 +0100
+
+ widget: termprops: Add DOUBLE type
+
+ https://gitlab.gnome.org/GNOME/vte/-/issues/2732
+
+ src/termprops-test.cc | 29 +++++++++++++++
+ src/termprops.hh | 25 +++++++++++++
+ src/vte/vteenums.h | 2 ++
+ src/vte/vteterminal.h | 22 ++++++++----
+ src/vtegtk.cc | 99 +++++++++++++++++++++++++++++++++++++++++++++++++++
+ 5 files changed, 171 insertions(+), 6 deletions(-)
+
+commit 01c5418b17b1b636de4f887f4aa3d494d12cbe78
+Author: Christian Persch
+Date: 2024-02-05 18:30:52 +0100
+
+ emulation: Allow default parameter value for XTVERSION
+
+ There is a discrepance between the xterm documentation and the actual
+ xterm behaviour in that the documentation does not mention that the
+ sequence admits a default value of 0 (to report the xterm name and
+ version), while the code does allos the user of a default param.
+
+ Make vte follow the xterm code.
+
+ https://gitlab.gnome.org/GNOME/vte/-/issues/235
+
+ src/vteseq.cc | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 33e8896684e43f49b05899641d9607ff30ffe71f
+Author: Christian Persch
+Date: 2024-02-04 10:14:35 +0100
+
+ emulation: Support XTVERSION sequence
+
+ https://gitlab.gnome.org/GNOME/vte/-/issues/235
+
+ src/parser-reply.hh | 1 +
+ src/parser-seq.py | 2 ++
+ src/vteseq.cc | 32 ++++++++++++++++++++++++++++++--
+ 3 files changed, 33 insertions(+), 2 deletions(-)
+
+commit b443ed1c8f5f5396e4bb6c037d1608fa65d51369
+Author: Christian Persch
+Date: 2024-02-03 21:45:15 +0100
+
+ emulation: Reply to DECRQPSR and DECRQTSR
+
+ These will need to be implemented, but for now at least reply
+ with an error report so that clients listening for a reponse
+ do get one.
+
+ https://gitlab.gnome.org/GNOME/vte/-/issues/2616
+
+ src/parser-reply.hh | 2 +-
+ src/parser-seq.py | 10 +++++++---
+ src/vteseq.cc | 52 +++++++++++++++++++++++++++++-----------------------
+ 3 files changed, 37 insertions(+), 27 deletions(-)
+
+commit fe5b4c4ca43d78fa7cda012691a2837ba99a38f2
+Author: Christian Persch
+Date: 2024-02-03 21:10:25 +0100
+
+ emulation: More accurate DA1 and DA2 replies
+
+ When not in test mode, reply with a more honest level 1 response, since
+ vte doesn't implement most of the things a higher level mandates.
+
+ Fixes: https://gitlab.gnome.org/GNOME/vte/-/issues/2724
+
+ src/vteseq.cc | 33 +++++++++++++++++++++++++--------
+ 1 file changed, 25 insertions(+), 8 deletions(-)
+
+commit 1ce1cccd0557e60db4a3ef6825fa91026439cae0
+Author: Christian Persch
+Date: 2024-02-02 23:21:52 +0100
+
+ build: Work around clang being clang
+
+ src/color.hh | 14 +++++++-------
+ src/vtegtk.cc | 4 ++--
+ 2 files changed, 9 insertions(+), 9 deletions(-)
+
+commit 8d5697550f1460480792763767bd638e07a4a624
+Author: Christian Persch
+Date: 2024-02-02 23:21:52 +0100
+
+ build: Remove extra debug compile option
+
+ Just enable debug when one of the debug buildtypes are specified.
+
+ Fixes: https://gitlab.gnome.org/GNOME/vte/-/issues/2696
+
+ meson.build | 2 +-
+ meson_options.txt | 3 +--
+ 2 files changed, 2 insertions(+), 3 deletions(-)
+
+commit 5a242c232bec00a905176f26a30630ff66606a95
+Author: Christian Persch
+Date: 2024-02-02 23:21:52 +0100
+
+ widget: Renumber VterAlign enum
+
+ src/vte/vteenums.h | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+commit db722504dd53c54189665970119d83fc72bd2e17
+Author: Christian Persch
+Date: 2024-02-02 23:21:52 +0100
+
+ emulation: Also reply to DECRQSS on XTERM_MODKEYS
+
+ ... since xterm 389 does too.
+
+ src/vteseq.cc | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit 8fc2717717ed70e0a979422f6307fab9aaad04d5
+Author: Christian Hergert
+Date: 2024-01-30 20:11:35 -0800
+
+ Revert "widget: Update function docs"
+
+ This reverts commit 5f82f91b941b7c1f27c837d26441a4d5f16d619f.
+
+ src/vtegtk.cc | 14 ++++++--------
+ 1 file changed, 6 insertions(+), 8 deletions(-)
+
+commit dc8c4ee2b4d1b704f7d5e0b002d4b62f4918a39f
+Author: Christian Hergert
+Date: 2024-01-30 20:07:02 -0800
+
+ Revert "fonts: use CAIRO_HINT_STYLE_NONE on GTK 4"
+
+ This reverts commit 74fe87b68da9e0a1d3cf26ebf079f4bb366e7c24.
+
+ This causes some issues with rendering so we're going to have to
+ find another way to deal with fractional scaling.
+
+ src/fonts-pangocairo.cc | 2 --
+ 1 file changed, 2 deletions(-)
+
+commit 5f82f91b941b7c1f27c837d26441a4d5f16d619f
+Author: Christian Hergert
+Date: 2024-01-29 22:38:47 +0100
+
+ widget: Update function docs
+
+ ... to mention that the default font options include
+ %CAIRO_HINT_STYLE_NONE on GTK 4.
+
+ src/vtegtk.cc | 14 ++++++++------
+ 1 file changed, 8 insertions(+), 6 deletions(-)
+
+commit 76330dd70731ee0a0ecf9e3c267d7d7e6418736d
+Author: Christian Persch
+Date: 2024-01-29 22:38:47 +0100
+
+ emulation: Remove xterm alias for DSR_DEC 53
+
+ ... since xterm removed theirs in version 389.
+
+ src/vteseq.cc | 3 ---
+ 1 file changed, 3 deletions(-)
+
+commit 74fe87b68da9e0a1d3cf26ebf079f4bb366e7c24
+Author: Christian Hergert
+Date: 2024-01-29 10:53:22 -0800
+
+ fonts: use CAIRO_HINT_STYLE_NONE on GTK 4
+
+ This fixes an issue when fractional scaling is used that a portion of a
+ hinted glyph could fall outside the ink rect due to pixel grid shifting.
+ This is more apparent with the Vulkan/NGL GPU renderers in GTK now that
+ they are aware of the fractional scaling API of Wayland. Without this
+ you risk a small amount of unintended clipping. See GNOME/gtk#6367.
+
+ See the following link for additional details. However, in the case here
+ with fractional scaling, disabling hint-metrics is not an option because
+ it will result in the same output as hint-metrics: on with
+ hint-style: slight.
+
+ https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/6823#note_1989289
+
+ Fixes #2736
+
+ src/fonts-pangocairo.cc | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit 90543ab2a3de9635993950d8afb231fcb11bb915
+Author: Christian Persch
+Date: 2024-01-28 20:40:30 +0100
+
+ widget: Add terminal properties
+
+ https://gitlab.gnome.org/GNOME/vte/-/issues/2125
+
+ src/app/app.cc | 57 ++
+ src/color-parser.hh | 14 +
+ src/fwd.hh | 7 +
+ src/marshal.list | 1 +
+ src/meson.build | 19 +-
+ src/parser-osc.hh | 1 +
+ src/parser.hh | 12 +
+ src/termprops-test.cc | 336 +++++++++++
+ src/termprops.hh | 439 ++++++++++++++
+ src/vte.cc | 22 +-
+ src/vte/vteenums.h | 47 +-
+ src/vte/vteglobals.h | 34 ++
+ src/vte/vteterminal.h | 127 +++-
+ src/vtedefines.hh | 2 +
+ src/vtegtk.cc | 1608 ++++++++++++++++++++++++++++++++++++++++++++++++-
+ src/vtegtk.hh | 2 +
+ src/vteinternal.hh | 52 +-
+ src/vteseq.cc | 107 ++++
+ src/widget.cc | 13 +
+ src/widget.hh | 32 +
+ 20 files changed, 2923 insertions(+), 9 deletions(-)
+
+commit b8f31a0459d45f03183af067cb0fc7847b2a8b84
+Author: Christian Persch
+Date: 2024-01-28 20:40:30 +0100
+
+ lib: Add some colour helper classes
+
+ src/color-names-tests.hh | 853 +++++++++++++++++++++++++++
+ src/color-names.hh | 1443 ++++++++++++++++++++++++++++++++++++++++++++++
+ src/color-parser.cc | 477 +++++++++++++++
+ src/color-parser.hh | 54 ++
+ src/color-test.cc | 217 +++++++
+ src/color.hh | 181 ++++++
+ src/meson.build | 21 +
+ 7 files changed, 3246 insertions(+)
+
+commit 68d4539c6ebe9547abb19385bd6e8bfbca843f6e
+Author: Christian Persch
+Date: 2024-01-28 20:40:30 +0100
+
+ lib: Add a simple UUID class
+
+ Imported from https://bugzilla.gnome.org/show_bug.cgi?id=639078
+
+ src/cxx-utils.hh | 29 +++++
+ src/fwd.hh | 2 +
+ src/glib-glue.hh | 1 +
+ src/meson.build | 25 +++-
+ src/uuid-test.cc | 166 ++++++++++++++++++++++++
+ src/uuid.cc | 214 +++++++++++++++++++++++++++++++
+ src/uuid.hh | 211 ++++++++++++++++++++++++++++++
+ src/vte-glue.hh | 1 +
+ src/vte/meson.build | 1 +
+ src/vte/vte.h | 1 +
+ src/vte/vteenums.h | 18 +++
+ src/vte/vteuuid.h | 77 +++++++++++
+ src/vteuuid.cc | 339 +++++++++++++++++++++++++++++++++++++++++++++++++
+ src/vteuuidinternal.hh | 30 +++++
+ 14 files changed, 1114 insertions(+), 1 deletion(-)
+
+commit 76f16adfa2ab731cc8f8042a487a6b61263d0404
+Author: Zander Brown
+Date: 2024-01-27 20:04:02 +0000
+
+ widget: Don't throw warnings for our own header
+
+ Fix: https://gitlab.gnome.org/GNOME/vte/-/issues/2731
+
+ src/vte/vtedeprecated.h | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+commit 5388832e54d85a91dffcc436dfdf386bac6b839d
+Author: Christian Hergert
+Date: 2024-01-26 09:44:54 -0800
+
+ gsk: fix rectangle drawing using border nodes
+
+ in GSK, border nodes draw _inside_ the bounding box. So we don't need to
+ do the same sort of Cairo'ism for half-line boundaries.
+
+ This fixes that which also happens to fix the non-focused window cursor
+ rendering too thick with the newer GTK NGL renderer that landed on main.
+
+ Fixes #2730
+
+ src/drawing-gsk.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit ca4fb88362aa0a295928b7d46ec5aaca7092268c
+Author: Christian Persch
+Date: 2024-01-22 22:41:45 +0100
+
+ widget: Fix context menu event check
+
+ Prevent the context menu being shown erroneously.
+
+ https://gitlab.gnome.org/GNOME/vte/-/issues/2728
+
+ src/vte.cc | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+commit bfd656e49e9151207d7291d60dfefacff52e73f0
+Author: Christian Hergert
+Date: 2024-01-19 10:45:36 -0800
+
+ widget: notify of style change upon css_changed
+
+ The org.gnome.desktop.interface text-scaling-factor setting used by
+ the "Large Text" option in control-center applies to the gtk-xft-dpi which
+ in turn effects the CSS machinery.
+
+ We must notify of a style change so that the PangoContext used by our
+ PangoLayout to measure and cache PangoFont will take the new scaling
+ factor into account.
+
+ This makes GTK 4 act the same as GTK 3 did (and still does) when the
+ setting changes.
+
+ src/widget.cc | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit 9d2167b977133080cacc1c3ed029ad1962a2ceb5
+Author: Christian Persch
+Date: 2024-01-06 20:18:09 +0100
+
+ docs: Install lz4-devel
+
+ .gitlab-ci.yml | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 9eb4c6e63a285ffdbabdf02b4426b859cf52e707
+Author: Christian Persch
+Date: 2024-01-06 19:47:24 +0100
+
+ build: Post release version bump
+
+ meson.build | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit de5df02c42eb5de98f92f5cb4520fc963a54ab51 (tag: 0.75.0)
+Author: Christian Persch
+Date: 2023-12-31 14:25:16 +0100
+
+ regex: Add out param for error location to the _full() APIs
+
+ src/regex.cc | 4 ++++
+ src/regex.hh | 1 +
+ src/vte/vteregex.h | 2 ++
+ src/vteregex.cc | 27 ++++++++++++++++++++-------
+ 4 files changed, 27 insertions(+), 7 deletions(-)
+
+commit 4530d385191562d84f60066e168631fc1f45f3cc
+Author: Egmont Koblinger
+Date: 2023-12-02 17:28:16 +0100
+
+ widget: Don't update the ringview before scrolling in history
+
+ ... or synthesizing "alternate screen scroll" keypresses, it's just not
+ needed in these cases.
+
+ Improves https://gitlab.gnome.org/GNOME/vte/-/issues/2705
+
+ src/vte.cc | 7 ++++---
+ 1 file changed, 4 insertions(+), 3 deletions(-)
+
+commit 9a42ae3d5ddc57c5807c823aa131e071924d0736
+Author: Christian Persch
+Date: 2023-12-28 23:06:32 +0100
+
+ regex: Add API to set extra PCRE2 compile flags
+
+ src/pcre2-glue.hh | 1 +
+ src/regex.cc | 9 ++++-
+ src/regex.hh | 1 +
+ src/vte/vteregex.h | 14 +++++++
+ src/vteregex.cc | 106 +++++++++++++++++++++++++++++++++++++++++++++--------
+ 5 files changed, 115 insertions(+), 16 deletions(-)
+
+commit 1860b4876f4943fcf2d7e67537c5b0cc6f974b2b
+Author: Egmont Koblinger
+Date: 2023-12-24 21:48:13 +0100
+
+ widget: Scroll to the bottom on preedit
+
+ Fixes https://gitlab.gnome.org/GNOME/vte/-/issues/2682
+
+ src/vte.cc | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+commit 4f54a76a647144a71ba5712934b5e0d812311482
+Author: Christian Persch
+Date: 2023-12-24 11:26:09 +0100
+
+ widget: Deprecate old get-text APIs
+
+ Deprecate the old vte_terminal_get_text*() APIs that take a
+ VteSelelectionFunc, and deprecate that as well.
+
+ src/vte/vtedeprecated.h | 21 +++++++++++++++++++++
+ src/vte/vteterminal.h | 25 -------------------------
+ src/vtegtk.cc | 10 ++++++++--
+ 3 files changed, 29 insertions(+), 27 deletions(-)
+
+commit 1ce1b836c0c002e0f841fc6cc3ea27337de8b319
+Author: Aleksandr Mezin
+Date: 2023-12-24 11:26:09 +0100
+
+ widget: Add bindable replacement API to get the displayed text
+
+ vte_terminal_get_text() isn't bindable in some languages because they
+ cannot pass the now-required nullptr for the attributes GArray. Add
+ a replacement in the style of the other already-existing APIs which
+ take a VteFormat also.
+
+ Fixes: https://gitlab.gnome.org/GNOME/vte/-/issues/2710
+
+ src/vte/vteterminal.h | 5 +++++
+ src/vtegtk.cc | 56 +++++++++++++++++++++++++++++++++++++++++----------
+ 2 files changed, 50 insertions(+), 11 deletions(-)
+
+commit a5f11c41aa6c3e521d18cd99e093ebe5915cab71
+Author: Christian Persch
+Date: 2023-12-23 22:58:41 +0100
+
+ widget: gtk4: Delay unsetting the context menu to idle
+
+ The closed signal on the popover comes before the action callback for
+ the chosen action is dispatched, and unsetting the menu makes the
+ action fail to resolve. Hack around this design flaw by delaying the
+ unsetting to an idle handler.
+
+ Remove the notify::visible handler since it runs just after the closed
+ signal anyway.
+
+ Fixes: https://gitlab.gnome.org/GNOME/vte/-/issues/2716
+
+ src/widget.cc | 56 ++++++++++++++++++++++++++++++++++++++++++++------------
+ src/widget.hh | 8 ++++++++
+ 2 files changed, 52 insertions(+), 12 deletions(-)
+
+commit 39aa242388e73bd294b8489ce80428b6485f0bb3
+Author: Christian Persch
+Date: 2023-12-22 19:15:09 +0100
+
+ widget: Work around kinetic scrolling when changing the adjustment
+
+ There is no API to stop a kinetic scroll in GtkScrolledWindow when the
+ adjustment value is changed. Work around that by disabling kinetic
+ scrolling before changing the value, and re-enabling it afterwards.
+
+ src/widget.cc | 42 +++++++++++++++++++++++++++++++++++++-----
+ src/widget.hh | 1 +
+ 2 files changed, 38 insertions(+), 5 deletions(-)
+
+commit ca746e5ebcd82187185709f33f3b46ea30e9f8c9
+Author: Christian Persch
+Date: 2023-12-22 19:15:09 +0100
+
+ app: Add more scrolling options
+
+ src/app/app.cc | 26 +++++++++++++++++++++++---
+ 1 file changed, 23 insertions(+), 3 deletions(-)
+
+commit a1054ae189b5f946b65e1a9a186747bd0e92f6c5
+Author: Christian Persch
+Date: 2023-12-22 19:15:09 +0100
+
+ widget: Add scroll-on-insert property
+
+ Add setting to scroll to the bottom when text is inserted, e.g. by a
+ paste.
+
+ src/app/app.cc | 1 +
+ src/vte.cc | 17 ++++++++++++
+ src/vte/vteterminal.h | 6 ++++-
+ src/vtegtk.cc | 74 +++++++++++++++++++++++++++++++++++++++++++++++++++
+ src/vtegtk.hh | 1 +
+ src/vteinternal.hh | 2 ++
+ 6 files changed, 100 insertions(+), 1 deletion(-)
+
+commit 3a7c705f5f09d6dbd03bcd1abbd2744ab92eafcd
+Author: Christian Persch
+Date: 2023-12-14 17:57:04 +0100
+
+ bidi: Use malloced workspace area
+
+ src/bidi.cc | 33 ++++++++++-----------
+ src/bidi.hh | 99 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
+ 2 files changed, 114 insertions(+), 18 deletions(-)
+
+commit 413b3ba3558463379d67ad92c264b6f8c556d9c9
+Author: Egmont Koblinger
+Date: 2023-12-12 22:49:03 +0100
+
+ widget: Fix initial cursor blink state
+
+ Fixes https://gitlab.gnome.org/GNOME/gnome-terminal/-/issues/8021
+
+ src/vteinternal.hh | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 9493d50a4ed8415eaa88bc87d4b2b9c28598ee1f
+Author: Christian Persch
+Date: 2023-12-12 00:17:59 +0100
+
+ widget: Fix selected text API with block selection mode
+
+ Fixes: https://gitlab.gnome.org/GNOME/vte/-/issues/2712
+
+ src/vtegtk.cc | 119 ++++++++++++++++++++++++++++++++++++++--------------------
+ 1 file changed, 78 insertions(+), 41 deletions(-)
+
+commit 6bda91c6e5c68683410b9ab2bf6f11c81b4c0c03
+Author: Christian Persch
+Date: 2023-12-12 00:17:59 +0100
+
+ draw: Remove unused alpha param from drawing methods
+
+ src/drawing-cairo.cc | 43 +++++++++++++++++++++++++++++++------------
+ src/drawing-cairo.hh | 11 +++++++----
+ src/drawing-context.cc | 32 +++++++++++++-------------------
+ src/drawing-context.hh | 34 ++++++++++++++++++++++------------
+ src/drawing-gsk.cc | 35 ++++++++++++++++++++++++++---------
+ src/drawing-gsk.hh | 11 +++++++----
+ src/vte.cc | 46 ++++++++++++++++++++++------------------------
+ 7 files changed, 128 insertions(+), 84 deletions(-)
+
+commit e98c1354d14879fc9d45e16815ac0c6d298ea506
+Author: Christian Persch
+Date: 2023-12-12 00:17:59 +0100
+
+ widget: Add class vfunc for setup-context-menu signal
+
+ For consistency with the other signals.
+
+ src/vte/vteterminal.h | 17 ++++++++++-------
+ src/vtegtk.cc | 3 ++-
+ 2 files changed, 12 insertions(+), 8 deletions(-)
+
+commit a9cbd3948b3ecc75a8d725d5ed788b528b1f6f35
+Author: Christian Hergert
+Date: 2023-11-06 10:32:45 -0800
+
+ vte: avoid creating rect/region on GTK 4
+
+ These aren't used when on GTK 4 so just avoid doing that work altogether
+ on GTK 4.
+
+ src/vte.cc | 8 ++++++--
+ 1 file changed, 6 insertions(+), 2 deletions(-)
+
+commit adde982bad9306610c568414c3111f98e7636fa1
+Author: Christian Hergert
+Date: 2023-12-01 11:08:51 -0800
+
+ vte: remove extra PTY read from tick callback
+
+ This extra read was causing IO to be consumed from the GtkWidget tick
+ callback. We don't want that because it creates a priority inversion where
+ high-producing clients can take higher priority over slower producing
+ clients.
+
+ Fixes #2698
+
+ src/vte.cc | 2 --
+ 1 file changed, 2 deletions(-)
+
+commit 7cd21873572c66b5a9d69178c8e0a0231d307569
+Author: Christian Hergert
+Date: 2023-11-28 13:56:28 -0800
+
+ vte: emit adjustment changed in tick callback
+
+ We want this to run every frame that we process new data so that the
+ layout phase of the frame clock will update the scroll position.
+
+ src/vte.cc | 7 +++----
+ src/vteinternal.hh | 2 +-
+ 2 files changed, 4 insertions(+), 5 deletions(-)
+
+commit c17d9c6b4571be0ab55c3818d9125233553bb7ee
+Author: Christian Hergert
+Date: 2023-11-30 12:24:29 -0800
+
+ Reapply "vte: drive updates from GdkFrameClock"
+
+ This reverts commit 727f8c1034176b70871ba2eedca306a15caea191.
+
+ The scrollback corruption was unrelated and fixed in
+ 27bde60e8aef578c3a87f239c7cf70dc8fbed8df.
+
+ src/vte.cc | 353 ++++++-----------------------------------------------
+ src/vtedefines.hh | 3 -
+ src/vteinternal.hh | 10 +-
+ 3 files changed, 40 insertions(+), 326 deletions(-)
+
+commit 140c77ec045d062ae53e6966e4a640ac488c9bc1
+Author: Christian Persch
+Date: 2023-11-30 18:36:15 +0100
+
+ widget: gtk4: Add long press touch gesture
+
+ ... and show the context menu when it's triggered.
+
+ This is necessary to fully port gnome-console to the new context menu
+ APIs.
+
+ src/widget.cc | 66 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++--
+ src/widget.hh | 18 ++++++++++++++++
+ 2 files changed, 82 insertions(+), 2 deletions(-)
+
+commit d1f94244bcc8bae7474d875dd12e7bb416017238
+Author: Egmont Koblinger
+Date: 2023-11-27 09:32:35 +0100
+
+ lib: Inline the Unicode character width database
+
+ This is faster than invoking the GLib methods.
+
+ Fixes https://gitlab.gnome.org/GNOME/vte/-/issues/2655
+
+ src/meson.build | 18 +
+ src/unicode-width-generate.py | 133 +
+ src/unicode-width-test.cc | 94 +
+ src/unicode-width.hh | 11589 ++++++++++++++++++++++++++++++++++++++++
+ src/vte.cc | 21 +-
+ 5 files changed, 11836 insertions(+), 19 deletions(-)
+
+commit 76c1f7a27b53d51a65d1246f8e0436bff92b0af2
+Author: Egmont Koblinger
+Date: 2023-11-28 21:06:24 +0100
+
+ ring: Fix error handling in the rewrapping code
+
+ https://gitlab.gnome.org/GNOME/vte/-/issues/2699
+
+ src/ring.cc | 7 +++++--
+ 1 file changed, 5 insertions(+), 2 deletions(-)
+
+commit e8b244ca982a86bddcd4f1da6cadf3d7cb6398be
+Author: Egmont Koblinger
+Date: 2023-11-28 16:17:49 +0100
+
+ stream: Add debug assertions verifying the snake's integrity
+
+ https://gitlab.gnome.org/GNOME/vte/-/issues/2699
+
+ src/vtestream-file.h | 48 +++++++++++++++++++++++++++++++++++++++++++++++-
+ 1 file changed, 47 insertions(+), 1 deletion(-)
+
+commit 27bde60e8aef578c3a87f239c7cf70dc8fbed8df
+Author: Egmont Koblinger
+Date: 2023-11-28 11:36:52 +0100
+
+ stream: Fix a rare corruption when advancing the tail
+
+ When the snake's tail advances by multiple blocks at once, through
+ a state chance, then the snake entered an inconsistent state,
+ subsequently causing scrollback data corruptions or even a crash.
+
+ Fixes https://gitlab.gnome.org/GNOME/vte/-/issues/2699
+
+ src/vtestream-file.h | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 47ac92b5810162dd9e014e5e60eaf108654c731e
+Author: Andre Klapper
+Date: 2023-11-28 12:21:03 +0100
+
+ DOAP: Replace defunct mailing list with Discourse support forum
+
+ vte.doap | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+commit 727f8c1034176b70871ba2eedca306a15caea191
+Author: Christian Persch
+Date: 2023-11-26 21:09:04 +0100
+
+ Revert "vte: drive updates from GdkFrameClock"
+
+ This reverts commit 4903c11ffcc6919f844304897dc3b9f9e9f67854.
+
+ This causes display corruption and occasional crashes.
+
+ https://gitlab.gnome.org/GNOME/vte/-/issues/2699
+
+ src/vte.cc | 359 +++++++++++++++++++++++++++++++++++++++++++++++------
+ src/vtedefines.hh | 3 +
+ src/vteinternal.hh | 10 +-
+ 3 files changed, 329 insertions(+), 43 deletions(-)
+
+commit 964c27337cf6d0eaaf8c4020b51ce33a1a7cd9bf
+Author: Christian Persch
+Date: 2023-11-24 21:27:14 +0100
+
+ widget: Add context menu support
+
+ Add a setup-context-menu signal emitted when a context menu can be
+ shown, and context-menu-model and context-menu properties to provide
+ the actual menu.
+
+ https://gitlab.gnome.org/GNOME/vte/-/issues/2530
+ https://gitlab.gnome.org/GNOME/vte/-/issues/2593
+
+ src/app/app.cc | 115 ++++++++++----------
+ src/refptr.hh | 7 ++
+ src/vte.cc | 113 ++++++++++++++++----
+ src/vte/vteterminal.h | 35 +++++++
+ src/vtegtk.cc | 283 ++++++++++++++++++++++++++++++++++++++++++++++++++
+ src/vtegtk.hh | 3 +
+ src/vteinternal.hh | 1 +
+ src/widget.cc | 269 ++++++++++++++++++++++++++++++++++++++++++++++-
+ src/widget.hh | 129 ++++++++++++++++++++++-
+ 9 files changed, 864 insertions(+), 91 deletions(-)
+
+commit 11241641d2ad0c9132e44fb14e7ac2e9cb09f378
+Author: Christian Persch
+Date: 2023-11-24 21:27:14 +0100
+
+ draw: Add some constexpr to Rectangle methods
+
+ src/drawing-context.hh | 23 ++++++++++++++---------
+ 1 file changed, 14 insertions(+), 9 deletions(-)
+
+commit 159ea140580954281924370cef0f08266155290d
+Author: Christian Persch
+Date: 2023-11-24 21:27:14 +0100
+
+ widget: Improve yalign docs
+
+ https://gitlab.gnome.org/GNOME/vte/-/issues/2610
+
+ src/vtegtk.cc | 7 ++++++-
+ 1 file changed, 6 insertions(+), 1 deletion(-)
+
+commit b98b1d40f82df10b6e2079e97a5e5e26b3417b85
+Author: Egmont Koblinger
+Date: 2023-11-22 10:01:23 +0100
+
+ build: Suppress a warning about an unused variable in non-debug mode
+
+ src/vteaccess.cc | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit 7c033ed658e1c3d955334b42aa81187f6b589272
+Author: Egmont Koblinger
+Date: 2023-11-19 15:40:42 +0100
+
+ lib: Do not initialize cells before inserting characters
+
+ This brings a small speedup.
+
+ Fixes https://gitlab.gnome.org/GNOME/vte/-/issues/2695
+
+ src/vte.cc | 6 ++++--
+ src/vterowdata.cc | 12 ++++++++++++
+ src/vterowdata.hh | 1 +
+ 3 files changed, 17 insertions(+), 2 deletions(-)
+
+commit de78d7274bd2127cd574d033a04c298bd1ea7432
+Author: Egmont Koblinger
+Date: 2023-11-19 10:40:09 +0100
+
+ lib: Fix lines unwrapping too far
+
+ This bug was introduced in the previous commit.
+
+ Fixes https://gitlab.gnome.org/GNOME/vte/-/issues/2694
+
+ src/vte.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 831fb03c95d7008e50461a1f86ced251f32abe1a
+Author: Egmont Koblinger
+Date: 2023-11-18 20:46:17 +0100
+
+ lib: Speed up inserting runs of ASCII characters
+
+ Fixes https://gitlab.gnome.org/GNOME/vte/-/issues/2692
+
+ src/vte.cc | 112 ++++++++++++++++++++++++++++++++++++++++++++++++++++-
+ src/vteinternal.hh | 2 +
+ 2 files changed, 112 insertions(+), 2 deletions(-)
+
+commit 90bdd5bb36f82c948e4a6053fbdfb7383f8eec8c
+Author: Egmont Koblinger
+Date: 2023-11-16 18:20:54 +0100
+
+ lib: Simplify invalidation bounding box tracking
+
+ Fixes https://gitlab.gnome.org/GNOME/vte/-/issues/2691
+
+ src/vte.cc | 24 +-----------------------
+ src/vteinternal.hh | 1 -
+ 2 files changed, 1 insertion(+), 24 deletions(-)
+
+commit 6d646c483b53912c2cbc8092664fb5ad716c4ea9
+Author: Egmont Koblinger
+Date: 2023-11-17 21:32:33 +0100
+
+ emulation: Fix cursor position after an escape sequence initiated resize
+
+ Fixes https://gitlab.gnome.org/GNOME/vte/-/issues/2258
+
+ src/vte.cc | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit 6b947f6e13def60ed5a9cf98a11d3b1621acf447
+Author: Christian Persch
+Date: 2023-11-17 21:17:50 +0100
+
+ lib: Remove unnecessary "struct"s
+
+ Rename vte_scrolling_region to vte::scrolling_region.
+
+ src/vte.cc | 10 +++++-----
+ src/vteinternal.hh | 34 +++++++++++++++++++++-------------
+ src/vteseq.cc | 12 ++++++------
+ 3 files changed, 32 insertions(+), 24 deletions(-)
+
+commit 3ca3d87c8f7f472db797fd118adb34efe70247b7
+Author: Egmont Koblinger
+Date: 2023-11-06 14:42:52 +0100
+
+ emulation: Save/restore along with the cursor whether wrapping will occur
+
+ Fixes https://gitlab.gnome.org/GNOME/vte/-/issues/2673
+
+ src/vte.cc | 2 ++
+ src/vteinternal.hh | 1 +
+ src/vteseq.cc | 1 -
+ 3 files changed, 3 insertions(+), 1 deletion(-)
+
+commit 0be325dc217c80f61a291d15a9fd07fa68460492
+Author: Egmont Koblinger
+Date: 2023-10-27 10:47:02 +0200
+
+ emulation: Make ED 2 and EL 2 clear the pending wrap flag
+
+ src/vteseq.cc | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+commit 276fd3a314046833f0fb866c582721b82ee17f98
+Author: Egmont Koblinger
+Date: 2023-10-26 12:33:30 +0200
+
+ emulation: Make DA1 report horizontal scrolling support
+
+ Together with the dozen previous commits, this one
+ fixes https://gitlab.gnome.org/GNOME/vte/-/issues/2526
+
+ src/vteseq.cc | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+commit 8417e805ecf8f49af51371e7f7aa30a2c4fd9f89
+Author: Egmont Koblinger
+Date: 2023-10-26 08:09:09 +0200
+
+ emulation: Fix ECH not to expand the row beyond the terminal's width
+
+ src/vteseq.cc | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+commit 05b09b8bb7b01faea9ebe5aa5744c5fd2bfe1183
+Author: Egmont Koblinger
+Date: 2023-10-25 11:43:58 +0200
+
+ emulation: Make DECCOLM and DECALN reset the scrolling region
+
+ Also make a window size change and DECALN reset origin mode.
+
+ Fixes https://gitlab.gnome.org/GNOME/vte/-/issues/2668
+
+ src/vte.cc | 1 +
+ src/vteseq.cc | 5 ++++-
+ 2 files changed, 5 insertions(+), 1 deletion(-)
+
+commit 67d0791fdf08bb4427edf9f4382b3492eff1a7e0
+Author: Egmont Koblinger
+Date: 2023-10-19 21:58:17 +0200
+
+ emulation: Adjust Cursor Position Report (CPR) for left and right margins
+
+ src/vteseq.cc | 60 +++++++++++++++++++++++++++++++++--------------------------
+ 1 file changed, 34 insertions(+), 26 deletions(-)
+
+commit fb230c35c7348093d58428d8a85ef6596b31847a
+Author: Egmont Koblinger
+Date: 2023-10-18 15:14:42 +0200
+
+ emulation: Implement Forward Index (DECFI) and Back Index (DECBI)
+
+ src/parser-seq.py | 4 ++--
+ src/vteseq.cc | 16 ++++++++++++----
+ 2 files changed, 14 insertions(+), 6 deletions(-)
+
+commit d3525dc17e9161d1ac2efce2a5c2bb4b9ea86287
+Author: Egmont Koblinger
+Date: 2023-10-18 12:24:41 +0200
+
+ emulation: Implement Insert Column (DECIC) and Delete Columnn (DECDC)
+
+ src/parser-seq.py | 4 ++--
+ src/vteseq.cc | 41 +++++++++++++++++++++++++++++++++++++----
+ 2 files changed, 39 insertions(+), 6 deletions(-)
+
+commit b1e9c7c68219286ce3b4f12f204a15134d70f3ac
+Author: Egmont Koblinger
+Date: 2023-10-25 12:25:19 +0200
+
+ emulation: Adjust IRM mode for left and right margins
+
+ src/vte.cc | 25 +++++++++++++------------
+ src/vteinternal.hh | 1 -
+ src/vteseq.cc | 6 +++---
+ 3 files changed, 16 insertions(+), 16 deletions(-)
+
+commit 9c0827025f617db5eb573d38ca68f297e157bd54
+Author: Egmont Koblinger
+Date: 2023-10-18 15:09:52 +0200
+
+ emulation: Adjust Insert Character (ICH) and Delete Character (DCH)
+
+ ... for left and right margins.
+
+ Also modify ICH to insert empty cells rather than spaces.
+
+ Fixes https://gitlab.gnome.org/GNOME/vte/-/issues/2676
+
+ src/vteinternal.hh | 2 --
+ src/vteseq.cc | 95 ++++++++++++++++++------------------------------------
+ 2 files changed, 32 insertions(+), 65 deletions(-)
+
+commit a65c04af90dc77ca39663a8eb6ccdec2feb4a0f4
+Author: Egmont Koblinger
+Date: 2023-10-18 11:23:53 +0200
+
+ emulation: Implement Scroll Left (SL) and Scroll Right (SR)
+
+ src/parser-seq.py | 4 +-
+ src/vte.cc | 160 +++++++++++++++++++++++++++++++++++++++++++++++++++++
+ src/vteinternal.hh | 6 ++
+ src/vteseq.cc | 34 ++++++++++--
+ 4 files changed, 198 insertions(+), 6 deletions(-)
+
+commit f1b3b1a97e82dd25cc848a89bc2599236e076fab
+Author: Egmont Koblinger
+Date: 2023-11-06 13:51:57 +0100
+
+ emulation: Minor cleanup at smart tab handling
+
+ src/vteseq.cc | 7 ++-----
+ 1 file changed, 2 insertions(+), 5 deletions(-)
+
+commit 467ce417b9c566182759cd688ff32f987632c2bf
+Author: Egmont Koblinger
+Date: 2023-10-18 09:41:47 +0200
+
+ emulation: Adjust cursor moving operations to respect left and right margins
+
+ Also fixes https://gitlab.gnome.org/GNOME/vte/-/issues/2675
+
+ src/tabstops-test.cc | 18 +++--
+ src/tabstops.hh | 8 +-
+ src/vte.cc | 2 +-
+ src/vteinternal.hh | 3 +-
+ src/vteseq.cc | 208 ++++++++++++++++++++++++++++++++++-----------------
+ 5 files changed, 160 insertions(+), 79 deletions(-)
+
+commit da9afaac723928ca2f6ca59e58a4cb88a61e6439
+Author: Egmont Koblinger
+Date: 2023-10-29 18:25:49 +0100
+
+ emulation: Shuffle a few methods to a more logical order
+
+ src/vteinternal.hh | 6 ++--
+ src/vteseq.cc | 88 +++++++++++++++++++++++++++---------------------------
+ 2 files changed, 48 insertions(+), 46 deletions(-)
+
+commit 7868486c4634bfb6ee099879796dc90c1eb41e27
+Author: Egmont Koblinger
+Date: 2023-10-15 15:07:17 +0200
+
+ emulation: Adjust vertical scrolling to respect left and right margins
+
+ src/vte.cc | 190 +++++++++++++++++++++++++++++++++++++++++------------
+ src/vteinternal.hh | 8 ++-
+ src/vteseq.cc | 26 +++++---
+ 3 files changed, 171 insertions(+), 53 deletions(-)
+
+commit 928a0d5a540a4fc14d19e6db4585f27e4b4b37ca
+Author: Egmont Koblinger
+Date: 2023-11-06 13:56:14 +0100
+
+ doc: Add scrolling-region.txt
+
+ doc/scrolling-region.txt | 183 +++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 183 insertions(+)
+
+commit a519857ddb27f8654b92762e6466dba000a9643e
+Author: Egmont Koblinger
+Date: 2023-10-26 12:14:54 +0200
+
+ emulation: Adjust cursor tracking and autowrapping for the right margin
+
+ With right margin support, we can no longer rely on the cursor being off
+ to the right to denote that the next character will wrap. An additional
+ boolean is required to distinguish this from the cursor being explicitly
+ moved to just beyond the right margin.
+
+ Fixes https://gitlab.gnome.org/GNOME/vte/-/issues/2677
+
+ src/vte.cc | 27 +++++++++++++++++----
+ src/vteinternal.hh | 23 ++++++++++++++----
+ src/vteseq.cc | 70 +++++++++++++++++++++++++++++++++---------------------
+ 3 files changed, 84 insertions(+), 36 deletions(-)
+
+commit ac1c5e2eae3ad43ed58f82a6b26011d951b823de
+Author: Egmont Koblinger
+Date: 2023-10-25 12:26:30 +0200
+
+ emulation: Execute SCORC even when DECLRMM is enabled
+
+ src/vteseq.cc | 3 ---
+ 1 file changed, 3 deletions(-)
+
+commit a7918a3e930db9afb2c9a362fd80453a883ae120
+Author: Egmont Koblinger
+Date: 2023-10-13 12:12:57 +0200
+
+ emulation: Track DECSLRM left and right margins
+
+ First step towards fixing https://gitlab.gnome.org/GNOME/vte/-/issues/2526
+
+ src/modes.py | 2 +-
+ src/parser-reply.hh | 3 ++-
+ src/vteseq.cc | 40 +++++++++++++++++++++++++++++++++-------
+ 3 files changed, 36 insertions(+), 9 deletions(-)
+
+commit 0a49d0f722614f7d985362bd6e54206d7dd7f9ef
+Author: Egmont Koblinger
+Date: 2023-10-29 20:17:50 +0100
+
+ emulation: Fix the behavior if invalid scrolling region is requested
+
+ Fixes https://gitlab.gnome.org/GNOME/vte/-/issues/2666
+
+ src/vteseq.cc | 30 ++++++++++--------------------
+ 1 file changed, 10 insertions(+), 20 deletions(-)
+
+commit 306e74d9d197d63a1ed45edae653a162881bd24d
+Author: Egmont Koblinger
+Date: 2023-10-16 15:27:35 +0200
+
+ emulation: Scroll Up (SU) and Delete Line (DL) push to the scrollback
+
+ ... if the scrolling region includes the top row.
+
+ Fixes https://gitlab.gnome.org/GNOME/vte/-/issues/2663
+
+ src/vte.cc | 210 ++++++++++++++++++++++++++++++++++++++---------------
+ src/vteinternal.hh | 10 ++-
+ src/vteseq.cc | 194 +++++++++----------------------------------------
+ 3 files changed, 191 insertions(+), 223 deletions(-)
+
+commit fd4d59ccff6051d7ae443dfc806590ff29ad2323
+Author: Egmont Koblinger
+Date: 2023-10-16 14:55:47 +0200
+
+ emulation: Disregard bce in the scrolling region
+
+ ... if scrolling occurs due to autowrapping and the scrolling region
+ starts at row 2 or below.
+
+ This was an oversight in commit a26a60b8e564968b61716f0d2e52e17cd9362413.
+
+ Fixes https://gitlab.gnome.org/GNOME/vte/-/issues/2663#note_1866082
+
+ src/vte.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 5d4301d8d1087b7a09dd2e81803a8ea09107bfc7
+Author: Egmont Koblinger
+Date: 2023-10-15 17:00:20 +0200
+
+ emulation: Extend vte_scrolling_region to track all four margins
+
+ ... and provide convenience methods, too.
+
+ Also, fix reporting the scrolling region if it's at its defaults.
+
+ Fixes https://gitlab.gnome.org/GNOME/vte/-/issues/2669
+
+ src/vte.cc | 29 ++++++--------
+ src/vteinternal.hh | 31 ++++++++++++++-
+ src/vteseq.cc | 111 ++++++++++++++++-------------------------------------
+ 3 files changed, 75 insertions(+), 96 deletions(-)
+
+commit cda3ca1b77575c0ee086b1a09fc840969b0145ec
+Author: Egmont Koblinger
+Date: 2023-10-15 15:53:26 +0200
+
+ emulation: Rename start/end margins to top/bottom
+
+ src/vte.cc | 38 +++++------
+ src/vteinternal.hh | 2 +-
+ src/vteseq.cc | 192 ++++++++++++++++++++++++++---------------------------
+ 3 files changed, 116 insertions(+), 116 deletions(-)
+
+commit 6a3c0b78d3e5b0c42c52296c09602c2dbba23e91
+Author: Egmont Koblinger
+Date: 2023-10-25 13:44:09 +0200
+
+ emulation: Preserve empty cells as NULs when computing DECRQCRA checksum
+
+ Related to https://gitlab.gnome.org/GNOME/vte/-/issues/24
+
+ src/vte.cc | 12 ++++++++++--
+ src/vtegtk.cc | 3 ++-
+ src/vteinternal.hh | 1 +
+ 3 files changed, 13 insertions(+), 3 deletions(-)
+
+commit 89efc23118e54e6069b7feca38b18d3ccc8b38aa
+Author: Egmont Koblinger
+Date: 2023-10-25 13:44:09 +0200
+
+ widget: Remove an unused parameter of get_text()
+
+ src/vte.cc | 18 ++++++------------
+ src/vteaccess.cc | 3 +--
+ src/vtegtk.cc | 3 +--
+ src/vteinternal.hh | 7 ++-----
+ 4 files changed, 10 insertions(+), 21 deletions(-)
+
+commit d4efcb454d3096b8f32b9a6fb4507e7fbf404b34
+Author: Christian Persch
+Date: 2023-11-15 22:43:43 +0100
+
+ bindings: vala: Depend on graphene-gobject-1.0
+
+ ... instead of graphene-1.0.
+
+ Fixes: https://gitlab.gnome.org/GNOME/vte/-/issues/2650
+
+ bindings/vala/meson.build | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 8ce544e879449705663ddfa1b0e445d211a01644
+Author: Christian Persch
+Date: 2023-11-13 23:25:02 +0100
+
+ build: Silence deprecation warnings
+
+ These warnings are just an annoyance; silence them via the compiler.
+
+ meson.build | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit f6658a23bb8c7126e9e040a49531d6f3ddf1e367
+Author: Christian Hergert
+Date: 2023-10-31 11:13:49 -0700
+
+ drawing-gsk: fix a potential crash with empty runs
+
+ This fixes a crash found while running vtebench on the GSK renderer.
+ Basically the same sort of thing we do on GTK 3.
+
+ src/drawing-gsk.cc | 3 +++
+ src/fonts-pangocairo.cc | 13 ++++++++-----
+ 2 files changed, 11 insertions(+), 5 deletions(-)
+
+commit 4903c11ffcc6919f844304897dc3b9f9e9f67854
+Author: Christian Hergert
+Date: 2023-10-30 21:08:05 +0100
+
+ vte: drive updates from GdkFrameClock
+
+ Instead of using timeouts to drive updates to the display we can use the
+ frame clock tick callback to drive those updates. This allows achieving
+ frame rates closer aligned to the monitors vblank timing.
+
+ Fixes: https://gitlab.gnome.org/GNOME/vte/-/issues/2678
+
+ src/vte.cc | 353 ++++++-----------------------------------------------
+ src/vtedefines.hh | 3 -
+ src/vteinternal.hh | 10 +-
+ 3 files changed, 40 insertions(+), 326 deletions(-)
+
+commit a42afc1c502bd940eaacdd558701fd8403230777
+Author: Luis Javier Merino Morán
+Date: 2023-10-30 21:08:05 +0100
+
+ emulation: Also use invisible bit for DECRQCRA checksum
+
+ https://gitlab.gnome.org/GNOME/vte/-/issues/24
+
+ src/vte.cc | 3 +++
+ 1 file changed, 3 insertions(+)
+
+commit fff3252d5130520818447c3603ffdd1f83d4703c
+Author: Luis Javier Merino Morán
+Date: 2023-10-29 09:04:04 +0100
+
+ emulation: Correct DECRQCRA negation
+
+ It should be done before masking; and move that to ::checksum_area().
+
+ https://gitlab.gnome.org/GNOME/vte/-/issues/24
+
+ src/vte.cc | 1 +
+ src/vteseq.cc | 2 +-
+ 2 files changed, 2 insertions(+), 1 deletion(-)
+
+commit 2273064a86514df1cd0bb863c06cea21e20e624e
+Author: Luis Javier Merino Morán
+Date: 2023-10-28 22:57:03 +0200
+
+ emulation: make DECRQCRA behave as VT520
+
+ Support attributes (bold, blink, reverse and underline), and return
+ complemented value.
+
+ https://gitlab.gnome.org/GNOME/vte/-/issues/24
+
+ src/vte.cc | 20 ++++++++++++++++++--
+ src/vteseq.cc | 2 +-
+ 2 files changed, 19 insertions(+), 3 deletions(-)
+
+commit e75a634da0eece2f45b3c412beac74d373fa2d11
+Author: Christian Persch
+Date: 2023-10-28 22:57:03 +0200
+
+ parser: modes: Additions from recent xterm
+
+ src/modes.py | 3 +++
+ 1 file changed, 3 insertions(+)
+
+commit 0539290d083eb00b4de7676264caffa229ef748f
+Author: Luis Javier Merino Morán
+Date: 2023-10-21 09:59:28 +0200
+
+ build: Fix compile in debug mode
+
+ Fixes: https://gitlab.gnome.org/GNOME/vte/-/issues/2679
+
+ src/vte.cc | 4 +++-
+ src/vteaccess.cc | 2 +-
+ 2 files changed, 4 insertions(+), 2 deletions(-)
+
+commit cbf6c2345321989bd76cc216e3dc6eaf65e2e0d0
+Author: Christian Hergert
+Date: 2023-10-18 14:18:03 -0700
+
+ debug: use vte_assert_cmp* functions
+
+ We have vte_assert_cmp*() functions now which can be compiled out of
+ release builds (unlike g_assert_cmp*() functions. Use them everywhere
+ except for the unit tests.
+
+ src/parser-glue.hh | 10 +++++-----
+ src/parser.hh | 2 +-
+ src/ring.cc | 32 ++++++++++++++++----------------
+ src/ringview.cc | 14 +++++++-------
+ src/sixel-parser.hh | 2 +-
+ src/tabstops.hh | 6 ++++--
+ src/vte.cc | 22 +++++++++++-----------
+ src/vteseq.cc | 2 +-
+ src/vteunistr.cc | 4 +++-
+ 9 files changed, 49 insertions(+), 45 deletions(-)
+
+commit baa0ae137bec6463b2a75c955da5f3f754a1109c
+Author: Christian Hergert
+Date: 2023-10-17 13:35:45 -0700
+
+ bidi: reuse char and index arrays across runs
+
+ This allows reusing our allocations for state across runs of the
+ BidiRunner::explicit_line_shape() and BidiRunner::implicit_paragraph().
+ Doing so can yield more than 4% reduction in CPU usage spent on allocation
+ tracking.
+
+ src/bidi.cc | 85 ++++++++++++++++++++++++++++++++-----------------------------
+ src/bidi.hh | 28 +++++++++++++++-----
+ 2 files changed, 66 insertions(+), 47 deletions(-)
+
+commit bd2bca2aacb7d8676627b753d69e8091692c5343
+Author: Christian Hergert
+Date: 2023-10-17 12:46:24 -0700
+
+ terminal: require caller to allocate GString for get_text()
+
+ This pushes the allocation of the GString for Terminal::get_text() and
+ associated functions to the caller. In doing so, this allows reuse of
+ m_match_content. Since a maximized window can easily contain a page or
+ more of data, avoiding the power-of-two growth and GString maybe_expand()
+ checks here is useful. It combines well with the previous commit which
+ allows for reuse of the m_match_attributes array for the same reason.
+
+ You'll mostly see this behavior when the mouse is sitting over the
+ terminal widget and there are a lot of updates to the screen.
+
+ src/vte.cc | 135 +++++++++++++++++++++++++++++------------------------
+ src/vteaccess.cc | 9 ++--
+ src/vtegtk.cc | 25 +++++-----
+ src/vteinternal.hh | 30 ++++++------
+ 4 files changed, 109 insertions(+), 90 deletions(-)
+
+commit 3f9dd9d93327e0dc060fce2cdf9810e90701ded5
+Author: Christian Hergert
+Date: 2023-10-16 21:35:51 -0700
+
+ vteinternal: use specialized array for char attributes
+
+ When the mouse pointer is within the widget we do a lot of of querying for
+ the text (each changing frame) due to match_hilite_update(). This spends
+ a few percent simply doing GArray sizing calculations.
+
+ This patch does like we've done elsewhere and saves a bit over 3% CPU when
+ running btop at 10hz w/ the mouse pointer within the widget.
+
+ src/vte.cc | 144 ++++++++++++++++++++++-------------------------------
+ src/vteaccess.cc | 85 +++++++++++--------------------
+ src/vtegtk.cc | 27 +++++-----
+ src/vteinternal.hh | 22 +++++---
+ 4 files changed, 117 insertions(+), 161 deletions(-)
+
+commit be4f205ea65dafda1308d8a408bafc91a5989033
+Author: Christian Persch
+Date: 2023-10-18 22:11:24 +0200
+
+ draw: minifont: Only pad character where necessary
+
+ So far only the diagonal line characters (U+2571..3) need to draw
+ slightly outside their cell, so only enlarge the character surface for
+ them and keep all other characters at the exact cell size.
+
+ src/minifont.cc | 7 ++-----
+ 1 file changed, 2 insertions(+), 5 deletions(-)
+
+commit a47e6a3e1847fc1d46f063d6866f48a30682953c
+Author: Christian Persch
+Date: 2023-10-18 22:11:24 +0200
+
+ draw: minifont: Fix drawing of diagonals
+
+ U+2571, U+2572, and U+2573 must connect diagonally, so they draw
+ slightly outside their cell. The constant padding of 2px either side
+ was not enough to accomodate light_line_width/2 overdrawing, so make the
+ padding per-character overridable.
+
+ src/minifont.cc | 70 ++++++++++++++++++++++++++++++++++++---------------------
+ src/minifont.hh | 14 ++++++++----
+ 2 files changed, 54 insertions(+), 30 deletions(-)
+
+commit c99989d7d72019f3f5411cce9db97088728895c7
+Author: Christian Persch
+Date: 2023-10-18 22:11:24 +0200
+
+ draw: Style fixes
+
+ src/drawing-cairo.hh | 78 +++++++++++++++++++++++----------------------
+ src/drawing-context.hh | 8 +++--
+ src/drawing-gsk.hh | 86 +++++++++++++++++++++++++++-----------------------
+ 3 files changed, 94 insertions(+), 78 deletions(-)
+
+commit 80b99caf47e1bed50f2dc7c1b347d9faa7c1daf2
+Author: Christian Persch
+Date: 2023-10-18 22:11:24 +0200
+
+ draw: Include drawing-context.hh not drawing-cairo.hh
+
+ src/drawing-context.cc | 2 +-
+ src/minifont.cc | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+commit 5ed604a300e419ec9d27c854e5d64b243bae05d2
+Author: Christian Persch
+Date: 2023-10-18 22:11:24 +0200
+
+ draw: Use a named constant
+
+ ... not simply a number. Makes it a bit easier to see what's going on.
+
+ src/drawing-context.cc | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+commit c557b2300c835f0d22b6647c9155efdf101d0c2e
+Author: Christian Hergert
+Date: 2023-10-18 22:11:24 +0200
+
+ draw: implement native GTK 4 drawing
+
+ This abstracts DrawingContext into an abstract base class with two
+ implementations: DrawingCairo and DrawingGsk. The DrawingCairo version
+ is only compiled on GTK 3 and keeps the design largely the same as it was
+ before, using one large Cairo context. The DrawingGsk attempts to provide
+ the same feature set but uses native GtkSnapshot and GskRenderNode
+ features.
+
+ Minifont has been changed to be more performance friendly in GTK 4. Cairo
+ surfaces are maintained in a sized cache based on size and character. They
+ are drawn onto the canvas with as a mask for color which is slightly
+ different on GTK 3 to how they were drawn before. On GTK 4 they are also
+ drawn as a mask for color. A new fast path has been added to the GTK 4
+ renderer to improve performance with this pattern. It, fundamentally, is
+ the same pattern GTK uses internally for it's glyph cache.
+
+ For GTK 4, only the PangoGlyphString coverage is used. This allows the
+ creation of GskTextNode directly from the built strings.
+
+ There are possibilities to improve performance further by caching the
+ container GskRenderNode for each row and re-using them frame to frame.
+ However, GTK will determine the appropriate damage region for the frame
+ regardless.
+
+ A new Rectangle struct has been added to allow calling code to create the
+ rectangle in the best format used by the underlying rendering technology
+ without further conversions.
+
+ Fixes: https://gitlab.gnome.org/GNOME/vte/-/issues/2553
+
+ src/drawing-cairo.cc | 629 ++++++++++-------------------------
+ src/drawing-cairo.hh | 194 +++--------
+ src/drawing-context.cc | 350 ++++++++++++++++++++
+ src/drawing-context.hh | 335 +++++++++++++++++++
+ src/drawing-gsk.cc | 268 +++++++++++++++
+ src/drawing-gsk.hh | 116 +++++++
+ src/fonts-pangocairo.cc | 22 ++
+ src/fonts-pangocairo.hh | 28 +-
+ src/fwd.hh | 1 +
+ src/meson.build | 18 +-
+ src/minifont.cc | 845 ++++++++++++++++++++++++++++++------------------
+ src/minifont.hh | 34 +-
+ src/vte.cc | 132 ++++----
+ src/vteinternal.hh | 15 +-
+ src/widget.hh | 2 +
+ 15 files changed, 1981 insertions(+), 1008 deletions(-)
+
+commit f83883d4d3f2cbf73516e073a61d715a5d2aadd2
+Author: Christian Persch
+Date: 2023-10-16 21:14:05 +0200
+
+ draw:minifont: Add comment to the LR and RL hatching patterns
+
+ ... explaining their differences in light of issue#2672.
+
+ src/minifont.cc | 9 +++++++++
+ 1 file changed, 9 insertions(+)
+
+commit a097c83b14344c3061723ff5a7313a4d7f9d79ee
+Author: Efstathios Iosifidis
+Date: 2023-10-16 18:09:04 +0000
+
+ Update Greek translation
+
+ (cherry picked from commit eee37c871173d04387cd0004dde7f8676f390f62)
+
+ po/el.po | 65 ++++++++++++++++++++++++++++++++++++++++++++--------------------
+ 1 file changed, 45 insertions(+), 20 deletions(-)
+
+commit 2796b4641a377b11254b97c4f0a3b349c6333337
+Author: Christian Hergert
+Date: 2023-10-14 23:24:43 +0200
+
+ minifont: remove unused attr parameter
+
+ src/drawing-cairo.cc | 1 -
+ src/minifont.cc | 1 -
+ src/minifont.hh | 1 -
+ 3 files changed, 3 deletions(-)
+
+commit 24af21dbe8555bd7fc8cc0e6212c95982371305d
+Author: Christian Hergert
+Date: 2023-10-14 23:24:43 +0200
+
+ vtetypes: add GdkRGBA conversion utility
+
+ src/vtetypes.hh | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+commit 05812adc66d947f477a551e31de00fb1276e72dc
+Author: Christian Hergert
+Date: 2023-10-14 23:24:43 +0200
+
+ app: avoid using Cairo fallback nodes on GTK 4
+
+ We don't want to create a fallback (Cairo) node unless necessary.
+
+ src/app/app.cc | 34 +++++++++++++++-------------------
+ 1 file changed, 15 insertions(+), 19 deletions(-)
+
+commit bd5af21e48ebff893a47bbd24fb1c31b04dca225
+Author: Christian Hergert
+Date: 2023-10-14 23:24:43 +0200
+
+ build: bump GTK requirement to 4.12
+
+ To better implement native drawing for GTK 4, 4.12 is needed. It provides
+ GDK_MEMORY_A8 which can be used with mask nodes (added in 4.10) for
+ colorizing a texture using the textures alpha channel plus the color rgb
+ values.
+
+ meson.build | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+commit 2dd6e93b83a4da2169bfa64d10d6dc5e76b3cf5b
+Author: Christian Persch
+Date: 2023-10-10 22:26:03 +0200
+
+ draw: minifont: Fix lr/rl hatching pattern to tile seamlessly
+
+ The characters U+1FB98 UPPER LEFT TO LOWER RIGHT FILL and
+ U+1FB99 UPPER RIGHT TO LOWER LEFT FILL when put together vertically or
+ horizontally were not tiling seamlessly at all sizes. To fix this, the
+ latter's hatching pattern needs to be shifted up (or left) by one pixel.
+
+ Fixes: https://gitlab.gnome.org/GNOME/vte/-/issues/2672
+
+ src/minifont.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 4cd5c1283f6e38b6c5feb96c23d912656191fe31
+Author: Christian Hergert
+Date: 2023-10-03 15:19:34 -0700
+
+ vte: batch printable character insertion
+
+ If we have a printable character that was just inserted, follow-up and
+ try to insert more that are simple in nature and do not require
+ re-entering either the UTF-8 decoder or vte::parser::Parser.
+
+ src/vte.cc | 15 +++++++++++++--
+ 1 file changed, 13 insertions(+), 2 deletions(-)
+
+commit 8a25ad887ed895523ef603270ad64c890f1dbf36
+Author: Christian Hergert
+Date: 2023-10-02 17:22:23 -0700
+
+ parser: move vte_parser_t into vte::parser::Parser
+
+ This is just the first step towards being able to inline the very hot
+ paths from vte.cc through the Parser structure. Currently everything is
+ inlined but my guess is that we'll want to be selective about that and
+ make some things not inline and other things hoisted through an inline
+ function.
+
+ Performance is roughly the same as before, except that I notice ever so
+ slightly more frames are rendered with this version when using the GTK 3
+ implementation.
+
+ src/parser-glue.hh | 475 +----------------
+ src/parser-test.cc | 1 +
+ src/parser.cc | 1287 +++-------------------------------------------
+ src/parser.hh | 1382 +++++++++++++++++++++++++++++++++++++++++++++++++-
+ src/sixel-context.hh | 1 -
+ 5 files changed, 1436 insertions(+), 1710 deletions(-)
+
+commit 83d05504cc9aeb4cd89a5717a803295dad8942de
+Author: Christian Hergert
+Date: 2023-10-04 16:21:40 -0700
+
+ rowdata: use std::fill_n()
+
+ Surprisingly, this is a couple percent speedup on a tight-loop test which
+ cats a very large file to stdout.
+
+ src/vterowdata.cc | 8 +++-----
+ 1 file changed, 3 insertions(+), 5 deletions(-)
+
+commit 662f708738e894021bbf5634a427d193828baf09
+Author: Christian Persch
+Date: 2023-10-05 20:01:36 +0200
+
+ build: Fix the build with sixel enabled
+
+ Fixes a regression from commit 2d7788157b8788786feba57cb3e8de31629ff3b5.
+
+ src/vte.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 8569f39e24125d52694ae02dd8aadd540f82db10
+Author: Christian Hergert
+Date: 2023-09-27 14:27:42 -0700
+
+ ring, fonts: use g_string_truncate() to reset string
+
+ g_string_truncate() can be hoisted into the caller unlike
+ g_string_set_size(). This will compile into what is basically just
+ buffer->str[0] = 0, buffer->len = 0;
+
+ src/fonts-pangocairo.cc | 2 +-
+ src/ring.cc | 4 ++--
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+
+commit fdb3468a7c7f063689c88ae91a6c8c570117a15f
+Author: Christian Hergert
+Date: 2023-10-03 13:08:32 -0700
+
+ build: compile out assertions and cast-checks
+
+ In production builds, many GNOME libraries compile out both assertions and
+ cast checks. These often have significant overhead in tight loops which
+ we don't need in production releases but are critical during the
+ development phase to avoid shipping obvious bugs.
+
+ This does the same for libvte libraries.
+
+ Production builds are anything not starting with 'debug' in the profile.
+ That includes "plain" as well as "release" as distributions almost always
+ use "plain" with their custom compiler flags.
+
+ Testing with an extremely large file cat to vte-2.91 this yields an 8%
+ improvement compared to the previous commit.
+
+ meson.build | 6 +++++-
+ src/attr.hh | 4 +++-
+ src/bidi.cc | 20 ++++++++++----------
+ src/debug.h | 14 ++++++++++++++
+ src/meson.build | 4 ++--
+ src/parser-glue.hh | 11 ++++++-----
+ 6 files changed, 40 insertions(+), 19 deletions(-)
+
+commit 2d7788157b8788786feba57cb3e8de31629ff3b5
+Author: Christian Hergert
+Date: 2023-09-29 18:32:04 -0700
+
+ ring: remove VteRing C wrapper for vte::base::Ring
+
+ Part of transitioning to vte::base::Ring was a intermediate _vte_ring_*()
+ wrapper API. This C API was preventing the compiler from inlining various
+ API that was desired to be inlined.
+
+ This removes the C wrapper and updates all of the callers to use the
+ appropriate vte::base::Ring() methods instead.
+
+ Additionally, functions which were intended to be inlined have been
+ inlined and do indeed remove some of the Ring overhead in profiles.
+
+ src/ring.hh | 31 --------
+ src/ringview.cc | 2 +-
+ src/vte.cc | 217 ++++++++++++++++++-----------------------------------
+ src/vteinternal.hh | 66 +++++++++++++---
+ src/vteseq.cc | 34 ++++-----
+ 5 files changed, 149 insertions(+), 201 deletions(-)
+
+commit e9eeb34dab232c05850136405faaf536f172c674
+Author: Christian Hergert
+Date: 2023-09-29 15:13:22 -0700
+
+ ring: inline vte::base::Ring::index_writable()
+
+ This function gets called a lot from various places, and previously was
+ done through a C wrapper. It is a good candidate for inling, but cannot
+ do that while the C wrapper is in use.
+
+ So both make it inlined and remove the C wrapper since it was likely just
+ there for transition purposes anyway.
+
+ src/ring.cc | 7 -------
+ src/ring.hh | 8 ++++++--
+ src/vte.cc | 8 ++++----
+ src/vteseq.cc | 14 +++++++-------
+ 4 files changed, 17 insertions(+), 20 deletions(-)
+
+commit 2ce13eb1b2f9b0069b395f3b9b8acc94459c7683
+Author: Christian Hergert
+Date: 2023-09-29 15:02:25 -0700
+
+ ring: inline vte::base::Ring::ensure_writable()
+
+ This function is called extremely often but almost never (only once in
+ my local testing) goes past the likely branch. Perfect candidate for
+ hosting into the inline and to avoid function call/return.
+
+ src/ring.cc | 13 -------------
+ src/ring.hh | 9 ++++++++-
+ 2 files changed, 8 insertions(+), 14 deletions(-)
+
+commit 41c062960a4da20e1b7591f9a0265f67f53f95d7
+Author: Christian Hergert
+Date: 2023-09-28 13:43:37 -0700
+
+ unistr: fix typo in gtk-doc
+
+ src/vteunistr.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 17541a35eeaec1c21594bcf3df635e755ed05b8d
+Author: Christian Persch
+Date: 2023-09-29 22:18:16 +0200
+
+ utf8: Add some more tests
+
+ Test the decoder on invalid 5- and 6-byte old-style-UTF-8 sequences.
+
+ src/utf8-test.cc | 12 ++++++++++++
+ 1 file changed, 12 insertions(+)
+
+commit 46f0143a668bec298bbff8b9d4ee9f0042f65f88
+Author: Christian Hergert
+Date: 2023-09-28 15:47:49 -0700
+
+ unistr: inline unichar into GString as UTF-8
+
+ This code path is *extremely* hot. This patch brings over the UTF-8
+ conversion and uses g_string_append_len() which is now inlined by GLib
+ to allow for simply memcpy()'s the utf8 bytes into the destination string.
+
+ The cost of calling g_string_append_unichar() is extremely high. It
+ currently is treated the same as a g_string_insert_unichar() at the end
+ which does not allow for the same level of optimization as a dedicated
+ code path for append().
+
+ Additionally, UTF-8 conversion does some of the same checks which the
+ calling code would have already done. Some of that may be able to be
+ shared when inlined into the caller.
+
+ Even with other string related patches applied, this is good for a couple
+ more percent of CPU cost savings.
+
+ src/vteunistr.h | 53 +++++++++++++++++++++++++++++++++++++++++++++++------
+ 1 file changed, 47 insertions(+), 6 deletions(-)
+
+commit dbcc9dfae1903644262eacb9457ec4a5c90c619c
+Author: Christian Hergert
+Date: 2023-09-28 15:10:03 -0700
+
+ unichar: hoist common unichar width into caller
+
+ The most common case we run into here is the < 0x80 which will always be
+ a cell width of 1. The compiler does not seem to be inlining even
+ portions of _vte_unichar_width() naturally, so force it with a macro to
+ hoist just the common hot path into the caller.
+
+ This is good for about 1% of savings similar to the previous inlines.
+
+ src/vte.cc | 14 +++++++++++---
+ 1 file changed, 11 insertions(+), 3 deletions(-)
+
+commit 6365311d158fad42d54bf3bb5d8fc3d72a97e75d
+Author: Christian Hergert
+Date: 2023-09-28 19:06:36 -0700
+
+ stream: switch compression from zlib to LZ4
+
+ Before this patch, vte::ring::Ring::freeze_row() was dominated by the cost
+ of writing compressed/encrypted data to the underlying file. That simply
+ disappears when using LZ4 compression instead.
+
+ Fixes #2419
+
+ meson.build | 4 +++-
+ src/meson.build | 4 ++--
+ src/vtestream-file.h | 22 ++++++++--------------
+ 3 files changed, 13 insertions(+), 17 deletions(-)
+
+commit 342a0e3592c03a1be05515b9146842bab740e1d3
+Author: Christian Hergert
+Date: 2023-09-28 14:22:56 -0700
+
+ unistr: hoist _vte_unistr_strlen() into caller
+
+ For the common case (a gunistr which is exactly 1 character long), we can
+ host the check into the caller for as much as a 3.5% savings when comparing
+ vte::base::Ring::freeze_one_row() in a tight loop.
+
+ src/vteunistr.cc | 4 ++--
+ src/vteunistr.h | 2 ++
+ 2 files changed, 4 insertions(+), 2 deletions(-)
+
+commit 01ea98eddc8dafb185072bff104d874ed58e8784
+Author: Christian Hergert
+Date: 2023-09-28 14:03:32 -0700
+
+ unistr: hoist g_string_append_unichar() into caller
+
+ We avoid an extra function call/return for every character by hoisting the
+ g_string_append_unichar() into the caller for the common path.
+
+ It may make sense to also hoist g_string_append_unichar() into at least
+ the g_string_append_c() case which has an inlined version too, or just
+ inline the entire utf-8 encode.
+
+ This saves a bit more than 2.5% of overhead when comparing run to run
+ vte::base::Ring::freeze_one_row() in a tight loop.
+
+ src/vteunistr.cc | 6 ++----
+ src/vteunistr.h | 9 +++++++++
+ 2 files changed, 11 insertions(+), 4 deletions(-)
+
+commit e429d16060a485d3abe60c9bb4a60a37faa0f37e
+Author: Christian Hergert
+Date: 2023-09-26 14:53:22 -0700
+
+ bidi: add VteBidiIndexes array using GdkArrayImpl
+
+ This does the same thing to FriBidiStrIndex that we have for FriBidiChar
+ which is to "flatten" the acess to the array along with a number of other
+ features allowing the compiler to do what it does best instead of going
+ through a generic-sized array structure like GArray.
+
+ src/bidi.cc | 34 ++++++++++++++++++++--------------
+ src/bidiarrays.hh | 11 ++++++++++-
+ 2 files changed, 30 insertions(+), 15 deletions(-)
+
+commit 1a8d53e99d51ab0c8f70782e76ffe073a2bf00bc
+Author: Christian Hergert
+Date: 2023-09-26 11:34:28 -0700
+
+ bidi: add VteBidiChars array of gunichar
+
+ This removes the use of GArray for vteunistr building using the recent
+ import GdkArrayImpl. This removes a bunch of overhead in
+ g_array_maybe_expand() when building performing Bidi runs.
+
+ src/bidi.cc | 50 +++++++++++++++++++++++++++-----------------------
+ src/bidiarrays.hh | 25 +++++++++++++++++++++++++
+ src/vteunistr.cc | 18 ++++++++++--------
+ src/vteunistr.h | 6 ++++--
+ 4 files changed, 66 insertions(+), 33 deletions(-)
+
+commit 02afa1919da6c489c71480d3f394ebb297e58646
+Author: Christian Hergert
+Date: 2023-09-26 11:33:21 -0700
+
+ import GdkArrayImpl for fast arrays
+
+ This comes from significant array optimization in GDK over the past few
+ years. It allows us to have arrays inline with pre-allocated space as well
+ as avoiding an extra pointer chase in tight loops. Combined with knowing
+ the exact element sizes and alignment at compile time various memmove()
+ and memcpy() operations may be elided.
+
+ src/gdkarrayimpl.c | 322 +++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 322 insertions(+)
+
+commit 01c76e12b6e488af0c83df9b704d6c6056733b83
+Author: Christian Hergert
+Date: 2023-09-26 09:59:37 -0700
+
+ build-aux: add flatpak manifest for testing from Builder
+
+ This allows selecting either the gtk3 or gtk4 profile from Builder's
+ "Active Configuration" menu. Clicking Run will build/run the specific
+ app (vte-2.91 or vte-2.91-gtk4) which simplifies first time contributions.
+
+ These files are contributed under either GPLv3+ or LGPLv3+ to match
+ VTE itself.
+
+ build-aux/org.gnome.vte.gtk3.json | 31 +++++++++++++++++++++++++++++++
+ build-aux/org.gnome.vte.gtk4.json | 31 +++++++++++++++++++++++++++++++
+ 2 files changed, 62 insertions(+)
+
+commit 9a89de7683fc2842610b07fcf0845714da88bf7e
+Author: Christian Persch
+Date: 2023-09-20 23:08:13 +0200
+
+ ci: Only upload docs for tags
+
+ .gitlab-ci.yml | 3 +++
+ 1 file changed, 3 insertions(+)
+
+commit 50671fb77b51c3efd4d1ceaf49721319ab247ae6
+Author: Christian Persch
+Date: 2023-09-20 21:28:10 +0200
+
+ Revert "widget: a11y: Add missing text changes on scrolling with modifications"
+
+ This reverts commit 036d337cb84c3ff3e62c688f3f0a2a2056eb15ca.
+
+ src/vteaccess.cc | 159 +++++++++++--------------------------------------------
+ 1 file changed, 30 insertions(+), 129 deletions(-)
+
+commit b8e13a6b80965f9a7aecae026ab1460e92e78568
+Author: Christian Persch
+Date: 2023-09-20 21:28:10 +0200
+
+ Revert "widget: a11y: Optimize text changes on scrolling with modifications"
+
+ This reverts commit 0b63a182e14ec8014e5e18510484569806d61230.
+
+ src/vteaccess.cc | 216 ++++++++++++++++++++++++-------------------------------
+ 1 file changed, 94 insertions(+), 122 deletions(-)
+
+commit 6552c7d9f866d13d3308dc5bc91d360f5a63ae3b
+Author: JCWasmx86
+Date: 2023-09-20 21:28:10 +0200
+
+ widget: VteTerminalSpawnAsyncCallback's error is nullable
+
+ Fixes: https://gitlab.gnome.org/GNOME/vte/-/issues/2647
+
+ src/vtegtk.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 0b63a182e14ec8014e5e18510484569806d61230
+Author: Samuel Thibault
+Date: 2023-09-11 02:03:26 +0200
+
+ widget: a11y: Optimize text changes on scrolling with modifications
+
+ In 036d337cb84c ("widget: a11y: Add missing text changes on scrolling
+ with modifications") we fixed text updates for the scroll+modification
+ case by updating the whole terminal. Updating the whole terminal however
+ makes Orca very talkative.
+
+ This adds support for simple diff support for the common case: an ample head
+ and/or tail content is the same. This allows to emit only the modification,
+ which is usually relatively small.
+
+ Fixes #88
+
+ src/vteaccess.cc | 216 +++++++++++++++++++++++++++++++------------------------
+ 1 file changed, 122 insertions(+), 94 deletions(-)
+
+commit 5b198b4458b71629c02be154f18f09877dbb02fc
+Author: Christian Persch
+Date: 2023-09-12 23:06:08 +0200
+
+ widget: Fix conditional
+
+ Fixes a regression from commit fb3220bee959d37f58daf702165f142ef9fab9f4.
+
+ src/vte.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit a1f82f92e39cd04d4428ea6f4820b908dc6fb808
+Author: Christian Persch
+Date: 2023-09-12 23:06:08 +0200
+
+ widget: Fix conditional
+
+ Fixes a regression from commit fb3220bee959d37f58daf702165f142ef9fab9f4,
+ which led to incorrect rendering with background transparency.
+
+ Fixes: https://gitlab.gnome.org/GNOME/vte/-/issues/2646
+
+ src/vte.cc | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 7ab9ea28df7e63c7ae1644d6f73195a97b99620c
+Author: Christian Persch
+Date: 2023-09-03 22:15:35 +0200
+
+ app: Correct option value description
+
+ Fixes: https://gitlab.gnome.org/GNOME/vte/-/issues/2645
+
+ src/app/app.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 2c063deaa49f82f581855fed400897355da240f4
+Author: Christian Persch
+Date: 2023-09-02 15:20:21 +0200
+
+ Revert "widget: Do not count event as handled in more situations"
+
+ This reverts commit 37455029c841826bac8fa52e99055c7af6d43633.
+
+ Fixes: https://gitlab.gnome.org/GNOME/vte/-/issues/2643
+
+ src/vte.cc | 10 ++++------
+ 1 file changed, 4 insertions(+), 6 deletions(-)
+
+commit 50b5fa0bbaadc54b63fa83a090a9fc56ddfb139f
+Author: Christian Persch
+Date: 2023-09-02 15:19:00 +0200
+
+ test: Add SGR 4:4 and 4:5 underlines to test script
+
+ perf/sgr-test.sh | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+commit e70bc5c012e29e59f17545efc57ac16e8ffa78c2
+Author: Christian Persch
+Date: 2023-09-02 15:19:00 +0200
+
+ emulation: Ignore unknown SGR underline subparams
+
+ Fixes: https://gitlab.gnome.org/GNOME/vte/-/issues/2640
+
+ src/parser-glue.hh | 1 +
+ src/vteseq.cc | 11 ++++++++---
+ 2 files changed, 9 insertions(+), 3 deletions(-)
+
+commit 2066534d2ddda567e6cb1a81580ec7eb454dc7b1
+Author: Christian Persch
+Date: 2023-08-09 21:28:27 +0200
+
+ widget: Correct "Since:" annotations
+
+ src/vte/vteenums.h | 2 +-
+ src/vtegtk.cc | 24 ++++++++++++------------
+ 2 files changed, 13 insertions(+), 13 deletions(-)
+
+commit af411bcda0f4ab7cda9942c2224e7482eb4accd6
+Author: Christian Persch
+Date: 2023-08-09 21:28:27 +0200
+
+ lib: Fix preallocated size
+
+ src/pastify.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit f179048efb4d95109c33398809ea807aa5ac8706
+Author: Christian Persch
+Date: 2023-08-04 21:26:13 +0200
+
+ build: Post branch version bump
+
+ meson.build | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 9423831f79935828ce62365d4b6b93ff2758e15e
+Author: Zander Brown
+Date: 2023-08-04 21:10:39 +0200
+
+ docs: Publish as gitlab pages
+
+ Changes to developer.gnome.org means online documentation is no longer
+ automatically generated from tarballs, so instead create the docs from
+ CI when making a tag.
+
+ https://gitlab.gnome.org/GNOME/vte/-/issues/2545
+
+ .gitlab-ci.yml | 52 ++++++++++++++++++++++++++++++++++
+ .gitlab-ci/docs.html | 79 ++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 2 files changed, 131 insertions(+)
+
+commit 829a2c6aa9f43dba2d58cb0046980d1f235e3587
+Author: Christian Persch
+Date: 2023-08-04 21:10:39 +0200
+
+ Revert "widget: Modernise HTML output"
+
+ This reverts commit edddaaea9d35011ed1c74a7caf75fe639ebddaa7.
+
+ Fixes: https://gitlab.gnome.org/GNOME/vte/-/issues/2625
+
+ src/vte.cc | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+commit 1bcf4bca8e5ba72b49ef2b756ea33b32adf5c28c
+Author: Egmont Koblinger
+Date: 2023-08-04 21:10:39 +0200
+
+ pty: Fix exit delay in presence of a grandchild process
+
+ When we notice that the child has quit, keep processing incoming data only as
+ long as there's data immediately available, and only up to a certain amount
+ which is presumably larger than the kernel's tty buffer size.
+
+ This should be a more robust solution than the timeout-based one it replaces,
+ in order to consume all the data produced by the immediate child and then to
+ emit the child-exited signal without further delay.
+
+ Fixes: https://gitlab.gnome.org/GNOME/vte/-/issues/2627
+
+ src/vte.cc | 117 ++++++++++++++++++++++++++---------------------------
+ src/vteinternal.hh | 8 +---
+ 2 files changed, 59 insertions(+), 66 deletions(-)
+
+commit 036d337cb84c3ff3e62c688f3f0a2a2056eb15ca
+Author: Samuel Thibault
+Date: 2023-08-04 21:10:39 +0200
+
+ widget: a11y: Add missing text changes on scrolling with modifications
+
+ When vte_terminal_accessible_text_scrolled gets called, the terminal
+ might have not only scrolled, but also changed. We thus have to check
+ whether the remaining text really is exactly the same as expected. If
+ not, revert to updating the whole terminal.
+
+ Fixes: https://gitlab.gnome.org/GNOME/vte/issues/88
+
+ src/vteaccess.cc | 159 ++++++++++++++++++++++++++++++++++++++++++++-----------
+ 1 file changed, 129 insertions(+), 30 deletions(-)
+
+commit fb09294b614184dae787098afcca4520bbfe856f
+Author: Christian Persch
+Date: 2023-08-04 21:10:39 +0200
+
+ build: Enable gtk4 by default
+
+ meson_options.txt | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 37455029c841826bac8fa52e99055c7af6d43633
+Author: Carlos Garnacho
+Date: 2023-08-01 21:23:43 +0200
+
+ widget: Do not count event as handled in more situations
+
+ In order to play fair with other widgets/gestures along the event
+ propagation chain, and other external gestures that might be set
+ on the VTE widget (like the implicit GtkIMContext one for OSK
+ integration), let the terminal be more selective at letting
+ input events go through:
+
+ - Feeding mouse events to applications only consumes the event
+ if something was actually sent.
+
+ - If a button press does not reset or extend the selection, it
+ will be let through. Further motion may start a selection and
+ result on a later claiming of input.
+
+ There is however a small behavioral change here, since the
+ unconsumed button presses being let through will also be more
+ eagerly attempted to be fed to the running application.
+
+ - Button releases that did not result in an extended selection
+ will also be let through. This still observes extending the selection
+ with shift+click instead of dragging
+ (https://bugzilla.gnome.org/show_bug.cgi?id=683729)
+
+ Altogether, the terminal widget gets better at not claiming input
+ for itself until something actually happened in it, letting non-effective
+ clicks go through, and coincidentally letting the implicit GtkIMContext
+ gesture pick these up.
+
+ https://gitlab.gnome.org/GNOME/vte/-/issues/2630
+
+ src/vte.cc | 10 ++++++----
+ 1 file changed, 6 insertions(+), 4 deletions(-)
+
+commit d17120696cbeb50b68f38b7af78ce1a28ed4c7cd
+Author: Carlos Garnacho
+Date: 2023-08-01 21:23:43 +0200
+
+ widget: Do not possibly deny early click gesture
+
+ Not claiming right away on button press doesn't mean that the
+ input from the gesture should be denied. There may be situations
+ where it only makes sense to claim later on, thus the gesture
+ should still remain in the initial undecided state.
+
+ https://gitlab.gnome.org/GNOME/vte/-/issues/2630
+
+ src/widget.cc | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+commit 726c9247142e20dabfbe73be10ac1d004e2e702a
+Author: David H. Gutteridge
+Date: 2023-07-22 21:55:03 +0200
+
+ pty: Make netbsd workaround conditional on kernel version
+
+ Only use the workaround of manually applying the cloexec and
+ nonblocking flags when running on an old kernel not supporting
+ these flags directly in the posix_openpty() call.
+
+ https://gitlab.gnome.org/GNOME/vte/-/issues/2575
+
+ src/pty.cc | 24 ++++++++++++++++++++----
+ 1 file changed, 20 insertions(+), 4 deletions(-)
+
+commit 706e1de57c8b3c11f47541beb201770f336c13aa
+Author: Christian Persch
+Date: 2023-07-14 22:17:21 +0200
+
+ emulation: Treat unsupported SGR 4:n as no-underline
+
+ Fixes: https://gitlab.gnome.org/GNOME/vte/-/issues/2640
+
+ src/parser-glue.hh | 21 +++++++++++++++++++++
+ src/vteseq.cc | 2 +-
+ 2 files changed, 22 insertions(+), 1 deletion(-)
+
+commit 461bc3e43c819fa0e3b62d0cf40ef533a69cc7f7
+Author: Egmont Koblinger
+Date: 2023-07-13 21:59:29 +0200
+
+ widget: Invalidate ringview when the invalidating
+
+ When the ringview is not invalidated when the ring has changed leads to
+ failed assertion aborts when handling events, e.g. vte#2636, vte#2637,
+ vte#2632, vte#2577.
+
+ Fixes: https://gitlab.gnome.org/GNOME/vte/-/issues/2636
+ Fixes: https://gitlab.gnome.org/GNOME/vte/-/issues/2637
+
+ src/vte.cc | 13 +++++++++++++
+ 1 file changed, 13 insertions(+)
+
+commit 092d8b8f1d15d3f841f1b93e052a677a73713690
+Author: Christian Persch
+Date: 2023-06-19 20:59:01 +0200
+
+ widget: Fix introspection annotations
+
+ https://gitlab.gnome.org/GNOME/vte/-/issues/2633#note_1772933
+
+ src/vtegtk.cc | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+commit dbb5e15ae66b9c4d11d8fed1800224ac46cbd634
+Author: Christian Persch
+Date: 2023-06-18 15:14:59 +0200
+
+ widget: More docs and introspection annotation fixes
+
+ https://gitlab.gnome.org/GNOME/vte/-/issues/2633#note_1771584
+
+ src/vtegtk.cc | 36 ++++++++++++++----------------------
+ 1 file changed, 14 insertions(+), 22 deletions(-)
+
+commit 22ee87447a1191b4be26bc69a566dd0f068c93ff
+Author: Christian Persch
+Date: 2023-06-18 00:37:20 +0200
+
+ widget: Make get_text_range docs more accurate
+
+ Document that passing a non-nullptr selection function will make this
+ function return nullptr.
+
+ src/vtegtk.cc | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+commit dce7b5f044b0f9e184f186315c846489a20edf0d
+Author: Christian Persch
+Date: 2023-06-01 21:30:48 +0200
+
+ emulation: Fix infinite loop on non-number OSC 104 param
+
+ Fixes: https://gitlab.gnome.org/GNOME/vte/-/issues/2631
+
+ src/vteseq.cc | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+commit 7666d4763be31ceb673136ed09bb6fb7ccdfd48a
+Author: Egmont Koblinger
+Date: 2023-04-23 21:50:38 +0200
+
+ draw: Remove need to generate code
+
+ Use user-defined string literals to move the box drawing data into the
+ source code, instead of having a separate text file that gets turned
+ into code from a generator.
+
+ Fixes: https://gitlab.gnome.org/GNOME/vte/-/issues/2628
+
+ src/box-drawing.hh | 863 ++++++++++++++++++++++++++++++++++++++++++++
+ src/box_drawing.txt | 768 ---------------------------------------
+ src/box_drawing_generate.sh | 69 ----
+ src/meson.build | 13 +-
+ src/minifont.cc | 2 +-
+ 5 files changed, 865 insertions(+), 850 deletions(-)
+
+commit a50cfaa7cb76d7486a45869b948cbcb8239d2fba
+Author: Christian Persch
+Date: 2023-04-13 11:56:32 +0200
+
+ widget: Fix compilation
+
+ ... somehow the last commit was incompletely committer.
+
+ Fixes: https://gitlab.gnome.org/GNOME/gnome-terminal/-/issues/7975
+
+ src/clipboard-gtk.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 587873b5cd4cedff259d32e37a37f11562f6dc11
+Author: Christian Persch
+Date: 2023-04-11 20:54:44 +0200
+
+ widget: Fix setting clipboard with html data
+
+ Fixes: https://gitlab.gnome.org/GNOME/gnome-terminal/-/issues/7975
+
+ src/clipboard-gtk.cc | 13 ++++++++-----
+ 1 file changed, 8 insertions(+), 5 deletions(-)
+
+commit 19acc51708d9e75ef2b314aa026467570e0bd8ee
+Author: Eric Johnson
+Date: 2023-04-05 19:06:13 +0200
+
+ emulation: Fix invalid mouse scroll event on window edge
+
+ Fixes: https://gitlab.gnome.org/GNOME/vte/-/issues/2621
+
+ src/vte.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 0cade2cf3713142e0fc606936066b840fc22287c
+Author: Christian Persch
+Date: 2023-04-05 19:06:13 +0200
+
+ widget: Fix introspection warnings
+
+ src/vtegtk.cc | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 4da9d055f68f5b5dad9946b289a1836bd7c0fe8d
+Author: Christian Persch
+Date: 2023-04-05 19:06:13 +0200
+
+ widget: Fix cursor blink timeout
+
+ Fix s/ms confusion to make the cursor stop blinking correctly.
+
+ Fixes: https://gitlab.gnome.org/GNOME/vte/-/issues/2622
+
+ src/vte.cc | 30 ++++++++++++++++--------------
+ src/vteinternal.hh | 12 ++++++------
+ src/widget.cc | 12 ++++++------
+ 3 files changed, 28 insertions(+), 26 deletions(-)
+
+commit 7fa3e6220de8aad9174e5976d73553a8073c6e4f
+Author: Alexander Shopov
+Date: 2023-03-31 10:11:16 +0000
+
+ Update Bulgarian translation
+
+ (cherry picked from commit 307a7363cbee8a84ed569bc07593721f9f7d10ae)
+
+ po/bg.po | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 3c8f66be867aca6656e4109ce880b6ea7431b895
+Author: Christian Persch
+Date: 2023-03-10 21:52:41 +0100
+
+ fonts: Keep the PangoLayout unchanged
+
+ The previous commit still wasn't completely fixing the problem, since
+ the FontInfo and the UnistrInfo are cached too, and m_layout will be
+ re-used when creating the next UnistrInfo, but the code in
+ pango_cairo_show_layout_line() requires the PangoLayout to still have
+ the same text as when it was created for the UnistrInfo.
+
+ To fix this, adopt the PangoLayout into the PangoLayoutLine cached in
+ the UnistrInfo, and create a new layout for next use.
+
+ Fixes: https://gitlab.gnome.org/GNOME/vte/-/issues/2606
+ Fixes: https://gitlab.gnome.org/GNOME/vte/-/issues/2620
+
+ src/fonts-pangocairo.cc | 19 ++++++++++++++++---
+ 1 file changed, 16 insertions(+), 3 deletions(-)
+
+commit 22b3a562d5c95f5911560131c9f6f2df70881e34
+Author: Christian Hergert
+Date: 2023-03-09 13:47:23 -0800
+
+ fonts: keep layout text available for cairo
+
+ When a cairo recording surface is used, it will memcpy() the text and
+ therefore expects the layout's text to be complete enough to contain each
+ glyph item's offset from base pointer.
+
+ This keeps that text around long enough to satisfy that requirement. It
+ will be reset on the next operation/call to get_unistr_info().
+
+ Fixes #2620
+
+ src/fonts-pangocairo.cc | 11 +++--------
+ 1 file changed, 3 insertions(+), 8 deletions(-)
+
+commit fb3220bee959d37f58daf702165f142ef9fab9f4
+Author: Christian Persch
+Date: 2023-03-08 20:36:48 +0100
+
+ all: Use defined values for defines
+
+ ... instead of defined/undefined names, so that -Wundef can catch
+ mistakes.
+
+ meson.build | 16 +++++++-------
+ src/app/app.cc | 4 ++--
+ src/bidi.cc | 14 ++++++-------
+ src/bidi.hh | 4 ++--
+ src/cxx-utils.hh | 2 +-
+ src/debug.cc | 8 +++----
+ src/debug.h | 4 ++--
+ src/decoder-cat.cc | 12 +++++------
+ src/fonts-pangocairo.cc | 8 +++----
+ src/fonts-pangocairo.hh | 2 +-
+ src/glib-glue.cc | 8 +++----
+ src/glib-glue.hh | 8 +++----
+ src/keymap.cc | 2 +-
+ src/missing.cc | 6 +++---
+ src/missing.hh | 6 +++---
+ src/parser-cat.cc | 38 ++++++++++++++++-----------------
+ src/pty.cc | 2 +-
+ src/reflect.c | 4 ++--
+ src/ring.cc | 20 +++++++++---------
+ src/ring.hh | 6 +++---
+ src/sixel-context.cc | 4 ++--
+ src/spawn.cc | 6 +++---
+ src/vte.cc | 56 ++++++++++++++++++++++++-------------------------
+ src/vtegtk.cc | 46 +++++++++++++++++++---------------------
+ src/vteinternal.hh | 29 +++++++++++++------------
+ src/vteseq.cc | 12 +++++------
+ src/vtestream-file.h | 16 +++++++-------
+ src/vtetypes.cc | 10 ++++-----
+ src/vtetypes.hh | 2 +-
+ src/widget.cc | 2 +-
+ 30 files changed, 177 insertions(+), 180 deletions(-)
+
+commit 75543c3b30dbf696b084e927dabbf52a41d32638
+Author: Christian Persch
+Date: 2023-03-08 20:36:47 +0100
+
+ all: Use __has_include
+
+ ... instead of checking for header presence from meson.build.
+
+ meson.build | 21 ---------------------
+ src/dumpkeys.c | 7 ++++---
+ src/mev.c | 2 +-
+ src/missing.cc | 3 ++-
+ src/pty.cc | 9 +++++----
+ src/vte.cc | 12 +++++++-----
+ src/vteaccess.cc | 2 +-
+ src/vtegtk.cc | 2 +-
+ src/vteseq.cc | 2 +-
+ 9 files changed, 22 insertions(+), 38 deletions(-)
+
+commit bd4f781d168859eb42943a23487422224124467c
+Author: Christian Persch
+Date: 2023-03-08 20:36:47 +0100
+
+ fonts: Don't declare this inline
+
+ src/fonts-pangocairo.cc | 2 ++
+ src/fonts-pangocairo.hh | 3 ---
+ 2 files changed, 2 insertions(+), 3 deletions(-)
+
+commit 9b41cd1014299d01111b64b705f013e28398821a
+Author: Khem Raj
+Date: 2023-03-02 22:57:00 +0100
+
+ pty: Do not typecast to GSpawnFlags
+
+ GSpawnFlags is enum with max value 1 << 15 which means it fits into
+ a short, however here we are oring VTE_SPAWN_* as well which have
+ higher values (by design). This fixes a compile error on clang 16
+ with the -Wenum-constexpr-conversion flag.
+
+ Fixes: https://gitlab.gnome.org/GNOME/vte/-/issues/2618
+
+ src/vtepty.cc | 24 ++++++++++++------------
+ 1 file changed, 12 insertions(+), 12 deletions(-)
+
+commit 0677e390b5ddb4b70fe75185cbfe8210ee096a7b
+Author: Christian Persch
+Date: 2023-02-28 18:34:05 +0100
+
+ fonts: Remove unnecessary context change call
+
+ Calling pango_context_changed() is not necessary here; all changes
+ to the context done above this have already done that.
+
+ src/fonts-pangocairo.cc | 2 --
+ 1 file changed, 2 deletions(-)
+
+commit 241df48d93dbefc1559a6a4e7cea8e60735661d8
+Author: Calvin Walton
+Date: 2023-02-28 18:34:05 +0100
+
+ widget: Add API to override font options
+
+ https://gitlab.gnome.org/GNOME/vte/-/issues/2573
+
+ meson.build | 18 ++++++-----
+ src/drawing-cairo.cc | 9 +++---
+ src/drawing-cairo.hh | 1 +
+ src/fonts-pangocairo.cc | 58 +++++++++++++++++++++++------------
+ src/fonts-pangocairo.hh | 8 +++--
+ src/meson.build | 2 ++
+ src/vte.cc | 18 +++++++++++
+ src/vte/vteterminal.h | 7 +++++
+ src/vtegtk.cc | 81 ++++++++++++++++++++++++++++++++++++++++++++++++-
+ src/vtegtk.hh | 1 +
+ src/vteinternal.hh | 3 ++
+ 11 files changed, 172 insertions(+), 34 deletions(-)
+
+commit c8baa84d8cdfe9be774e8dbf62426348025df699
+Author: Christian Persch
+Date: 2023-02-28 18:34:05 +0100
+
+ widget: Fix a deprecation warning
+
+ meson.build | 2 +-
+ src/clipboard-gtk.cc | 2 ++
+ 2 files changed, 3 insertions(+), 1 deletion(-)
+
+commit e343088f9d02be69c2ff377566b942553e6e21fd
+Author: Calvin Walton
+Date: 2023-02-28 18:34:05 +0100
+
+ widget: gtk4: Hint and quantize font metrics
+
+ With gtk4, the font metrics are unhinted by default. This causes
+ problems when measuring the font, since the width or height may
+ have fractional pixel values that get rounded up - resulting in
+ vte using integer cell sizes that are larger than would be
+ appropriate for the font - the usual side-effect is that horizontal
+ letter spacing looks too wide.
+
+ To fix this, set the cairo font option to hint vertical metrics,
+ which will result in the glyph ascent and descent values both being
+ integers.
+
+ Also make pango round glyph positions, so that the horizontal advance
+ of the glyphs will be integers appropirate for a renderer that doesn't
+ do sub-pixel glyph positioning.
+
+ Fixes: https://gitlab.gnome.org/GNOME/vte/-/issues/2573
+
+ src/cairo-glue.hh | 1 +
+ src/fonts-pangocairo.cc | 40 ++++++++++++++++++++++++++++++++--------
+ 2 files changed, 33 insertions(+), 8 deletions(-)
+
+commit e8dcb5e0187f10dce9bdc67af66cff31f8dc630b
+Author: Christian Persch
+Date: 2023-02-24 18:54:12 +0100
+
+ widget: Fix introspection API
+
+ Fixes: https://gitlab.gnome.org/GNOME/vte/-/issues/2617
+
+ src/vtegtk.cc | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit b92e9dc90841b6401707143122d05c9088720b5c
+Author: Sabri Ünal
+Date: 2023-02-22 11:51:27 +0000
+
+ Update Turkish translation
+
+ po/tr.po | 18 +++++++++---------
+ 1 file changed, 9 insertions(+), 9 deletions(-)
+
+commit abb7afd06c64769ff8754d2d82edd660cee16c64
+Author: Christian Persch
+Date: 2023-02-11 19:10:09 +0100
+
+ build: More detailed version info
+
+ meson.build | 10 +++++++++-
+ 1 file changed, 9 insertions(+), 1 deletion(-)
+
+commit dcfc0ec44df3084987a6faa0fdc03e6de717c682
+Author: Christian Persch
+Date: 2023-02-11 19:00:05 +0100
+
+ widget: Ensure the ringview is updated before converting coordinates
+
+ When checking event coordinates, make sure the ringview is updated
+ first, before converting the coordinates to grid coordinates.
+
+ This should fix the top crash on retrace.fedora.org for all vte-based
+ terminals (gnome-terminal, gnome-console, etc.).
+
+ Fixes: https://gitlab.gnome.org/GNOME/vte/-/issues/2577
+
+ src/vte.cc | 70 +++++++++++++++++++++++++++++++++++++++++++++++---------------
+ 1 file changed, 53 insertions(+), 17 deletions(-)
+
+commit 39ae174a159a5c50f250ad7547b056ea0a49859a
+Author: Christian Persch
+Date: 2023-02-03 21:52:20 +0100
+
+ widget: Update some Since annotations
+
+ src/vtegtk.cc | 24 ++++++++++++------------
+ 1 file changed, 12 insertions(+), 12 deletions(-)
+
+commit aa7689792918a9d4054e367139d166b146a5bd22
+Author: Christian Persch
+Date: 2023-02-03 21:45:46 +0100
+
+ build: Post branch version bump
+
+ meson.build | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 1d1896427fb28b0aa32f5dd401f2a86e97452cf1
+Author: Christian Persch
+Date: 2023-01-21 10:24:38 +0100
+
+ widget: gtk4: Translate control+key events when using multiple layouts
+
+ Same as for gtk3.
+
+ https://gitlab.gnome.org/GNOME/gtk/-/issues/5384
+
+ src/widget.cc | 31 ++++++++++++++++++++++++++++---
+ 1 file changed, 28 insertions(+), 3 deletions(-)
+
+commit 015ca4d2fdc57b625add7b23b0afa7193adc45a9
+Author: Martin Kühl
+Date: 2022-12-30 20:07:49 +0100
+
+ widget: Use correct end row for getting the selected text
+
+ The range is end-exclusive, so use end_row() instead of last_row().
+
+ Fixes: https://gitlab.gnome.org/GNOME/vte/-/issues/2584
+
+ src/vtegtk.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 2ee2495486e3266ab0037daad0b1cf220bd254b0
+Author: Christian Persch
+Date: 2022-12-20 22:11:56 +0100
+
+ widget: Add API to get text as HTML
+
+ Based on a patch by Lex Bailey .
+
+ Fixes: https://gitlab.gnome.org/GNOME/vte/-/issues/2589
+
+ src/glib-glue.hh | 16 ++++++
+ src/vte/vteterminal.h | 17 +++++-
+ src/vtegtk.cc | 147 ++++++++++++++++++++++++++++++++++++++++++--------
+ 3 files changed, 156 insertions(+), 24 deletions(-)
+
+commit 8d74fb84e2031a5f3373ef07f7862b0e49966a87
+Author: Christian Persch
+Date: 2022-12-20 22:11:56 +0100
+
+ parser: Add more OSC codes
+
+ src/parser-osc.hh | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit a36843510ae24b4687840efd4f03afa6bac0bafe
+Author: Christian Persch
+Date: 2022-12-20 22:11:56 +0100
+
+ widget: clipboard: Add missing else
+
+ src/clipboard-gtk.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit bdb309bd0470fd5780039e72868e949291cc2791
+Author: Christian Persch
+Date: 2022-12-20 22:11:55 +0100
+
+ parser: modes: Mark modes that should not be reset by DECSTR
+
+ src/modes.py | 11 ++++++-----
+ 1 file changed, 6 insertions(+), 5 deletions(-)
+
+commit eaf5d30427bfc60f2a5eedd44d97062d57a76042
+Author: Christian Persch
+Date: 2022-12-20 22:11:55 +0100
+
+ parser: Update list of known OSC codes
+
+ ... with new codes from xterm master.
+
+ src/parser-osc.hh | 3 +++
+ 1 file changed, 3 insertions(+)
+
+commit adc5e8fa46cd328354570738aeb3418562b7695e
+Author: Christian Persch
+Date: 2022-11-29 22:17:36 +0100
+
+ pty: Remove useless setenv calls
+
+ Spawning will always provide its own envp which will replace the
+ environment when execve()ing.
+
+ https://gitlab.gnome.org/GNOME/vte/-/issues/271
+
+ src/pty.cc | 9 ---------
+ 1 file changed, 9 deletions(-)
+
+commit c6ad5731719ca21ba2fbe6edc63da47916dc056f
+Author: Vasil Pupkin <3abac@3a.by>
+Date: 2022-11-27 20:27:12 +0000
+
+ Update Belarusian translation
+
+ po/be.po | 77 +++++++++++++++++++++++++++-------------------------------------
+ 1 file changed, 32 insertions(+), 45 deletions(-)
+
+commit edddaaea9d35011ed1c74a7caf75fe639ebddaa7
+Author: Noa
+Date: 2022-11-16 20:39:44 +0100
+
+ widget: Modernise HTML output
+
+ Use instead of for copy-as-html functionality
+
+ Fixes: https://gitlab.gnome.org/GNOME/vte/-/issues/2604
+
+ src/vte.cc | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+commit 61e705bbd9d92670cca7a8519b62133033791936
+Author: Matthew Rose
+Date: 2022-11-16 20:35:22 +0100
+
+ missing: Add better fdwalk implementation for darawin
+
+ Port of glib!3040 to vte.
+
+ Fixes: https://gitlab.gnome.org/GNOME/vte/-/issues/2602
+
+ src/missing.cc | 35 +++++++++++++++++++++++++++++++++++
+ 1 file changed, 35 insertions(+)
+
+commit fc3c7b4358cdfacec0285a84971a27b17b7498b5
+Author: Christian Persch
+Date: 2022-11-15 00:31:51 +0100
+
+ build: Print warning on unstable release
+
+ meson.build | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+commit 862561bcbd1547783aca0c56d799cadc087bb2b5
+Author: Christian Persch
+Date: 2022-11-15 00:31:51 +0100
+
+ build: Add define for openbsd
+
+ meson.build | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+commit 8ef3f6b2f8043d28cbc82520eb094f09333b26ae
+Author: Christian Persch