alpha
Login
or
Join now
ptr.pet
/
ghostty
Star
0
Fork
0
Atom
Configure Feed
Issues
Pull Requests
Commits
Tags
Feed URL
Select the types of activity you want to include in your feed.
This repository has no description
Star
0
Fork
0
Atom
Configure Feed
Issues
Pull Requests
Commits
Tags
Feed URL
Select the types of activity you want to include in your feed.
Overview
Issues
Pulls
Pipelines
ghostty
/
src
/
terminal
/
kitty
/
at
main
1 folder
9 files
Jon Parise
os: use GetTempPathW for allocTmpDir on Windows
3mo ago
8b90efd9
testdata
terminal/kitty: unit tests for unicode placements
2 years ago
color.zig
core: add new OSC parser This replaces the OSC parser with one that only uses a state machine to determine which OSC is being handled, rather than parsing the whole OSC. Once the OSC command is determined the remainder of the data is stored in a buffer until the terminator is found. The data is then parsed to determine the final OSC command.
8 months ago
graphics.zig
terminal/kitty: add loading limits to kitty graphics protocol Add a Limits type to LoadingImage that controls which transmission mediums (file, temporary_file, shared_memory) are allowed when loading images. This defaults to "direct" (most restrictive) on ImageStorage and is set to "all" by Termio, allowing apprt embedders like libghostty to restrict medium types for resource or security reasons. The limits are stored on ImageStorage, plumbed through Screen.Options for screen initialization and inheritance, and enforced in graphics_exec during both query and transmit. Two new Terminal methods (setKittyGraphicsSizeLimit, setKittyGraphicsLoadingLimits) centralize updating all screens, replacing the manual iteration previously done in Termio.
4 months ago
graphics_command.zig
terminal/apc: introduce a max_bytes parameter to prevent DoS
3 months ago
graphics_exec.zig
terminal/kitty: add loading limits to kitty graphics protocol Add a Limits type to LoadingImage that controls which transmission mediums (file, temporary_file, shared_memory) are allowed when loading images. This defaults to "direct" (most restrictive) on ImageStorage and is set to "all" by Termio, allowing apprt embedders like libghostty to restrict medium types for resource or security reasons. The limits are stored on ImageStorage, plumbed through Screen.Options for screen initialization and inheritance, and enforced in graphics_exec during both query and transmit. Two new Terminal methods (setKittyGraphicsSizeLimit, setKittyGraphicsLoadingLimits) centralize updating all screens, replacing the manual iteration previously done in Termio.
4 months ago
graphics_image.zig
os: use GetTempPathW for allocTmpDir on Windows `allocTmpDir` previously read `%TMP%` via `getenvW` and returned `null` if the variable wasn't set, requiring each caller to to deal with the nullable. Unfortunately, there isn't a platform-neutral default value that makes sense for those cases (i.e. `/tmp` is POSIX-y). We now use `GetTempPathW` on Windows, which is the official way to get this directory: `TMP` → `TEMP` → `USERPROFILE` → `GetWindowsDirectoryW`. With a real system call behind it, the function no longer needs to be nullable: the only remaining failure modes are OOM (propagated) and the syscall itself failing or returning data we can't decode. In those later cases, we use `C:\Windows\Temp` as a fallback, similar to how we use `/tmp` in the POSIX case. The Windows path always allocates so it still must be paired with `freeTmpDir`, which matches the existing contract.
3 months ago
graphics_render.zig
Remove unused imports
8 months ago
graphics_storage.zig
libghostty: add placement pixel_size and grid_size, rename calculatedSize Expose Placement.pixelSize() and Placement.gridSize() as new C API functions ghostty_kitty_graphics_placement_pixel_size() and ghostty_kitty_graphics_placement_grid_size(). Both take the placement iterator, image handle, and terminal, returning their results via out params. Rename the internal Zig method from calculatedSize to pixelSize to pair naturally with gridSize — one returns pixels, the other grid cells. Updated all callers including the renderer.
4 months ago
graphics_unicode.zig
chore: fixed some typo Author: rezky_nightky <with dot rezky at gmail dot com> Repository: ghostty Branch: main Signing: GPG (4B65AAC2) HashAlgo: BLAKE3 [ Block Metadata ] BlockHash: c37f4ee817412728a8058ba6087f5ca6aaff5a845560447d595d8055972d0eac PrevHash: 3510917a780936278debe21786b7bae3a2162cb3857957314c3b8702e921b3d4 PatchHash: 5e5bb4ab35df304ea13c3d297c6d9a965156052c82bccf852b1f00b7bcaa7dd4 FilesChanged: 18 Lines: +92 / -92 Timestamp: 2025-12-25T17:27:08Z Signature1: c1970dbb94600d1e24dfe8efcc00f001664db7b777902df9632a689b1d9d1498 Signature2: 30babb1e3ca07264931e067bfe36c676fb7988c2e06f8c54e0c9538fe7c7fc9a
7 months ago
key.zig
input: use std.Io.Writer for key encoder, new API, expose via libghostty This modernizes `KeyEncoder` to a new `std.Io.Writer`-based API. Additionally, instead of a single struct, it is now an `encode` function that takes a series of more focused options. This is more idiomatic Zig while also making it easier to expose via libghostty-vt. libghostty-vt also gains access to key encoding APIs.
10 months ago