This reverts commit 8dd8f55088.
The make_unique function in util/memory.hh is not at all like
std::make_unique. The former is just a plain wrapper for the unique_ptr
constructor and makes the resulting unique_ptr take ownership of the
instance identified by the given pointer.
std::make_unique on the otherhand allocates a new instance of a given
type and makes creates a unique_ptr that has ownership of that instance.
So what the patch did was to allocate a char pointer, that did not
point at the string we're interested in, but instead points at the
pointer that points to that string. This means that the string that was
meant to be freed by the unique_ptr upon leaving its scope leaks.
Additionally, the check in open_selection() wasn't adapted to handle
the extra layer of indirection added by this change, so it always
assumed that there was some selection, and tried to open it, completely
breaking mouse usage.
vte_terminal_hyperlink_check_event only matches explicit OSC 8 marked
hyperlinks, so we still need to fall back to the existing check_match
function for the vast majority of URLs to be clickable.
Signed-off-by: Johannes Löthberg <johannes@kyriasis.com>
vte_terminal_match_add_gregex, vte_terminal_search_get_gregex and
vte_terminal_search_set_gregex are all deprecated and replaced with the
VTeRegex API which uses PCRE2.
Closes: #395
b and B set wrong cursor position in word.
Instead of setting the cursor position to the first character
the position is was set to first character +1.
vte3 0.46 introduced an assertion valid_color which checks if the alpha
channel is set. The alpha channel is actually not used in
vte_terminal_set_colors.
`Ctrl-=` and `Ctrl-+` commands did not work on non-US like keyboard
layouts because `=` and `+` are produced differently in other layouts
e.g. `Shift` is required/not required respectively. The opposite of US
like layouts.
This patch fixes the issue by not checking if `Shift` is pressed/not
pressed when it's irrelevant to the command. Instead it uses the
`keyval` from GDK directly which has been transformed depending on
keyboard layout and pressed modifiers.
Fix#371
Remove the search_panel_info's panel, which was an alignment
widget for the entry widget. Since the entry widget can now
set alignment using it's margin properties.
Replace gtk_alignment_set_padding with gtk_widget_set_margin_*.
These changes make termite depend on GTK3 >= 3.14.