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.
hanetzer in #gentoo-chat on freenode reported errors like this when building
termite-12:
tic -x termite.terminfo -o /tmp/portage/x11-terms/termite-9999/image//usr/share/terminfo
tic: Too many file names. Usage:
tic [-e names] [-o dir] [-R name] [-v[n]] [-V] [-w[n]] [-1aCDcfGgIKLNrsTtUx] source-file
Moving the input filename to the end of the tic invocation seems to resolve
this for them, but I am unable to reproduce the issue.
VTE is not making any attempt to maintain API stability. The following
changes to the API impacted Termite, despite it avoiding deprecated
functions:
* vte_pty_set_term removed (hopefully without an impact...)
* vte_terminal_get_child_exit_status replaced with new signal parameter
* beep signal -> bell signal
* vte_char_attributes -> VteCharAttributes
* sync suffix added to I/O functions along with some parameter changes
* rgba suffix removed from all color functions
* inner-border attribute replaced with GtkStyleContext padding
* vte_terminal_set_font_from_string removed, use Pango directly
* vte_terminal_is_word_char removed - is_word_char copied to Termite
* vte_terminal_set_word_chars removed - feature dropped
* vte_terminal_set_visible_bell removed - feature dropped
Support for text selection is still not supported upstream. The required
API is tiny and does not expose internal details. Despite the lack of a
compelling reason to leave it out like a backwards compatibility risk,
the patch has been left to rot on the bug tracker.
The vte_terminal_get_user_shell_with_fallback API was also removed,
although it was an internal API and Termite was only using it for
convenience. The functionality has been moved inside Termite.
Closes#187
Add the U8#1 option to the terminfo file, this is an extended option in
the terminfo specifying support for utf8 line graphics.
This fixes some issues with ncurses not rendering utf8 glpyhs for it's
extended ASCII set when termite supports utf8 just fine.