| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2021-07-12 | Rename NCursesUI to TerminalUI | Maxime Coste | |
| 2021-07-12 | Replace ncurses with a naive custom terminal backend | Maxime Coste | |
| 2021-04-05 | [feat] add ui_options: padding_char & padding_fill | nojhan | |
| In some cases, it may be difficult to easily spot the area out of the buffer (bad color scheme, small font, superimposed windows). This patch adds two ncurses ui_options to bypass this problem: - `ncurses_padding_char`, to configure the padding character, - `ncurses_padding_fill`, to indicate whether to fill the padding line (or to display a single character). The default config is the legacy one (a single "~"). | |||
| 2020-03-27 | Untie focus reporting and mouse handling | Maxime Coste | |
| 2019-11-22 | Add support for markup in info boxes | Maxime Coste | |
| Fixes #2552 | |||
| 2019-11-13 | Re-merge clear_to_eol in draw | Maxime Coste | |
| 2019-11-05 | Split clearing to end of line out of NCursesUI::Window::draw | Maxime Coste | |
| Explicitely clear instead of relying on a brittle heuristic. | |||
| 2019-09-26 | Fix some clang warnings | Maxime Coste | |
| 2019-09-26 | Remove unneeded NCursesUI::Window::mark_dirty and redraws | Maxime Coste | |
| A bug in client.cc was always forcing full redraws of the windows, leading to much more terminal output traffic than necessary. | |||
| 2019-09-25 | Additional NCursesUI code cleanups | Maxime Coste | |
| 2019-09-25 | Avoid unnecessary allocations in NCursesUI::Window::draw calls | Maxime Coste | |
| Pass an ArrayView<DisplayAtom> instead of a DisplayLine& so that the newly common case of passing a single atom does not require constructing a Vector. | |||
| 2019-09-25 | Refactor NCursesUI::Window to reduce the exposed methods | Maxime Coste | |
| This should make an alternate implementation simpler as less state has to be tracked. | |||
| 2019-09-25 | Do not set O_NONBLOCK on stdin | Maxime Coste | |
| It is not necessary, and impacts also writing to stdout, leading to broken display on old ncurses versions. Fixes #3087 | |||
| 2019-09-24 | Restore stdin status flags on suspend and quit | Maxime Coste | |
| Those flags are shared with the parent process, so the non-block flag added impacts their execution. | |||
| 2019-09-16 | Restore palette before suspend | Maxime Coste | |
| 2019-09-16 | Fix multi-client server suspend | Maxime Coste | |
| 2019-09-16 | Fix broken input after suspend | Maxime Coste | |
| 2019-09-16 | Setup terminal raw mode without going through ncurses | Maxime Coste | |
| 2019-09-16 | Get rid of ncurses based input parsing in favor of custom code | Maxime Coste | |
| 2019-09-07 | Rework custom CSI parsing code and add support for SGR (1006) mouse | Maxime Coste | |
| This will support parsing mouse coordinates bigger than 255 - 32. And get correct release support. | |||
| 2019-09-05 | Extract most ncurses calls into NCursesUI::Window methods | Maxime Coste | |
| Try to isolate ncurses as much as possible to explore alternate terminal UI implementation. | |||
| 2019-08-19 | Make scrolling speed configurable | Maxime Coste | |
| The UI now can send a 'Scroll' key, whose value is the scrolling amount encoded as a signed integer. This replaces the MouseWheelUp and MouseWheelDown keys. The NCursesUI now has a ncurses_wheel_scroll_amount ui_option that controls that amount, it can be negative to swap scrolling direction. Fixes #3045 | |||
| 2018-12-09 | Refactor parsing of keys and introduce a builtin key parser mode | Maxime Coste | |
| By setting the ncurses_builtin_key_parser ui_option to true, we can disable ncurses parsing of key strokes to get less portable parsing but support for more complex modifiers. | |||
| 2018-06-20 | Do not draw menu if it would hide prompt content | Maxime Coste | |
| 2018-06-19 | Change Search completion to display on top of the modeline | Maxime Coste | |
| 2018-06-11 | Add position offset to Window to limit moves with search menu style | Maxime Coste | |
| Window can be resized with an "offset_pos" flag, which means that the resize took place on the top left corner of the window, leading to a change in current window position. This is treated as temporary and the position change is stored in a m_position_offset field. That allows the ncurses UI to offset the position when it displays a Search menu, so that the window does not constantly scroll when the search menu open/closes. The window will only scroll if it needs to in order to keep the main selectin visible. | |||
| 2018-06-03 | Add MenuStyle::Search that prevents the menu from hiding buffer text | Maxime Coste | |
| Fixes #2042 | |||
| 2018-04-29 | Rework the way UI can trigger a client quitting | Maxime Coste | |
| Add a UserInterface::is_ok method and return false on SIGHUP/stdin closing/socket dropping This should be cleaner and more robust than the previous SIGHUP handling code. Fixes #1594 | |||
| 2018-04-11 | NCursesUI: Add support for shifted function keys | Maxime Coste | |
| Shifted function keys are not well standardized around terminals, Shift F(N) usually returns F(X) + N, with X=12 on xterm, X=10 on rxvt-unicode... Default to X=12 and make it configuable through the ncurses_shift_function_key ui_option. This fixes what #1898 tried to. | |||
| 2017-04-12 | Place hardware terminal cursor at the current main cursor/prompt cursor position | Maxime Coste | |
| Fixes #1318 Also fixes https://gitlab.com/gnachman/iterm2/issues/5408 | |||
| 2017-03-07 | Replace IdMap with HashMap | Maxime Coste | |
| 2017-03-07 | Replace uses of UnorderedMap with HashMap | Maxime Coste | |
| 2017-01-08 | Apply clang-tidy modernize to the codebase | Maxime Coste | |
| 2016-12-30 | Add a ncurses_change_colors option that can disable color palette change | Maxime Coste | |
| Closes #1057 | |||
| 2016-12-10 | Fix one definition rule violation in ncurses_ui.hh | Maxime Coste | |
| The memory domain of Vector<DisplayBuffer> was different depending on if display_buffer.hh has been included or not. | |||
| 2016-11-29 | Simplify greatly UI input handling | Maxime Coste | |
| This round trip through an input callback expected to call is_key_available and get_key was overcomplicated, just send the keys as they arrive, the client is already buffering due to urgent event mode. | |||
| 2016-11-14 | More correct handling of SIGHUP while suspended | Maxime Coste | |
| Fixes #833 | |||
| 2016-10-01 | Support codepoints of variable width | Maxime Coste | |
| Add a ColumnCount type and use it in place of CharCount whenever more appropriate, take column size of codepoints into account for vertical movements and docstring wrapping. Fixes #811 | |||
| 2016-04-11 | Remove padding control options from ncurses ui | Maxime Coste | |
| 2016-04-11 | Merge remote-tracking branch 'lenormf/buffer-padding' | Maxime Coste | |
| 2016-03-07 | Handle <c-l> redrawing on the server side | Maxime Coste | |
| That way we can force a redraw at any moment, including during batch execution. | |||
| 2016-02-27 | Slight refactor in ncurses_ui, group info and menu data in structs | Maxime Coste | |
| 2016-02-17 | Cleanup/fix some code | Frank LENORMAND | |
| 2016-02-17 | Allow users to chose how the buffers are padded | Frank LENORMAND | |
| 2015-12-05 | Improve info box placement behaviour in some corner cases | Maxime Coste | |
| 2015-11-05 | Change ncurses wheel down default button to 5 | Maxime Coste | |
| 2015-10-13 | Restore info box after a resize as well | Maxime Coste | |
| Fixes #425 | |||
| 2015-10-13 | Try to restore menu after a resize | Maxime Coste | |
| 2015-10-08 | Store color/color pairs mapping in the ncurses ui instance | Maxime Coste | |
| 2015-10-05 | Use DisplayLine for menu choices | Maxime Coste | |
