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
/
apprt
/
gtk
/
class
/
at
main
22 files
Mitchell Hashimoto
GTK: Improve Split Close Behavior (#11173)
2mo ago
7092b394
application.zig
GTK: Improve Split Close Behavior (#11173) ## Summary - Adds a "Close Split" option to the right-click context menu in the split submenu - Allows users to close the focused split pane directly from the context menu Reference discussion: https://github.com/ghostty-org/ghostty/discussions/10982
2 months ago
clipboard_confirmation_dialog.zig
Remove unused imports
8 months ago
close_confirmation_dialog.zig
Remove unused imports
8 months ago
command_palette.zig
Lots of duplicate word typos + typo.
5 months ago
config.zig
Remove unused imports
8 months ago
config_errors_dialog.zig
Remove unused imports
8 months ago
debug_warning.zig
Remove unused imports
8 months ago
dialog.zig
Remove unused imports
8 months ago
global_shortcuts.zig
fix up gtk
7 months ago
imgui_widget.zig
apprt/gtk: fix SIGSEGV on ImGui GLArea re-realize Fixes #10406 ImGui_ImplOpenGL3_Shutdown() calls imgl3wShutdown() which dlcloses the GL library handles but does not zero out the imgl3w function pointer table (imgl3wProcs). When a GLArea is re-realized (e.g. during reparenting), ImGui_ImplOpenGL3_Init() calls ImGui_ImplOpenGL3_InitLoader() which checks "if (glGetIntegerv == nullptr)". Since the stale pointers are non-null, it skips re-initialization. The next GL call through a dangling function pointer causes a SIGSEGV. Fix this by introducing ImGui_ImplOpenGL3_ShutdownWithLoaderCleanup() which calls the normal shutdown and then zeroes the imgl3wProcs table, forcing the next Init to reload GL function pointers via imgl3wInit(). Also properly destroy the ImGui context and reset widget state in glAreaUnrealize so re-realize starts clean. This was extra but was probably leaking memory.
5 months ago
inspector_widget.zig
inspector: no longer holds surface pointer
6 months ago
inspector_window.zig
Remove unused imports
8 months ago
key_state_overlay.zig
apprt/gtk: key state overlay text is dynamic
7 months ago
resize_overlay.zig
Remove unused imports
8 months ago
search_overlay.zig
add search selection for GTK
7 months ago
split_tree.zig
GTK: Improve Split Close Behavior (#11173) ## Summary - Adds a "Close Split" option to the right-click context menu in the split submenu - Allows users to close the focused split pane directly from the context menu Reference discussion: https://github.com/ghostty-org/ghostty/discussions/10982
2 months ago
surface.zig
apprt/gtk: reuse one audio-bell MediaFile per surface to fix thread leak Each audio bell called gtk.MediaFile.newForFilename, which spins up a full GStreamer pipeline. The GTK4 GStreamer backend's GL sink starts gstglcontext/gldisplay-event threads that are never joined on teardown, so allocating a MediaFile per ring leaked a pipeline and ~4 threads on every bell. A long-running instance accumulated 705 threads over ~4h of normal use. Cache one MediaFile per surface (priv.bell_media), rebuilt only when bell-audio-path changes and unref'd on dispose. Each bell now replays the same pipeline via seek(0)+play() instead of creating a new one. The notify::ended -> unref handler is removed: it was what discarded (and leaked) a pipeline per ring. seek(0) is required so an ended stream plays again (#8957). Verified on a real instance: GStreamer's global element counter reached only oggdemux4 over an hour of use (one pipeline per bell-ringing surface, reused) and thread count stayed flat, versus per-bell growth before. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2 months ago
surface_child_exited.zig
Remove unused imports
8 months ago
surface_scrolled_window.zig
gtk/SurfaceScrolledWindow: wrap root child with another Adw.Bin Due to a known Gtk issue, the scrolled_window at the root of the template is free-ed twice on dispose. This causes crashes when used with GNOME 49 platform (Gtk 4.20, libadwaita 1.8.5). Workaround this issue by wrapping the root child in another Adw.Bin, similar to widgets like ResizeOverlay. LLM was used to perform discovery against a manually recorded Valgrind trace, and helped tracking down known fixes for this problem. Fixes https://github.com/ghostty-org/ghostty/discussions/12306 Assisted-by: OpenAI GPT-5.4
4 months ago
tab.zig
gtk: use simpler method for passing overrides around As discussed in Discord, this commit drops the `ConfigOverride` object in favor of a simpler method of passing the overrides around. Completely avoiding changes to the core wasn't possible but it's very minimal now.
5 months ago
title_dialog.zig
Refactor SurfaceTitleDialog to TitleDialog
8 months ago
window.zig
Renamed timeout source and callback function. Added comment explaining timeout delay.
2 months ago