123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909 |
- Changelog
- ==============
- |kitty| is a feature-rich, cross-platform, *fast*, GPU based terminal.
- To update |kitty|, :doc:`follow the instructions <binary>`.
- .. recent major features {{{
- Recent major new features
- ---------------------------
- Cheetah speed 🐆
- ~~~~~~~~~~~~~~~~~~~~~~
- kitty has grown up and become a cheetah. It now parses data it receives in
- parallel :iss:`using SIMD vector CPU instructions <7005>` for a 2x speedup in
- benchmarks and a 10%-50% real world speedup depending on workload. There is a
- new benchmarking kitten ``kitten __benchmark__`` that can be used to measure
- terminal throughput. There is also :ref:`a table <throughput>` showing kitty is
- much faster than other terminal emulators based on the benchmark kitten. While
- kitty was already so fast that its performance was never a bottleneck, this
- improvement makes it even faster and more importantly reduces the energy
- consumption to do the same tasks.
- File transfer over the tty device
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Transfer files to and from remote computers over the ``TTY`` device itself.
- This means that file transfer works over nested SSH sessions, serial links,
- etc. Anywhere you have a terminal device, you can transfer files.
- Simply ssh into a remote computer using the :doc:`ssh kitten </kittens/ssh>`
- and run the :doc:`transfer kitten </kittens/transfer>` (which the ssh kitten
- makes available for you on the remote computer automatically). For example, to
- copy a file from a remote computer::
- <local computer> $ kitten ssh my-remote-computer
- <remote computer> $ kitten transfer some-file /path/on/local/computer
- The kitten can transfer files to and from the remote computer. It supports
- recursive transfer of directories, symlinks and hardlinks. It can even use the
- rsync algorithm to speed up repeated transfers of large files.
- .. }}}
- Detailed list of changes
- -------------------------------------
- 0.33.2 [future]
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- - Wayland: panel kitten: Add support for drawing desktop background and bars
- using the panel kitten for all compositors that support the requisite Wayland
- protocol which is practically speaking all of them but GNOME (:pull:`2590`)
- - Wayland: Support fractional scales so that there is no wasted drawing at larger scale followed by resizing in the compositor
- - Wayland: Support preferred integer scales
- - Wayland KDE: Support :opt:`background_blur`
- - A new option :opt:`terminfo_type` to allow passing the terminfo database embedded into the :envvar:`TERMINFO` env var directly instead of via a file
- - Mouse reporting: Fix drag release event outside the window not being reported in legacy mouse reporting modes (:iss:`7244`)
- - macOS: Fix a regression in the previous release that broke rendering of some symbols on some systems (:iss:`7249`)
- - Fix handling of tab character when cursor is at end of line and wrapping is enabled (:iss:`7250`)
- 0.33.1 [2024-03-21]
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- - Fix a regression in the previous release that caused requesting data from the clipboard via OSC 52 to instead return data from the primary selection (:iss:`7213`)
- - Splits layout: Allow resizing until one of the halves in a split is minimally sized (:iss:`7220`)
- - macOS: Fix text rendered with fallback fonts not respecting bold/italic styling (:disc:`7241`)
- - 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 (:iss:`6043`)
- 0.33.0 [2024-03-12]
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- - :ref:`Cheetah speed <throughput>` with a redesigned render loop and a 2x faster escape code
- parser that uses SIMD CPU vector instruction to parse data in parallel
- (:iss:`7005`)
- - A new benchmark kitten (``kitten __benchmark__``) to measure terminal
- throughput performance
- - Graphics protocol: Add a new delete mode for deleting images whose ids fall within a range. Useful for bulk deletion (:iss:`7080`)
- - Keyboard protocol: Fix the :kbd:`Enter`, :kbd:`Tab` and :kbd:`Backspace` keys
- generating spurious release events even when report all keys as escape codes
- is not set (:iss:`7136`)
- - macOS: The command line args from :file:`macos-launch-services-cmdline` are now
- prefixed to any args from ``open --args`` rather than overwriting them (:iss:`7135`)
- - Allow specifying where the new tab is created for :ac:`detach_window` (:pull:`7134`)
- - hints kitten: The option to set the text color for hints now allows arbitrary
- colors (:pull:`7150`)
- - icat kitten: Add a command line argument to override terminal window size detection (:iss:`7165`)
- - A new action :ac:`toggle_tab` to easily switch to and back from a tab with a single shortcut (:iss:`7203`)
- - When :ac:`clearing terminal <clear_terminal>` add a new type ``to_cursor_scroll`` which can be
- used to clear to prompt while moving cleared lines into the scrollback
- - Fix a performance bottleneck when dealing with thousands of small images
- (:iss:`7080`)
- - kitten @ ls: Return the timestamp at which the window was created (:iss:`7178`)
- - hints kitten: Use default editor rather than hardcoding vim to open file at specific line (:iss:`7186`)
- - Remote control: Fix ``--match`` argument not working for @ls, @send-key,
- @set-background-image (:iss:`7192`)
- - Keyboard protocol: Do not deliver a fake key release events on OS window focus out for engaged modifiers (:iss:`7196`)
- - Ignore :opt:`startup_session` when kitty is invoked with command line options specifying a command to run (:pull:`7198`)
- - Box drawing: Specialize rendering for the Fira Code progress bar/spinner glyphs
- 0.32.2 [2024-02-12]
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- - kitten @ load-config: Allow (re)loading kitty.conf via remote control
- - Remote control: Allow running mappable actions via remote control (`kitten @ action`)
- - kitten @ send-text: Add a new option to automatically wrap the sent text in
- bracketed paste escape codes if the program in the destination window has
- turned on bracketed paste.
- - Fix a single key mapping not overriding a previously defined multi-key mapping
- - macOS: Fix :code:`kitten @ select-window` leaving the keyboard in a partially functional state (:iss:`7074`)
- - 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 (:iss:`7070`)
- - When matching URLs use the definition of legal characters in URLs from the
- `WHATWG spec <https://url.spec.whatwg.org/#url-code-points>`__ rather than older standards (:iss:`7095`)
- - hints kitten: Respect the kitty :opt:`url_excluded_characters` option
- (:iss:`7075`)
- - macOS: Fix an abort when changing OS window chrome for a full screen window via remote control or the themes kitten (:iss:`7106`)
- - Special case rendering of some more box drawing characters using shades from the block of symbols for legacy computing (:iss:`7110`)
- - A new action :ac:`close_other_os_windows` to close non active OS windows (:disc:`7113`)
- 0.32.1 [2024-01-26]
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- - macOS: Fix a regression in the previous release that broke overriding keyboard shortcuts for actions present in the global menu bar (:iss:`7016`)
- - Fix a regression in the previous release that caused multi-key sequences to not abort when pressing an unknown key (:iss:`7022`)
- - Fix a regression in the previous release that caused `kitten @ launch --cwd=current` to fail over SSH (:iss:`7028`)
- - Fix a regression in the previous release that caused `kitten @ send-text` with a match tab parameter to send text twice to the active window (:iss:`7027`)
- - Fix a regression in the previous release that caused overriding of existing multi-key mappings to fail (:iss:`7044`, :iss:`7058`)
- - Wayland+NVIDIA: Do not request an sRGB output buffer as a bug in Wayland causes kitty to not start (:iss:`7021`)
- 0.32.0 [2024-01-19]
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- - :ref:`conditional_mappings`
- - Support for :ref:`modal_mappings` such as in modal editors like vim
- - A new option :opt:`notify_on_cmd_finish` to show a desktop notification when a long running command finishes (:pull:`6817`)
- - A new action :ac:`send_key` to simplify mapping key presses to other keys without needing :ac:`send_text`
- - Allow focusing previously active OS windows via :ac:`nth_os_window` (:pull:`7009`)
- - Wayland: Fix a regression in the previous release that broke copying to clipboard under wl-roots based compositors in some circumstances
- (:iss:`6890`)
- - macOS: Fix some combining characters not being rendered (:iss:`6898`)
- - macOS: Fix returning from full screen via the button when the titlebar is hidden not hiding the buttons (:iss:`6883`)
- - macOS: Fix newly created OS windows not always appearing on the "active" monitor (:pull:`6932`)
- - Font fallback: Fix the font used to render a character sometimes dependent on the order in which characters appear on screen (:iss:`6865`)
- - panel kitten: Fix rendering with non-zero margin/padding in kitty.conf (:iss:`6923`)
- - kitty keyboard protocol: Specify the behavior of the modifier bits during modifier key events (:iss:`6913`)
- - Wayland: Enable support for the new cursor-shape protocol so that the mouse cursor is always rendered at the correct size in compositors that support this protocol (:iss:`6914`)
- - GNOME Wayland: Fix remembered window size smaller than actual size (:iss:`6946`)
- - Mouse reporting: Fix incorrect position reported for windows with padding (:iss:`6950`)
- - Fix :ac:`focus_visible_window` not switching to other window in stack layout
- when only two windows are present (:iss:`6970`)
- 0.31.0 [2023-11-08]
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- - Allow :ac:`easily running arbitrarily complex remote control scripts <remote_control_script>` without needing to turn on remote control (:iss:`6712`)
- - A new option :opt:`menu_map` that allows adding entries to the global menubar on macOS (:disc:`6680`)
- - A new :doc:`escape code <pointer-shapes>` that can be used by programs running in the terminal to change the shape of the mouse pointer (:iss:`6711`)
- - Graphics protocol: Support for positioning :ref:`images relative to other images <relative_image_placement>` (:iss:`6400`)
- - A new option :opt:`single_window_padding_width` to use a different padding when only a single window is visible (:iss:`6734`)
- - A new mouse action ``mouse_selection word_and_line_from_point`` to select the current word under the mouse cursor and extend to end of line (:pull:`6663`)
- - A new option :opt:`underline_hyperlinks` to control when hyperlinks are underlined (:iss:`6766`)
- - Allow using the full range of standard mouse cursor shapes when customizing the mouse cursor
- - macOS: When running the default shell with the login program fix :file:`~/.hushlogin` not being respected when opening windows not in the home directory (:iss:`6689`)
- - macOS: Fix poor performance when using ligatures with some fonts, caused by slow harfbuzz shaping (:iss:`6743`)
- - :option:`kitten @ set-background-opacity --toggle` - a new flag to easily switch opacity between the specified value and the default (:iss:`6691`)
- - 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 (:iss:`6708`)
- - Fix trailing bracket not ignored when detecting a multi-line URL with the trailing bracket as the first character on the last line (:iss:`6710`)
- - Fix the :option:`kitten @ launch --copy-env` option not copying current environment variables (:iss:`6724`)
- - Fix a regression that broke :program:`kitten update-self` (:iss:`6729`)
- - Two new event types for :ref:`watchers <watchers>`, :code:`on_title_change` and :code:`on_set_user_var`
- - When pasting, if the text contains terminal control codes ask the user for permission. See :opt:`paste_actions` for details. Thanks to David Leadbeater for discovering this.
- - Render Private Use Unicode symbols using two cells if the second cell contains an en-space as well as a normal space
- - macOS: Fix a regression in the previous release that caused kitten @ ls to not report the environment variables for the default shell (:iss:`6749`)
- - :doc:`Desktop notification protocol </desktop-notifications>`: Allow applications sending notifications to specify that the notification should only be displayed if the window is currently unfocused (:iss:`6755`)
- - :doc:`unicode_input kitten </kittens/unicode_input>`: Fix a regression that broke the "Emoticons" tab (:iss:`6760`)
- - Shell integration: Fix ``sudo --edit`` not working and also fix completions for sudo not working in zsh (:iss:`6754`, :iss:`6771`)
- - A new action :ac:`set_window_title` to interactively change the title of the active window
- - ssh kitten: Fix a regression that broken :kbd:`ctrl+space` mapping in zsh (:iss:`6780`)
- - Wayland: Fix primary selections not working with the river compositor (:iss:`6785`)
- 0.30.1 [2023-10-05]
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- - Shell integration: Automatically alias sudo to make the kitty terminfo files available in the sudo environment. Can be turned off via :opt:`shell_integration`
- - ssh kitten: Fix a regression in 0.28.0 that caused using ``--kitten`` to
- override :file:`ssh.conf` not inheriting settings from :file:`ssh.conf`
- (:iss:`6639`)
- - themes kitten: Allow absolute paths for ``--config-file-name`` (:iss:`6638`)
- - Expand environment variables in the :opt:`shell` option (:iss:`6511`)
- - macOS: When running the default shell, run it via the login program so that calls to ``getlogin()`` work (:iss:`6511`)
- - X11: Fix a crash on startup when the ibus service returns errors and the GLFW_IM_MODULE env var is set to ibus (:iss:`6650`)
- 0.30.0 [2023-09-18]
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- - A new :doc:`transfer kitten </kittens/transfer>` that can be used to transfer files efficiently over the TTY device
- - ssh kitten: A new configuration directive :opt:`to automatically forward the kitty remote control socket <kitten-ssh.forward_remote_control>`
- - Allow :doc:`easily building kitty from source </build>` needing the installation of only C and Go compilers.
- All other dependencies are automatically vendored
- - kitten @ set-user-vars: New remote control command to set user variables on a
- window (:iss:`6502`)
- - kitten @ ls: Add user variables set on windows to the output (:iss:`6502`)
- - kitten @ ls: Allow limiting output to matched windows/tabs (:iss:`6520`)
- - kitten icat: Fix image being displayed one cell to the right when using both ``--place`` and ``--unicode-placeholder`` (:iss:`6556`)
- - kitten run-shell: Make kitty terminfo database available if needed before starting the shell
- - macOS: Fix keyboard shortcuts in the Apple global menubar not being changed when reloading the config
- - Fix a crash when resizing an OS Window that is displaying more than one image and the new size is smaller than the image needs (:iss:`6555`)
- - Remote control: Allow using a random TCP port as the remote control socket and also allow using TCP sockets in :opt:`listen_on`
- - unicode_input kitten: Add an option to specify the startup tab (:iss:`6552`)
- - X11: Print an error to :file:`STDERR` instead of refusing to start when the user sets a custom window icon larger than 128x128 (:iss:`6507`)
- - Remote control: Allow matching by neighbor of active window. Useful for navigation plugins like vim-kitty-navigator
- - Fix a regression that caused changing :opt:`text_fg_override_threshold` or :opt:`text_composition_strategy` via config reload causing incorrect rendering (:iss:`6559`)
- - When running a shell for ``--hold`` set the env variable ``KITTY_HOLD=1`` to allow users to customize what happens (:disc:`6587`)
- - When multiple confirmable close requests are made focus the existing close confirmation window instead of opening a new one for each request (:iss:`6601`)
- - Config file format: allow splitting lines by starting subsequent lines with a backslash (:pull:`6603`)
- - ssh kitten: Fix a regression causing hostname directives in :file:`ssh.conf` not matching when username is specified (:disc:`6609`)
- - diff kitten: Add support for files that are identical apart from mode changes (:iss:`6611`)
- - Wayland: Do not request idle inhibition for full screen windows (:iss:`6613`)
- - Adjust the workaround for non-linear blending of transparent pixels in
- compositors to hopefully further reduce fringing around text with certain
- color issues (:iss:`6534`)
- 0.29.2 [2023-07-27]
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- - macOS: Fix a performance regression on M1 machines using outdated macOS versions (:iss:`6479`)
- - macOS: Disable OS window shadows for transparent windows as they cause rendering artifacts due to Cocoa bugs (:iss:`6439`)
- - Detect .tex and Makefiles as plain text files (:iss:`6492`)
- - unicode_input kitten: Fix scrolling over multiple screens not working (:iss:`6497`)
- 0.29.1 [2023-07-17]
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- - A new value for :opt:`background_image_layout` to scale the background image while preserving its aspect ratio. Also have centered images work even for images larger than the window size (:pull:`6458`)
- - Fix a regression that caused using unicode placeholders to display images to break and also partially offscreen images to sometimes be slightly distorted (:iss:`6467`)
- - macOS: Fix a regression that caused rendering to hang when transitioning to full screen with :opt:`macos_colorspace` set to ``default`` (:iss:`6435`)
- - macOS: Fix a regression causing *burn-in* of text when resizing semi-transparent OS windows (:iss:`6439`)
- - 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 in the previous release that caused :opt:`hide_window_decorations` = ``yes`` to prevent window from being resizable (:iss:`6436`)
- - macOS: Fix a regression that caused the titlebar to be translucent even for non-translucent windows (:iss:`6450`)
- - GNOME: Fix :opt:`wayland_titlebar_color` not being applied until the color is changed at least once (:iss:`6447`)
- - Remote control launch: Fix ``--env`` not implemented when using ``--cwd=current`` with the SSH kitten (:iss:`6438`)
- - Allow using a custom OS window icon on X11 as well as macOS (:pull:`6475`)
- 0.29.0 [2023-07-10]
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- - A new escape code ``<ESC>[22J`` that moves the current contents of the screen into the scrollback before clearing it
- - A new kitten :ref:`run-shell <run_shell>` to allow creating sub-shells with shell integration enabled
- - A new option :opt:`background_blur` to blur the background for transparent windows (:pull:`6135`)
- - The :option:`--hold` flag now holds the window open at a shell prompt instead of asking the user to press a key
- - A new option :opt:`text_fg_override_threshold` to force text colors to have high contrast regardless of color scheme (:pull:`6283`)
- - When resizing OS Windows make the animation less jerky. Also show the window size in cells during the resize (:iss:`6341`)
- - unicode_input kitten: Fix a regression in 0.28.0 that caused the order of recent and favorites entries to not be respected (:iss:`6214`)
- - unicode_input kitten: Fix a regression in 0.28.0 that caused editing of favorites to sometimes hang
- - clipboard kitten: Fix a bug causing the last MIME type available on the clipboard not being recognized when pasting
- - clipboard kitten: Dont set clipboard when getting clipboard in filter mode (:iss:`6302`)
- - Fix regression in 0.28.0 causing color fringing when rendering in transparent windows on light backgrounds (:iss:`6209`)
- - show_key kitten: In kitty mode show the actual bytes sent by the terminal rather than a re-encoding of the parsed key event
- - hints kitten: Fix a regression in 0.28.0 that broke using sub-groups in regexp captures (:iss:`6228`)
- - hints kitten: Fix a regression in 0.28.0 that broke using lookahead/lookbehind in regexp captures (:iss:`6265`)
- - diff kitten: Fix a regression in 0.28.0 that broke using relative paths as arguments to the kitten (:iss:`6325`)
- - Fix re-using the image id of an animated image for a still image causing a crash (:iss:`6244`)
- - kitty +open: Ask for permission before executing script files that are not marked as executable. This prevents accidental execution
- of script files via MIME type association from programs that unconditionally "open" attachments/downloaded files
- - edit-in-kitty: Fix running edit-in-kitty with elevated privileges to edit a restricted file not working (:disc:`6245`)
- - ssh kitten: Fix a regression in 0.28.0 that caused interrupt during setup to not be handled gracefully (:iss:`6254`)
- - ssh kitten: Allow configuring the ssh kitten to skip some hosts via a new ``delegate`` config directive
- - Graphics: Move images up along with text when the window is shrunk vertically (:iss:`6278`)
- - Fix a regression in 0.28.0 that caused a buffer overflow when clearing the screen (:iss:`6306`, :pull:`6308`)
- - Fix a regression in 0.27.0 that broke setting of specific edge padding/margin via remote control (:iss:`6333`)
- - macOS: Fix window shadows not being drawn for transparent windows (:iss:`2827`, :pull:`6416`)
- - Do not echo invalid DECRQSS queries back, behavior inherited from xterm (CVE-2008-2383). Similarly, fix an echo
- bug in the file transfer protocol due to insufficient sanitization of safe strings.
- 0.28.1 [2023-04-21]
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- - Fix a regression in the previous release that broke the remote file kitten (:iss:`6186`)
- - Fix a regression in the previous release that broke handling of some keyboard shortcuts in some kittens on some keyboard layouts (:iss:`6189`)
- - Fix a regression in the previous release that broke usage of custom themes (:iss:`6191`)
- 0.28.0 [2023-04-15]
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- - **Text rendering change**: Use sRGB correct linear gamma blending for nicer font
- rendering and better color accuracy with transparent windows.
- See the option :opt:`text_composition_strategy` for details.
- The obsolete :opt:`macos_thicken_font` will make the font too thick and needs to be removed manually
- if it is configured. (:pull:`5969`)
- - icat kitten: Support display of images inside tmux >= 3.3 (:pull:`5664`)
- - Graphics protocol: Add support for displaying images inside programs that do not support the protocol such as vim and tmux (:pull:`5664`)
- - diff kitten: Add support for selecting multi-line text with the mouse
- - Fix a regression in 0.27.0 that broke ``kitty @ set-font-size 0`` (:iss:`5992`)
- - launch: When using ``--cwd=current`` for a remote system support running non shell commands as well (:disc:`5987`)
- - When changing the cursor color via escape codes or remote control to a fixed color, do not reset cursor_text_color (:iss:`5994`)
- - Input Method Extensions: Fix incorrect rendering of IME in-progress and committed text in some situations (:pull:`6049`, :pull:`6087`)
- - Linux: Reduce minimum required OpenGL version from 3.3 to 3.1 + extensions (:iss:`2790`)
- - Fix a regression that broke drawing of images below cell backgrounds (:iss:`6061`)
- - macOS: Fix the window buttons not being hidden after exiting the traditional full screen (:iss:`6009`)
- - When reloading configuration, also reload custom MIME types from :file:`mime.types` config file (:pull:`6012`)
- - launch: Allow specifying the state (full screen/maximized/minimized) for newly created OS Windows (:iss:`6026`)
- - Sessions: Allow specifying the OS window state via the ``os_window_state`` directive (:iss:`5863`)
- - macOS: Display the newly created OS window in specified state to avoid or reduce the window transition animations (:pull:`6035`)
- - macOS: Fix the maximized window not taking up full space when the title bar is hidden or when :opt:`resize_in_steps` is configured (:iss:`6021`)
- - Linux: A new option :opt:`linux_bell_theme` to control which sound theme is used for the bell sound (:pull:`4858`)
- - ssh kitten: Change the syntax of glob patterns slightly to match common usage
- elsewhere. Now the syntax is the same as "extendedglob" in most shells.
- - hints kitten: Allow copying matches to named buffers (:disc:`6073`)
- - Fix overlay windows not inheriting the per-window padding and margin settings
- of their parents (:iss:`6063`)
- - Wayland KDE: Fix selecting in un-focused OS window not working correctly (:iss:`6095`)
- - Linux X11: Fix a crash if the X server requests clipboard data after we have relinquished the clipboard (:iss:`5650`)
- - Allow stopping of URL detection at newlines via :opt:`url_excluded_characters` (:iss:`6122`)
- - Linux Wayland: Fix animated images not being animated continuously (:iss:`6126`)
- - Keyboard input: Fix text not being reported as unicode codepoints for multi-byte characters in the kitty keyboard protocol (:iss:`6167`)
- 0.27.1 [2023-02-07]
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- - Fix :opt:`modify_font` not working for strikethrough position (:iss:`5946`)
- - Fix a regression causing the ``edit-in-kitty`` command not working if :file:`kitten` is not added
- to PATH (:iss:`5956`)
- - icat kitten: Fix a regression that broke display of animated GIFs over SSH (:iss:`5958`)
- - Wayland GNOME: Fix for ibus not working when using XWayland (:iss:`5967`)
- - Fix regression in previous release that caused incorrect entries in terminfo for modifier+F3 key combinations (:pull:`5970`)
- - Bring back the deprecated and removed ``kitty +complete`` and delegate it to :program:`kitten` for backward compatibility (:pull:`5977`)
- - Bump the version of Go needed to build kitty to ``1.20`` so we can use the Go stdlib ecdh package for crypto.
- 0.27.0 [2023-01-31]
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- - A new statically compiled, standalone executable, ``kitten`` (written in Go)
- that can be used on all UNIX-like servers for remote control (``kitten @``),
- viewing images (``kitten icat``), manipulating the clipboard (``kitten clipboard``), etc.
- - :doc:`clipboard kitten </kittens/clipboard>`: Allow copying arbitrary data types to/from the clipboard, not just plain text
- - Speed up the ``kitty @`` executable by ~10x reducing the time for typical
- remote control commands from ~50ms to ~5ms
- - icat kitten: Speed up by using POSIX shared memory when possible to transfer
- image data to the terminal. Also support common image formats
- GIF/PNG/JPEG/WEBP/TIFF/BMP out of the box without needing ImageMagick.
- - Option :opt:`show_hyperlink_targets` to show the target of terminal hyperlinks when hovering over them with the mouse (:pull:`5830`)
- - Keyboard protocol: Remove ``CSI R`` from the allowed encodings of the :kbd:`F3` key as it conflicts with the *Cursor Position Report* escape code (:disc:`5813`)
- - Allow using the cwd of the original process for :option:`launch --cwd` (:iss:`5672`)
- - Session files: Expand environment variables (:disc:`5917`)
- - Pass key events mapped to scroll actions to the program running in the terminal when the terminal is in alternate screen mode (:iss:`5839`)
- - Implement :ref:`edit-in-kitty <edit_file>` using the new ``kitten`` static executable (:iss:`5546`, :iss:`5630`)
- - Add an option :opt:`background_tint_gaps` to control background image tinting for window gaps (:iss:`5596`)
- - A new option :opt:`undercurl_style` to control the rendering of undercurls (:pull:`5883`)
- - Bash integration: Fix ``clone-in-kitty`` not working on bash >= 5.2 if environment variable values contain newlines or other special characters (:iss:`5629`)
- - A new :ac:`sleep` action useful in combine based mappings to make kitty sleep before executing the next action
- - Wayland GNOME: Workaround for latest mutter release breaking full screen for semi-transparent kitty windows (:iss:`5677`)
- - A new option :opt:`tab_title_max_length` to limit the length of tab (:iss:`5718`)
- - When drawing the tab bar have the default left and right margins drawn in a color matching the neighboring tab (:iss:`5719`)
- - When using the :code:`include` directive in :file:`kitty.conf` make the environment variable :envvar:`KITTY_OS` available for OS specific config
- - Wayland: Fix signal handling not working with some GPU drivers (:iss:`4636`)
- - Remote control: When matching windows allow using negative id numbers to match recently created windows (:iss:`5753`)
- - ZSH Integration: Bind :kbd:`alt+left` and :kbd:`alt+right` to move by word if not already bound. This mimics the default bindings in Terminal.app (:iss:`5793`)
- - macOS: Allow to customize :sc:`Hide <hide_macos_app>`, :sc:`Hide Others <hide_macos_other_apps>`, :sc:`Minimize <minimize_macos_window>`, and :sc:`Quit <quit>` global menu shortcuts. Note that :opt:`clear_all_shortcuts` will remove these shortcuts now (:iss:`948`)
- - When a multi-key sequence does not match any action, send all key events to the child program (:pull:`5841`)
- - broadcast kitten: Allow pressing a key to stop echoing of input into the broadcast window itself (:disc:`5868`)
- - When reporting unused activity in a window, ignore activity that occurs soon after a window resize (:iss:`5881`)
- - Fix using :opt:`cursor` = ``none`` not working on text that has reverse video (:iss:`5897`)
- - Fix ssh kitten not working on FreeBSD (:iss:`5928`)
- - macOS: Export kitty selected text to the system for use with services that accept it (patch by Sertaç Ö. Yıldız)
- 0.26.5 [2022-11-07]
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- - Splits layout: Add a new mappable action to move the active window to the screen edge (:iss:`5643`)
- - ssh kitten: Allow using absolute paths for the location of transferred data (:iss:`5607`)
- - Fix a regression in the previous release that caused a ``resize_draw_strategy`` of ``static`` to not work (:iss:`5601`)
- - Wayland KDE: Fix abort when pasting into Firefox (:iss:`5603`)
- - Wayland GNOME: Fix ghosting when using :opt:`background_tint` (:iss:`5605`)
- - Fix cursor position at x=0 changing to x=1 on resize (:iss:`5635`)
- - Wayland GNOME: Fix incorrect window size in some circumstances when switching between windows with window decorations disabled (:iss:`4802`)
- - Wayland: Fix high CPU usage when using some input methods (:pull:`5369`)
- - Remote control: When matching window by `state:focused` and no window currently has keyboard focus, match the window belonging to the OS window that was last focused (:iss:`5602`)
- 0.26.4 [2022-10-17]
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- - macOS: Allow changing the kitty icon by placing a custom icon in the kitty config folder (:pull:`5464`)
- - Allow centering the :opt:`background_image` (:iss:`5525`)
- - X11: Fix a regression in the previous release that caused pasting from GTK based applications to have extra newlines (:iss:`5528`)
- - Tab bar: Improve empty space management when some tabs have short titles, allocate the saved space to the active tab (:iss:`5548`)
- - Fix :opt:`background_tint` not applying to window margins and padding (:iss:`3933`)
- - Wayland: Fix background image scaling using tiled mode on high DPI screens
- - Wayland: Fix an abort when changing background colors with :opt:`wayland_titlebar_color` set to ``background`` (:iss:`5562`)
- - Update to Unicode 15.0 (:pull:`5542`)
- - GNOME Wayland: Fix a memory leak in gnome-shell when using client side decorations
- 0.26.3 [2022-09-22]
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- - Wayland: Mark windows in which a bell occurs as urgent on compositors that support the xdg-activation protocol
- - Allow passing null bytes through the system clipboard (:iss:`5483`)
- - ssh kitten: Fix :envvar:`KITTY_PUBLIC_KEY` not being encoded properly when transmitting (:iss:`5496`)
- - Sessions: Allow controlling which OS Window is active via the ``focus_os_window`` directive
- - Wayland: Fix for bug in NVIDIA drivers that prevents transparency working (:iss:`5479`)
- - Wayland: Fix for a bug that could cause kitty to become non-responsive when
- using multiple OS windows in a single instance on some compositors (:iss:`5495`)
- - Wayland: Fix for a bug preventing kitty from starting on Hyprland when using a non-unit scale (:iss:`5467`)
- - Wayland: Generate a XDG_ACTIVATION_TOKEN when opening URLs or running programs in the background via the launch action
- - 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. (:iss:`5500`)
- - Fix a use-after-free when handling fake mouse clicks and the action causes windows to be removed/re-allocated (:iss:`5506`)
- 0.26.2 [2022-09-05]
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- - Allow creating :code:`overlay-main` windows, which are treated as the active window unlike normal overlays (:iss:`5392`)
- - hints kitten: Allow using :doc:`launch` as the program to run, to open the result in a new kitty tab/window/etc. (:iss:`5462`)
- - hyperlinked_grep kitten: Allow control over which parts of ``rg`` output are hyperlinked (:pull:`5428`)
- - Fix regression in 0.26.0 that caused launching kitty without working STDIO handles to result in high CPU usage and prewarming failing (:iss:`5444`)
- - :doc:`/launch`: Allow setting the margin and padding for newly created windows (:iss:`5463`)
- - macOS: Fix regression in 0.26.0 that caused asking the user for a line of input such as for :ac:`set_tab_title` to not work (:iss:`5447`)
- - hints kitten: hyperlink matching: Fix hints occasionally matching text on subsequent line as part of hyperlink (:pull:`5450`)
- - Fix a regression in 0.26.0 that broke mapping of native keys whose key codes did not fit in 21 bits (:iss:`5452`)
- - Wayland: Fix remembering window size not accurate when client side decorations are present
- - Fix an issue where notification identifiers were not sanitized leading to
- code execution if the user clicked on a notification popup from a malicious
- source. Thanks to Carter Sande for discovering this vulnerability.
- 0.26.1 [2022-08-30]
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- - ssh kitten: Fix executable permission missing from kitty bootstrap script (:iss:`5438`)
- - Fix a regression in 0.26.0 that caused kitty to no longer set the ``LANG`` environment variable on macOS (:iss:`5439`)
- - Allow specifying a title when using the :ac:`set_tab_title` action (:iss:`5441`)
- 0.26.0 [2022-08-29]
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- - A new option :opt:`remote_control_password` to use fine grained permissions for what can be remote controlled (:disc:`5320`)
- - Reduce startup latency by ~30 milliseconds when running kittens via key bindings inside kitty (:iss:`5159`)
- - A new option :opt:`modify_font` to adjust various font metrics like underlines, cell sizes etc. (:pull:`5265`)
- - A new shortcut :sc:`show_kitty_doc` to display the kitty docs in a browser
- - Graphics protocol: Only delete temp files if they have the string
- :code:`tty-graphics-protocol` in their file paths. This prevents deletion of arbitrary files in :file:`/tmp`.
- - Deprecate the ``adjust_baseline``, ``adjust_line_height`` and ``adjust_column_width`` options in favor of :opt:`modify_font`
- - Wayland: Fix a regression in the previous release that caused mouse cursor
- animation and keyboard repeat to stop working when switching seats (:iss:`5188`)
- - Allow resizing windows created in session files (:pull:`5196`)
- - Fix horizontal wheel events not being reported to client programs when they grab the mouse (:iss:`2819`)
- - macOS: Remote control: Fix unable to launch a new OS window or background process when there is no OS window (:iss:`5210`)
- - macOS: Fix unable to open new tab or new window when there is no OS window (:iss:`5276`)
- - kitty @ set-colors: Fix changing inactive_tab_foreground not working (:iss:`5214`)
- - macOS: Fix a regression that caused switching keyboard input using Eisu and
- Kana keys not working (:iss:`5232`)
- - Add a mappable action to toggle the mirrored setting for the tall and fat
- layouts (:pull:`5344`)
- - Add a mappable action to switch between predefined bias values for the tall and fat
- layouts (:pull:`5352`)
- - Wayland: Reduce flicker at startup by not using render frames immediately after a resize (:iss:`5235`)
- - Linux: Update cursor position after all key presses not just pre-edit text
- changes (:iss:`5241`)
- - ssh kitten: Allow ssh kitten to work from inside tmux, provided the tmux
- session inherits the correct KITTY env vars (:iss:`5227`)
- - ssh kitten: A new option :code:`--symlink-strategy` to control how symlinks
- are copied to the remote machine (:iss:`5249`)
- - ssh kitten: Allow pressing :kbd:`Ctrl+C` to abort ssh before the connection is
- completed (:iss:`5271`)
- - Bash integration: Fix declare not creating global variables in .bashrc (:iss:`5254`)
- - Bash integration: Fix the inherit_errexit option being set by shell integration (:iss:`5349`)
- - :command:`kitty @ scroll-window` allow scrolling by fractions of a screen
- (:iss:`5294`)
- - remote files kitten: Fix working with files whose names have characters that
- need to be quoted in shell scripts (:iss:`5313`)
- - Expand ~ in paths configured in :opt:`editor` and :opt:`exe_search_path` (:disc:`5298`)
- - Allow showing the working directory of the active window in tab titles
- (:pull:`5314`)
- - ssh kitten: Allow completion of ssh options between the destination and command (:iss:`5322`)
- - macOS: Fix speaking selected text not working (:iss:`5357`)
- - Allow ignoring failure to close windows/tabs via rc commands (:disc:`5406`)
- - Fix hyperlinks not present when fetching text from the history buffer
- (:iss:`5427`)
- 0.25.2 [2022-06-07]
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- - A new command :command:`edit-in-kitty` to :ref:`edit_file`
- - Allow getting the last non-empty command output easily via an action or
- remote control (:pull:`4973`)
- - Fix a bug that caused :opt:`macos_colorspace` to always be ``default`` regardless of its actual value (:iss:`5129`)
- - diff kitten: A new option :opt:`kitten-diff.ignore_name` to exclude files and directories from being scanned (:pull:`5171`)
- - ssh kitten: Fix bash not being executed as a login shell since kitty 0.25.0 (:iss:`5130`)
- - 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 (:pull:`5142`)
- - macOS: Allow opening executables without a file extension with kitty as well
- (:iss:`5160`)
- - Themes kitten: Add a tab to show user defined custom color themes separately
- (:pull:`5150`)
- - Iosevka: Fix incorrect rendering when there is a combining char that does not
- group with its neighbors (:iss:`5153`)
- - Weston: Fix client side decorations flickering on slow computers during
- window resize (:iss:`5162`)
- - Remote control: Fix commands with large or asynchronous payloads like
- :command:`kitty @ set-backround-image`, :command:`kitty @ set-window-logo`
- and :command:`kitty @ select-window` not working correctly
- when using a socket (:iss:`5165`)
- - hints kitten: Fix surrounding quotes/brackets and embedded carriage returns
- not being removed when using line number processing (:iss:`5170`)
- 0.25.1 [2022-05-26]
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- - Shell integration: Add a command to :ref:`clone_shell`
- - Remote control: Allow using :ref:`Boolean operators <search_syntax>` when constructing queries to match windows or tabs
- - Sessions: Fix :code:`os_window_size` and :code:`os_window_class` not applying to the first OS Window (:iss:`4957`)
- - Allow using the cwd of the oldest as well as the newest foreground process for :option:`launch --cwd` (:disc:`4869`)
- - Bash integration: Fix the value of :opt:`shell_integration` not taking effect if the integration script is sourced in bashrc (:pull:`4964`)
- - 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 (:iss:`4992`)
- - remote file kitten: Integrate with the ssh kitten for improved performance
- and robustness. Re-uses the control master connection of the ssh kitten to
- avoid round-trip latency.
- - Fix tab selection when closing a new tab not correct in some scenarios (:iss:`4987`)
- - A new action :ac:`open_url` to open the specified URL (:pull:`5004`)
- - A new option :opt:`select_by_word_characters_forward` that allows changing
- which characters are considered part of a word to the right when double clicking to select
- words (:pull:`5103`)
- - macOS: Make the global menu shortcut to open kitty website configurable (:pull:`5004`)
- - macOS: Add the :opt:`macos_colorspace` option to control what color space colors are rendered in (:iss:`4686`)
- - Fix reloading of config not working when :file:`kitty.conf` does not exist when kitty is launched (:iss:`5071`)
- - Fix deleting images by row not calculating image bounds correctly (:iss:`5081`)
- - Increase the max number of combining chars per cell from two to three, without increasing memory usage.
- - Linux: Load libfontconfig at runtime to allow the binaries to work for
- running kittens on servers without FontConfig
- - GNOME: Fix for high CPU usage caused by GNOME's text input subsystem going
- into an infinite loop when IME cursor position is updated after a done event
- (:iss:`5105`)
- 0.25.0 [2022-04-11]
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- - :doc:`kittens/ssh`: automatic shell integration when using SSH. Easily
- clone local shell and editor configuration on remote machines, and automatic
- re-use of existing connections to avoid connection setup latency.
- - When pasting URLs at shell prompts automatically quote them. Also allow filtering pasted text and confirm pastes. See :opt:`paste_actions` for details. (:iss:`4873`)
- - Change the default value of :opt:`confirm_os_window_close` to ask for confirmation when closing windows that are not sitting at shell prompts
- - A new value :code:`last_reported` for :option:`launch --cwd` to use the current working directory last reported by the program running in the terminal
- - macOS: When using Apple's less as the pager for viewing scrollback strip out OSC codes as it can't parse them (:iss:`4788`)
- - diff kitten: Fix incorrect rendering in rare circumstances when scrolling after changing the context size (:iss:`4831`)
- - icat kitten: Fix a regression that broke :option:`kitty +kitten icat --print-window-size` (:pull:`4818`)
- - Wayland: Fix :opt:`hide_window_decorations` causing docked windows to be resized on blur (:iss:`4797`)
- - Bash integration: Prevent shell integration code from running twice if user enables both automatic and manual integration
- - Bash integration: Handle existing PROMPT_COMMAND ending with a literal newline
- - Fix continued lines not having their continued status reset on line feed (:iss:`4837`)
- - macOS: Allow the New kitty Tab/Window Here services to open multiple selected folders. (:pull:`4848`)
- - Wayland: Fix a regression that broke IME when changing windows/tabs (:iss:`4853`)
- - macOS: Fix Unicode paths not decoded correctly when dropping files (:pull:`4879`)
- - Avoid flicker when starting kittens such as the hints kitten (:iss:`4674`)
- - A new action :ac:`scroll_prompt_to_top` to move the current prompt to the top (:pull:`4891`)
- - :ac:`select_tab`: Use stable numbers when selecting the tab (:iss:`4792`)
- - Only check for updates in the official binary builds. Distro packages or source builds will no longer check for updates, regardless of the
- value of :opt:`update_check_interval`.
- - Fix :opt:`inactive_text_alpha` still being applied to the cursor hidden window after focus (:iss:`4928`)
- - Fix resizing window that is extra tall/wide because of left-over cells not
- working reliably (:iss:`4913`)
- - A new action :ac:`close_other_tabs_in_os_window` to close other tabs in the active OS window (:pull:`4944`)
- 0.24.4 [2022-03-03]
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- - Shell integration: Fix the default Bash :code:`$HISTFILE` changing to :file:`~/.sh_history` instead of :file:`~/.bash_history` (:iss:`4765`)
- - Linux binaries: Fix binaries not working on systems with older Wayland client libraries (:iss:`4760`)
- - Fix a regression in the previous release that broke kittens launched with :code:`STDIN` not connected to a terminal (:iss:`4763`)
- - Wayland: Fix surface configure events not being acknowledged before commit
- the resized buffer (:pull:`4768`)
- 0.24.3 [2022-02-28]
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- - Bash integration: No longer modify :file:`~/.bashrc` to load :ref:`shell integration <shell_integration>`.
- It is recommended to remove the lines used to load the shell integration from :file:`~/.bashrc` as they are no-ops.
- - macOS: Allow kitty to handle various URL types. Can be configured via
- :ref:`launch_actions` (:pull:`4618`)
- - macOS: Add a new service ``Open with kitty`` to open file types that are not
- recognized by the system (:pull:`4641`)
- - Splits layout: A new value for :option:`launch --location` to auto-select the split axis when splitting existing windows.
- Wide windows are split side-by-side and tall windows are split one-above-the-other
- - hints kitten: Fix a regression that broke recognition of path:linenumber:colnumber (:iss:`4675`)
- - Fix a regression in the previous release that broke :opt:`active_tab_foreground` (:iss:`4620`)
- - Fix :ac:`show_last_command_output` not working when the output is stored
- partially in the scrollback pager history buffer (:iss:`4435`)
- - When dropping URLs/files onto kitty at a shell prompt insert them appropriately quoted and space
- separated (:iss:`4734`)
- - Improve CWD detection when there are multiple foreground processes in the TTY process group
- - A new option :opt:`narrow_symbols` to turn off opportunistic wide rendering of private use codepoints
- - ssh kitten: Fix location of generated terminfo files on NetBSD (:iss:`4622`)
- - A new action to clear the screen up to the line containing the cursor, see
- :ac:`clear_terminal`
- - A new action :ac:`copy_ansi_to_clipboard` to copy the current selection with ANSI formatting codes
- (:iss:`4665`)
- - Linux: Do not rescale fallback fonts to match the main font cell height, instead just
- set the font size and let FreeType take care of it. This matches
- rendering on macOS (:iss:`4707`)
- - macOS: Fix a regression in the previous release that broke switching input
- sources by keyboard (:iss:`4621`)
- - macOS: Add the default shortcut :kbd:`cmd+k` to clear the terminal screen and
- scrollback up to the cursor (:iss:`4625`)
- - Fix a regression in the previous release that broke strikethrough (:disc:`4632`)
- - A new action :ac:`scroll_prompt_to_bottom` to move the current prompt
- to the bottom, filling in the window from the scrollback (:pull:`4634`)
- - Add two special arguments ``@first-line-on-screen`` and ``@last-line-on-screen``
- for the :doc:`launch <launch>` command to be used for pager positioning.
- (:iss:`4462`)
- - Linux: Fix rendering of emoji when using scalable fonts such as Segoe UI Emoji
- - Shell integration: bash: Dont fail if an existing PROMPT_COMMAND ends with a semi-colon (:iss:`4645`)
- - Shell integration: bash: Fix rendering of multiline prompts with more than two lines (:iss:`4681`)
- - Shell integration: fish: Check fish version 3.3.0+ and exit on outdated versions (:pull:`4745`)
- - Shell integration: fish: Fix pipestatus being overwritten (:pull:`4756`)
- - Linux: Fix fontconfig alias not being used if the aliased font is dual spaced instead of monospaced (:iss:`4649`)
- - macOS: Add an option :opt:`macos_menubar_title_max_length` to control the max length of the window title displayed in the global menubar (:iss:`2132`)
- - Fix :opt:`touch_scroll_multiplier` also taking effect in terminal programs such as vim that handle mouse events themselves (:iss:`4680`)
- - Fix symbol/PUA glyphs loaded via :opt:`symbol_map` instead of as fallbacks not using following spaces to render larger versions (:iss:`4670`)
- - macOS: Fix regression in previous release that caused Apple's global shortcuts to not work if they had never been configured on a particular machine (:iss:`4657`)
- - Fix a fast *click, move mouse, click* sequence causing the first click event to be discarded (:iss:`4603`)
- - Wayland: Fix wheel mice with line based scrolling being incorrectly handled as high precision devices (:iss:`4694`)
- - Wayland: Fix touchpads and high resolution wheels not scrolling at the same speed on monitors with different scales (:iss:`4703`)
- - Add an option :opt:`wheel_scroll_min_lines` to set the minimum number of lines for mouse wheel scrolling when using a mouse with a wheel that generates very small offsets when slow scrolling (:pull:`4710`)
- - macOS: Make the shortcut to toggle full screen configurable (:pull:`4714`)
- - macOS: Fix the mouse cursor being set to arrow after switching desktops or toggling full screen (:pull:`4716`)
- - Fix copying of selection after selection has been scrolled off history buffer raising an error (:iss:`4713`)
- 0.24.2 [2022-02-03]
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- - macOS: Allow opening text files, images and directories with kitty when
- launched using "Open with" in Finder (:iss:`4460`)
- - Allow including config files matching glob patterns in :file:`kitty.conf`
- (:iss:`4533`)
- - Shell integration: Fix bash integration not working when ``PROMPT_COMMAND``
- is used to change the prompt variables (:iss:`4476`)
- - Shell integration: Fix cursor shape not being restored to default when
- running commands in the shell
- - Improve the UI of the ask kitten (:iss:`4545`)
- - Allow customizing the placement and formatting of the
- :opt:`tab_activity_symbol` and :opt:`bell_on_tab` symbols
- by adding them to the :opt:`tab_title_template` (:iss:`4581`, :pull:`4507`)
- - macOS: Persist "Secure Keyboard Entry" across restarts to match the behavior
- of Terminal.app (:iss:`4471`)
- - hints kitten: Fix common single letter extension files not being detected
- (:iss:`4491`)
- - Support dotted and dashed underline styles (:pull:`4529`)
- - For the vertical and horizontal layouts have the windows arranged on a ring
- rather than a plane. This means the first and last window are considered
- neighbors (:iss:`4494`)
- - A new action to clear the current selection (:iss:`4600`)
- - Shell integration: fish: Fix cursor shape not working with fish's vi mode
- (:iss:`4508`)
- - Shell integration: fish: Dont override fish's native title setting functionality.
- See `discussion <https://github.com/fish-shell/fish-shell/issues/8641>`__.
- - macOS: Fix hiding via :kbd:`cmd+h` not working on macOS 10.15.7 (:iss:`4472`)
- - Draw the dots for braille characters more evenly spaced at all font sizes (:iss:`4499`)
- - icat kitten: Add options to mirror images and remove their transparency
- before displaying them (:iss:`4513`)
- - macOS: Respect the users system-wide global keyboard shortcut preferences
- (:iss:`4501`)
- - macOS: Fix a few key-presses causing beeps from Cocoa's text input system
- (:iss:`4489`)
- - macOS: Fix using shortcuts from the global menu bar as subsequent key presses
- in a multi key mapping not working (:iss:`4519`)
- - Fix getting last command output not working correctly when the screen is
- scrolled (:pull:`4522`)
- - Show number of windows per tab in the :ac:`select_tab` action (:pull:`4523`)
- - macOS: Fix the shift key not clearing pre-edit text in IME (:iss:`4541`)
- - Fix clicking in a window to focus it and typing immediately sometimes having
- unexpected effects if at a shell prompt (:iss:`4128`)
- - themes kitten: Allow writing to a different file than :file:`kitty.conf`.
- 0.24.1 [2022-01-06]
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- - Shell integration: Work around conflicts with some zsh plugins (:iss:`4428`)
- - Have the zero width space and various other characters from the *Other,
- formatting* Unicode category be treated as combining characters (:iss:`4439`)
- - Fix using ``--shell-integration`` with :file:`setup.py` broken (:iss:`4434`)
- - Fix showing debug information not working if kitty's :file:`STDIN` is not a tty
- (:iss:`4424`)
- - Linux: Fix a regression that broke rendering of emoji with variation selectors
- (:iss:`4444`)
- 0.24.0 [2022-01-04]
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- - Integrate kitty closely with common shells such as zsh, fish and bash.
- This allows lots of niceties such as jumping to previous prompts, opening the
- output of the last command in a new window, etc. See :ref:`shell_integration`
- for details. Packagers please read :ref:`packagers`.
- - A new shortcut :sc:`focus_visible_window` to visually focus a window using
- the keyboard. Pressing it causes numbers to appear over each visible window
- and you can press the number to focus the corresponding window (:iss:`4110`)
- - A new facility :opt:`window_logo_path` to draw an arbitrary PNG image as
- logo in the corner of a kitty window (:pull:`4167`)
- - Allow rendering the cursor with a *reverse video* effect. See :opt:`cursor`
- for details (:iss:`126`)
- - Allow rendering the mouse selection with a *reverse video* effect. See
- :opt:`selection_foreground` (:iss:`646`)
- - A new option :opt:`tab_bar_align` to draw the tab bar centered or right
- aligned (:iss:`3946`)
- - Allow the user to supply a custom Python function to draw tab bar. See
- :opt:`tab_bar_style`
- - A new remote control command to :program:`change the tab color <kitty @
- set-tab-color>` (:iss:`1287`)
- - A new remote control command to :program:`visually select a window <kitty @
- select-window>` (:iss:`4165`)
- - Add support for reporting mouse events with pixel coordinates using the
- ``SGR_PIXEL_PROTOCOL`` introduced in xterm 359
- - When programs ask to read from the clipboard prompt, ask the user to allow
- the request by default instead of denying it by default. See
- :opt:`clipboard_control` for details (:iss:`4022`)
- - A new mappable action ``swap_with_window`` to swap the current window with another window in the tab, visually
- - A new :program:`remote control command <kitty @ set-enabled-layouts>` to change
- the enabled layouts in a tab (:iss:`4129`)
- - A new option :opt:`bell_path` to specify the path to a sound file
- to use as the bell sound
- - A new option :opt:`exe_search_path` to modify the locations kitty searches
- for executables to run (:iss:`4324`)
- - broadcast kitten: Show a "fake" cursor in all windows being broadcast too
- (:iss:`4225`)
- - Allow defining :opt:`aliases <action_alias>` for more general actions, not just kittens
- (:pull:`4260`)
- - Fix a regression that caused :option:`kitty --title` to not work when
- opening new OS windows using :option:`kitty --single-instance` (:iss:`3893`)
- - icat kitten: Fix display of JPEG images that are rotated via EXIF data and
- larger than available screen size (:iss:`3949`)
- - macOS: Fix SIGUSR1 quitting kitty instead of reloading the config file (:iss:`3952`)
- - Launch command: Allow specifying the OS window title
- - broadcast kitten: Allow broadcasting :kbd:`ctrl+c` (:pull:`3956`)
- - Fix space ligatures not working with Iosevka for some characters in the
- Enclosed Alphanumeric Supplement (:iss:`3954`)
- - hints kitten: Fix a regression that caused using the default open program
- to trigger open actions instead of running the program (:iss:`3968`)
- - Allow deleting environment variables in :opt:`env` by specifying
- just the variable name, without a value
- - Fix :opt:`active_tab_foreground` not being honored when :opt:`tab_bar_style`
- is ``slant`` (:iss:`4053`)
- - When a :opt:`tab_bar_background` is specified it should extend to the edges
- of the OS window (:iss:`4054`)
- - Linux: Fix IME with fcitx5 not working after fcitx5 is restarted
- (:pull:`4059`)
- - Various improvements to IME integration (:iss:`4219`)
- - Remote file transfer: Fix transfer not working if custom ssh port or identity
- is specified on the command line (:iss:`4067`)
- - Unicode input kitten: Implement scrolling when more results are found than
- the available display space (:pull:`4068`)
- - Allow middle clicking on a tab to close it (:iss:`4151`)
- - The command line option ``--watcher`` has been deprecated in favor of the
- :opt:`watcher` option in :file:`kitty.conf`. It has the advantage of
- applying to all windows, not just the initially created ones. Note that
- ``--watcher`` now also applies to all windows, not just initially created ones.
- - **Backward incompatibility**: No longer turn on the kitty extended keyboard
- protocol's disambiguate mode when the client sends the XTMODKEYS escape code.
- Applications must use the dedicated escape code to turn on the protocol.
- (:iss:`4075`)
- - Fix soft hyphens not being preserved when round tripping text through the
- terminal
- - macOS: Fix :kbd:`ctrl+shift` with :kbd:`Esc` or :kbd:`F1` - :kbd:`F12` not working
- (:iss:`4109`)
- - macOS: Fix :opt:`resize_in_steps` not working correctly on high DPI screens
- (:iss:`4114`)
- - Fix the :program:`resize OS Windows <kitty @ resize-os-window>` setting a
- slightly incorrect size on high DPI screens (:iss:`4114`)
- - :program:`kitty @ launch` - when creating tabs with the ``--match`` option create
- the tab in the OS Window containing the result of the match rather than
- the active OS Window (:iss:`4126`)
- - Linux X11: Add support for 10bit colors (:iss:`4150`)
- - Fix various issues with changing :opt:`tab_bar_background` by remote control
- (:iss:`4152`)
- - A new option :opt:`tab_bar_margin_color` to control the color of the tab bar
- margins
- - A new option :opt:`visual_bell_color` to customize the color of the visual bell
- (:pull:`4181`)
- - Add support for OSC 777 based desktop notifications
- - Wayland: Fix pasting from applications that use a MIME type of "text/plain"
- rather than "text/plain;charset=utf-8" not working (:iss:`4183`)
- - A new mappable action to close windows with a confirmation (:iss:`4195`)
- - When remembering OS window sizes for full screen windows use the size before
- the window became fullscreen (:iss:`4221`)
- - macOS: Fix keyboard input not working after toggling fullscreen till the
- window is clicked in
- - A new mappable action ``nth_os_window`` to to focus the specified nth OS
- window. (:pull:`4316`)
- - macOS: The kitty window can be scrolled by the mouse wheel when OS window not
- in focus. (:pull:`4371`)
- - macOS: Light or dark system appearance can be specified in
- :opt:`macos_titlebar_color` and used in kitty themes. (:pull:`4378`)
- 0.23.1 [2021-08-17]
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- - macOS: Fix themes kitten failing to download themes because of missing SSL
- root certificates (:iss:`3936`)
- - A new option :opt:`clipboard_max_size` to control the maximum size
- of data that kitty will transmit to the system clipboard on behalf of
- programs running inside it (:iss:`3937`)
- - When matching windows/tabs in kittens or using remote control, allow matching
- by recency. ``recent:0`` matches the active window/tab, ``recent:1`` matches
- the previous window/tab and so on
- - themes kitten: Fix only the first custom theme file being loaded correctly
- (:iss:`3938`)
- 0.23.0 [2021-08-16]
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- - A new :doc:`themes kitten </kittens/themes>` to easily change kitty themes.
- Choose from almost two hundred themes in the `kitty themes repository
- <https://github.com/kovidgoyal/kitty-themes>`_
- - A new style for the tab bar that makes tabs looks like the tabs in a physical
- tabbed file, see :opt:`tab_bar_style`
- - Make the visual bell flash more gentle, especially on dark themes
- (:pull:`2937`)
- - Fix :option:`kitty --title` not overriding the OS Window title when multiple
- tabs are present. Also this option is no longer used as the default title for
- windows, allowing individual tabs/windows to have their own titles, even when
- the OS Window has a fixed overall title (:iss:`3893`)
- - Linux: Fix some very long ligatures being rendered incorrectly at some font
- sizes (:iss:`3896`)
- - Fix shift+middle click to paste sending a mouse press event but no release
- event which breaks some applications that grab the mouse but can't handle
- mouse events (:iss:`3902`)
- - macOS: When the language is set to English and the country to one for which
- an English locale does not exist, set :envvar:`LANG` to ``en_US.UTF-8``
- (:iss:`3899`)
- - terminfo: Fix "cnorm" the property for setting the cursor to normal using a
- solid block rather than a blinking block cursor (:iss:`3906`)
- - Add :opt:`clear_all_mouse_actions` to clear all mouse actions defined to
- that point (:iss:`3907`)
- - Fix the remote file kitten not working when using -- with ssh. The ssh kitten
- was recently changed to do this (:iss:`3929`)
- - When dragging word or line selections, ensure the initially selected item is
- never deselected. This matches behavior in most other programs (:iss:`3930`)
- - hints kitten: Make copy/paste with the :option:`kitty +kitten hints
- --program` option work when using the ``self``
- :option:`kitty +kitten hints --linenum-action` (:iss:`3931`)
- 0.22.2 [2021-08-02]
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- - macOS: Fix a long standing bug that could cause kitty windows to stop
- updating, that got worse in the previous release (:iss:`3890` and
- :iss:`2016`)
- - Wayland: A better fix for compositors like sway that can toggle client side
- decorations on and off (:iss:`3888`)
- 0.22.1 [2021-07-31]
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- - Fix a regression in the previous release that broke ``kitty --help`` (:iss:`3869`)
- - Graphics protocol: Fix composing onto currently displayed frame not updating the frame on the GPU (:iss:`3874`)
- - Fix switching to previously active tab after detaching a tab not working (:pull:`3871`)
- - macOS: Fix an error on Apple silicon when enumerating monitors (:pull:`3875`)
- - detach_window: Allow specifying the previously active tab or the tab to the left/right of
- the active tab (:disc:`3877`)
- - broadcast kitten: Fix a regression in ``0.20.0`` that broke sending of some
- keys, such as backspace
- - Linux binary: Remove any RPATH build artifacts from bundled libraries
- - Wayland: If the compositor turns off server side decorations after turning
- them on do not draw client side decorations (:iss:`3888`)
- 0.22.0 [2021-07-26]
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- - Add a new :ac:`toggle_layout` action to easily zoom/unzoom a window
- - When right clicking to extend a selection, move the nearest selection
- boundary rather than the end of the selection. To restore previous behavior
- use ``mouse_map right press ungrabbed mouse_selection move-end``.
- - When opening hyperlinks, allow defining open actions for directories
- (:pull:`3836`)
- - When using the OSC 52 escape code to copy to clipboard allow large
- copies (up to 8MB) without needing a kitty specific chunking protocol.
- Note that if you used the chunking protocol in the past, it will no longer
- work and you should switch to using the unmodified protocol which has the
- advantage of working with all terminal emulators.
- - Fix a bug in the implementation of the synchronized updates escape code that
- could cause incorrect parsing if either the pending buffer capacity or the
- pending timeout were exceeded (:iss:`3779`)
- - A new remote control command to :program:`resize the OS Window <kitty @
- resize-os-window>`
- - Graphics protocol: Add support for composing rectangles from one animation
- frame onto another (:iss:`3809`)
- - diff kitten: Remove limit on max line length of 4096 characters (:iss:`3806`)
- - Fix turning off cursor blink via escape codes not working (:iss:`3808`)
- - Allow using neighboring window operations in the stack layout. The previous
- window is considered the left and top neighbor and the next window is
- considered the bottom and right neighbor (:iss:`3778`)
- - macOS: Render colors in the sRGB colorspace to match other macOS terminal
- applications (:iss:`2249`)
- - Add a new variable ``{num_window_groups}`` for the :opt:`tab_title_template`
- (:iss:`3837`)
- - Wayland: Fix :opt:`initial_window_width/height <remember_window_size>` specified
- in cells not working on High DPI screens (:iss:`3834`)
- - A new theme for the kitty website with support for dark mode.
- - Render ┄ ┅ ┆ ┇ ┈ ┉ ┊ ┋ with spaces at the edges. Matches rendering in
- most other programs and allows long chains of them to look better
- (:iss:`3844`)
- - hints kitten: Detect paths and hashes that appear over multiple lines.
- Note that this means that all line breaks in the text are no longer \n
- soft breaks are instead \r. If you use a custom regular expression that
- is meant to match over line breaks, you will need to match over both.
- (:iss:`3845`)
- - Allow leading or trailing spaces in :opt:`tab_activity_symbol`
- - Fix mouse actions not working when caps lock or num lock are engaged
- (:iss:`3859`)
- - macOS: Fix automatic detection of bold/italic faces for fonts that
- use the family name as the full face name of the regular font not working
- (:iss:`3861`)
- - clipboard kitten: fix copies to clipboard not working without the
- :option:`kitty +kitten clipboard --wait-for-completion` option
- 0.21.2 [2021-06-28]
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- - A new ``adjust_baseline`` option to adjust the vertical alignment of text
- inside a line (:pull:`3734`)
- - A new :opt:`url_excluded_characters` option to exclude additional characters
- when detecting URLs under the mouse (:pull:`3738`)
- - Fix a regression in 0.21.0 that broke rendering of private use Unicode symbols followed
- by spaces, when they also exist not followed by spaces (:iss:`3729`)
- - ssh kitten: Support systems where the login shell is a non-POSIX shell
- (:iss:`3405`)
- - ssh kitten: Add completion (:iss:`3760`)
- - ssh kitten: Fix "Connection closed" message being printed by ssh when running
- remote commands
- - Add support for the XTVERSION escape code
- - macOS: Fix a regression in 0.21.0 that broke middle-click to paste from clipboard (:iss:`3730`)
- - macOS: Fix shortcuts in the global menu bar responding slowly when cursor blink
- is disabled/timed out (:iss:`3693`)
- - When displaying scrollback ensure that the window does not quit if the amount
- of scrollback is less than a screen and the user has the ``--quit-if-one-screen``
- option enabled for less (:iss:`3740`)
- - Linux: Fix Emoji/bitmapped fonts not use able in symbol_map
- - query terminal kitten: Allow querying font face and size information
- (:iss:`3756`)
- - hyperlinked grep kitten: Fix context options not generating contextual output (:iss:`3759`)
- - Allow using superscripts in tab titles (:iss:`3763`)
- - Unicode input kitten: Fix searching when a word has more than 1024 matches (:iss:`3773`)
- 0.21.1 [2021-06-14]
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- - macOS: Fix a regression in the previous release that broke rendering of
- strikeout (:iss:`3717`)
- - macOS: Fix a crash when rendering ligatures larger than 128 characters
- (:iss:`3724`)
- - Fix a regression in the previous release that could cause a crash when
- changing layouts and mousing (:iss:`3713`)
- 0.21.0 [2021-06-12]
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- - Allow reloading the :file:`kitty.conf` config file by pressing
- :sc:`reload_config_file`. (:iss:`1292`)
- - Allow clicking URLs to open them without needing to also hold
- :kbd:`ctrl+shift`
- - Allow remapping all mouse button press/release events to perform arbitrary
- actions. :ref:`See details <conf-kitty-mouse.mousemap>` (:iss:`1033`)
- - Support infinite length ligatures (:iss:`3504`)
- - **Backward incompatibility**: The options to control which modifiers keys to
- press for various mouse actions have been removed, if you used these options,
- you will need to replace them with configuration using the new
- :ref:`mouse actions framework <conf-kitty-mouse.mousemap>` as they will be
- ignored. The options were: ``terminal_select_modifiers``,
- ``rectangle_select_modifiers`` and ``open_url_modifiers``.
- - Add a configurable mouse action (:kbd:`ctrl+alt+triplepress` to select from the
- clicked point to the end of the line. (:iss:`3585`)
- - Add the ability to un-scroll the screen to the ``kitty @ scroll-window``
- remote control command (:iss:`3604`)
- - A new option, :opt:`tab_bar_margin_height` to add margins around the
- top and bottom edges of the tab bar (:iss:`3247`)
- - Unicode input kitten: Fix a regression in 0.20.0 that broke keyboard handling
- when the NumLock or CapsLock modifiers were engaged. (:iss:`3587`)
- - Fix a regression in 0.20.0 that sent incorrect bytes for the :kbd:`F1`-:kbd:`F4` keys
- in rmkx mode (:iss:`3586`)
- - macOS: When the Apple Color Emoji font lacks an emoji glyph search for it in other
- installed fonts (:iss:`3591`)
- - macOS: Fix rendering getting stuck on some machines after sleep/screensaver
- (:iss:`2016`)
- - macOS: Add a new ``Shell`` menu to the global menubar with some commonly used
- actions (:pull:`3653`)
- - macOS: Fix the baseline for text not matching other CoreText based
- applications for some fonts (:iss:`2022`)
- - Add a few more special commandline arguments for the launch command. Now all
- ``KITTY_PIPE_DATA`` is also available via command line argument substitution
- (:iss:`3593`)
- - Fix dynamically changing the background color in a window causing rendering
- artifacts in the tab bar (:iss:`3595`)
- - Fix passing STDIN to launched background processes causing them to not inherit
- environment variables (:pull:`3603`)
- - Fix deleting windows that are not the last window via remote control leaving
- no window focused (:iss:`3619`)
- - Add an option :option:`kitten @ get-text --add-cursor` to also get the current
- cursor position and state as ANSI escape codes (:iss:`3625`)
- - Add an option :option:`kitten @ get-text --add-wrap-markers` to add line wrap
- markers to the output (:pull:`3633`)
- - Improve rendering of curly underlines on HiDPI screens (:pull:`3637`)
- - ssh kitten: Mimic behavior of ssh command line client more closely by
- executing any command specified on the command line via the users' shell
- just as ssh does (:iss:`3638`)
- - Fix trailing parentheses in URLs not being detected (:iss:`3688`)
- - Tab bar: Use a lower contrast color for tab separators (:pull:`3666`)
- - Fix a regression that caused using the ``title`` command in session files
- to stop working (:iss:`3676`)
- - macOS: Fix a rare crash on exit (:iss:`3686`)
- - Fix ligatures not working with the `Iosevka
- <https://github.com/be5invis/Iosevka>`_ font (requires Iosevka >= 7.0.4)
- (:iss:`297`)
- - Remote control: Allow matching tabs by index number in currently active OS
- Window (:iss:`3708`)
- - ssh kitten: Fix non-standard properties in terminfo such as the ones used for
- true color not being copied (:iss:`312`)
- 0.20.3 [2021-05-06]
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- - macOS: Distribute universal binaries with both ARM and Intel architectures
- - A new ``show_key`` kitten to easily see the bytes generated by the terminal
- for key presses in the various keyboard modes (:pull:`3556`)
- - Linux: Fix keyboard layout change keys defined via compose rules not being
- ignored
- - macOS: Fix Spotlight search of global menu not working in non-English locales
- (:pull:`3567`)
- - Fix tab activity symbol not appearing if no other changes happen in tab bar even when
- there is activity in a tab (:iss:`3571`)
- - Fix focus changes not being sent to windows when focused window changes
- because of the previously focused window being closed (:iss:`3571`)
- 0.20.2 [2021-04-28]
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- - A new protocol extension to :ref:`unscroll <unscroll>` text from the
- scrollback buffer onto the screen. Useful, for example, to restore
- the screen after showing completions below the shell prompt.
- - A new remote control command :ref:`at-env` to change the default
- environment passed to newly created windows (:iss:`3529`)
- - Linux: Fix binary kitty builds not able to load fonts in WOFF2 format
- (:iss:`3506`)
- - macOS: Prevent :kbd:`option` based shortcuts for being used for global menu
- actions (:iss:`3515`)
- - Fix ``kitty @ close-tab`` not working with pipe based remote control
- (:iss:`3510`)
- - Fix removal of inactive tab that is before the currently active tab causing
- the highlighted tab to be incorrect (:iss:`3516`)
- - icat kitten: Respect EXIF orientation when displaying JPEG images
- (:iss:`3518`)
- - GNOME: Fix maximize state not being remembered when focus changes and window
- decorations are hidden (:iss:`3507`)
- - GNOME: Add a new :opt:`wayland_titlebar_color` option to control the color of the
- kitty window title bar
- - Fix reading :option:`kitty --session` from ``STDIN`` not working when the
- :code:`kitty --detach` option is used (:iss:`3523`)
- - Special case rendering of the few remaining Powerline box drawing chars
- (:iss:`3535`)
- - Fix ``kitty @ set-colors`` not working for the :opt:`active_tab_foreground`.
- 0.20.1 [2021-04-19]
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- - icat: Fix some broken GIF images with no frame delays not being animated
- (:iss:`3498`)
- - hints kitten: Fix sending hyperlinks to their default handler not working
- (:pull:`3500`)
- - Wayland: Fix regression in previous release causing window decorations to
- be drawn even when compositor supports server side decorations (:iss:`3501`)
- 0.20.0 [2021-04-19]
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- - Support display of animated images ``kitty +kitten icat animation.gif``. See
- :ref:`animation_protocol` for details on animation support in the kitty
- graphics protocol.
- - A new keyboard reporting protocol with various advanced features that can be
- used by full screen terminal programs and even games, see
- :doc:`keyboard-protocol` (:iss:`3248`)
- - **Backward incompatibility**: Session files now use the full :doc:`launch <launch>`
- command with all its capabilities. However, the syntax of the command is
- slightly different from before. In particular watchers are now specified
- directly on launch and environment variables are set using ``--env``.
- - Allow setting colors when creating windows using the :doc:`launch <launch>` command.
- - A new option :opt:`tab_powerline_style` to control the appearance of the tab
- bar when using the powerline tab bar style.
- - A new option :opt:`scrollback_fill_enlarged_window` to fill extra lines in
- the window when the window is expanded with lines from the scrollback
- (:pull:`3371`)
- - diff kitten: Implement recursive diff over SSH (:iss:`3268`)
- - ssh kitten: Allow using python instead of the shell on the server, useful if
- the shell used is a non-POSIX compliant one, such as fish (:iss:`3277`)
- - Add support for the color settings stack that XTerm copied from us without
- acknowledgement and decided to use incompatible escape codes for.
- - Add entries to the terminfo file for some user capabilities that are shared
- with XTerm (:pull:`3193`)
- - The launch command now does more sophisticated resolving of executables to
- run. The system-wide PATH is used first, then system specific default paths,
- and finally the PATH inside the shell.
- - Double clicking on empty tab bar area now opens a new tab (:iss:`3201`)
- - kitty @ ls: Show only environment variables that are different for each
- window, by default.
- - When passing a directory or a non-executable file as the program to run to
- kitty opens it with the shell or by parsing the shebang, instead of just failing.
- - Linux: Fix rendering of emoji followed by the graphics variation selector not
- being colored with some fonts (:iss:`3211`)
- - Unicode input: Fix using index in select by name mode not working for indices
- larger than 16. Also using an index does not filter the list of matches. (:pull:`3219`)
- - Wayland: Add support for the text input protocol (:iss:`3410`)
- - Wayland: Fix mouse handling when using client side decorations
- - Wayland: Fix un-maximizing a window not restoring its size to what it was
- before being maximized
- - GNOME/Wayland: Improve window decorations the titlebar now shows the window
- title. Allow running under Wayland on GNOME by default. (:iss:`3284`)
- - Panel kitten: Allow setting WM_CLASS (:iss:`3233`)
- - macOS: Add menu items to close the OS window and the current tab (:pull:`3240`, :iss:`3246`)
- - macOS: Allow opening script and command files with kitty (:iss:`3366`)
- - Also detect ``gemini://`` URLs when hovering with the mouse (:iss:`3370`)
- - When using a non-US keyboard layout and pressing :kbd:`ctrl+key` when
- the key matches an English key, send that to the program running in the
- terminal automatically (:iss:`2000`)
- - When matching shortcuts, also match on shifted keys, so a shortcut defined as
- :kbd:`ctrl+plus` will match a keyboard where you have to press
- :kbd:`shift+equal` to get the plus key (:iss:`2000`)
- - Fix extra space at bottom of OS window when using the fat layout with the tab bar at the
- top (:iss:`3258`)
- - Fix window icon not working on X11 with 64bits (:iss:`3260`)
- - Fix OS window sizes under 100px resulting in scaled display (:iss:`3307`)
- - Fix rendering of ligatures in the latest release of Cascadia code, which for
- some reason puts empty glyphs after the ligature glyph rather than before it
- (:iss:`3313`)
- - Improve handling of infinite length ligatures in newer versions of FiraCode
- and CascadiaCode. Now such ligatures are detected based on glyph naming
- convention. This removes the gap in the ligatures at cell boundaries (:iss:`2695`)
- - macOS: Disable the native operating system tabs as they are non-functional
- and can be confusing (:iss:`3325`)
- - hints kitten: When using the linenumber action with a background action,
- preserve the working directory (:iss:`3352`)
- - Graphics protocol: Fix suppression of responses not working for chunked
- transmission (:iss:`3375`)
- - Fix inactive tab closing causing active tab to change (:iss:`3398`)
- - Fix a crash on systems using musl as libc (:iss:`3395`)
- - Improve rendering of rounded corners by using a rectircle equation rather
- than a cubic bezier (:iss:`3409`)
- - Graphics protocol: Add a control to allow clients to specify that the cursor
- should not move when displaying an image (:iss:`3411`)
- - Fix marking of text not working on lines that contain zero cells
- (:iss:`3403`)
- - Fix the selection getting changed if the screen contents scroll while
- the selection is in progress (:iss:`3431`)
- - X11: Fix :opt:`resize_in_steps` being applied even when window is maximized
- (:iss:`3473`)
- 0.19.3 [2020-12-19]
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- - Happy holidays to all kitty users!
- - A new :doc:`broadcast <kittens/broadcast>` kitten to type in all kitty windows
- simultaneously (:iss:`1569`)
- - Add a new mappable `select_tab` action to choose a tab to switch to even
- when the tab bar is hidden (:iss:`3115`)
- - Allow specifying text formatting in :opt:`tab_title_template` (:iss:`3146`)
- - Linux: Read :opt:`font_features` from the FontConfig database as well, so
- that they can be configured in a single, central location (:pull:`3174`)
- - Graphics protocol: Add support for giving individual image placements their
- own ids and for asking the terminal emulator to assign ids for images. Also
- allow suppressing responses from the terminal to commands.
- These are backwards compatible protocol extensions. (:iss:`3133`,
- :iss:`3163`)
- - Distribute extra pixels among all eight-blocks rather than adding them
- all to the last block (:iss:`3097`)
- - Fix drawing of a few sextant characters incorrect (:pull:`3105`)
- - macOS: Fix minimize not working for chromeless windows (:iss:`3112`)
- - Preserve lines in the scrollback if a scrolling region is defined that
- is contiguous with the top of the screen (:iss:`3113`)
- - Wayland: Fix key repeat being stopped by the release of an unrelated key
- (:iss:`2191`)
- - Add an option, :opt:`detect_urls` to control whether kitty will detect URLs
- when the mouse moves over them (:pull:`3118`)
- - Graphics protocol: Dont return filename in the error message when opening file
- fails, since filenames can contain control characters (:iss:`3128`)
- - macOS: Partial fix for traditional fullscreen not working on Big Sur
- (:iss:`3100`)
- - Fix one ANSI formatting escape code not being removed from the pager history
- buffer when piping it as plain text (:iss:`3132`)
- - Match the save/restore cursor behavior of other terminals, for the sake of
- interoperability. This means that doing a DECRC without a prior DECSC is now
- undefined (:iss:`1264`)
- - Fix mapping ``remote_control send-text`` not working (:iss:`3147`)
- - Add a ``right`` option for :opt:`tab_switch_strategy` (:pull:`3155`)
- - Fix a regression in 0.19.0 that caused a rare crash when using the optional
- :opt:`scrollback_pager_history_size` (:iss:`3049`)
- - Full screen kittens: Fix incorrect cursor position after kitten quits
- (:iss:`3176`)
- 0.19.2 [2020-11-13]
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- - A new :doc:`kittens/query_terminal` kitten to easily query the running kitty
- via escape codes to detect its version, and the values of
- configuration options that enable or disable terminal features.
- - Options to control mouse pointer shape, :opt:`default_pointer_shape`, and
- :opt:`pointer_shape_when_dragging` (:pull:`3041`)
- - Font independent rendering for braille characters, which ensures they are properly
- aligned at all font sizes.
- - Fix a regression in 0.19.0 that caused borders not to be drawn when setting
- :opt:`window_margin_width` and keeping :opt:`draw_minimal_borders` on
- (:iss:`3017`)
- - Fix a regression in 0.19.0 that broke rendering of one-eight bar unicode
- characters at very small font sizes (:iss:`3025`)
- - Wayland: Fix a crash under GNOME when using multiple OS windows
- (:pull:`3066`)
- - Fix selections created by dragging upwards not being auto-cleared when
- screen contents change (:pull:`3028`)
- - macOS: Fix kitty not being added to PATH automatically when using pre-built
- binaries (:iss:`3063`)
- - Allow adding MIME definitions to kitty by placing a ``mime.types`` file in
- the kitty config directory (:iss:`3056`)
- - Dont ignore :option:`--title` when using a session file that defines no
- windows (:iss:`3055`)
- - Fix the send_text action not working in URL handlers (:iss:`3081`)
- - Fix last character of URL not being detected if it is the only character on a
- new line (:iss:`3088`)
- - Don't restrict the ICH,DCH,REP control codes to only the current scroll region (:iss:`3090`, :iss:`3096`)
- 0.19.1 [2020-10-06]
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- - hints kitten: Add an ``ip`` type for easy selection of IP addresses
- (:pull:`3009`)
- - Fix a regression that caused a segfault when using
- :opt:`scrollback_pager_history_size` and it needs to be expanded (:iss:`3011`)
- - Fix update available notifications repeating (:pull:`3006`)
- 0.19.0 [2020-10-04]
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- - Add support for `hyperlinks from terminal programs
- <https://gist.github.com/egmontkob/eb114294efbcd5adb1944c9f3cb5feda>`_.
- Controlled via :opt:`allow_hyperlinks` (:iss:`68`)
- - Add support for easily editing or downloading files over SSH sessions
- without the need for any special software, see :doc:`kittens/remote_file`
- - A new :doc:`kittens/hyperlinked_grep` kitten to easily search files and open
- the results at the matched line by clicking on them.
- - Allow customizing the :doc:`actions kitty takes <open_actions>` when clicking on URLs
- - Improve rendering of borders when using minimal borders. Use less space and
- do not display a box around active windows
- - Add a new extensible escape code to allow terminal programs to trigger
- desktop notifications. See :ref:`desktop_notifications` (:iss:`1474`)
- - Implement special rendering for various characters from the set of "Symbols
- for Legacy Computing" from the Unicode 13 standard
- - Unicode input kitten: Allow choosing symbols from the NERD font as well.
- These are mostly Private Use symbols not in any standard, however are common. (:iss:`2972`)
- - Allow specifying border sizes in either pts or pixels. Change the default to
- 0.5pt borders as this works best with the new minimal border style
- - Add support for displaying correct colors with non-sRGB PNG files (Adds a
- dependency on liblcms2)
- - hints kitten: Add a new :option:`kitty +kitten hints --type` of ``hyperlink`` useful
- for activating hyperlinks using just the keyboard
- - Allow tracking focus change events in watchers (:iss:`2918`)
- - Allow specifying watchers in session files and via a command line argument
- (:iss:`2933`)
- - Add a setting :opt:`tab_activity_symbol` to show a symbol in the tab title
- if one of the windows has some activity after it was last focused
- (:iss:`2515`)
- - macOS: Switch to using the User Notifications framework for notifications.
- The current notifications framework has been deprecated in Big Sur. The new
- framework only allows notifications from signed and notarized applications,
- so people using kitty from homebrew/source are out of luck. Complain to
- Apple.
- - When in the main screen and a program grabs the mouse, do not use the scroll
- wheel events to scroll the scrollback buffer, instead send them to the
- program (:iss:`2939`)
- - Fix unfocused windows in which a bell occurs not changing their border color
- to red until a relayout
- - Linux: Fix automatic detection of bold/italic faces for fonts such as IBM
- Plex Mono that have the regular face with a full name that is the same as the
- family name (:iss:`2951`)
- - Fix a regression that broke :opt:`kitten_alias` (:iss:`2952`)
- - Fix a regression that broke the ``move_window_to_top`` action (:pull:`2953`)
- - Fix a memory leak when changing font sizes
- - Fix some lines in the scrollback buffer not being properly rendered after a
- window resize/font size change (:iss:`2619`)
- 0.18.3 [2020-08-11]
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- - hints kitten: Allow customizing hint colors (:pull:`2894`)
- - Wayland: Fix a typo in the previous release that broke reading mouse cursor size (:iss:`2895`)
- - Fix a regression in the previous release that could cause an exception during
- startup in rare circumstances (:iss:`2896`)
- - Fix image leaving behind a black rectangle when switch away and back to
- alternate screen (:iss:`2901`)
- - Fix one pixel misalignment of rounded corners when either the cell
- dimensions or the thickness of the line is an odd number of pixels
- (:iss:`2907`)
- - Fix a regression that broke specifying OS window size in the session file
- (:iss:`2908`)
- 0.18.2 [2020-07-28]
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- - X11: Improve handling of multiple keyboards. Now pressing a modifier key in
- one keyboard and a normal key in another works (:iss:`2362`). Don't rebuild
- keymaps on new keyboard events that only change geometry (:iss:`2787`).
- Better handling of multiple keyboards with incompatible layouts (:iss:`2726`)
- - Improve anti-aliasing of triangular box drawing characters, noticeable on
- low-resolution screens (:iss:`2844`)
- - Fix ``kitty @ send-text`` not working reliably when using a socket for remote
- control (:iss:`2852`)
- - Implement support for box drawing rounded-corners characters (:iss:`2240`)
- - Allow setting the class for new OS windows in a session file
- - When a character from the Unicode Dingbat block is followed by a space, use
- the extra space to render a larger version of the character (:iss:`2850`)
- - macOS: Fix the LC_CTYPE env var being set to UTF-8 on systems in which the
- language and country code do not form a valid locale (:iss:`1233`)
- - macOS: Fix :kbd:`cmd+plus` not changing font size (:iss:`2839`)
- - Make neighboring window selection in grid and splits layouts more intelligent
- (:pull:`2840`)
- - Allow passing the current selection to kittens (:iss:`2796`)
- - Fix pre-edit text not always being cleared with ibus input (:iss:`2862`)
- - Allow setting the :opt:`background_opacity` of new OS windows created via
- :option:`kitty --single-instance` using the :option:`kitty --override` command line
- argument (:iss:`2806`)
- - Fix the CSI J (Erase in display ED) escape code not removing line continued
- markers (:iss:`2809`)
- - hints kitten: In linenumber mode expand paths that starts with ~
- (:iss:`2822`)
- - Fix ``launch --location=last`` not working (:iss:`2841`)
- - Fix incorrect centering when a PUA or symbol glyph is followed by more than one space
- - Have the :opt:`confirm_os_window_close` option also apply when closing tabs
- with multiple windows (:iss:`2857`)
- - Add support for legacy DECSET codes 47, 1047 and 1048 (:pull:`2871`)
- - macOS: no longer render emoji 20% below the baseline. This caused some emoji
- to be cut-off and also look misaligned with very high cells (:iss:`2873`)
- - macOS: Make the window id of OS windows available in the ``WINDOWID``
- environment variable (:pull:`2877`)
- - Wayland: Fix a regression in 0.18.0 that could cause crashes related to mouse
- cursors in some rare circumstances (:iss:`2810`)
- - Fix change in window size that does not change number of cells not being
- reported to the kernel (:iss:`2880`)
- 0.18.1 [2020-06-23]
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- - macOS: Fix for diff kitten not working with python 3.8 (:iss:`2780`)
- 0.18.0 [2020-06-20]
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- - Allow multiple overlay windows per normal window
- - Add an option :opt:`confirm_os_window_close` to ask for confirmation
- when closing an OS window with multiple kitty windows.
- - Tall and Fat layouts: Add a ``mirrored`` option to put the full size window
- on the opposite edge of the screen (:iss:`2654`)
- - Tall and Fat layouts: Add mappable actions to increase or decrease the number
- of full size windows (:iss:`2688`)
- - Allow sending arbitrary signals to the current foreground process in a window
- using either a mapping in kitty.conf or via remote control (:iss:`2778`)
- - Allow sending the back and forward mouse buttons to terminal applications
- (:pull:`2742`)
- - **Backwards incompatibility**: The numbers used to encode mouse buttons
- for the ``send_mouse_event`` function that can be used in kittens have
- been changed (see :ref:`send_mouse_event`).
- - Add a new mappable ``quit`` action to quit kitty completely.
- - Fix marks using different colors with regexes using only a single color
- (:pull:`2663`)
- - Linux: Workaround for broken Nvidia drivers for old cards (:iss:`456`)
- - Wayland: Fix kitty being killed on some Wayland compositors if a hidden window
- has a lot of output (:iss:`2329`)
- - BSD: Fix controlling terminal not being established (:pull:`2686`)
- - Add support for the CSI REP escape code (:pull:`2702`)
- - Wayland: Fix mouse cursor rendering on HiDPI screens (:pull:`2709`)
- - X11: Recompile keymaps on XkbNewKeyboardNotify events (:iss:`2726`)
- - X11: Reduce startup time by ~25% by only querying GLX for framebuffer
- configurations once (:iss:`2754`)
- - macOS: Notarize the kitty application bundle (:iss:`2040`)
- - Fix the kitty shell launched via a mapping needlessly requiring
- :opt:`allow_remote_control` to be turned on.
- 0.17.4 [2020-05-09]
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- - Allow showing the name of the current layout and the number of windows
- in tab titles (:iss:`2634`)
- - macOS: Fix a regression in the previous release that caused ligatures to be
- not be centered horizontally (:iss:`2591`)
- - By default, double clicking no longer considers the : as part of words, see
- :opt:`select_by_word_characters` (:iss:`2602`)
- - Fix a regression that caused clicking in the padding/margins of windows in
- the stack layout to switch the window to the first window (:iss:`2604`)
- - macOS: Fix a regression that broke drag and drop (:iss:`2605`)
- - Report modifier key state when sending wheel events to the terminal program
- - Fix kitty @ send-text not working with text larger than 1024 bytes when using
- :option:`kitty --listen-on` (:iss:`2607`)
- - Wayland: Fix OS window title not updating for hidden windows (:iss:`2629`)
- - Fix :opt:`background_tint` making the window semi-transparent (:iss:`2618`)
- 0.17.3 [2020-04-23]
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- - Allow individually setting margins and padding for each edge (left, right,
- top, bottom). Margins can also be controlled per window via remote control
- (:iss:`2546`)
- - Fix reverse video not being rendered correctly when using transparency or a
- background image (:iss:`2419`)
- - Allow mapping arbitrary remote control commands to key presses in
- :file:`kitty.conf`
- - X11: Fix crash when doing drag and drop from some applications (:iss:`2505`)
- - Fix :option:`launch --stdin-add-formatting` not working (:iss:`2512`)
- - Update to Unicode 13.0 (:iss:`2513`)
- - Render country flags designated by a pair of unicode codepoints
- in two cells instead of four.
- - diff kitten: New option to control the background color for filler lines in
- the margin (:iss:`2518`)
- - Fix specifying options for layouts in the startup session file not working
- (:iss:`2520`)
- - macOS: Fix incorrect horizontal positioning of some full-width East Asian characters
- (:iss:`1457`)
- - macOS: Render multi-cell PUA characters centered, matching behavior on other
- platforms
- - Linux: Ignore keys if they are designated as layout/group/mode switch keys
- (:iss:`2519`)
- - Marks: Fix marks not handling wide characters and tab characters correctly
- (:iss:`2534`)
- - Add a new :opt:`listen_on` option in kitty.conf to set :option:`kitty --listen-on`
- globally. Also allow using environment variables in this option (:iss:`2569`).
- - Allow sending mouse events in kittens (:pull:`2538`)
- - icat kitten: Fix display of 16-bit depth images (:iss:`2542`)
- - Add ncurses specific terminfo definitions for strikethrough (:pull:`2567`)
- - Fix a regression in 0.17 that broke displaying graphics over SSH
- (:iss:`2568`)
- - Fix :option:`--title` not being applied at window creation time (:iss:`2570`)
- 0.17.2 [2020-03-29]
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- - Add a :option:`launch --watcher` option that allows defining callbacks
- that are called for various events in the window's life-cycle (:iss:`2440`)
- - Fix a regression in 0.17 that broke drawing of borders with non-minimal
- borders (:iss:`2474`)
- - Hints kitten: Allow copying to primary selection as well as clipboard
- (:pull:`2487`)
- - Add a new mappable action ``close_other_windows_in_tab`` to close all but the
- active window (:iss:`2484`)
- - Hints kitten: Adjust the default regex used to detect line numbers to handle
- line+column numbers (:iss:`2268`)
- - Fix blank space at the start of tab bar in the powerline style when first tab is
- inactive (:iss:`2478`)
- - Fix regression causing incorrect rendering of separators in tab bar when
- defining a tab bar background color (:pull:`2480`)
- - Fix a regression in 0.17 that broke the kitty @ launch remote command and
- also broke the --tab-title option when creating a new tab. (:iss:`2488`)
- - Linux: Fix selection of fonts with multiple width variants not preferring
- the normal width faces (:iss:`2491`)
- 0.17.1 [2020-03-24]
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- - Fix :opt:`cursor_underline_thickness` not working (:iss:`2465`)
- - Fix a regression in 0.17 that caused tab bar background to be rendered after
- the last tab as well (:iss:`2464`)
- - macOS: Fix a regression in 0.17 that caused incorrect variants to be
- automatically selected for some fonts (:iss:`2462`)
- - Fix a regression in 0.17 that caused kitty @ set-colors to require setting
- cursor_text_color (:iss:`2470`)
- 0.17.0 [2020-03-24]
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- - :ref:`splits_layout` to arrange windows in arbitrary splits
- (:iss:`2308`)
- - Add support for specifying a background image, see :opt:`background_image`
- (:iss:`163` and :pull:`2326`; thanks to Fredrick Brennan.)
- - A new :opt:`background_tint` option to darken the background under the text
- area when using background images and/or transparent windows.
- - Allow selection of single cells with the mouse. Also improve mouse selection
- to follow semantics common to most programs (:iss:`945`)
- - New options :opt:`cursor_beam_thickness` and :opt:`cursor_underline_thickness` to control the thickness of the
- beam and underline cursors (:iss:`2337` and :pull:`2342`)
- - When the application running in the terminal grabs the mouse, pass middle
- clicks to the application unless `terminal_select_modifiers` are
- pressed (:iss:`2368`)
- - A new ``copy_and_clear_or_interrupt`` function (:iss:`2403`)
- - X11: Fix arrow mouse cursor using right pointing instead of the default left
- pointing arrow (:iss:`2341`)
- - Allow passing the currently active kitty window id in the launch command
- (:iss:`2391`)
- - unicode input kitten: Allow pressing :kbd:`ctrl+tab` to change the input mode
- (:iss:`2343`)
- - Fix a bug that prevented using custom functions with the new marks feature
- (:iss:`2344`)
- - Make the set of URL prefixes that are recognized while hovering with the
- mouse configurable (:iss:`2416`)
- - Fix border/margin/padding sizes not being recalculated on DPI change
- (:iss:`2346`)
- - diff kitten: Fix directory diffing with removed binary files failing
- (:iss:`2378`)
- - macOS: Fix menubar title not updating on OS Window focus change (:iss:`2350`)
- - Fix rendering of combining characters with fonts that have glyphs for
- precomposed characters but not decomposed versions (:iss:`2365`)
- - Fix incorrect rendering of selection when using rectangular select and
- scrolling (:iss:`2351`)
- - Allow setting WM_CLASS and WM_NAME when creating new OS windows with the
- launch command (:option:`launch --os-window-class`)
- - macOS: When switching input method while a pending multi-key input is in
- progress, clear the pending input (:iss:`2358`)
- - Fix a regression in the previous release that broke switching to neighboring windows
- in the Grid layout when there are less than four windows (:iss:`2377`)
- - Fix colors in scrollback pager off if the window has redefined terminal
- colors using escape codes (:iss:`2381`)
- - Fix selection not updating properly while scrolling (:iss:`2442`)
- - Allow extending selections by dragging with right button pressed
- (:iss:`2445`)
- - Workaround for bug in less that causes colors to reset at wrapped lines
- (:iss:`2381`)
- - X11/Wayland: Allow drag and drop of text/plain in addition to text/uri-list
- (:iss:`2441`)
- - Dont strip :code:`&` and :code:`-` from the end of URLs (:iss:`2436`)
- - Fix ``@selection`` placeholder not working with launch command (:iss:`2417`)
- - Drop support for python 3.5
- - Wayland: Fix a crash when drag and dropping into kitty (:iss:`2432`)
- - diff kitten: Fix images lingering as blank rectangles after the kitten quits
- (:iss:`2449`)
- - diff kitten: Fix images losing position when scrolling using mouse
- wheel/touchpad
- 0.16.0 [2020-01-28]
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- - A new :doc:`marks` feature that allows highlighting and scrolling to arbitrary
- text in the terminal window.
- - hints kitten: Allow pressing :sc:`goto_file_line` to quickly open
- the selected file at the selected line in vim or a configurable editor (:iss:`2268`)
- - Allow having more than one full height window in the :code:`tall` layout
- (:iss:`2276`)
- - Allow choosing OpenType features for individual fonts via the
- :opt:`font_features` option. (:pull:`2248`)
- - Wayland: Fix a freeze in rare circumstances when having multiple OS Windows
- (:iss:`2307` and :iss:`1722`)
- - Wayland: Fix window titles being set to very long strings on the order of 8KB
- causing a crash (:iss:`1526`)
- - Add an option :opt:`force_ltr` to turn off the display of text in RTL scripts
- in right-to-left order (:pull:`2293`)
- - Allow opening new tabs/windows before the current tab/window as well as after
- it with the :option:`launch --location` option.
- - Add a :opt:`resize_in_steps` option that can be used to resize the OS window
- in steps as large as character cells (:pull:`2131`)
- - When triple-click+dragging to select multiple lines, extend the selection
- of the first line to match the rest on the left (:pull:`2284`)
- - macOS: Add a :code:`titlebar-only` setting to
- :opt:`hide_window_decorations` to only hide the title bar (:pull:`2286`)
- - Fix a segfault when using ``--debug-config`` with maps (:iss:`2270`)
- - ``goto_tab`` now maps numbers larger than the last tab to the last tab
- (:iss:`2291`)
- - Fix URL detection not working for urls of the form scheme:///url
- (:iss:`2292`)
- - When windows are semi-transparent and all contain graphics, correctly render
- them. (:iss:`2310`)
- 0.15.1 [2019-12-21]
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- - Fix a crash/incorrect rendering when detaching a window in some circumstances
- (:iss:`2173`)
- - hints kitten: Add an option :option:`kitty +kitten hints --ascending` to
- control if the hints numbers increase or decrease from top to bottom
- - Fix :opt:`background_opacity` incorrectly applying to selected text and
- reverse video text (:iss:`2177`)
- - Add a new option :opt:`tab_bar_background` to specify a different color
- for the tab bar (:iss:`2198`)
- - Add a new option :opt:`active_tab_title_template` to specify a different
- template for active tab titles (:iss:`2198`)
- - Fix lines at the edge of the window at certain windows sizes when drawing
- images on a transparent window (:iss:`2079`)
- - Fix window not being rendered for the first time until some input has been
- received from child process (:iss:`2216`)
- 0.15.0 [2019-11-27]
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- - Add a new action :ref:`detach_window <detach_window>` that can be used to move the current
- window into a different tab (:iss:`1310`)
- - Add a new action :doc:`launch <launch>` that unifies launching of processes
- in new kitty windows/tabs.
- - Add a new style ``powerline`` for tab bar rendering, see :opt:`tab_bar_style` (:pull:`2021`)
- - Allow changing colors by mapping a keyboard shortcut to read a kitty config
- file with color definitions. See the :doc:`FAQ <faq>` for details
- (:iss:`2083`)
- - hints kitten: Allow completely customizing the matching and actions performed
- by the kitten using your own script (:iss:`2124`)
- - Wayland: Fix key repeat not being stopped when focus leaves window. This is
- expected behavior on Wayland, apparently (:iss:`2014`)
- - When drawing unicode symbols that are followed by spaces, use multiple cells
- to avoid resized or cut-off glyphs (:iss:`1452`)
- - diff kitten: Allow diffing remote files easily via ssh (:iss:`727`)
- - unicode input kitten: Add an option :option:`kitty +kitten unicode_input
- --emoji-variation` to control the presentation variant of selected emojis
- (:iss:`2139`)
- - Add specialised rendering for a few more box powerline and unicode symbols
- (:pull:`2074` and :pull:`2021`)
- - Add a new socket only mode for :opt:`allow_remote_control`. This makes
- it possible for programs running on the local machine to control kitty
- but not programs running over ssh.
- - hints kitten: Allow using named groups in the regular expression. The named
- groups are passed to the invoked program for further processing.
- - Fix a regression in 0.14.5 that caused rendering of private use glyphs
- with and without spaces to be identical (:iss:`2117`)
- - Wayland: Fix incorrect scale used when first creating an OS window
- (:iss:`2133`)
- - macOS: Disable mouse hiding by default as getting it to work robustly
- on Cocoa is too much effort (:iss:`2158`)
- 0.14.6 [2019-09-25]
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- - macOS: Fix a regression in the previous release that caused a crash when
- pressing a unprintable key, such as the POWER key (:iss:`1997`)
- - Fix a regression in the previous release that caused kitty to not always
- respond to DPI changes (:pull:`1999`)
- 0.14.5 [2019-09-23]
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- - Implement a hack to (mostly) preserve tabs when cat-ting a file with them and then
- copying the text or passing screen contents to another program (:iss:`1829`)
- - When all visible windows have the same background color, use that as the
- color for the global padding, instead of the configured background color
- (:iss:`1957`)
- - When resetting the terminal, also reset parser state, this allows easy
- recovery from incomplete escape codes (:iss:`1961`)
- - Allow mapping keys commonly found on European keyboards (:pull:`1928`)
- - Fix incorrect rendering of some symbols when followed by a space while using
- the PowerLine font which does not have a space glyph (:iss:`1225`)
- - Linux: Allow using fonts with spacing=90 in addition to fonts with
- spacing=100 (:iss:`1968`)
- - Use selection foreground color for underlines as well (:iss:`1982`)
- 0.14.4 [2019-08-31]
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- - hints kitten: Add a :option:`kitty +kitten hints --alphabet` option to
- control what alphabets are used for hints (:iss:`1879`)
- - hints kitten: Allow specifying :option:`kitty +kitten hints --program`
- multiple times to run multiple programs (:iss:`1879`)
- - Add a :opt:`kitten_alias` option that can be used to alias kitten invocation
- for brevity and to change kitten option defaults globally (:iss:`1879`)
- - macOS: Add an option :opt:`macos_show_window_title_in` to control
- showing the window title in the menubar/titlebar (:pull:`1837`)
- - macOS: Allow drag and drop of text from other applications into kitty
- (:pull:`1921`)
- - When running kittens, use the colorscheme of the current window
- rather than the configured colorscheme (:iss:`1906`)
- - Don't fail to start if running the shell to read the EDITOR env var fails
- (:iss:`1869`)
- - Disable the ``liga`` and ``dlig`` OpenType features for broken fonts
- such as Nimbus Mono.
- - Fix a regression that broke setting background_opacity via remote control
- (:iss:`1895`)
- - Fix piping PNG images into the icat kitten not working (:iss:`1920`)
- - When the OS returns a fallback font that does not actually contain glyphs
- for the text, do not exhaust the list of fallback fonts (:iss:`1918`)
- - Fix formatting attributes not reset across line boundaries when passing
- buffer as ANSI (:iss:`1924`)
- 0.14.3 [2019-07-29]
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- - Remote control: Add a command `kitty @ scroll-window` to scroll windows
- - Allow passing a ``!neighbor`` argument to the new_window mapping to open a
- new window next to the active window (:iss:`1746`)
- - Document the kitty remote control protocol (:iss:`1646`)
- - Add a new option :opt:`pointer_shape_when_grabbed` that allows you to control
- the mouse pointer shape when the terminal programs grabs the pointer
- (:iss:`1808`)
- - Add an option `terminal_select_modifiers` to control which modifiers
- are used to override mouse selection even when a terminal application has
- grabbed the mouse (:iss:`1774`)
- - When piping data to a child in the pipe command do it in a thread so as not
- to block the UI (:iss:`1708`)
- - unicode_input kitten: Fix a regression that broke using indices to select
- recently used symbols.
- - Fix a regression that caused closing an overlay window to focus
- the previously focused window rather than the underlying window (:iss:`1720`)
- - macOS: Reduce energy consumption when idle by shutting down Apple's display
- link thread after 30 second of inactivity (:iss:`1763`)
- - Linux: Fix incorrect scaling for fallback fonts when the font has an
- underscore that renders out of bounds (:iss:`1713`)
- - macOS: Fix finding fallback font for private use unicode symbols not working
- reliably (:iss:`1650`)
- - Fix an out of bounds read causing a crash when selecting text with the mouse
- in the alternate screen mode (:iss:`1578`)
- - Linux: Use the system "bell" sound for the terminal bell. Adds libcanberra
- as a new dependency to play the system sound.
- - macOS: Fix a rare deadlock causing kitty to hang (:iss:`1779`)
- - Linux: Fix a regression in 0.14.0 that caused the event loop to tick
- continuously, wasting CPU even when idle (:iss:`1782`)
- - ssh kitten: Make argument parsing more like ssh (:iss:`1787`)
- - When using :opt:`strip_trailing_spaces` do not remove empty lines
- (:iss:`1802`)
- - Fix a crash when displaying very large number of images (:iss:`1825`)
- 0.14.2 [2019-06-09]
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- - Add an option :opt:`placement_strategy` to control how the cell area is
- aligned inside the window when the window size is not an exact multiple
- of the cell size (:pull:`1670`)
- - hints kitten: Add a :option:`kitty +kitten hints --multiple-joiner` option to
- control how multiple selections are serialized when copying to clipboard
- or inserting into the terminal. You can have them on separate lines,
- separated by arbitrary characters, or even serialized as JSON (:iss:`1665`)
- - macOS: Fix a regression in the previous release that broke using
- :kbd:`ctrl+shift+tab` (:iss:`1671`)
- - panel kitten: Fix the contents of the panel kitten not being positioned
- correctly on the vertical axis
- - icat kitten: Fix a regression that broke passing directories to icat
- (:iss:`1683`)
- - clipboard kitten: Add a :option:`kitty +kitten clipboard --wait-for-completion`
- option to have the kitten wait till copying to clipboard is complete
- (:iss:`1693`)
- - Allow using the :doc:`pipe <pipe>` command to send screen and scrollback
- contents directly to the clipboard (:iss:`1693`)
- - Linux: Disable the Wayland backend on GNOME by default as GNOME has no
- support for server side decorations. Can be controlled by
- :opt:`linux_display_server`.
- - Add an option to control the default :opt:`update_check_interval` when
- building kitty packages
- - Wayland: Fix resizing the window on a compositor that does not provide
- server side window decorations, such a GNOME or Weston not working
- correctly (:iss:`1659`)
- - Wayland: Fix crash when enabling disabling monitors on sway (:iss:`1696`)
- 0.14.1 [2019-05-29]
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- - Add an option :opt:`command_on_bell` to run an arbitrary command when
- a bell occurs (:iss:`1660`)
- - Add a shortcut to toggle maximized window state :sc:`toggle_maximized`
- - Add support for the underscore key found in some keyboard layouts
- (:iss:`1639`)
- - Fix a missing newline when using the pipe command between the
- scrollback and screen contents (:iss:`1642`)
- - Fix colors not being preserved when using the pipe command with
- the pager history buffer (:pull:`1657`)
- - macOS: Fix a regression that could cause rendering of a kitty window
- to occasionally freeze in certain situations, such as moving it between
- monitors or transitioning from/to fullscreen (:iss:`1641`)
- - macOS: Fix a regression that caused :kbd:`cmd+v` to double up in the dvorak
- keyboard layout (:iss:`1652`)
- - When resizing and only a single window is present in the current layout,
- use that window's background color to fill in the blank areas.
- - Linux: Automatically increase cell height if the font being used is broken
- and draws the underscore outside the bounding box (:iss:`690`)
- - Wayland: Fix maximizing the window on a compositor that does not provide
- server side window decorations, such a GNOME or Weston not working
- (:iss:`1662`)
- 0.14.0 [2019-05-24]
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- - macOS: The default behavior of the Option key has changed. It now generates
- unicode characters rather than acting as the :kbd:`Alt` modifier. See
- :opt:`macos_option_as_alt`.
- - Support for an arbitrary number of internal clipboard buffers to copy/paste
- from, see (:ref:`cpbuf`)
- - Allow using the new private internal clipboard buffers with the
- :opt:`copy_on_select` option (:iss:`1390`)
- - macOS: Allow opening new kitty tabs/top-level windows from Finder
- (:pull:`1350`)
- - Add an option :opt:`disable_ligatures` to disable
- multi-character ligatures under the cursor to make editing easier
- or disable them completely (:iss:`461`)
- - Allow creating new OS windows in session files (:iss:`1514`)
- - Allow setting OS window size in session files
- - Add an option :opt:`tab_switch_strategy` to control which
- tab becomes active when the current tab is closed (:pull:`1524`)
- - Allow specifying a value of ``none`` for the :opt:`selection_foreground`
- which will cause kitty to not change text color in selections (:iss:`1358`)
- - Make live resizing of OS windows smoother and add an option
- ``resize_draw_strategy`` to control what is drawn while a
- resize is in progress.
- - macOS: Improve handling of IME extended input. Compose characters
- are now highlighted and the IME panel moves along with the text
- (:pull:`1586`). Also fixes handling of delete key in Chinese IME
- (:iss:`1461`)
- - When a window is closed, switch focus to the previously active window (if
- any) instead of picking the previous window in the layout (:iss:`1450`)
- - icat kitten: Add support for displaying images at http(s) URLs (:iss:`1340`)
- - A new option :opt:`strip_trailing_spaces` to optionally remove trailing
- spaces from lines when copying to clipboard.
- - A new option :opt:`tab_bar_min_tabs` to control how many tabs must be
- present before the tab-bar is shown (:iss:`1382`)
- - Automatically check for new releases and notify when an update is available,
- via the system notification facilities. Can be controlled by
- :opt:`update_check_interval` (:iss:`1342`)
- - macOS: Fix :kbd:`cmd+period` key not working (:iss:`1318`)
- - macOS: Add an option `macos_show_window_title_in_menubar` to not
- show the current window title in the menu-bar (:iss:`1066`)
- - macOS: Workaround for cocoa bug that could cause the mouse cursor to become
- hidden in other applications in rare circumstances (:iss:`1218`)
- - macOS: Allow assigning only the left or right :kbd:`Option` key to work as the
- :kbd:`Alt` key. See :opt:`macos_option_as_alt` for details (:iss:`1022`)
- - Fix using remote control to set cursor text color causing errors when
- creating new windows (:iss:`1326`)
- - Fix window title for minimized windows not being updated (:iss:`1332`)
- - macOS: Fix using multi-key sequences to input text ignoring the
- first few key presses if the sequence is aborted (:iss:`1311`)
- - macOS: Add a number of common macOS keyboard shortcuts
- - macOS: Reduce energy consumption by not rendering occluded windows
- - Fix scrollback pager history not being cleared when clearing the
- main scrollback buffer (:iss:`1387`)
- - macOS: When closing a top-level window only switch focus to the previous kitty
- window if it is on the same workspace (:iss:`1379`)
- - macOS: Fix :opt:`sync_to_monitor` not working on Mojave.
- - macOS: Use the system cursor blink interval by default
- :opt:`cursor_blink_interval`.
- - Wayland: Use the kitty Wayland backend by default. Can be switched back
- to using XWayland by setting the environment variable:
- ``KITTY_DISABLE_WAYLAND=1``
- - Add a ``no-append`` setting to :opt:`clipboard_control` to disable
- the kitty copy concatenation protocol extension for OSC 52.
- - Update to using the Unicode 12 standard
- - Unicode input kitten: Allow using the arrow keys in code mode to go to next
- and previous unicode symbol.
- - macOS: Fix specifying initial window size in cells not working correctly on
- Retina screens (:iss:`1444`)
- - Fix a regression in version 0.13.0 that caused background colors of space
- characters after private use unicode characters to not be respected
- (:iss:`1455`)
- - Only update the selected text to clipboard when the selection is finished,
- not continuously as it is updated. (:iss:`1460`)
- - Allow setting :opt:`active_border_color` to ``none`` to not draw a border
- around the active window (:iss:`805`)
- - Use negative values for :opt:`mouse_hide_wait` to hide the mouse cursor
- immediately when pressing a key (:iss:`1534`)
- - When encountering errors in :file:`kitty.conf` report them to the user
- instead of failing to start.
- - Allow the user to control the resize debounce time via
- :opt:`resize_debounce_time`.
- - Remote control: Make the :ref:`at-set-font-size` command more capable.
- It can now increment font size and reset it. It also only acts on the
- active top-level window, by default (:iss:`1581`)
- - When launching child processes set the :code:`PWD` environment variable
- (:iss:`1595`)
- - X11: use the window manager's native full-screen implementation when
- making windows full-screen (:iss:`1605`)
- - Mouse selection: When extending by word, fix extending selection to non-word
- characters not working well (:iss:`1616`)
- 0.13.3 [2019-01-19]
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- - icat kitten: Add a ``--stdin`` option to control if image data is read from
- STDIN (:iss:`1308`)
- - hints kitten: Start hints numbering at one instead of zero by default. Added
- an option ``--hints-offset`` to control it. (:iss:`1289`)
- - Fix a regression in the previous release that broke using ``background`` for
- :opt:`cursor_text_color` (:iss:`1288`)
- - macOS: Fix dragging kitty window tabs in traditional full screen mode causing
- crashes (:iss:`1296`)
- - macOS: Ensure that when running from a bundle, the bundle kitty exe is
- preferred over any kitty in PATH (:iss:`1280`)
- - macOS: Fix a regression that broke mapping of :kbd:`ctrl+tab` (:iss:`1304`)
- - Add a list of user-created kittens to the docs
- - Fix a regression that broke changing mouse wheel scroll direction with
- negative :opt:`wheel_scroll_multiplier` values in full-screen applications
- like vim (:iss:`1299`)
- - Fix :opt:`background_opacity` not working with pure white backgrounds
- (:iss:`1285`)
- - macOS: Fix "New OS Window" dock action not working when kitty is not focused
- (:iss:`1312`)
- - macOS: Add aliases for close window and new tab actions that conform to common
- Apple shortcuts for these actions (:iss:`1313`)
- - macOS: Fix some kittens causing 100% CPU usage
- 0.13.2 [2019-01-04]
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- - Add a new option :opt:`tab_title_template` to control how tab titles
- are formatted. In particular the template can be used to display
- the tab number next to the title (:iss:`1223`)
- - Report the current foreground processes as well as the original child process,
- when using `kitty @ ls`
- - Use the current working directory of the foreground process for the
- `*_with_cwd` actions that open a new window with the current working
- directory.
- - Add a new ``copy_or_interrupt`` action that can be mapped to kbd:`ctrl+c`. It
- will copy if there is a selection and interrupt otherwise (:iss:`1286`)
- - Fix setting :opt:`background_opacity` causing window margins/padding to be slightly
- different shade from background (:iss:`1221`)
- - Handle keyboards with a "+" key (:iss:`1224`)
- - Fix Private use Unicode area characters followed by spaces at the end of text
- not being rendered correctly (:iss:`1210`)
- - macOS: Add an entry to the dock menu to open a new OS window (:iss:`1242`)
- - macOS: Fix scrolling very slowly with wheel mice not working (:iss:`1238`)
- - Fix changing :opt:`cursor_text_color` via remote control not working
- (:iss:`1229`)
- - Add an action to resize windows that can be mapped to shortcuts in :file:`kitty.conf`
- (:pull:`1245`)
- - Fix using the ``new_tab !neighbor`` action changing the order of the
- non-neighboring tabs (:iss:`1256`)
- - macOS: Fix momentum scrolling continuing when changing the active window/tab
- (:iss:`1267`)
- 0.13.1 [2018-12-06]
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- - Fix passing input via the pipe action to a program without a window not
- working.
- - Linux: Fix a regression in the previous release that caused automatic
- selection of bold/italic fonts when using aliases such as "monospace" to not
- work (:iss:`1209`)
- - Fix resizing window smaller and then restoring causing some wrapped lines to not
- be properly unwrapped (:iss:`1206`)
- 0.13.0 [2018-12-05]
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- - Add an option :opt:`scrollback_pager_history_size` to tell kitty to store
- extended scrollback to use when viewing the scrollback buffer in a pager
- (:iss:`970`)
- - Modify the kittens sub-system to allow creating custom kittens without any
- user interface. This is useful for creating more complex actions that can
- be bound to key presses in :file:`kitty.conf`. See
- doc:`kittens/custom`. (:iss:`870`)
- - Add a new ``nth_window`` action that can be used to go to the nth window and
- also previously active windows, using negative numbers. Similarly,
- ``goto_tab`` now accepts negative numbers to go to previously active tabs
- (:iss:`1040`)
- - Allow hiding the tab bar completely, by setting :opt:`tab_bar_style` to
- ``hidden``. (:iss:`1014`)
- - Allow private use unicode characters to stretch over more than a single
- neighboring space (:pull:`1036`)
- - Add a new :opt:`touch_scroll_multiplier` option to modify the amount
- scrolled by high precision scrolling devices such as touchpads (:pull:`1129`)
- - icat kitten: Implement reading image data from STDIN, if STDIN is not
- connected to a terminal (:iss:`1130`)
- - hints kitten: Insert trailing spaces after matches when using the
- ``--multiple`` option. Also add a separate ``--add-trailing-space``
- option to control this behavior (:pull:`1132`)
- - Fix the ``*_with_cwd`` actions using the cwd of the overlay window rather
- than the underlying window's cwd (:iss:`1045`)
- - Fix incorrect key repeat rate on wayland (:pull:`1055`)
- - macOS: Fix drag and drop of files not working on Mojave (:iss:`1058`)
- - macOS: Fix IME input for East Asian languages (:iss:`910`)
- - macOS: Fix rendering frames-per-second very low when processing
- large amounts of input in small chunks (:pull:`1082`)
- - macOS: Fix incorrect text sizes calculated when using an external display
- that is set to mirror the main display (:iss:`1056`)
- - macOS: Use the system default double click interval (:pull:`1090`)
- - macOS: Fix touch scrolling sensitivity low on retina screens (:iss:`1112`)
- - Linux: Fix incorrect rendering of some fonts when hinting is disabled at
- small sizes (:iss:`1173`)
- - Linux: Fix match rules used as aliases in Fontconfig configuration not being
- respected (:iss:`1085`)
- - Linux: Fix a crash when using the GNU Unifont as a fallback font
- (:iss:`1087`)
- - Wayland: Fix copying from hidden kitty windows hanging (:iss:`1051`)
- - Wayland: Add support for the primary selection protocol
- implemented by some compositors (:pull:`1095`)
- - Fix expansion of env vars not working in the :opt:`env` directive
- (:iss:`1075`)
- - Fix :opt:`mouse_hide_wait` only taking effect after an event such as cursor
- blink or key press (:iss:`1073`)
- - Fix the ``set_background_opacity`` action not working correctly
- (:pull:`1147`)
- - Fix second cell of emoji created using variation selectors not having
- the same attributes as the first cell (:iss:`1109`)
- - Fix focusing neighboring windows in the grid layout with less than 4 windows
- not working (:iss:`1115`)
- - Fix :kbd:`ctrl+shift+special` key not working in normal and application keyboard
- modes (:iss:`1114`)
- - Add a terminfo entry for full keyboard mode.
- - Fix incorrect text-antialiasing when using very low background opacity
- (:iss:`1005`)
- - When double or triple clicking ignore clicks if they are "far" from each
- other (:iss:`1093`)
- - Follow xterm's behavior for the menu key (:iss:`597`)
- - Fix hover detection of URLs not working when hovering over the first colon
- and slash characters in short URLs (:iss:`1201`)
- 0.12.3 [2018-09-29]
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- - macOS: Fix kitty window not being rendered on macOS Mojave until the window is
- moved or resized at least once (:iss:`887`)
- - Unicode input: Fix an error when searching for the string 'fir' (:iss:`1035`)
- 0.12.2 [2018-09-24]
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- - A new ``last_used_layout`` function that can be mapped to a shortcut to
- switch to the previously used window layout (:iss:`870`)
- - New ``neighboring_window`` and ``move_window`` functions to switch to
- neighboring windows in the current layout, and move them around, similar to
- window movement in vim (:iss:`916`)
- - A new ``pipe`` function that can be used to pipe the contents of the screen
- and scrollback buffer to any desired program running in a new window, tab or
- overlay window. (:iss:`933`)
- - Add a new :option:`kitty --start-as` command line flag to start kitty
- full-screen/maximized/minimized. This replaces the ``--start-in-fullscreen``
- flag introduced in the previous release (:iss:`935`)
- - When mapping the ``new_tab`` action allow specifying that the tab should open
- next to the current tab instead of at the end of the tabs list (:iss:`979`)
- - macOS: Add a new :opt:`macos_thicken_font` to make text rendering
- on macs thicker, which makes it similar to the result of
- sub-pixel antialiasing (:pull:`950`)
- - macOS: Add an option :opt:`macos_traditional_fullscreen` to make
- full-screening of kitty windows much faster, but less pretty. (:iss:`911`)
- - Fix a bug causing incorrect line ordering when viewing the scrollback buffer
- if the scrollback buffer is full (:iss:`960`)
- - Fix drag-scrolling not working when the mouse leaves the window confines
- (:iss:`917`)
- - Workaround for broken editors like nano that cannot handle newlines in pasted text
- (:iss:`994`)
- - Linux: Ensure that the python embedded in the kitty binary build uses
- UTF-8 mode to process command-line arguments (:iss:`924`)
- - Linux: Handle fonts that contain monochrome bitmaps (such as the Terminus TTF
- font) (:pull:`934`)
- - Have the :option:`kitty --title` flag apply to all windows created
- using :option:`kitty --session` (:iss:`921`)
- - Revert change for backspacing of wide characters in the previous release,
- as it breaks backspacing in some wide character aware programs (:iss:`875`)
- - Fix kitty @set-colors not working for tab backgrounds when using the `fade` tabbar style
- (:iss:`937`)
- - macOS: Fix resizing semi-transparent windows causing the windows to be
- invisible during the resize (:iss:`941`)
- - Linux: Fix window icon not set on X11 for the first OS window (:iss:`961`)
- - macOS: Add an :opt:`macos_custom_beam_cursor` option to use a special
- mouse cursor image that can be seen on both light and dark backgrounds
- (:iss:`359`)
- - Remote control: Fix the ``focus_window`` command not focusing the
- top-level OS window of the specified kitty window (:iss:`1003`)
- - Fix using :opt:`focus_follows_mouse` causing text selection with the
- mouse to malfunction when using multiple kitty windows (:iss:`1002`)
- 0.12.1 [2018-09-08]
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- - Add a new ``--start-in-fullscreen`` command line flag to start
- kitty in full screen mode (:iss:`856`)
- - macOS: Fix a character that cannot be rendered in any font causing
- font fallback for all subsequent characters that cannot be rendered in the
- main font to fail (:iss:`799`)
- - Linux: Do not enable IME input via ibus unless the ``GLFW_IM_MODULE=ibus``
- environment variable is set. IME causes key processing latency and even
- missed keystrokes for many people, so it is now off by default.
- - Fix backspacing of wide characters in wide-character unaware programs not working (:iss:`875`)
- - Linux: Fix number pad arrow keys not working when Numlock is off (:iss:`857`)
- - Wayland: Implement support for clipboard copy/paste (:iss:`855`)
- - Allow mapping shortcuts using the raw key code from the OS (:iss:`848`)
- - Allow mapping of individual key-presses without modifiers as shortcuts
- - Fix legacy invocation of icat as `kitty icat` not working (:iss:`850`)
- - Improve rendering of wavy underline at small font sizes (:iss:`853`)
- - Fix a regression in 0.12.0 that broke dynamic resizing of layouts (:iss:`860`)
- - Wayland: Allow using the :code:`kitty --class` command line flag
- to set the app id (:iss:`862`)
- - Add completion of the kitty command for the fish shell (:pull:`829`)
- - Linux: Fix XCompose rules with no defined symbol not working (:iss:`880`)
- - Linux: Fix crash with some Nvidia drivers when creating tabs in the first
- top level-window after creating a second top-level window. (:iss:`873`)
- - macOS: Diff kitten: Fix syntax highlighting not working because of
- a bug in the 0.12.0 macOS package
- 0.12.0 [2018-09-01]
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- - Preserve the mouse selection even when the contents of the screen are
- scrolled or overwritten provided the new text does not intersect the
- selected lines.
- - Linux: Implement support for Input Method Extensions (multilingual input
- using standard keyboards) via `IBus
- <https://github.com/ibus/ibus/wiki/ReadMe>`_ (:iss:`469`)
- - Implement completion for the kitty command in bash and zsh. See
- :ref:`shell_integration`.
- - Render the text under the cursor in a fixed color, configurable via
- the option :opt:`cursor_text_color` (:iss:`126`)
- - Add an option :opt:`env` to set environment variables in child processes
- from kitty.conf
- - Add an action to the ``clear_terminal`` function to scroll the screen
- contents into the scrollback buffer (:iss:`1113`)
- - Implement high precision scrolling with the trackpad on platforms such as
- macOS and Wayland that implement it. (:pull:`819`)
- - macOS: Allow scrolling window contents using mouse wheel/trackpad even when the
- window is not the active window (:iss:`729`)
- - Remote control: Allow changing the current window layout with a new
- :ref:`at-goto-layout` command (:iss:`845`)
- - Remote control: Allow matching windows by the environment variables of their
- child process as well
- - Allow running kittens via the remote control system (:iss:`738`)
- - Allow enabling remote control in only some kitty windows
- - Add a keyboard shortcut to reset the terminal (:sc:`reset_terminal`). It
- takes parameters so you can define your own shortcuts to clear the
- screen/scrollback also (:iss:`747`)
- - Fix one-pixel line appearing at window edges at some window sizes when
- displaying images with background opacity enabled (:iss:`741`)
- - diff kitten: Fix error when right hand side file is binary and left hand side
- file is text (:pull:`752`)
- - kitty @ new-window: Add a new option :option:`kitten @ new-window --window-type`
- to create top-level OS windows (:iss:`770`)
- - macOS: The :opt:`focus_follows_mouse` option now also works across top-level kitty OS windows
- (:iss:`754`)
- - Fix detection of URLs in HTML source code (URLs inside quotes) (:iss:`785`)
- - Implement support for emoji skin tone modifiers (:iss:`787`)
- - Round-trip the zwj unicode character. Rendering of sequences containing zwj
- is still not implemented, since it can cause the collapse of an unbounded
- number of characters into a single cell. However, kitty at least preserves
- the zwj by storing it as a combining character.
- - macOS: Disable the custom mouse cursor. Using a custom cursor fails on dual
- GPU machines. I give up, Apple users will just have to live with the
- limitations of their choice of OS. (:iss:`794`)
- - macOS: Fix control+tab key combination not working (:iss:`801`)
- - Linux: Fix slow startup on some systems caused by GLFW searching for
- joysticks. Since kitty does not use joysticks, disable joystick support.
- (:iss:`830`)
- 0.11.3 [2018-07-10]
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- - Draw only the minimum borders needed for inactive windows. That is only the borders
- that separate the inactive window from a neighbor. Note that setting
- a non-zero window margin overrides this and causes all borders to be drawn.
- The old behavior of drawing all borders can be restored via the
- :opt:`draw_minimal_borders` setting in kitty.conf. (:iss:`699`)
- - macOS: Add an option :opt:`macos_window_resizable` to control if kitty
- top-level windows are resizable using the mouse or not (:iss:`698`)
- - macOS: Use a custom mouse cursor that shows up well on both light and dark backgrounds
- (:iss:`359`)
- - macOS: Workaround for switching from fullscreen to windowed mode with the
- titlebar hidden causing window resizing to not work. (:iss:`711`)
- - Fix triple-click to select line not working when the entire line is filled
- (:iss:`703`)
- - When dragging to select with the mouse "grab" the mouse so that if it strays
- into neighboring windows, the selection is still updated (:pull:`624`)
- - When clicking in the margin/border area of a window, map the click to the
- nearest cell in the window. Avoids selection with the mouse failing when
- starting the selection just outside the window.
- - When drag-scrolling stop the scroll when the mouse button is released.
- - Fix a regression in the previous release that caused pasting large amounts
- of text to be duplicated (:iss:`709`)
- 0.11.2 [2018-07-01]
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- - Linux: Allow using XKB key names to bind shortcuts to keys not supported by GLFW (:pull:`665`)
- - kitty shell: Ignore failure to read readline history file. Happens if the
- user migrates their kitty cache directory between systems with incompatible
- readline implementations.
- - macOS: Fix an error in remote control when using --listen-on (:iss:`679`)
- - hints kitten: Add a :option:`kitty +kitten hints --multiple` option to select
- multiple items (:iss:`687`)
- - Fix pasting large amounts of text very slow (:iss:`682`)
- - Add an option :opt:`single_window_margin_width` to allow different margins
- when only a single window is visible in the layout (:iss:`688`)
- - Add a :option:`kitty --hold` command line option to stay open after the child process exits (:iss:`667`)
- - diff kitten: When triggering a search scroll to the first match automatically
- - :option:`kitty --debug-font-fallback` also prints out what basic fonts were matched
- - When closing a kitty window reset the mouse cursor to its default shape and ensure it is visible (:iss:`655`).
- - Remote control: Speed-up reading of command responses
- - Linux installer: Fix installer failing on systems with python < 3.5
- - Support "-T" as an alias for "--title" (:pull:`659`)
- - Fix a regression in the previous release that broke using
- ``--debug-config`` with custom key mappings (:iss:`695`)
- 0.11.1 [2018-06-17]
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- - diff kitten: Implement searching for text in the diff (:iss:`574`)
- - Add an option :opt:`startup_session` to :file:`kitty.conf` to specify a
- default startup session (:iss:`641`)
- - Add a command line option :option:`kitty --wait-for-single-instance-window-close`
- to make :option:`kitty --single-instance` wait for the closing of the newly opened
- window before quitting (:iss:`630`)
- - diff kitten: Allow theming the selection background/foreground as well
- - diff kitten: Display CRLF line endings using the unicode return symbol
- instead of <d> as it is less intrusive (:iss:`638`)
- - diff kitten: Fix default foreground/background colors not being restored when
- kitten quits (:iss:`637`)
- - Fix :option:`kitten @ set-colors --all` not working when more than one window
- present (:iss:`632`)
- - Fix a regression that broke the legacy increase/decrease_font_size actions
- - Clear scrollback on reset (:iss:`631`)
- 0.11.0 [2018-06-12]
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- - A new tab bar style "fade" in which each tab's edges fade into the background.
- See :opt:`tab_bar_style` and :opt:`tab_fade` for details. The old look can be
- restored by setting :opt:`tab_bar_style` to :code:`separator`.
- - :doc:`Pre-compiled binaries <binary>` with all bundled dependencies for Linux
- (:iss:`595`)
- - A :doc:`new kitten <kittens/panel>` to create dock panels on X11 desktops
- showing the output from arbitrary terminal programs.
- - Reduce data sent to the GPU per render by 30% (:commit:`8dea5b3`)
- - Implement changing the font size for individual top level (OS) windows
- (:iss:`408`)
- - When viewing the scrollback in less using :sc:`show_scrollback` and kitty
- is currently scrolled, position the scrollback in less to match kitty's
- scroll position. (:iss:`148`)
- - ssh kitten: Support all SSH options. It can now be aliased directly to ssh
- for convenience. (:pull:`591`)
- - icat kitten: Add :option:`kitty +kitten icat --print-window-size` to easily
- detect the window size in pixels from scripting languages (:iss:`581`)
- - hints kitten: Allow selecting hashes from the terminal with
- :sc:`insert_selected_hash` useful for git commits. (:pull:`604`)
- - Allow specifying initial window size in number of cells in addition to pixels
- (:iss:`436`)
- - Add a setting to control the margins to the left and right of the tab-bar
- (:iss:`584`)
- - When closing a tab switch to the last active tab instead of the right-most
- tab (:iss:`585`)
- - Wayland: Fix kitty not starting when using wl_roots based compositors
- (:iss:`157`)
- - Wayland: Fix mouse wheel/touchpad scrolling in opposite direction to other apps (:iss:`594`)
- - macOS: Fix the new OS window keyboard shortcut (:sc:`new_os_window`) not
- working if no kitty window currently has focus. (:iss:`524`)
- - macOS: Keep kitty running even when the last window is closed. This is in
- line with how applications are supposed to behave on macOS (:iss:`543`).
- There is a new option (:opt:`macos_quit_when_last_window_closed`) to control
- this.
- - macOS: Add macOS standard shortcuts for copy, paste and new OS window
- (⌘+C, ⌘+V, ⌘+N)
- - Add a config option (:opt:`editor`) to set the EDITOR kitty uses (:iss:`580`)
- - Add a config option (``x11_hide_window_decorations``) to hide window
- decorations under X11/Wayland (:iss:`607`)
- - Add an option to @set-window-title to make the title change non-permanent
- (:iss:`592`)
- - Add support for the CSI t escape code to query window and cell sizes
- (:iss:`581`)
- - Linux: When using layouts that map the keys to non-ascii characters,
- map shortcuts using the ascii equivalents, from the default layout.
- (:iss:`606`)
- - Linux: Fix fonts not being correctly read from TrueType Collection
- (.ttc) files (:iss:`577`)
- - Fix :opt:`inactive_text_alpha` also applying to the tab bar (:iss:`612`)
- - :doc:`hints kitten <kittens/hints>`: Fix a regression that caused some blank lines to be not
- be displayed.
- - Linux: Include a man page and the HTML docs when building the linux-package
- - Remote control: Fix kitty @ sometimes failing to read the response from
- kitty. (:iss:`614`)
- - Fix `kitty @ set-colors` not working with the window border colors.
- (:iss:`623`)
- - Fix a regression in 0.10 that caused incorrect rendering of the status bar in
- irssi when used inside screen. (:iss:`621`)
- 0.10.1 [2018-05-24]
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- - Add a kitten to easily ssh into servers that automatically copies the
- terminfo files over. ``kitty +kitten ssh myserver``.
- - diff kitten: Make the keyboard shortcuts configurable (:iss:`563`)
- - Allow controlling *background_opacity* via either keyboard shortcuts or
- remote control. Note that you must set *dynamic_background_opacity yes* in
- kitty.conf first. (:iss:`569`)
- - diff kitten: Add keybindings to scroll by page
- - diff kitten: Fix incorrect syntax highlighting for a few file formats such as
- yaml
- - macOS: Fix regression that caused the *macos_option_as_alt* setting to always
- be disabled for all OS windows in a kitty instance after the first window
- (:iss:`571`)
- - Fix Ctrl+Alt+Space not working in normal and application keyboard modes
- (:iss:`562`)
- 0.10.0 [2018-05-21]
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- - A diff kitten to show side-by-side diffs with syntax highlighting and support
- for images. See :doc:`diff kitten <kittens/diff>`.
- - Make windows in the various kitty layouts manually resizable. See
- :ref:`layouts` for details.
- - Implement support for the SGR *faint* escape code to make text blend
- into the background (:iss:`446`).
- - Make the hints kitten a little smarter (:commit:`ad1109b`)
- so that URLs that stretch over multiple lines are detected. Also improve
- detection of surrounding brackets/quotes.
- - Make the kitty window id available as the environment variable
- ``KITTY_WINDOW_ID`` (:iss:`532`).
- - Add a "fat" layout that is similar to the "tall" layout but vertically
- oriented.
- - Expand environment variables in config file include directives
- - Allow programs running in kitty to read/write from the clipboard (:commit:`889ca77`).
- By default only writing is allowed. This feature is supported in many
- terminals, search for `OSC 52 clipboard` to find out more about using it.
- - Fix moving cursor outside a defined page area incorrectly causing the cursor
- to be placed inside the page area. Caused incorrect rendering in neovim, in
- some situations (:iss:`542`).
- - Render a couple more powerline symbols directly, bypassing the font
- (:iss:`550`).
- - Fix ctrl+alt+<special> not working in normal and application keyboard (:iss:`548`).
- - Partial fix for rendering Right-to-left languages like Arabic. Rendering of
- Arabic is never going to be perfect, but now it is at least readable.
- - Fix Ctrl+backspace acting as plain backspace in normal and application
- keyboard modes (:iss:`538`).
- - Have the paste_from_selection action paste from the clipboard on platforms
- that do not have a primary selection such as Wayland and macOS
- (:iss:`529`)
- - Fix cursor_stop_blinking_after=0 not working (:iss:`530`)
- 0.9.1 [2018-05-05]
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- - Show a bell symbol on the tab if a bell occurs in one of the windows in the tab and
- the window is not the currently focused window
- - Change the window border color if a bell occurs in an unfocused window. Can
- be disabled by setting the bell_border_color to be the same as the
- inactive_border_color.
- - macOS: Add support for dead keys
- - Unicode input: When searching by name search for prefix matches as well as
- whole word matches
- - Dynamically allocate the memory used for the scrollback history buffer.
- Reduces startup memory consumption when using very large scrollback
- buffer sizes.
- - Add an option to not request window attention on bell.
- - Remote control: Allow matching windows by number (visible position).
- - macOS: Fix changing tab title and kitty shell not working
- - When triple-clicking select all wrapped lines belonging to a single logical line.
- - hints kitten: Detect bracketed URLs and don't include the closing bracket in the URL.
- - When calling pass_selection_to_program use the current directory of the child
- process as the cwd of the program.
- - Add macos_hide_from_tasks option to hide kitty from the macOS task switcher
- - macOS: When the macos_titlebar_color is set to background change the titlebar
- colors to match the current background color of the active kitty window
- - Add a setting to clear all shortcuts defined up to that point in the config
- file(s)
- - Add a setting (kitty_mod) to change the modifier used by all the default
- kitty shortcuts, globally
- - Fix Shift+function key not working
- - Support the F13 to F25 function keys
- - Don't fail to start if the user deletes the hintstyle key from their
- fontconfig configuration.
- - When rendering a private use unicode codepoint and a space as a two cell
- ligature, set the foreground colors of the space cell to match the colors of
- the first cell. Works around applications like powerline that use different
- colors for the two cells.
- - Fix passing @text to other programs such as when viewing the scrollback
- buffer not working correctly if kitty is itself scrolled up.
- - Fix window focus gained/lost events not being reported to child programs when
- switching windows/tabs using the various keyboard shortcuts.
- - Fix tab title not changing to reflect the window title when switching between different windows in a tab
- - Ignore -e if it is specified on the command line. This is for compatibility
- with broken software that assumes terminals should run with an -e option to
- execute commands instead of just passing the commands as arguments.
- 0.9.0 [2018-04-15]
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- - A new kitty command shell to allow controlling kitty via commands. Press
- `ctrl+shift+escape` to run the shell.
- - The hints kitten has become much more powerful. Now in addition to URLs you
- can use it to select word, paths, filenames, lines, etc. from the screen.
- These can be inserted into the terminal, copied to clipboard or sent to
- external programs.
- - Linux: Switch to libxkbcommon for keyboard handling. It allows kitty to
- support XCompose and dead keys and also react to keyboard remapping/layout
- change without needing a restart.
- - Add support for multiple-key-sequence shortcuts
- - A new remote control command `set-colors` to change the current and/or
- configured colors.
- - When double-clicking to select a word, select words that continue onto the
- next/prev line as well.
- - Add an `include` directive for the config files to read multiple config files
- - Improve mouse selection for windows with padding. Moving the mouse into the
- padding area now acts as if the mouse is over the nearest cell.
- - Allow setting all 256 terminal colors in the config file
- - Fix using `kitty --single-instance` to open a new window in a running kitty
- instance, not respecting the `--directory` flag
- - URL hints: Exclude trailing punctuation from URLs
- - URL hints: Launch the browser from the kitty parent process rather than the
- hints kitten. Fixes launching on some systems where xdg-open doesn't like
- being run from a kitten.
- - Allow using rectangle select mode by pressing shift in addition to the
- rectangle select modifiers even when the terminal program has grabbed the
- mouse.
- 0.8.4 [2018-03-31]
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- - Fix presence of XDG_CONFIG_DIRS and absence of XDG_CONFIG_HOME preventing
- kitty from starting
- - Revert change in last release to cell width calculation. Instead just clip
- the right edges of characters that overflow the cell by at most two pixels
- 0.8.3 [2018-03-29]
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- - Fix a regression that broke the visual bell and invert screen colors escape
- code
- - Allow double-click and triple-click + drag to extend selections word at a
- time or line at a time
- - Add a keyboard shortcut to set the tab title
- - Fix setting window title to empty via OSC escape code not working correctly
- - Linux: Fix cell width calculation incorrect for some fonts (cell widths are
- now calculated by actually rendering bitmaps, which is slower but more
- accurate)
- - Allow specifying a system wide kitty config file, for all users
- - Add a --debug-config command line flag to output data about the system and
- kitty configuration.
- - Wayland: Fix auto-repeat of keys not working
- 0.8.2 [2018-03-17]
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- - Allow extending existing selections by right clicking
- - Add a configurable keyboard shortcut and remote command to set the font size to a specific value
- - Add an option to have kitty close the window when the main processes running in it exits, even if there are still background processes writing to that terminal
- - Add configurable keyboard shortcuts to switch to a specific layout
- - Add a keyboard shortcut to edit the kitty config file easily
- - macOS: Fix restoring of window size not correct on Retina screens
- - macOS: Add a facility to specify command line arguments when running kitty from the GUI
- - Add a focus-tab remote command
- - Fix screen not being refreshed immediately after moving a window.
- - Fix a crash when getting the contents of the scrollback buffer as text
- 0.8.1 [2018-03-09]
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- - Extend kitty's remote control feature to work over both UNIX and TCP sockets,
- so now you can control kitty from across the internet, if you want to.
- - Render private use unicode characters that are followed by a space as a two
- character ligature. This fixes rendering for applications that misuse
- private-use characters to display square symbols.
- - Fix Unicode emoji presentation variant selector causing new a fallback font
- instance to be created
- - Fix a rare error that prevented the Unicode input kitten from working
- sometimes
- - Allow using Ctrl+Alt+letter in legacy keyboard modes by outputting them as Ctrl+letter and Alt+letter.
- This matches other terminals' behavior.
- - Fix cursor position off-by-one on horizontal axis when resizing the terminal
- - Wayland: Fix auto-repeat of keys not working
- - Wayland: Add support for window decorations provided by the Wayland shell
- - macOS: Fix URL hints not working
- - macOS: Fix shell not starting in login mode on some computers
- - macOS: Output errors into console.app when running as a bundle
- 0.8.0 [2018-02-24]
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- - A framework for kittens, that is, small terminal programs designed to run
- inside kitty and extend its capabilities. Examples include unicode input and
- selecting URLs with the keyboard.
- - Input arbitrary unicode characters by pressing Ctrl+Shift+u. You can choose
- characters by name, by hex code, by recently used, etc. There is even and
- editable Favorites list.
- - Open URLs using only the keyboard. kitty has a new "hints mode". Press
- Ctrl+Shift+e and all detected URLs on the screen are highlighted with a key
- to press to open them. The facility is customizable so you can change
- what is detected as a URL and which program is used to open it.
- - Add an option to change the titlebar color of kitty windows on macOS
- - Only consider Emoji characters with default Emoji presentation to be two
- cells wide. This matches the standard. Also add support for the Unicode Emoji
- variation presentation selector.
- - Prevent video tearing during high speed scrolling by syncing draws
- to the monitor's refresh rate. There is a new configuration option to
- control this ``sync_to_monitor``.
- - When displaying only a single window, use the default background color of the
- window (which can be changed via escape codes) as the color for the margin
- and padding of the window.
- - Add some non standard terminfo capabilities used by neovim and tmux.
- - Fix large drop in performance when using multiple top-level windows on macOS
- - Fix save/restore of window sizes not working correctly.
- - Remove option to use system wcwidth(). Now always use a wcwidth() based on
- the Unicode standard. Only sane way.
- - Fix a regression that caused a few ligature glyphs to not render correctly in
- rare circumstances.
- - Browsing the scrollback buffer now happens in an overlay window instead of a
- new window/tab.
- 0.7.1 [2018-01-31]
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- - Add an option to adjust the width of character cells
- - Fix selecting text with the mouse in the scrollback buffer selecting text
- from the line above the actually selected line
- - Fix some italic fonts having the right edge of characters cut-off,
- unnecessarily
- 0.7.0 [2018-01-24]
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- - Allow controlling kitty from the shell prompt/scripts. You can
- open/close/rename windows and tabs and even send input to specific windows.
- See the README for details.
- - Add option to put tab bar at the top instead of the bottom
- - Add option to override the default shell
- - Add "Horizontal" and "Vertical" window layouts
- - Sessions: Allow setting titles and working directories for individual windows
- - Option to copy to clipboard on mouse select
- - Fix incorrect reporting of mouse move events when using the SGR protocol
- - Make alt+backspace delete the previous word
- - Take the mouse wheel multiplier option in to account when generating fake key
- scroll events
- - macOS: Fix closing top-level window does not transfer focus to other
- top-level windows.
- - macOS: Fix alt+arrow keys not working when disabling the macos_option_as_alt
- config option.
- - kitty icat: Workaround for bug in ImageMagick that would cause some images
- to fail to display at certain sizes.
- - Fix rendering of text with ligature fonts that do not use dummy glyphs
- - Fix a regression that caused copying of the selection to clipboard to only
- copy the visible part of the selection
- - Fix incorrect handling of some unicode combining marks that are not re-ordered
- - Fix handling on non-BMP combining characters
- - Drop the dependency on libunistring
- 0.6.1 [2017-12-28]
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- - Add an option to fade the text in inactive windows
- - Add new actions to open windows/tabs/etc. with the working directory set to
- the working directory of the current window.
- - Automatically adjust cell size when DPI changes, for example when kitty is
- moved from one monitor to another with a different DPI
- - Ensure underlines are rendered even for fonts with very poor metrics
- - Fix some emoji glyphs not colored on Linux
- - Internal wcwidth() implementation is now auto-generated from the unicode
- standard database
- - Allow configuring the modifiers to use for rectangular selection with the
- mouse.
- - Fix incorrect minimum wayland version in the build script
- - Fix a crash when detecting a URL that ends at the end of the line
- - Fix regression that broke drawing of hollow cursor when window loses focus
- 0.6.0 [2017-12-18]
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- - Support background transparency via the background_opacity option. Provided
- that your OS/window manager supports transparency, you can now have kitty
- render pixels that have only the default background color as
- semi-transparent.
- - Support multiple top level (OS) windows. These windows all share the sprite
- texture cache on the GPU, further reducing overall resource usage. Use
- the shortcut `ctrl+shift+n` to open a new top-level window.
- - Add support for a *daemon* mode using the `--single-instance` command line
- option. With this option you can have only a single kitty instance running.
- All future invocations simply open new top-level windows in the existing
- instance.
- - Support colored emoji
- - Use CoreText instead of FreeType to render text on macOS
- - Support running on the "low power" GPU on dual GPU macOS machines
- - Add a new "grid" window layout
- - Drop the dependency on glfw (kitty now uses a modified, bundled copy of glfw)
- - Add an option to control the audio bell volume on X11 systems
- - Add a command line switch to set the name part of the WM_CLASS window
- property independently.
- - Add a command line switch to set the window title.
- - Add more options to customize the tab-bar's appearance (font styles and
- separator)
- - Allow drag and drop of files into kitty. On drop kitty will paste the
- file path to the running program.
- - Add an option to control the underline style for URL highlighting on hover
- - X11: Set the WINDOWID environment variable
- - Fix middle and right buttons swapped when sending mouse events to child
- processes
- - Allow selecting in a rectangle by holding down Ctrl+Alt while dragging with
- the mouse.
- 0.5.1 [2017-12-01]
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- - Add an option to control the thickness of lines in box drawing characters
- - Increase max. allowed ligature length to nine characters
- - Fix text not vertically centered when adjusting line height
- - Fix unicode block characters not being rendered properly
- - Fix shift+up/down not generating correct escape codes
- - Image display: Fix displaying images taller than two screen heights not
- scrolling properly
- 0.5.0 [2017-11-19]
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- - Add support for ligature fonts such as Fira Code, Hasklig, etc. kitty now
- uses harfbuzz for text shaping which allow it to support advanced OpenType
- features such as contextual alternates/ligatures/combining glyphs/etc.
- - Make it easy to select fonts by allowing listing of monospace fonts using:
- kitty list-fonts
- - Add an option to have window focus follow mouse
- - Add a keyboard shortcut (ctrl+shift+f11) to toggle fullscreen mode
- - macOS: Fix handling of option key. It now behaves just like the alt key on
- Linux. There is an option to make it type unicode characters instead.
- - Linux: Add support for startup notification on X11 desktops. kitty will
- now inform the window manager when its startup is complete.
- - Fix shell prompt being duplicated when window is resized
- - Fix crash when displaying more than 64 images in the same session
- - Add support for colons in SGR color codes. These are generated by some
- applications such as neovim when they mistakenly identify kitty as a libvte
- based terminal.
- - Fix mouse interaction not working in apps using obsolete mouse interaction
- protocols
- - Linux: no longer require glew as a dependency
- 0.4.2 [2017-10-23]
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- - Fix a regression in 0.4.0 that broke custom key mappings
- - Fix a regression in 0.4.0 that broke support for non-QWERTY keyboard layouts
- - Avoid using threads to reap zombie child processes. Also prevent kitty from
- hanging if the open program hangs when clicking on a URL.
- 0.4.0 [2017-10-22]
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- - Support for drawing arbitrary raster graphics (images) in the terminal via a
- new graphics protocol. kitty can draw images with full 32-bit color using both
- ssh connections and files/shared memory (when available) for better
- performance. The drawing primitives support alpha blending and z-index.
- Images can be drawn both above and below text. See :doc:`graphics-protocol`.
- for details.
- - Refactor kitty's internals to make it even faster and more efficient. The CPU
- usage of kitty + X server while doing intensive tasks such as scrolling a
- file continuously in less has been reduced by 50%. There are now two
- configuration options ``repaint_delay`` and ``input_delay`` you can use to
- fine tune kitty's performance vs CPU usage profile. The CPU usage of kitty +
- X when scrolling in less is now significantly better than most (all?) other
- terminals. See :doc:`performance`.
- - Hovering over URLs with the mouse now underlines them to indicate they
- can be clicked. Hold down Ctrl+Shift while clicking to open the URL.
- - Selection using the mouse is now more intelligent. It does not add
- blank cells (i.e. cells that have no content) after the end of text in a
- line to the selection.
- - The block cursor in now fully opaque but renders the character under it in
- the background color, for enhanced visibility.
- - Allow combining multiple independent actions into a single shortcut
- - Add a new shortcut to pass the current selection to an external program
- - Allow creating shortcuts to open new windows running arbitrary commands. You
- can also pass the current selection to the command as an arguments and the
- contents of the screen + scrollback buffer as stdin to the command.
|