mirror of
https://github.com/kovidgoyal/kitty.git
synced 2024-09-11 14:45:31 +03:00
Add the CHANGELOG to the docs
This commit is contained in:
parent
bbc1430420
commit
611d95f0f7
568
CHANGELOG.rst
568
CHANGELOG.rst
@ -1,567 +1 @@
|
|||||||
Changelog
|
See https://sw.kovidgoyal.net/kitty/changelog.html
|
||||||
==============
|
|
||||||
|
|
||||||
kitty is a feature full, cross-platform, *fast*, GPU based terminal emulator.
|
|
||||||
|
|
||||||
version 0.10.1 [2018-05-24]
|
|
||||||
------------------------------
|
|
||||||
|
|
||||||
- Add a kitten to easily ssh into servers that automatically copies the
|
|
||||||
terminfo files over. ``kitty +kitten ssh myserver``.
|
|
||||||
|
|
||||||
- diff kitten: Make the keyboard shortcuts configurable
|
|
||||||
(`#563 <https://github.com/kovidgoyal/kitty/issues/563>`_)
|
|
||||||
|
|
||||||
- Allow controlling *background_opacity* via either keyboard shortcuts or
|
|
||||||
remote control. Note that you must set *dynamic_background_opacity yes* in
|
|
||||||
kitty.conf first. (`#569 <https://github.com/kovidgoyal/kitty/issues/569>`_)
|
|
||||||
|
|
||||||
- diff kitten: Add keybindings to scroll by page
|
|
||||||
|
|
||||||
- diff kitten: Fix incorrect syntax highlighting for a few file formats such as
|
|
||||||
yaml
|
|
||||||
|
|
||||||
- macOS: Fix regression that caused the *macos_option_as_alt* setting to always
|
|
||||||
be disabled for all OS windows in a kitty instance after the first window
|
|
||||||
(`#571 <https://github.com/kovidgoyal/kitty/issues/571>`_)
|
|
||||||
|
|
||||||
- Fix Ctrl+Alt+Space not working in normal and application keyboard modes
|
|
||||||
(`#562 <https://github.com/kovidgoyal/kitty/issues/562>`_)
|
|
||||||
|
|
||||||
|
|
||||||
version 0.10.0 [2018-05-21]
|
|
||||||
------------------------------
|
|
||||||
|
|
||||||
- A diff kitten to show side-by-side diffs with syntax highlighting and support
|
|
||||||
for images. See `diff README
|
|
||||||
<https://github.com/kovidgoyal/kitty/blob/master/kittens/diff/README.asciidoc>`_.
|
|
||||||
|
|
||||||
- Make windows in the various kitty layouts manually resizable. See the
|
|
||||||
`Layouts section of the README
|
|
||||||
<https://github.com/kovidgoyal/kitty#layouts>`_ for details.
|
|
||||||
|
|
||||||
- Implement support for the SGR *faint* escape code to make text blend
|
|
||||||
into the background (`#446 <https://github.com/kovidgoyal/kitty/issues/446>`_).
|
|
||||||
|
|
||||||
- Make the hints kitten a little `smarter
|
|
||||||
<https://github.com/kovidgoyal/kitty/commit/ad1109b6fe0a6802ca4f77182a7a0b36086b3e9f>`_,
|
|
||||||
so that URLs that stretch over multiple lines are detected. Also improve
|
|
||||||
detection of surrounding brackets/quotes.
|
|
||||||
|
|
||||||
- Make the kitty window id available as the environment variable
|
|
||||||
`KITTY_WINDOW_ID` (`#532 <https://github.com/kovidgoyal/kitty/issues/532>`_).
|
|
||||||
|
|
||||||
- Add a "fat" layout that is similar to the "tall" layout but vertically
|
|
||||||
oriented.
|
|
||||||
|
|
||||||
- Expand environment variables in config file include directives
|
|
||||||
|
|
||||||
- Allow programs running in kitty to `read/write from the clipboard
|
|
||||||
<https://github.com/kovidgoyal/kitty/commit/889ca7791244253cb08fbc3eca8883a87fb943a7>`_.
|
|
||||||
By default only writing is allowed. This feature is supported in many
|
|
||||||
terminals, search for `OSC 52 clipboard` to find out more about using it.
|
|
||||||
|
|
||||||
- Fix moving cursor outside a defined page area incorrectly causing the cursor
|
|
||||||
to be placed inside the page area. Caused incorrect rendering in neovim, in
|
|
||||||
some situations (`#542 <https://github.com/kovidgoyal/kitty/issues/542>`_).
|
|
||||||
|
|
||||||
- Render a couple more powerline symbols directly, bypassing the font
|
|
||||||
(`#550 <https://github.com/kovidgoyal/kitty/issues/550>`_).
|
|
||||||
|
|
||||||
- Fix ctrl+alt+<special> not working in normal and application keyboard (`#548
|
|
||||||
<https://github.com/kovidgoyal/kitty/issues/548>`_).
|
|
||||||
|
|
||||||
- Partial fix for rendering Right-to-left languages like Arabic. Rendering of
|
|
||||||
Arabic is never going to be perfect, but now it is at least readable.
|
|
||||||
|
|
||||||
- Fix Ctrl+backspace acting as plain backspace in normal and application
|
|
||||||
keyboard modes (`#538 <https://github.com/kovidgoyal/kitty/issues/538>`_).
|
|
||||||
|
|
||||||
- Have the paste_from_selection action paste from the clipboard on platforms
|
|
||||||
that do not have a primary selection such as Wayland and macOS
|
|
||||||
(`#529 <https://github.com/kovidgoyal/kitty/issues/529>`_)
|
|
||||||
|
|
||||||
- Fix cursor_stop_blinking_after=0 not working (`#530 <https://github.com/kovidgoyal/kitty/issues/530>`_)
|
|
||||||
|
|
||||||
|
|
||||||
version 0.9.1 [2018-05-05]
|
|
||||||
------------------------------
|
|
||||||
|
|
||||||
- Show a bell symbol on the tab if a bell occurs in one of the windows in the tab and
|
|
||||||
the window is not the currently focused window
|
|
||||||
|
|
||||||
- Change the window border color if a bell occurs in an unfocused window. Can
|
|
||||||
be disabled by setting the bell_border_color to be the same as the
|
|
||||||
inactive_border_color.
|
|
||||||
|
|
||||||
- macOS: Add support for dead keys
|
|
||||||
|
|
||||||
- Unicode input: When searching by name search for prefix matches as well as
|
|
||||||
whole word matches
|
|
||||||
|
|
||||||
- Dynamically allocate the memory used for the scrollback history buffer.
|
|
||||||
Reduces startup memory consumption when using very large scrollback
|
|
||||||
buffer sizes.
|
|
||||||
|
|
||||||
- Add an option to not request window attention on bell.
|
|
||||||
|
|
||||||
- Remote control: Allow matching windows by number (visible position).
|
|
||||||
|
|
||||||
- macOS: Fix changing tab title and kitty shell not working
|
|
||||||
|
|
||||||
- When triple-clicking select all wrapped lines belonging to a single logical line.
|
|
||||||
|
|
||||||
- hints kitten: Detect bracketed URLs and dont include the closing bracket in the URL.
|
|
||||||
|
|
||||||
- When calling pass_selection_to_program use the current directory of the child
|
|
||||||
process as the cwd of the program.
|
|
||||||
|
|
||||||
- Add macos_hide_from_tasks option to hide kitty from the macOS task switcher
|
|
||||||
|
|
||||||
- macOS: When the macos_titlebar_color is set to background change the titlebar
|
|
||||||
colors to match the current background color of the active kitty window
|
|
||||||
|
|
||||||
- Add a setting to clear all shortcuts defined up to that point in the config
|
|
||||||
file(s)
|
|
||||||
|
|
||||||
- Add a setting (kitty_mod) to change the modifier used by all the default
|
|
||||||
kitty shortcuts, globally
|
|
||||||
|
|
||||||
- Fix Shift+function key not working
|
|
||||||
|
|
||||||
- Support the F13 to F25 function keys
|
|
||||||
|
|
||||||
- Don't fail to start if the user deletes the hintstyle key from their
|
|
||||||
fontconfig configuration.
|
|
||||||
|
|
||||||
- When rendering a private use unicode codepoint and a space as a two cell
|
|
||||||
ligature, set the foreground colors of the space cell to match the colors of
|
|
||||||
the first cell. Works around applications like powerline that use different
|
|
||||||
colors for the two cells.
|
|
||||||
|
|
||||||
- Fix passing @text to other programs such as when viewing the scrollback
|
|
||||||
buffer not working correctly if kitty is itself scrolled up.
|
|
||||||
|
|
||||||
- Fix window focus gained/lost events not being reported to child programs when
|
|
||||||
switching windows/tabs using the various keyboard shortcuts.
|
|
||||||
|
|
||||||
- Fix tab title not changing to reflect the window title when switching between different windows in a tab
|
|
||||||
|
|
||||||
- Ignore -e if it is specified on the command line. This is for compatibility
|
|
||||||
with broken software that assumes terminals should run with an -e option to
|
|
||||||
execute commands instead of just passing the commands as arguments.
|
|
||||||
|
|
||||||
|
|
||||||
version 0.9.0 [2018-04-15]
|
|
||||||
------------------------------
|
|
||||||
|
|
||||||
- A new kitty command shell to allow controlling kitty via commands. Press
|
|
||||||
`ctrl+shift+escape` to run the shell.
|
|
||||||
|
|
||||||
- The hints kitten has become much more powerful. Now in addition to URLs you
|
|
||||||
can use it to select word, paths, filenames, lines, etc. from the screen.
|
|
||||||
These can be inserted into the terminal, copied to clipboard or sent to
|
|
||||||
external programs.
|
|
||||||
|
|
||||||
- Linux: Switch to libxkbcommon for keyboard handling. It allows kitty to
|
|
||||||
support XCompose and dead keys and also react to keyboard remapping/layout
|
|
||||||
change without needing a restart.
|
|
||||||
|
|
||||||
- Add support for multiple-key-sequence shortcuts
|
|
||||||
|
|
||||||
- A new remote control command `set-colors` to change the current and/or
|
|
||||||
configured colors.
|
|
||||||
|
|
||||||
- When double-clicking to select a word, select words that continue onto the
|
|
||||||
next/prev line as well.
|
|
||||||
|
|
||||||
- Add an `include` directive for the config files to read multiple config files
|
|
||||||
|
|
||||||
- Improve mouse selection for windows with padding. Moving the mouse into the
|
|
||||||
padding area now acts as if the mouse is over the nearest cell.
|
|
||||||
|
|
||||||
- Allow setting all 256 terminal colors in the config file
|
|
||||||
|
|
||||||
- Fix using `kitty --single-instance` to open a new window in a running kitty
|
|
||||||
instance, not respecting the `--directory` flag
|
|
||||||
|
|
||||||
- URL hints: Exclude trailing punctuation from URLs
|
|
||||||
|
|
||||||
- URL hints: Launch the browser from the kitty parent process rather than the
|
|
||||||
hints kitten. Fixes launching on some systems where xdg-open doesn't like
|
|
||||||
being run from a kitten.
|
|
||||||
|
|
||||||
- Allow using rectangle select mode by pressing shift in addition to the
|
|
||||||
rectangle select modifiers even when the terminal program has grabbed the
|
|
||||||
mouse.
|
|
||||||
|
|
||||||
|
|
||||||
version 0.8.4 [2018-03-31]
|
|
||||||
-----------------------------
|
|
||||||
|
|
||||||
- Fix presence of XDG_CONFIG_DIRS and absence of XDG_CONFIG_HOME preventing
|
|
||||||
kitty from starting
|
|
||||||
|
|
||||||
- Revert change in last release to cell width calculation. Instead just clip
|
|
||||||
the right edges of characters that overflow the cell by at most two pixels
|
|
||||||
|
|
||||||
|
|
||||||
version 0.8.3 [2018-03-29]
|
|
||||||
-----------------------------
|
|
||||||
|
|
||||||
- Fix a regression that broke the visual bell and invert screen colors escape
|
|
||||||
code
|
|
||||||
|
|
||||||
- Allow double-click and triple-click + drag to extend selections word at a
|
|
||||||
time or line at a time
|
|
||||||
|
|
||||||
- Add a keyboard shortcut to set the tab title
|
|
||||||
|
|
||||||
- Fix setting window title to empty via OSC escape code not working correctly
|
|
||||||
|
|
||||||
- Linux: Fix cell width calculation incorrect for some fonts (cell widths are
|
|
||||||
now calculated by actually rendering bitmaps, which is slower but more
|
|
||||||
accurate)
|
|
||||||
|
|
||||||
- Allow specifying a system wide kitty config file, for all users
|
|
||||||
|
|
||||||
- Add a --debug-config command line flag to output data about the system and
|
|
||||||
kitty configuration.
|
|
||||||
|
|
||||||
- Wayland: Fix auto-repeat of keys not working
|
|
||||||
|
|
||||||
|
|
||||||
version 0.8.2 [2018-03-17]
|
|
||||||
-----------------------------
|
|
||||||
|
|
||||||
- Allow extending existing selections by right clicking
|
|
||||||
|
|
||||||
- Add a configurable keyboard shortcut and remote command to set the font size to a specific value
|
|
||||||
|
|
||||||
- Add an option to have kitty close the window when the main processes running in it exits, even if there are still background processes writing to that terminal
|
|
||||||
|
|
||||||
- Add configurable keyboard shortcuts to switch to a specific layout
|
|
||||||
|
|
||||||
- Add a keyboard shortcut to edit the kitty config file easily
|
|
||||||
|
|
||||||
- macOS: Fix restoring of window size not correct on Retina screens
|
|
||||||
|
|
||||||
- macOS: Add a facility to specify command line arguments when running kitty from the GUI
|
|
||||||
|
|
||||||
- Add a focus-tab remote command
|
|
||||||
|
|
||||||
- Fix screen not being refreshed immediately after moving a window.
|
|
||||||
|
|
||||||
- Fix a crash when getting the contents of the scrollback buffer as text
|
|
||||||
|
|
||||||
version 0.8.1 [2018-03-09]
|
|
||||||
-----------------------------
|
|
||||||
|
|
||||||
- Extend kitty's remote control feature to work over both UNIX and TCP sockets,
|
|
||||||
so now you can control kitty from across the internet, if you want to.
|
|
||||||
|
|
||||||
- Render private use unicode characters that are followed by a space as a two
|
|
||||||
character ligature. This fixes rendering for applications that misuse
|
|
||||||
private-use characters to display square symbols.
|
|
||||||
|
|
||||||
- Fix Unicode emoji presentation variant selector causing new a fallback font
|
|
||||||
instance to be created
|
|
||||||
|
|
||||||
- Fix a rare error that prevented the Unicode input kitten from working
|
|
||||||
sometimes
|
|
||||||
|
|
||||||
- Allow using Ctrl+Alt+letter in legacy keyboard modes by outputting them as Ctrl+letter and Alt+letter.
|
|
||||||
This matches other terminals' behavior.
|
|
||||||
|
|
||||||
- Fix cursor position off-by-one on horizontal axis when resizing the terminal
|
|
||||||
|
|
||||||
- Wayland: Fix auto-repeat of keys not working
|
|
||||||
|
|
||||||
- Wayland: Add support for window decorations provided by the Wayland shell
|
|
||||||
|
|
||||||
- macOS: Fix URL hints not working
|
|
||||||
|
|
||||||
- macOS: Fix shell not starting in login mode on some computers
|
|
||||||
|
|
||||||
- macOS: Output errors into console.app when running as a bundle
|
|
||||||
|
|
||||||
|
|
||||||
version 0.8.0 [2018-02-24]
|
|
||||||
-----------------------------
|
|
||||||
|
|
||||||
- A framework for kittens, that is, small terminal programs designed to run
|
|
||||||
inside kitty and extend its capabilities. Examples include unicode input and
|
|
||||||
selecting URLs with the keyboard.
|
|
||||||
|
|
||||||
- Input arbitrary unicode characters by pressing Ctrl+Shift+u. You can choose
|
|
||||||
characters by name, by hex code, by recently used, etc. There is even and
|
|
||||||
editable Favorites list.
|
|
||||||
|
|
||||||
- Open URLs using only the keyboard. kitty has a new "hints mode". Press
|
|
||||||
Ctrl+Shift+e and all detected URLs on the screen are highlighted with a key
|
|
||||||
to press to open them. The facility is customizable so you can change
|
|
||||||
what is detected as a URL and which program is used to open it.
|
|
||||||
|
|
||||||
- Add an option to change the titlebar color of kitty windows on macOS
|
|
||||||
|
|
||||||
- Only consider Emoji characters with default Emoji presentation to be two
|
|
||||||
cells wide. This matches the standard. Also add support for the Unicode Emoji
|
|
||||||
variation presentation selector.
|
|
||||||
|
|
||||||
- Prevent video tearing during high speed scrolling by syncing draws
|
|
||||||
to the monitor's refresh rate. There is a new configuration option to
|
|
||||||
control this ``sync_to_monitor``.
|
|
||||||
|
|
||||||
- When displaying only a single window, use the default background color of the
|
|
||||||
window (which can be changed via escape codes) as the color for the margin
|
|
||||||
and padding of the window.
|
|
||||||
|
|
||||||
- Add some non standard terminfo capabilities used by neovim and tmux.
|
|
||||||
|
|
||||||
- Fix large drop in performance when using multiple top-level windows on macOS
|
|
||||||
|
|
||||||
- Fix save/restore of window sizes not working correctly.
|
|
||||||
|
|
||||||
- Remove option to use system wcwidth(). Now always use a wcwidth() based on
|
|
||||||
the Unicode standard. Only sane way.
|
|
||||||
|
|
||||||
- Fix a regression that caused a few ligature glyphs to not render correctly in
|
|
||||||
rare circumstances.
|
|
||||||
|
|
||||||
- Browsing the scrollback buffer now happens in an overlay window instead of a
|
|
||||||
new window/tab.
|
|
||||||
|
|
||||||
version 0.7.1 [2018-01-31]
|
|
||||||
---------------------------
|
|
||||||
|
|
||||||
- Add an option to adjust the width of character cells
|
|
||||||
|
|
||||||
- Fix selecting text with the mouse in the scrollback buffer selecting text
|
|
||||||
from the line above the actually selected line
|
|
||||||
|
|
||||||
- Fix some italic fonts having the right edge of characters cut-off,
|
|
||||||
unnecessarily
|
|
||||||
|
|
||||||
|
|
||||||
version 0.7.0 [2018-01-24]
|
|
||||||
---------------------------
|
|
||||||
|
|
||||||
- Allow controlling kitty from the shell prompt/scripts. You can
|
|
||||||
open/close/rename windows and tabs and even send input to specific windows.
|
|
||||||
See the README for details.
|
|
||||||
|
|
||||||
- Add option to put tab bar at the top instead of the bottom
|
|
||||||
|
|
||||||
- Add option to override the default shell
|
|
||||||
|
|
||||||
- Add "Horizontal" and "Vertical" window layouts
|
|
||||||
|
|
||||||
- Sessions: Allow setting titles and working directories for individual windows
|
|
||||||
|
|
||||||
- Option to copy to clipboard on mouse select
|
|
||||||
|
|
||||||
- Fix incorrect reporting of mouse move events when using the SGR protocol
|
|
||||||
|
|
||||||
- Make alt+backspace delete the previous word
|
|
||||||
|
|
||||||
- Take the mouse wheel multiplier option in to account when generating fake key
|
|
||||||
scroll events
|
|
||||||
|
|
||||||
- macOS: Fix closing top-level window does not transfer focus to other
|
|
||||||
top-level windows.
|
|
||||||
|
|
||||||
- macOS: Fix alt+arrow keys not working when disabling the macos_option_as_alt
|
|
||||||
config option.
|
|
||||||
|
|
||||||
- kitty icat: Workaround for bug in ImageMagick that would cause some images
|
|
||||||
to fail to display at certain sizes.
|
|
||||||
|
|
||||||
- Fix rendering of text with ligature fonts that do not use dummy glyphs
|
|
||||||
|
|
||||||
- Fix a regression that caused copying of the selection to clipboard to only
|
|
||||||
copy the visible part of the selection
|
|
||||||
|
|
||||||
- Fix incorrect handling of some unicode combining marks that are not re-ordered
|
|
||||||
|
|
||||||
- Fix handling on non-BMP combining characters
|
|
||||||
|
|
||||||
- Drop the dependency on libunistring
|
|
||||||
|
|
||||||
|
|
||||||
version 0.6.1 [2017-12-28]
|
|
||||||
---------------------------
|
|
||||||
|
|
||||||
- Add an option to fade the text in inactive windows
|
|
||||||
|
|
||||||
- Add new actions to open windows/tabs/etc. with the working directory set to
|
|
||||||
the working directory of the current window.
|
|
||||||
|
|
||||||
- Automatically adjust cell size when DPI changes, for example when kitty is
|
|
||||||
moved from one monitor to another with a different DPI
|
|
||||||
|
|
||||||
- Ensure underlines are rendered even for fonts with very poor metrics
|
|
||||||
|
|
||||||
- Fix some emoji glyphs not colored on Linux
|
|
||||||
|
|
||||||
- Internal wcwidth() implementation is now auto-generated from the unicode
|
|
||||||
standard database
|
|
||||||
|
|
||||||
- Allow configuring the modifiers to use for rectangular selection with the
|
|
||||||
mouse.
|
|
||||||
|
|
||||||
- Fix incorrect minimum wayland version in the build script
|
|
||||||
|
|
||||||
- Fix a crash when detecting a URL that ends at the end of the line
|
|
||||||
|
|
||||||
- Fix regression that broke drawing of hollow cursor when window loses focus
|
|
||||||
|
|
||||||
|
|
||||||
version 0.6.0 [2017-12-18]
|
|
||||||
---------------------------
|
|
||||||
|
|
||||||
- Support background transparency via the background_opacity option. Provided
|
|
||||||
that your OS/window manager supports transparency, you can now have kitty
|
|
||||||
render pixels that have only the default background color as
|
|
||||||
semi-transparent.
|
|
||||||
|
|
||||||
- Support multiple top level (OS) windows. These windows all share the sprite
|
|
||||||
texture cache on the GPU, further reducing overall resource usage. Use
|
|
||||||
the shortcut `ctrl+shift+n` to open a new top-level window.
|
|
||||||
|
|
||||||
- Add support for a *daemon* mode using the `--single-instance` command line
|
|
||||||
option. With this option you can have only a single kitty instance running.
|
|
||||||
All future invocations simply open new top-level windows in the existing
|
|
||||||
instance.
|
|
||||||
|
|
||||||
- Support colored emoji
|
|
||||||
|
|
||||||
- Use CoreText instead of FreeType to render text on macOS
|
|
||||||
|
|
||||||
- Support running on the "low power" GPU on dual GPU macOS machines
|
|
||||||
|
|
||||||
- Add a new "grid" window layout
|
|
||||||
|
|
||||||
- Drop the dependency on glfw (kitty now uses a modified, bundled copy of glfw)
|
|
||||||
|
|
||||||
- Add an option to control the audio bell volume on X11 systems
|
|
||||||
|
|
||||||
- Add a command line switch to set the name part of the WM_CLASS window
|
|
||||||
property independently.
|
|
||||||
|
|
||||||
- Add a command line switch to set the window title.
|
|
||||||
|
|
||||||
- Add more options to customize the tab-bar's appearance (font styles and
|
|
||||||
separator)
|
|
||||||
|
|
||||||
- Allow drag and drop of files into kitty. On drop kitty will paste the
|
|
||||||
file path to the running program.
|
|
||||||
|
|
||||||
- Add an option to control the underline style for URL highlighting on hover
|
|
||||||
|
|
||||||
- X11: Set the WINDOWID environment variable
|
|
||||||
|
|
||||||
- Fix middle and right buttons swapped when sending mouse events to child
|
|
||||||
processes
|
|
||||||
|
|
||||||
- Allow selecting in a rectangle by holding down Ctrl+Alt while dragging with
|
|
||||||
the mouse.
|
|
||||||
|
|
||||||
|
|
||||||
version 0.5.1 [2017-12-01]
|
|
||||||
---------------------------
|
|
||||||
|
|
||||||
- Add an option to control the thickness of lines in box drawing characters
|
|
||||||
|
|
||||||
- Increase max. allowed ligature length to nine characters
|
|
||||||
|
|
||||||
- Fix text not vertically centered when adjusting line height
|
|
||||||
|
|
||||||
- Fix unicode block characters not being rendered properly
|
|
||||||
|
|
||||||
- Fix shift+up/down not generating correct escape codes
|
|
||||||
|
|
||||||
- Image display: Fix displaying images taller than two screen heights not
|
|
||||||
scrolling properly
|
|
||||||
|
|
||||||
|
|
||||||
version 0.5.0 [2017-11-19]
|
|
||||||
---------------------------
|
|
||||||
|
|
||||||
- Add support for ligature fonts such as Fira Code, Hasklig, etc. kitty now
|
|
||||||
uses harfbuzz for text shaping which allow it to support advanced OpenType
|
|
||||||
features such as contextual alternates/ligatures/combining glyphs/etc.
|
|
||||||
|
|
||||||
- Make it easy to select fonts by allowing listing of monospace fonts using:
|
|
||||||
kitty list-fonts
|
|
||||||
|
|
||||||
- Add an option to have window focus follow mouse
|
|
||||||
|
|
||||||
- Add a keyboard shortcut (ctrl+shift+f11) to toggle fullscreen mode
|
|
||||||
|
|
||||||
- macOS: Fix handling of option key. It now behaves just like the alt key on
|
|
||||||
Linux. There is an option to make it type unicode characters instead.
|
|
||||||
|
|
||||||
- Linux: Add support for startup notification on X11 desktops. kitty will
|
|
||||||
now inform the window manager when its startup is complete.
|
|
||||||
|
|
||||||
- Fix shell prompt being duplicated when window is resized
|
|
||||||
|
|
||||||
- Fix crash when displaying more than 64 images in the same session
|
|
||||||
|
|
||||||
- Add support for colons in SGR color codes. These are generated by some
|
|
||||||
applications such as neovim when they mistakenly identify kitty as a libvte
|
|
||||||
based terminal.
|
|
||||||
|
|
||||||
- Fix mouse interaction not working in apps using obsolete mouse interaction
|
|
||||||
protocols
|
|
||||||
|
|
||||||
- Linux: no longer require glew as a dependency
|
|
||||||
|
|
||||||
|
|
||||||
version 0.4.2 [2017-10-23]
|
|
||||||
---------------------------
|
|
||||||
|
|
||||||
- Fix a regression in 0.4.0 that broke custom key mappings
|
|
||||||
|
|
||||||
- Fix a regression in 0.4.0 that broke support for non-QWERTY keyboard layouts
|
|
||||||
|
|
||||||
- Avoid using threads to reap zombie child processes. Also prevent kitty from
|
|
||||||
hanging if the open program hangs when clicking on a URL.
|
|
||||||
|
|
||||||
|
|
||||||
version 0.4.0 [2017-10-22]
|
|
||||||
---------------------------
|
|
||||||
|
|
||||||
- Support for drawing arbitrary raster graphics (images) in the terminal via a
|
|
||||||
new graphics protocol. kitty can draw images with full 32-bit color using both
|
|
||||||
ssh connections and files/shared memory (when available) for better
|
|
||||||
performance. The drawing primitives support alpha blending and z-index.
|
|
||||||
Images can be drawn both above and below text. See
|
|
||||||
https://github.com/kovidgoyal/kitty/blob/master/graphics-protocol.asciidoc
|
|
||||||
for details.
|
|
||||||
|
|
||||||
- Refactor kitty's internals to make it even faster and more efficient. The CPU
|
|
||||||
usage of kitty + X server while doing intensive tasks such as scrolling a
|
|
||||||
file continuously in less has been reduced by 50%. There are now two
|
|
||||||
configuration options ``repaint_delay`` and ``input_delay`` you can use to
|
|
||||||
fine tune kitty's performance vs CPU usage profile. The CPU usage of kitty +
|
|
||||||
X when scrolling in less is now significantly better than most (all?) other
|
|
||||||
terminals. See https://github.com/kovidgoyal/kitty#performance
|
|
||||||
|
|
||||||
- Hovering over URLs with the mouse now underlines them to indicate they
|
|
||||||
can be clicked. Hold down Ctrl+Shift while clicking to open the URL.
|
|
||||||
|
|
||||||
- Selection using the mouse is now more intelligent. It does not add
|
|
||||||
blank cells (i.e. cells that have no content) after the end of text in a
|
|
||||||
line to the selection.
|
|
||||||
|
|
||||||
- The block cursor in now fully opaque but renders the character under it in
|
|
||||||
the background color, for enhanced visibility.
|
|
||||||
|
|
||||||
- Allow combining multiple independent actions into a single shortcut
|
|
||||||
|
|
||||||
- Add a new shortcut to pass the current selection to an external program
|
|
||||||
|
|
||||||
- Allow creating shortcuts to open new windows running arbitrary commands. You
|
|
||||||
can also pass the current selection to the command as an arguments and the
|
|
||||||
contents of the screen + scrollback buffer as stdin to the command.
|
|
||||||
|
@ -1,9 +1,10 @@
|
|||||||
= kitty - A terminal emulator
|
= kitty - the fast, featureful, GPU based, terminal emulator
|
||||||
|
|
||||||
|
See https://sw.kovidgoyal.net/kitty
|
||||||
|
|
||||||
image::https://travis-ci.org/kovidgoyal/kitty.svg?branch=master[Build status, link=https://travis-ci.org/kovidgoyal/kitty]
|
image::https://travis-ci.org/kovidgoyal/kitty.svg?branch=master[Build status, link=https://travis-ci.org/kovidgoyal/kitty]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
== Resources on terminal behavior
|
== Resources on terminal behavior
|
||||||
|
|
||||||
http://invisible-island.net/xterm/ctlseqs/ctlseqs.html
|
http://invisible-island.net/xterm/ctlseqs/ctlseqs.html
|
||||||
|
560
docs/changelog.rst
Normal file
560
docs/changelog.rst
Normal file
@ -0,0 +1,560 @@
|
|||||||
|
Changelog
|
||||||
|
==============
|
||||||
|
|
||||||
|
|kitty| is a feature full, cross-platform, *fast*, GPU based terminal emulator.
|
||||||
|
|
||||||
|
0.10.1 [2018-05-24]
|
||||||
|
------------------------------
|
||||||
|
|
||||||
|
- Add a kitten to easily ssh into servers that automatically copies the
|
||||||
|
terminfo files over. ``kitty +kitten ssh myserver``.
|
||||||
|
|
||||||
|
- diff kitten: Make the keyboard shortcuts configurable (:iss:`563`)
|
||||||
|
|
||||||
|
- Allow controlling *background_opacity* via either keyboard shortcuts or
|
||||||
|
remote control. Note that you must set *dynamic_background_opacity yes* in
|
||||||
|
kitty.conf first. (:iss:`569`)
|
||||||
|
|
||||||
|
- diff kitten: Add keybindings to scroll by page
|
||||||
|
|
||||||
|
- diff kitten: Fix incorrect syntax highlighting for a few file formats such as
|
||||||
|
yaml
|
||||||
|
|
||||||
|
- macOS: Fix regression that caused the *macos_option_as_alt* setting to always
|
||||||
|
be disabled for all OS windows in a kitty instance after the first window
|
||||||
|
(:iss:`571`)
|
||||||
|
|
||||||
|
- Fix Ctrl+Alt+Space not working in normal and application keyboard modes
|
||||||
|
(:iss:`562`)
|
||||||
|
|
||||||
|
|
||||||
|
0.10.0 [2018-05-21]
|
||||||
|
------------------------------
|
||||||
|
|
||||||
|
- A diff kitten to show side-by-side diffs with syntax highlighting and support
|
||||||
|
for images. See :doc:`diff kitten <kittens/diff>`.
|
||||||
|
|
||||||
|
- Make windows in the various kitty layouts manually resizable. See
|
||||||
|
:ref:`layouts` for details.
|
||||||
|
|
||||||
|
- Implement support for the SGR *faint* escape code to make text blend
|
||||||
|
into the background (:iss:`446`).
|
||||||
|
|
||||||
|
- Make the hints kitten a little smarter :commit:`ad1109b`
|
||||||
|
so that URLs that stretch over multiple lines are detected. Also improve
|
||||||
|
detection of surrounding brackets/quotes.
|
||||||
|
|
||||||
|
- Make the kitty window id available as the environment variable
|
||||||
|
``KITTY_WINDOW_ID`` (:iss:`532`).
|
||||||
|
|
||||||
|
- Add a "fat" layout that is similar to the "tall" layout but vertically
|
||||||
|
oriented.
|
||||||
|
|
||||||
|
- Expand environment variables in config file include directives
|
||||||
|
|
||||||
|
- Allow programs running in kitty to read/write from the clipboard :commit:`889ca77`.
|
||||||
|
By default only writing is allowed. This feature is supported in many
|
||||||
|
terminals, search for `OSC 52 clipboard` to find out more about using it.
|
||||||
|
|
||||||
|
- Fix moving cursor outside a defined page area incorrectly causing the cursor
|
||||||
|
to be placed inside the page area. Caused incorrect rendering in neovim, in
|
||||||
|
some situations (:iss:`542`).
|
||||||
|
|
||||||
|
- Render a couple more powerline symbols directly, bypassing the font
|
||||||
|
(:iss:`550`).
|
||||||
|
|
||||||
|
- Fix ctrl+alt+<special> not working in normal and application keyboard (:iss:`548`).
|
||||||
|
|
||||||
|
- Partial fix for rendering Right-to-left languages like Arabic. Rendering of
|
||||||
|
Arabic is never going to be perfect, but now it is at least readable.
|
||||||
|
|
||||||
|
- Fix Ctrl+backspace acting as plain backspace in normal and application
|
||||||
|
keyboard modes (:iss:`538`).
|
||||||
|
|
||||||
|
- Have the paste_from_selection action paste from the clipboard on platforms
|
||||||
|
that do not have a primary selection such as Wayland and macOS
|
||||||
|
(:iss:`529`)
|
||||||
|
|
||||||
|
- Fix cursor_stop_blinking_after=0 not working (:iss:`530`)
|
||||||
|
|
||||||
|
|
||||||
|
0.9.1 [2018-05-05]
|
||||||
|
------------------------------
|
||||||
|
|
||||||
|
- Show a bell symbol on the tab if a bell occurs in one of the windows in the tab and
|
||||||
|
the window is not the currently focused window
|
||||||
|
|
||||||
|
- Change the window border color if a bell occurs in an unfocused window. Can
|
||||||
|
be disabled by setting the bell_border_color to be the same as the
|
||||||
|
inactive_border_color.
|
||||||
|
|
||||||
|
- macOS: Add support for dead keys
|
||||||
|
|
||||||
|
- Unicode input: When searching by name search for prefix matches as well as
|
||||||
|
whole word matches
|
||||||
|
|
||||||
|
- Dynamically allocate the memory used for the scrollback history buffer.
|
||||||
|
Reduces startup memory consumption when using very large scrollback
|
||||||
|
buffer sizes.
|
||||||
|
|
||||||
|
- Add an option to not request window attention on bell.
|
||||||
|
|
||||||
|
- Remote control: Allow matching windows by number (visible position).
|
||||||
|
|
||||||
|
- macOS: Fix changing tab title and kitty shell not working
|
||||||
|
|
||||||
|
- When triple-clicking select all wrapped lines belonging to a single logical line.
|
||||||
|
|
||||||
|
- hints kitten: Detect bracketed URLs and dont include the closing bracket in the URL.
|
||||||
|
|
||||||
|
- When calling pass_selection_to_program use the current directory of the child
|
||||||
|
process as the cwd of the program.
|
||||||
|
|
||||||
|
- Add macos_hide_from_tasks option to hide kitty from the macOS task switcher
|
||||||
|
|
||||||
|
- macOS: When the macos_titlebar_color is set to background change the titlebar
|
||||||
|
colors to match the current background color of the active kitty window
|
||||||
|
|
||||||
|
- Add a setting to clear all shortcuts defined up to that point in the config
|
||||||
|
file(s)
|
||||||
|
|
||||||
|
- Add a setting (kitty_mod) to change the modifier used by all the default
|
||||||
|
kitty shortcuts, globally
|
||||||
|
|
||||||
|
- Fix Shift+function key not working
|
||||||
|
|
||||||
|
- Support the F13 to F25 function keys
|
||||||
|
|
||||||
|
- Don't fail to start if the user deletes the hintstyle key from their
|
||||||
|
fontconfig configuration.
|
||||||
|
|
||||||
|
- When rendering a private use unicode codepoint and a space as a two cell
|
||||||
|
ligature, set the foreground colors of the space cell to match the colors of
|
||||||
|
the first cell. Works around applications like powerline that use different
|
||||||
|
colors for the two cells.
|
||||||
|
|
||||||
|
- Fix passing @text to other programs such as when viewing the scrollback
|
||||||
|
buffer not working correctly if kitty is itself scrolled up.
|
||||||
|
|
||||||
|
- Fix window focus gained/lost events not being reported to child programs when
|
||||||
|
switching windows/tabs using the various keyboard shortcuts.
|
||||||
|
|
||||||
|
- Fix tab title not changing to reflect the window title when switching between different windows in a tab
|
||||||
|
|
||||||
|
- Ignore -e if it is specified on the command line. This is for compatibility
|
||||||
|
with broken software that assumes terminals should run with an -e option to
|
||||||
|
execute commands instead of just passing the commands as arguments.
|
||||||
|
|
||||||
|
|
||||||
|
0.9.0 [2018-04-15]
|
||||||
|
------------------------------
|
||||||
|
|
||||||
|
- A new kitty command shell to allow controlling kitty via commands. Press
|
||||||
|
`ctrl+shift+escape` to run the shell.
|
||||||
|
|
||||||
|
- The hints kitten has become much more powerful. Now in addition to URLs you
|
||||||
|
can use it to select word, paths, filenames, lines, etc. from the screen.
|
||||||
|
These can be inserted into the terminal, copied to clipboard or sent to
|
||||||
|
external programs.
|
||||||
|
|
||||||
|
- Linux: Switch to libxkbcommon for keyboard handling. It allows kitty to
|
||||||
|
support XCompose and dead keys and also react to keyboard remapping/layout
|
||||||
|
change without needing a restart.
|
||||||
|
|
||||||
|
- Add support for multiple-key-sequence shortcuts
|
||||||
|
|
||||||
|
- A new remote control command `set-colors` to change the current and/or
|
||||||
|
configured colors.
|
||||||
|
|
||||||
|
- When double-clicking to select a word, select words that continue onto the
|
||||||
|
next/prev line as well.
|
||||||
|
|
||||||
|
- Add an `include` directive for the config files to read multiple config files
|
||||||
|
|
||||||
|
- Improve mouse selection for windows with padding. Moving the mouse into the
|
||||||
|
padding area now acts as if the mouse is over the nearest cell.
|
||||||
|
|
||||||
|
- Allow setting all 256 terminal colors in the config file
|
||||||
|
|
||||||
|
- Fix using `kitty --single-instance` to open a new window in a running kitty
|
||||||
|
instance, not respecting the `--directory` flag
|
||||||
|
|
||||||
|
- URL hints: Exclude trailing punctuation from URLs
|
||||||
|
|
||||||
|
- URL hints: Launch the browser from the kitty parent process rather than the
|
||||||
|
hints kitten. Fixes launching on some systems where xdg-open doesn't like
|
||||||
|
being run from a kitten.
|
||||||
|
|
||||||
|
- Allow using rectangle select mode by pressing shift in addition to the
|
||||||
|
rectangle select modifiers even when the terminal program has grabbed the
|
||||||
|
mouse.
|
||||||
|
|
||||||
|
|
||||||
|
0.8.4 [2018-03-31]
|
||||||
|
-----------------------------
|
||||||
|
|
||||||
|
- Fix presence of XDG_CONFIG_DIRS and absence of XDG_CONFIG_HOME preventing
|
||||||
|
kitty from starting
|
||||||
|
|
||||||
|
- Revert change in last release to cell width calculation. Instead just clip
|
||||||
|
the right edges of characters that overflow the cell by at most two pixels
|
||||||
|
|
||||||
|
|
||||||
|
0.8.3 [2018-03-29]
|
||||||
|
-----------------------------
|
||||||
|
|
||||||
|
- Fix a regression that broke the visual bell and invert screen colors escape
|
||||||
|
code
|
||||||
|
|
||||||
|
- Allow double-click and triple-click + drag to extend selections word at a
|
||||||
|
time or line at a time
|
||||||
|
|
||||||
|
- Add a keyboard shortcut to set the tab title
|
||||||
|
|
||||||
|
- Fix setting window title to empty via OSC escape code not working correctly
|
||||||
|
|
||||||
|
- Linux: Fix cell width calculation incorrect for some fonts (cell widths are
|
||||||
|
now calculated by actually rendering bitmaps, which is slower but more
|
||||||
|
accurate)
|
||||||
|
|
||||||
|
- Allow specifying a system wide kitty config file, for all users
|
||||||
|
|
||||||
|
- Add a --debug-config command line flag to output data about the system and
|
||||||
|
kitty configuration.
|
||||||
|
|
||||||
|
- Wayland: Fix auto-repeat of keys not working
|
||||||
|
|
||||||
|
|
||||||
|
0.8.2 [2018-03-17]
|
||||||
|
-----------------------------
|
||||||
|
|
||||||
|
- Allow extending existing selections by right clicking
|
||||||
|
|
||||||
|
- Add a configurable keyboard shortcut and remote command to set the font size to a specific value
|
||||||
|
|
||||||
|
- Add an option to have kitty close the window when the main processes running in it exits, even if there are still background processes writing to that terminal
|
||||||
|
|
||||||
|
- Add configurable keyboard shortcuts to switch to a specific layout
|
||||||
|
|
||||||
|
- Add a keyboard shortcut to edit the kitty config file easily
|
||||||
|
|
||||||
|
- macOS: Fix restoring of window size not correct on Retina screens
|
||||||
|
|
||||||
|
- macOS: Add a facility to specify command line arguments when running kitty from the GUI
|
||||||
|
|
||||||
|
- Add a focus-tab remote command
|
||||||
|
|
||||||
|
- Fix screen not being refreshed immediately after moving a window.
|
||||||
|
|
||||||
|
- Fix a crash when getting the contents of the scrollback buffer as text
|
||||||
|
|
||||||
|
0.8.1 [2018-03-09]
|
||||||
|
-----------------------------
|
||||||
|
|
||||||
|
- Extend kitty's remote control feature to work over both UNIX and TCP sockets,
|
||||||
|
so now you can control kitty from across the internet, if you want to.
|
||||||
|
|
||||||
|
- Render private use unicode characters that are followed by a space as a two
|
||||||
|
character ligature. This fixes rendering for applications that misuse
|
||||||
|
private-use characters to display square symbols.
|
||||||
|
|
||||||
|
- Fix Unicode emoji presentation variant selector causing new a fallback font
|
||||||
|
instance to be created
|
||||||
|
|
||||||
|
- Fix a rare error that prevented the Unicode input kitten from working
|
||||||
|
sometimes
|
||||||
|
|
||||||
|
- Allow using Ctrl+Alt+letter in legacy keyboard modes by outputting them as Ctrl+letter and Alt+letter.
|
||||||
|
This matches other terminals' behavior.
|
||||||
|
|
||||||
|
- Fix cursor position off-by-one on horizontal axis when resizing the terminal
|
||||||
|
|
||||||
|
- Wayland: Fix auto-repeat of keys not working
|
||||||
|
|
||||||
|
- Wayland: Add support for window decorations provided by the Wayland shell
|
||||||
|
|
||||||
|
- macOS: Fix URL hints not working
|
||||||
|
|
||||||
|
- macOS: Fix shell not starting in login mode on some computers
|
||||||
|
|
||||||
|
- macOS: Output errors into console.app when running as a bundle
|
||||||
|
|
||||||
|
|
||||||
|
0.8.0 [2018-02-24]
|
||||||
|
-----------------------------
|
||||||
|
|
||||||
|
- A framework for kittens, that is, small terminal programs designed to run
|
||||||
|
inside kitty and extend its capabilities. Examples include unicode input and
|
||||||
|
selecting URLs with the keyboard.
|
||||||
|
|
||||||
|
- Input arbitrary unicode characters by pressing Ctrl+Shift+u. You can choose
|
||||||
|
characters by name, by hex code, by recently used, etc. There is even and
|
||||||
|
editable Favorites list.
|
||||||
|
|
||||||
|
- Open URLs using only the keyboard. kitty has a new "hints mode". Press
|
||||||
|
Ctrl+Shift+e and all detected URLs on the screen are highlighted with a key
|
||||||
|
to press to open them. The facility is customizable so you can change
|
||||||
|
what is detected as a URL and which program is used to open it.
|
||||||
|
|
||||||
|
- Add an option to change the titlebar color of kitty windows on macOS
|
||||||
|
|
||||||
|
- Only consider Emoji characters with default Emoji presentation to be two
|
||||||
|
cells wide. This matches the standard. Also add support for the Unicode Emoji
|
||||||
|
variation presentation selector.
|
||||||
|
|
||||||
|
- Prevent video tearing during high speed scrolling by syncing draws
|
||||||
|
to the monitor's refresh rate. There is a new configuration option to
|
||||||
|
control this ``sync_to_monitor``.
|
||||||
|
|
||||||
|
- When displaying only a single window, use the default background color of the
|
||||||
|
window (which can be changed via escape codes) as the color for the margin
|
||||||
|
and padding of the window.
|
||||||
|
|
||||||
|
- Add some non standard terminfo capabilities used by neovim and tmux.
|
||||||
|
|
||||||
|
- Fix large drop in performance when using multiple top-level windows on macOS
|
||||||
|
|
||||||
|
- Fix save/restore of window sizes not working correctly.
|
||||||
|
|
||||||
|
- Remove option to use system wcwidth(). Now always use a wcwidth() based on
|
||||||
|
the Unicode standard. Only sane way.
|
||||||
|
|
||||||
|
- Fix a regression that caused a few ligature glyphs to not render correctly in
|
||||||
|
rare circumstances.
|
||||||
|
|
||||||
|
- Browsing the scrollback buffer now happens in an overlay window instead of a
|
||||||
|
new window/tab.
|
||||||
|
|
||||||
|
0.7.1 [2018-01-31]
|
||||||
|
---------------------------
|
||||||
|
|
||||||
|
- Add an option to adjust the width of character cells
|
||||||
|
|
||||||
|
- Fix selecting text with the mouse in the scrollback buffer selecting text
|
||||||
|
from the line above the actually selected line
|
||||||
|
|
||||||
|
- Fix some italic fonts having the right edge of characters cut-off,
|
||||||
|
unnecessarily
|
||||||
|
|
||||||
|
|
||||||
|
0.7.0 [2018-01-24]
|
||||||
|
---------------------------
|
||||||
|
|
||||||
|
- Allow controlling kitty from the shell prompt/scripts. You can
|
||||||
|
open/close/rename windows and tabs and even send input to specific windows.
|
||||||
|
See the README for details.
|
||||||
|
|
||||||
|
- Add option to put tab bar at the top instead of the bottom
|
||||||
|
|
||||||
|
- Add option to override the default shell
|
||||||
|
|
||||||
|
- Add "Horizontal" and "Vertical" window layouts
|
||||||
|
|
||||||
|
- Sessions: Allow setting titles and working directories for individual windows
|
||||||
|
|
||||||
|
- Option to copy to clipboard on mouse select
|
||||||
|
|
||||||
|
- Fix incorrect reporting of mouse move events when using the SGR protocol
|
||||||
|
|
||||||
|
- Make alt+backspace delete the previous word
|
||||||
|
|
||||||
|
- Take the mouse wheel multiplier option in to account when generating fake key
|
||||||
|
scroll events
|
||||||
|
|
||||||
|
- macOS: Fix closing top-level window does not transfer focus to other
|
||||||
|
top-level windows.
|
||||||
|
|
||||||
|
- macOS: Fix alt+arrow keys not working when disabling the macos_option_as_alt
|
||||||
|
config option.
|
||||||
|
|
||||||
|
- kitty icat: Workaround for bug in ImageMagick that would cause some images
|
||||||
|
to fail to display at certain sizes.
|
||||||
|
|
||||||
|
- Fix rendering of text with ligature fonts that do not use dummy glyphs
|
||||||
|
|
||||||
|
- Fix a regression that caused copying of the selection to clipboard to only
|
||||||
|
copy the visible part of the selection
|
||||||
|
|
||||||
|
- Fix incorrect handling of some unicode combining marks that are not re-ordered
|
||||||
|
|
||||||
|
- Fix handling on non-BMP combining characters
|
||||||
|
|
||||||
|
- Drop the dependency on libunistring
|
||||||
|
|
||||||
|
|
||||||
|
0.6.1 [2017-12-28]
|
||||||
|
---------------------------
|
||||||
|
|
||||||
|
- Add an option to fade the text in inactive windows
|
||||||
|
|
||||||
|
- Add new actions to open windows/tabs/etc. with the working directory set to
|
||||||
|
the working directory of the current window.
|
||||||
|
|
||||||
|
- Automatically adjust cell size when DPI changes, for example when kitty is
|
||||||
|
moved from one monitor to another with a different DPI
|
||||||
|
|
||||||
|
- Ensure underlines are rendered even for fonts with very poor metrics
|
||||||
|
|
||||||
|
- Fix some emoji glyphs not colored on Linux
|
||||||
|
|
||||||
|
- Internal wcwidth() implementation is now auto-generated from the unicode
|
||||||
|
standard database
|
||||||
|
|
||||||
|
- Allow configuring the modifiers to use for rectangular selection with the
|
||||||
|
mouse.
|
||||||
|
|
||||||
|
- Fix incorrect minimum wayland version in the build script
|
||||||
|
|
||||||
|
- Fix a crash when detecting a URL that ends at the end of the line
|
||||||
|
|
||||||
|
- Fix regression that broke drawing of hollow cursor when window loses focus
|
||||||
|
|
||||||
|
|
||||||
|
0.6.0 [2017-12-18]
|
||||||
|
---------------------------
|
||||||
|
|
||||||
|
- Support background transparency via the background_opacity option. Provided
|
||||||
|
that your OS/window manager supports transparency, you can now have kitty
|
||||||
|
render pixels that have only the default background color as
|
||||||
|
semi-transparent.
|
||||||
|
|
||||||
|
- Support multiple top level (OS) windows. These windows all share the sprite
|
||||||
|
texture cache on the GPU, further reducing overall resource usage. Use
|
||||||
|
the shortcut `ctrl+shift+n` to open a new top-level window.
|
||||||
|
|
||||||
|
- Add support for a *daemon* mode using the `--single-instance` command line
|
||||||
|
option. With this option you can have only a single kitty instance running.
|
||||||
|
All future invocations simply open new top-level windows in the existing
|
||||||
|
instance.
|
||||||
|
|
||||||
|
- Support colored emoji
|
||||||
|
|
||||||
|
- Use CoreText instead of FreeType to render text on macOS
|
||||||
|
|
||||||
|
- Support running on the "low power" GPU on dual GPU macOS machines
|
||||||
|
|
||||||
|
- Add a new "grid" window layout
|
||||||
|
|
||||||
|
- Drop the dependency on glfw (kitty now uses a modified, bundled copy of glfw)
|
||||||
|
|
||||||
|
- Add an option to control the audio bell volume on X11 systems
|
||||||
|
|
||||||
|
- Add a command line switch to set the name part of the WM_CLASS window
|
||||||
|
property independently.
|
||||||
|
|
||||||
|
- Add a command line switch to set the window title.
|
||||||
|
|
||||||
|
- Add more options to customize the tab-bar's appearance (font styles and
|
||||||
|
separator)
|
||||||
|
|
||||||
|
- Allow drag and drop of files into kitty. On drop kitty will paste the
|
||||||
|
file path to the running program.
|
||||||
|
|
||||||
|
- Add an option to control the underline style for URL highlighting on hover
|
||||||
|
|
||||||
|
- X11: Set the WINDOWID environment variable
|
||||||
|
|
||||||
|
- Fix middle and right buttons swapped when sending mouse events to child
|
||||||
|
processes
|
||||||
|
|
||||||
|
- Allow selecting in a rectangle by holding down Ctrl+Alt while dragging with
|
||||||
|
the mouse.
|
||||||
|
|
||||||
|
|
||||||
|
0.5.1 [2017-12-01]
|
||||||
|
---------------------------
|
||||||
|
|
||||||
|
- Add an option to control the thickness of lines in box drawing characters
|
||||||
|
|
||||||
|
- Increase max. allowed ligature length to nine characters
|
||||||
|
|
||||||
|
- Fix text not vertically centered when adjusting line height
|
||||||
|
|
||||||
|
- Fix unicode block characters not being rendered properly
|
||||||
|
|
||||||
|
- Fix shift+up/down not generating correct escape codes
|
||||||
|
|
||||||
|
- Image display: Fix displaying images taller than two screen heights not
|
||||||
|
scrolling properly
|
||||||
|
|
||||||
|
|
||||||
|
0.5.0 [2017-11-19]
|
||||||
|
---------------------------
|
||||||
|
|
||||||
|
- Add support for ligature fonts such as Fira Code, Hasklig, etc. kitty now
|
||||||
|
uses harfbuzz for text shaping which allow it to support advanced OpenType
|
||||||
|
features such as contextual alternates/ligatures/combining glyphs/etc.
|
||||||
|
|
||||||
|
- Make it easy to select fonts by allowing listing of monospace fonts using:
|
||||||
|
kitty list-fonts
|
||||||
|
|
||||||
|
- Add an option to have window focus follow mouse
|
||||||
|
|
||||||
|
- Add a keyboard shortcut (ctrl+shift+f11) to toggle fullscreen mode
|
||||||
|
|
||||||
|
- macOS: Fix handling of option key. It now behaves just like the alt key on
|
||||||
|
Linux. There is an option to make it type unicode characters instead.
|
||||||
|
|
||||||
|
- Linux: Add support for startup notification on X11 desktops. kitty will
|
||||||
|
now inform the window manager when its startup is complete.
|
||||||
|
|
||||||
|
- Fix shell prompt being duplicated when window is resized
|
||||||
|
|
||||||
|
- Fix crash when displaying more than 64 images in the same session
|
||||||
|
|
||||||
|
- Add support for colons in SGR color codes. These are generated by some
|
||||||
|
applications such as neovim when they mistakenly identify kitty as a libvte
|
||||||
|
based terminal.
|
||||||
|
|
||||||
|
- Fix mouse interaction not working in apps using obsolete mouse interaction
|
||||||
|
protocols
|
||||||
|
|
||||||
|
- Linux: no longer require glew as a dependency
|
||||||
|
|
||||||
|
|
||||||
|
0.4.2 [2017-10-23]
|
||||||
|
---------------------------
|
||||||
|
|
||||||
|
- Fix a regression in 0.4.0 that broke custom key mappings
|
||||||
|
|
||||||
|
- Fix a regression in 0.4.0 that broke support for non-QWERTY keyboard layouts
|
||||||
|
|
||||||
|
- Avoid using threads to reap zombie child processes. Also prevent kitty from
|
||||||
|
hanging if the open program hangs when clicking on a URL.
|
||||||
|
|
||||||
|
|
||||||
|
0.4.0 [2017-10-22]
|
||||||
|
---------------------------
|
||||||
|
|
||||||
|
- Support for drawing arbitrary raster graphics (images) in the terminal via a
|
||||||
|
new graphics protocol. kitty can draw images with full 32-bit color using both
|
||||||
|
ssh connections and files/shared memory (when available) for better
|
||||||
|
performance. The drawing primitives support alpha blending and z-index.
|
||||||
|
Images can be drawn both above and below text. See :doc:`graphics-protocol`.
|
||||||
|
for details.
|
||||||
|
|
||||||
|
- Refactor kitty's internals to make it even faster and more efficient. The CPU
|
||||||
|
usage of kitty + X server while doing intensive tasks such as scrolling a
|
||||||
|
file continuously in less has been reduced by 50%. There are now two
|
||||||
|
configuration options ``repaint_delay`` and ``input_delay`` you can use to
|
||||||
|
fine tune kitty's performance vs CPU usage profile. The CPU usage of kitty +
|
||||||
|
X when scrolling in less is now significantly better than most (all?) other
|
||||||
|
terminals. See :doc:`performance`.
|
||||||
|
|
||||||
|
- Hovering over URLs with the mouse now underlines them to indicate they
|
||||||
|
can be clicked. Hold down Ctrl+Shift while clicking to open the URL.
|
||||||
|
|
||||||
|
- Selection using the mouse is now more intelligent. It does not add
|
||||||
|
blank cells (i.e. cells that have no content) after the end of text in a
|
||||||
|
line to the selection.
|
||||||
|
|
||||||
|
- The block cursor in now fully opaque but renders the character under it in
|
||||||
|
the background color, for enhanced visibility.
|
||||||
|
|
||||||
|
- Allow combining multiple independent actions into a single shortcut
|
||||||
|
|
||||||
|
- Add a new shortcut to pass the current selection to an external program
|
||||||
|
|
||||||
|
- Allow creating shortcuts to open new windows running arbitrary commands. You
|
||||||
|
can also pass the current selection to the command as an arguments and the
|
||||||
|
contents of the screen + scrollback buffer as stdin to the command.
|
40
docs/conf.py
40
docs/conf.py
@ -6,7 +6,10 @@
|
|||||||
# full list see the documentation:
|
# full list see the documentation:
|
||||||
# http://www.sphinx-doc.org/en/master/config
|
# http://www.sphinx-doc.org/en/master/config
|
||||||
|
|
||||||
|
import subprocess
|
||||||
from collections import defaultdict
|
from collections import defaultdict
|
||||||
|
from docutils import nodes
|
||||||
|
from docutils.parsers.rst.roles import set_classes
|
||||||
|
|
||||||
|
|
||||||
def create_shortcut_defs():
|
def create_shortcut_defs():
|
||||||
@ -197,5 +200,40 @@ def create_shortcut_defs():
|
|||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
|
def issue_role(name, rawtext, text, lineno, inliner, options={}, content=[]):
|
||||||
|
' Link to a github issue '
|
||||||
|
try:
|
||||||
|
issue_num = int(text)
|
||||||
|
if issue_num <= 0:
|
||||||
|
raise ValueError
|
||||||
|
except ValueError:
|
||||||
|
msg = inliner.reporter.error(
|
||||||
|
'GitHub issue number must be a number greater than or equal to 1; '
|
||||||
|
'"%s" is invalid.' % text, line=lineno)
|
||||||
|
prb = inliner.problematic(rawtext, rawtext, msg)
|
||||||
|
return [prb], [msg]
|
||||||
|
url = f'https://github.com/kovidgoyal/kitty/issues/{issue_num}'
|
||||||
|
set_classes(options)
|
||||||
|
node = nodes.reference(rawtext, f'#{issue_num}', refuri=url, **options)
|
||||||
|
return [node], []
|
||||||
|
|
||||||
|
|
||||||
|
def commit_role(name, rawtext, text, lineno, inliner, options={}, content=[]):
|
||||||
|
' Link to a github commit '
|
||||||
|
try:
|
||||||
|
commit_id = subprocess.check_output(f'git rev-list --max-count=1 --skip=# {text}'.split()).decode('utf-8').strip()
|
||||||
|
except Exception:
|
||||||
|
msg = inliner.reporter.error(
|
||||||
|
f'GitHub commit id "{text}" not recognized.', line=lineno)
|
||||||
|
prb = inliner.problematic(rawtext, rawtext, msg)
|
||||||
|
return [prb], [msg]
|
||||||
|
url = f'https://github.com/kovidgoyal/kitty/commit/{commit_id}'
|
||||||
|
set_classes(options)
|
||||||
|
short_id = subprocess.check_output(f'git rev-list --max-count=1 --abbrev-commit --skip=# {commit_id}'.split()).decode('utf-8').strip()
|
||||||
|
node = nodes.reference(rawtext, f'(commit:{short_id})', refuri=url, **options)
|
||||||
|
return [node], []
|
||||||
|
|
||||||
|
|
||||||
def setup(app):
|
def setup(app):
|
||||||
pass
|
app.add_role('iss', issue_role)
|
||||||
|
app.add_role('commit', commit_role)
|
||||||
|
@ -284,6 +284,11 @@ Frequently Asked Questions
|
|||||||
The list of Frequently Asked Questions (*FAQ*) is :doc:`available here <faq>`.
|
The list of Frequently Asked Questions (*FAQ*) is :doc:`available here <faq>`.
|
||||||
|
|
||||||
|
|
||||||
|
Changelog
|
||||||
|
------------------
|
||||||
|
|
||||||
|
See :doc:`changelog`.
|
||||||
|
|
||||||
.. toctree::
|
.. toctree::
|
||||||
:hidden:
|
:hidden:
|
||||||
:glob:
|
:glob:
|
||||||
|
Loading…
Reference in New Issue
Block a user