#14862: vte-0.64.0 (currency update)
-------------------------+-----------------------
Reporter: xry111 | Owner: renodr
Type: enhancement | Status: assigned
Priority: normal | Milestone: 10.2
Component: BOOK | Version: SVN
Severity: normal | Resolution:
Keywords: |
-------------------------+-----------------------
Comment (by renodr):
Lots of GTK4 related work in here
{{{
build: Post branch version bump
build: Post branch version bump
glade: Set icon prefix
Update Slovak translation
Update Chinese (Taiwan) translation
widget: Implement GtkScrollableInterface::get_border
vte.sh: Avoid warnings if shell is configured with 'set -u'
spawn: Remove current directory from fallback search PATH
lib: Abort when alloc returns nullptr
Allocating memory with glib (g_new, etc) will abort the process
when memory allocation fails. Do the same when using the C++
allocator (operator new, etc) throws bad_alloc.
gtk: Allow passing null callback to spawn_async
pty: Allow null callback for spawn_async
widget: Reference terminals while processing
In some language bindings, the callbacks we emit during processing
may cause their GC to run, which could finalise a VteTerminal,
removing it from g_active_terminals list while we're iterating
over that list.
widget: Remove GdkAtom usage where possible
widget: Move Event classes to platform
widget: Simplify mouse event translation
Just throw on unexpected event type.
widget: Use named cursors by default
widget: Fix missing include
parser: Sort command list
parser: Generate the sequences and command lists with a script
This is in preparation for further parser changes which
would be hard to do when relying only on the C preprocessor
to transform the sequence and command lists.
terminal: Create ProcessingContext struct
Move local variables used in process_incoming_{utf8,pcterm} into a
struct.
This is in preparation of upcoming refactoring.
terminal: Process one chunk at a time
Move the common code out of the data syntax specific processing
functions,
and call them separately for each chunk.
This is in preparation of upcoming refactoring.
terminal: Reindent
Remove excessive indentation left over from recent refactoring.
terminal: Don't stop processing on EOS chunk
There may be more chunks after the EOS chunk since the terminal may
already have another PTY and have read data from it.
terminal: Prepare for processing only part of a chunk
Copy the last byte of the preceding chunk (except for EOS chunks) to
the next chunk's dataminusone. This will allow rewinding the stream
during processing by one byte, without keeping the preceding chunk
around.
This is in preparation of upcoming refactoring.
parser: Store the string terminator for DCS sequences
This will be used in a subsequent commit.
parser: cat: Factor processing out into its own function
This will be used in later commits.
tests: Rename sixel fuzzer
emulation: Fix DA1 response with SIXEL disabled
Omit SIXEL from the DA1 response when SIXEL is enabled at build time
but disabled at runtime.
debug: Make 'image' debug flag work
widget: Remove excessive const
parser: Silence missing declaration warning
lib: Add infrastructure for data syntax switching
Add a way for a sequence handler to signal to the processing loop
that it has switched data syntax, and thus the processing loop must
return
so the handler for the new data syntax can take over.
modes: Add DECSDM mode
lib: Add new SIXEL parser and test suite
parser: cat: Plug in new SIXEL parser
Use the new SIXEL parser to descend into parsing SIXEL data.
Also implement linter support for SIXEL to catch a few common problems.
lib: Add new SIXEL context and test
lib: Replace SIXEL handling
Remove the old sixel parser and context, and move over to the new
parser
and context.
lib: Keep track of unscaled cell size and report window size unscaled
This allows sixel image dimensions to be consistent when printed at
different zoom levels.
lib: sixel: Also reset data capacity when dropping the buffer
parser: Properly refer to python3
lib: Fix typo in comment
lib: Add missing include
std::malloc/free require <cstdlib>.
lib: Add missing include
widget: Manage the Widget implementation through a shared_ptr
widget: Move clipboard handling to Widget
Move clipboard handling into its own Clipboard class to make
Terminal independent of the platform's clipboard handling.
fonts: Don't use deprecate gdk threads timeout API
widget: Remove unused function
widget: Use GdkEvent accessor function
draw: Move drawing images after translating the cairo context
This avoids having to offset the images manually.
sixel: Pass colour components to Context::prepare
The Context's colour storage format is internal, so pass the fg and
bg colours components individually.
modes: Assign enum values to non-fixed modes first
This allows all settable modes to have values that fit into the
storage,
while fixed modes get assigned enum values after all settable modes.
lib: Add missing nullable annotation to spawn child setup functions
lib: Simplify smart pointers for glib/pango/pcre types
lib: Add getter support for smart pointer
app: Use smart pointers
parser: cat: Use more smart pointers
decoder: cat: Use more smart pointers
parser: Update sequences with additions from recent xterm
widget: Use safe getter
spawn: Clarify ownership transfer
Pass unqiue_ptr<SpawnOperation> to ::run_async to make it clear that it
takes ownership of the operation.
sixel: Remove unnecessary include
emulation: Implement XTERM_SMGRAPHICS sequence
lib: Move ProcessingContext up
... so that it can be used earlier.
lib: sixel: Update bbox when inserting an image
This should fix a problem where sometimes the image wouldn't scroll
into view.
emulation: sixel: Implement DECSET 1070
Private mode 1070 controls whether each SIXEL image gets a freshly
initialised
set of colour registers, or if changes from one SIXEL image persist to
the next.
build: Add config.h as dependency to all sources
app: Replace GtkBox with GtkGrid
sixel: Fix unused variable warning when not building with sixel enabled
app: Fork UI files for gtk3
Unfortunately, gtk4-build-tool 3to4 doesn't actually produce a working
UI file for gtk4, so it'll be necessary to adjust them by hand. Fork
the UI files so that they have different names for gtk3 (and later
gtk4).
widget: Record the press count for button press events
Replace double/triple click events with a press_count on the generic
button press event.
Update POTFILES.skip
widget: Remove unused event timestamp
lib: Use pragma once
widget: Make scroll event its own class
sixel: Store device-independent pixel surfaces in Image
widget: Move GdkEvent from EventBase to KeyEvent
Only the key events handling needs to access the native event anymore.
widget: Scroll events have no button
app: Fix paste action sensitivity
widget: Don't use scroll event's position
Use the last known mouse position in when sending the mouse
coordinates.
lib: Use bitset to store pending change flags
parser: Add some more charsets
modes: Add some more private modes
parser: Add some more known sequences
sixel: Use special coulor registers for default foreground and background
... and implement background colour transparency using the second
parameter to DECSIXEL.
app: Fix background image drawing
Use the option's background alpha value, *not* the value retrieved from
vte_terminal_get_color_background_for_draw() since that is set to zero
in this case.
lib: Sanitise the passed-in font description
Remove weight and style if set, so that SGR attributes can work.
Revert "sixel: Use special coulor registers for default foreground and
background"
There is nothing technically wrong with this commit, but it was a
heavily amended
commit based on squashing two commits by the Author, and I forgot to
change the Author
to myself. The next commit will re-commit this with proper attribution.
sixel: Use special coulor registers for default foreground and background
... and implement background colour transparency using the second
parameter to DECSIXEL.
It's not clear from the available documentation of how the 2nd
parameter
to DECSIXEL *should* work, but based on discussion in issue #253, this
patch
makes vte use the value "1" as meaning uninked pixels should be
transparent,
and any other value (including the default) to mean that uninked pixels
should use the current SGR background colour.
This also fixes an issue where the user-addressable colour register 0
was
being overwritten with the current SGR foreground colour.
Based on patches by Hans Petter Jansson <[email protected]>.
sixel: Use m_defaults to retrieve the SGR colours
This takes into account the SGR 7 (reverse) attribute, which
m_color_defaults doesn't carry.
all: Use pragma once
all: Use std::swap
Fix build
lib: Drop wrong use of volatile
lib: Use sysconf on macos to get the upper limit of number of FDs
lib: Fix unused variable warning when not using getrlimit
docs: Add index for API new in 0.64
widget: Add API to disable fallback scrolling
Ordinarily, when the VteTerminal hasn't consumed a scroll event
otherwise
(e.g. by sending the event to the application), it falls back to
perform
a history scroll. When the terminal is added to a GtkScrolledWindow,
this
result in the scrolled window not performing kinetic scrolling.
This commit adds API (and GObject property) to VteTerminal to disable
the
fallback scrolling.
Based on a patch by Tony Houghton <[email protected]>.
Update Esperanto translation
Revert "docs: Add index for API new in 0.64"
docs: Add index for API new in 0.64
ring: Fix image memory leak
... and various code correctness and style issues.
Use unique_ptr instead of naked new/delete, and use a std::multimap for
m_image_by_top_map.
sixel: Be extra safe when advancing the scanline position
sixel: Fix processing of DECSIXEL sequence when using UTF-8 C1 controls
The matching-controls check was getting the wrong introducer value.
widget: Fix clipboard types
widget: Add gtk glue
clipboard: Use smart pointers
app: Use smart pointer
app: Fix search next/prev button sensitivity
pty: Add support for PTY packet mode on sysv-like systems
widget: Fix idle child-exited signal after dispose
sixel: Ignore DECSIXEL sequence when OR-mode is requested
parser: cat: Make linter warn on unsupported DECSIXEL OR-mode
widget: Limit select-all to the writable region not including the
scrollback
Including the scrollback in select-all makes it too easy to select so
much
data that putting it on the clipboard either hangs the process for a
long time
or causes a crash (gnome-terminal#288).
Update Catalan translation
parser: Remove unused enum
widget: Improve font sanitisation
Allow bold font to be used for normal attr when bold-is-bright is
enabled, and allow weights up to medium for normal attr.
widget: Improve font sanitisation
Clamp the font weight instead of simply unsetting any weight specified.
Update Norwegian Bokmål translation
emulation: Add some research notes
all: Clean up licence headers
Unify the licence headers so that all same-licensed files use the exact
same text.
For some time now, libvte has been effectively LGPL3+ due to newer
files being
LGPL3+ only while some older files were still nominally LGPL2+ as per
their
licence headers. Exercise the "or (at your option) any later version"
upgrade
option to henceforth use, modify and distribute all these files under
LGPL3+
only.
modes: Fix typo
parser: Add new sequence from xterm 362
emulation: Use the correct enum
parser: modes: Generate modes-*.hh from script and data
font: pangocairo: Use PangoFontMetrics to measure the font
spawn: Use close_range to set CLOEXEC on all FDs
... when available; otherwise fall back to iterating over /proc/self/fd
as previously.
lib: Move missing defs to missing.hh and update
Revert "font: pangocairo: Use PangoFontMetrics to measure the font"
keymap: Use int8_t for the length of the short keymap strings
... instead of ssize_t.
parser: cat: Make linter warn on unsupported RLogin DECGCI extension
lib: Replace deprecated std::is_pod
... in preparation of requiring C++20.
sixel: Fix omitted data syntax reset when mismatched controls
At the end of parsing the sixel data, we always need to
pop_data_syntax(). The code was incorrectly omitting that in
the case of mismatched controls.
parser: cat: Make linter warn on unsupported RLogin DECSIXEL ID extension
lib: Fix indentation
parser: Correct charset designation sequences with final byte 7/14
Update Punjabi translation
font: pangocairo: Use PangoFontMetrics to measure the font
sixel: Add missing ifdef
sixel: Add missing ifdef
parser: DECBI is NOP
lib: Typo fix
all: Remove SIXEL support from stable branch
The SIXEL support is not in a releasable state with
important and fundamental problems still unsolved.
Version 0.63.91
build: Post release version bump
app: Add debug option to track clipboard targets
Trying to help track down the clipboard issue in mutter#1469 /
gnome-shell#3052 / mutter#1656
Update Galician translation
Update Finnish translation
widget: Don't implement GtkScrollableInterface:get_border
app: Use gboolean for GOptionArg entries of type G_OPTION_ARG_NONE
build: Add dist script
build: Version 0.64.0
}}}
--
Ticket URL: <http://wiki.linuxfromscratch.org/blfs/ticket/14862#comment:6>
BLFS Trac <http://wiki.linuxfromscratch.org/blfs>
Beyond Linux From Scratch
--
http://lists.linuxfromscratch.org/listinfo/blfs-book
FAQ: http://www.linuxfromscratch.org/blfs/faq.html
Unsubscribe: See the above information page