summaryrefslogtreecommitdiff
path: root/include
AgeCommit message (Collapse)Author
2025-10-06lib-vt: begin paste utilities exports starting with safe pasteMitchell Hashimoto
2025-10-06lib-vt: split header to be more consumableMitchell Hashimoto
2025-10-06doxygen: integrate examples into documentationMitchell Hashimoto
2025-10-05lib-vt: update documentation with more examplesMitchell Hashimoto
2025-10-05lib-vt: expose key encoding as a C APIMitchell Hashimoto
2025-10-02core: add 'command finished' notificationsJeffrey C. Ollie
Fixes #8991 Uses OSC 133 esc sequences to keep track of how long commands take to execute. If the user chooses, commands that take longer than a user specified limit will trigger a notification. The user can choose between a bell notification or a desktop notification.
2025-09-29lib-vt: document allocatorsMitchell Hashimoto
2025-09-29lib-vt: document main html pageMitchell Hashimoto
2025-09-29lib-vt: OSC data extraction boilerplateMitchell Hashimoto
This also changes OSC strings to be null-terminated to ease lib-vt integration. This shouldn't have any practical effect on terminal performance, but it does lower the maximum length of OSC strings by 1 since we always reserve space for the null terminator.
2025-09-28lib-vt: expose command type enumMitchell Hashimoto
2025-09-27lib-vt: expose ghostty_osc_endMitchell Hashimoto
2025-09-27lib-vt: add the C functions for command inspectionMitchell Hashimoto
2025-09-27lib_vt: osc_next/resetMitchell Hashimoto
2025-09-24chore: sync changes with ghostty_string_sCoderJoshDK
2025-09-24fix: alloc free off by oneCoderJoshDK
2025-09-24lib-vt: update header commentsMitchell Hashimoto
2025-09-24more docsMitchell Hashimoto
2025-09-24remove vt prefixesMitchell Hashimoto
2025-09-24move header into subdirectoryMitchell Hashimoto
2025-09-24some PR feedbackMitchell Hashimoto
2025-09-24lib-vt: docsMitchell Hashimoto
2025-09-24lib-vt: setup a default allocator if nullMitchell Hashimoto
2025-09-24example/c-vtMitchell Hashimoto
2025-09-24lib: allocator interface based on Zig allocatorsMitchell Hashimoto
2025-09-23lib-vt: boilerplate to build a shared objectMitchell Hashimoto
2025-09-02macOS: firstRect should return full rect width/heightMitchell Hashimoto
Fixes #2473 This commit changes `ghostty_surface_ime_point` to return a full rect with the width/height calculated for the preedit. The `firstRect` function, which calls `ghostty_surface_ime_point` was previously setting the width/height to zero. macOS didn't like this. We then changed it to just hardcode it to width/height of one cell. This worked but made it so the IME cursor didn't follow the preedit.
2025-08-31macOS: Progress bar for OSC9 progress reportsMitchell Hashimoto
2025-08-28macos: when executing a script directly, always wait after commandMitchell Hashimoto
2025-08-26config: change quick terminal size C layout to tagged unionMitchell Hashimoto
2025-08-26macOS: rename c struct, relocate QuickTerminalSize fileFriedrich Stoltzfus
Renamed the ghostty_quick_terminal_size_u to ghostty_quick_terminal_size_s and moved the QuickTerminalSize file to the Ghostty folder as requested.
2025-08-26macOS: update zig and c structs for quick terminal sizeFriedrich Stoltzfus
Applying the feedback given by @pluiedev to use an enum to specify the type of quick terminal size configuration given (pixels or percentage). Updated the Swift code to work with the enum as well.
2025-08-26macOS: Add support for quick terminal sizing configurationFriedrich Stoltzfus
Added C bindings for the already existing quick-terminal-size configuration. Created a new QuickTerminalSize struct to hold these values in Swift. Updated the QuickTerminal implementation to use the user's configuration if supplied. Retains defaults. Also adds support to customize the width of the quick terminal (height if quick terminal is set to right or left).
2025-08-25parameterize close_tabJeffrey C. Ollie
- Add mode (`this`/`other`) parameter to `close_tab` keybind/apprt action. - Keybinds will default to `this` if not specified, eliminating backward compatibility issues (`keybind=x=close_tab` === `keybind=x=close_tab:this`). - Remove `close_other_tabs` keybind and apprt action.
2025-08-24Close other tabs feature on Mac.jamylak
Supporting command line, file menu and keybindings. Default mac shortcut of `super + alt + o` (other) Not able to test on Linux so excluding `close_other_tabs` from `gtk` for now make a default short cut for close other tabs
2025-08-14gtk-ng: add show_on_screen_keyboard bindingLeah Amelia Chen
2025-07-18apprt/gtk-ng: hook up surface renderMitchell Hashimoto
2025-07-17core/gtk: add support for displaying a progress bar with OSC 9;4Jeffrey C. Ollie
Ghostty has had support for a while (since PR #3124) for parsing progress reports but never did anything with them. This PR adds the core infrastructure and an implementation for GTK. On GTK, the progress bar will show up as a thin bar along the top of the terminal. Under normal circumstances it will use whatever you have set as your accent color. If the progam sending the progress report indicates an error, it will change to a reddish color.
2025-07-14cli/gtk: add some more C bitsJeffrey C. Ollie
2025-07-14cli/gtk: replace @hasDecl for performAction-style APIJeffrey C. Ollie
Instead of using @hasDecl, use a performAction-stype API. The C interface for interfacing with macOS (or any other apprt where Ghostty is embedded) is unfinished.
2025-07-11core/gtk: add apprt action to show native GUI warning when child exitsJeffrey C. Ollie
Addresses #7649 for the core and GTK. macOS support will need to be added later. This adds an apprt action to show a native GUI warning of some kind when the child process of a terminal exits. Also adds a basic GTK implementation of this. In GTK it overlays an Adwaita banner at the bottom of the window (similar to the banner that shows up in at the top of windows in debug builds).
2025-07-09libghostty: export benchmark CLI APIMitchell Hashimoto
2025-07-06macos: open URLs with NSWorkspace APIs instead of `open`Mitchell Hashimoto
Fixes #5256 This updates the macOS apprt to implement the `OPEN_URL` apprt action to use the NSWorkspace APIs instead of the `open` command line utility. As part of this, we removed the `ghostty_config_open` libghostty API and instead introduced a new `ghostty_config_open_path` API that returns the path to open, and then we use the `NSWorkspace` APIs to open it (same function as the `OPEN_URL` action).
2025-07-06Fallback to cross-platform minimal open when apprt is not availableMitchell Hashimoto
2025-07-06core/gtk: open urls using an apprt action instead of doing it directlyJeffrey C. Ollie
Partial implementation of #5256 This implements the core changes necessary to open urls using an apprt action rather than doing it directly from the core. Implements the open_url action in the GTK and GLFW apprts. Note that this should not be merged until a macOS-savvy developer can add an implementation of the open_url action for the macOS apprt.
2025-07-05macos: support configuration via CLI argumentsMitchell Hashimoto
This makes it so `zig build run` can take arguments such as `--config-default-files=false` or any other configuration. Previously, it only accepted commands such as `+version`. Incidentally, this also makes it so that the app in general can now take configuration arguments via the CLI if it is launched as a new instance via `open`. For example: open -n Ghostty.app --args --config-default-files=false This previously didn't work. This is kind of cool. To make this work, the libghostty C API was modified so that initialization requires the CLI args, and there is a new C API to try to execute an action if it was set.
2025-06-22macOS: Run scripts using stdin rather than executing directlyMitchell Hashimoto
Fixes #7647 See #7647 for context. This commit works by extending the `input` work introduced in #7652 to libghostty so that the macOS can take advantage of it. At that point, its just the macOS utilizing `input` in order to set the command and `exit` up similar to Terminal and iTerm2.
2025-06-21macos: support env vars for surface config, clean up surface configMitchell Hashimoto
2025-06-15apprt/embedded: API to read text can get top left/bottom right coordsMitchell Hashimoto
2025-06-15apprt/embedded: improve text reading APIs (selection, random points)Mitchell Hashimoto
2025-06-07macos: address quick terminal basic functionality with new APIMitchell Hashimoto