Changelog for
kitty-terminfo-0.36.4+git20240927.76cd68760-1.4.noarch.rpm :
* Fri Sep 27 2024 scott.bradnickAATTsuse.com- Update to version 0.36.4+git20240927.76cd68760:
* ...
* Move CVDisplayLink code into its own module
* version 0.36.4
* Fix #7904
* macOS: Fix a regression in the previous release that caused junk to be rendered in font previews in the choose fonts kitten and crash on Intel macs
* fix minor memory leak in buffers
* Temporary workaround for CVDisplayLink deprecation
* Add nil check in send
* Update changelog
* Wayland GNOME: Fix a crash when using multiple monitors with different scales and starting on or moving to the monitor with lower scale
* Bell color should also not be rendered translucent
* Proper fix for always drawing borders opaque
* Revert \"Fix a regression when tinting of background images was introduced that caused window borders to have background_opacity applied to them\"
* Wed Sep 25 2024 scott.bradnickAATTsuse.com- Update to version 0.36.3+git20240925.44039baa3:
* version 0.36.3
* Clarify docs
* ...
* ...
* Implement changing transparent background colors via remote control
* Implement dynamic control of transparent background colors via escape code
* Store transparent colors on ColorProfile
* Replace the second_transparent_bg option
* Prepare for allowing upto seven additional semi-transparent background colors
* ...
* Splits layout: Allow setting the split_axis option to auto so that all new windows have their split axis chosen automatically unless explicitly specified in the launch command
* Remote control: Fix --match=state:self not working
* use a named magic constant
* fix: limit bisection method iterations
* feat: don\'t draw visible tab bar margins if width is 0
* Better variable name
* kitten AATT ls: Fix the ``--self`` flag not working
* DRYer
* ...
* log a warning that double --single-instance will ignore the one from macos-launch-services-cmdline
* Ensure we dont inherit KITTY_SI_DATA from environment
* macOS: Fix a regression in the previous release that caused kitty to fail to run after an unclean shutdown/crash
* Also log incomplete base64 data for notification requests
* Fix a regression that broke writing to the clipboard using the OSC 5522 protocol
* Cleanup some code
* Fix a regression when tinting of background images was introduced that caused window borders to have background_opacity applied to them
* Remove unused code
* Fix #7844
* Dont ignore err in close on atomicwrite
* ...
* Use correct invocation command line for kittens in docs
* Use box drawing for filled circle and fish eye so that they line up with empty circle
* macOS: Fix macos_option_as_alt not working when caps lock is engaged
* Bump the all-go-deps group with 2 updates
* ...
* macOS: Fix shortcuts that become entries in the global menubar being reported as removed shortcuts in the debug output
* Document the new click_events parameter for the shell integration protocol
* Fri Sep 06 2024 scott.bradnickAATTsuse.com- Update to version 0.36.2+git20240906.b47908961:
* Fix a regression in the previous release that broke use of the cd command in session files
* Add special flag to shell integration protocol to request real click events
* Use fast call for base64 encode/decode
* ...
* Add base64 encode/decode into functions
* Cleanup builder invocation now that linux builders are chroot based
* version 0.36.2
* Fix typo in docs
* Make shlex_split always return a token
* Fix a harmless error being printed to stderr if shell integration sends an empty cmdline
* Add a simple function for listing basic font data
* kitten run-shell: Forward KSI env var for no-rc
* diff kitten: Fix a regression that broke diffing against remote files
* Add more special branch drawing commit symbols
* Make commit symbol circles slightly larger
* Fix listen_on with IPv6 address
* kitten AATT: Fix a regression connecting to TCP sockets using plain IP addresses rather than hostnames
* Update FAQ on NERD fonts to reflect the fact that kitty now has builtin NERD fonts
* Bind the idle inhibit protocol even though it is currently unused
* Add a note about X11 specificity of preshow_callback
* ...
* Wayland: Don\'t do two stage window creation
* Remove unused code
* ...
* Remote control: When listening on a UNIX domain socket only allow connections from processes having the same user id
* Make getpeerid re-useable
* Wayland: Move creation of OpenGL context to end of window creation function
* Allow jumping to the nth previous active tab via goto_tab
* Bump github.com/seancfoley/ipaddress-go in the all-go-deps group
* Sun Aug 25 2024 scott.bradnickAATTsuse.com- Update to version 0.36.1+git20240825.2c01405d8:
* ...
* Output font features in debug info
* ...
* Linux: Fix a regression in 0.36.0 that caused font features defined via fontconfig to be ignored
* ...
* never return zero cell width for a font
* Fix #7772
* Bump Go to 1.23
* version 0.36.1
* DRYer
* Fri Aug 23 2024 scott.bradnickAATTsuse.com- Update to version 0.36.0+git20240823.808c68dd0:
* ...
* Dont output falling back to menlo message for the symbols nerd font mono family
* macOS: Fix a regression in the previous release that caused --single-instance to not work when using macos-launch-services-cmdline
* Exclude bypy/b from go test discovery
* ...
* Fix off by one in mark color indexing in shader
* Fix #7763
* Disable in band resize notifications in a few more places
* Fix #7762
* Reset base64 streaming decoder after invalid input
* Fix #7752
* Another kitty icon
* ...
* ...
* Improve some documentation
* Switch to using ps to get all processes
* When reloading in all kitty instances, only use readlink on processes that contain \"kitty\" in the image name
* ...
* Installer: allow installing specific versions
* Fix #7741
* shift before control
* MacOS Intel: Fix a crash in the choose-fonts kitten when displaying previews of variable fonts
* Allow turning off stripping in update-on-ox
* DRYer
* ...
* DRYer
* Show how to combine multiple key presses in the FAQ
* Fix typo in notify kitten usage
* Sat Aug 17 2024 scott.bradnickAATTsuse.com- Update to version 0.36.0+git20240817.519b4e43a:
* ...
* Allow unfocused cursor shape to remain unchanged
* Cleanup formatting
* Forgot one place to remove 32-bit binary from
* version 0.36.0
* Fix a regression in notify_on_cmd_finish that caused notifications to appear for every command after the first
* Fix #7724
* Fix arch detection for container builds
* Fix xz failing to allocate memory when used in a 32-bit container
* macOS: Bump the minimum required macOS version to Catalina released five years ago.
* Get it building in a rootless container
* Bump the all-go-deps group with 3 updates
* Wire up color scheme change notifications on X11 as well
* When `shell` is set to . respect the SHELL environment variable in the environment in which kitty is launched
* Fix #7712
* ...
* Mark temp vars used in min/max macros as const
* Use Linux native notifications timeout functionality
* Wayland GNOME: Fix a small rendering artifact when docking a window at a screen edge or maximizing it
* Nicer fix for non-zero fields in rc protocol
* More pyugrade to 3.9
* Bump the all-go-deps group with 2 updates
* Cleanup previous PR
* Update sound support in desktop notifications spec
* Fix #7688
* old python
* ...
* Add a note to the spec that terminals must sanitize identifiers
* Add support for controlling the sound played with notifications
* Rename method and change default theme to __custom
* Document how to change the Linux sound theme system wide
* Search $XDG_DATA_HOME/icons before ~/.icons
* Remove libcanberra caching as it overrides theme selection
* added docs for cli interfacing as a guide for developers
* Cleanup canberra integration
* Fix #7690
* Pass the first notification type as category to the dbus server
* Thu Aug 01 2024 scott.bradnickAATTsuse.com- Update to version 0.35.2+git20240801.62bd6c88e:
* Wayland GNOME: Fix the font size in the OS Window title bar changing with the size of the text in the window
* typo in docs
* Use the nicer stpcpy function
* On Linux use the notification server capabilities when responding to queries
* ...
* Add docs for the notify kitten
* Add buttons to the notifications spec
* Cleanup command line options for notify kitten
* Get notification buttons working on macOS
* Update changelog
* [diff kitten] move next/prev file
* Add tests for id sanitization
* Fix tests for buttons functionality
* ...
* Clarify that i=0 is a special case for notification activated reports only
* old python compat
* Clarify the behavior of updating/closing of notifications without identifiers
* Implement support for buttons on notifications in Linux
* Allow closing notifications with the kitten
* Desktop notifications spec: Add support for icons
* Run pyupgrade to update the codebase to python 3.9
* Make mypy happy
* Update changelog
* Implement special symbol names on macOS
* Add branch drawing symbols to box characters
* Code to render cocoa symbols as PNG
* Make NSImage to PNG code re-useable
* Remove not needed include
* Implement OS notification named icons on macOS
* cocoa API to get the image for a bundle as PNG
* Get notification icons with data working on macOS
* Use application name as thread identifier for cocoa notifications
* Drop support for building without UserNotifications
* Add
*_into API for streaming encode/decode
* Add a decode_into API for streaming base64 decoding
* Add a streaming base64 encoder
* ...
* Simplify API of streaming base64 decoder further
* Allow multiple types per notification
* Clarify base64 and utf-8 encoding requirements
* Use a more correct method name
* Simplify streaming base64 decoder by using the streaming API of libbase64
* Ensure icon cache is cleared at exit
* get icon by path loading working in the notify kitten
* DRYer
* ...
* Only read each index.theme once
* Implement handling of icon names on Linux
* Allow sending icon data without an identifier
* Make table alphabetically sorted
* notify kitten: Wait for close now implemented
* More work on notify kitten
* Sleep longer before retrying to give VM more time to startup
* more work on notifications kitten
* Fix env assignation in ssh kitten docs
* Fix build of hyperlinked grep
* Automate finding of kittens that need Go CLIs generated
* Round out the options for the new notify kitten
* Start work on the notify kitten
* Add support for auto-expiring notifications
* Add tests for alive queries
* Implement a polling mode for close events
* On macOS only track nots that request close events
* Implement updating of notifications
* Add test for filtering
* Add a sample showing on_activation event for notifications
* Implement filtering of desktop notifications
* Allow well behaved applications to categorise notifications so that users can easily filter them out
* Desktop notifications: Fix limited HTML markup in the body text being rendered as HTML on some Linux systems
* Implement polling based closed notifications on macOS
* Add
*some
* closed events to cocoa notifications
* Cleanup cocoa pending actions API
* More cocoa functions moved into cocoa header
* DRYer
* Bump minimum python version to 3.9
* DRYer
* Cleanup DBUS send notification API
* Get icon names working on linux
* Add tests for handling of icon metadata
* Dont alloc the stream decode buffer on object init
* Switch to SIMD accelerated base64 decoding for clipboard and notification requests
* Start work on adding icon support to desktop notifications
* move code into separate function for legibility
* kitten run-shell: Automatically add the directory containing the kitten binary to PATH if needed
* Add type definition for DiskCache
* Report if close events are supported in the query response
* Pass through dismissed events even though apple never generates them
* DRYer
* Get closing of notifications working on macOS
* Make the default for update-on-ox fast and useful
* Get closing of notifications working on Linux
* Decouple notification closed reporting from closing of notifications
* Have close notifications indicate when notification is not found
* Port the tests
* Nicer system for custom actions on notification callback
* Start work on refactoring notifications handling
* typo: remove unnecessary word in desktop notifications document
* Make github code scanner happy
* Clarify the semantics of close notification responses
* Add a note on the best way to use the query escape code
* Allow closing notifications without a status return
* Start work on implementing closing of notifications
* Desktop notifications protocol: Add support for closing previous notifications
* Specify that unknown payload types should be ignored
* Add tests for i=0 in responses when no id specified
* ...
* Forgot about supporting multiplexers in the desktop notification query protocol
* Also respond about urgency support in the query response
* Note which version of kitty gained support for querying desktop notifications protocol
* Desktop notifications protocol: Add support for querying if the terminal emulator supports the protocol
* DRYer
* Simplify render cache to use unique file identity as key
* Also allow using other image formats for window_logo_path
* Speed up loading of background image
* Fix render cache not being used
* DRYer
* Insist on specifying an output format
* Dont leak file handle if locking fails
* Move caching implementation to Python
* Allow specifying permissions when creating anonymous temp files
* Support older python
* Python wrapper to use image to RGBA Go code
* Code to convert image at path into cached RGBA data
* fsync before rename for atomic write
* change the atomic write functions to work with readers
* Move function used only in one place to that place
* Document the new color control protocol
* Allow querying background opacity via XTGETTCAP
* New OSC 21 protocol for color control
* ...
* Convenience method to get the mouse position for a window
* ...
* Make mypy happy
* A new option second_transparent_bg
* Fix panic on empty style
* DRYer
* mouse demo redraw screen on window resize
* Dont need to reset inband resize since it is saved and restored on the private setting stack
* Dont return a valid weight range if a family contains only a single weight
* ...
* Add a note on how to see monospaced fonts on macOS
* Implement --bias for the grid layout
* Make function re-useable and simplify bias docs a bit
* launch command: A new --bias option to adjust the size of newly created windows declaratively
* Make mypy 1.11 happy
* Sessions: A new command focus_matching_window to shift focus to a specific window, useful when creating complex layouts with splits
* ...
* DRYer
* Allow controlling the easing curves used for the visual bell
* ...
* Add a note about cursor blink animation energy consumption
* Document how to animate the cursor blinking
* Fix rendering of semi-transparent cursors
* Handle bezier easing function returning negative values
* Use more comprehensive linear test for bezier curves
* ...
* Add test for multiple function handling
* Recognize more linear bezier curves
* Add test for steps easing function value calculation
* Add some tests for easing function parsing
* Implement proper unit bezier easing function
* Code to convert easing functions from Python to C
* Cleanup steps animation function definition
* Move work on animation implementation
* Implement simple easing curves
* Prepare of alpha blending of cursor
* Use inband resize events in kittens
* Send current size when in band resize events requested even if mode is already on
* ...
* Add support for in-band window resize notifications
* Update docs of remote control commands to note that they support more image formats than just PNG
* ensure options object is freed at shutdown
* DRYer
* DRYer
* Nicer way to prevent defrag
* Ensure defrag doesnt run when testing hole coalescing
* kitten AATT resize-window: Fix --increment=0 treated as --increment=2
* ...
* cleanup must be called with lock held
* Silence spurious warning from Clang ASAN
* disk-cache: Improve hole management
* Now the test should be fully robust
* DRYer
* ...
* Add explicit check for holes in test
* ...
* Bump github.com/dlclark/regexp2 in the all-go-deps group
* Use an array for id-to-hyperlink mapping
* Restore hyperlink garbage collection
* Fix flaky test
* ...
* ...
* ...
* Mark the size and bucket count methods as const
* Splits layout: Fix the move_to_screen_edge action breaking when only a single window is present
* remove the no longer used uthash
* move rsync signature hashmap to verstable
* move font fallback hashmap to verstable
* migrate graphics code to verstable
* Getting size of cache file should not change its position
* Add some locking to python disk cache test API
* Hide graphics internal APIs
* Migrate disk cache to verstable
* Discard hyperlinks in scrollback if there are too many
* Move hyperlink hashmap to verstable
* Migrate glyph properties hash table to verstable
* move sprite position map to verstable
* Start move to newer hash table implementation
* add a note about how to prevent themes kitten from commenting out color settings
* Fix themes kitten not displaying colors in narrow windows
* Remove use of syscall package for flock
* Remove workaround for kwin sending out of order events press/focus events on Wayland as it is not needed with up-to-date kwin and causes issues with multiple OS windows.
* Mon Jul 08 2024 scott.bradnickAATTsuse.com- Code was added which does fc-match checks, if no fonts are supplied at build time, build fails. Adding \'dejavu-fonts\' and \'symbols-only-nerd-fonts\' as BuildRequires items.- Update to version 0.35.2+git20240708.076c882b2:
* have dev.sh deps download NERD font automatically
* Bump the all-go-deps group with 2 updates
* ...
* kitty AATT -> kitten AATT
* Use realpath when creating the kitty config directory
* Split up list of software supporting graphics protocol into libraries and applications and make it alphabetical
* Dispatch any clicks waiting for click_interval on key events
* Update graphics-protocol.rst
* ...
* DRYer
* ...
* Allow running the choose fonts kitten via a mapping easily
* fonts should not be removed by make clean
* Note in build docs that HERD font is now a build time requirement
* Fix reload of kitty config not working if kitty launched via symlink not named kitty
* Cleanup previous PR
* ...
* feat: add reder for nerdfont glyphs,\\ue0d6, \\ue0d7
* Make NERD font available in CI
* Port LastResort test
* Update changelog
* make clean should remove copied in fonts
* Package the standalone NERD font
* Copy in systemwide NERD font during build
* Use builtin NERD font for symbol_map if no system NERD font is available
* Ensure builtin NERD font is used only if glyph is not found by normal font fallback
* DRYer
* Dont print an error for failure to find fallback font on CoreText
* Move checking if font has cell text into the font backends
* Fix add application font on macOS
* Use builtin NERD fonts
* Nicer error message when running command line only kittens
* Fix #7583
* macOS 15: Handle Fn modifier when detecting global shortcuts
* Fix #7581
* ...
* API to add font file to system font lookup
* ...
* ...
* Add font awesome symbols to NERD fonts range in FAQ
* macOS: Fix rendering of the unicode hyphen (U+2010) character when using a font that does not include a glyph for it
* ...
* Wayland redraw OS window twice after resize
* Fri Jun 28 2024 scott.bradnickAATTsuse.com- Update to version 0.35.2+git20240627.6d206324e:
* Bump golang.org/x/image from 0.17.0 to 0.18.0
* Update changelog
* icat: Add an option to leave the cursor to the right of the image
* Wayland: Fix specifying the output name for the panel kitten not working
* Linux: choose-fonts: fix rendering of ligatures in preview text
* Allow changing sample text in showcase function
* Fix composition example in Graphics Protocol
* ...
* Accomodate the fact that arch linux fira code ttf package excludes the variable version. Sigh.
* Mon Jun 24 2024 scott.bradnickAATTsuse.com- Update to version 0.35.2+git20240624.a43188e77:
* Fix #7571
* ...
* ...
* ...
* Note var font support in feature summary
* Update docs of font_family to reference the choose-fonts kitten
* Update docs of font_features to note that it is not needed for main font configuration anymore
* ...
* Document font selection syntax
* Update change log with variable font support
* Replace usage of deprecated utcnow function
* Skip DejaVu font test
* ...
* ...
* More choose-fonts documentation
* Sort style names by variant axis value when available
* Fix marking of current style in list
* Fix matching against style names in presence of elision
* Start documenting the choose fonts kitten
* Fix spec generation for auto setting
* Fix changing styles discarding features
* Preserve auto setting when re-running choose-fonts on already selected family
* Output features in spec_from_face
* ...
* Automatically propagate features from regular face to the other faces when they are set to auto
* Fix sorting of features in UI
* Setting of index features now basically works
* ...
* Add support for font features when rendering sample text
* ...
* Implement toggling of boolean features
* Work on UI for features
* Fix preview rendering when height of previewed font greater than cell height
* test render function to develop the sample renderer
* ...
* Render font feature list in UI
* Add tests to validate feature-from-spec
* work on passing font features via font specs
* Get feature human readable names
* List of all known OpenType font features
* Code to read features from GSUB/GPOS tables
* revert simde bump
* more tests
* Centralize FontSpec related code
* Fix O(n^2) algorithm
* Ensure bold face is at least as heavy as regular face when auto selecting
* Improve auto selection of variable faces
* Handle variable fonts like cascadia code that dont have a postfix variation prefix name for some of their faces
* Wire up applying of font config
* Refactor config patching code to make it re-useable
* More work on choose_fonts
* Render preview synchronously to avoid flashing
* Get axis clicking working
* more work on axis fine tuning
* Render variable axes
* Generalize code to get variable spec
* More work on face fine tune UI
* Make debug printing in backend.py more convenient
* Fix medium face selection when more than family specified
* Dont log an error when the default famil \"monospace\" is not found
* More work on face fine tuning
* CoreText: When finding medium face for a family prefer variable font if available
* Skip test o older freetype
* Add a test for dejavu sans mono
* Install needed fonts in CI
* IBM Plex Mono workaround is needed only under fontconfig
* DRYer
* Get font selection for the cascadia code variable fonts working
* Better scoring for malformed fonts with weird weight ranges
* Refactor scoring
* Add more font selection tests
* CoreText: Fix selection of font file with multi-file variant font
* fontconfig: Prefer semi-bold as bold weight even for system selection
* fontconfig: Lift axes spec to named style
* Test for font selection
* ...
* DRYer
* Fix medium face selection via fontconfig when family has only variable font files
* Fix face sample rendering
* Work on face panel
* Start work on face panel
* ...
* Use PSname in faces preview panel
* Transmit metadata about rendered samples
* Get rendering of faces panel working
* Work on faces panel
* Start work on faces panel
* ...
* Forgot to initialize canvas when rendering sample text onto it
* Fix graphics being freed instead of deleted in draw_screen()
* Get preview to basically display
* Move listing code into its own file
* Code to get specs from options
* Handle default values not present in variation data under CoreText
* Use the cache for getting variable data for faces
* Function to get the named style used by a variable font instance
* Get variable font selection working on coretext
* Fix build on older fontconfig
* Cleanup repr for fontconfig faces
* Implement spec based selection for variable fonts
* Start work on displaying font sampler images
* Use KITTY_PID to find kitty exe when possible
* Fix crash on CoreText for very large font sizes
* Implement rendering of sample text
* Move the query_terminal implementation to Go
* Work on rendering sample text for a font
* Also get the current fg/bg colors to render text with
* Query font size and DPI from terminal
* Get query terminal working again
* Report when a family has variable fonts
* Fix off by one in hyperlink extent
* Use correct pointer shape for hyperlinks
* Get clicking on family names functional
* ...
* Make kitty +list-fonts a wrapper around choose font
* Wire up the backend
* Replace list_fonts with choose-fonts kitten
* Use stdlib maps/slices
* Use RenderLines.InRectangle
* Infrastructure for simple internal hyperlink handling
* Work on supporting mouse interactions via simple hyperlinks
* Display all styles from STAT table
* Work on getting styles from STAT table data
* Work on listing available styles for a family
* Load font variable data on demand
* ...
* dont use a thread for I/O with kitten
* get multiple JSON messages working
* List families asynchronously
* Wire up arrow keys for moving in family list
* Wire up searching
* Start work on list-fonts kitten
* Code to read the STAT OpenType table
* Needed for typing.NotRequired
* Refactor font selection code to share more between fontconfig and CoreText
* Make CoreText signatures for some font finding methods the same as their equivalents in fontconfig
* DRYer
* Implement basic support for selecting font variations in fontconfig
* Wire up parsing of font specs
* Output resolved fonts in debug config
* Implement parsing of fvar table
* Implement postscript variation name prefix for CoreText as well
* Show the postscript variations name prefix when listing fonts
* Use the full name from CoreText when available
* Prune listings of variable fonts
* Ensure fontconfig pattern dict has all keys with default values
* Cleanup resource management
* Output psname for variation font
* Get variable font data from CoreText
* Start work on listing variable fonts under macOS
* Fix building on older FreeType
* Add information about variable fonts to list-fonts output
* Code to get variable data from freetype to python
* Work on list variable fonts on Linux
* Allow fc-list to return variable fonts
* Drop support for 32-bit x86 prebuilt binaries
* bump simde to 0.8.2
* fix session data transmission in new single instance code
* Finish porting +open single instance CLI parsing
* Cleanup previous PR
* Fix macOS single instance
* Make kitty --single-instance fast
* Only implement fix on Wayland
* Make kitty --version fast
* Fix Wayland fractional scaling < 1.0
* Sat Jun 22 2024 scott.bradnickAATTsuse.com- Update to version 0.35.2+git20240622.ad328bfea:
* version 0.35.2
* Clarify docs that remote_control_script is a convenience wrapper for launch
* URL detection: Fix IPv6 hostnames breaking URL detection
* ...
* Fix scrollback_indicator_opacity not actually controlling the opacity
* Prevent Fn key from scrolling to the bottom
* Fix #7555
* Fix Gnome 44 invisible title bar on Wayland
* clarify some docs further
* When using --single-instance allow creating sessions with only background processes
* ...
* Wayland labwc: Fix kitty timing out waiting for compositor to quit fucking around with scales on labwc
* ...
* Update changelog
* forgot to port test to use new API
* Remote control: Fix empty password not working
* Cleanup previous PR
* Fix #7545
* Implemented option to change cursor shape in unfocused window
* Update changelog and cleanup docs of the window_logo_scale option
* Fix typo in definition.py
* change window_logo_scale to float, add granular xy scaling options to window_logo_scale
* Fix #7535
* remove test block
* add option to scale window_logo via window_logo_scale
* ...
* Note that textual now supports the kitty keyboard protocol
* Bump the all-go-deps group with 2 updates
* Bump version of wayland client library bundled with the pre-built binaries
* use `readlink -f ~` to get user home
* ssh kitten: Passthrough when -V is specified
* Debug output: Use proper output for titlebar colors
* Add Yazi terminal file manager to the list of software implementing kitty\'s graphics protocol
* Fix #7504
* Bump github.com/shirou/gopsutil/v3 in the all-go-deps group
* Revert 72272ab4fe90b192c3643860f3e3da30ce0a835a
* add simde dependency to stdenv.linux in shell.nix
* Fri May 31 2024 scott.bradnickAATTsuse.com- Update to version 0.35.1+git20240531.1bfb1de7f:
* version 0.35.1
* Add tdf as a terminal PDF viewer that uses the kitty graphics protocol
* Forgot to use aspect ratio calculation when only one of r/c is specified for determining cursor position and image cell overlaps. Fixes #7479
* Fix a regression in the previous release causing an error when setting background_opacity to zero
* Fix #7481
* Update changelog
* Move the window context changing during show fix into glfw code
* Wayland: Fix a regression in 0.34 that caused the tab bar to not render in second and subsequent OS Windows under Hyprland
* Trivial \"It\'s\"->\"Its\" fix
* ...
* Forgot Apple likes to scroll backwards
* Bump github.com/alecthomas/chroma/v2 in the all-go-deps group
* Sat May 25 2024 scott.bradnickAATTsuse.com- Update to version 0.35.0+git20240525.03aab9a88:
* version 0.35.0
* macOS: Fix changing window chrome/colors while in traditional fullscreen causing the titlebar to become visible
* Add option :option:`kitten AATT detach-window --stay-in-tab` to keep focus in the currently active tab when moving windows
* ruff 0.4.5 changes how _sitebuiltins import should be sorted
* ...
* macOS: Fix --start-as=fullscreen not working when another window is already fullscreen
* ...
* ...
* launch --hold: Fix hold not working if kernel signals process group with SIGINT
* remove frag filtering
* Make NETLOC avaialble to open action commandlines
* Forgot to change min bg opacity in the kitten code
* ...
* Some more doc examples
* Use -- in the doc examples as well
* ...
* Use -- to prevent arg injection when invoking programs that support standalone --
* Fix failing test in CI
* Show stdio output from ssh if getting options fails
* Fix kitten AATT set-background-opacity limited to min opacity of 0.1 instead of 0
* Bump dependencies in binary builds for next release
* Better integration point for keyboard mode change notification
* ...
* Fix #7458
* Fix minimum OpenGL version reported in some error messages
* Fix #7455
* Scrolling with mouse wheel when a selection is active should update the selection
* Bump github.com/seancfoley/ipaddress-go in the all-go-deps group
* ...
* Micro-optimization
* oops
* Micro-optimization
* Fix the previous fix
* Fix packet coalescing over network transport causing remote control run over socket not working reliably
* simplify logic
* Simplify panel check
* Add check for wayland display env for panel kitten panel kitten previously checked only for DISPLAY env variable, but a wayland session has WAYLAND_DISPLAY env set. Due to this wayland sessions without xwayland could not run panel kitten.
* Fix #7443
* Wayland: Fix running background process via remote control not working when no OSWindow has focus
* XTGETTCAP: Also respond for boolean capabilities from terminfo
* Nesting combine should preserve window_for_dispatch
* Remote control: AATT action: Fix some actions being performed on the active window instead of the matched window
* ...
* Update changelog
* Fix building on older macOS SDK
* fix: horizontal scrolling direction
* Port the notifications test to handle urgency
* Desktop notifications protocol: Add support for specifying urgency
* Fix building on apple
* Add urgency support to cocoa notification API
* ...
* Dynload libsystemd
* DRYer
* Support setting urgency for DBUS notifications
* Install libsystemd-dev in the build VM
* Install systemd headers in CI
* Move some defines to only the source files where they are needed
* ...
* Fix CI with systemd
* Linux: Run all child processes in their own systemd scope to prevent the OOM killer from harvesting kitty when a child process misbehaves
* Add some more box-drawing characters from the \"Geometric shapes\" Unicode block
* Dont use deprecated ruff invocation syntax
* ...
* typo
* Support --env argument for AATT run
* ...
* hints kitten: Allow clicking on matched text to select it in addition to typing the hint
* kitten AATT run: A new remote control command to run a process on the machine kitty is running on and get its output
* Allow rc commands to control the exit code
* notify with actual exception when launching background process fails
* Allow at commands to specialize response handling
* Fix handling of streaming remote command via tty_io that doesnt actually stream anything
* Make the API to run background processes more powerful
* Handle + and ! combined in argspec
* Dont hold lock while reporting reaped pids
* Make remote_control_passwrods parsing code re-useable
* Fix #7426
* Fix macOS binary build failing because of a test
* Handle invalid UTF-8 reported cmdline more gracefully
* Allow showing a more useful error message when wait_till fails
* Simplify loop used to process input from child in test pty
* ...
* ...
* Add tests for cmdline reporting in shell integration
* Fix unicode objects created by shlex in ansi c mode not in canonical representation
* Fix typo in bash integration script caught by the test
* shell-integration/ssh: Support arch=arm64, for MacOS
* More efficient encoding for cmdline in the prompt marking escape code
* DRYer
* Add support for ANSI-C quoted strings to shlex
* notify_on_cmd_finish: Show the actual command that was finished
* Run clean + debug on branch switch for publish
* ...
* Update changelog
* Extend placement_stragegy options
* Another alternate kitty icon
* ...
* Remove __pycache__ only folders when switching to master to build a release
* Bump the all-go-deps group with 3 updates
* Wayland: Fix crash on compositors that dont support the window activation protocol
* ...
* DRYer
* Make processing of input from child in test pty device a bit more robust
* Wayland: save energy by not rendering \"suspended\" windows on compositors that support that
* Use xdg-shell version 6
* Small performance increase in SIMD code
* Dont clear selections on erase in screen commands unless the erased region intersects a selection
* kitten AATT send-key: Fix some keys being sent in kitty keyboard protocol encoding when not using socket for remote control
* Fix #7405
* Add instructions for making desktop environments run kitty via xdg-terminal-exec
* docs: use the hyphenated kitten name
* Make code scanning happy
* Revert simde back to 0.7.6
* Ignore pedantic warnings from simde headers
* Fix CI build failure on macOS
* Update changelog
* Seamless rendering of shade characters
* Wayland: Fix infinite loop causing bad performance when using IME via fcitx5 due to a change in fcitx5
* Clarify actions to clear_terminal to_cursor
* Wayland: Fix mouse position for initial click not correct
* focus_visible_window: Fix selecting with mouse click leaving keyboard in unusable state
* Add image_preview.nvim to the integrations docs
* Graphics: Fix aspect ratio of images not being preserved when only a single dimension of the destination rectangle is specified
* Dont call wl_egl_window_resize on every swap
* Improve logging slightly
* Remove need for context switching
* ...
* Output OpenGL version in debug config
* Use RAII for context management
* Add shell integration to the list of things tmux breaks
* Wayland: Ensure context is correct when calling wl_egl_window_resize
* output window id is debug logs useful for debugging issues with multiple os windows
* ...
* Highlight some key phrases
* Fix #7376
* paste_actions: Fix replace-newline not working with confirm
* hints kitten: Report the pattern used when no matches are found
* Use double for wayland float calculation
* Fri Apr 19 2024 scott.bradnickAATTsuse.com- Update to version 0.34.1+git20240419.5055c0d98:
* chore: remove repetitive words
* version 0.34.1
* better field name
* Update changelog
* Better fix for #7263
* Revert \"Workaround for fontconfig returning junk in all but the lowest eight bits for FC_INDEX\"
* ...
* fix typo in dependency name
* Give the close X a distressed look
* Wayland GNOME: Draw the titlebar buttons without using a font
* Dont create the region unless actually needed
* Wayland KDE: Fix window background blur not adapting when window is grown. Also fix turning it on and off not working.
* Code to get peer pid on a few more platforms
* Mon Apr 15 2024 scott.bradnickAATTsuse.com- Update to version 0.34.0+git20240415.5b587060a:
* Fix #7346
* Prevent a crash when user uses notifications in a kitty process run via a binary from outside a bundle
* version 0.34.0
* Fix #7342
* ...
* Fix flickering of prompt during window resize
* Add a note about the remote_control scroll-window action to the docs for the default scroll actions
* Expose pause_rendering to Python
* Avoid pointlessly querying window pos on Wayland
* Exclude tests from pylsp type checking
* Wayland: Fix initial font size wrong when using fractional scales
* When asking for quit confirmation because of a running program, mention the program name
* Fix report_device_attributes
* Add support for screen_erase_characters ECH
* Possibly fix #7327
* Revert renaming of kitty.dekstop to kitty-terminal.desktop
* ...
* Only use raw monotonic time on Linux and macOS
* CLOCK_MONOTONIC_RAW support for Go
* ...
* text formatting
* Update changelog
* Another try at pointer frame support on Wayland
* Next version will be 0.34.0
* Note when the panel kitten got support for Wayland
* ...
* Make the debug logging functions consistent
* ...
* Wayland CSD: Dont render window shadows for docked windows
* Add StartupNotify to kitty.desktop
* Change the maximize icon to restore when window is maximized
* Bump golang.org/x/sys from 0.18.0 to 0.19.0 in the all-go-deps group
* Fix #7321
* Use individual surfaces for corner and bar shadows
* Only run bind --function-names once
* Make CSD API functions naming consistent
* Dont enable CSD for non XDG top-level windows such as layer shell surfaces
* Document the extra fields in the prompt marking escape code that kitty supports
* Update changelog
* fish integration: drop redundant OSC 133 markers in upcoming fish 3.8
* doc keyboard protocol: mention upcoming support in fish
* Wayland: Respect top level bounds sent by compositor
* Adjust button colors
* Wire up the buttons
* CSD pointer enter is the same as move
* Move CSD pointer handling code into CSD file
* Add settings that are optimal for latency
* Report errors when attempts are made to perform actions the compositor doesnt support
* Assume all capabilities on compositors that dont support reporting of capabilities
* Implement rendering of window control buttons in CSD
* ...
* Fix #7311
* Reduce CSD API surface
* ...
* Make code a little clearer
* Wayland: Allow hiding window decorations on compositors with SSD as well
* Wayland: A new option to turn off IME
* Nicer debug output for IME text commit event
* show-key kitten: Show plain text received not associated with a key event
* ...
* Map keymap fd using MAP_PRIVATE as required by the spec
* Use 1 rather than 0 as the keycode for the special mouse click key in fish
* ...
* remove unused code
* Wayland GNOME: Less jarring title introducer in CSD
* Add the XM and xm terminfo capabilities
* Wayland GNOME: titlebar color now follows system theme
* Get rid of frame dependent size storage in kitty layer
* DRYer
* Report compositor missing capabilities in debug output
* Fix creation of single pixel buffer to use 32 bits per color channel
* Fix #7310
* Output some info about compositor capabilities for --debug-rendering
* Wayland: Add fractional scale support to CSD
* ...
* chore: remove repetitive words
* ...
* Only initialize edge_spacing_func if glfw init succeeds
* O_CLOEXEC for linux joystick open
* Propagate failures to get video mode
* Note that file transfer wont work through tmux in the FAQ
* Report errors parsing symbol_map more prominently to user
* Fix #7308
* Use single pixel buffer protocol for more efficient temp buffer creation
* Account for layouts like the stack layout that hide windows when deciding the value of inactive_text_alpha
* Update rules for inactive_text_alpha
* Update changelog
* Provide access to the current keyboard mode in the tab_title_template
* Bump the all-go-deps group with 1 update
* Revert \"Wayland: Add support for pointer frame events. Code taken with thanks from SDL\"
* fish shell integration: Cleanup detection and binding of passive cursor movement functions
* Add a note that sway bg covers kitten bg
* Make the scrollback indicator visible by default
* ...
* fish shell integration: Fix clicking at the prompt causing autosuggestions to be accepted, needs fish >= 3.8.0
* Support a special key mode for moving cursor at marked prompts
* Wayland IME: Fix a bug with handling synthetic keypresses generated by ZMK keyboard + fcitx5
* Suppress an unused header warning
* Suppress spurious warning from clangd
* ruff deprecations
* ...
* Use requires-python in pyproject.toml to specify python requirement
* Move to using ruff for formatting
* Add an example of using a different separator to combine docs
* add a link to select_tab in goto_tab docs
* Link to tgutui in the integrations doc
* Implement a simple scroll progress indicator
* Switch to LSP for mypy
* Fix #7276
* Wayland: Add support for pointer frame events. Code taken with thanks from SDL
* ...
* Improve docs on how to use icat without access to the TTY device
* macOS: Fix an abort due to an assertion when a program tries to set an invalid window title
* Forgot to handle suspend/resume in example code for setting uservar in nvim
* Add --app-id as alias for --class
* Retry all the ssh kitten tests on failure once
* Initialize temp wayland buffer with background color
* Lower the limit of number of fallback fonts again
* Workaround for fontconfig returning junk in all but the lowest eight bits for FC_INDEX
* Ensure temp buffer is destroyed once normal swapping is in place
* abort ready loop if window receives a close event
* Wayland: Remove the 120ms penalty from waiting for window creation
* ...
* ...
* ...
* ...
* Use monotonic() instead of time of day for logging
* Use our monotonic everywhere
* Clean up debug rendering output
* Wayland: Only launch child after OS Window achieves its final size
* Fix Smooth mosaic terminal graphic characters from quaters to thirds
* ...
* Increase max number of fallback fonts
* Move xdg confugure response into its own function
* Flag to indicate that we expect scale from compositor
* In --debug-rendering output when SIGWINCH is sent to child
* Get version of hyprland as well
* ...
* Debug output: Show name and version of Wayland compositor
* Also output pointer shape changes when debugging
* Wayland KDE: Fix mouse cursor hiding not working in Plasma 6
* Splits layout: Fix move_window_forward not working
* Retry flaky test
* Oxipng/svgo images to save some 150KB~
* Cleanup DPI change handling
* ...
* DRYer: Maintain font and DPI per OSWindow information in one place
* Use up-to-date scale in layer shell callback
* kwin requires layer properties to be set at creation time
* ...
* Update changelog
* ...
* Allow using --debug-rendering with panel kitten
* Edge panels now work
* More work on getting layer to actually render
* Get the layer sizing function working
* Slightly nicer initial scale guess on wayland
* Fix wayland backend windowfocused() implementation
* Ensure layer shell hint is set just before actual layer shell window creation
* swapped scales
* ...
* Debug setting of exclusive zone
* ...
* ...
* Infrastructure to go from panel CLI opts all the way to wayland layer shell implementation
* Infrastructure for passing layer shell config from python to glfw
* Finish glfw side support for layer shell
* GLFW API for configuring a window as a layer shell
* Start work on wayland layer shell support
* ...
* Fix handling of tab character when cursor is at end of line and wrapping is enabled
* Dont bother applying zero style to fallback
* DRYer
* Proper fix for Zapf Dingbats vs Apple
* macOS: Reject styled fallback from CoreText if its family name is not the same as the original
* DRYer
* ...
* ...
* ...
* Wayland KDE: Add support for background_blur under kwin using a kwin private Wayland protocol
* Add a note about how to use edit-in-kitty with sudo to edit root files
* Linter fixes
* bump version of imaging
* switch to a maintained fork of imaging
* Ensure palette is large enough to avoid panics with invalid images that have pixels refering to colors not in the palette
* Use exiffix rather than imaging to handle EXIF rotation
* Remove unused parameter
* string changes
* Lets see if sanitize works
* Update changelog
* Implement support for preferred buffer scale
* Scale pointer axis events by effective scale
* Basic fractional scale protocol works
* Add listener for fractional scale events
* Register the viewporter
* Rename scale to integer_scale
* Start work on fractional scale support for Wayland
* Fix #7245
* Mouse reporting: Fix drag release event outside the window not being reported in legacy mouse reporting modes
* Thu Mar 21 2024 scott.bradnickAATTsuse.com- Update to version 0.33.1+git20240321.11882aef2:
* Fix #7243
* DRYer
* Convenience function to get terminfo data in kittens
* An option to set TERMINFO to the database directly instead of a path
* Make the terminfo database available in the compiled module
* ...
* version 0.33.1
* Make preferential usage of NERD font for manual fallback more efficient
* ...
* macOS: When CoreText fails to find a fallback font for a character in the first Private Use Unicode Area, preferentially use the NERD font, if available, for it
* ...
* macOS: Fix text rendered with fallback fonts not respecting bold/italic styling
* remove unused headers
* Fix debug-font-fallback to report re-used faces correctly
* Dont request sRGB surfaces on Wayland
* Dont omit frame pointer in debug and profile builds
* Bump the all-go-deps group with 1 update
* docs: minor adjustements
* Ensure KITTY_NO_SIMD is defined for all files on arches without SIMD support
* Fix typo in mapping.rst
* Ensure no frame is created for assembly functions
* Update FAQ
* ...
* DRYer: Use the SIMD detection in setup.py to avoid calling __builtin_cpu_supports
* Fix #7225
* Turn off sanitizers in CI as they are segfaulting
* Use -g3 for profiling rather than -g
* ...
* Also get a backtrace when generating go code segfaults on CI
* Try outputting core dump when multiprocessing spawn segfaults
* Also need gdb to get coredumps in CI
* Splits layout: Allow resizing until one of the halves in a split is minimally sized
* Install systemd-coredump on CI so we can see coredumps
* Fix test suite running under sanitizers
* Redirect to NULL instead of pipe since we dont use the output
* ...
* Print detected compiler type in verbose mode
* Explicitly detect compiler types gcc vs clang
* ...
* Fix undefined function pointer usage found by clang sanitizer
* Fix #7219
* Switch to detecting clang rather than gcc
* ...
* ...
* Handle exception raised by Cocoa runtime when trying to get user notification center from a non-bundled executable
* Fix requesting data from clipboard via OSC 52 getting it from primary selection instead
* Tue Mar 12 2024 scott.bradnickAATTsuse.com- Update to version 0.33.0+git20240312.04f8cb6d3:
* version 0.33.0
* Bump the all-go-deps group with 1 update
* Fix build instructions after ./dev.sh deps
* Implement box drawing for Fira Code spinner glyphs
* Implement box drawing for Fira Code progress bar glyphs in PUA
* Ignore startup_session when kitty is invoked with command line options specifying a command to run
* GitHub returns errors on delete but actually deletes
* Move toggle_tab into Boss
* toggle_tab to easily switch to and back from a tab
* Add some benchamrking
* Add an IndexByte implementation useful for benchmarking against stdlib SIMD implementation
* Add a note that startup_session prevents processing of cli args
* Keyboard protocol: Do not deliver a fake key release events on OS window focus out for engaged modifiers
* ...
* Fix AATT send-key not working to send keys to self over TTY
* icat: Nicer error when user specifies invalid screen geometry
* Add a note as to why errors are not reported for send-text
* Clean up linter warnings
* Fix --match not working for some remote control commands
* hints kitten: Use default editor rather than hardcoding vim to open file at specific line
* doc: add detailed step to enable shell integration for Nushell
* Note that kitty keyboard protocol is supported in yazi
* Note that nushell supports shell integration
* Bump the all-go-deps group with 1 update
* Add a note to clarify lock key handling in disambiguate mode
* Parse and ignore SOS codes
* Clarify exactly when modifiers bits are set in the keyboard protocol
* kitten AATT ls: Return the timestamp at which the window was created
* Cleanup previous PR
* Fix invalid escape sequence warning with reset_terminal long_text
* Simplify sanitize args
* ...
* Cheetah speed
* Fix #7169
* Remove unused code
* More docs
* Cleanup clear to prompt implementation and allow moving cleared lies into scrollback
* icat kitten: Add a command line argument to override terminal window size detection
* Mon Feb 26 2024 scott.bradnickAATTsuse.com- Requires >= go1.22 now; also needed to package up \'pkgconfig(simde)\' for use at build time- Update to version 0.32.2+git20240226.e9c4e731:
* Bump the all-go-deps group with 1 update
* ...
* Fix #7154
* fix compiler warning
* Update the changelog
* hints kitten: The option to set the text color for hints now allows arbitrary colors
* Make --dump-bytes robust against parser code modifying contents of buffer during parsing
* Ensure event loop ticks ASAP when there is pending input
* ...
* Fix --dump-bytes duplicating bytes because of input_delay
* Document previous PR
* add `new-tab-left` and `new-tab-right`
* add `new-tab-neighbor` option to `detach_window`
* Make XOR64 test also test alignment issues
* DRYer
* Another tdir rmtree failure during tear down ignored
* Ignore failure to remove tempdir during test tear down
* Check for leftovers when tokenizing
* Delay load replacements as well
* Improve typing info for lex_scanner
* log error when failing to parse URL
* ...
* Restore support for alternate character sets
* Graphics protocol: Add a new delete mode for deleting images whose ids fall within a range
* Use a fast SIMD implementation to XOR data going into the disk cache
* Reduce max key size in disk cache
* Faster image cache key generation
* Improve performance of disk cache when there are thousands of small images
* ...
* Hide cursor during benchmark run
* Use our new shift by n functions to improve function to zero last N bytes
* Also implement arbitrary byte shift for 128 bit registers
* Fix gcc detection
* Move checking for compiler brand into Env
* Prevent duplicate VZEROUPPER instructions
* We dont actually need vzeroupper at start of function
* Update to using math/rand/v2
* Use go 1.22 for building
* ...
* Fix regression causing shells in darwin to not run in login mode
* Implement functions for arbitrary byte shifts in vector registers
* ...
* Fix test failure on some systems
* ...
* Do the default func test last so we can see what the failure is on more explicitly
* ...
* Add dedicated tests for find_either_of_two
* ...
* Update perf figures based on latest code
* Port aligned load based find algorithm to C
* Fix Go unaligned index implementation
* Functions to get bytes to first match ignoring leading bytes
* ...
* Add some alignment tests
* DRYer
* Dont precalculate mask in loop body
* ...
* Use only aligned loads for index funcs
* DRYer
* Fix build on ARM
* ...
* Finally got gnome-terminal to run on my system
* Micro optimization
* Fix regression that broke handling of single byte control chars when cursor is on second cell of wide character
* Avoid unnecessary if
* Code to easily compare SIMD and scalar decode in a live instance
* Fix cmplt implementation
* Better vector registers to pre-calculate before the loop
* DRYer
* Add some tests for broadcast from constant intrinsic
* Dont use VEX encoded instructions for 128 bit ISA
* Avoid double trailing RET
* Use VZEROUPPER in avx functions
* Also zero upper at start of function
* Fix mixing of register types in the same function
* DRYer
* ...
* Use -mtune=intel for SIMD files when building without native optimizations
* ...
* Fix some typos
* Update throughput comparison table in light of latest improvements
* make clean should clean generated asm as well
* Work on C0 index func
* const away to glory
* Make generated asm_
* files world readable
* A further 5% speedup for UTF-8 decoding
* No longer need to abort after dealing with trailing bytes
* Allow unbounded output in UTF8Decoder
* Use unaligned stores
* More efficient clearing of register to all zeros or all ones
* Make set1_epi8 more general
* Implement > and < intrinsics for vector registers
* Make a re-useable template for generating ASM index functions with different tests
* Switch file input to use new SIMD parser to search for \
and \\r in parallel
* Generate SIMD code during build
* Use an aligned slice for file reads
* Work on porting SIMD vt arser to Go for the kittens
* Ignore another warning on some compiler versions in simde
* Use a custom movmask for ARM rather than the one from simde
* remove declaration without implementation
* Use aligned loads when finding either of two bytes
* ...
* Turns out the simde implementation of movemask is not slow enough to compensate for the speed bump from 256 bit
* Cleanup KITTY_NO_SIMD compilation
* Move finding byte code into separate functions
* ...
* Fix event loop continuously ticking every input_delay seconds even when no input is available
* Make bash integration tests more robust on macOS
* ...
* Make the env var controlling which SIMD level to use more capable
* Dont build any SIMD code when the target is neither ARM64 nor x86/amd64
* Get universal builds working again
* Build only the SIMD code with SIMD compiler flags
* Drop using the v2 microarch
* Fix texture ref not useable on repurposed image object
* Skip simd parser tests on machines without SIMD instructions
* Turns out that using 256 bit code on ARM is slightly faster even though it is emulated with 128 bit registers
* Dont use 256 bit code paths on ARM
* Add an env var to turn off use of SIMD instructions
* Workaround for machines on GitHub Actions that incorrectly report CPU vector instruction availability
* Clean up test env reporting
* DRYer
* ...
* Run dsymutil in post link phase
* DRYer
* Build dSYM bundles on CI
* ...
* Give the functions for creating various objects unique names so they are easily recognized in macOS\'s non-fully-symolicated crash reports
* Output macOS crash reports on CI with nicer formatting
* Dont specify arch/tune when building universal binary
* Micro-optimize clearing of lines
* Better ipd crash report printing
* ...
* Fix incorrect line mapping when clearing screen using optimized code
* Sleep for a minute in the hope that macOS crash log will become available
* ...
* Use coredumpctl on Linux CI
* No ulimit on Linux CI
* ...
* More attempts at finding a core dump on macOS
* Optimize implementation of clear screen escape code
* Speed up CSI benchmark by another 10%
* ...
* More help text for the benchmark kitten
* ...
* Ensure CSI state reset at end of test
* Retry on temp errors when reading from terminal
* ...
* DRYer
* Try to print the Apple crash report on test run failure
* Sadly -march=x86-64-v2 is not the culprit for the intermittent SIGILL in macOS CI
* Also clear screen at end of each loop when rendering
* Simplify benchmark kitten
* tty: retry on temporary read errors
* Ignore temporary write failures in benchmark kitten
* Explain the purpose of the CSI column
* Note that konsole and xterm dont support synchronized update
* ...
* Add throughput performance numbers
* Make the default number of repetitions for benchmark 100
* Fix building on macOS ARM
* Try disabling x86-64-v2 on macOS
* More tests
* Use the new SIMD utf-8 decoder
* fix handling of bits from high byte of 4 byte sequences
* Dynamically allocated parser state should be 64 byte aligned as well
* DRYer
* Avoid multiple branches for checking for trailing sequence
* Make print_register useable without full debug
* More invalid utf-8 tests
* More tests
* Handle trailing incomplete sequences
* More tests
* More tests and micro-optimize switch to ASCII fast path
* ...
* Dont call __builtin_ctz with zero
* fix various bugs in AVX2 utility functions
* fix zero-ing of last n bytes
* More work on utf8 SIMD decode
* More work on SIMD utf8 decode
* zero out bytes beyond src_sz after loading src into the register
* more work on the SIMD utf8 decode
* More work on SIMD utf8 decode
* avoid repeated construction of one, two, tree values vectors
* ...
* Output the third and final utf8 decoded byte
* Fix compilation on clang
* More work on UTF-8 SIMD decode
* ...
* ...
* Ensure cpu is inited before calling cpu_supports()
* Pause rendering per repetition
* Do not render when benchmarking parser to better isolate parser performance
* Implement paused rendering for graphics
* Allow texture references to outlive parent images
* Ensure selection data is updated on GPU after paused rendering
* Fix cursor rendering during rendering pause
* fix copy onto incorrect buffer
* Pause selection rendering
* No need to pass Screen to iteration_data()
* Implement paused rendering for cell data
* Freeze inverted status during paused rendering
* Add some const for functions taking ColorProfile
* Freeze the color profile during paused rendering
* ...
* Turn off paused rendering on reset, resize and scrollback scroll
* Add basic parser tests for pending mode activation/de-activation
* start work on implementing pending mode as paused rendering
* Ensure leftover bytes are a copy
* Fix find_in_memoryview()
* Ensure screen is always set when calling parse_sgr
* Store last cursor render pos in the rendered info struct
* Move unfocused ender bool into cursor render info
* Refactor ascii decode into its own function
* Fix handling on new_input_at
* ...
* more workon simd utf-8 decode
* annotate utf-8 encoder
* ...
* More work on SIMD utf-8 decode
* no need to parametrize sentinel
* Report out of single byte control code embedded in CSI
* Simplify utf8 parser func
* Fix alignment of output array in UTF8Decoder
* ...
* Infrastructure for developing and testing UTF-8 SIMD decode
* Use unaligned loads for SIMD
* Get rid of ByteLoader
* Move ByteLoader back to simd-string.c in preparation for getting rid of it
* Get rid of utoi()
* Get rid of ByteLoader from csi_parse_loop
* Move too long CSI check out of parse loop
* Fix benchmark rate calculation
* Double timeouts on flaky test
* Remove unused SIMD code
* Nicer exit code diagnostic
* Detect availability of intrinsics on intel macs just in case
* ...
* sprintf -> snprintf
* draw_codepoint is never called with from_inputstream=true
* Speed up Screen.draw
* Nicer macros to ignore diagnostics
* DRYer
* Add tests for writing with cursor on trailer of wide char
* ...
* Go back to a single code path for drawing text
* ensure no control chars are drawn
* Ensure parser buffer is aligned to 64 bytes
* Remove not needed function
* Ignore warning from simde on clang
* Dont use intel intrinsics switches on ARM
* Move ringbuf into 3rdparty
* Update uthash from upstream
* Move uthash into 3rdparty
* Move base64simd into a 3rdparty folder
* Allow setting benchmark options
* Use byteloader for printable char ranges
* Images benchmark should not measure speed of zlib
* Switch to SIMD based base64
* Cleanup benchmark warmup code
* ...
* ...
* Ensure goroutine has started before sending data
* Fix benchmark rate calculation
* For some reason, memcpy is faster than assignment
* Adjust amount of data in the benchmarks for more consistent timing
* add unicode benchmark
* Install simde on CI
* Warmup font rendering before running benchmark
* Use simde so SIMD speedups work on ARM as well
* Use -fno-plt
* Use a better default march for binary builds
* Speed up drawing of printable ascii chars
* Add API to Screen to draw a set of printable ascii chars fast
* Simplify API
* ...
* Dont double parse CSI digits
* Switch to same algorithm for 128bit SIMD as used for 256 bit SIMD
* Prepare for plain sse4 fallback
* DRYer
* AVX2 implementation for find either of two
* Add AVX2 implementation of find byte not in range
* ...
* Only use SIMD if CPU supports it at runtime
* Use sse4.2 instruction for normal mode printable ascii detection
* Work on using SIMD for normal mode dispatch
* ...
* ...
* Parse new data that is writtne while parsing is in progress in the parse loop
* ...
* Release the parser IO lock while parsing
* Add a long escape code benchmark
* Need -msse4.2 on non-native builds
* Use simd in a few loops
* ...
* Include -march=native for debug builds
* Also use fast find for pending mode
* ...
* Examine 8 bytes at once for terminator char
* Start work on vectorizing searches
* Add images benchmark
* Ignore input_delay when the input buffer is close to full
* ...
* Allow specifying benchmarks to run on the command line
* Add a CSI + ascii test
* Round the time to two digit precision
* Start work on simple benchmark tool
* ...
* ...
* Use aligned loads for the byte loader
* Increase chunk size for graphics protocol since the VT parser now supports it
* Fix input_delay not working
* Fix buf full -> not full reporting
* Allow logging code to log arbitrary length messages
* Dont need an extra variable
* Use a faster base64 implementation
* Allow larger graphics escape code sizes
* Remove unused base64 32bit functions
* ...
* Only reset urf8 state when transitioning into normal
* ...
* Fix parse_sgr buf overread
* Use the byte loader for normal mode
* ...
* Use the byte loader for parsing CSI as well
* ...
* Speedup utoi by loading numbers in 8 byte chunks
* threading test for full buffer
* threading tests for pending
* Log bad remote commands
* json.loads() stupidly does not accept memoryview
* Cleanup kitty dcs parsing
* ...
* More threading tests
* No need to ask for 7bit controls anymore
* Add some threading tests
* Sanitize contents of remote print
* Convenience methods to test parser threading
* Fix osc52 null termination
* Fix utf8 decode
* Remove FLUSH_DRAW as it is not needed
* Separate test of write and read so we can test threading
* Read errors from child must commit a zero write
* Refactor VT parser for more speed
* Fast function to replace c0 codes
* Use a single code path for tests and live VT parsing
* Avoid a double parse for pending mode
* Limit amount of pending data we will store
* Represent malformed UTF-8 with the replacement character
* Dont construct memoryview when not needed in non dump code path
* ...
* ...
* Pass the window id to the dump calback
* Fix dumping of bytes/commands
* Use libc alloc instead of python alloc for vt parser
* Fix parse worker
* All tests now pass
* Get pending mode working and add a few more tests
* misc parser and test fixes
* Port parse_bytes() used in the tests
* Implement UTF-8 decoding for screen_draw()
* Get kitty building with the new VT parser
* Start work on bytes based VT parser
* Ensure we dont pass a NULL pointer to wl_pointer_set_cursor()
* macOS: The command line args from macos-launch-services-cmdline are now prefixed to any args from open --args rather than overwriting them
* Keyboard protocol: Fix the Enter Tab and Backspace keys generating spurious release events even when report all keys as escape codes is not set
* Fix #7131
* Fix #7130
* Mon Feb 12 2024 scott.bradnickAATTsuse.com- Update to version 0.32.2+git20240212.c4ef6b87:
* ...
* ...
* fix: typo in build docs
* ...
* version 0.32.2
* Ensure we have at least a 1px thick line in cross shade
* Parametrize by number of lines not density
* DRYer
* Adjust cross_shade to have appearance more like in Unicode standard
* Bump the all-go-deps group with 1 update
* Fix #7121
* git rev-list --skip invocation changed
* Fix #7117
* Completion for kitty AATT load-config --override xxx
* Completion for kitty AATT action
* Allow running mappable actions via remote control
* close_other_os_windows: to close non active OS windows
* Special case rendering of some more box drawing characters using shades from the block of symbols for legacy computing
* Add more shade box drawing characters
* ...
* Fix Bash integration removing existing elements of PROMPT_COMMAND
* macOS: Fix an abort when changing OS window chrome for a full screen window via remote control or the themes kitten
* remove unneeded headers
* Add a test for Go flock implementation
* ...
* kitten AATT load-config: Allow (re)loading kitty.conf via remote control
* Fix #7100
* remove no longer needed code
* update .gitignore for vt branch as well
* Use list of legal chars in URL from the WHATWG standard
* Bump the all-go-deps group with 1 update
* Fix typo in docs
* fix: `open_url_with` docs spelling
* Fri Feb 02 2024 scott.bradnickAATTsuse.com- Changing `%patchN` calls to `%patch -P N` calls- Update to version 0.32.1+git20240129.9b8ee540:
* better example of conditional key mapping
* Bump the all-go-deps group with 1 update
* Graphics protocol: Improve display of images using unicode placeholders or row/column boxes by resizing them using linear instead of nearest neighbor interpolation on the GPU
* Dont store query images in disk cache and dont send their data to GPU
* macOS: Fix kitten AATT select-window leaving the keyboard in a partially functional state
* AATT send-text --bracketed-paste
* Fri Jan 26 2024 scott.bradnickAATTsuse.com- Update to version 0.32.1+git20240126.4c46d2bc:
* ...
* A single multi-key mapping should not prematurely complete as that confuses people trying out the feature
* Fix a single key mapping not overriding a previously defined multi-key mapping
* Fix date in changelog
* version 0.32.1
* Add basic tests for modal mappings
* Also document how to set user vars from nvim
* Forgot to stub out one method for the test
* Fix #7055
* Add some tests for mappings
* Move mapping code into its own class
* A single key shortcut should override all previous multi-key shortcuts that have that shortcut as a prefix
* DRYer
* Dont show multiple keys bindings in debug output when their focus on conditions are the same
* Fix #7051
* ...
* Fix a regression in the previous release that caused overriding of existing multi-key mappings to fail
* Clarify behavior of image id==!0 and placement id == 0
* Wayland+NVIDIA: Do not request an sRGB output buffer as a bug in Wayland causes kitty to not start
* Clarify the behavior of functional keys with no legacy encoding
* Show how to send SIGUSR1 to kitty
* ...
* More work on pager kitten
* When displaying scrollback fallback to less if the user configures a pager that is not in PATH
* When testing for cf-protection support take env into account
* Fix #7026
* Better fix
* Fix a regression in the previous release that caused `kitten AATT send-text` with a match parameter to send text twice to the active window
* Fix a regression in the previous release that caused `kitten AATT launch --cwd=current` to fail over SSH
* Remove dmenu-term in docs
* Fix a regression in the previous release that caused multi-key sequences to not abort when pressing an unknown key
* ...
* Fri Jan 19 2024 scott.bradnickAATTsuse.com- Update to version 0.32.0+git20240119.2707c44f:
* DRYer
* More work on pager kitten
* ...
* ...
* Explicit GO111MODULE=on when getting required Go version
* macOS: Fix a regression in the previous release that broke overriding keyboard shortcuts for actions present in the global menu bar
* Start work on pager kitten
* Fix for spurious github code scanning alert
* Fix build with gcc14
* Fix #7013
* version 0.32.0
* expose glfw{Get,Set}WindowPos to python
* Make argument handling of create_os_window() to be more robust and match its python signature
* remove unused include
* for #7009
* fix typo and add a couple examples
* Make test robust against wezterm\'s system wide shell integration
* Add a note that themes can override cursor color
* Allow focusing previously active OS windows via nth_os_window
* Fix #7004
* Remove duplicated line
* Fix #6997
* Fix universal build with cf-protection failing
* Fix building on old gcc/clang
* Fix #6994
* Make the text for kitty.scrollback.nvim fit with the rest
* Document integration with tool kitty-scrollback.nvim
* Mon Jan 08 2024 scott.bradnickAATTsuse.com- Update to version 0.31.0+git20240108.970cc9ba:
* Bump the all-go-deps group with 2 updates
* Graphics protocol: Specify some edge case behavior for image display
* When copying env for SSH sanitize problematic env vars
* Move implementation of --hold into Child
* Fix focus_visible_window not switching to other window in stack layout when only two windows are present
* Fix Wayland cursor-shape-v1 cursor not updating
* Mon Jan 01 2024 scott.bradnickAATTsuse.com- Update to version 0.31.0+git20240101.5ea1d146:
* Bump the all-go-deps group with 1 update
* ...
* Mouse reporting: Fix incorrect position reported for windows with padding
* GNOME Wayland: Fix remembered window size smaller than actual size
* ...
* Wayland: Redraw titlebar title on font size change
* Half the length of the style prefix
* Fix #6943
* Enable cursor shape on Wayland
* Wayland: Add support for the new cursor-shape protocol
* DRYer
* kitty keyboard protocol: Specify the behavior of the modifier bits during modifier key events
* Make mypy happy
* Update changelog
* dont reuse cascade point on another display
* Note that the rio terminal also supports the kitty keyboard protocol
* Fix copy-paste typo in graphics-protocol.rst
* Improve docs for resize_on_debounce
* Mon Dec 18 2023 scott.bradnickAATTsuse.com- Update to version 0.31.0+git20231218.d9903f52:
* Add a note for what to do instead of --detach on macOS
* Bump the all-go-deps group with 1 update
* panel kitten: Fix rendering with non-zero margin.padding in kitty.conf
* Fix #6923
* Fix modifier reporting on macOS
* more grammar
* ...
* Keyboard protocol: Clarify the behavior of the modifier bits during modifier key events
* Font fallback: Fix the font used to render a character sometimes dependent on the order in which characters appear on screen
* Bump the all-go-deps group with 1 update
* macOS: Fix returning from full screen via the button when the titlebar is hidden not hiding the buttons
* macOS: Fix some combining characters not being rendered
* Make units_per_em available in do_render
* Wayland: Fix a regression in the previous release that broke copying to clipboard under wl-roots based compositors in some circumstances
* Fix #6889
* Another terminal emulator adds support for the kitty keyboard protocol
* Note how to to use hints to open hyperlinks
* Port new shlex code to Go
* Implement better syntax highlighting for the new map
* Bump the all-go-deps group with 2 updates
* Update changelog
* Document the new modal keymaps
* ...
* Fix literal field parsing
* Allow more options for what to do in a custom keyboard mode on unknown and action events
* pop_keyboard_mode should return True when nothing is done
* ...
* Weird macOS docs build failure
* Send repeat events instead of repeated presses
* Remote control API for send-key
* A simple action to remap key presses sent to programs running in kitty
* Refactor the mapping docs
* ...
* Allow spaces in --when-focus-on
* shlex.split -> shlex_split
* Fast and robust implementation of shlex.split
* Get cursor theme from desktop portal in non-GNOME desktops
* DRYer
* Un-matched modifier keys should not pop keyboard mode
* Sequences should not participate in global shortcuts
* a couple more tests
* Add --debug-input output for sequence prefix matches
* Dont use branch-protection=standard on linux ARM as it reportedly causes crashes
* More comprehensive is_arm check
* Fix #6876
* Add a check that the output buffer is actually sRGB
* Request an SRGB output buffer from the window system explicitly
* Turn on control flow protection build options
* fix: Correct Nix shell for building correctly
* Fix sequence mapping
* Get debug config printing the changes in all keyboard modes
* Port the test
* Beep when multi-key sequence is aborted by mismatch
* Report invalid --when-focus-on expressions to user
* Add no-op to paste_actions
* Port visual_window_select to use a keyboard mode
* Implement modal keyboard handling
* Infrastructure for more map options
* Fix a couple of tests
* Allow creating key mappings that depend on the state of the focused window, such as what program is running inside it
* Add full docs for matching windows/tabs to the remote control page
* Fix setting swap interval for newly created OS window not always working
* Simplify unmapping key/mouse button events
* rg changed its help output to conform more closely to GNU conventions
* Update help in main.py
* ask kitten: Better error message when choice letter is not present in choice text. Fixes #6855
* Implement local filename completion for the transfer kitten
* Cant wait to drop python 3.8
* ...
* Fix loading of window logo images via AATTlaunch
* No need to use fmemopen
* Better PNG load error reporting
* ...
* Port test
* Make config line parsing in Go use same algorithm as in python
* when parsing conf files in go accept both space and tab as key separators
* Cleanup matching code for AATTls and AATTsend-text
* Failure to change to cwd should not be fatal in bootstrap.py to match bootstrap.sh
* Update graphics-protocol.rst
* Show repology badge in 3 columns
* Improve resilience of shell integration for sudo in fish
* Clean up previous PR
* Add bell and command option to `notify_on_cmd_finish`
* Use a boolean rather than an int
* Cleanup previous PR
* launch watcher: add on_cmd_startstop event
* Allow sending notification when a command finishes
* Bump the all-go-deps group with 2 updates
* ...
* Fix config file reloading not working is a system config file is set and no user config file is present at startup
* Allow package build to complete without docs if user chose to skip building kitten
* Fix searching for kitten to build man pages on macOS
* See what\'s going on with finding kitten in CI
* mypy again
* Fix #6812
* Fix Linux CI build
* ...
* Generate man pages for kitten and all its sub-commands recursively
* Make mypy happy
* Add an option to setup.py to skip building kitten
* Remove no longer needed monkeypatch
* ...
* Make shebangs consistent
* Fix failing tests
* Fix #6803
* Wed Nov 08 2023 scott.bradnickAATTsuse.com- Update to version 0.31.0+git20231108.cda97b5:
* string changes
* version 0.31.0
* Ensure clenup is run even when ssh child is killed by interrupt
* Allow only printable ascii in echo
* Fix regression that broke quick exit from ssh kitten
* python 3.10+ requires PY_SSIZE_T_CLEAN
* Bump the all-go-deps group with 2 updates
* Bump version of bundled python
* Add focus reporting capabilities to terminfo
* ssh kitten: Fix restore state not being called after interrupt
* Add non-interactive options for paste sanitization
* Improve paste sanitization
* ...
* Wayland: Fix primary selections not working with the river compositor
* Only alias sudo if no systemwide terminfo db for xterm-kitty is found
* Add a note about dynamic config reload behavior of underline_hyperlinks
* A new option to control when hyperlinks are underlined
* Add some docs on why no-sudo might be needed
* ssh kitten: Fix a regression that broken ctrl+space mapping in zsh
* Thu Nov 02 2023 scott.bradnickAATTsuse.com- Update to version 0.30.1+git20231102.52cebf0:
* DRYer
* Add a new interactive action to set the active window title
* ...
* fish integration: Dont clobber user defined sudo function
* Update changelog
* Also use a function for sudo in fish to avoid the --edit issue
* bash integration: Also make sudo a function
* zsh integration: Use a function for sudo
* ...
* Run local build before building docs
* Warn of possible graphics issues with text_fg_override_threshold
* Bump the all-go-deps group with 2 updates
* ...
* Report invalid effective listen_on as a bad config error
* Set window title when showing errors
* A bad listen_on value should not prevent startup
* ...
* Fix #6761
* ...
* Note cursor movement behavior for relative placements in the spec
* Clarify relative placement spec
* Graphics protocol: Support for positioning images relative to other images
* ...
* Fix empty emoticons panel in unicode input kitten
* Use a hash table for images
* Use a hash table for image placements
* Same treatment for image and render data arrays
* Prepare for fast image/ref lookup via hashmap
* Cleanup changelog
* micro optimization
* ...
* Better fix for macOS deadlock
* Fix deadlock on macOS caused by recent support for pipe peers
* Allow o key to take effect in any chunk of OSC 99
* Document when o key was added to desktop notifications spec
* ...
* desktop notification protocol: Allow applications sending notifications to specify that the notification should only be displayed if the window is currently unfocused
* Fix #6750
* On second thoughts dont use foreground process env vars for kitten AATT ls
* ...
* kitten AATT ls: Return environ of foreground process
* ...
* Render Private Use Unicode symbols using two cells if the second cell contains a non-breaking space as well as a normal space
* Update bundled harfbuzz version
* function to convert monotonic_t to microsecs
* Fix #6746
* Bump the all-go-deps group with 1 update
* Fix stripping of escape codes not stripping \\r when bracketed paste is not active
* Clean up mouse-demo kitten
* ...
* Consider \\r dangerous without bracketed paste
* Add window titles to various ask kitten invocations
* Nicer formatting for paste sanitization confirmation message
* ...
* ...
* Always ask for confirmation when pasting text with control codes in it
* When pasting in bracketed paste mode and the cursor is at a shell prompt, strip out C0 control codes
* ...
* A new option single_window_padding_width to use a different padding when only a single window is visible
* ...
* Two new event types for watchers
* More kitty AATT -> kitten AATT
* More kitty AATT -> kitten AATT
* Create an easy to use alias for running remote control scripts
* ...
* Change kitty AATT to kitten AATT in the docs
* Advertise the ability to run remote control scripts without turning on remote control
* ...
* Allow launched background process to work with --allow-remote-control
* Fix a regression that broke kitten update-self
* update docs for remote_kitty
* Fix deprecation warning for compositing operation
* Add presenterm to the list of integrations
* Make set_pointer_shapes private
* Mention that pointer shapes can be demo-ed with the mouse_demo kitten
* Fix the diagonal resize shapes on Linux
* Show pointer shapes in mouse_demo kitten
* Port the mouse_demo kitten to Go
* Fix help text and short desc for the two wrapper kittens
* Improve the docs for how to match multi-line hints
* ...
* Dont expand cwd=current in rc launch
* Remote control launch: Fix the --copy-env option not copying current environment variables
* Add a sentence emphasizing the pointer shapes are independent of mouse reporting
* Add the cell pointer shape
* Bump the all-go-deps group with 1 update
* Add a paragraph on legacy xterm compat for pointer shapes
* Note when support for pointer shapes was added
* ...
* Use hand pointer when hovering over buttons in ask kitten
* Add pointer shape enum to kittens
* A new escape code to change the shape of the mouse pointer
* Mention behavior of focus_follows_mouse in docs on macOS
* dedup choice literals
* We require python 3.8 so no need to guard typing.Literal
* Ignore long lines in another generated file
* Make relative imports work in gen scripts even when directly executed
* Implement mouse shape support for macOS
* Rationalize mouse cursor shape handling
* Fix #6715
* Also move data files for gen scripts into gen dir
* py3.8 support
* Move gen scripts into their own package
* ...
* Fix trailing bracket not ignored when detecting a multi-line URL with the trailing bracket as the first character on the last line
* Remove pre python 3.8 compat shim as we now require 3.8
* Fix a regression caused by rewrite of kittens to Go that made various kittens reset colors in a terminal when the colors were changed by escape code
* Fix #6695
* ...
* Centralize freeing of opts object allocs
* Dont show hidden sub-commands during completion
* completion: match exe on basename alone
* kitten AATT set-background-opacity --toggle
* Add background_opacity to AATT ls output
* A new option menu_map that allows adding entries to the global menubar on macOS
* ...
* Typecheck map_type
* Proper fix for braindead macOS login
* Bump the all-go-deps group with 2 updates
* Run login on macOS with -q
* Fix compilation without LTO
* Make build reproducible
* Note that fzf now supports the kitty graphics protocol for image previews
* Fix documentation of word_and_line_from_point
* Add word-and-line-from-point feature to possible mouse selection actions.
* Thu Oct 05 2023 scott.bradnickAATTsuse.com- Update to version 0.30.1+git20231005.6a3529b:
* version 0.30.1
* Update changelog
* More linter fixes
* Fix themes that dont define a background color incorrectly being classified as light
* ...
* Dont assume /dev/stderr exists
* kitten: Add armv7l alias to arm
* ...
* Fix #6650
* Expose at_prompt property in kitty AATT ls output
* Fix secure restore state runtime warning from cocoa being printed to stderr
* Bump the all-go-deps group with 1 update
* ...
* Dont need setuptools since we only use python stdlib
* Fix incorrect exception when tic fails
* Note that nushell supports the kitty keyboard protocol
* clean up some docs text
* Add window groups to kitty AATT ls output
* ...
* Fix #6653
* Make mypy happy
* ...
* man pages: Fix table markup in kitty man pages not being rendered correctly at all window sizes
* Bump the all-go-deps group with 7 updates
* Simplify count-lines-of-code
* Update FAQ on sudo + terminfo
* Shell integration now aliases sudo to make the kitty terminfo db available in the sudo environment
* ...
* Better fix for clone-in-kitty
* Fix clone-in-kitty broken because of login wrapping
* macOS: When running the default shell, run it via the login program so that calls to ``getlogin()`` work
* run-shell: Allow specifying the cwd
* More linter fixes
* More linter fixes
* Use resolved shell for --hold
* Expand environment variables in the shell option
* fix double backslash
* Dont use os.Remove on failures in syscall_shm
* ...
* ...
* Always use fallocate() on Linux for SHM creation
* Using fcntl() based fallocate on darwin doesnt work with file descriptors returned by shm_open
* More linter fixes
* Fix build of fallocate_darwin.go
* Use fallocate() rather than truncate() when creating SHM memory
* More linter fixes
* DRYer
* ...
* icat: Dont open the controlling terminal to query for size if stdout is a terminal, use it instead
* Dont call tcgetattr when no operations are specified
* Remove unused code
* More linter fixes
* Change kitty +kitten -> kitten in docs
* Thu Sep 21 2023 scott.bradnickAATTsuse.com- Update to version 0.30.0+git20230920.eb05f686:
* Update changelog
* Fix ssh kitten override parsing ignoring settings inherited from ssh.conf
* More linter fixes
* More linter fixes
* Yet another stupid entry in Info.plist for Apple\'s security theatre
* Better error message for APC payload too large
* More linter fixes
* More linter fixes
* More linter fixes
* Fix some linter issues
* themes kitten: Allow absolute paths for --config-file-name
* ...
* Link to a couple of kittens for more advanced scrollback paging in the docs
* Remove unused code
* fix link in changelog
* ...
* version 0.30.0
* ...
* Update recent major new features
* Adjust the workaround for non-linear blending of transparent pixels in compositors to hopefully further reduce fringing around text with certain color issues
* Remove unused code
* Go: Fix parsing of nullable colors
* ...
* Wayland: Do not request idle inhibition for full screen windows
* Make a couple of other Set API functions nil-safe
* Fix #6615
* Handles go versions like go1.22-YYYYMMDD-RCXX.
* diff kitten: Add support for files that are identical apart from mode changes
* diff kitten: Dont panic for empty changesets
* Fix #6611
* SSH does not parse port from hostname when not using a ssh:// URL
* Add some tests for uname/hname parsing
* ssh kitten: Fix a regression causing hostname directives in ssh.conf not matching when username is specified
* Remove unnecessary copy of the decoder array
* ...
* Ensure efficient conversion for base85 string API
* Do not build decode table for base85 until it is actually needed
* Import base85.go into tree
* cursor-shape depends on tablet-unstable
* Skip zero group_count images in draw_graphics()
* Fix erasure of unicode placeholder images on reset
* Cleanup previous PR
* add documentation for line breaking syntax
* conform to style guide
* add tests for go config parser
* add line break syntax to go config parser
* add tests for python config parser
* add line break syntax to python config parser
* When multiple confirmable close requests are made focus the existing close confirmation window instead of opening a new one for each request
* Bump bundled Wayland version so we can use the new cursor shape protocol
* Ensure group_count is never zero in any ImageRef
* kitten run-shell: Make kitty terminfo database available if needed before starting the shell
* Function to extract terminfo
* Add docs on how to use shell integration inside a container
* When running a shell for ``--hold`` set the env variable ``KITTY_HOLD=1`` to allow users to customize what happens
* kitten run-shell: Allow specifying env vars when running the shell
* cli/command: remove redundant nil check
* ...
* Group dependabot update PRs
* fix three presumed typos
* Update changelog
* ...
* added missing link to docs
* macOS: Fix keyboard shortcuts in the Apple global menubar not being changed when reloading the config
* Fix incorrect shader recompile on settings change
* Hide tracebacks for parse errors of match expressions
* Nicer error message when unknown location specified in search query
* Make mypy happy
* Remote control: Allow matching by neighbor of active window
* Make the Go example for getting window size complete
* ...
* Remove unnecessary branch
* Allow more chars in visual_window_select_characters
* ...
* Add a note that unicode placeholders cause image wrapping
* Update changelog
* kitten icat: Fix image being displayed one cell to the right when using both --place and --unicode-placeholder
* Fix #6555
* Use a separate cache for the job that builds static kittens
* The github setup-go action now supports caching out of the box
* unicode_input kitten: Add an option to specify the startup tab
* Improve sectioning in kitty.conf manpage
* ...
* CI: See if we can cache golang build artifacts
* Make building of static kittens the last step in CI
* Make mypy 1.5.0 happy
* receive kitten: Send signature in 4KB blocks
* Ensure transmit next chunk is called
* Replace utils.Once with stdlib sync.OnceValue
* Bump go version to 1.21
* Fix a hang in the send kitten when transmitting deltas of multiple files and the files have not changed causing the signature of the second file to arrive after the delta for the first file is transmitted
* Make transmission of rsync signature from terminal more efficient
* Remove already done TODO note
* Mon Aug 14 2023 Scott Bradnick
- Swapping over to alabaster for documentation as pep-0668 doesn\'t [easily] allow for \'pip install furo.whl\'
* https://peps.python.org/pep-0668/
* Tue Aug 08 2023 scott.bradnickAATTsuse.com- Update to version 0.29.2+git20230808.b348195:
* Ignore listen_on=none in kitty.conf
* ...
* Fix incorrect ETA calculation for active file
* More fixes for send kitten
* Make wait_for_write_complete more robust
* Nicer error message for invalid listen on values
* Fix typo
* Work on refactoring send kitten to fix various issues
* Mon Aug 07 2023 scott.bradnickAATTsuse.com- Update to version 0.29.2+git20230807.0971e8c:
* strings.Title works better than cases.Title
* ...
* Use an atomic update for erase + draw not only draw
* simplify code
* flush after run_cli, more logical
* ...
* Ensure usage of __attribute__(cleanup) never frees un-initialized memory
* Fix error from asan when built with clang
* Let go tests run without blocking on stdio
* ...
* Bump golang.org/x/image from 0.10.0 to 0.11.0
* Fix multiple finish cmds at end of send
* Speed up write performance to loop
* Fix stdio not actually being forwarded
* More robust stdio forwarding in tests
* Get stdio forwarding working in the PTY tests
* Prevent go test output being interleaved with python
* Remove unused code
* Replace another deprecated function
* Port calls to slices.Sort functions since they now need a cmp() function rather than a less() function
* bump Go dependencies
* ...
* ssh kitten: Easily forward the remote control socket tot he remote host
* Remote control: Allow using a random TCP socket as the remote control socket and also allow using TCP sockets in kitty.conf
* CI is even slower than I thought
* ...
* Thu Aug 03 2023 scott.bradnickAATTsuse.com- Update to version 0.29.2+git20230803.cade8ef:
* kitten AATT ls: Allow limiting output to matched windows/tabs
* remove unused code
* Update changelog
* Document the rsync wire formats
* Increase timeout for child exit on CI
* Cleanup user docs for transfer kitten
* Detect prompt lines in code blocks
* Add more integration testing for the transfer kitten
* Bump version of libxxhash
* Tests for normal mode home dir expansion
* Get the multi file tests working for the receive kitten
* Ignore EINTR
* lp.Println() should act live fmt.Println()
* ...
* Fix the tree walker
* Also output data length in FTC repr
* Fix local base being ignored in make_tree
* Misc fixes
* Fix panic on making tree
* Improve stack trace formatting
* Start on tests for receive kitten
* Dont wait for cancel response when user denies permission
* Make getting function name a utility function
* Ignore directory mtimes when testing
* cleanup close file error handling
* ...
* DRYer
* Ensure shortduration is no more than 8 chars
* Make short duration formatter re-useable
* ...
* Fix render_duration()
* DRYer
* Nicer string repr for operations
* Fix block range coalescing not working in algorithm.c
* DRYer
* Clean up error handling
* ...
* ...
* Dont ignore close error
* More work on receive kitten
* Ensure output.Write is not called outside of the stream decompressor function
* ...
* Change receive code to use new streaming decomp infra
* ...
* Simplify stream decompressor
* Fix debugprintln to forwarded stdio implementation
* Fix fd leak in debugprintln
* ...
* ...
* DRYer
* ...
* More work on porting the receive kitten
* More work on porting receive kitten
* More work on porting receive kitten
* More work on porting receive kitten
* A better way to wrap go\'s zlib into a streaming decompressor
* ...
* More work on porting the recieve transfer kitten
* Start work on porting receive code to Go
* ...
* Some docs for the transfer kitten --help
* A facility to easily have child programs print to kitty stdout
* Fix registering of mtimes
* More tests for send kitten
* Add option to control compression modes
* Dont check exitcode on ancient python
* More tests
* Cant flush response in a parser callback as it can cause recursive parsing
* Fix buffer leak in parse_bytes() function used during testing
* Update docs on what is needed for the transfer kitten
* Infrastructure for testing the transfer kitten
* Basic rsync transmission works
* ...
* Fix de-serialization of base64 data
* Prevent ruff from failing because of to be ported test
* remove unused code
* Remove python send/receive implementations
* Wire up the rsync code in the send kitten
* Port file_transmission.py to use the new rsync code
* Ported tests all pass
* ...
* Nicer function names for endian encode/decode
* ...
* Start work on porting rsync roundtrip tests
* Get the new rsync code building
* Finish the port of the rsync algorithm to C
* Read serialized signatures
* ...
* Type signature for Patcher
* Port code to apply serialized delta operations
* Use pkg_config for xxhash flags
* Replace more references to librsync
* Replace bundling of librsync with libxxhash
* Specialize binary encoding on little endian arches
* Add tests for the xxhash based hashers
* Restore a couple of needed functions to the rsync module
* Replace librsync with xxHash in sources.json
* Patcher signature generation implemented
* Expose reset as well
* Start work on porting Go rsync implementation to C
* Add a test that the last op is hash
* Also use io.Writer for signature iterator
* Change delta creation API to use io.Writer
* Forgot to update FTCSerialization test for new behavior
* Add overall file checksum verification to the rsync protocol
* Work on adding overall checksum support
* Update safe string pat in go code to match updated spec
* Allow users to customize buffer growth strategy
* Use the append paradigm for the delta iterator as well
* Add some API docs
* Change signature generation API to allow caller to provide storage and control iteration
* Micro-optimization: store strong hash as a uint64 instead of a byte slice
* Make the rsync struct private
* Make the hasher var private in the rsync API
* ...
* More tests
* Clean up delta generation algorithm implementation
* Use the iterator design for bytes based API as well
* Make diff internals private
* Make serializing data ops avoid a double copy
* Removal original delta operation implementation
* ...
* Make the test non-random
* Show invocation line for failing test
* Speedup Memset for single val
* Improve testing infra for rsync roundtrip
* ...
* Work on cleaning up the checksum searching algorithm
* Increase MaxBlockSize
* In the tests check that too much data is not being transmitted
* Fix a bug in upstream CreateDelta that could ignore trailing data if a matching hash is not found for it
* Check for error during seek()
* Get the test to pass
* Work on creating tests for rsync api
* Simplify API a bit
* Split up API into two structs one for diffing and one for patching
* Dont use JSON for signature header
* Make CreateSignature byte oriented
* Make loading of external signature data also streaming
* Wrap the rsync Go API to use with byte streams and arbitrary hash functions
* Import Go implementation of rsync algorithm
* DRYer
* More misc send fixes
* Fix a couple of infinite loops
* Fix incorrect remote file existence detection
* Utility function to initialize struct based on default tags
* Fix various println invocations since println does not add spaces between arguments
* More work on porting transfer kitten
* ...
* Speed up base64 decode even more
* Use encryption for bypass
* Fix encode_bypass
* ...
* Note that when chunking base64 data for the graphics escape code chunks must be 4-byte aligned
* Implement fast padding-less base64 encode/decode for python
* ...
* More work on porting transfer kitten
* More work on porting transfer kitten
* More work on transfer kitten porting
* more work on the transfer kitten
* ...
* More work on transfer kitten porting
* ...
* Proper parsing of safe_string fields
* Get rid of enum boilerplate
* ...
* Allow easy string representation of FTC as JSON dict excluding the data field
* Finish parsing of FTC
* Start parsing of FTC
* Finish serialization of FTC
* more work on transfer kitten
* more work on the transfer kitten
* more work on the transfer kitten
* Port send file mapping tests
* More work on the transfer kitten
* ...
* More work on transfer kitten
* Start work on porting the transfer kitten to Go
* X11: Print an error to STDERR instead of refusing to start when the user sets a custom window icon larger than 128128
* Allow building docs using the develop infrastructure
* Update docs for new develop builds
* Build a minimal kitty.app in develop mode
* Use an absolute path to python code for develop builds on macOS
* Get develop builds working on macOS as well
* Use a proper etag filename
* Store deps in per-platform dirs
* Move include path logic for develop into setup.py
* Use system fontconfig in develop mode
* make develop now builds on Linux
* rename script
* Thu Jul 27 2023 scott.bradnickAATTsuse.com- Update to version 0.29.2+git20230727.e484463:
* Script to download prebuilt dependencies into a local folder
* Sanitize user vars
* New remote control command to set user variables
* Allow specifying user vars with the launch command
* ...
* Allow matching on user vars
* ...
* kitty AATT ls: Add user variables set on windows to the output
* Cleanup compile_python to use facilities from modern python
* version 0.29.2
* unicode_input kitten: Fix scrolling over multiple screens not working
* unicode-input: Fix single column rendering of table
* Wed Jul 26 2023 scott.bradnickAATTsuse.com- Update to version 0.29.1+git20230726.22dd8ec:
* Apparently people out there want to build kitty with rc Go versions
* Fix infinite loop in text for current mouse selection
* ...
* More timer dispatch loop cleanups
* Nicer debug output of timers
* Avoid unnecessary copy and sort of timers
* Fix timer that does not fire at next loop tick being discarded
* Update changelog
* Also detect makefiles as plain text files
* Add TeX as a known textual mimetype (.tex and .latex)
* Fix regression that broke display of error on failure to open URL
* Workaround bug in ruff
* Only draw resizing text if there has been more than one resize event
* Draw resizing text with semi-transparent background
* macOS: Disable OS window shadows for transparent windows as they cause rendering artifacts due to Cocoa bugs
* ...
* show-key legacy mode: Handle EAGAIN/EBUSY when reading from tty
* Go back to using uniforms for the gamma LUT
* Mon Jul 17 2023 scott.bradnickAATTsuse.com- Update to version 0.29.1+git20230717.a0341af:
* version 0.29.1
* Update Changelog for previous PR
* X11: Add support for custom window icon
* ...
* Update changelog
* Make loop a little more clear
* Fix incorrect iteration over image groups
* DRYer
* Move clipping of graphics into the shader using gl_ClipDistance
* Fix typo in option definitions
* ...
* Have ctrl_l clear the current prompt line so it is not saved in the scrollback
* Fix the save and clear ctrl+l zsh example
* Fix indentation from last PR and cleanup case
* A new value for background_image_layout to scale the background image while preserving its aspect ratio.
* Nicer error message for pwfile owner/permission mismatch
* fixed CENTER_CLAMPED to center images bigger than view, added CENTER_SCALED background image layout option
* Dont use exist_ok in the bootstrap script as it might be run with python2 where it doesnt exist
* GNOME: Fix wayland_titlebar_color not being applied until the color is changed at least once
* macOS: Fix a regression that caused the titlebar to be translucent even for non-translucent windows
* Update changelog
* macOS: Add a new value titlebar-and-corners for :opt:hide_window_decorations that emulates the behavior of hide_window_decorations yes in older versions of kitty
* macOS: Fix a regression causing
*burn-in
* of text when resizing semi-transparent OS windows
* macOS: Render OS windows during windowDidResize for even smoother live resize rendering
* Move individual OSWindow rendering code into a separate function
* Fix one place where change_live_resize_state is not called
* Fix compilation against musl
* Remote control launch: Fix --env not implemented when using --cwd=current with the SSH kitten
* Mon Jul 10 2023 scott.bradnickAATTsuse.com- Update to version 0.29.0+git20230710.72f283e:
* macOS: Fix a regression that caused rendering to hang when transitioning to full screen with macos_colorspace set to default
* Dont require kitten to be in PATH when opening at cwd
* version 0.29.0
* Add an example for how to get a single color from AATT get-colors
* Bump golang.org/x/image from 0.8.0 to 0.9.0
* Bump golang.org/x/sys from 0.9.0 to 0.10.0
* Fix insufficient sanitization of safe strings in file transfer protocol
* Thu Jul 06 2023 scott.bradnickAATTsuse.com- Update to version 0.28.1+git20230705.7d2dc25:
* ...
* Wed Jul 05 2023 scott.bradnickAATTsuse.com- Update to version 0.28.1+git20230705.66a2efd:
* Add a note about titlebar-only and rounded corners
* Add support for DECSACE to DECRQSS
* Fix not building with wayland-protocols 1.32
* Do not echo invalid DECRQSS queries back, behavior inherited from xterm (CVE-2008-2383)
* Tue Jul 04 2023 scott.bradnickAATTsuse.com- Update to version 0.28.1+git20230704.2fec9b3:
* Add xterm terminfo entries for focus in/out events
* Unicode input kitten: Fix a regression causing pressing esc to cancel the kitten requiring confirmation
* Fix #6419
* Mark the terminfo files as generated
* Add a few more entries present in xterm\'s terminfo
* Fix typo in the PS/PE terminfo entries
* Another nvim library to use the kitty graphics protocol
* Rename function
* macOS: Fix window shadows not being drawn for transparent windows
* Bump github.com/shirou/gopsutil/v3 from 3.23.5 to 3.23.6
* Bump github.com/alecthomas/chroma/v2 from 2.7.0 to 2.8.0
* Simplify code
* Fix a rare panic in dispatch_timers
* Add helix to the list of editors to search for
* Fix #6410
* Nicer fallback logic when deriving LANG from NSLocale
* fix: fallback to en_US when locale code is invalid
* ...
* DRYer
* kittens: Fix errors not being reported to user when run a UI kitten
* Wed Jun 28 2023 scott.bradnickAATTsuse.com- Update to version 0.28.1+git20230628.e81a402:
* Add a aliases for the | key
* Mark that run-shell is available from 0.29 onwards
* Update changelog
* Implement background blur for KDE on X11 as well
* macOS: Implement background blurring
* Port the show_error kitten to Go
* Port the shell integration tests to use the run-shell kitten
* ...
* Have --hold wait at a shell prompt
* Document the new run-shell kitten
* Have run-shell use the first recognized parent shell by default
* Port the bash setup function to Go
* Port the zsh setup function to Go
* Port the fish setup function to Go
* Work on code to run shells from a kitten with shell integration
* Go code to get the shell of the current user
* background color should always be set in vertex shader
* ssh kitten: Allow configuring the ssh kitten to skip some hosts via a new ``delegate`` config directive
* ssh kitten: When both passthrough args and --kitten args are present dont fail just ignore the kitten args
* Generic helper to concatenate arbitrary numbers of slices
* Make bg_alpha always available
* Fix text_fg_override_threshold not working with multi-pass rendering
* Add entries for bracketed paste to kitty\'s terminfo
* Update URL for styled underlines protocol extension
* Add terminfo entries for cursor shape/color and underline color
* Dont show window size on creation
* Move more code into position function
* Speed up rendering in the case of transparent window + non-underlaid images
* Centralize the cell shader defines
* Move cell vertex positioning code into its own function
* Reduce the default dim_opacity
* Use the new shader include system to avoid having to upload 256 uniform floats to two different programs on the GPU
* Make mypy happy
* add a comment explaining the purpose of the function
* Cleanup a bunch of shader infrastructure
* Remove rendering via framebuffer for transparent windows with images
* Revert \"DRYer\"
* Remove unused code
* Remove unneeded vertex array binding
* Fix #6381
* Fix graphics being scaled during live resize
* accidentally removed initialization of inactive_text_alpha for the premult program
* Make mypy 1.4 happy
* DRYer
* DRYer
* Preserve text size during live resize
* Fix defines in loading of graphics shader
* DRYer
* ...
* Only apply linear2srgb to actual text pixels
* Bump golang.org/x/sys from 0.8.0 to 0.9.0
* Bump golang.org/x/image from 0.7.0 to 0.8.0
* Fix #6367
* Fix #6364
* Add command line options to setup.py to override the python build flags
* Add a non-delete test as well
* ...
* Apparently Python 3.12 no longer raises FileNotFoundError when closing a deleted file
* ...
* Fix misspellings
* Show shader filename in compilation error messages
* Build the multi-replace dict only once
* Move loading of shader programs into shaders module
* Cache shader source code loading
* Move shader loading code into its own module
* Use sub-targets rather than recursively invoking make
* Fix typo in Makefile (no build target)
* Clean up shader compilation error handling
* DRYer
* Remove duplicate definitions of linear2srgb functions in shaders
* Infrastructure for loading shaders from multiple source files
* add path to envvars for cross compilation
* ...
* Add rudimentary support for cross-compilation
* Correct the naming of the window arg to call_remote_control
* Fix example in docs of using call_remote_control
* Fix window size not always being hidden after a resize
* Fix #6345
* ...
* Remove the resize_draw_strategy option
* Fix jerky behavior when live resizing an OS window on platforms that report live resize being and end events
* ...
* Also rebuild the HTML docs that are bundled with the kitty package
* Fix incomplete search results on kitty docs website search
* Bump github.com/shirou/gopsutil/v3 from 3.23.3 to 3.23.5
* Bump github.com/dlclark/regexp2 from 1.9.0 to 1.10.0
* Bump golang.org/x/sys from 0.7.0 to 0.8.0
* Create dependabot.yml
* Fix a regression in 0.27.0 that broke setting of specific edge padding/margin via remote control. Fixes #6333
* Make timestamps.js re-useable
* ...
* Move video markup into a separate file
* Move the timestamp data into the rst file
* Add a title to the list of timestamps
* No need to use JS modules just embed the data in timestamps.js
* Refactor timestamps JS
* Correct css filename
* Add timestamps under introductory video
* Live load
*-actions.conf
* ...
* Fix #6315
* Add .rb as a known MIME type
* Add a note about develop-docs to the build docs
* Dont check for allowed filepath for SHM transfers
* Autogen enum <-> string boilerplate for Go
* ...
* Allow screen_dirty_line_graphics to be used with either main or alt buffers
* Fix a regression in 0.28.0 that caused a buffer overflow when clearing the screen
* simplify API of utils.Once
* Dont use non-writeable locations containing kitty.conf as the config dir
* ...
* Use /dev/null rather than /dev/tty for the test
* Refuse to read image files in /proc /sys and /dev
* clipboard kitten: Dont set clipboard when getting clipboard
* Show proper error message in diff when failing to load image
* Fix a panic when failing to load some images in a diff
* Remove a bunch of option processing code and directly define the threshold in the shader
* ...
* Calculate only one composition strategy in the fragment shader
* Fix fg threshold not applying when using legacy text composition
* Only import resource module when actually running the test instead of at import time
* Skip crypto test if RLIMIT_MEMLOCK is too low
* Only move graphics on resize if the actual num of content lines chages
* Graphics: Move images up along with text when the window is shrunk vertically
* Dont require restart to change text_fg_override_threshold from zero to non-zero
* Cleanup previous PR
* Don\'t override when colored_sprite
* Remove glsl if-else, add macro, separate new opt
* Fix #6292
* Correct typo in graphics protocol specification
* Clarify language describing num_window_groups
* Add foreground override contrast threshold
* Also update ANSI color table for tab bar screen objects
* Add awrit to keyboard-protocol
* Add awrit to graphics-protocol
* When asking for permission to exec a shebang script also add options to view or edit the script
* Implement a dedicated function for word matching rather than relying on a regex and being at the mercy of the vagaries of regex implementations
* hints kitten: Switch to using a regex engine that supports lookaround
* Add support for OSC 1337 SetUserVar
* Mon May 22 2023 Scott Bradnick - Swapping back to furo as \'furo-2023.5.20-py3-none-any.whl\' provides the proper sphinx support
* Fri May 19 2023 Scott Bradnick - Changing \'Conflicts: kitty-terminfo\' to \'Recommends: kitty-terminfo\' for kitty
* Seems to break `sudo vim /path/to/some/file` if FULL terminfo files aren\'t present and TERMINFO env var doesn\'t follow env_keep sudoers config.
* A remote host that has (only) kitty-terminfo has no issue w/ sudo, but a host with kitty + kitty-shell-integration receives the message \"\'Terminal entry not found in terminfo\" for `sudo vim`.
* Tue May 16 2023 Scott Bradnick - Changing \'Recommends: kitty-shell-integration\' for kitty- Changing \'Conflicts: kitty-terminfo\' for kitty- Adding \'Conflicts: kitty\' for kitty-terminfo
* Mon May 15 2023 Scott Bradnick - Moving to %{_libdir} from %{_prefix}/lib
* Mon May 15 2023 Scott Bradnick - Incorporating separate kitty-terminfo (1087116) and kitty-shell-integration RPMs
* Wed May 10 2023 scott.bradnickAATTsuse.com- Swapping in alabaster for furo until furo supports Sphinx>=7.0- Update to version 0.28.1+git20230510.6a2edfa:
* Add support for 0x1fb90
* Revert \"Improve shade character appearance\"
* Improve shade character appearance
* ...
* Improve docs for reset the terminal
* A new escape code that moves the current contents of the screen into the scrollback before clearing it
* Ensure kitty is rebuilt after publishing the nightly
* ...
* ...
* Add a note about why kitty terminfo does not have E3
* Fix shade characters to follow unicode standard
* ...
* ssh_kitten: Proper exit code for termination by SIGINT
* ssh kitten: Fix a regression in 0.28.0 that caused interrupt during setup to not be handled gracefully
* Correct the type signature for callback
* Fix #6251
* Add a link to awrit in the integrations page
* edit-in-kitty: Fix running edit-in-kitty with elevated privileges to edit a restricted file not working
* ...
* ...
* kitty +open: Ask for permission before executing script files that are not marked as executable
* When publishing stash untracked files as well
* Fix re-using an image id for an animated image for a still image causing a crash
* ...
* ...
* Entry point for parsing theme metadata
* bash_integration: Do not leak variable `i`
* When parsing theme metadata ignore the name if it is the placeholder value from the template
* Fix #6238
* Fix #6230
* diff kitten: Fix a regression in 0.28.0 that broke using relative paths as arguments to the kitten
* hints kitten: Fix a regression in 0.28.0 that broke using sub-groups in regexp captures
* Dont apply linear2srgb in borders with bg image as the cell shader doesnt apply it then either
* Update changelog
* Fix #6224
* Fix #6225
* clipboard kitten: Fix a bug causing the last MIME type available on the clipboard not being recognized when pasting with arbitrary MIME types
* DRYer
* Also show stderr from tmux on failure
* Use FindExe to find the tmux executable and return a nicer error message when running tmux fails
* Allow using set_tab_title without a pre-filled title. Fixes #6217
* fix: account for incorrect gamma-blending performed by compositor on transparent windows
* style: use ifdef to be consistent with the other cases
* feat: more exact sRGB approximation
* docs/basic.rst: Add resize window shortcut
* show_key kitten: In kitty mode show the actual bytes sent by the terminal rather than a re-encoding of the parsed key event
* Fix rendering of :doc: links with explicit titles in help text in the terminal
* Fix #6213
* unicode_input: Only serialize favorites if no user config exists
* unicode_input kitten: Fix a regression in 0.28.0 that caused the order of recent and favorites entries to not be respected
* hints kitten: Fix regression causing editing of favorites to sometimes hang
* Fix #6202
* Fri Apr 21 2023 scott.bradnickAATTsuse.com- Update to version 0.28.1+git20230421.6cc8e67:
* Add example code to get screen size in Bash
* Website: Fix optimization of social preview images
* version 0.28.1
* ...
* Make it clearer that exclude operates only on directories
* Bump versions of various go deps
* Fix #6193
* Emphasize that names of custom theme conf files must actual builtin theme names to override them
* Fix a regression in the previous release that broke usage of custom themes
* Make Samefile interface a bit nicer for working with paths
* themes kitten: ignore custom theme files if they are stdout
* Wed Apr 19 2023 Scott Bradnick - Updating doc to live in packages subdir
* Sun Apr 16 2023 scott.bradnickAATTsuse.com- Update to version 0.28.0+git20230416.91700b3:
* Fix a bug in the Go code of the CSI key event parser
* pep8
* More cases of #5477 functions with empty argument lists
* Optimize social preview images before publishing website
* Fix a regression in the previous release that broke the remote file kitten
* Fix #6185
* version 0.28.0
* Docs: fix heredoc issue in iplot snippet
* log system color scheme changes
* GLFW API to track system color scheme dark/light
* Add twitch-tui to the list of program that use the kitty graphics protocol
* Nicer error message when the version of go on the system is too old
* Keyboard input: Fix text not being reported as unicode codepoints for multi-byte characters in the kitty keyboard protocol
* ...
* Fix #6165
* Allow specifying full layout specifications with options for goto_layout
* Another place where [:max_length] is used without checking
* Note that the kitty keyboard protocol can be used in emacs
* Fix #6160
* Ignore leading and trailing space around values when parsing config lines
* Clean up changelog a bit
* ...
* ...
* Fix parsing of actions in map directives in Go
* Fix #6154
* Add a HOWTO for adjusting text_composition_strategy
* Fix rendering of file added/removed lines
* Fix default for syntax_aliases not being respected
* Fix panic caused by incorrectly constructed empty line
* ...
* keyboard-protocol.rst: Add Helix
* Fix placement of images in diff broken by new render layout
* Only send graphics protocol commands if there are actual images to diff
* Remove unused code
* Wait for keypress on panic in alternate screen kittens
* ...
* Update changelog
* Fix table alignment in docs
* Implement the trim_whitespace option
* Allow passing multiple options to control how wrapping is done
* Dont remove leading and trailing spaces when wrapping
* Add shortcuts for copying to clipboard
* Implement drag scrolling for the diff kitten
* Also parse negative numbers in CSI
* Refactor diff mouse selection to use new render layout
* Refactor diff search to use new render layout
* Refactor diff rendering
* Fix #6142
* Use a filler char other than space
* Get copy to primary selection working
* Adjust the bounds of the mouse selection taking starting half cell into account
* DRYer
* Make the mouse selection code re-useable
* More work on mouse selection
* More work on mouse selection
* Fix default generation for nullable colors
* Fix DECCARA in non-rectangular mode for a single line
* More work on mouse selection in the diff kitten
* Turn off atomic update during direct transmission
* Use join_half_lines in a few more places
* More work on mouse selections
* DRYer
* Start work on mouse handling in diff kitten
* ...
* Fix wheel event detection
* Mon Mar 27 2023 scott.bradnickAATTsuse.com- Update to version 0.27.1+git20230327.e85473c:
* Linux Wayland: Fix animated images not being animated continuously
* Update folder README
* Move the kittens Go code into the kittens folder
* Port the removed walk test to Go
* Remove python diff tests as no longer needed
* ...
* Remove the python diff kitten
* Free images in kitty when quitting diff kitten
* Get image display working
* Fix margin formatting for binary lines
* More work on getting images to display in diff
* More work on image support for diff
* Better struct name
* More work on diffing images
* Nicer error messages for failure to load with Magick
* Make code for loading images with ImageMagick re-useable
* Start work on image support for new diff kitten
* ...
* Fix searching in full title lines
* ...
* Make searches case insensitive
* Fix highlighting of center changes
* Manually specify the closing SGR for a span
* ...
* Avoid panics while rendering
* ...
* Fix tabs and carriage returns being incorrectly sanitized
* Fix diffing dirs
* Show a message for identical files
* Allowing using the anchored diff from the Go stdlib as the diff implementation
* Prevent panics incase highlighting leads to different number of lines
* Fix syntax highlighting of multiline tokens
* Fix bold/dim handling when wrapping
* Micro-optimization
* Fix overrides not being parsed correctly
* ...
* Reset styles after half lines
* Fix various off-by-ones in the search code
* Correct cursor shape when inputting search query
* DRYer
* Implement searching the diff
* New SGR codes to turn off bold/dim independently
* Fix failing test
* Implement changing of context lines
* Code to insert SGR formatting into already formatted strings
* Implement drawing of status bar
* Ensure scroll position is correct after resize
* DRYer
* Implement syntax highlighting
* Implement jumping to fixed locations
* Implement scrolling by lines
* More work on porting diff kitten
* Start implementing shortcut handling
* Do not add a trailing newline when wrapping
* Decrease allocs when wrapping
* Ensure wrapping never results in lines longer than the specified word
* Dont run gen-config for diff kitten
* More work on porting diff kitten
* More work on porting diff kitten
* Allow multiple specifications of kwds,ext,mime in completion specs
* Ensure unique image id in single session
* title lines are now displayed
* More work on porting diff kitten
* More work on porting diff kitten
* More work on porting the diff kitten
* More work on porting the diff kitten
* Port full MIME type guessing to Go
* More work on porting diff kitten
* Abstract typical config file loading with path and cli overrides
* Implement parsing of map
* Add lua mime type as a known text mime type
* Start work on porting diff kitten
* bootstrap-utils.sh: make grep silent
* Allow using --session=none to override startup_session
* Sat Mar 25 2023 scott.bradnickAATTsuse.com- Update to version 0.27.1+git20230321.f046884:
* Allow stopping of URL detection at newlines via url_excluded_characters
* Tall/fat layout: When changing the number of full size windows, reset the main axis biases. Fixes #6123
* Allow specifying an optional integer argument for next_layout. Fixes #6121
* Cleanup previous PR
* kitty_tests, shell-integration: rework getpwuid() exceptions suppression
* Bash integration: Dont fail if the user enabled failglob in their bashrc
* Cleanup previous PR
* shell-integration/ssh/bootstrap.py: suppress getpwuid() exceptions
* kitty_tests/ssh.py: skip login shell detection if getpwuid() fails
* Cleanup previous PR
* Run make debug before building static binaries
* Add option to set XDG sound theme on Linux
* Revert #6114
* DRYer
* Dont request release events for most kittens
* Update icon link
* ...
* ...
* ssh kitten: Fix failure when remote system has no base64 but does have openssl
* Add \"amd64\" as a potential value for \"uname -m\"
* Fix empty folders being considered as kitten
* ...
* Add support for more option types to Go conf file parsing
* Use maps package for generic keys/values functions
* Use the generic contains/index from slices instead of our custom one
* Dont rely on filesystem mtimes for test as they can be flaky
* more useful test failure messages
* forgot to close zip file
* Fix some failing tests
* ...
* Remove themes python code
* Finish port of themes kitten to Go
* Fix sort with key implementations
* More work on porting themes
* Make style cache thread safe
* Convenient loop API to print styled strings
* Wire up the new subseq match code
* Port the subseq matcher to Go
* Make code to convert rune offsets to byte offsets re-useable
* More work on porting themes UI to Go
* Start work on porting themes kitten to Go
* hints: fix select by word broken while porting to Go
* ...
* Updated faq with optimized alt icon preview urls
* Added new icons
* Default permission for atomicupdate should be 0644
* Fix #6105
* Move splitlines_like_git to a more appropriate home
* Add debug print for focus change events
* Get rid of prewarming
* make gofmt happy
* Nicer error message when custom processor produces invalid marks
* Fix offsets incorrect for non-ASCII chars when using custom processing
* Port custom processor for hints
* Remove python implementation of hints
* More work on porting hints
* Port all remaining hints matching tests
* Fix generation of url regex for Go
* More work on porting hints
* Start work on porting hints kitten to Go
* fish integration: Remove newlines from the data in __ksi_transmit_data
* icat: allow specifying image ids
* Add a comment explaining why we rescan even when the line is not dirty
* Always rerender unicode placeholders in the scrollback
* Fix kitty icat broken during the port to Go
* Use the new string scanner everywhere
* A new string scanner thats faster than bufio.Scanner and has zero-allocation
* Don\'t need to save/restore private mode values in icat when output unicode paceholder
* Redraw old unicode placeholders when a virtual placement is added
* Count LoC in tests and docs as well
* DRYer
* Finish porting of ask kitten to Go
* kitty AATT shell: Integrate completions from history
* Dont insert empty spaces when no completions are found
* Dont display empty match groups
* Auto accept completion when only a single candidate is present
* readline: Automatically do word completion based on history
* show message even for password asks
* Fix invocation of wrapped UI kittens
* Implement reading of password
* ...
* Fix mouse CSI parsing
* Start work on porting the ask kitten
* X11: Fix a crash if the X server requests clipboard data after we have relinquished the clipboard
* ...
* make the latest mypy happy
* Wayland KDE: Fix selecting in un-focused OS window not working correctly
* Synthesize click events in the loop
* Cleanup ring buffer implementation
* Implement decoding of mouse events in Go
* diff kitten: Speedup patch parsing by working with bytes rather than unicode
* ...
* Cleanup parsing of single char options
* More tests for rg arg parsing
* ...
* hold: Allow pressing the numeric keypad enter key to exit
* Port the hyperlinked_grep kitten to Go
* DRYer
* Map should use same order of arguments as pythons map
* Import the missing which
* Update to Nerd Fonts 2.3.3
* IME: Right align overlay when typing at the edge of the screen
* get rid of utils.Cut since we can now rely on strings.Cut instead
* Implement automatic tmux passthrough for icat
* Fix active TMUX session detection
* Implement unicode placeholders in icat
* Add new unicode placeholder and tmux passthrough options to icat
* Use Once for CachedHostname
* Dont change the tmux allow-passthrough mode if it is already set
* Generate the rowcol diacrticis for Go as well
* Improve documentation for Unicode placeholders
* Linux binary installer: Proceed via a staged tmpdir
* ...
* Reduce the number of spurious focus events
* Fix deletion of assets from nightly release on GitHub
* hints kitten: Perform copy action with --program when matching linenum
* Fix overlay windows not inheriting the per-window padding and margin settings of their parents
* Fix a regression that broke drawing of images below non-default cell backgrounds
* Fix for GitHub releases API not returning all assets when querying the assets URL due to pagination
* ...
* Use AATT rather than # for named buffers prefix char
* Add protocol docs for async and streaming requests
* hints kitten: Allow copying matches to named buffers
* Fix error display when remote control mapping fails
* Fix setting background image and logo via remote control key mapping not working
* Do not buffer PNG data to disk when setting window background or logo images
* Remove unused code
* Allow loading window background images from memory
* When reloading config also reload all GPU data
* Fix background image not changing when reloading config
* Fix cursor misalignment after displaying detailed traceback
* Don\'t use the deprecated imghdr module
* Add KITTY_VCS_REV for release builds as well
* Add Read/Write to the MMap interface
* DRYer
* Fix askpass.go on shm_syscall based systems
* Fix WriteWithSize() on shm_syscall
* Make test more robust
* Fix ReadWithSizeAndUnlink on systems that have syscall based mmap
* ...
* Dont create SHM files in the bootstrap limit and related tests
* Allow specifying VCS revision on the build command line
* ...
* Remove python implementation of SSH kitten
* Finish porting support for color schemes to SSH kitten
* Fix typo in overview doc
* Code to dump basic colors from a theme as escape codes
* Function to load theme code
* Add tests for cache file downloading
* Support include when loading themes from dirs
* Port theme loading code to Go
* Port code to download themeball to Go
* Code to parse ISO8601 timestamps at least semi-robustly
* More work on porting ssh kitten
* Functions to punch DCS escapes through tmux
* Clean up exclude pattern handling
* Fix remaining failing tests
* More test fixes
* Fix various test failures
* Wire up the new ssh kitten into the python ssh kitten tests
* Switch to a more capable glob implementation that supports
*
*
* Add test for tarfile exclusion
* Stable constants generation
* Move get_connection_data to utils module as it is not needed for the actual kitten
* Port bootstrap script length limit
* More work on porting the SSH kitten
* Add write API to shm objects
* Nicer Set constructor
* Clean up getting runtime dir on darwin
* ...
* More useful Set methods
* API to conveniently generate secure tokens
* Code to read needed options from kitty.conf in a kitten
* Handle XDG_CONFIG_DIRS in Go as well
* Embed the data files needed for the ssh kitten into the Go binary
* Replace some more uses of sync.Once
* Replace use of sync.Once
* Use a struct to store connection related data
* Move SSH askpass implementation into kitten
* A nicer implementation of sync.Once
* Function to create symlinks atomically
* Port code to read cloned env
* Allow Stat() for MMap objects
* Go SHM API to read simple data with size from SHM name
* Handle invalid args and passthrough
* Allow specifying the paths to search in Which()
* Port parsing of ssh args
* String repr for Set
* Port function to get ssh cli options by running ssh binary
* Get completion working for kitten ssh
* dont parse args for the ssh kitten as it will do so itself
* ...
* Fix parsing of copy args
* Finish porting SSH config file parsing
* Also add tests for bad lines
* Move config code into its own package
* Finish up config parser port
* Finish implementation of config file parsing
* Port parsing of env instructions
* Store parsed multi option values on the config object
* Dont parse default values
* Work on porting config file parsing to Go
* Start work on porting the SSH kitten to Go
* ...
* Fix #6056
* Note that we use tabs for indent in
*.go files in editorconfig
* fix typo in .editorconfig
* Fix upload to github not aborting for uploads that fail with protocol errors rather than failure responses
* Also log start of upload
* Dont output empty brackets for release versions which dont have KITTY_VCS_REV
* macOS: Restore pre-edit text after inserting text from the service
* macOS: Fix resize_in_steps being applied when double-clicking on the title bar to maximize the window
* ...
* Also clean
*_generated.bin files
* Cleanup previous PR
* Dont pass PWD to go build
* macOS: Allow IME to actively get the cursor position in real time
* IME: Render overlay at the last visible cursor position with a separate cursor
* Fix #6048
* Image placement using Unicode placeholders
* Fix image distortion when switching between screens
* Clarify what pygments style does
* End APC and PM escape code on BEL as well as ST
* ...
* macOS: Fix window not taking up full height when the title bar is hidden
* ...
* macOS: Display the newly created OS window in specified state
* Bump golang.org/x/image from 0.3.0 to 0.5.0
* Add a link to the pets nvim plugin
* Thu Feb 16 2023 scott.bradnickAATTsuse.com- Update to version 0.27.1+git20230216.72b2ba51d:
* launch: Allow specifying the state (fullscreen/maximized/minimized) for newly created OS Windows
* Cleanup change_os_window_state
* Add x-scheme-handler/ssh to mimetypes
* Finish porting unicode input
* More work on porting unicode input
* More work on porting unicode input
* Fix atomic write not working when file does not exist
* API to set the text at the prompt
* New API to suspend a loop
* ...
* More work on unicode input
* Forgot to exclude some control chars from unicode name based searching
* More work on porting unicode input
* Start work on porting unicode input kitten to Go
* API to save/restore cursor position
* Allow faint as an alias for dim
* Some more useful generic slice utilities
* Atomically update cached values file
* Convenient way to load/save JSON data
* ignore
*.bin files in version control
* Dont strip title for tabs to allow for leading and trailing whitespace. Fixes #6013
* CodeQL does not work for Go code
* Add send_mouse_event to fast_data_types.pyi
* transfer kitten: Use guess_type with custom MIME
* When reloading configuration, also reload `mime.types`
* macOS: Update window button visibility after toggling full screen
* ...
* ...
* CI: Bump versions of the deprecated github actions to the latest
* Get go version from go.mod
* Add chr and ord to safe_builtins
* ...
* Cleanup previous PR getting kitty working on macOS
* Update design philosophy to mention Go code
* gitignore: Remove duplicate ignore rules and add ruff cache directory
* Docs: Remind users to remove macos_thicken_font in changelog
* ...
* Docs: Minor configuration docs improvements
* Docs: Generate commented default configuration files
* Update Changelog for last PR
* IME: Fix IME commit text and update pre-edit at the same time
* Add a note to macos_thicken_font pointing to the new text_composition_strategy
* A generic Set implementation
* Allow specifying initial capacity when splitting lines
* Use strict function prototypes
* Update Unicode data
* Better fix for OGP social cards build failure
* When changing the cursor text color via escape codes or remote control to a fixed color, do not ignore cursor_text_color
* ...
* launch: When using --cwd=current for a remote system support running non shell commands as well
* Function to change the remote command in an ssh kitten cmdline
* Fix a regression in 0.27.0 that broke kitty AATT set-font-size 0
* sRGB glyph composition: Use default values that give \"close to native\" rendering. Also use only a single option to control it.
* Update changelog for last PR
* Minor cleanups
* DRYer
* Mark SRGB LUT table as generated
* Use builtin clamp() rather than min() + max()
* feat: additional contrast on text as a function of luminance difference
* feat: simulate gamma-incorrect blending
* refactor: cell_fragment blending functions
* feat: Use sRGB LUT for cells
* feat: Use sRGB LUT for borders
* feat: sRGB colors to shaders
* feat: sRGB lookup table
* feat(srgb): swap textures and framebuffers to SRGB
* Downgrade OpenGL version requirement to 3.1
* Tue Feb 07 2023 scott.bradnickAATTsuse.com- Update to version 0.27.1+git20230207.45d8a2a63:
* ...
* Changes to make updated mypy happy
* Disable OGP social cards as building them breaks
* version 0.27.1
* Completion: Handle kitty +complete setup fish2
* kitty AATT shell: Fix global options being ignored
* Indicate when caps lock is on while reading password
* Add the command that can be used to get the default config file
* Clean up previous PR
* Completion: Delegate kitty +complete to kitten
* Remove unused code
* Switch to using Go stdlib for ECDH crypto
* Bump required Go version to 1.20
* Shell integration: More builtin commands
* ...
* Update changelog for previous PR
* Fix function key definitions in terminfo/termcap
* Wayland GNOME: Fix for ibus not working when using XWayland
* Fix readSelectionFromPasteboard not actually inserting the text
* Fix typo seems to have no actual effect, but...
* Use crypto/rand rather than math/rand
* Forgot to use builtin for alias
* kitty->kitten typo
* Docs: Remove the text role target that is no longer needed
* Docs: Improve usage and help documents for kitten
* Optimize the services implementation
* Only accept service requests when we actually have a selection
* ...
* icat: Dont try to further compress PNG images when using stream based transmission
* Clarify that a=f is needed for chunked transmission of animation frame data
* ...
* icat kitten: Fix transmission of frame data in direct mode
* Remaining fixes from #5962
* Better fix for kitten not being in PATH
* Fix modify_font not working for strikethrough position
* Tue Jan 31 2023 scott.bradnickAATTsuse.com- Update to version 0.27.0+git20230131.5a997a5f7:
* grammar
* Ensure edit-in-kitty works even if kitten is not in PATH
* Another place to update that talks about symlinking to PATH
* Update installation instructions to note that kitty and kitten both need to be added to PATH
* ssh kitten: Install kitty bootstrap on systems other than linux/darwin as now we have kitten which works on more types of systems
* Add a note that --detach is not available on macOS
* version 0.27.0
* Also build 32-bit kitten for Linux
* Now that we are releasing 0.27.0 dont need to fetch release version to download latest kitten
* Add a note that --spacing is ignored for overlay windows
* Instead of calling insertText duplicate some of its code so we arent limited in the size of text we can insert
* macOS: Integrate with system services
* Add an example for displaying a PNG with bash
* Show bad length in base64 decode error message
* Remote control: Improve create-marker error messages
* Revert \"Fix #5937\"
* Fix #5937
* ...
* Docs: Fix mixed tab and space indentation in the example code
* Add a note about why we play with file descriptors
* ask kitten: Get readline to work even when stdout is redirected
* Move compile_commands.json to build directory
* Also preread STDIN when using /dev/stdin as the source
* Move pre-read code into a separate function for clarity
* clipboard kitten: Allow STDIN to be connected to a program that itself uses the tty directly
* Add a test for creation of anonymous tempfiles
* Code to more securely create anonymous temp files on Linux
* Restore permissions check on pwfile
* Fix ruff invocation in ALE
* Remove unused import
* Fixes the ssh kitten
* Fix ssh kitten not working on FreeBSD
* Make the various path finding functions thread safe and cache their results
* ...
* Also load ~/.config/kitty/mime.types in Go code
* DRYer
* Update known textual mimes to Python
* Add default aliases for YAML and TOML
* Also recognize a few well known MIME types as being textual
* DRYer
* better fix for file completion in Go
* Fix completion for --password-file not completing file names
* remove unused code
* Make the single instance data type checked
* Session files: Expand environment variables
* We still need full keyboard protocol for AATT send-text
* kitten AATT cmd: Dont generate key release events
* Function to drain controlling tty
* kitty shell: Add completion for help and exit commands
* Do not use prewarming for wrapped kittens
* Fix SHELL env var in open-actions.conf and launch-actions.conf
* Also create an automatic text/plain alias when reading from clipboard
* Add trailing newline when printing available MIME types
* X11: Fix a crash when listing clipboard MIME types and the clipboard is owned by self
* clipboard kitten: When copying, automatically add a text/plain alias if there is at least one text/
* MIME and no actual text/plain MIME
* ask kitten: Output JSON when used standalone
* ...
* Abort show_error kitten if stdin is a tty
* Add some messages to kitten help for kittens that are not meant to be run by end users.
* Improve progress printout
* GitHub requires a User-Agent
* Should only return ENOTSUPP if SHM_DIR doesnt exist, not the fil we are trying to open
* ...
* SHM FS: Return a not supported error if SHM_DIR does not exist
* kitten: When guessing MIME types use a builtin list as a fallback, generated from the MIME type definitions available on the build system
* Remove unneeded code
* Use separate connections for every request to github
* Increase number of retries when uploading to github as it is getting flakier than ever
* ...
* ...
* Add a note about all the things wrong with modifyOtherKeys
* Simplify code
* Also add the EINTR fix from previous commit to writing to loop
* kitten AATT: Fix occasional hang until key is pressed while waiting for response from terminal
* Ensure that marking a child for removal works even when the child is still in the queue to be added
* ...
* Dont do extremely small reads
* micro-optimization
* Ensure we are not using iterators when closing
* Fix using cursor=none not working on text that has reverse video
* Fix #5896
* ...
* Use go 1.20 facilities for unsafe string <-> bytes
* Fix #5894
* ...
* Fix typo in overview.rst
* Add a note to CONTRIBUTING.md about bug management
* Re-organize the terminfo FAQ entries into a single one
* A new option undercurl_style to control the rendering of undercurls
* Cleanup previous PR
* Save the overlay when DECTCEM is turned off and restore it when turned on.
* shell.nix: add a missing dependency \'UniformTypeIdentifiers\' for macOS
* Use ruff for import sorting
* When reporting unused activity in a window, ignore activity that occurs soon after a window resize
* Dont rely on existence of sh to report exec failure
* ...
* Update README
* Rename kitty-tool to kitten
* Also build 32-bit ARM kitty-tool for Linux
* ...
* themes kitten: Nicer error message when no internet connection is present
* ...
* ...
* Allow dumping bytes sent to child for debugging
* Allow passing memoryview to paste()
* DRYer
* Fix a bug when copying large amounts of text with OSC 52 introduced by the new multi-format clipboard support
* Enable checks for unused noqa
* broadcast kitten: Allow pressing a key to stop echoing of input into the broadcast window itself
* Dont run isort on generated conf files
* Replace isort with ruff
* Use ruff on CI
* Fix issues reported by ruff
* Move to pyproject.toml and ruff
* Add sample Go code to get screen size
* Update icat kitten docs
* kitty AATT get-colors: Report the current tab bar colors for the active OS window rather than configured values. Fixes #5865
* ...
* Also mention terminal multiplxers can cause graphics to fail
* Make some variables local no need for them to be global
* Remove unused code
* Simplify icat code and write to STDOUT rather than the terminal device
* add a comment
* ...
* Cleanup previous PR
* Adding tarfile member sanitization to extractall()
* ...
* Clarify the common use case for --config-file-name
* Dont need to fetch the current version since GitHub provides a redirecting constant download URL
* We need go >= 1.19
* Remove the old python icat implementation
* icat: When using --place ensure screen doesnt scroll by leaving cursor at top-left corner of image.
* Finish resize handling for the magick engine
* More work on ImageMagick
* Port python\'s shutil.which()
* Start work on rendering with ImageMagick
* Allow controlling num of CPUs for images operations
* Dont scan all pixels of JPEG images when EXIF rotated to check for opacity
* Dont use extra memory for mirror operations
* Dont transmit animation control commands for non-animated images
* Implement scaling for GIF as well
* Copy comment explaining min gap and set it to the correct value
* ...
* ...
* Fix divide by zero
* Get GIF basically working
* DRYer
* Transmission format should be per frame
* Get 24 bit RGB transmission working
* Code to check if an image is Opaque
* ...
* Wire up pasting to RGB
* Code to convert images to NRGB
* Start work on transmitting RGB images
* Implement --scale-up and --place
* Fix failing test
* Get --background working
* Work on adding support for rendering transforms
* Basic go based rendering
* Start work on rendering images with Go
* Set data size for SHM transmission as on some platforms the actual SHM size is not equal to the requested size
* ...
* Get the other two transmission modes working as well
* Get file mode transmission working for unmodified PNG
* Start work on the transmit backend
* Dont allow abort while waiting for query response
* Fix panic when no timers are left after dispatch
* More work on porting icat
* ...
* More work on porting icat
* ...
* Parse more icat cli flags
* Implement --detect-timeout
* Fix SHM on OpenBSD
* Get transmission medium detection working
* MMap.Name() should return the SHM name not the full filesystem path
* Add openbsd and dragonfly support to shm
* Get syscall based SHM working
* Start work on a SHM implementation in Go
* Start work on porting icat to Go
* Turn off hyperlink target display by default
* Show the hyperlink target bar on the top more often than the bottom. This is because the text cursor is usually closer to the bottom.
* Fix some animations pausing before starting
* ...
* zsh completion; Fix leading ~ in filenames being quoted on insertion into commandline
* Add completion for file args to clipboard kitten
* Fix #5852
* dont show URL targetbar when mouse is hidden
* Cleanup previous PR
* move is_modifier_key to glfw.c and expose in Python
* reset current window after processing sequence
* replay modifier key as well
* handle release
* Send sequence events to child if they don\'t match kitty.
* X11: When pasting text/plain try UTF8_STRING first then text/plain/charset=utf-8
* Update the FAQ on vim with a comprehensive set of settings needed to get it to work with modern terminals
* Remote control: Allow matching for self window even over sockets when run inside a kitty window
* Remote control: Allow matching the parent of an overlay window
* Fox object lifetime management
* Pass key events mapped to scroll actions to the program running in the terminal when the terminal is in alternate screen mode
* ...
* Fix AATT send-text --stdin always assuming STDIN is a tty
* ...
* Also use sanitized URL for allow_hyperlinks=ask
* Prettify URLs before displaying them to the user
* Show the target of terminal hyperlinks when hovering over them with the mouse
* Retry failed deletes from github
* readline: add alt+arrow to move by word default binding. Common on macOS
* A few more wrapping serialization tests
* Add a test to ensure \
does not change wrapping status
* Fix typo in iqsort.h
* Switch to tracking linewrap on the last cell in a line
* Fix scrolling images within margins
* make go fmt happy
* Keyboard protocol: Remove CSI R from the allowed encodings of the F3 key as it conflicts with the
*Cursor Position Report
* escape code
* ssh kitten: Compile terminfo with tic coming from pkgsrc under NetBSD
* ssh kitten: Fall back to using openssl when base64 does not exist
* Cleanup readline prompt rendering
* Remove not needed wrapper function since now we use a struct to set attrs
* Define SingleKey bitfields according to endianness
* Revert \"Change the terminfo entry for cud1 to not alter text to comply with the terminfo man page\"
* Bump bundled zlib
* ...
* tests: Use tempdir for XDG_RUNTIME_DIR
* Update mpv support link to point to the actual merged commit
* macOS: Allow to customize Hide, Minimize, and Quit global menu shortcuts
* Fix typo in key definition
* Change the terminfo entry for cud1 to not alter text to comply with the terminfo man page
* Move the alt+left/right binding into zsh integration
* ...
* Add a link for the vim t_ut issue
* macOS: Bind :kbd:`option+left` and :kbd:`option+right` to :kbd:`alt+b` and :kbd:`alt+f`. This mimics the default bindings in Terminal.app
* Add tests for GraphicsCommand serialization
* Add stringer interface to GraphicsCommand
* remove unused code
* ...
* Add an APC to GraphicsCommand parser
* Auto-create an OS Window if none exists on new_tab
* Start work on graphics support in kitty-tool
* ...
* Try to fix tests failing on Python 3.11
* docs: fix overview.rst
* Fix #5773
* Add mpv to the list of things that speak the graphics protocol
* Respect enable_audio_bell when a layout action fails
* Remote control: Add the missing option value overlay-main
* AATTlaunch: When an overlay window is specified in a particular tab via --match use the active window of that tab as the base, not the current tab. Fixes #5768
* explicitly ignore a few errors
* Make sizes explicit in a few reallocs
* also test \\ is escaped
* Fix #5767
* Fix #5764
* Also make lists and dicts of strings escape code safe
* rc protocol: Encode strings values in an escape code safe way
* Fix #5761
* Remote control: Keep the same naming style for ls command output
* ...
* Fix typo in FAQ
* DRYer
* Docs: rg --no-heading has been handled
* Remote control: When matching windows allow using negative id numbers to match recently created windows
* Add a FAQ entry about not being able to use a keybinding in a terminal program
* Cleanup previous PR
* hyperlinked_grep kitten: Handle more rg command line options
* Wed Dec 07 2022 scott.bradnickAATTsuse.com- Update to version 26.5+git20221207.7fe5c79d:
* Also mask signals when SIGNALFD is not available
* ...
* Update changelog with clipboard kitten new features
* ...
* Block handled signals early in startup before glfw is initialized to ensure that if the graphics libraries start a thread behind our backs, that threads defaults to haveing the signals blocked unless the library explicitly unblocks them. See #4636
* Handle EBUSY as well
* Document the new OSC 5522 protocol
* Fix using primary selection with the extended protocol
* Fix the base path for envinclude
* Docs: Remove extra backslashes from commented config
* Put the non-boilerplate functions in their proper place
* ...
* When using the include directive in kitty.conf make the environment variable KITTY_OS available for OS specific config
* When drawing the tab bar have the default left and right margins drawn in a color matching the neighboring tab
* ...
* Simplify passing colors to the borders shader
* Store updated tab bar edge colors on every tab bar redraw
* Function to guess the effective color at the edge of the current screen line
* Document the additions to the clipboard kitten
* Allow using wildcard mime types when copying from clipboard
* Fix make asan
* ...
* Implement MIME aliases for clipboard
* Allow arbitrary bytes in the mime metadata key
* add note about how MIME types are detected
* X11: Fix reading list of available mime types
* Avoid extra roundtrip when only reading clipboard mime types
* Finish implementation of clipboard writing
* Fix show_key kitten showing incorrect CSI encoding for F3
* DRYer
* Move implementation of +hold to Go
* Simplify filter mode operation
* Implement kitty side write OSC 5522
* Better error messages
* Dont truncate the output file just to get tis permission bits
* Ensure permissions are correct when using atomic writes
* DRYer
* Add a generic Values()
* Reading arbitrary MIME from clipboard now works
* Clarify the action of CSI < u in Quickstart
* Cleaner implementation of max_tab_title_length
* Work on implementing read support in the clipboard kitten
* Docs: Slightly adjust the description of tab_title_max_length
* Change the new option to limit tab title lengths to apply to the length of the title, as documented, nit the full tab
* ...
* Dont ask for permission when reading only the mime types available in the clipboard
* Terminal end of OSC 5522 read requests
* Add option to limit length of tab titles
* Add debug output for key encoding state modifications
* Improve debug encoded key output
* Output the bytes sent to the child in --debug-input
* More mypy bugs
* Make mypy happy
* The legacy osc 52 protocol now works with the new clipboard requests manager class
* Start work on a new clipboard protocol to allow terminal programs to access more than just text/plain content from the clipboard
* Wayland GNOME: Workaround for latest mutter release breaking full screen for semi-transparent kitty windows
* Shell integration: Report cwd on the fish prompt event
* ZSH integration: Report cwd on every new prompt draw
* Update docs to use \\e instead of \\x1b for esc since we now support it
* Delegate kitty +kitten clipboard to kitty-tool
* Use a define rather than a generated file for wrapped kittens
* Add a note about using single quotes when passing arguments with backslash escapes to send-text
* Add support for the :link: role to prettify
* kitty shell: Fix pressing enter while cursor is not at end of line causes line to be truncated visually
* Finish porting clipboard kitten to Go
* DRYer: Get hostname
* kitty-tool AATT: Fix extra newline being printed when a command returns no response
* Handle backslash escapes in :code: blocks
* Use base64 for args in old rc code as well
* Fix kitty-tool AATT send-text not processing ANSI escapes
* Port ANSI escape code parser to Go
* Use ANSI C escapes rather than python string literals
* Native code implementation for expanding ANSI escape codes
* Start moving clipboard kitten to kitty-tool
* Docs: Fix missing backslashes
* Add note about Vim\'s support for kitty keyboard protocol
* Query for existing assets and then delete
* sleep defaults to one second
* New sleep action
* Bash integration: Fix clone-in-kitty not working on bash >= 5.2 if environment variable values contain newlines or other special characters
* There should be no trailing space when completing directories for a file match based on patterns
* add some motivation for background_tint_gaps
* Keep two blank lines between each version in the changelog
* Add an option to control background image tinting for window gaps
* Change the Accept header to current github api recommedation
* Apparently github\'s deletion api is flakey, retry
* Increase wait timeout before retry
* ...
* More upload code cleanup
* Cleanup the asset upload code
* Refactor: Use a consistent name for beam cursor shape
* Cleanup previous PR
* Note the Unicode version in the generated files
* Add an option to control max file size for edit-in-kitty
* Dont fail on github responses without JSON payloads
* Allow getting the exe name of the active foreground process in the tab title template
* ...
* Implement edit-in-kitty using kitty-tool
* ...
* Make the Unicode database version used available
* Documentation: distinguish between examples and default values for multi-valued options
* Start work on implementing edit-in-kitty in kitty-tool
* [docs]: don\'t show config codeblocks that only has a name
* ...
* Use nightly to get kitty-tool until 0.27 is released
* Avoid an extra HTTP request to set the uploaded file description
* build in non-interactive mode while publishing
* Increase timeout in test
* Retry uploading file to Github
* When truncating descriptions for completion truncate at word boundaries
* Add support for the repeat escape code to TruncatetoVisualLength()
* Define END_ITER to prevent brace imbalance
* DRYer
* ...
* Fix spurious EOF error when select for reading from the tty fails with a temporary error
* Wrap EOF errors when doing terminal I/O
* Fix another bug in readline cursor position tracking
* Better error message for kitty shell when running unknown command
* Use a pager for the help interactive command as well
* Ensure active hyperlink is cleared when truncating output for completion descriptions
* zsh breaks when there are escape codes in completion descriptions
* ...
* Ensure auto-generated entries such as --help are present for completion by calling Validate()
* Add completion for kitty +list-fonts
* Finish implementation of update-self
* Get progress bar rendering working
* Support the repeat prev char escape code when calculating the width of a string
* fix double signatures
* More work on update-self
* Fix completion for fish
* Some basic TUI widgets ported to Go
* Workaround for mypy bug
* Fix deadlock in update-self
* Allow using the cwd of the original process for launch --cwd
* Start work on a command to self update kitty-tool
* More minor loop API additions
* Add a callback for wakeups
* ...
* Utility function to download a URL to a file path with progress reporting
* Build static binaries on CI
* Set a flag available at runtime when cross compiling kitty-tool
* ssh kitten: Add a kitty-tool wrapper script to auto-download and use kitty-tool
* macOS: Failure to set custom app icon should not prevent launch
* Add a note to changelog about kitty AATT speed improvements
* Use full kitty-tool exe name in github description
* Shutdown macOS build VM after building
* Sign kitty-tool on macOS
* Update docs to mention kitty-tool
* Install go 1.18 for codeql build
* Upload static kitty-tool builds when publishing
* When running kitty-tool without arguments show usage
* Code to build static versions of kitty-tool
* Linux: Use a separate thread to play the beep sound
* Remove unused code
* Use kitty-tool for all kitty AATT incovations
* ...
* ...
* prettify :option:`--xyz>` better
* Improve formatting of completion entries with descriptions
* Fix rendering in cells
* Get completion basically working
* More work on readline completion
* Add function to shlex for completion
* Report stream start position for tokens
* Use a string builder instead of appending to a slice
* Get rid of comment parsing from shlex
* Have the shlex tokenizer return space tokens as well
* Have the shlex tokenizer track position in stream and return defined error types
* Import the google shlex package as we need more sophisticated parsing
* Start work on readline completions
* Move basic multi key shortcut handling into its own package
* DRYer
* Allow pretty printing members of the Action enum
* Move cursor to end of input when traversing history list
* tests for history searching
* cursor_y should be zero when resetting
* more work on history search
* Start work on incremental history search
* Reset keyboard state when resetting text
* Implement number args for repeats
* Cleanup prompt handling
* Map ctrl+c to abort the current line
* make clean should also clean go caches
* Add some tests for history
* Add basic history operations
* Fix mutable default value in dataclass
* ...
* Store cwd in history
* Add some tests for yanking
* Get rid of the unneccessary swap on first configure
* Add yank actions
* Need to install x11-xcb-dev explicitly in jammy
* Implement word killing actions
* Start work on kill ring
* Implement clear screen c-l binding
* Use the more efficient cell iterator api for single char horizontal cursor movement as well
* Implement bindings for moving by simple word
* An easy to use iterator to iterate over the cells in a string
* Fix the escape code parser not preserving complete utf-8 state between calls to ParseBytes()
* Add some test for vertical movement
* Implement vertical cursor movement
* More tests
* Rewrite the readline redraw code to make the screen lines explicit
* handle ctrl-c better when interrupting go test
* Avoid Querying screen size on every resize
* DRYer
* Port output of active window and tab ids at shell startup
* Start work on history support for readline
* Go stdlib doesnt even have a way to lock files
* Dont send invalid kitty-cmd escape code over tty
* More useful PARSE ERROR msg for unknown AATT commands
* Actually run the remote control commands from the shell
* Code to show help
* Fix rendering when line wraps
* ...
* remove unused code
* Improve performance when pasting large amounts of text into readline by not redrawing on every char
* Add a generic ring buffer
* Fix selector incorrectly marking fd as ready on EINTR
* ...
* Fix multiline prompts
* Dont write escape code for zero movement
* ...
* Fix decoding of letter trailer CSI key event
* More work on shell
* Add some default readline bindings
* Beep when action could not be performed
* Wire up key event handling
* Code to erase character ranges
* Code to move cursor right
* Code to move cursor left
* Some tests for add_text
* Start writing tests for readline internal functions
* More work on readline
* More work on readline
* Start work on porting kitty shell to Go
* Fix spurious rebuilds of generated go code
* Suggestions for sub command names as well
* Allow un-ambiguous prefixes for command names
* Show suggestions for options based on levenshtein distance
* DRYer
* update wcswidth go version to match unicode 15 update in master
* Hook up kitty-tool completions with shell integration
* Allow using unabiguous long option prefixes
* ...
* Add completion for kitty-tool
* No need to use a map
* All completion tests pass again
* Various fixes from the completion merge
* More work on merging completions with parse tree
* Work on merging completion tree with parse tree
* split up types.go
* Move completion package into cli
* Nicer handling of python for typecheck
* Output version information at bottom of help
* Make adding subcommands a bit nicer
* Get rid of the cobra dependency
* Remove no_response from json specs
* Fix parsing of list options
* Tests for CLI parsing
* Various fixes to CLI parsing
* Move kitty-tool __complete__ to use the new CLI framework
* Work on outputting help for commands
* Use the standard library deque
* Run tests in the writeable src dir as the generated go files are present there
* ...
* Fix frozen builds
* ...
* Use a LRUCache rather than an Unbounded one
* Also report submatch positions
* Make the cache re-useable
* Make ReplaceAll re-useable
* Allow using :role:\'payload\' in addition to :role:`payload` as the former can be used in Go `` string literals
* Couple more errors found by linting
* configure staticcheck
* Allow defining options using a struct
* Fix some issues reported by staticcheck
* Run go vet on CI
* extra message when tests have failed
* Utility function to sort with key
* DRYer
* Install Go 1.18 on CI
* get rid of interface{} since we now require Go 1.18
* More convenient interface for sorting
* Code to get exe name for usage message
* command validation
* Validate string slice fields
* Validate count struct fields
* More efficient multi line scanning
* Automatically camel-case destination
* Code to conveniently read option values into a struct
* Implement cloning of commands
* Start work on getting rid of the cobra dependency
* Now completion for hyperlinked_grep is automatic thanks to delegation
* Implement completion for fish
* Dont count bash\'s idiotic option equals as arguments
* Dont output escape strings in descriptions
* Update test for new exe search
* ...
* Show local executables for kityt command completion even without ./
* ...
* Use compopt to manage files and spaces
* Get delegate based completion working for bash
* Add trailing spaces for bash completion
* handle bash splitting completion cmdline on equals
* Remove common prefix for bash as well
* Add a debug function to print to parent kitty stdout
* Basic BASH completion
* Implement delegate based completion fof the ssh and hyperlinked_grep kittens
* Delegate based completion for AATTlaunch args
* Delegate based completion for kitty cmd
* Get zsh completion working apart from delegation
* Utility code to find longest common prefix/suffix and to quote strings for various shells
* Refactor the CLI markup code to make it re-useable
* Port code to truncate strings to visual width to Go
* avoid extra string copy in Stringwidth
* Start work on zsh completion serialization
* Allow commands to customize argument parsing
* Add completion for the launch wrappers
* Add completion for the kittens
* Extra completion for some kitty options
* Add various special purpose entry points
* Wire up completion for rc command options
* Get rid of WordPrefix
* More completion work
* Implement completespec in go
* Use the new completionspec for rc cmds
* ...
* Allow using a base directory other than the cwd when completing files
* Basic completion for options
* When completing on patterns exclude directories that only contain files that dont match
* Dont recurse for file completion
* args completion for rc commands
* ...
* And more corner cases
* More corner cases
* ...
* Move code to walk with symlinks to the utils module
* Allow completing paths with ~ prefix
* Work on completion of file args
* Add a generated comment in
*_generated.go in the style used by go generate
* Allow building kitty-tool as a static binary
* update go deps
* ...
* Code to complete executables in PATH
* Code to get file/dir completion candidates for a prefix
* work on framework for testing completion
* Allow generating completions for multiple command lines for more efficient testing
* More work on command completion
* More work on completions
* Use replace_if_needed() for at commands
* ...
* Add an entry point for the completion tool
* More work on completions
* start work on porting completion to Go
* more tests for indent and wrap
* More work on the new formatter
* Use the new formatter for CLI help output
* Allow ignoring lines containing a sentinel
* Dont drop trailing escape codes when stripping trailing whitespace
* Basic wrap is working
* Start work on more sophisticated indent+wrap implementation
* Allow parsing strings with escape code parser
* Remove markup from ref_hyperlink text
* Use Unsafe rather than Dangerous to be consistent
* Utility functions to allow using string/[]byte interchangeably without copies
* Add strikethrough formatting
* Fix spurious error message when setting image to none
* Allow using many image formats in RC commands
* Implement stdin echo loop for socket i/o as well
* Implement sen text from stdin for the tty backend
* ...
* Port code to serialize key events as CSI to Go
* Simplify escape code wrapping
* Password input: Handle SIGTSTP
* Make the loop API a thin wrapper around internal methods
* Allow cancel async commands without auth
* Fix set-colors
* Nicer API for setting loop options
* ...
* Only send cancel async if there is an async id
* send_text other than from stdin works
* Simplify timer removal
* Do not allow adding timers before loop is run
* Get scroll_window working
* Get set_font_size working
* Implement streaming mode for socket IO
* Work on supporting streaming remote commands with passwords
* Allow debugprintln to controlling tty easily
* debugprintln should be in-band for the loop
* flush_pending_writes must be non-blocking
* Fix payload update code in multi send commands
* Remove not needed chunking code
* More work on porting rc commands
* more work on porting command parsing to Go
* more work on porting rc command parsing to Go
* Work on conversion of args parsing to go code
* Also ensure kitty-tool bootstrap is executable
* Automap a bunch of json fields from identically named options
* ...
* Move GoOption migration code to cli.py for re-use
* Dont change the env for go tests
* ...
* Run go tests in parallel
* Use the new styling API for CLI infra
* Dont make urls part of styling, instead have a dedicated UrlFunc API
* Fix usage of numbered colors for underlines
* Add url support to styling
* More ansi styling tests
* Write some tests for the style wrapper
* Start work on easily generating ANSI formatted strings
* ...
* Generate color names and table for Go
* ...
* Implement socket I/O
* Simplify serialization code and avoid extra copy
* Fix final write detection
* Use one less channel
* No need to store most channels on self
* Create a in src symlink for kitty-tool as well
* another attempt
* dump tree
* ...
* Refactor loop code into its own package
* Cleanup
* we generate more than just rc commands
* DRYer
* Use a fully random async_id rather than a uuid
* Switch to using goroutines rather than a select()
* Use Go\'s os.File this allows us to implement WriteString without using unsafe
* Fix failing test
* Fix transmission of async rc commands
* Port short uuid code to Go
* Fix failing test
* AATT ls works phew
* Give the kill signal time to be delivered
* ...
* Make timeout checking more efficient
* Work on implementing ttyio via TUI
* Dont vendor base85
* Refactor io in preparation for using tui
* Also handle SIGPIPE as the Go runtime does funky things with this signal
* Add license info to Go files
* Prefix names of cmd files
* Add a write completed callback
* Add timer infra to the loop
* Re-use the escape code parser for wcswidth calculation
* Move escape code parser into wcswidth package
* Dont use the syscall package
* Add callback for screen resize handling
* Password input now works
* Allow debug printing
* Fix reset mode incorrectly setting mode instead
* Make using alternate screen the default
* More misc fixes for TUI
* Move wcswidth into its own package as it is very slow to build
* Fix stringifying mods
* Misc fixes for TUI
* Initialize various maps
* Ignore more types of temporary errors
* Less layering
* Drop another dependency
* Implement wcswidth() for Go
* Fix errors reported by compiler
* Generate a wcwidth for Go as well
* Port recent changes from cli.py to Go
* Use TUI to build a nice password read control
* Wire up key handling
* Implement key event parsing and matching
* Start work on decoding key events in Go
* Wire up the signal handlers
* Wire up a bunch of callbacks
* Allow propagating errors from the escape code handlers
* Start work on proper TUI support
* Handle EINTR in IsTerminal
* DRYer
* Drop another dependency and get a better read password function
* Drop another dependency
* ...
* Refactor tty code into its own package
* Drop one dependency
* Show suggestions based on levenshtein distance
* ...
* Fix AATTcommand form not supporting global options
* fix reading from tty
* Work on reading command responses
* Fix incorrect err handling
* Allow OSC to be terminated by BEL
* Work on an escape code parser
* Update script that counts lines of code
* UTF-8 decode/encode for Go
* The stupid term package is not EINTR safe
* EINTR safe function to get tty size
* Use the term package to get tty size since it has a function for it
* ...
* Workaround for go unix package not wrapping pselect() on darwin
* Adjust select() timeout on EINTR
* Handle EINTR
* Add a debug print method to tty and use pselect rather than select for greater timeout precision
* ...
* Get rid of a couple of unneeded dependencies
* Use local hyperlinks for :doc:
* Port various recent changes to CLI help output
* ...
* See if at least the field names are the same
* Some work on implementing TTYIO
* Use the io.Reader interface
* Code to parse socket addresses
* Start on testing infra for command to JSON serialization
* Code to generate structs for JSON marshalling
* ...
* Implement setting of option values into a struct
* Handle aliased flags
* normalize flag names so that underscores are interchangeable with hyphens
* Finish mapping of python cli opt to go cli opt
* Fix formatting of lines with only spaces
* Transfer response_timeout
* Refactor conversion of py opt to go opt
* DRYer
* General cleanup
* Use cobra\'s builtin machinery for creating new types
* Let kitty-tool know if it was built for a frozen kitty
* Hide the default completion command
* Get bool set flags ported
* Support older Go
* Add some basic RC serialization tests
* Move the command types into a separate package
* More debug info about PATH in CI
* Use whatever version of go is available on CI
* Create hidden alias commands so kitty-tool AATTls also works
* strip whitespace from long descriptions just to be safe
* Build kitty-tool as a universal binary for freeze builds on macOS
* And we have frozen builds working with kitty-tool
* Dont sync kitty-tool to build vms
* Fix go tests not being excluded correctly
* Get linux freeze working
* Add a test for existence of kitty-tool
* Simplify cleanup and ignoring of generated go files
* misc fixes
* Output VCSRevision with --version
* Add vcs revision to version string
* Have the rc command wrapper sauto-generated on build
* Start work on generating rc cmd wrappers
* Parse global options
* Update documentation of --to
* Dont sort flags by default
* document we need go >= 1.19
* Fix go in home dir getting removed from PATH on CI
* Run gofmt via python, easier to debug
* Nicer error when go is not found during build
* Pass verbose to go build
* ...
* Log which go exe is being used to run the tests
* Add source code linting for go to CI
* Add some go testing infrastructure
* ...
* Add the go dependency to CI and Brewfile
* gofmt
* Build kitty-tool via the build system
* ...
* DRYer
* Dont fail to output usage when less is not present
* Use pager even for usage + error
* Use a pager for displaying usage, matches kitty behavior
* CLI help output make kitty.conf a clickable URL
* Use a single wrapper binary for all command line tools
* Parse roles in the help strings
* Show help when command is specified
* Start work on implementing kitty AATT as a static binary using Go
* Fix #5668
* IBUS: When creating the connection mark as focused if any top level window has focus. Fixes #5655
* Function should be static
* Another mypy update another round of spurious errors
* Mon Nov 07 2022 scott.bradnickAATTsuse.com- Update to version 0.26.5+git20221107.72f92b39:
* version 0.26.5
* ...
* When no OS Window is focused the active_
* should return those belonging to the last focused OS Window
* Properly specify semantics of active and focused
* Output the actual tab id in its repr
* Have the semantics of is_focused match that of state:focused otherwise things are liable to get confusing
* Also change the behavior of state:focused matching for tabs
* Remote control: When matching window by state:focused match the window belonging to the OS window that was last focused
* Splits layout: Add a new mappable action to move the active window to the screen edge
* Increase some more timeouts
* system python appears broken on macos-latest image
* Try to make mypy happy with the contortions needed for importlib.resources
* More pointless code churn thanks to importlib.resources
* Allow using the re module in tab title templates
* ...
* Dont use the deprecated importlib.resources API
* cleanup comment
* Update changelog for last PR
* Add a note about wayland semantics
* ...
* Wayland GNOME: Fix incorrect window size when in some circumstances when switching between windows with window decorations disabled
* Bind eglQuerySurface
* ...
* Fix cursor position at x=0 changing to x=1 on resize
* Increase the timeout for shell integration tests
* Use a larger timeout when running prewarm test
* Forgot to run gen-config.py
* ssh kitten: Allow using absolute paths for the location of transferred data
* Fix background_tint with background_opacity < 1 causing colors in cell area and padding to not match
* Fix ghosting when using background_tint under GNOME+Wayland
* Move blend mode selection into draw_tint
* Wayland KDE: Fix abort when pasting into Firefox
* Fix resize_draw_strategy=static
* Fix #5600
* Fix message recursion between wayland compositor (#5360)
* Mon Oct 17 2022 scott.bradnickAATTsuse.com- Update to version 0.26.4+git20221017.03fe928e:
* show progress while compressing release tarballs
* version 0.26.4
* Check correct pair member
* kitty shell: Also output active tab id
* GNOME Wayland: Fix a memory leak in gnome-shell when using client side decorations
* Recommend using --cwd=current in open-actions.conf
* change linux_package build instructions to use make target
* Wayland: Fix an abort when changing background colors with wayland_titlebar_color set to background
* Fix clipboard target properties and memory leak
* Allow centering the background image
* Add a note about yet another gnome bug
* Wayland: Fix background image scaling using tiled mode on high DPI screens
* Fix resize draw strategy == static causing background image/borders to not be drawn
* Fix background_tint not applying to window margins and padding
* Forgot to change check for space for next tab to use its max tab length rather than the current tabs max tab length, since they can now be different
* max_title_length -> max_tab_length
* DRYer
* Document the purpose of for_layout
* Tab bar: Improve empty space management when some tabs have short titles, allocate the saved space to the active tab
* Update custom.css
* Thu Sep 29 2022 scott.bradnickAATTsuse.com- Update to version nightly+git20220929.bbc9f588:
* Update to Unicode 15.0
* Update to Nerd Fonts 2.2.2
* another mypy update another round of breakage
* Update the docs of open_url_with to indicate that open-actions.conf is read by the \"default\" handler
* Clear both actions caches when config file is reloaded
* Cleanup previous PR
* ...
* Pass through python used for type check to the test code from before the env is sanitized
* macOS: Allow to set custom app icon automatically
* panel kitten: Do not depend on xprop
* Get rid of one call to xprop in the panel kitten
* Add some missing no_response for rc commands
* Docs: Remove the extra backslashes from the install commands
* X11: Fix a regression in the previous release that caused pasting from GTK based applications to have extra newlines
* Another auto-indent fix
* fix vim autoindent
* ...
* build: harden ci.yml permissions
* build: harden codeql-analysis.yml permissions
* Use a regex for bracketed paste sanitization
* Thu Sep 22 2022 scott.bradnickAATTsuse.com- Update to version v0.26.3+git20220922.dbb97a62:
* version 0.26.3
* Make test a bit more robust
* switch python autoformatter to isort+black+autoflake
* ssh kitten: Better error message when tar is missing
* ...
* Window for id should not fail when not called from a callback
* Update changelog
* Fix a use-after-free when handling fake mouse clicks and the action causes windows to be removed/re-allocated
* Thu Sep 15 2022 scott.bradnickAATTsuse.com- Update furo wheel to \'furo-2022.9.15-py3-none-any.whl\'.- Update to version 0.26.2+git20220913.1c44da2b:
* Nicer error message when trying to open the config file and no editor is available
* Fix a regression that caused kitty not to restore SIGPIPE after python nukes it when launching children. Affects bash which does not sanitize its signal mask.
* Wayland: Remove the mutter specific ignoring of the first empty surface configure event. It seems to be no longer necessary on current mutter, with the recent Wayland changes
* Wayland: Generate a XDG_ACTIVATION_TOKEN when opening URLs or running programs in the background via the launch action
* Wayland: Use XDG_ACTIVATION_TOKEN when present at launch
* DRYer
* Try to use the activation protocol to focus windows
* Wayland: Mark windows in which a bell as urgent on compositors that support the xdg-activation protocol
* build wayland xdg-activation protocol
* Wayland: Micro-optimization: Assume window will be shown on primary monitor so create it with its scale set to that of the primary monitor
* Wayland: swap buffers immediately on scale change to ensure attached buffer is a multiple of the new scale
* ...
* Output initial window creation size in debug
* Update changelog
* Wayland: Fix for bug in NVIDIA drivers that prevents transparency working
* Apparently on Wayland we need to set the swap interval on every window not just the first. It\'s somehow not shared even though the context is shared? Fixes #5495
* render frames should be always respected on macOS
* Wayland: When swapping buffers in response to a configure event ensure the window is the current context otherwise the swap fails
* Sessions: Allow controlling which OS Window is active via the focus_os_window directive
* ...
* Sat Sep 10 2022 scott.bradnickAATTsuse.com- Update to version 0.26.2+git20220910.6f147544:
* Add ! to env var serialization test
* ssh kitten: Fix KITTY_PUBLIC_KEY not being encoded properly when transmitting
* ...
* Use the dynamic property instead of testing identifier serialization
* Update changelog
* Pass null bytes through the clipboard on cocoa
* Convenience code for debugging
* Handle dyn prefixes
* Allow setting arbitrary mime types
* Get cocoa clipboard backend working
* More work on cocoa clipboard backend
* Start work on new clipboard api support for macos
* Implement the new clipboard API for Wayland
* Only warn about cursor size once
* Simplify handling of self offers
* Cleanup sending/receiving mimetype atoms
* ...
* Code to get the available mime types in the clipboard
* Get reading from clipboard working
* Start work on giving GLFW a proper clipboard API
* Also have confirm() and get_line() return their results on overlay removal
* When choosing an option call the callback after the popup window is removed. This ensures the active window is unchanged when the callback is called. Fixes #5488
* Fix #5484
* Fix #5477
* Cleanup previous PR
* Skip bash shell_integration tests if bash is a debug build
* version 0.26.2
* Sanitize notifications ids as they are retransmitted over the TTY
* Also output screen contents when test fails
* Nicer fix for #5469
* Wayland: Fix remembering window size not accurate when client side decorations are present
* Fix #5469
* Allow creating `overlay-main` windows, which are treated as the active window unlike normal overlays
* spacing is a clone safe option
* launch: Allow setting the margin and padding for the newly created window
* Fix ref to launch doc
* Remove markup from ref_hyperlink text
* hints kitten: Allow using `launch` as the program to run, to open the result in a new kitty tab/window/etc.
* Pass KITTY_LISTEN_ON to programs opened via open_url
* ...
* Docs: Put example commands in code blocks
* Docs: Remove the extra empty line in the CLI help
* Docs: Mention clear_all_shortcuts in the FAQ about show_key kitten
* ...
* Fix a regression in 0.26.0 that broke mapping of native keys who key codes did not fit in 21 bits
* Cleanup previous PR
* Use git rev-parse to get nightly commit hash
* Fix hints sometimes matching next line as part of URL
* Eureka! Figured out why libedit is breaking in prewarm on macOS via launchd
* Another place we cant use readline on macOS
* Only override LANG in default env if it was not set either in the original os env or via the env config directive
* Fix exec in prewarm forked process sometimes inheriting env vars from grandparent process
* Dont show LC_CTYPE in show_kitty_env_vars when running with system python on macOS
* macOS: Fix regression in 0.26.0 that caused asking the user for a line of input such as for set_tab_title to not work
* Reconfigure all stdio streams in the prefork process
* ...
* Link to start of actual changelog
* Fix regression in 0.26.0 that caused launching kitty without working STDIO handles to result in high CPU usage and prewarming failing
* ...
* Cleanup previous PR
* Add options for linking different parts of ripgrep output
* Describe --hyperlink-only-matches in the docs
* Add a --hyperlink-only-matches flag to hyperlinked_grep
* Mon Aug 29 2022 scott.bradnickAATTsuse.com- Update to version 0.26.1+git20220830.268d6878:
* version 0.26.1
* Update changelog
* Fix a regression in 0.26.0 that caused kitty to no longer set the LANG environment variable on macOS
* Allow resetting the tab title to default
* Allow the set_tab_title action to take an argument
* bash shell integration: Send STDERR of unsetting inherit_errexit to /dev/null
* Mon Aug 29 2022 scott.bradnickAATTsuse.com- Update to version 0.26.0+git20220829.c68b82e4:
* ssh kitten: Fix executable permission missing from kitty bootstrap script
* version 0.26.0
* Wait till prompt appears before issuing clear
* Make fish shell integration test for XDG_DATA_DIRS work even if the shells rc files add to XDG_DATA_DIRS.
* missed some at_ -> at-
* Switch over to at-cmd form for references.
* Also allow using at-cmd
* Fix resolution of anchor names for kitty AATT command docs
* Fix hyperlinks not present when fetching text from the history buffer
* ssh kitten: Delegate to ssh when -T is used
* DRYer
* Forgot to change code to remove markup for github links
* ...
* Allow ignoring failures when mapping remote control commands
* Allow ignoring failure to close windows/tabs via rc commands
* Ensure extract_rt_targets is run only once per build
* Fix finding local docs when running from source on macOS
* Fix handling of :doc: in CLI help output
* Remote control: Add --no-response to some commands
* Docs: Unify the list style of available values
* Fix doc website URL with duplicate slashes
* Hyperlink doc text role
* Shorten the reference link to the top of the page
* Fix GitHub links in commented configuration
* Docs: Use --help long option name in the document
* Docs: Using the lowercase form of the key name consistently
* Fix build on macOS High Sierra
* Fix docs build error
* Hyperlink :envvar: as well
* ...
* Create an API to easily use remote control commands from kittens
* Also hyperlink :term:
* Document the show help shortcut
* A new default shortcut to show the kitty documentation
* Remove socket prewarming
* Delete the frozen python dir
* Move code to delete empty folders into bypy
* Remove empty folders from macOS package builds
* Cleanup build documentation
* DRYer
* Another bug in resolve_ref
* Fix resolve_ref()
* Cleanup the wrap implementation
* ...
* Clean up build docs a bit
* Fix some outdated docs
* Use locally built docs when running from source if they exist
* Command line tools shouldnt need to resolve documentation refs
* Fix mapping of ref targets with underscores
* Fix building of docs on macOS without warnings
* Only hyperlink when stdout is a tty
* Also hyperlink the :ac: role in CLI help output
* A new mappable action to show kitty docs in the browser
* We have to build docs to test building of package now
* Make the kitty man pages automatically available inside kitty when using a binary build
* Make the docs and man pages available in the macos bundle as well
* Add newline to end of generated file
* Clean _generated.h files
* Dont maintain ref_map manually
* Update docs
* Hyperlink :ref: roles in CLI help
* Improve formatting of --stdin-source
* Improve formatting of launch --type help message
* Thu Aug 18 2022 scott.bradnickAATTsuse.com- Update to version 0.25.2+git20220818.4e4ca366:
* For running the new code KITTY_PREWARM_SOCKET needs to be dropped
* ...
* List the available data names for tab_title_template in commented conf
* Use the plus sign to connect shortcut keys consistently
* Do not set KITTY_LISTEN_ON after the window rc password is configured
* Some documentation cleanup
* Change the default for allow_remote_control back to no
* Disallow passwords that start with - to allow for future addition of options
* Ignore generated .go files
* Fix unhandled exceptions not being printed to stderr on macOS when run from launch services and using prewarming
* Hide the password when asking for rc permission
* ask kitten: allow having hidden text in the message
* rcp ars should be a sequnce not a set
* Fix --allow-remote-control not working with allow_remote_control=no
* DRYer
* Graphics protocol: Only delete temp files if they have the string `tty-graphics-protocol` in their file paths.
* Nicer error when listen on socket is not found
* Fix --allow-remote-control without passwords not working
* Dont set KITTY_LISTEN_ON for windows with --allow-remote-control
* ask kitten: fix button click area offset vertically
* Control KITTY_LISTEN_ON more precisely
* Allow restricting the remote control actions in specific windows
* Disable pre-warming when running gen-config.py
* allow_remote_control should be per window not per child
* Allow specifying allowed actions when no password is sent
* Remove unused code
* Make allow_remote_control a little more fine grained
* simpler ignore pattern
* More robust cleaning of launcher dir
* Fix cocoa being loaded before the fork on macOS
* Set the cocoa uncaught exception handler during glfw init not at module import time
* ...
* Fix repeated make app failing on macOS
* Fix minimal macos bundle build
* Dont put the launcher source files in the root directory
* Fix build on older gcc
* Add instructions on how to install the man pages under desktop integration
* Use the RFC as the reference for base-85 encoding
* Allow using IV and tags longer than the minimum lengths
* Nicer fix for human_repr of keys defined with kitty_mod
* Switch to using the new SingleKey implementation
* Add some tests for hashing and __eq__
* DRYer
* Increase the max key num that is storeable
* DRYer
* ...
* Update config types for new value of KITTY_MOD
* Fix storage for GLFW_MOD_KITTY
* Implement SingleKey._replace
* A faster version of SingleKey
* Type objects should be static
* Fix #5371
* ...
* Use kitty_mod in debug config output
* Add type annotations to rc protocol field definitions
* Start work on standalone remote control script
* Fix #5366
* DRYer
* Clean up the text a bit
* Add an example of restricting the launch command
* Link to encryption spec
* Note which version remote_control_password was added
* Avoid transmitting the currently un-needed enc_proto
* Highlight the JSON blocks appropriately
* ...
* 5 minutes does not actually prevent replay just minimise it
* ...
* Document the encryption used by remote_control_password
* Add a note about password auth over SSH
* Document remote_control_password more thoroughly
* Use getpass() to read the password from STDIN when it is a tty
* Close tty_fd after dup2
* Use the OS secure random number generator rather than the OpenSSL one to generate IVs
* Pressing esc for the permission dialog should be same as reject this request
* Center choice message correctly when it is multi-line
* Preserve blanks lines and per line formatting in the ask kitten for the message with choices
* Shorten text
* Use a as the default accelerator rather than t
* Get async response working with sockets
* Dont print traceback when socket is unexpectedly closed
* Better error message when socket is closed without response
* Quote ^ as it is a special char in some shells
* ...
* Fix password based rc not working with generator responses
* Allow remote control commands to be interrupted by ctrl-c while waiting for a response
* Send disallowed responses when permission for rc is denied
* Implement the permissions system for password based rc requests
* Work on new permissions framework for rc commands
* Write code to decrypt commands received in kitty
* Allow listen_on to be used even without allow_remote_control
* Make the kitty public key available as an env var to child processes
* Write the code to encrypt rc messages to kitty
* Start work on remote control passwords
* remove unused code
* When searching macOS for openssl search for the same version as used by the python we are running
* Install the same version of OpenSSL as used by python on brew based CI
* Dont add openssl to the brewfile
* DRYer
* Link against newer rather than older openssl
* Only search for brew openssl on failure
* Fix #5364
* Implement completion for kitty AATT global options
* ...
* Add keywords completion for --cwd and --config
* Allow using file completion for any type of command line arg
* fix zsh serialization of directory candidates ending with /
* Add completion for kitty AATT launch --logo
* Allow specifying completion for command line arguments that expect paths
* Change --session to resolve relative paths from the kitty config dir
* kitten completion: Fix --long-opt not working
* ...
* Add missing modifier key aliases
* Allow completion for show_key kitten
* get_current_selection should return char
* not const char
*
* Cleanup previous PR
* Implement macOS accessibility protocol to provide selected text
* Use four spaces to indent
* Replace tab with four spaces indent
* Ensure no bytecode is written when running shell based tests
* Add API to glfw to get the currently active text selection
* implement primary selection api on cocoa as stubs, can be useful for #5357
* Add type definitions for the crypto data types
* OpenSSL 3.0 apparently has API to get rid of the tag length magic number. Lets hope it works
* Get rid of various magic length constants
* Add tests for AES256GCM
* Wrap the OpenSSL API for AES 256 GCM encryption
* DRYer
* ...
* Cleanup previous PR
* Add layout_action to change bias on tall layout
* Document how to build docs
* Private raw key should be returned as a secret
* Test for secret derivation
* Code to derive the shared secret with elliptic curve keys
* Bash integration: Fix the inherit_errexit option being set by shell integration
* Fail if mlock fails
* mlock() the returned private key to prevent it from being saved to swap
* Use an actual type for the EC key rather than a capsule
* Fix doc typo: throught to throughout
* Try and get Homebrew installed OpenSSL to work
* We need openssl installed via brew
* Add a mappable action to toggle the mirrored setting for the tall and fat layouts
* Start work on implementing public key crypto
* A nicer fix for kitty AATT ls | less
* Ignore EAGAIN when doing tty io
* Rewrite clipboard kitten to only change termios settings while it is actually reading from terminal
* socket prewarm: Dont control the tty if STDOUT is not a tty
* Document KITTY_PREWARM_SOCKET_REAL_TTY
* Allow prewarming of kitty AATT commands
* Add an implementation using splice() for in-kernel tty copies
* Cleanup editing of proc environ
* Fix launcher not building universal
* ensure setting KITTY_PREWARM_SOCKET_REAL_TTY does not clobber the environ
* Make setting the real tty name more robust
* prewarm wrapper should indicate it is active via the process environment
* ...
* Add a test for SIGTSTP via ctrl-z
* flush data when exiting on signal as well
* Fix stdout line_buffering incorrect when parent kitty instance has its stdout redirected to a file
* Update changelog for socket prewarm
* Workaround mypy bug
* Get test.py working when prewarm socket is in operation
* Indicate in kitty_run_data we are prewarmed
* Nicer establish_controlling_tty
* Make JSON reading test a bit more robust
* Use sub tests for the various prewarm things
* Nicer implementation of eintr_retry that does not prevent type checking of wrapped functions arguments
* ...
* macOS needs SIGTTOU SIGTTIN explicitly ignored to allow the supervisor to use TIOCSWINSZ
* Debounce WINSZ events
* Separate test for SIGWINCH handling
* tcsetpgrp can raise EINTR despite python claiming to auto retry
* Use a process supervisor for socket workers
* Use the same signal to stop as stopped the child
* Report child stop to wrapper process
* Restore termios state when stopping
* When exiting with a signal run cleanup
* Work on handling child stop events
* Fix running of test suite inside kitty
* Give up on signal delivery tests
* ...
* ...
* and again
* ...
* increase timeout since signal delivery on CI is flakey
* wait for child events explicitly
* py3.8 compat
* Clear out any signals before ending test
* DRYer
* Fix signal reading in prewarm wrapper
* Restore python signal handlers properly after the test
* Add a test for SIGCHLD on SIGTSTP
* wrapper process should exit with signal if prewarmed worker exits with signal
* OK I give up I cant get signal delivery to work reliably
* When running tests ensure the signal mask is empty for processes run in the testing pty
* mask handled signals when running signal handler
* DRYer
* Get the SIGINT test working on macOS
* ...
* macOS doesnt allow TIOCSWINSZ from any process other than the process connected to the terminal or its parent
* Allow easily skipping tests when updating on ox
* Use O_CLOEXEC for temp ctty fds
* Ignore error condition on master fd of testing pty
* Ensure pty is in utf8
* Dont bother sending slave fd over the socket as it doesnt help on macOS anyway
* Use both open and the ioctl to set the controlling terminal
* Test sigwinch handling
* dont abort when failing to write to a tty
* dont break when socket is pre-closed
* ...
* Switch to using select() instead of poll() in prewarm wrapper
* Close tty_fd in master on fork() rather than on close()
* Make the socket prewarm test a bit more robust
* Fix ttyfd passing
* Avoid passing around pty paths, instead send the pty fd
* Even more flexible management of poll data
* Only set control msg metadata when actually sending a control msg
* Workaround macOS weirdness
* Show full traceback for failures to fork socket child
* Better handling of multiple optional to poll fds
* ...
* Also handle SIGQUIT
* Restore python signal handlers in forked workers
* Only set switch interval after prewarm fork
* Try to read from child pty even after zygote signals its death
* Retry read/write while there is space
* Forward termination signals
* ...
* Get the test to pass on macOS
* Fix atexit handlers being called in forked children
* Fix socket connect call on non-linux
* Do not hang forever waiting for child death
* re-init openssl PRNG when forking for prewarm
* Inherit full outside env
* ...
* Dont rely on having source of test modules available
* Fix launcher build with sanitize
* ...
* make various compilers happy
* Finish move of prewarm launcher into its own compilation unit
* Start moving prewarm launcher into its own compilation unit
* Test stdio redirection with socket prewarm
* Verify uid/gid of connection from a prewarm client
* Add basic tests for socket prewarm
* Dont pass inherited KITTY_PREWARM_SOCKET
* Use correct exit codes for signals
* Cleanup closing of socket child
* Avoid needing to call os.getpid() repeatedly
* Propagate SIGWINCH
* Only use prewarm socket if uid and gid match
* detect when socket child closes its tty
* handle failures to send data over socket gracefully
* move socket launch handling into its own function
* Better error logging from prewarm zygote
* Make the tty pipes non-blocking
* Transfer data between ttys
* Use a map for pid -> socketchild
* Fix parsing of child pid and exit code
* ...
* Cleanup fd transmit
* Make master tty raw and print error messages with more context
* ...
* more work on socket based prewarm
* Start work on socket based prewarm
* Start work on everywhere prewarm
* show_key: use a better representation of the space key when
* ...
* Wayland IME: Avoid printing errors for compositors that pointlessly acknowledge previous IME commits rather than just the current one. Apparently kwin is one such. Fixes #5339
* DRYer
* ssh kitten: Allow completion of ssh options between the destination and command
* Second draw attempt has single fade edge
* Allow tab title templates to use the current max title length
* reflector: replace unecessary while loop
* Fix modify_font underline_position 1
* DRYer
* Make the calculation of the bound for underline_position more precise
* Don\'t expose all Tab methods in title template
* Nicer fix for showing cwd in tab titles
* Only import ReferenceType when type checking
* Expand ~ when resolving editor path and applying exe_search_path
* Replace tr with string built-in in fish integration
* Use builtin to call read in zsh integration and bash integration
* ...
* py3.8 compat
* Dont incur the cost of checking the cwd of a process on every tabbar update unless actually needed
* Remove debugging code I left in the last commit accidentally
* remote files kitten: Fix working with files whose names have characters that need to be quoted in shell scripts
* add cwd to TabBarData this option add current working directory to the tab by using active windows child directory.
* Note that the crossterm library has added support for the kitty keyboard protocol
* Update changelog for previous PR
* Remote control: Allow half-scrolling when scrolling window by page
* ssh kitten: Better handling of exit on keyboard interrupt
* Ignore sigint while draining the tty
* ssh kitten: Allow pressing Ctrl-C to abort ssh before the connection is completed
* ssh kitten: Make discarding of garbage data after ssh fails more robust
* ...
* Rebuild before and after publishing if a branch change was needed
* Fri Jul 15 2022 scott.bradnickAATTsuse.com- Update to version 0.25.2+git20220715.32588939:
* Deprecate the adjust_baseline adjust_line_height and adjust_column_width options in favor of modify_font
* Add modify_fonts to the changelog
* Actually implement modify_font
* Allow pixel based adjustments as well
* Improve formatting of config diff for modify_font
* Make modify_font available to C code
* Start work on option to modify font characteristics
* macOS: Fix unable to open new tab/window when there is no OS window
* test.py now needs kitty built
* DRYer
* Add a note about how to exclude directories in the copy command
* mask handled signals when running the signal handler
* Fix reading multiple signals from buffer on macOS
* Fix link formatting in docs
* Add a GitHub icon to the docs footer
* Nicer error message for zsh versions before 5.1
* Bash integration: Fix declare not creating global variables in .bashrc
* Ensure local kitty is used when running the tests
* Run the test suite using the kitty binary
* ...
* Match behavior of who when getting num_users by ignoring zombie pids
* ssh kitten: A new option :code:`--symlink-strategy` to control how symlinks are copied to the remote machine
* Fix fd leak in prewarm zygote
* Build the launcher with debug symbols when using --debug
* Fix missing last line when getting output of the running command
* Switch to GA2
* ...
* ...
* ssh kitten: Allow ssh kitten to work from inside tmux, provided the tmux session inherits the correct KITTY env vars
* Utility function to detect when running inside tmux
* Linux: Update cursor position after all key presses not just pre-edit text changes
* swaps_disallowed is used only on wayland
* Fix edit-in-kitty not working with editors that use file replace to save changes
* Wayland: Reduce flicker at startup by not using render frames immediately after a resize
* Wayland: Ensure that opengl buffer swapping does not happen till the xdg surface is configured
* Remove executable perms from kitten files
* Avoid an extra buffer swap during startup
* Docs: Improve documentation for remote commands
* ssh kitten: Add MacPorts paths to the common locations for login shell
* Fix edit-in-kitty not working when option editor comes with arguments
* Use the same fish completion function for commands
* Refactor the fish implementation of edit-in-kitty
* Docs: edit-in-kitty works with neovim
* Update projects using kitty graphics protocol
* ...
* Update changelog for last PR
* macOS: Fix JIS Eisu and Kana keys not working
* Forgot one place to change over to kitty_run_data
* ...
* kitty now needs python >= 3.8
* Backport https://github.com/glfw/glfw/commit/6281f498c875f49d8ac5c5a02d968fb1792fd9f5
* Add a note that WezTerm implements the kitty keyboard protocol as well
* Dont leak kitty_run_data on error
* Workaround for Python 3.11 breaking sys._xoptions
* Add \"modern whiskers\" alternative icon to FAQ
* Tue Jun 21 2022 scott.bradnickAATTsuse.com- Update to version 0.25.2+git20220619.f95bc48f:
* kitty AATT set-colors: Fix changing inactive_tab_foreground not working
* Get rid of os.waitid() since its not present on macOS we cannot rely on it anyway
* Fix the rc command new-window does not open the shell by default
* It is only possible to not have an OS Window on macOS
* Allow remote control to launch a new OS window when there is none
* Ignore exceptions in kitten result processors
* Allow kittens to handle multiple results in a window
* No need for entire screen object when scaling a scroll
* Fix horizontal wheel events not being reported to client programs when they grab the mouse
* Add debug output for scroll events
* Make globinclude sort files before loading
* Wakeup main loop when refreshing window as well as io loop
* Expose wakeup main loop in python api.
* Fri Jun 17 2022 Scott Bradnick - Adding \'Requires: python3\' since python3X-base doesn\'t seem to be enough
* Fri Jun 17 2022 scott.bradnickAATTsuse.com- Switching to using \'python3\' vs. \'python38\'- Update to version nightly+git20220614.a27dfd8b:
* Increase the timeout for prewarm I/O on CI
* Ensure local kitty is used in tests even when another kitty is present in the system PATH
* Sort imports
* Use the same parser for resize_window actions and session setting
* Change to pass window specs.
* Cleanup.
* Enable resizing in session files.
* Remove unneeded code
* Forgot to also add SIGUSR1 handler
* Use a signal handler instead of a pipe for child death notification
* Dont use SIGTSTP and SIGCONT in the test as they are very flaky
* Finer grained polling
* Workaround for python 3.8 that doesnt have the CLD_
* constants
* Use a busy loop for signaled process
* Skip SIGSTSTP test when CLD_STOPPED is not available
* Allow using our signal handlers in python event loops via an fd
* poll() takes times in ms not seconds
* Use an iterator
* macOS has no waitid
* Use waitid() rather than waitpid() to get full exit status
* ...
* Reap prewarmed processes
* Close unneeded fds in forked children
* Restore SIGUSR1 handling in prewarmed child
* ...
* Use a fork() without exec() to create prewarm process
* Graphics protocol: Make it explicit what is supposed to happen when two images with the same z-index overlap
* Wayland: Fix a regression in the previous release that caused mouse cursor animation and keyboard repeat to stop working when switching seats
* ...
* Changelog entry for prewarming
* Increase the timeout when talking to prewarm process
* Fix spurious warning from runpy module when prewarmed
* clear signal handlers in prewarm controller
* DRYer
* Fix reading of dead prewarmed child pids
* Simplify child death tracking
* Fix compilation on platforms without SO_PASSCRED
* Report the correct cmdline for prewarmed processes
* Manage fd lifecycles a bit better
* Get prewarm working
* handle child death and config reload for prewarmed processes
* Function to create a randomly named UNIX domain socket
* Prewarm all kittens
* Complete move to prewarm.py
* Dont use a kitten for prewarm
* Also detect ssh kitten run as an overlay
* Clear signal handlers when running processes
* Make init_loop_data a little safer to use
* Handle SIGHUP gradefully
* Fix a regression that broke completion when using a kitty alias instead of having kitty on PATH
* Yet another place where macos_colorspace was broken
* Remove unneccessary argument to connection_sharing_args()
* Tue Jun 07 2022 scott.bradnickAATTsuse.com- Update to version 0.25.2+git20220607.9f5f1138:
* ...
* Use correct kitty config in prewarmed process
* Reset global options object in the tests
* version 0.25.2
* Clarify behavior of placement id when image id is zero
* Fix waitpid() call on python 3.8
* Compare realpaths for cwd test
* Remove unused code
* Start work on prewarming
* Allow ignoring SHM close failures
* Cleanup previous PR
* Prepare for prewarm testing
* diff kitten: tests for directory walking
* Update in response to feedback
* Move block outside try/except as it doesnt need to be in there
* Fix compiler warning on 32bit builds
* hints kitten: Fix surrounding quotes/brackets and embedded carriage returns not being removed when using line number processing
* Python wrapper function to establish controlling tty
* kittens/diff: move empty pattern check to dir tree walk
* Use builtin facility for removing cloexec
* Declare the set of handled signals in only one place
* Make the full signal info available in our signal handler
* diff kitten: add options to ignore paths when comparing directories
* Sat Jun 04 2022 scott.bradnickAATTsuse.com- Update furo wheel to \'furo-2022.6.4.1-py3-none-any.whl\'.- Update to version nightly+git20220604.a42200a4:
* Use the log_error function to log SIGUSR2
* Also restore signal handlers for SIGUSR1 and SIGUSR2
* Make getting cmdline of a PID a bit more convenient
* ...
* Fix reloading in all kitties skipping kitty processes started as kitty +open
* Better error message for kitty +
* Restore a couple more signal handlers that python nukes
* Utility function to test if PID is alive
* Add support for sigqueue() and also handle SIGUSR2
* Remote control: Fix commands with asynchronous payloads not sending responses
* Fix incorrect dispatch of poll events when more than one peer is present
* Nicer reverse loop
* Use a full chekcout in CI when building docs
* Add custom message for Fig OSC
* Ignore Fig OSC codes
* DRYer
* Fri Jun 03 2022 scott.bradnickAATTsuse.com- Update furo wheel to \'furo-2022.6.4-py3-none-any.whl\'.- Add \'BuildRequires: python38-sphinx_basic_ng\' for furo.- Update to version nightly+git20220603.0828096e:
* ...
* Make loading of kitty options in kitten re-useable
* Move entrypoints into their own module
* ...
* Weston: Fix client side decorations flickering on slow computers during window resize
* Fix display of url open failures not working
* Use inode/executable rather than application/executable
* Fix #5161
* DRYer
* macOS: Allow opening executables without a file extension with kitty as well
* Dont import kitty.complete in ssh.main
* remove unused arg
* ...
* Iosevka: Fix incorrect rendering when there is a combining char that does not group with its neighbors
* DRYer
* Add kitty/fontconfig.c to SPECIAL_SOURCES
* ...
* Fix #5154
* Sphinx v5 needs language to be not None
* Note about __main__.py with +launch
* Update changelog for last PR
* ...
* Add \"user\" tab to themes kitten
* Remove hard coded tab string in ThemesHandler
* Advertise edit-in-kitty a bit more
* macOS: When pasting text and the clipboard has a filesystem path, paste the full path instead of the text, which is sometimes just the file name
* fish: completion for edit-in-kitty clone-in-kitty
* Add a reference to edit-in-kitty to the remote file kitten docs
* bash: completion for edit/clone-in-kitty
* zsh: Completion for edit-in-kitty and clone-in-kitty
* ...
* Drop python 3.7 from CI
* Wayland: When the seat is closed remove any pending pointer animation and key repeat timers
* Fix compilation on Python 3.11
* Bash integration clone test was accidentally running zsh
* Some more tests for last non empty command output
* Allow getting the last non-empty command output easily via an action or remote control
* ssh kitten: Look in common locations for login shell if it is not in PATH
* Update changelog
* Implement edit-in-kitty for fish
* _run_kitten -> run_kitten_with_metadata
* Skip login shell detection when login shell is set to nologin
* Workaround for nix package messing with kitty file permissions
* Avoid unnecessary use of cat
* Make chunked transmit code re-useable in fish integration script
* Ignore permission errors when stating file to edit
* Use zsh\'s builtin stat instead of relying on the stat command
* Also trap SIGTERM to cleanup
* Implement edit-in-kitty for bash
* forgot to declare data local
* Ensure self.tdir exists in __del__
* Increase edit file size limit to 8MB
* Allow opening files at a spedific line number with edit-in-kitty
* React instantly to editor window being closed
* Fixed #5132
* Document edit-in-kitty
* ssh kitten: Run bash as a login shell
* Fix shebang
* Update changelog
* Start work on edit-in-kitty
* Thu May 26 2022 scott.bradnickAATTsuse.com- Update to version 0.25.1+git20220526.cb55878e:
* Fix #5129
* Move logic for handling chunked remote data into a separate function
* version 0.25.1
* Add tpix to list of programs that speak the graphics protocol
* Make _run_kitten public API
* Forgot trailing newline
* Output a warning when libwayland-cursor returns incorrectly sized cursor images
* GNOME: Workaround for GNOME\'s text input system going into an infinite loop if cursor position is updated in response to a done event
* Fix #5113
* Support the short pretty flag (-p) in hyperlinked_grep kitten
* Fix #5110
* Add changelog entry for previous PR
* Dont import all of the ssh kitten just to detect commandlines
* Add option select_by_word_characters_forward
* Only integrate with ssh kitten if shared connections are enabled for that host
* Remote file kitten: Integrate with the ssh kitten
* Mon May 16 2022 scott.bradnickAATTsuse.com- Update to version 0.25.0+git20220513.d3656bf7:
* Linux: Load libfontconfig at runtime to allow the binaries to work for running kittens on servers without FontConfig
* Better error message
* Add a note explaining why fontconfig is not bundled
* Fix spurious error print in test
* Fix deleting images by row not calculating image bounds correctly
* Fix reloading of config not working when kitty.conf does not exist when kitty is launched
* Workaround Apple\'s \"hardening\" breaking the platform module
* ...
* ...
* Raise an exception when not in broadcast and no match for send-text
* Fix remote command --match=all returns empty
* DRYer: Use window matching function in remote commands
* Show error message when remote command arguments are invalid
* cleanup previous PR
* Docs: Improve the documentations
* query terminal kitten: Return fast when run in non-kitty terminals
* Docs: Document the env vars set by kitty for auto shell integration
* Docs: Mention close_shared_ssh_connections in ssh kitten config docs
* ...
* ...
* Header to print stack traces in C
* Output debug lines for when kitty sets the pointer in Wayland
* Fix the generated sample kitty.conf containing invalid options
* ssh kitten: Suppress error prints about invalid items in kitty.conf
* Allow using --match=all in all rc commands
* Docs: Improve remote control command documentation
* Docs: Fix the help text of query_terminal and other minor tweaks
* Thu Apr 28 2022 scott.bradnickAATTsuse.com- Update to version nightly+git20220428.2737cb7d:
* Fix #5026
* Also dont apply umask when extracting bootstrap data
* Prevent umask from interfering with tar file extraction
* Allow three combining chars per cell
* Fix a couple of issues highlighted by updated mypy
* Ensure there are no duplicate watchers for send-text sessions
* Remove unused code
* broadcast kitten: Keep the ghost cursors in target windows as long as broadcast window has focus
* Handle zero blink time correctly
* Use cursor blink interval as TIMEOUT_FOR_SESSION
* remove unused adjust_line_height() function
* Docs: Improve the documentation for kittens
* Show detailed traceback when using show_error()
* Show traceback on stderr for action failures
* ...
* ...
* macOS: Add the macos_colorspace option to control what color space colors are rendered in
* GLFW API for changing colorspace of windows on cocoa
* Note that neovim is also getting support for the kitty keyboard protocol
* Fix #5016
* Docs: Add text to the ref text role and minor tweaks
* Docs: Improve the FAQ
* clone-in-kitty: Skip more SSH env vars to use the correct values
* Docs: Improve ssh kitten documentation
* Fix `launch --cwd=oldest`
* ...
* --hold is not suitable for replay commands as it outputs to the terminal
* Docs: Improvements to the configuration documentation
* Docs: Minor improvements to the kitty cli help documentation
* Docs: Minor tweaks to the help documentation of hints kitten
* Docs: Improve clone-in-kitty documentation and fix LANG descriptions
* ...
* DRYer
* Sort frozenset literals in generated options class definition
* macOS: Make the global menu shortcut to open kitty website configurable
* Add a new mappable action open_url
* Also save command history before cloning in bash
* zsh cloning: save history so that it is up-to-date in cloned shell
* ...
* DRYer
* Also ensure oldest cwd request type is honored by modify_argv
* Forgot to implement at_prompt use of reported cwd in modify_argv
* Thu Apr 21 2022 scott.bradnickAATTsuse.com- Update to version nightly+git20220421.27010d04:
* Fix docstring
* Docs: Mention again that kitty.conf will be created if not present
* Proper fix for reporting button in drag events to children
* Update changelog
* Fix #4993
* Fix a regression in the previous release that caused mouse move events to be incorrectly reported as drag events even when a button is not pressed
* ...
* ...
* ...
* Docs: Show copy button for installation command snippets
* Fix closing a tab incorrectly storing the tab to its right in the active tab history
* ...
* Add a note about ssh kitten colors to FAQ
* ...
* When using --keep-focus ensure active history list is not affected
* Fix #4986
* ...
* Note on how clone-in-kitty works
* ...
* ...
* clone-in-kitty: Remove duplicate PATH entries in fish implementation
* clone-in-kitty: Remove CONDA_PREFIX_
* env vars
* Yet another try to get zsh to de-dup $PATH
* Add more send_text examples
* typeset -U both path and PATH
* ...
* conda activate now works under fish so use it
* Document venv and sourcing behavior of clone-in-kitty
* Implement option to control clone sourcing strategies
* only pass VIRTUAL_ENV if it is currently active
* Start work on option to control sourcing strategies
* Add a note about show__key limitations
* ...
* Free up memory used to store copy of child env block
* Ensure the clone launch env var is not set accidentally
* Dont allow inappropriate types for cloning
* Make cloning safer
* Actually implement allow_cloning
* Infrastructure for serializing env blocks
* Ask for confirmation before doing a clone by default
* Get conda working with fish
* Implement venv detection for fish
* Add explicit support for python and conda venvs to clone-in-kitty
* ...
* clone-in-kitty: Skip some user-related environment variables
* Skip environment variables such as SSH_TTY when using clone-in-kitty
* Proper fix for macOS argv[0]
* Fix clone-in-kitty --env not working over ssh
* Dont clone prompt related env variables
* ...
* Use literal quoting for env vars sent over ssh by clone
* Ensure copy_env is False
* Allow nuking expandvars globally
* Dont rely on env -0 for bash either
* ssh kitten: handle newlines in env vars
* Handle argv[0] being buggered on macOS
* Dont rely on env -0 in zsh
* Add a zsh test for clone env serialization
* Ensure colors are copied form the correct window when cloning
* Minor refactoring for fish clone-in-kitty and allow use without env -0
* ...
* Fix #4964
* Add missing item to changelog
* Put the examples front and center
* Use 2048 chunk size in fish as well
* ...
* ...
* Implement clone-in-kitty for the fish shell
* Help message for clone-in-kitty
* ...
* Document clone-in-kitty
* Dont define clone-in-kitty in POSIX mode
* Get clone-in-kitty working for bash as well
* Fix usage of chunk_num
* Also transfer env vars when cloning over ssh kitten
* ...
* Work on getting cloning working with the SSH kitten
* ...
* Allow using the cwd of the oldest as well as the newest foreground process for launch --cwd
* Use $PWD instead of pwd -P as we want the exact same cwd not the resolved one when cloning
* Start work on a command to clone the current working env into a new kitty window
* Ensure IFS is correct when iterating over KITTY_SHELL_INTEGRATION
* Also package kitty.termcap
* termcap should be generated in generate not compile
* Also generate a termcap database entry when building terminfo
* A working implementation of cwd_of_process for FreeBSD
* Sessions: Fix os_window_size and os_window_class not applying to the first OS Window
* ...
* avoid unneccessary session creation during startup
* ...
* Remove --target-group in favor of the new boolean search expressions with matching on window/tab state
* Add a couple more states to match against
* Markup the --match options help text a bit more
* Allow matching on window/tab state
* Allow using boolean operators when matching windows or tabs
* Handle <> inside :ref: on the CLI
* Fix parsing of quoted words
* Create a search query parser
* --tab-title=current should respect any override title set on the tab
* Remove output start mark from last command output
* unactive -> inactive
* Fix #4954
* Mon Apr 11 2022 scott.bradnickAATTsuse.com- Update to version 0.25.0+git20220411.c6dcbe65:
* Dont check if running in kitty when updating
* Mon Apr 11 2022 scott.bradnickAATTsuse.com- Update to version v0.25.0+git20220411.49efbf0c:
* Remove the code to generate installer.sh from installer.py
* version 0.25.0
* Allow copying current window/tab/os window titles when creating new ones via the launch command. Fixes #4933
* Fix #4947
* Note that wayst also has graphics protocol support
* ...
* Add a new mappable action close_other_tabs_in_os_window
* Add instructions for how to do debug builds
* Fix #4938
* Fix resizing window that is extra tall/wide because of left-over cells not working reliably
* Make per cell bias calculation overridable more easily
* ssh kitten: Allow changing terminal colors when connecting
* Make some themes code re-useable
* Thu Apr 07 2022 scott.bradnickAATTsuse.com- Update to version nightly+git20220407.d0398dca:
* Bash shell integration: Fix yet another inconsistent use of SYS_BASHRC
* Forgot to adjust test for new mouse encoding
* DRYer
* Fix drag event reporting not specifying the current button.
* Fix #4932
* Update cursor focus flag when preparing to render OS window
* Better error message when ripgrep is not found
* Tue Apr 05 2022 scott.bradnickAATTsuse.com- Update to version nightly+git20220405.24eeeedb:
* ...
* Read appearance setting from desktop portal as well
* Restore invalid LANG after trying to get python to set the locale without it
* ...
* Only do update checking in binary builds
* ...
* Do not do automatic upgrades of remote kitty
* Do not depend on python to install kitty
* ...
* Simplify getting released kitty version
* Mon Mar 21 2022 Scott Bradnick - Updating to \'current\' commit as of \'Mon Mar 21 03:45:27 PM UTC 2022\'.
* Thu Mar 10 2022 Scott Bradnick - Convert to using git commits from github.
* Fri Mar 04 2022 Scott Bradnick - Updating furo wheel to \'furo-2022.3.4-py3-none-any.whl\'.
* Thu Mar 03 2022 Scott Bradnick - Update to 0.24.4:
* See: https://sw.kovidgoyal.net/kitty/changelog/ [2022-03-03]
* Mon Feb 28 2022 Scott Bradnick - Update to 0.24.3:
* See: https://sw.kovidgoyal.net/kitty/changelog/ [2022-02-28]
* Wed Feb 23 2022 Scott Bradnick - Updating furo wheel to \'furo-2022.2.23-py3-none-any.whl\'.
* Mon Feb 14 2022 Scott Bradnick - Updating furo wheel to \'furo-2022.2.14.1-py3-none-any.whl\'.
* Thu Feb 03 2022 Scott Bradnick - Update to 0.24.2:
* See: https://sw.kovidgoyal.net/kitty/changelog/ [2022-02-03]
* Fri Jan 07 2022 Scott Bradnick - Reworking .spec to use \'furo\' wheel.
* Thu Jan 06 2022 Scott Bradnick - Update to 0.24.1:
* See: https://sw.kovidgoyal.net/kitty/changelog/ [2022-01-06]
* Tue Jan 04 2022 Scott Bradnick - Update to 0.24.0:
* See: https://sw.kovidgoyal.net/kitty/changelog/ [2022-01-04]
* Sun Dec 05 2021 Scott Bradnick - Reworking to use python38 vs. python39 (not worth extra overhead).
* Tue Aug 17 2021 Scott Bradnick - Update to 0.23.1:
* See: https://sw.kovidgoyal.net/kitty/changelog/ [2021-08-17]
* Wed Aug 04 2021 Scott Bradnick - Adding aarch64 MarkupSafe to tw_whls.tar.gz ...
* Wed Aug 04 2021 Scott Bradnick - Update to 0.22.2:
* See: https://sw.kovidgoyal.net/kitty/changelog/ [2021-08-02]
* Mon Jul 26 2021 Scott Bradnick - Updates for Leap 15.3 ; seems to require python >= 3.8 ...
* Mon Jul 26 2021 Scott Bradnick - Update to 0.22.0:
* See: https://sw.kovidgoyal.net/kitty/changelog/ [2021-07-26]