From 8da600a62e45776d6653da94bab132b28061f7a1 Mon Sep 17 00:00:00 2001 From: Bryan Lee <38807139+liby@users.noreply.github.com> Date: Mon, 30 Dec 2024 00:14:48 +0800 Subject: [PATCH 001/365] Add keyboard navigation for Terminal IO window - Add J/K and arrow keys navigation in Terminal IO window --- src/inspector/Inspector.zig | 118 +++++++++++++++++++++++++++++++++++- 1 file changed, 116 insertions(+), 2 deletions(-) diff --git a/src/inspector/Inspector.zig b/src/inspector/Inspector.zig index 7dd61c8a1..e2d70660a 100644 --- a/src/inspector/Inspector.zig +++ b/src/inspector/Inspector.zig @@ -52,6 +52,22 @@ key_events: inspector.key.EventRing, vt_events: inspector.termio.VTEventRing, vt_stream: inspector.termio.Stream, +/// The currently selected event sequence number for keyboard navigation +selected_event_seq: ?u32 = null, + +/// Flag indicating whether we need to scroll to the selected item +need_scroll_to_selected: bool = false, + +/// Flag indicating whether the selection was made by keyboard +is_keyboard_selection: bool = false, + +/// Enum representing keyboard navigation actions +const KeyAction = enum { + down, + none, + up, +}; + const CellInspect = union(enum) { /// Idle, no cell inspection is requested idle: void, @@ -1013,6 +1029,24 @@ fn renderKeyboardWindow(self: *Inspector) void { } // table } +/// Helper function to check keyboard state and determine navigation action. +fn getKeyAction(self: *Inspector) KeyAction { + _ = self; + const keys = .{ + .{ .key = cimgui.c.ImGuiKey_J, .action = KeyAction.down }, + .{ .key = cimgui.c.ImGuiKey_DownArrow, .action = KeyAction.down }, + .{ .key = cimgui.c.ImGuiKey_K, .action = KeyAction.up }, + .{ .key = cimgui.c.ImGuiKey_UpArrow, .action = KeyAction.up }, + }; + + inline for (keys) |k| { + if (cimgui.c.igIsKeyPressed_Bool(k.key, false)) { + return k.action; + } + } + return .none; +} + fn renderTermioWindow(self: *Inspector) void { // Start our window. If we're collapsed we do nothing. defer cimgui.c.igEnd(); @@ -1089,6 +1123,60 @@ fn renderTermioWindow(self: *Inspector) void { 0, ); + // Handle keyboard navigation when window is focused + if (cimgui.c.igIsWindowFocused(cimgui.c.ImGuiFocusedFlags_RootAndChildWindows)) { + const key_pressed = self.getKeyAction(); + + switch (key_pressed) { + .none => {}, + .up, .down => { + // If no event is selected, select the first/last event based on direction + if (self.selected_event_seq == null) { + if (!self.vt_events.empty()) { + var it = self.vt_events.iterator(if (key_pressed == .up) .forward else .reverse); + if (it.next()) |ev| { + self.selected_event_seq = @as(u32, @intCast(ev.seq)); + } + } + } else { + // Find next/previous event based on current selection + var it = self.vt_events.iterator(.reverse); + switch (key_pressed) { + .down => { + var found = false; + while (it.next()) |ev| { + if (found) { + self.selected_event_seq = @as(u32, @intCast(ev.seq)); + break; + } + if (ev.seq == self.selected_event_seq.?) { + found = true; + } + } + }, + .up => { + var prev_ev: ?*const inspector.termio.VTEvent = null; + while (it.next()) |ev| { + if (ev.seq == self.selected_event_seq.?) { + if (prev_ev) |prev| { + self.selected_event_seq = @as(u32, @intCast(prev.seq)); + break; + } + } + prev_ev = ev; + } + }, + .none => unreachable, + } + } + + // Mark that we need to scroll to the newly selected item + self.need_scroll_to_selected = true; + self.is_keyboard_selection = true; + }, + } + } + var it = self.vt_events.iterator(.reverse); while (it.next()) |ev| { // Need to push an ID so that our selectable is unique. @@ -1097,12 +1185,32 @@ fn renderTermioWindow(self: *Inspector) void { cimgui.c.igTableNextRow(cimgui.c.ImGuiTableRowFlags_None, 0); _ = cimgui.c.igTableNextColumn(); - _ = cimgui.c.igSelectable_BoolPtr( + + // Store the previous selection state to detect changes + const was_selected = ev.imgui_selected; + + // Update selection state based on keyboard navigation + if (self.selected_event_seq) |seq| { + ev.imgui_selected = (@as(u32, @intCast(ev.seq)) == seq); + } + + // Handle selectable widget + if (cimgui.c.igSelectable_BoolPtr( "##select", &ev.imgui_selected, cimgui.c.ImGuiSelectableFlags_SpanAllColumns, .{ .x = 0, .y = 0 }, - ); + )) { + // If selection state changed, update keyboard navigation state + if (ev.imgui_selected != was_selected) { + self.selected_event_seq = if (ev.imgui_selected) + @as(u32, @intCast(ev.seq)) + else + null; + self.is_keyboard_selection = false; + } + } + cimgui.c.igSameLine(0, 0); cimgui.c.igText("%d", ev.seq); _ = cimgui.c.igTableNextColumn(); @@ -1158,6 +1266,12 @@ fn renderTermioWindow(self: *Inspector) void { cimgui.c.igText("%s", entry.value_ptr.ptr); } } + + // If this is the selected event and scrolling is needed, scroll to it + if (self.need_scroll_to_selected and self.is_keyboard_selection) { + cimgui.c.igSetScrollHereY(0.5); + self.need_scroll_to_selected = false; + } } } } // table From c16dbc01f0ffcc5ff61156dcf9a0d17eb5a5f3ef Mon Sep 17 00:00:00 2001 From: Ryan Rotter Date: Tue, 31 Dec 2024 22:59:32 -0500 Subject: [PATCH 002/365] correct default keybinding cmd+backspace for macOS cmd+backspace=text:\x15 --- src/config/Config.zig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/config/Config.zig b/src/config/Config.zig index 91c07cc78..f03a0d726 100644 --- a/src/config/Config.zig +++ b/src/config/Config.zig @@ -2603,7 +2603,7 @@ pub fn default(alloc_gpa: Allocator) Allocator.Error!Config { try result.keybind.set.put( alloc, .{ .key = .{ .translated = .backspace }, .mods = .{ .super = true } }, - .{ .esc = "\x15" }, + .{ .text = "\\x15" }, ); try result.keybind.set.put( alloc, From 3698b37588a99af6b6664cb23caeece743d528e4 Mon Sep 17 00:00:00 2001 From: Tristan Partin Date: Sun, 17 Nov 2024 13:38:44 -0600 Subject: [PATCH 003/365] apprt/gtk: use a subtitle to mark the current working directory If the title is already the current working directory, hide the subtitle. Otherwise show the current working directory, like if a command is running for instance. Signed-off-by: Tristan Partin --- src/apprt/gtk/Surface.zig | 32 ++++++++++++++++++++++++++++++-- src/apprt/gtk/Window.zig | 16 ++++++++++++++++ src/apprt/gtk/headerbar.zig | 27 +++++++++++++++++++++++++-- src/apprt/gtk/notebook_adw.zig | 2 +- src/apprt/gtk/notebook_gtk.zig | 2 +- src/config/Config.zig | 14 ++++++++++++++ 6 files changed, 87 insertions(+), 6 deletions(-) diff --git a/src/apprt/gtk/Surface.zig b/src/apprt/gtk/Surface.zig index 056a3f40b..180f986ca 100644 --- a/src/apprt/gtk/Surface.zig +++ b/src/apprt/gtk/Surface.zig @@ -347,6 +347,11 @@ cursor: ?*c.GdkCursor = null, /// pass it to GTK. title_text: ?[:0]const u8 = null, +/// Our current working directory. We use this value for setting tooltips in +/// the headerbar subtitle if we have focus. When set, the text in this buf +/// will be null-terminated because we need to pass it to GTK. +pwd: ?[:0]const u8 = null, + /// The timer used to delay title updates in order to prevent flickering. update_title_timer: ?c.guint = null, @@ -628,6 +633,7 @@ fn realize(self: *Surface) !void { pub fn deinit(self: *Surface) void { self.init_config.deinit(self.app.core_app.alloc); if (self.title_text) |title| self.app.core_app.alloc.free(title); + if (self.pwd) |pwd| self.app.core_app.alloc.free(pwd); // We don't allocate anything if we aren't realized. if (!self.realized) return; @@ -876,7 +882,7 @@ fn updateTitleLabels(self: *Surface) void { // I don't know a way around this yet. I've tried re-hiding the // cursor after setting the title but it doesn't work, I think // due to some gtk event loop things... - c.gtk_window_set_title(window.window, title.ptr); + window.setTitle(title); } } } @@ -929,11 +935,27 @@ pub fn getTitle(self: *Surface) ?[:0]const u8 { return null; } +/// Set the current working directory of the surface. +/// +/// In addition, update the tab's tooltip text, and if we are the focused child, +/// update the subtitle of the containing window. pub fn setPwd(self: *Surface, pwd: [:0]const u8) !void { - // If we have a tab and are the focused child, then we have to update the tab if (self.container.tab()) |tab| { tab.setTooltipText(pwd); + + if (tab.focus_child == self) { + if (self.container.window()) |window| { + if (self.app.config.@"window-subtitle" == .@"working-directory") window.setSubtitle(pwd); + } + } } + + const alloc = self.app.core_app.alloc; + + // Failing to set the surface's current working directory is not a big + // deal since we just used our slice parameter which is the same value. + if (self.pwd) |old| alloc.free(old); + self.pwd = alloc.dupeZ(u8, pwd) catch null; } pub fn setMouseShape( @@ -1896,6 +1918,12 @@ fn gtkFocusEnter(_: *c.GtkEventControllerFocus, ud: ?*anyopaque) callconv(.C) vo self.unfocused_widget = null; } + if (self.pwd) |pwd| { + if (self.container.window()) |window| { + if (self.app.config.@"window-subtitle" == .@"working-directory") window.setSubtitle(pwd); + } + } + // Notify our surface self.core_surface.focusCallback(true) catch |err| { log.err("error in focus callback err={}", .{err}); diff --git a/src/apprt/gtk/Window.zig b/src/apprt/gtk/Window.zig index 63ee57d95..c2c69e281 100644 --- a/src/apprt/gtk/Window.zig +++ b/src/apprt/gtk/Window.zig @@ -453,6 +453,22 @@ pub fn deinit(self: *Window) void { } } +/// Set the title of the window. +pub fn setTitle(self: *Window, title: [:0]const u8) void { + if ((comptime adwaita.versionAtLeast(1, 4, 0)) and adwaita.versionAtLeast(1, 4, 0) and adwaita.enabled(&self.app.config) and self.app.config.@"gtk-titlebar") { + if (self.header) |header| header.setTitle(title); + } else { + c.gtk_window_set_title(self.window, title); + } +} + +/// Set the subtitle of the window if it has one. +pub fn setSubtitle(self: *Window, subtitle: [:0]const u8) void { + if ((comptime adwaita.versionAtLeast(1, 4, 0)) and adwaita.versionAtLeast(1, 4, 0) and adwaita.enabled(&self.app.config) and self.app.config.@"gtk-titlebar") { + if (self.header) |header| header.setSubtitle(subtitle); + } +} + /// Add a new tab to this window. pub fn newTab(self: *Window, parent: ?*CoreSurface) !void { const alloc = self.app.core_app.alloc; diff --git a/src/apprt/gtk/headerbar.zig b/src/apprt/gtk/headerbar.zig index 5bb92aca2..97c48a4c2 100644 --- a/src/apprt/gtk/headerbar.zig +++ b/src/apprt/gtk/headerbar.zig @@ -14,14 +14,15 @@ pub const HeaderBar = union(enum) { if ((comptime adwaita.versionAtLeast(1, 4, 0)) and adwaita.enabled(&window.app.config)) { - return initAdw(); + return initAdw(window); } return initGtk(); } - fn initAdw() HeaderBar { + fn initAdw(window: *Window) HeaderBar { const headerbar = c.adw_header_bar_new(); + c.adw_header_bar_set_title_widget(@ptrCast(headerbar), @ptrCast(c.adw_window_title_new(c.gtk_window_get_title(window.window) orelse "Ghostty", null))); return .{ .adw = @ptrCast(headerbar) }; } @@ -70,4 +71,26 @@ pub const HeaderBar = union(enum) { ), } } + + pub fn setTitle(self: HeaderBar, title: [:0]const u8) void { + switch (self) { + .adw => |headerbar| if (comptime adwaita.versionAtLeast(0, 0, 0)) { + const window_title: *c.AdwWindowTitle = @ptrCast(c.adw_header_bar_get_title_widget(@ptrCast(headerbar))); + c.adw_window_title_set_title(window_title, title); + }, + // The title is owned by the window when not using Adwaita + .gtk => unreachable, + } + } + + pub fn setSubtitle(self: HeaderBar, subtitle: [:0]const u8) void { + switch (self) { + .adw => |headerbar| if (comptime adwaita.versionAtLeast(0, 0, 0)) { + const window_title: *c.AdwWindowTitle = @ptrCast(c.adw_header_bar_get_title_widget(@ptrCast(headerbar))); + c.adw_window_title_set_subtitle(window_title, subtitle); + }, + // There is no subtitle unless Adwaita is used + .gtk => unreachable, + } + } }; diff --git a/src/apprt/gtk/notebook_adw.zig b/src/apprt/gtk/notebook_adw.zig index 85083a97e..48f005467 100644 --- a/src/apprt/gtk/notebook_adw.zig +++ b/src/apprt/gtk/notebook_adw.zig @@ -159,5 +159,5 @@ fn adwSelectPage(_: *c.GObject, _: *c.GParamSpec, ud: ?*anyopaque) void { const window: *Window = @ptrCast(@alignCast(ud.?)); const page = c.adw_tab_view_get_selected_page(window.notebook.adw.tab_view) orelse return; const title = c.adw_tab_page_get_title(page); - c.gtk_window_set_title(window.window, title); + window.setTitle(std.mem.span(title)); } diff --git a/src/apprt/gtk/notebook_gtk.zig b/src/apprt/gtk/notebook_gtk.zig index 6e8b016ba..a2c482500 100644 --- a/src/apprt/gtk/notebook_gtk.zig +++ b/src/apprt/gtk/notebook_gtk.zig @@ -259,7 +259,7 @@ fn gtkSwitchPage(_: *c.GtkNotebook, page: *c.GtkWidget, _: usize, ud: ?*anyopaqu const gtk_label_box = @as(*c.GtkWidget, @ptrCast(c.gtk_notebook_get_tab_label(self.notebook, page))); const gtk_label = @as(*c.GtkLabel, @ptrCast(c.gtk_widget_get_first_child(gtk_label_box))); const label_text = c.gtk_label_get_text(gtk_label); - c.gtk_window_set_title(window.window, label_text); + window.setTitle(std.mem.span(label_text)); } fn gtkNotebookCreateWindow( diff --git a/src/config/Config.zig b/src/config/Config.zig index 6cd6ad75e..6d2c026fe 100644 --- a/src/config/Config.zig +++ b/src/config/Config.zig @@ -1118,6 +1118,15 @@ keybind: Keybinds = .{}, /// required to be a fixed-width font. @"window-title-font-family": ?[:0]const u8 = null, +/// The text that will be displayed in the subtitle of the window. Valid values: +/// +/// * `false` - Disable the subtitle. +/// * `working-directory` - Set the subtitle to the working directory of the +/// surface. +/// +/// This feature is only supported on GTK with Adwaita enabled. +@"window-subtitle": WindowSubtitle = .false, + /// The theme to use for the windows. Valid values: /// /// * `auto` - Determine the theme based on the configured terminal @@ -3968,6 +3977,11 @@ pub const WindowPaddingColor = enum { @"extend-always", }; +pub const WindowSubtitle = enum { + false, + @"working-directory", +}; + /// Color represents a color using RGB. /// /// This is a packed struct so that the C API to read color values just From c97205161155c227cd4102e050e16933ec7e806f Mon Sep 17 00:00:00 2001 From: Gabriele Musco Date: Wed, 8 Jan 2025 13:43:53 +0100 Subject: [PATCH 004/365] linux: add "Open in Ghostty" shortcut for nautilus --- dist/linux/ghostty_nautilus.py | 97 ++++++++++++++++++++++++++++++++++ src/build/GhosttyResources.zig | 6 +++ 2 files changed, 103 insertions(+) create mode 100644 dist/linux/ghostty_nautilus.py diff --git a/dist/linux/ghostty_nautilus.py b/dist/linux/ghostty_nautilus.py new file mode 100644 index 000000000..42c397642 --- /dev/null +++ b/dist/linux/ghostty_nautilus.py @@ -0,0 +1,97 @@ +# Adapted from wezterm: https://github.com/wez/wezterm/blob/main/assets/wezterm-nautilus.py +# original copyright notice: +# +# Copyright (C) 2022 Sebastian Wiesner +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program; if not, write to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +from os.path import isdir +from gi import require_version +from gi.repository import Nautilus, GObject, Gio, GLib + + +class OpenInGhosttyAction(GObject.GObject, Nautilus.MenuProvider): + def __init__(self): + super().__init__() + session = Gio.bus_get_sync(Gio.BusType.SESSION, None) + self._systemd = None + # Check if the this system runs under systemd, per sd_booted(3) + if isdir('/run/systemd/system/'): + self._systemd = Gio.DBusProxy.new_sync(session, + Gio.DBusProxyFlags.NONE, + None, + "org.freedesktop.systemd1", + "/org/freedesktop/systemd1", + "org.freedesktop.systemd1.Manager", None) + + def _open_terminal(self, path): + cmd = ['ghostty', f'--working-directory={path}', '--gtk-single-instance=false'] + child = Gio.Subprocess.new(cmd, Gio.SubprocessFlags.NONE) + if self._systemd: + # Move new terminal into a dedicated systemd scope to make systemd + # track the terminal separately; in particular this makes systemd + # keep a separate CPU and memory account for the terminal which in turn + # ensures that oomd doesn't take nautilus down if a process in + # ghostty consumes a lot of memory. + pid = int(child.get_identifier()) + props = [("PIDs", GLib.Variant('au', [pid])), + ('CollectMode', GLib.Variant('s', 'inactive-or-failed'))] + name = 'app-nautilus-com.mitchellh.ghostty-{}.scope'.format(pid) + args = GLib.Variant('(ssa(sv)a(sa(sv)))', (name, 'fail', props, [])) + self._systemd.call_sync('StartTransientUnit', args, + Gio.DBusCallFlags.NO_AUTO_START, 500, None) + + def _menu_item_activated(self, _menu, paths): + for path in paths: + self._open_terminal(path) + + def _make_item(self, name, paths): + item = Nautilus.MenuItem(name=name, label='Open in Ghostty', + icon='com.mitchellh.ghostty') + item.connect('activate', self._menu_item_activated, paths) + return item + + def _paths_to_open(self, files): + paths = [] + for file in files: + location = file.get_location() if file.is_directory() else file.get_parent_location() + path = location.get_path() + if path and path not in paths: + paths.append(path) + if 10 < len(paths): + # Let's not open anything if the user selected a lot of directories, + # to avoid accidentally spamming their desktop with dozends of + # new windows or tabs. Ten is a totally arbitrary limit :) + return [] + else: + return paths + + def get_file_items(self, *args): + # Nautilus 3.0 API passes args (window, files), 4.0 API just passes files + files = args[0] if len(args) == 1 else args[1] + paths = self._paths_to_open(files) + if paths: + return [self._make_item(name='GhosttyNautilus::open_in_ghostty', paths=paths)] + else: + return [] + + def get_background_items(self, *args): + # Nautilus 3.0 API passes args (window, file), 4.0 API just passes file + file = args[0] if len(args) == 1 else args[1] + paths = self._paths_to_open([file]) + if paths: + return [self._make_item(name='GhosttyNautilus::open_folder_in_ghostty', paths=paths)] + else: + return [] diff --git a/src/build/GhosttyResources.zig b/src/build/GhosttyResources.zig index 9c5f7f809..cae907ec2 100644 --- a/src/build/GhosttyResources.zig +++ b/src/build/GhosttyResources.zig @@ -200,6 +200,12 @@ pub fn init(b: *std.Build, cfg: *const Config) !GhosttyResources { "share/kio/servicemenus/com.mitchellh.ghostty.desktop", ).step); + // Right click menu action for Nautilus + try steps.append(&b.addInstallFile( + b.path("dist/linux/ghostty_nautilus.py"), + "share/nautilus-python/extensions/com.mitchellh.ghostty.py", + ).step); + // Various icons that our application can use, including the icon // that will be used for the desktop. try steps.append(&b.addInstallFile( From e7c71df0b7c056a426e6d61a2feff785741d1e6d Mon Sep 17 00:00:00 2001 From: "Jeffrey C. Ollie" Date: Wed, 1 Jan 2025 13:38:46 -0600 Subject: [PATCH 005/365] gtk: implement dropping files and strings --- src/apprt/gtk/Surface.zig | 104 ++++++++++++++++++++++++++++++++++++++ src/os/main.zig | 2 + src/os/shell.zig | 90 +++++++++++++++++++++++++++++++++ 3 files changed, 196 insertions(+) create mode 100644 src/os/shell.zig diff --git a/src/apprt/gtk/Surface.zig b/src/apprt/gtk/Surface.zig index 056a3f40b..f0ae073f9 100644 --- a/src/apprt/gtk/Surface.zig +++ b/src/apprt/gtk/Surface.zig @@ -492,6 +492,17 @@ pub fn init(self: *Surface, app: *App, opts: Options) !void { c.gtk_widget_set_focusable(gl_area, 1); c.gtk_widget_set_focus_on_click(gl_area, 1); + // Set up to handle items being dropped on our surface. Files can be dropped + // from Nautilus and strings can be dropped from many programs. + const drop_target = c.gtk_drop_target_new(c.G_TYPE_INVALID, c.GDK_ACTION_COPY); + errdefer c.g_object_unref(drop_target); + var drop_target_types = [_]c.GType{ + c.gdk_file_list_get_type(), + c.G_TYPE_STRING, + }; + c.gtk_drop_target_set_gtypes(drop_target, @ptrCast(&drop_target_types), drop_target_types.len); + c.gtk_widget_add_controller(@ptrCast(overlay), @ptrCast(drop_target)); + // Inherit the parent's font size if we have a parent. const font_size: ?font.face.DesiredSize = font_size: { if (!app.config.@"window-inherit-font-size") break :font_size null; @@ -574,6 +585,7 @@ pub fn init(self: *Surface, app: *App, opts: Options) !void { _ = c.g_signal_connect_data(im_context, "preedit-changed", c.G_CALLBACK(>kInputPreeditChanged), self, null, c.G_CONNECT_DEFAULT); _ = c.g_signal_connect_data(im_context, "preedit-end", c.G_CALLBACK(>kInputPreeditEnd), self, null, c.G_CONNECT_DEFAULT); _ = c.g_signal_connect_data(im_context, "commit", c.G_CALLBACK(>kInputCommit), self, null, c.G_CONNECT_DEFAULT); + _ = c.g_signal_connect_data(drop_target, "drop", c.G_CALLBACK(>kDrop), self, null, c.G_CONNECT_DEFAULT); } fn realize(self: *Surface) !void { @@ -2025,3 +2037,95 @@ pub fn setSplitZoom(self: *Surface, new_split_zoom: bool) void { pub fn toggleSplitZoom(self: *Surface) void { self.setSplitZoom(!self.zoomed_in); } + +/// Handle items being dropped on our surface. +fn gtkDrop( + _: *c.GtkDropTarget, + value: *c.GValue, + x: f64, + y: f64, + ud: ?*anyopaque, +) callconv(.C) c.gboolean { + _ = x; + _ = y; + const self = userdataSelf(ud.?); + const alloc = self.app.core_app.alloc; + + if (g_value_holds(value, c.G_TYPE_BOXED)) { + var data = std.ArrayList(u8).init(alloc); + defer data.deinit(); + + var shell_escape_writer: internal_os.ShellEscapeWriter(std.ArrayList(u8).Writer) = .{ + .child_writer = data.writer(), + }; + const writer = shell_escape_writer.writer(); + + const fl: *c.GdkFileList = @ptrCast(c.g_value_get_boxed(value)); + var l = c.gdk_file_list_get_files(fl); + + while (l != null) : (l = l.*.next) { + const file: *c.GFile = @ptrCast(l.*.data); + const path = c.g_file_get_path(file) orelse continue; + + writer.writeAll(std.mem.span(path)) catch |err| { + log.err("unable to write path to buffer: {}", .{err}); + continue; + }; + writer.writeAll("\n") catch |err| { + log.err("unable to write to buffer: {}", .{err}); + continue; + }; + } + + const string = data.toOwnedSliceSentinel(0) catch |err| { + log.err("unable to convert to a slice: {}", .{err}); + return 1; + }; + defer alloc.free(string); + + self.doPaste(string); + + return 1; + } + + if (g_value_holds(value, c.G_TYPE_STRING)) { + if (c.g_value_get_string(value)) |string| { + self.doPaste(std.mem.span(string)); + } + return 1; + } + + return 1; +} + +fn doPaste(self: *Surface, data: [:0]const u8) void { + if (data.len == 0) return; + + self.core_surface.completeClipboardRequest(.paste, data, false) catch |err| switch (err) { + error.UnsafePaste, + error.UnauthorizedPaste, + => { + ClipboardConfirmationWindow.create( + self.app, + data, + &self.core_surface, + .paste, + ) catch |window_err| { + log.err("failed to create clipboard confirmation window err={}", .{window_err}); + }; + }, + error.OutOfMemory, + error.NoSpaceLeft, + => log.err("failed to complete clipboard request err={}", .{err}), + }; +} + +/// Check a GValue to see what's type its wrapping. This is equivalent to GTK's +/// `G_VALUE_HOLDS` macro but Zig's C translator does not like it. +fn g_value_holds(value_: ?*c.GValue, g_type: c.GType) bool { + if (value_) |value| { + if (value.*.g_type == g_type) return true; + return c.g_type_check_value_holds(value, g_type) != 0; + } + return false; +} diff --git a/src/os/main.zig b/src/os/main.zig index e652a7981..df6f894f5 100644 --- a/src/os/main.zig +++ b/src/os/main.zig @@ -21,6 +21,7 @@ pub const passwd = @import("passwd.zig"); pub const xdg = @import("xdg.zig"); pub const windows = @import("windows.zig"); pub const macos = @import("macos.zig"); +pub const shell = @import("shell.zig"); // Functions and types pub const CFReleaseThread = @import("cf_release_thread.zig"); @@ -48,3 +49,4 @@ pub const open = openpkg.open; pub const OpenType = openpkg.Type; pub const pipe = pipepkg.pipe; pub const resourcesDir = resourcesdir.resourcesDir; +pub const ShellEscapeWriter = shell.ShellEscapeWriter; diff --git a/src/os/shell.zig b/src/os/shell.zig new file mode 100644 index 000000000..a9cb61847 --- /dev/null +++ b/src/os/shell.zig @@ -0,0 +1,90 @@ +const std = @import("std"); +const testing = std.testing; + +pub fn ShellEscapeWriter(comptime T: type) type { + return struct { + child_writer: T, + + fn write(self: *ShellEscapeWriter(T), data: []const u8) error{Error}!usize { + var count: usize = 0; + for (data) |byte| { + const buf = switch (byte) { + '\\', + '"', + '\'', + '$', + '`', + '*', + '?', + ' ', + '|', + => &[_]u8{ '\\', byte }, + else => &[_]u8{byte}, + }; + self.child_writer.writeAll(buf) catch return error.Error; + count += 1; + } + return count; + } + + const Writer = std.io.Writer(*ShellEscapeWriter(T), error{Error}, write); + + pub fn writer(self: *ShellEscapeWriter(T)) Writer { + return .{ .context = self }; + } + }; +} + +test "shell escape 1" { + var buf: [128]u8 = undefined; + var fmt = std.io.fixedBufferStream(&buf); + var shell: ShellEscapeWriter(@TypeOf(fmt).Writer) = .{ .child_writer = fmt.writer() }; + const writer = shell.writer(); + try writer.writeAll("abc"); + try testing.expectEqualStrings("abc", fmt.getWritten()); +} + +test "shell escape 2" { + var buf: [128]u8 = undefined; + var fmt = std.io.fixedBufferStream(&buf); + var shell: ShellEscapeWriter(@TypeOf(fmt).Writer) = .{ .child_writer = fmt.writer() }; + const writer = shell.writer(); + try writer.writeAll("a c"); + try testing.expectEqualStrings("a\\ c", fmt.getWritten()); +} + +test "shell escape 3" { + var buf: [128]u8 = undefined; + var fmt = std.io.fixedBufferStream(&buf); + var shell: ShellEscapeWriter(@TypeOf(fmt).Writer) = .{ .child_writer = fmt.writer() }; + const writer = shell.writer(); + try writer.writeAll("a?c"); + try testing.expectEqualStrings("a\\?c", fmt.getWritten()); +} + +test "shell escape 4" { + var buf: [128]u8 = undefined; + var fmt = std.io.fixedBufferStream(&buf); + var shell: ShellEscapeWriter(@TypeOf(fmt).Writer) = .{ .child_writer = fmt.writer() }; + const writer = shell.writer(); + try writer.writeAll("a\\c"); + try testing.expectEqualStrings("a\\\\c", fmt.getWritten()); +} + +test "shell escape 5" { + var buf: [128]u8 = undefined; + var fmt = std.io.fixedBufferStream(&buf); + var shell: ShellEscapeWriter(@TypeOf(fmt).Writer) = .{ .child_writer = fmt.writer() }; + const writer = shell.writer(); + try writer.writeAll("a|c"); + try testing.expectEqualStrings("a\\|c", fmt.getWritten()); +} + +test "shell escape 6" { + var buf: [128]u8 = undefined; + var fmt = std.io.fixedBufferStream(&buf); + var shell: ShellEscapeWriter(@TypeOf(fmt).Writer) = .{ .child_writer = fmt.writer() }; + const writer = shell.writer(); + try writer.writeAll("a\"c"); + try testing.expectEqualStrings("a\\\"c", fmt.getWritten()); +} From e86b9a112e49dd147fe63210ef9ce9c8d0d5e72f Mon Sep 17 00:00:00 2001 From: Wes Campaigne Date: Mon, 6 Jan 2025 19:01:19 -0500 Subject: [PATCH 006/365] Implement "Paste Selection" on macOS like Terminal.app --- macos/Sources/App/macOS/AppDelegate.swift | 2 ++ macos/Sources/App/macOS/MainMenu.xib | 11 +++++++-- .../Terminal/BaseTerminalController.swift | 4 ++-- macos/Sources/Ghostty/Ghostty.App.swift | 18 +++++++------- macos/Sources/Ghostty/Package.swift | 4 ++-- .../Sources/Ghostty/SurfaceView_AppKit.swift | 24 +++++++++++++++++++ macos/Sources/Helpers/CrossKit.swift | 2 ++ .../Helpers/NSPasteboard+Extension.swift | 20 ++++++++++++++++ src/config/Config.zig | 14 +++++++---- 9 files changed, 78 insertions(+), 21 deletions(-) diff --git a/macos/Sources/App/macOS/AppDelegate.swift b/macos/Sources/App/macOS/AppDelegate.swift index e3518cd2b..2fe835303 100644 --- a/macos/Sources/App/macOS/AppDelegate.swift +++ b/macos/Sources/App/macOS/AppDelegate.swift @@ -35,6 +35,7 @@ class AppDelegate: NSObject, @IBOutlet private var menuCopy: NSMenuItem? @IBOutlet private var menuPaste: NSMenuItem? + @IBOutlet private var menuPasteSelection: NSMenuItem? @IBOutlet private var menuSelectAll: NSMenuItem? @IBOutlet private var menuToggleVisibility: NSMenuItem? @@ -353,6 +354,7 @@ class AppDelegate: NSObject, syncMenuShortcut(config, action: "copy_to_clipboard", menuItem: self.menuCopy) syncMenuShortcut(config, action: "paste_from_clipboard", menuItem: self.menuPaste) + syncMenuShortcut(config, action: "paste_from_selection", menuItem: self.menuPasteSelection) syncMenuShortcut(config, action: "select_all", menuItem: self.menuSelectAll) syncMenuShortcut(config, action: "toggle_split_zoom", menuItem: self.menuZoomSplit) diff --git a/macos/Sources/App/macOS/MainMenu.xib b/macos/Sources/App/macOS/MainMenu.xib index 7a8e0d894..0a197fe65 100644 --- a/macos/Sources/App/macOS/MainMenu.xib +++ b/macos/Sources/App/macOS/MainMenu.xib @@ -1,8 +1,8 @@ - + - + @@ -31,6 +31,7 @@ + @@ -185,6 +186,12 @@ + + + + + + diff --git a/macos/Sources/Features/Terminal/BaseTerminalController.swift b/macos/Sources/Features/Terminal/BaseTerminalController.swift index 393c6ef4d..bda6d62bf 100644 --- a/macos/Sources/Features/Terminal/BaseTerminalController.swift +++ b/macos/Sources/Features/Terminal/BaseTerminalController.swift @@ -389,9 +389,9 @@ class BaseTerminalController: NSWindowController, } switch (request) { - case .osc_52_write: + case let .osc_52_write(pasteboard): guard case .confirm = action else { break } - let pb = NSPasteboard.general + let pb = pasteboard ?? NSPasteboard.general pb.declareTypes([.string], owner: nil) pb.setString(cc.contents, forType: .string) case .osc_52_read, .paste: diff --git a/macos/Sources/Ghostty/Ghostty.App.swift b/macos/Sources/Ghostty/Ghostty.App.swift index ed140dcd5..3a2510e3b 100644 --- a/macos/Sources/Ghostty/Ghostty.App.swift +++ b/macos/Sources/Ghostty/Ghostty.App.swift @@ -62,7 +62,7 @@ extension Ghostty { // uses to interface with the application runtime environment. var runtime_cfg = ghostty_runtime_config_s( userdata: Unmanaged.passUnretained(self).toOpaque(), - supports_selection_clipboard: false, + supports_selection_clipboard: true, wakeup_cb: { userdata in App.wakeup(userdata) }, action_cb: { app, target, action in App.action(app!, target: target, action: action) }, read_clipboard_cb: { userdata, loc, state in App.readClipboard(userdata, location: loc, state: state) }, @@ -320,13 +320,13 @@ extension Ghostty { let surfaceView = self.surfaceUserdata(from: userdata) guard let surface = surfaceView.surface else { return } - // We only support the standard clipboard - if (location != GHOSTTY_CLIPBOARD_STANDARD) { + // Get our pasteboard + guard let pasteboard = NSPasteboard.ghostty(location) else { return completeClipboardRequest(surface, data: "", state: state) } // Get our string - let str = NSPasteboard.general.getOpinionatedStringContents() ?? "" + let str = pasteboard.getOpinionatedStringContents() ?? "" completeClipboardRequest(surface, data: str, state: state) } @@ -364,14 +364,12 @@ extension Ghostty { static func writeClipboard(_ userdata: UnsafeMutableRawPointer?, string: UnsafePointer?, location: ghostty_clipboard_e, confirm: Bool) { let surface = self.surfaceUserdata(from: userdata) - // We only support the standard clipboard - if (location != GHOSTTY_CLIPBOARD_STANDARD) { return } + guard let pasteboard = NSPasteboard.ghostty(location) else { return } guard let valueStr = String(cString: string!, encoding: .utf8) else { return } if !confirm { - let pb = NSPasteboard.general - pb.declareTypes([.string], owner: nil) - pb.setString(valueStr, forType: .string) + pasteboard.declareTypes([.string], owner: nil) + pasteboard.setString(valueStr, forType: .string) return } @@ -380,7 +378,7 @@ extension Ghostty { object: surface, userInfo: [ Notification.ConfirmClipboardStrKey: valueStr, - Notification.ConfirmClipboardRequestKey: Ghostty.ClipboardRequest.osc_52_write, + Notification.ConfirmClipboardRequestKey: Ghostty.ClipboardRequest.osc_52_write(pasteboard), ] ) } diff --git a/macos/Sources/Ghostty/Package.swift b/macos/Sources/Ghostty/Package.swift index d09100212..deca8f89d 100644 --- a/macos/Sources/Ghostty/Package.swift +++ b/macos/Sources/Ghostty/Package.swift @@ -159,7 +159,7 @@ extension Ghostty { case osc_52_read /// An application is attempting to write to the clipboard using OSC 52 - case osc_52_write + case osc_52_write(OSPasteboard?) /// The text to show in the clipboard confirmation prompt for a given request type func text() -> String { @@ -188,7 +188,7 @@ extension Ghostty { case GHOSTTY_CLIPBOARD_REQUEST_OSC_52_READ: return .osc_52_read case GHOSTTY_CLIPBOARD_REQUEST_OSC_52_WRITE: - return .osc_52_write + return .osc_52_write(nil) default: return nil } diff --git a/macos/Sources/Ghostty/SurfaceView_AppKit.swift b/macos/Sources/Ghostty/SurfaceView_AppKit.swift index cf4357a8c..c933eb9bf 100644 --- a/macos/Sources/Ghostty/SurfaceView_AppKit.swift +++ b/macos/Sources/Ghostty/SurfaceView_AppKit.swift @@ -1127,6 +1127,14 @@ extension Ghostty { } } + @IBAction func pasteSelection(_ sender: Any?) { + guard let surface = self.surface else { return } + let action = "paste_from_selection" + if (!ghostty_surface_binding_action(surface, action, UInt(action.count))) { + AppDelegate.logger.warning("action failed action=\(action)") + } + } + @IBAction override func selectAll(_ sender: Any?) { guard let surface = self.surface else { return } let action = "select_all" @@ -1448,3 +1456,19 @@ extension Ghostty.SurfaceView: NSServicesMenuRequestor { return true } } + +// MARK: NSMenuItemValidation + +extension Ghostty.SurfaceView: NSMenuItemValidation { + func validateMenuItem(_ item: NSMenuItem) -> Bool { + switch item.action { + case #selector(pasteSelection): + let pb = NSPasteboard.ghosttySelection + guard let str = pb.getOpinionatedStringContents() else { return false } + return !str.isEmpty + + default: + return true + } + } +} diff --git a/macos/Sources/Helpers/CrossKit.swift b/macos/Sources/Helpers/CrossKit.swift index 5a69b45a3..690e811bb 100644 --- a/macos/Sources/Helpers/CrossKit.swift +++ b/macos/Sources/Helpers/CrossKit.swift @@ -10,6 +10,7 @@ import AppKit typealias OSView = NSView typealias OSColor = NSColor typealias OSSize = NSSize +typealias OSPasteboard = NSPasteboard protocol OSViewRepresentable: NSViewRepresentable where NSViewType == OSViewType { associatedtype OSViewType: NSView @@ -34,6 +35,7 @@ import UIKit typealias OSView = UIView typealias OSColor = UIColor typealias OSSize = CGSize +typealias OSPasteboard = UIPasteboard protocol OSViewRepresentable: UIViewRepresentable { associatedtype OSViewType: UIView diff --git a/macos/Sources/Helpers/NSPasteboard+Extension.swift b/macos/Sources/Helpers/NSPasteboard+Extension.swift index b1755fea0..7794946f4 100644 --- a/macos/Sources/Helpers/NSPasteboard+Extension.swift +++ b/macos/Sources/Helpers/NSPasteboard+Extension.swift @@ -1,6 +1,12 @@ import AppKit +import GhosttyKit extension NSPasteboard { + /// The pasteboard to used for Ghostty selection. + static var ghosttySelection: NSPasteboard = { + NSPasteboard(name: .init("com.mitchellh.ghostty.selection")) + }() + /// Gets the contents of the pasteboard as a string following a specific set of semantics. /// Does these things in order: /// - Tries to get the absolute filesystem path of the file in the pasteboard if there is one. @@ -14,4 +20,18 @@ extension NSPasteboard { } return self.string(forType: .string) } + + /// The pasteboard for the Ghostty enum type. + static func ghostty(_ clipboard: ghostty_clipboard_e) -> NSPasteboard? { + switch (clipboard) { + case GHOSTTY_CLIPBOARD_STANDARD: + return Self.general + + case GHOSTTY_CLIPBOARD_SELECTION: + return Self.ghosttySelection + + default: + return nil + } + } } diff --git a/src/config/Config.zig b/src/config/Config.zig index 2f38676c5..b14f83f64 100644 --- a/src/config/Config.zig +++ b/src/config/Config.zig @@ -1389,13 +1389,10 @@ keybind: Keybinds = .{}, /// and the system clipboard on macOS. Middle-click paste is always enabled /// even if this is `false`. /// -/// The default value is true on Linux and false on macOS. macOS copy on -/// select behavior is not typical for applications so it is disabled by -/// default. On Linux, this is a standard behavior so it is enabled by -/// default. +/// The default value is true on Linux and macOS. @"copy-on-select": CopyOnSelect = switch (builtin.os.tag) { .linux => .true, - .macos => .false, + .macos => .true, else => .false, }, @@ -2749,6 +2746,13 @@ pub fn default(alloc_gpa: Allocator) Allocator.Error!Config { .{ .toggle_fullscreen = {} }, ); + // Selection clipboard paste, matches Terminal.app + try result.keybind.set.put( + alloc, + .{ .key = .{ .translated = .v }, .mods = .{ .super = true, .shift = true } }, + .{ .paste_from_selection = {} }, + ); + // "Natural text editing" keybinds. This forces these keys to go back // to legacy encoding (not fixterms). It seems macOS users more than // others are used to these keys so we set them as defaults. If From 40442ac02fad9c54a363feadef78bf70878b17f7 Mon Sep 17 00:00:00 2001 From: Kwee Lung Sin Date: Fri, 3 Jan 2025 16:10:48 +0800 Subject: [PATCH 007/365] chore: replace adwaita-1 to libadwaita-1 for better pkg-config handling --- src/build/SharedDeps.zig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/build/SharedDeps.zig b/src/build/SharedDeps.zig index 077da96a6..013aa5593 100644 --- a/src/build/SharedDeps.zig +++ b/src/build/SharedDeps.zig @@ -431,7 +431,7 @@ pub fn add( .gtk => { step.linkSystemLibrary2("gtk4", dynamic_link_opts); - if (self.config.adwaita) step.linkSystemLibrary2("adwaita-1", dynamic_link_opts); + if (self.config.adwaita) step.linkSystemLibrary2("libadwaita-1", dynamic_link_opts); if (self.config.x11) step.linkSystemLibrary2("X11", dynamic_link_opts); if (self.config.wayland) { From 2206c509be70a314230e35422e45ba9a7de94fe6 Mon Sep 17 00:00:00 2001 From: Soh Satoh <20023945+sohsatoh@users.noreply.github.com> Date: Mon, 30 Dec 2024 18:57:27 +0900 Subject: [PATCH 008/365] Show quick terminal on another full-screen app --- .../Features/QuickTerminal/QuickTerminalWindow.swift | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/macos/Sources/Features/QuickTerminal/QuickTerminalWindow.swift b/macos/Sources/Features/QuickTerminal/QuickTerminalWindow.swift index ed3a7f781..552b87e25 100644 --- a/macos/Sources/Features/QuickTerminal/QuickTerminalWindow.swift +++ b/macos/Sources/Features/QuickTerminal/QuickTerminalWindow.swift @@ -1,6 +1,6 @@ import Cocoa -class QuickTerminalWindow: NSWindow { +class QuickTerminalWindow: NSPanel { // Both of these must be true for windows without decorations to be able to // still become key/main and receive events. override var canBecomeKey: Bool { return true } @@ -26,6 +26,9 @@ class QuickTerminalWindow: NSWindow { // window remains resizable. self.styleMask.remove(.titled) + // We don't want to activate the owning app when quick terminal is triggered. + self.styleMask.insert(.nonactivatingPanel) + // We need to set our window level to a high value. In testing, only // popUpMenu and above do what we want. This gets it above the menu bar // and lets us render off screen. @@ -41,7 +44,7 @@ class QuickTerminalWindow: NSWindow { // We don't want to be part of command-tilde .ignoresCycle, - // We never support fullscreen - .fullScreenNone] + // We want to show the window on another space if it is visible + .fullScreenAuxiliary] } } From e2523c25cbe7b034b88cba23c1e7185dfeed0d0c Mon Sep 17 00:00:00 2001 From: Soh Satoh <20023945+sohsatoh@users.noreply.github.com> Date: Tue, 31 Dec 2024 21:55:03 +0900 Subject: [PATCH 009/365] Add quick-terminal-space-behavior option --- macos/Ghostty.xcodeproj/project.pbxproj | 4 ++ .../QuickTerminalController.swift | 44 ++++++++++++++++++- .../QuickTerminalSpaceBehavior.swift | 36 +++++++++++++++ macos/Sources/Ghostty/Ghostty.Config.swift | 10 +++++ src/config/Config.zig | 14 ++++++ 5 files changed, 106 insertions(+), 2 deletions(-) create mode 100644 macos/Sources/Features/QuickTerminal/QuickTerminalSpaceBehavior.swift diff --git a/macos/Ghostty.xcodeproj/project.pbxproj b/macos/Ghostty.xcodeproj/project.pbxproj index fded20911..3fa67c48a 100644 --- a/macos/Ghostty.xcodeproj/project.pbxproj +++ b/macos/Ghostty.xcodeproj/project.pbxproj @@ -102,6 +102,7 @@ C159E89D2B69A2EF00FDFE9C /* OSColor+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = C159E81C2B66A06B00FDFE9C /* OSColor+Extension.swift */; }; C1F26EA72B738B9900404083 /* NSView+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = C1F26EA62B738B9900404083 /* NSView+Extension.swift */; }; C1F26EE92B76CBFC00404083 /* VibrantLayer.m in Sources */ = {isa = PBXBuildFile; fileRef = C1F26EE82B76CBFC00404083 /* VibrantLayer.m */; }; + CFBB5FEA2D231E5000FD62EE /* QuickTerminalSpaceBehavior.swift in Sources */ = {isa = PBXBuildFile; fileRef = CFBB5FE92D231E5000FD62EE /* QuickTerminalSpaceBehavior.swift */; }; FC5218FA2D10FFCE004C93E0 /* zsh in Resources */ = {isa = PBXBuildFile; fileRef = FC5218F92D10FFC7004C93E0 /* zsh */; }; FC9ABA9C2D0F53F80020D4C8 /* bash-completion in Resources */ = {isa = PBXBuildFile; fileRef = FC9ABA9B2D0F538D0020D4C8 /* bash-completion */; }; /* End PBXBuildFile section */ @@ -198,6 +199,7 @@ C1F26EE72B76CBFC00404083 /* VibrantLayer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VibrantLayer.h; sourceTree = ""; }; C1F26EE82B76CBFC00404083 /* VibrantLayer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = VibrantLayer.m; sourceTree = ""; }; C1F26EEA2B76CC2400404083 /* ghostty-bridging-header.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "ghostty-bridging-header.h"; sourceTree = ""; }; + CFBB5FE92D231E5000FD62EE /* QuickTerminalSpaceBehavior.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = QuickTerminalSpaceBehavior.swift; sourceTree = ""; }; FC5218F92D10FFC7004C93E0 /* zsh */ = {isa = PBXFileReference; lastKnownFileType = folder; name = zsh; path = "../zig-out/share/zsh"; sourceTree = ""; }; FC9ABA9B2D0F538D0020D4C8 /* bash-completion */ = {isa = PBXFileReference; lastKnownFileType = folder; name = "bash-completion"; path = "../zig-out/share/bash-completion"; sourceTree = ""; }; /* End PBXFileReference section */ @@ -448,6 +450,7 @@ children = ( A5CBD05B2CA0C5C70017A1AE /* QuickTerminal.xib */, A5CBD05D2CA0C5E70017A1AE /* QuickTerminalController.swift */, + CFBB5FE92D231E5000FD62EE /* QuickTerminalSpaceBehavior.swift */, A5CBD0632CA122E70017A1AE /* QuickTerminalPosition.swift */, A52FFF562CA90481000C6A5B /* QuickTerminalScreen.swift */, A5CBD05F2CA0C9080017A1AE /* QuickTerminalWindow.swift */, @@ -616,6 +619,7 @@ A54B0CEB2D0CFB4C00CBEFF8 /* NSImage+Extension.swift in Sources */, A54D786C2CA7978E001B19B1 /* BaseTerminalController.swift in Sources */, A59FB5CF2AE0DB50009128F3 /* InspectorView.swift in Sources */, + CFBB5FEA2D231E5000FD62EE /* QuickTerminalSpaceBehavior.swift in Sources */, A54B0CE92D0CECD100CBEFF8 /* ColorizedGhosttyIconView.swift in Sources */, A5D0AF3D2B37804400D21823 /* CodableBridge.swift in Sources */, A5D0AF3B2B36A1DE00D21823 /* TerminalRestorable.swift in Sources */, diff --git a/macos/Sources/Features/QuickTerminal/QuickTerminalController.swift b/macos/Sources/Features/QuickTerminal/QuickTerminalController.swift index 47ee2dfd9..2a443e8ed 100644 --- a/macos/Sources/Features/QuickTerminal/QuickTerminalController.swift +++ b/macos/Sources/Features/QuickTerminal/QuickTerminalController.swift @@ -3,6 +3,12 @@ import Cocoa import SwiftUI import GhosttyKit +// This is a Apple's private function that we need to call to get the active space. +@_silgen_name("CGSGetActiveSpace") +func CGSGetActiveSpace(_ cid: Int) -> size_t +@_silgen_name("CGSMainConnectionID") +func CGSMainConnectionID() -> Int + /// Controller for the "quick" terminal. class QuickTerminalController: BaseTerminalController { override var windowNibName: NSNib.Name? { "QuickTerminal" } @@ -18,6 +24,9 @@ class QuickTerminalController: BaseTerminalController { /// application to the front. private var previousApp: NSRunningApplication? = nil + // The active space when the quick terminal was last shown. + private var previousActiveSpace: size_t = 0 + /// The configuration derived from the Ghostty config so we don't need to rely on references. private var derivedConfig: DerivedConfig @@ -81,6 +90,9 @@ class QuickTerminalController: BaseTerminalController { delegate: self )) + // Change the collection behavior of the window depending on the configuration. + window.collectionBehavior = derivedConfig.quickTerminalSpaceBehavior.collectionBehavior + // Animate the window in animateIn() } @@ -107,8 +119,27 @@ class QuickTerminalController: BaseTerminalController { self.previousApp = nil } - if (derivedConfig.quickTerminalAutoHide) { - animateOut() + if derivedConfig.quickTerminalAutoHide { + switch derivedConfig.quickTerminalSpaceBehavior { + case .remain: + if self.window?.isOnActiveSpace == true { + // If we lose focus on the active space, then we can animate out + animateOut() + } + case .move: + // Check if the reason for losing focus is due to an active space change + let currentActiveSpace = CGSGetActiveSpace(CGSMainConnectionID()) + if previousActiveSpace == currentActiveSpace { + // If we lose focus on the active space, then we can animate out + animateOut() + } else { + // If we're from different space, then we bring the window back + DispatchQueue.main.async { + self.window?.makeKeyAndOrderFront(nil) + } + } + self.previousActiveSpace = currentActiveSpace + } } } @@ -163,6 +194,9 @@ class QuickTerminalController: BaseTerminalController { } } + // Set previous active space + self.previousActiveSpace = CGSGetActiveSpace(CGSMainConnectionID()) + // Animate the window in animateWindowIn(window: window, from: position) @@ -390,12 +424,16 @@ class QuickTerminalController: BaseTerminalController { self.derivedConfig = DerivedConfig(config) syncAppearance() + + // Update window.collectionBehavior + self.window?.collectionBehavior = derivedConfig.quickTerminalSpaceBehavior.collectionBehavior } private struct DerivedConfig { let quickTerminalScreen: QuickTerminalScreen let quickTerminalAnimationDuration: Double let quickTerminalAutoHide: Bool + let quickTerminalSpaceBehavior: QuickTerminalSpaceBehavior let windowColorspace: String let backgroundOpacity: Double @@ -403,6 +441,7 @@ class QuickTerminalController: BaseTerminalController { self.quickTerminalScreen = .main self.quickTerminalAnimationDuration = 0.2 self.quickTerminalAutoHide = true + self.quickTerminalSpaceBehavior = .move self.windowColorspace = "" self.backgroundOpacity = 1.0 } @@ -411,6 +450,7 @@ class QuickTerminalController: BaseTerminalController { self.quickTerminalScreen = config.quickTerminalScreen self.quickTerminalAnimationDuration = config.quickTerminalAnimationDuration self.quickTerminalAutoHide = config.quickTerminalAutoHide + self.quickTerminalSpaceBehavior = config.quickTerminalSpaceBehavior self.windowColorspace = config.windowColorspace self.backgroundOpacity = config.backgroundOpacity } diff --git a/macos/Sources/Features/QuickTerminal/QuickTerminalSpaceBehavior.swift b/macos/Sources/Features/QuickTerminal/QuickTerminalSpaceBehavior.swift new file mode 100644 index 000000000..18e283d7b --- /dev/null +++ b/macos/Sources/Features/QuickTerminal/QuickTerminalSpaceBehavior.swift @@ -0,0 +1,36 @@ +import Foundation +import Cocoa + +enum QuickTerminalSpaceBehavior { + case remain + case move + + init?(fromGhosttyConfig string: String) { + switch (string) { + case "move": + self = .move + + case "remain": + self = .remain + + default: + return nil + } + } + + var collectionBehavior: NSWindow.CollectionBehavior { + let commonBehavior: [NSWindow.CollectionBehavior] = [ + .ignoresCycle, + .fullScreenAuxiliary + ] + + switch (self) { + case .move: + // We want this to be part of every space because it is a singleton. + return NSWindow.CollectionBehavior([.canJoinAllSpaces] + commonBehavior) + case .remain: + // We want this to move the window to the active space. + return NSWindow.CollectionBehavior([.moveToActiveSpace] + commonBehavior) + } + } +} diff --git a/macos/Sources/Ghostty/Ghostty.Config.swift b/macos/Sources/Ghostty/Ghostty.Config.swift index ed9364914..1b3263fc3 100644 --- a/macos/Sources/Ghostty/Ghostty.Config.swift +++ b/macos/Sources/Ghostty/Ghostty.Config.swift @@ -431,6 +431,16 @@ extension Ghostty { _ = ghostty_config_get(config, &v, key, UInt(key.count)) return v } + + var quickTerminalSpaceBehavior: QuickTerminalSpaceBehavior { + guard let config = self.config else { return .move } + var v: UnsafePointer? = nil + let key = "quick-terminal-space-behavior" + guard ghostty_config_get(config, &v, key, UInt(key.count)) else { return .move } + guard let ptr = v else { return .move } + let str = String(cString: ptr) + return QuickTerminalSpaceBehavior(fromGhosttyConfig: str) ?? .move + } #endif var resizeOverlay: ResizeOverlay { diff --git a/src/config/Config.zig b/src/config/Config.zig index da39e84ac..e792eba38 100644 --- a/src/config/Config.zig +++ b/src/config/Config.zig @@ -1567,6 +1567,14 @@ keybind: Keybinds = .{}, /// Set it to false for the quick terminal to remain open even when it loses focus. @"quick-terminal-autohide": bool = true, +/// This configuration option determines the behavior of the quick terminal +/// when switching between spaces. If set to `move`, the quick terminal +/// will stay only in the space where it was originally opened and will not +/// follow when switching to another space. If set to `remain`, the quick terminal +/// will remain open and visible across all spaces, including after moving to +/// a different space. +@"quick-terminal-space-behavior": QuickTerminalSpaceBehavior = .move, + /// Whether to enable shell integration auto-injection or not. Shell integration /// greatly enhances the terminal experience by enabling a number of features: /// @@ -5695,6 +5703,12 @@ pub const QuickTerminalScreen = enum { @"macos-menu-bar", }; +// See quick-terminal-space-behavior +pub const QuickTerminalSpaceBehavior = enum { + remain, + move, +}; + /// See grapheme-width-method pub const GraphemeWidthMethod = enum { legacy, From 7bb3c31ceef22b85a9bbd5c2d9e0a41566730681 Mon Sep 17 00:00:00 2001 From: Soh Satoh <20023945+sohsatoh@users.noreply.github.com> Date: Wed, 1 Jan 2025 02:34:46 +0900 Subject: [PATCH 010/365] Move the quick terminal to active space if toggle() called while opening on another space --- .../Features/QuickTerminal/QuickTerminalController.swift | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/macos/Sources/Features/QuickTerminal/QuickTerminalController.swift b/macos/Sources/Features/QuickTerminal/QuickTerminalController.swift index 3cae47b1d..4063aa26f 100644 --- a/macos/Sources/Features/QuickTerminal/QuickTerminalController.swift +++ b/macos/Sources/Features/QuickTerminal/QuickTerminalController.swift @@ -164,6 +164,12 @@ class QuickTerminalController: BaseTerminalController { // MARK: Methods func toggle() { + if derivedConfig.quickTerminalSpaceBehavior == .remain && self.window?.isOnActiveSpace == false { + // If we're in the remain mode and the window is not on the active space, then we bring the window back to the active space. + self.window?.makeKeyAndOrderFront(nil) + return + } + if (visible) { animateOut() } else { From 0ddc1a21a694e4fb5b54ebd4d4de2e903b0aea67 Mon Sep 17 00:00:00 2001 From: Soh Satoh <20023945+sohsatoh@users.noreply.github.com> Date: Wed, 1 Jan 2025 07:48:30 +0900 Subject: [PATCH 011/365] fix the comment (quick-terminal-space-behavior) --- .../QuickTerminal/QuickTerminalSpaceBehavior.swift | 4 ++-- src/config/Config.zig | 9 ++++----- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/macos/Sources/Features/QuickTerminal/QuickTerminalSpaceBehavior.swift b/macos/Sources/Features/QuickTerminal/QuickTerminalSpaceBehavior.swift index 18e283d7b..0561aaa18 100644 --- a/macos/Sources/Features/QuickTerminal/QuickTerminalSpaceBehavior.swift +++ b/macos/Sources/Features/QuickTerminal/QuickTerminalSpaceBehavior.swift @@ -26,10 +26,10 @@ enum QuickTerminalSpaceBehavior { switch (self) { case .move: - // We want this to be part of every space because it is a singleton. + // We want this to move the window to the active space. return NSWindow.CollectionBehavior([.canJoinAllSpaces] + commonBehavior) case .remain: - // We want this to move the window to the active space. + // We want this to remain the window in the current space. return NSWindow.CollectionBehavior([.moveToActiveSpace] + commonBehavior) } } diff --git a/src/config/Config.zig b/src/config/Config.zig index e792eba38..744dbcf7e 100644 --- a/src/config/Config.zig +++ b/src/config/Config.zig @@ -1568,11 +1568,10 @@ keybind: Keybinds = .{}, @"quick-terminal-autohide": bool = true, /// This configuration option determines the behavior of the quick terminal -/// when switching between spaces. If set to `move`, the quick terminal -/// will stay only in the space where it was originally opened and will not -/// follow when switching to another space. If set to `remain`, the quick terminal -/// will remain open and visible across all spaces, including after moving to -/// a different space. +/// when switching between spaces. If set to `move`, the quick terminal will +/// be moved to the space where the focused window is. If set to `remain`, +/// the quick terminal will stay only in the space where it was originally opened and +/// will not follow when switching to another space. @"quick-terminal-space-behavior": QuickTerminalSpaceBehavior = .move, /// Whether to enable shell integration auto-injection or not. Shell integration From 37db4578c8563dc7a744ec028a17c6635ab39e5f Mon Sep 17 00:00:00 2001 From: Soh Satoh <20023945+sohsatoh@users.noreply.github.com> Date: Wed, 1 Jan 2025 07:30:46 +0900 Subject: [PATCH 012/365] Fix the issue that the quick term not shown on first call --- .../Features/QuickTerminal/QuickTerminalController.swift | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/macos/Sources/Features/QuickTerminal/QuickTerminalController.swift b/macos/Sources/Features/QuickTerminal/QuickTerminalController.swift index 4063aa26f..2a4137dc9 100644 --- a/macos/Sources/Features/QuickTerminal/QuickTerminalController.swift +++ b/macos/Sources/Features/QuickTerminal/QuickTerminalController.swift @@ -166,7 +166,9 @@ class QuickTerminalController: BaseTerminalController { func toggle() { if derivedConfig.quickTerminalSpaceBehavior == .remain && self.window?.isOnActiveSpace == false { // If we're in the remain mode and the window is not on the active space, then we bring the window back to the active space. - self.window?.makeKeyAndOrderFront(nil) + DispatchQueue.main.async { + self.window?.makeKeyAndOrderFront(nil) + } return } @@ -239,7 +241,9 @@ class QuickTerminalController: BaseTerminalController { position.setInitial(in: window, on: screen) // Move it to the visible position since animation requires this - window.makeKeyAndOrderFront(nil) + DispatchQueue.main.async { + window.makeKeyAndOrderFront(nil) + } // Run the animation that moves our window into the proper place and makes // it visible. From 306c7ea2beef0f8b195fbd73d5c044180cc33368 Mon Sep 17 00:00:00 2001 From: Sabarigirish Manikandan <68274755+lg28literconvectionmicrowaveoven@users.noreply.github.com> Date: Thu, 9 Jan 2025 00:37:00 +0530 Subject: [PATCH 013/365] close_tab keybind (gtk apprt only) (#4033) Title. Adds a close_tab keybind that essentially behaves the exact same as clicking the tab close button on the tab bar. --- include/ghostty.h | 1 + src/Surface.zig | 6 ++++++ src/apprt/action.zig | 4 ++++ src/apprt/glfw.zig | 1 + src/apprt/gtk/App.zig | 19 +++++++++++++++++++ src/config/Config.zig | 10 ++++++++++ src/input/Binding.zig | 4 ++++ 7 files changed, 45 insertions(+) diff --git a/include/ghostty.h b/include/ghostty.h index 0e444a2fa..29da8f37b 100644 --- a/include/ghostty.h +++ b/include/ghostty.h @@ -562,6 +562,7 @@ typedef enum { GHOSTTY_ACTION_QUIT, GHOSTTY_ACTION_NEW_WINDOW, GHOSTTY_ACTION_NEW_TAB, + GHOSTTY_ACTION_CLOSE_TAB, GHOSTTY_ACTION_NEW_SPLIT, GHOSTTY_ACTION_CLOSE_ALL_WINDOWS, GHOSTTY_ACTION_TOGGLE_FULLSCREEN, diff --git a/src/Surface.zig b/src/Surface.zig index 70c32098f..50ef3c0cf 100644 --- a/src/Surface.zig +++ b/src/Surface.zig @@ -4061,6 +4061,12 @@ pub fn performBindingAction(self: *Surface, action: input.Binding.Action) !bool {}, ), + .close_tab => try self.rt_app.performAction( + .{ .surface = self }, + .close_tab, + {}, + ), + inline .previous_tab, .next_tab, .last_tab, diff --git a/src/apprt/action.zig b/src/apprt/action.zig index df30f7b7b..25e1cd640 100644 --- a/src/apprt/action.zig +++ b/src/apprt/action.zig @@ -82,6 +82,9 @@ pub const Action = union(Key) { /// the tab should be opened in a new window. new_tab, + /// Closes the tab belonging to the currently focused split. + close_tab, + /// Create a new split. The value determines the location of the split /// relative to the target. new_split: SplitDirection, @@ -225,6 +228,7 @@ pub const Action = union(Key) { quit, new_window, new_tab, + close_tab, new_split, close_all_windows, toggle_fullscreen, diff --git a/src/apprt/glfw.zig b/src/apprt/glfw.zig index c91464068..8094baeb8 100644 --- a/src/apprt/glfw.zig +++ b/src/apprt/glfw.zig @@ -218,6 +218,7 @@ pub const App = struct { .toggle_split_zoom, .present_terminal, .close_all_windows, + .close_tab, .toggle_tab_overview, .toggle_window_decorations, .toggle_quick_terminal, diff --git a/src/apprt/gtk/App.zig b/src/apprt/gtk/App.zig index 38c019b3e..86a001cba 100644 --- a/src/apprt/gtk/App.zig +++ b/src/apprt/gtk/App.zig @@ -477,6 +477,7 @@ pub fn performAction( .toggle_fullscreen => self.toggleFullscreen(target, value), .new_tab => try self.newTab(target), + .close_tab => try self.closeTab(target), .goto_tab => self.gotoTab(target, value), .move_tab => self.moveTab(target, value), .new_split => try self.newSplit(target, value), @@ -532,6 +533,23 @@ fn newTab(_: *App, target: apprt.Target) !void { } } +fn closeTab(_: *App, target: apprt.Target) !void { + switch (target) { + .app => {}, + .surface => |v| { + const tab = v.rt_surface.container.tab() orelse { + log.info( + "close_tab invalid for container={s}", + .{@tagName(v.rt_surface.container)}, + ); + return; + }; + + tab.window.closeTab(tab); + }, + } +} + fn gotoTab(_: *App, target: apprt.Target, tab: apprt.action.GotoTab) void { switch (target) { .app => {}, @@ -1743,6 +1761,7 @@ fn initMenu(self: *App) void { c.g_menu_append_section(menu, null, @ptrCast(@alignCast(section))); c.g_menu_append(section, "New Window", "win.new_window"); c.g_menu_append(section, "New Tab", "win.new_tab"); + c.g_menu_append(section, "Close Tab", "win.close_tab"); c.g_menu_append(section, "Split Right", "win.split_right"); c.g_menu_append(section, "Split Down", "win.split_down"); c.g_menu_append(section, "Close Window", "win.close"); diff --git a/src/config/Config.zig b/src/config/Config.zig index da39e84ac..044e053f2 100644 --- a/src/config/Config.zig +++ b/src/config/Config.zig @@ -2373,6 +2373,11 @@ pub fn default(alloc_gpa: Allocator) Allocator.Error!Config { .{ .key = .{ .translated = .t }, .mods = .{ .ctrl = true, .shift = true } }, .{ .new_tab = {} }, ); + try result.keybind.set.put( + alloc, + .{ .key = .{ .translated = .w }, .mods = .{ .ctrl = true, .shift = true } }, + .{ .close_tab = {} }, + ); try result.keybind.set.put( alloc, .{ .key = .{ .translated = .left }, .mods = .{ .ctrl = true, .shift = true } }, @@ -2653,6 +2658,11 @@ pub fn default(alloc_gpa: Allocator) Allocator.Error!Config { .{ .key = .{ .translated = .t }, .mods = .{ .super = true } }, .{ .new_tab = {} }, ); + try result.keybind.set.put( + alloc, + .{ .key = .{ .translated = .w }, .mods = .{ .super = true } }, + .{ .close_tab = {} }, + ); try result.keybind.set.put( alloc, .{ .key = .{ .translated = .left_bracket }, .mods = .{ .super = true, .shift = true } }, diff --git a/src/input/Binding.zig b/src/input/Binding.zig index 64e07e85e..d0a34efe4 100644 --- a/src/input/Binding.zig +++ b/src/input/Binding.zig @@ -383,6 +383,9 @@ pub const Action = union(enum) { /// This only works for macOS currently. close_all_windows: void, + /// Closes the tab belonging to the currently focused split. + close_tab: void, + /// Toggle fullscreen mode of window. toggle_fullscreen: void, @@ -750,6 +753,7 @@ pub const Action = union(enum) { .resize_split, .equalize_splits, .inspector, + .close_tab, => .surface, }; } From c85c277415e9b65a963ca1a09be3b0720c748302 Mon Sep 17 00:00:00 2001 From: "Jeffrey C. Ollie" Date: Wed, 8 Jan 2025 13:12:36 -0600 Subject: [PATCH 014/365] core: add docs for ShellEscapeWriter --- src/os/shell.zig | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/os/shell.zig b/src/os/shell.zig index a9cb61847..23648a82a 100644 --- a/src/os/shell.zig +++ b/src/os/shell.zig @@ -1,6 +1,11 @@ const std = @import("std"); const testing = std.testing; +/// Writer that escapes characters that shells treat specially to reduce the +/// risk of injection attacks or other such weirdness. Specifically excludes +/// linefeeds so that they can be used to delineate lists of file paths. +/// +/// T should be a Zig type that follows the `std.io.Writer` interface. pub fn ShellEscapeWriter(comptime T: type) type { return struct { child_writer: T, From 6e54589db4a5ee38a3a861e666bcd200da61572b Mon Sep 17 00:00:00 2001 From: Mitchell Hashimoto Date: Wed, 8 Jan 2025 11:28:02 -0800 Subject: [PATCH 015/365] misc cleanups --- .../QuickTerminalController.swift | 34 +++++++++++-------- src/config/Config.zig | 18 +++++++--- 2 files changed, 34 insertions(+), 18 deletions(-) diff --git a/macos/Sources/Features/QuickTerminal/QuickTerminalController.swift b/macos/Sources/Features/QuickTerminal/QuickTerminalController.swift index 2a4137dc9..b5cbbab9c 100644 --- a/macos/Sources/Features/QuickTerminal/QuickTerminalController.swift +++ b/macos/Sources/Features/QuickTerminal/QuickTerminalController.swift @@ -90,9 +90,6 @@ class QuickTerminalController: BaseTerminalController { delegate: self )) - // Change the collection behavior of the window depending on the configuration. - window.collectionBehavior = derivedConfig.quickTerminalSpaceBehavior.collectionBehavior - // Animate the window in animateIn() } @@ -122,23 +119,24 @@ class QuickTerminalController: BaseTerminalController { if derivedConfig.quickTerminalAutoHide { switch derivedConfig.quickTerminalSpaceBehavior { case .remain: - if self.window?.isOnActiveSpace == true { - // If we lose focus on the active space, then we can animate out - animateOut() - } + // If we lose focus on the active space, then we can animate out + animateOut() + case .move: - // Check if the reason for losing focus is due to an active space change let currentActiveSpace = CGSGetActiveSpace(CGSMainConnectionID()) if previousActiveSpace == currentActiveSpace { - // If we lose focus on the active space, then we can animate out + // We haven't moved spaces. We lost focus to another app on the + // current space. Animate out. animateOut() } else { - // If we're from different space, then we bring the window back + // We've moved to a different space. Bring the quick terminal back + // into view. DispatchQueue.main.async { self.window?.makeKeyAndOrderFront(nil) } + + self.previousActiveSpace = currentActiveSpace } - self.previousActiveSpace = currentActiveSpace } } } @@ -320,6 +318,14 @@ class QuickTerminalController: BaseTerminalController { } private func animateWindowOut(window: NSWindow, to position: QuickTerminalPosition) { + // If the window isn't on our active space then we don't animate, we just + // hide it. + if !window.isOnActiveSpace { + self.previousApp = nil + window.orderOut(self) + return + } + // We always animate out to whatever screen the window is actually on. guard let screen = window.screen ?? NSScreen.main else { return } @@ -355,6 +361,9 @@ class QuickTerminalController: BaseTerminalController { private func syncAppearance() { guard let window else { return } + // Change the collection behavior of the window depending on the configuration. + window.collectionBehavior = derivedConfig.quickTerminalSpaceBehavior.collectionBehavior + // If our window is not visible, then no need to sync the appearance yet. // Some APIs such as window blur have no effect unless the window is visible. guard window.isVisible else { return } @@ -433,9 +442,6 @@ class QuickTerminalController: BaseTerminalController { // Update our derived config self.derivedConfig = DerivedConfig(config) - // Update window.collectionBehavior - self.window?.collectionBehavior = derivedConfig.quickTerminalSpaceBehavior.collectionBehavior - syncAppearance() } diff --git a/src/config/Config.zig b/src/config/Config.zig index 744dbcf7e..8e577ea5e 100644 --- a/src/config/Config.zig +++ b/src/config/Config.zig @@ -1568,10 +1568,20 @@ keybind: Keybinds = .{}, @"quick-terminal-autohide": bool = true, /// This configuration option determines the behavior of the quick terminal -/// when switching between spaces. If set to `move`, the quick terminal will -/// be moved to the space where the focused window is. If set to `remain`, -/// the quick terminal will stay only in the space where it was originally opened and -/// will not follow when switching to another space. +/// when switching between macOS spaces. macOS spaces are virtual desktops +/// that can be manually created or are automatically created when an +/// application is in full-screen mode. +/// +/// Valid values are: +/// +/// * `move` - When switching to another space, the quick terminal will +/// also moved to the current space. +/// +/// * `remain` - The quick terminal will stay only in the space where it +/// was originally opened and will not follow when switching to another +/// space. +/// +/// The default value is `move`. @"quick-terminal-space-behavior": QuickTerminalSpaceBehavior = .move, /// Whether to enable shell integration auto-injection or not. Shell integration From 6ebc02b68d31e838a9ce90b77df3a23708add980 Mon Sep 17 00:00:00 2001 From: Mitchell Hashimoto Date: Wed, 8 Jan 2025 11:30:17 -0800 Subject: [PATCH 016/365] macos: animate in even if remain on another space --- .../Features/QuickTerminal/QuickTerminalController.swift | 8 -------- 1 file changed, 8 deletions(-) diff --git a/macos/Sources/Features/QuickTerminal/QuickTerminalController.swift b/macos/Sources/Features/QuickTerminal/QuickTerminalController.swift index b5cbbab9c..fee6f0735 100644 --- a/macos/Sources/Features/QuickTerminal/QuickTerminalController.swift +++ b/macos/Sources/Features/QuickTerminal/QuickTerminalController.swift @@ -162,14 +162,6 @@ class QuickTerminalController: BaseTerminalController { // MARK: Methods func toggle() { - if derivedConfig.quickTerminalSpaceBehavior == .remain && self.window?.isOnActiveSpace == false { - // If we're in the remain mode and the window is not on the active space, then we bring the window back to the active space. - DispatchQueue.main.async { - self.window?.makeKeyAndOrderFront(nil) - } - return - } - if (visible) { animateOut() } else { From e4033ca4dff63f89eec33aa2901fb56bf34b06c4 Mon Sep 17 00:00:00 2001 From: Mitchell Hashimoto Date: Wed, 8 Jan 2025 11:47:24 -0800 Subject: [PATCH 017/365] config: close_tab on macOS should be cmd+opt+w to match iTerm2 --- src/config/Config.zig | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/config/Config.zig b/src/config/Config.zig index 0bec3f772..90e0c166f 100644 --- a/src/config/Config.zig +++ b/src/config/Config.zig @@ -2660,6 +2660,11 @@ pub fn default(alloc_gpa: Allocator) Allocator.Error!Config { .{ .key = .{ .translated = .w }, .mods = .{ .super = true } }, .{ .close_surface = {} }, ); + try result.keybind.set.put( + alloc, + .{ .key = .{ .translated = .w }, .mods = .{ .super = true, .alt = true } }, + .{ .close_tab = {} }, + ); try result.keybind.set.put( alloc, .{ .key = .{ .translated = .w }, .mods = .{ .super = true, .shift = true } }, @@ -2675,11 +2680,6 @@ pub fn default(alloc_gpa: Allocator) Allocator.Error!Config { .{ .key = .{ .translated = .t }, .mods = .{ .super = true } }, .{ .new_tab = {} }, ); - try result.keybind.set.put( - alloc, - .{ .key = .{ .translated = .w }, .mods = .{ .super = true } }, - .{ .close_tab = {} }, - ); try result.keybind.set.put( alloc, .{ .key = .{ .translated = .left_bracket }, .mods = .{ .super = true, .shift = true } }, From 140ac9388492e3ab4be1826eb9f028b559b61a99 Mon Sep 17 00:00:00 2001 From: Bryan Lee <38807139+liby@users.noreply.github.com> Date: Fri, 3 Jan 2025 09:15:29 +0800 Subject: [PATCH 018/365] Add `close_tab` keybinding action for macOS Implement `close_tab` keybinding action to close the current tab and all splits within that tab. --- macos/Sources/App/macOS/AppDelegate.swift | 2 + macos/Sources/App/macOS/MainMenu.xib | 7 ++ .../Terminal/TerminalController.swift | 99 +++++++++++++------ macos/Sources/Ghostty/Ghostty.App.swift | 24 +++++ macos/Sources/Ghostty/Package.swift | 3 + src/Surface.zig | 1 + src/input/Binding.zig | 9 +- 7 files changed, 112 insertions(+), 33 deletions(-) diff --git a/macos/Sources/App/macOS/AppDelegate.swift b/macos/Sources/App/macOS/AppDelegate.swift index 2fe835303..a102beb91 100644 --- a/macos/Sources/App/macOS/AppDelegate.swift +++ b/macos/Sources/App/macOS/AppDelegate.swift @@ -30,6 +30,7 @@ class AppDelegate: NSObject, @IBOutlet private var menuSplitRight: NSMenuItem? @IBOutlet private var menuSplitDown: NSMenuItem? @IBOutlet private var menuClose: NSMenuItem? + @IBOutlet private var menuCloseTab: NSMenuItem? @IBOutlet private var menuCloseWindow: NSMenuItem? @IBOutlet private var menuCloseAllWindows: NSMenuItem? @@ -347,6 +348,7 @@ class AppDelegate: NSObject, syncMenuShortcut(config, action: "new_window", menuItem: self.menuNewWindow) syncMenuShortcut(config, action: "new_tab", menuItem: self.menuNewTab) syncMenuShortcut(config, action: "close_surface", menuItem: self.menuClose) + syncMenuShortcut(config, action: "close_tab", menuItem: self.menuCloseTab) syncMenuShortcut(config, action: "close_window", menuItem: self.menuCloseWindow) syncMenuShortcut(config, action: "close_all_windows", menuItem: self.menuCloseAllWindows) syncMenuShortcut(config, action: "new_split:right", menuItem: self.menuSplitRight) diff --git a/macos/Sources/App/macOS/MainMenu.xib b/macos/Sources/App/macOS/MainMenu.xib index 0a197fe65..4a01d5c62 100644 --- a/macos/Sources/App/macOS/MainMenu.xib +++ b/macos/Sources/App/macOS/MainMenu.xib @@ -17,6 +17,7 @@ + @@ -155,6 +156,12 @@ + + + + + + diff --git a/macos/Sources/Features/Terminal/TerminalController.swift b/macos/Sources/Features/Terminal/TerminalController.swift index 2da498e3a..ef4054c2e 100644 --- a/macos/Sources/Features/Terminal/TerminalController.swift +++ b/macos/Sources/Features/Terminal/TerminalController.swift @@ -60,6 +60,11 @@ class TerminalController: BaseTerminalController { selector: #selector(onGotoTab), name: Ghostty.Notification.ghosttyGotoTab, object: nil) + center.addObserver( + self, + selector: #selector(onCloseTab), + name: .ghosttyCloseTab, + object: nil) center.addObserver( self, selector: #selector(ghosttyConfigDidChange(_:)), @@ -508,7 +513,50 @@ class TerminalController: BaseTerminalController { ghostty.newTab(surface: surface) } - @IBAction override func closeWindow(_ sender: Any) { + private func confirmClose( + window: NSWindow, + messageText: String, + informativeText: String, + completion: @escaping () -> Void + ) { + // If we need confirmation by any, show one confirmation for all windows + // in the tab group. + let alert = NSAlert() + alert.messageText = messageText + alert.informativeText = informativeText + alert.addButton(withTitle: "Close") + alert.addButton(withTitle: "Cancel") + alert.alertStyle = .warning + alert.beginSheetModal(for: window) { response in + if response == .alertFirstButtonReturn { + completion() + } + } + } + + @IBAction func closeTab(_ sender: Any?) { + guard let window = window else { return } + guard window.tabGroup != nil else { + // No tabs, no tab group, just perform a normal close. + window.performClose(sender) + return + } + + if surfaceTree?.needsConfirmQuit() ?? false { + confirmClose( + window: window, + messageText: "Close Tab?", + informativeText: "The terminal still has a running process. If you close the tab the process will be killed." + ) { + window.close() + } + return + } + + window.close() + } + + @IBAction override func closeWindow(_ sender: Any?) { guard let window = window else { return } guard let tabGroup = window.tabGroup else { // No tabs, no tab group, just perform a normal close. @@ -523,47 +571,34 @@ class TerminalController: BaseTerminalController { } // Check if any windows require close confirmation. - var needsConfirm: Bool = false - for tabWindow in tabGroup.windows { - guard let c = tabWindow.windowController as? TerminalController else { continue } - if (c.surfaceTree?.needsConfirmQuit() ?? false) { - needsConfirm = true - break + let needsConfirm = tabGroup.windows.contains { tabWindow in + guard let controller = tabWindow.windowController as? TerminalController else { + return false } + return controller.surfaceTree?.needsConfirmQuit() ?? false } // If none need confirmation then we can just close all the windows. - if (!needsConfirm) { - for tabWindow in tabGroup.windows { - tabWindow.close() - } - + if !needsConfirm { + tabGroup.windows.forEach { $0.close() } return } - // If we need confirmation by any, show one confirmation for all windows - // in the tab group. - let alert = NSAlert() - alert.messageText = "Close Window?" - alert.informativeText = "All terminal sessions in this window will be terminated." - alert.addButton(withTitle: "Close Window") - alert.addButton(withTitle: "Cancel") - alert.alertStyle = .warning - alert.beginSheetModal(for: window, completionHandler: { response in - if (response == .alertFirstButtonReturn) { - for tabWindow in tabGroup.windows { - tabWindow.close() - } - } - }) + confirmClose( + window: window, + messageText: "Close Window?", + informativeText: "All terminal sessions in this window will be terminated." + ) { + tabGroup.windows.forEach { $0.close() } + } } - @IBAction func toggleGhosttyFullScreen(_ sender: Any) { + @IBAction func toggleGhosttyFullScreen(_ sender: Any?) { guard let surface = focusedSurface?.surface else { return } ghostty.toggleFullscreen(surface: surface) } - @IBAction func toggleTerminalInspector(_ sender: Any) { + @IBAction func toggleTerminalInspector(_ sender: Any?) { guard let surface = focusedSurface?.surface else { return } ghostty.toggleTerminalInspector(surface: surface) } @@ -720,6 +755,12 @@ class TerminalController: BaseTerminalController { targetWindow.makeKeyAndOrderFront(nil) } + @objc private func onCloseTab(notification: SwiftUI.Notification) { + guard let target = notification.object as? Ghostty.SurfaceView else { return } + guard surfaceTree?.contains(view: target) ?? false else { return } + closeTab(self) + } + @objc private func onToggleFullscreen(notification: SwiftUI.Notification) { guard let target = notification.object as? Ghostty.SurfaceView else { return } guard target == self.focusedSurface else { return } diff --git a/macos/Sources/Ghostty/Ghostty.App.swift b/macos/Sources/Ghostty/Ghostty.App.swift index 3a2510e3b..43c0f245a 100644 --- a/macos/Sources/Ghostty/Ghostty.App.swift +++ b/macos/Sources/Ghostty/Ghostty.App.swift @@ -448,6 +448,9 @@ extension Ghostty { case GHOSTTY_ACTION_NEW_SPLIT: newSplit(app, target: target, direction: action.action.new_split) + case GHOSTTY_ACTION_CLOSE_TAB: + closeTab(app, target: target) + case GHOSTTY_ACTION_TOGGLE_FULLSCREEN: toggleFullscreen(app, target: target, mode: action.action.toggle_fullscreen) @@ -651,6 +654,27 @@ extension Ghostty { } } + private static func closeTab(_ app: ghostty_app_t, target: ghostty_target_s) { + switch (target.tag) { + case GHOSTTY_TARGET_APP: + Ghostty.logger.warning("close tab does nothing with an app target") + return + + case GHOSTTY_TARGET_SURFACE: + guard let surface = target.target.surface else { return } + guard let surfaceView = self.surfaceView(from: surface) else { return } + + NotificationCenter.default.post( + name: .ghosttyCloseTab, + object: surfaceView + ) + + + default: + assertionFailure() + } + } + private static func toggleFullscreen( _ app: ghostty_app_t, target: ghostty_target_s, diff --git a/macos/Sources/Ghostty/Package.swift b/macos/Sources/Ghostty/Package.swift index deca8f89d..71fac4a99 100644 --- a/macos/Sources/Ghostty/Package.swift +++ b/macos/Sources/Ghostty/Package.swift @@ -236,6 +236,9 @@ extension Notification.Name { /// Goto tab. Has tab index in the userinfo. static let ghosttyMoveTab = Notification.Name("com.mitchellh.ghostty.moveTab") static let GhosttyMoveTabKey = ghosttyMoveTab.rawValue + + /// Close tab + static let ghosttyCloseTab = Notification.Name("com.mitchellh.ghostty.closeTab") } // NOTE: I am moving all of these to Notification.Name extensions over time. This diff --git a/src/Surface.zig b/src/Surface.zig index 50ef3c0cf..91f914f38 100644 --- a/src/Surface.zig +++ b/src/Surface.zig @@ -4266,6 +4266,7 @@ fn closingAction(action: input.Binding.Action) bool { return switch (action) { .close_surface, .close_window, + .close_tab, => true, else => false, diff --git a/src/input/Binding.zig b/src/input/Binding.zig index d0a34efe4..8cd3797ec 100644 --- a/src/input/Binding.zig +++ b/src/input/Binding.zig @@ -375,6 +375,10 @@ pub const Action = union(enum) { /// configured. close_surface: void, + /// Close the current tab, regardless of how many splits there may be. + /// This will trigger close confirmation as configured. + close_tab: void, + /// Close the window, regardless of how many tabs or splits there may be. /// This will trigger close confirmation as configured. close_window: void, @@ -383,9 +387,6 @@ pub const Action = union(enum) { /// This only works for macOS currently. close_all_windows: void, - /// Closes the tab belonging to the currently focused split. - close_tab: void, - /// Toggle fullscreen mode of window. toggle_fullscreen: void, @@ -729,6 +730,7 @@ pub const Action = union(enum) { .write_screen_file, .write_selection_file, .close_surface, + .close_tab, .close_window, .toggle_fullscreen, .toggle_window_decorations, @@ -753,7 +755,6 @@ pub const Action = union(enum) { .resize_split, .equalize_splits, .inspector, - .close_tab, => .surface, }; } From 3e24e96af51fe308705a1f1695e3b9045c54482e Mon Sep 17 00:00:00 2001 From: Danny Lin Date: Tue, 31 Dec 2024 02:01:46 -0800 Subject: [PATCH 019/365] termio/exec: fix SIGPIPE crash when reader exits early If the read thread has already exited, it will have closed the read end of the quit pipe. Unless SIGPIPE is masked with signal(SIGPIPE, SIG_IGN), or the macOS-specific fcntl(F_SETNOSIGPIPE), writing to the write end of a broken pipe kills the writer with SIGPIPE instead of returning -EPIPE as an error. This causes a crash if the read thread exits before threadExit. This was already a possible race condition if read() returns error.NotOpenForReading or error.InputOutput, but it's now much easier to trigger due to the recent "termio/exec: fix 100% CPU usage after wait-after-command process exits" fix. Fix this by closing the quit pipe instead of writing to it. --- src/termio/Exec.zig | 25 ++++++++++++++++--------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/src/termio/Exec.zig b/src/termio/Exec.zig index 1a3b8cad0..d409ccbb0 100644 --- a/src/termio/Exec.zig +++ b/src/termio/Exec.zig @@ -179,8 +179,11 @@ pub fn threadExit(self: *Exec, td: *termio.Termio.ThreadData) void { // Quit our read thread after exiting the subprocess so that // we don't get stuck waiting for data to stop flowing if it is // a particularly noisy process. - _ = posix.write(exec.read_thread_pipe, "x") catch |err| - log.warn("error writing to read thread quit pipe err={}", .{err}); + if (exec.read_thread_pipe) |pipe| { + posix.close(pipe); + // Tell deinit that we've already closed the pipe + exec.read_thread_pipe = null; + } if (comptime builtin.os.tag == .windows) { // Interrupt the blocking read so the thread can see the quit message @@ -639,7 +642,7 @@ pub const ThreadData = struct { /// Reader thread state read_thread: std.Thread, - read_thread_pipe: posix.fd_t, + read_thread_pipe: ?posix.fd_t, read_thread_fd: posix.fd_t, /// The timer to detect termios state changes. @@ -652,7 +655,8 @@ pub const ThreadData = struct { termios_mode: ptypkg.Mode = .{}, pub fn deinit(self: *ThreadData, alloc: Allocator) void { - posix.close(self.read_thread_pipe); + // If the pipe isn't closed, close it. + if (self.read_thread_pipe) |pipe| posix.close(pipe); // Clear our write pools. We know we aren't ever going to do // any more IO since we stop our data stream below so we can just @@ -1433,9 +1437,12 @@ pub const ReadThread = struct { }; // This happens on macOS instead of WouldBlock when the - // child process dies. To be safe, we just break the loop - // and let our poll happen. - if (n == 0) break; + // child process dies. It's equivalent to NotOpenForReading + // so we can just exit. + if (n == 0) { + log.info("io reader exiting", .{}); + return; + } // log.info("DATA: {d}", .{n}); @call(.always_inline, termio.Termio.processOutput, .{ io, buf[0..n] }); @@ -1447,8 +1454,8 @@ pub const ReadThread = struct { return; }; - // If our quit fd is set, we're done. - if (pollfds[1].revents & posix.POLL.IN != 0) { + // If our quit fd is closed, we're done. + if (pollfds[1].revents & posix.POLL.HUP != 0) { log.info("read thread got quit signal", .{}); return; } From 5213edfa6c6c01b8cac5f86307b174b81e5effb0 Mon Sep 17 00:00:00 2001 From: Bryan Lee <38807139+liby@users.noreply.github.com> Date: Mon, 6 Jan 2025 17:54:00 +0800 Subject: [PATCH 020/365] Add keybind action `copy_url_to_clipboard` --- src/Surface.zig | 27 +++++++++++++++++++++++++++ src/input/Binding.zig | 5 +++++ 2 files changed, 32 insertions(+) diff --git a/src/Surface.zig b/src/Surface.zig index 91f914f38..ce00d8237 100644 --- a/src/Surface.zig +++ b/src/Surface.zig @@ -3936,6 +3936,33 @@ pub fn performBindingAction(self: *Surface, action: input.Binding.Action) !bool return false; }, + .copy_url_to_clipboard => { + // If the mouse isn't over a link, nothing we can do. + if (!self.mouse.over_link) return false; + + const pos = try self.rt_surface.getCursorPos(); + if (try self.linkAtPos(pos)) |link_info| { + // Get the URL text from selection + const url_text = (self.io.terminal.screen.selectionString(self.alloc, .{ + .sel = link_info[1], + .trim = self.config.clipboard_trim_trailing_spaces, + })) catch |err| { + log.err("error reading url string err={}", .{err}); + return false; + }; + defer self.alloc.free(url_text); + + self.rt_surface.setClipboardString(url_text, .standard, false) catch |err| { + log.err("error copying url to clipboard err={}", .{err}); + return true; + }; + + return true; + } + + return false; + }, + .paste_from_clipboard => try self.startClipboardRequest( .standard, .{ .paste = {} }, diff --git a/src/input/Binding.zig b/src/input/Binding.zig index 8cd3797ec..c5faaad06 100644 --- a/src/input/Binding.zig +++ b/src/input/Binding.zig @@ -259,6 +259,10 @@ pub const Action = union(enum) { paste_from_clipboard: void, paste_from_selection: void, + /// Copy the URL under the cursor to the clipboard. If there is no + /// URL under the cursor, this does nothing. + copy_url_to_clipboard: void, + /// Increase/decrease the font size by a certain amount. increase_font_size: f32, decrease_font_size: f32, @@ -711,6 +715,7 @@ pub const Action = union(enum) { .cursor_key, .reset, .copy_to_clipboard, + .copy_url_to_clipboard, .paste_from_clipboard, .paste_from_selection, .increase_font_size, From eb40cce45e6593a4065a32681d27c75c4ca3a9c9 Mon Sep 17 00:00:00 2001 From: Mitchell Hashimoto Date: Wed, 8 Jan 2025 13:49:45 -0800 Subject: [PATCH 021/365] build: requireZig cleanup --- build.zig | 16 +--------------- src/build/main.zig | 3 +++ src/build/zig.zig | 17 +++++++++++++++++ 3 files changed, 21 insertions(+), 15 deletions(-) create mode 100644 src/build/zig.zig diff --git a/build.zig b/build.zig index 1364745ce..38d2bca6d 100644 --- a/build.zig +++ b/build.zig @@ -3,21 +3,7 @@ const builtin = @import("builtin"); const buildpkg = @import("src/build/main.zig"); comptime { - // This is the required Zig version for building this project. We allow - // any patch version but the major and minor must match exactly. - const required_zig = "0.13.0"; - - // Fail compilation if the current Zig version doesn't meet requirements. - const current_vsn = builtin.zig_version; - const required_vsn = std.SemanticVersion.parse(required_zig) catch unreachable; - if (current_vsn.major != required_vsn.major or - current_vsn.minor != required_vsn.minor) - { - @compileError(std.fmt.comptimePrint( - "Your Zig version v{} does not meet the required build version of v{}", - .{ current_vsn, required_vsn }, - )); - } + buildpkg.requireZig("0.13.0"); } pub fn build(b: *std.Build) !void { diff --git a/src/build/main.zig b/src/build/main.zig index 8228abfbf..291791917 100644 --- a/src/build/main.zig +++ b/src/build/main.zig @@ -28,3 +28,6 @@ pub const XCFrameworkStep = @import("XCFrameworkStep.zig"); pub const fish_completions = @import("fish_completions.zig").completions; pub const zsh_completions = @import("zsh_completions.zig").completions; pub const bash_completions = @import("bash_completions.zig").completions; + +// Helpers +pub const requireZig = @import("zig.zig").requireZig; diff --git a/src/build/zig.zig b/src/build/zig.zig new file mode 100644 index 000000000..7e327127d --- /dev/null +++ b/src/build/zig.zig @@ -0,0 +1,17 @@ +const std = @import("std"); +const builtin = @import("builtin"); + +/// Require a specific version of Zig to build this project. +pub fn requireZig(comptime required_zig: []const u8) void { + // Fail compilation if the current Zig version doesn't meet requirements. + const current_vsn = builtin.zig_version; + const required_vsn = std.SemanticVersion.parse(required_zig) catch unreachable; + if (current_vsn.major != required_vsn.major or + current_vsn.minor != required_vsn.minor) + { + @compileError(std.fmt.comptimePrint( + "Your Zig version v{} does not meet the required build version of v{}", + .{ current_vsn, required_vsn }, + )); + } +} From c33629aae5d5b4591ebf570538fa9db2b306fe7e Mon Sep 17 00:00:00 2001 From: "Jeffrey C. Ollie" Date: Wed, 8 Jan 2025 16:01:31 -0600 Subject: [PATCH 022/365] gtk: clean up context menu creation & refresh --- src/apprt/gtk/App.zig | 29 ++++++++++------------------- src/apprt/gtk/Surface.zig | 2 +- 2 files changed, 11 insertions(+), 20 deletions(-) diff --git a/src/apprt/gtk/App.zig b/src/apprt/gtk/App.zig index 86a001cba..ff5a21886 100644 --- a/src/apprt/gtk/App.zig +++ b/src/apprt/gtk/App.zig @@ -1777,12 +1777,6 @@ fn initMenu(self: *App) void { c.g_menu_append(section, "About Ghostty", "win.about"); } - // { - // const section = c.g_menu_new(); - // defer c.g_object_unref(section); - // c.g_menu_append_submenu(menu, "File", @ptrCast(@alignCast(section))); - // } - self.menu = menu; } @@ -1790,7 +1784,13 @@ fn initContextMenu(self: *App) void { const menu = c.g_menu_new(); errdefer c.g_object_unref(menu); - createContextMenuCopyPasteSection(menu, false); + { + const section = c.g_menu_new(); + defer c.g_object_unref(section); + c.g_menu_append_section(menu, null, @ptrCast(@alignCast(section))); + c.g_menu_append(section, "Copy", "win.copy"); + c.g_menu_append(section, "Paste", "win.paste"); + } { const section = c.g_menu_new(); @@ -1811,18 +1811,9 @@ fn initContextMenu(self: *App) void { self.context_menu = menu; } -fn createContextMenuCopyPasteSection(menu: ?*c.GMenu, has_selection: bool) void { - const section = c.g_menu_new(); - defer c.g_object_unref(section); - c.g_menu_prepend_section(menu, null, @ptrCast(@alignCast(section))); - // FIXME: Feels really hackish, but disabling sensitivity on this doesn't seems to work(?) - c.g_menu_append(section, "Copy", if (has_selection) "win.copy" else "noop"); - c.g_menu_append(section, "Paste", "win.paste"); -} - -pub fn refreshContextMenu(self: *App, has_selection: bool) void { - c.g_menu_remove(self.context_menu, 0); - createContextMenuCopyPasteSection(self.context_menu, has_selection); +pub fn refreshContextMenu(_: *App, window: ?*c.GtkWindow, has_selection: bool) void { + const action: ?*c.GSimpleAction = @ptrCast(c.g_action_map_lookup_action(@ptrCast(window), "copy")); + c.g_simple_action_set_enabled(action, if (has_selection) 1 else 0); } fn isValidAppId(app_id: [:0]const u8) bool { diff --git a/src/apprt/gtk/Surface.zig b/src/apprt/gtk/Surface.zig index 60b119aaa..ecdddf5c5 100644 --- a/src/apprt/gtk/Surface.zig +++ b/src/apprt/gtk/Surface.zig @@ -1258,7 +1258,7 @@ fn showContextMenu(self: *Surface, x: f32, y: f32) void { }; c.gtk_popover_set_pointing_to(@ptrCast(@alignCast(window.context_menu)), &rect); - self.app.refreshContextMenu(self.core_surface.hasSelection()); + self.app.refreshContextMenu(window.window, self.core_surface.hasSelection()); c.gtk_popover_popup(@ptrCast(@alignCast(window.context_menu))); } From 06515863392b88a02b912b2aca27f03a01c10752 Mon Sep 17 00:00:00 2001 From: Bryan Lee <38807139+liby@users.noreply.github.com> Date: Wed, 8 Jan 2025 14:19:55 +0800 Subject: [PATCH 023/365] Reduce ghost emoji flash in title bar --- .../Sources/Features/Terminal/TerminalView.swift | 15 +++++---------- macos/Sources/Ghostty/SurfaceView_AppKit.swift | 2 +- 2 files changed, 6 insertions(+), 11 deletions(-) diff --git a/macos/Sources/Features/Terminal/TerminalView.swift b/macos/Sources/Features/Terminal/TerminalView.swift index 15b504875..d72200ef8 100644 --- a/macos/Sources/Features/Terminal/TerminalView.swift +++ b/macos/Sources/Features/Terminal/TerminalView.swift @@ -10,7 +10,7 @@ protocol TerminalViewDelegate: AnyObject { /// The title of the terminal should change. func titleDidChange(to: String) - + /// The URL of the pwd should change. func pwdDidChange(to: URL?) @@ -56,15 +56,10 @@ struct TerminalView: View { // The title for our window private var title: String { - var title = "👻" - - if let surfaceTitle = surfaceTitle { - if (surfaceTitle.count > 0) { - title = surfaceTitle - } + if let surfaceTitle = surfaceTitle, !surfaceTitle.isEmpty { + return surfaceTitle } - - return title + return "👻" } // The pwd of the focused surface as a URL @@ -72,7 +67,7 @@ struct TerminalView: View { guard let surfacePwd, surfacePwd != "" else { return nil } return URL(fileURLWithPath: surfacePwd) } - + var body: some View { switch ghostty.readiness { case .loading: diff --git a/macos/Sources/Ghostty/SurfaceView_AppKit.swift b/macos/Sources/Ghostty/SurfaceView_AppKit.swift index c933eb9bf..8b0fe4352 100644 --- a/macos/Sources/Ghostty/SurfaceView_AppKit.swift +++ b/macos/Sources/Ghostty/SurfaceView_AppKit.swift @@ -12,7 +12,7 @@ extension Ghostty { // The current title of the surface as defined by the pty. This can be // changed with escape codes. This is public because the callbacks go // to the app level and it is set from there. - @Published private(set) var title: String = "👻" + @Published private(set) var title: String = "" // The current pwd of the surface as defined by the pty. This can be // changed with escape codes. From ea7c54d79daa5a4a067c9588202aca0b7954c84b Mon Sep 17 00:00:00 2001 From: Bryan Lee <38807139+liby@users.noreply.github.com> Date: Wed, 8 Jan 2025 21:01:01 +0800 Subject: [PATCH 024/365] Simplify let binding in `TerminalView` title logic --- macos/Sources/Features/Terminal/TerminalView.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/macos/Sources/Features/Terminal/TerminalView.swift b/macos/Sources/Features/Terminal/TerminalView.swift index d72200ef8..3d4165e91 100644 --- a/macos/Sources/Features/Terminal/TerminalView.swift +++ b/macos/Sources/Features/Terminal/TerminalView.swift @@ -56,7 +56,7 @@ struct TerminalView: View { // The title for our window private var title: String { - if let surfaceTitle = surfaceTitle, !surfaceTitle.isEmpty { + if let surfaceTitle, !surfaceTitle.isEmpty { return surfaceTitle } return "👻" From 5bfb3925baf895f78c5b3233dbe9251bd1839700 Mon Sep 17 00:00:00 2001 From: Bryan Lee <38807139+liby@users.noreply.github.com> Date: Thu, 9 Jan 2025 06:24:31 +0800 Subject: [PATCH 025/365] Add fallback timer for empty window title --- .../Sources/Ghostty/SurfaceView_AppKit.swift | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/macos/Sources/Ghostty/SurfaceView_AppKit.swift b/macos/Sources/Ghostty/SurfaceView_AppKit.swift index 8b0fe4352..5c4d819e1 100644 --- a/macos/Sources/Ghostty/SurfaceView_AppKit.swift +++ b/macos/Sources/Ghostty/SurfaceView_AppKit.swift @@ -12,7 +12,14 @@ extension Ghostty { // The current title of the surface as defined by the pty. This can be // changed with escape codes. This is public because the callbacks go // to the app level and it is set from there. - @Published private(set) var title: String = "" + @Published private(set) var title: String = "" { + didSet { + if !title.isEmpty { + titleFallbackTimer?.invalidate() + titleFallbackTimer = nil + } + } + } // The current pwd of the surface as defined by the pty. This can be // changed with escape codes. @@ -113,6 +120,9 @@ extension Ghostty { // A small delay that is introduced before a title change to avoid flickers private var titleChangeTimer: Timer? + // A timer to fallback to ghost emoji if no title is set within the grace period + private var titleFallbackTimer: Timer? + /// Event monitor (see individual events for why) private var eventMonitor: Any? = nil @@ -139,6 +149,13 @@ extension Ghostty { // can do SOMETHING. super.init(frame: NSMakeRect(0, 0, 800, 600)) + // Set a timer to show the ghost emoji after 500ms if no title is set + titleFallbackTimer = Timer.scheduledTimer(withTimeInterval: 0.5, repeats: false) { [weak self] _ in + if let self = self, self.title.isEmpty { + self.title = "👻" + } + } + // Before we initialize the surface we want to register our notifications // so there is no window where we can't receive them. let center = NotificationCenter.default From dac13701e33bfb213de07aa9636793ab6a8e63aa Mon Sep 17 00:00:00 2001 From: George Joseph Date: Wed, 8 Jan 2025 15:50:18 -0700 Subject: [PATCH 026/365] Implement a size-limit function for GTK A "size-limit" function has been implemented for GTK which calls gtk_widget_set_size_request() to set the minimum widget/window size. Without this function, it's left to GTK to set the minimum size which is usually a lot larger than the documented 10x4 cell minimum size. This doesn't fix the issue completely as GTK retains the final say in how small a window can be but it gets closer. Resolves: #4836 --- src/apprt/gtk/App.zig | 19 ++++++++++++++++++- src/apprt/gtk/Surface.zig | 22 ++++++++++++++++++++++ 2 files changed, 40 insertions(+), 1 deletion(-) diff --git a/src/apprt/gtk/App.zig b/src/apprt/gtk/App.zig index 86a001cba..bc8c9a8d9 100644 --- a/src/apprt/gtk/App.zig +++ b/src/apprt/gtk/App.zig @@ -493,6 +493,7 @@ pub fn performAction( .pwd => try self.setPwd(target, value), .present_terminal => self.presentTerminal(target), .initial_size => try self.setInitialSize(target, value), + .size_limit => try self.setSizeLimit(target, value), .mouse_visibility => self.setMouseVisibility(target, value), .mouse_shape => try self.setMouseShape(target, value), .mouse_over_link => self.setMouseOverLink(target, value), @@ -505,7 +506,6 @@ pub fn performAction( .close_all_windows, .toggle_quick_terminal, .toggle_visibility, - .size_limit, .cell_size, .secure_input, .key_sequence, @@ -823,6 +823,23 @@ fn setInitialSize( } } +fn setSizeLimit( + _: *App, + target: apprt.Target, + value: apprt.action.SizeLimit, +) !void { + switch (target) { + .app => {}, + .surface => |v| try v.rt_surface.setSizeLimits(.{ + .width = value.min_width, + .height = value.min_height, + }, if (value.max_width > 0) .{ + .width = value.max_width, + .height = value.max_height, + } else null), + } +} + fn showDesktopNotification( self: *App, target: apprt.Target, diff --git a/src/apprt/gtk/Surface.zig b/src/apprt/gtk/Surface.zig index 60b119aaa..4f54ec688 100644 --- a/src/apprt/gtk/Surface.zig +++ b/src/apprt/gtk/Surface.zig @@ -858,6 +858,28 @@ pub fn setInitialWindowSize(self: *const Surface, width: u32, height: u32) !void ); } +pub fn setSizeLimits(self: *const Surface, min: apprt.SurfaceSize, max_: ?apprt.SurfaceSize) !void { + + // There's no support for setting max size at the moment. + _ = max_; + + // If we are within a split, do not set the size. + if (self.container.split() != null) return; + + // This operation only makes sense if we're within a window view + // hierarchy and we're the first tab in the window. + const window = self.container.window() orelse return; + if (window.notebook.nPages() > 1) return; + + // Note: this doesn't properly take into account the window decorations. + // I'm not currently sure how to do that. + c.gtk_widget_set_size_request( + @ptrCast(window.window), + @intCast(min.width), + @intCast(min.height), + ); +} + pub fn grabFocus(self: *Surface) void { if (self.container.tab()) |tab| { // If any other surface was focused and zoomed in, set it to non zoomed in From bec690532d1e497f6bc68395f33019121fd5a7eb Mon Sep 17 00:00:00 2001 From: Bryan Lee <38807139+liby@users.noreply.github.com> Date: Thu, 9 Jan 2025 10:24:00 +0800 Subject: [PATCH 027/365] ci: update zig version regex in windows build --- .github/workflows/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 81d58a1ef..1bb2022fc 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -247,7 +247,7 @@ jobs: run: | # Get the zig version from build.zig so that it only needs to be updated $fileContent = Get-Content -Path "build.zig" -Raw - $pattern = 'const required_zig = "(.*?)";' + $pattern = 'buildpkg\.requireZig\("(.*?)"\)' $zigVersion = [regex]::Match($fileContent, $pattern).Groups[1].Value Write-Output $version $version = "zig-windows-x86_64-$zigVersion" From 37256ec6a27a232dba1b839fb381310e0260ddf0 Mon Sep 17 00:00:00 2001 From: Bryan Lee <38807139+liby@users.noreply.github.com> Date: Thu, 9 Jan 2025 10:31:41 +0800 Subject: [PATCH 028/365] ci: move version output after variable definition --- .github/workflows/test.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 1bb2022fc..8b8e79959 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -247,10 +247,10 @@ jobs: run: | # Get the zig version from build.zig so that it only needs to be updated $fileContent = Get-Content -Path "build.zig" -Raw - $pattern = 'buildpkg\.requireZig\("(.*?)"\)' + $pattern = 'buildpkg\.requireZig\("(.*?)"\);' $zigVersion = [regex]::Match($fileContent, $pattern).Groups[1].Value - Write-Output $version $version = "zig-windows-x86_64-$zigVersion" + Write-Output $version $uri = "https://ziglang.org/download/$zigVersion/$version.zip" Invoke-WebRequest -Uri "$uri" -OutFile ".\zig-windows.zip" Expand-Archive -Path ".\zig-windows.zip" -DestinationPath ".\" -Force From 622cc3f9c7c0181e1f57c09b88f5ca53f1499b98 Mon Sep 17 00:00:00 2001 From: Mitchell Hashimoto Date: Wed, 8 Jan 2025 19:51:16 -0800 Subject: [PATCH 029/365] build: update zig-wayland to use new LazyPath API This is a more idiomatic way to handle build paths in Zig 0.13 and later. --- build.zig.zon | 4 ++-- nix/zigCacheHash.nix | 2 +- src/build/SharedDeps.zig | 12 +++++------- 3 files changed, 8 insertions(+), 10 deletions(-) diff --git a/build.zig.zon b/build.zig.zon index 518022486..18a608bb4 100644 --- a/build.zig.zon +++ b/build.zig.zon @@ -34,8 +34,8 @@ .hash = "12207831bce7d4abce57b5a98e8f3635811cfefd160bca022eb91fe905d36a02cf25", }, .zig_wayland = .{ - .url = "https://codeberg.org/ifreund/zig-wayland/archive/a5e2e9b6a6d7fba638ace4d4b24a3b576a02685b.tar.gz", - .hash = "1220d41b23ae70e93355bb29dac1c07aa6aeb92427a2dffc4375e94b4de18111248c", + .url = "https://codeberg.org/ifreund/zig-wayland/archive/0823d9116b80d65ecfad48a2efbca166c7b03497.tar.gz", + .hash = "12205e05d4db71ef30aeb3517727382c12d294968e541090a762689acbb9038826a1", }, .zf = .{ .url = "git+https://github.com/natecraddock/zf/?ref=main#ed99ca18b02dda052e20ba467e90b623c04690dd", diff --git a/nix/zigCacheHash.nix b/nix/zigCacheHash.nix index 3806c64c9..48270c6e8 100644 --- a/nix/zigCacheHash.nix +++ b/nix/zigCacheHash.nix @@ -1,3 +1,3 @@ # This file is auto-generated! check build-support/check-zig-cache-hash.sh for # more details. -"sha256-PnfSy793kcVt85q47kWR0xkivXoMOZAAmuUyKO9vqAI=" +"sha256-MeSJiiSDDWZ7vUgY56t9aPSLPTgIKb4jexoHmDhJOGM=" diff --git a/src/build/SharedDeps.zig b/src/build/SharedDeps.zig index 013aa5593..16e7381fa 100644 --- a/src/build/SharedDeps.zig +++ b/src/build/SharedDeps.zig @@ -435,15 +435,13 @@ pub fn add( if (self.config.x11) step.linkSystemLibrary2("X11", dynamic_link_opts); if (self.config.wayland) { - const scanner = Scanner.create(b, .{ + const scanner = Scanner.create(b.dependency("zig_wayland", .{}), .{ // We shouldn't be using getPath but we need to for now // https://codeberg.org/ifreund/zig-wayland/issues/66 - .wayland_xml_path = b.dependency("wayland", .{}) - .path("protocol/wayland.xml") - .getPath(b), - .wayland_protocols_path = b.dependency("wayland_protocols", .{}) - .path("") - .getPath(b), + .wayland_xml = b.dependency("wayland", .{}) + .path("protocol/wayland.xml"), + .wayland_protocols = b.dependency("wayland_protocols", .{}) + .path(""), }); const wayland = b.createModule(.{ .root_source_file = scanner.result }); From aafe7deae76ef90136141cdbf7a0f4f627188ae6 Mon Sep 17 00:00:00 2001 From: Mitchell Hashimoto Date: Wed, 8 Jan 2025 21:19:58 -0800 Subject: [PATCH 030/365] macos: improve initial size calculation Fixes #4801 Our size calculation before improperly used a screens frame instead of its visibleFrame. Additionally, we didn't properly account for origin needing to move in order to fit the window on the screen. Apparently, setting a frame height to high crashes AppKit. The width gets clamped by AppKit but the height does not. Fun! --- .../Terminal/TerminalController.swift | 25 +++++++++++++------ 1 file changed, 18 insertions(+), 7 deletions(-) diff --git a/macos/Sources/Features/Terminal/TerminalController.swift b/macos/Sources/Features/Terminal/TerminalController.swift index ef4054c2e..08306a854 100644 --- a/macos/Sources/Features/Terminal/TerminalController.swift +++ b/macos/Sources/Features/Terminal/TerminalController.swift @@ -384,15 +384,26 @@ class TerminalController: BaseTerminalController { if case let .leaf(leaf) = surfaceTree { if let initialSize = leaf.surface.initialSize, let screen = window.screen ?? NSScreen.main { - // Setup our frame. We need to first subtract the views frame so that we can - // just get the chrome frame so that we only affect the surface view size. + // Get the current frame of the window var frame = window.frame - frame.size.width -= leaf.surface.frame.size.width - frame.size.height -= leaf.surface.frame.size.height - frame.size.width += min(initialSize.width, screen.frame.width) - frame.size.height += min(initialSize.height, screen.frame.height) - // We have no tabs and we are not a split, so set the initial size of the window. + // Calculate the chrome size (window size minus view size) + let chromeWidth = frame.size.width - leaf.surface.frame.size.width + let chromeHeight = frame.size.height - leaf.surface.frame.size.height + + // Calculate the new width and height, clamping to the screen's size + let newWidth = min(initialSize.width + chromeWidth, screen.visibleFrame.width) + let newHeight = min(initialSize.height + chromeHeight, screen.visibleFrame.height) + + // Update the frame size while keeping the window's position intact + frame.size.width = newWidth + frame.size.height = newHeight + + // Ensure the window doesn't go outside the screen boundaries + frame.origin.x = max(screen.frame.origin.x, min(frame.origin.x, screen.frame.maxX - newWidth)) + frame.origin.y = max(screen.frame.origin.y, min(frame.origin.y, screen.frame.maxY - newHeight)) + + // Set the updated frame to the window window.setFrame(frame, display: true) } } From 1636ac88fcd951696a726f39938d593ad3f982fa Mon Sep 17 00:00:00 2001 From: Mitchell Hashimoto Date: Wed, 8 Jan 2025 21:52:19 -0800 Subject: [PATCH 031/365] macos: Handle ctrl characters in IME input Fixes: https://github.com/ghostty-org/ghostty/issues/4634#issuecomment-2573469532 This commit fixes two issues: 1. `libghostty` must not override ctrl+key inputs if we are in a preedit state. This allows thigs like `ctrl+h` to work properly in an IME. 2. On macOS, when an IME commits text, we strip the control modifier from the key event we send to libghostty. This is a bit of a hack but this avoids triggering special ctrl+key handling. --- .../Sources/Ghostty/SurfaceView_AppKit.swift | 24 +++++++++++++++++-- src/apprt/embedded.zig | 5 ++++ 2 files changed, 27 insertions(+), 2 deletions(-) diff --git a/macos/Sources/Ghostty/SurfaceView_AppKit.swift b/macos/Sources/Ghostty/SurfaceView_AppKit.swift index c933eb9bf..a9ad39136 100644 --- a/macos/Sources/Ghostty/SurfaceView_AppKit.swift +++ b/macos/Sources/Ghostty/SurfaceView_AppKit.swift @@ -828,8 +828,28 @@ extension Ghostty { var handled: Bool = false if let list = keyTextAccumulator, list.count > 0 { handled = true - for text in list { - _ = keyAction(action, event: event, text: text) + + // This is a hack. libghostty on macOS treats ctrl input as not having + // text because some keyboard layouts generate bogus characters for + // ctrl+key. libghostty can't tell this is from an IM keyboard giving + // us direct values. So, we just remove control. + var modifierFlags = event.modifierFlags + modifierFlags.remove(.control) + if let keyTextEvent = NSEvent.keyEvent( + with: .keyDown, + location: event.locationInWindow, + modifierFlags: modifierFlags, + timestamp: event.timestamp, + windowNumber: event.windowNumber, + context: nil, + characters: event.characters ?? "", + charactersIgnoringModifiers: event.charactersIgnoringModifiers ?? "", + isARepeat: event.isARepeat, + keyCode: event.keyCode + ) { + for text in list { + _ = keyAction(action, event: keyTextEvent, text: text) + } } } diff --git a/src/apprt/embedded.zig b/src/apprt/embedded.zig index 50d1e90e4..44c4c5f20 100644 --- a/src/apprt/embedded.zig +++ b/src/apprt/embedded.zig @@ -199,6 +199,11 @@ pub const App = struct { // This logic only applies to macOS. if (comptime builtin.os.tag != .macos) break :event_text event.text; + // If we're in a preedit state then we allow it through. This + // allows ctrl sequences that affect IME to work. For example, + // Ctrl+H deletes a character with Japanese input. + if (event.composing) break :event_text event.text; + // If the modifiers are ONLY "control" then we never process // the event text because we want to do our own translation so // we can handle ctrl+c, ctrl+z, etc. From ae81edfcbfc3a33a8b3d5b147c5557e1325395d4 Mon Sep 17 00:00:00 2001 From: Ismael Arias Date: Thu, 9 Jan 2025 12:50:49 +0100 Subject: [PATCH 032/365] feat(gtk): show menu in context menu if titlebar is disabled --- src/apprt/gtk/App.zig | 41 ++++++++++++++++++++++++++++------------ src/apprt/gtk/Window.zig | 2 +- 2 files changed, 30 insertions(+), 13 deletions(-) diff --git a/src/apprt/gtk/App.zig b/src/apprt/gtk/App.zig index eb5fa7292..e8c85907d 100644 --- a/src/apprt/gtk/App.zig +++ b/src/apprt/gtk/App.zig @@ -831,12 +831,12 @@ fn setSizeLimit( switch (target) { .app => {}, .surface => |v| try v.rt_surface.setSizeLimits(.{ - .width = value.min_width, - .height = value.min_height, - }, if (value.max_width > 0) .{ - .width = value.max_width, - .height = value.max_height, - } else null), + .width = value.min_width, + .height = value.min_height, + }, if (value.max_width > 0) .{ + .width = value.max_width, + .height = value.max_height, + } else null), } } @@ -1766,12 +1766,10 @@ fn initActions(self: *App) void { } } -/// This sets the self.menu property to the application menu that can be -/// shared by all application windows. -fn initMenu(self: *App) void { - const menu = c.g_menu_new(); - errdefer c.g_object_unref(menu); - +/// Initializes and populates the provided GMenu with sections and actions. +/// This function is used to set up the application's menu structure, either for +/// the main menu button or as a context menu when window decorations are disabled. +fn initMenuContent(menu: *c.GMenu) void { { const section = c.g_menu_new(); defer c.g_object_unref(section); @@ -1793,7 +1791,14 @@ fn initMenu(self: *App) void { c.g_menu_append(section, "Reload Configuration", "app.reload-config"); c.g_menu_append(section, "About Ghostty", "win.about"); } +} +/// This sets the self.menu property to the application menu that can be +/// shared by all application windows. +fn initMenu(self: *App) void { + const menu = c.g_menu_new(); + errdefer c.g_object_unref(menu); + initMenuContent(@ptrCast(menu)); self.menu = menu; } @@ -1825,6 +1830,18 @@ fn initContextMenu(self: *App) void { c.g_menu_append(section, "Terminal Inspector", "win.toggle_inspector"); } + if (!self.config.@"window-decoration") { + const section = c.g_menu_new(); + defer c.g_object_unref(section); + const submenu = c.g_menu_new(); + defer c.g_object_unref(submenu); + initMenuContent(@ptrCast(submenu)); + + // Just append the submenu to the menu structure + c.g_menu_append_submenu(section, "Menu", @ptrCast(@alignCast(submenu))); + c.g_menu_append_section(menu, null, @ptrCast(@alignCast(section))); + } + self.context_menu = menu; } diff --git a/src/apprt/gtk/Window.zig b/src/apprt/gtk/Window.zig index 9058ca9da..0f44cee7b 100644 --- a/src/apprt/gtk/Window.zig +++ b/src/apprt/gtk/Window.zig @@ -270,7 +270,7 @@ pub fn init(self: *Window, app: *App) !void { } self.context_menu = c.gtk_popover_menu_new_from_model(@ptrCast(@alignCast(self.app.context_menu))); - c.gtk_widget_set_parent(self.context_menu, window); + c.gtk_widget_set_parent(self.context_menu, box); c.gtk_popover_set_has_arrow(@ptrCast(@alignCast(self.context_menu)), 0); c.gtk_widget_set_halign(self.context_menu, c.GTK_ALIGN_START); From b25c59330923557d592dc835cf074287006992ea Mon Sep 17 00:00:00 2001 From: Ismael Arias Date: Thu, 9 Jan 2025 12:52:35 +0100 Subject: [PATCH 033/365] feat(GTK): remove comment --- src/apprt/gtk/App.zig | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/apprt/gtk/App.zig b/src/apprt/gtk/App.zig index e8c85907d..fa5eb7b9f 100644 --- a/src/apprt/gtk/App.zig +++ b/src/apprt/gtk/App.zig @@ -1835,9 +1835,8 @@ fn initContextMenu(self: *App) void { defer c.g_object_unref(section); const submenu = c.g_menu_new(); defer c.g_object_unref(submenu); - initMenuContent(@ptrCast(submenu)); - // Just append the submenu to the menu structure + initMenuContent(@ptrCast(submenu)); c.g_menu_append_submenu(section, "Menu", @ptrCast(@alignCast(submenu))); c.g_menu_append_section(menu, null, @ptrCast(@alignCast(section))); } From 6ef757a8f85db7a124d370378850339a899c9e65 Mon Sep 17 00:00:00 2001 From: Mitchell Hashimoto Date: Thu, 9 Jan 2025 12:43:41 -0800 Subject: [PATCH 034/365] Revert "termio/exec: fix SIGPIPE crash when reader exits early" This reverts commit 3e24e96af51fe308705a1f1695e3b9045c54482e. --- src/termio/Exec.zig | 25 +++++++++---------------- 1 file changed, 9 insertions(+), 16 deletions(-) diff --git a/src/termio/Exec.zig b/src/termio/Exec.zig index d409ccbb0..1a3b8cad0 100644 --- a/src/termio/Exec.zig +++ b/src/termio/Exec.zig @@ -179,11 +179,8 @@ pub fn threadExit(self: *Exec, td: *termio.Termio.ThreadData) void { // Quit our read thread after exiting the subprocess so that // we don't get stuck waiting for data to stop flowing if it is // a particularly noisy process. - if (exec.read_thread_pipe) |pipe| { - posix.close(pipe); - // Tell deinit that we've already closed the pipe - exec.read_thread_pipe = null; - } + _ = posix.write(exec.read_thread_pipe, "x") catch |err| + log.warn("error writing to read thread quit pipe err={}", .{err}); if (comptime builtin.os.tag == .windows) { // Interrupt the blocking read so the thread can see the quit message @@ -642,7 +639,7 @@ pub const ThreadData = struct { /// Reader thread state read_thread: std.Thread, - read_thread_pipe: ?posix.fd_t, + read_thread_pipe: posix.fd_t, read_thread_fd: posix.fd_t, /// The timer to detect termios state changes. @@ -655,8 +652,7 @@ pub const ThreadData = struct { termios_mode: ptypkg.Mode = .{}, pub fn deinit(self: *ThreadData, alloc: Allocator) void { - // If the pipe isn't closed, close it. - if (self.read_thread_pipe) |pipe| posix.close(pipe); + posix.close(self.read_thread_pipe); // Clear our write pools. We know we aren't ever going to do // any more IO since we stop our data stream below so we can just @@ -1437,12 +1433,9 @@ pub const ReadThread = struct { }; // This happens on macOS instead of WouldBlock when the - // child process dies. It's equivalent to NotOpenForReading - // so we can just exit. - if (n == 0) { - log.info("io reader exiting", .{}); - return; - } + // child process dies. To be safe, we just break the loop + // and let our poll happen. + if (n == 0) break; // log.info("DATA: {d}", .{n}); @call(.always_inline, termio.Termio.processOutput, .{ io, buf[0..n] }); @@ -1454,8 +1447,8 @@ pub const ReadThread = struct { return; }; - // If our quit fd is closed, we're done. - if (pollfds[1].revents & posix.POLL.HUP != 0) { + // If our quit fd is set, we're done. + if (pollfds[1].revents & posix.POLL.IN != 0) { log.info("read thread got quit signal", .{}); return; } From 03fee2ac33bfcad282e1dafee6808bb2d1395c7e Mon Sep 17 00:00:00 2001 From: Leah Amelia Chen Date: Thu, 2 Jan 2025 23:53:22 +0800 Subject: [PATCH 035/365] gtk: unify Wayland and X11 platforms --- src/apprt/gtk/App.zig | 53 +------- src/apprt/gtk/Surface.zig | 11 +- src/apprt/gtk/Window.zig | 22 ++-- src/apprt/gtk/key.zig | 26 +--- src/apprt/gtk/protocol.zig | 149 +++++++++++++++++++++++ src/apprt/gtk/{ => protocol}/wayland.zig | 86 ++++++------- src/apprt/gtk/{ => protocol}/x11.zig | 128 ++++++++++++------- src/config/Config.zig | 8 ++ 8 files changed, 304 insertions(+), 179 deletions(-) create mode 100644 src/apprt/gtk/protocol.zig rename src/apprt/gtk/{ => protocol}/wayland.zig (58%) rename src/apprt/gtk/{ => protocol}/x11.zig (50%) diff --git a/src/apprt/gtk/App.zig b/src/apprt/gtk/App.zig index fa5eb7b9f..ecbe61bce 100644 --- a/src/apprt/gtk/App.zig +++ b/src/apprt/gtk/App.zig @@ -36,8 +36,7 @@ const c = @import("c.zig").c; const version = @import("version.zig"); const inspector = @import("inspector.zig"); const key = @import("key.zig"); -const x11 = @import("x11.zig"); -const wayland = @import("wayland.zig"); +const protocol = @import("protocol.zig"); const testing = std.testing; const log = std.log.scoped(.gtk); @@ -71,11 +70,7 @@ clipboard_confirmation_window: ?*ClipboardConfirmationWindow = null, /// This is set to false when the main loop should exit. running: bool = true, -/// Xkb state (X11 only). Will be null on Wayland. -x11_xkb: ?x11.Xkb = null, - -/// Wayland app state. Will be null on X11. -wayland: ?wayland.AppState = null, +protocol: protocol.App, /// The base path of the transient cgroup used to put all surfaces /// into their own cgroup. This is only set if cgroups are enabled @@ -364,46 +359,7 @@ pub fn init(core_app: *CoreApp, opts: Options) !App { return error.GtkApplicationRegisterFailed; } - // Perform all X11 initialization. This ultimately returns the X11 - // keyboard state but the block does more than that (i.e. setting up - // WM_CLASS). - const x11_xkb: ?x11.Xkb = x11_xkb: { - if (comptime !build_options.x11) break :x11_xkb null; - if (!x11.is_display(display)) break :x11_xkb null; - - // Set the X11 window class property (WM_CLASS) if are are on an X11 - // display. - // - // Note that we also set the program name here using g_set_prgname. - // This is how the instance name field for WM_CLASS is derived when - // calling gdk_x11_display_set_program_class; there does not seem to be - // a way to set it directly. It does not look like this is being set by - // our other app initialization routines currently, but since we're - // currently deriving its value from x11-instance-name effectively, I - // feel like gating it behind an X11 check is better intent. - // - // This makes the property show up like so when using xprop: - // - // WM_CLASS(STRING) = "ghostty", "com.mitchellh.ghostty" - // - // Append "-debug" on both when using the debug build. - // - const prgname = if (config.@"x11-instance-name") |pn| - pn - else if (builtin.mode == .Debug) - "ghostty-debug" - else - "ghostty"; - c.g_set_prgname(prgname); - c.gdk_x11_display_set_program_class(display, app_id); - - // Set up Xkb - break :x11_xkb try x11.Xkb.init(display); - }; - - // Initialize Wayland state - var wl = wayland.AppState.init(display); - if (wl) |*w| try w.register(); + const app_protocol = try protocol.App.init(display, &config, app_id); // This just calls the `activate` signal but its part of the normal startup // routine so we just call it, but only if the config allows it (this allows @@ -429,8 +385,7 @@ pub fn init(core_app: *CoreApp, opts: Options) !App { .config = config, .ctx = ctx, .cursor_none = cursor_none, - .x11_xkb = x11_xkb, - .wayland = wl, + .protocol = app_protocol, .single_instance = single_instance, // If we are NOT the primary instance, then we never want to run. // This means that another instance of the GTK app is running and diff --git a/src/apprt/gtk/Surface.zig b/src/apprt/gtk/Surface.zig index 35932ac5e..97b7bb0f4 100644 --- a/src/apprt/gtk/Surface.zig +++ b/src/apprt/gtk/Surface.zig @@ -25,7 +25,6 @@ const ResizeOverlay = @import("ResizeOverlay.zig"); const inspector = @import("inspector.zig"); const gtk_key = @import("key.zig"); const c = @import("c.zig").c; -const x11 = @import("x11.zig"); const log = std.log.scoped(.gtk_surface); @@ -825,9 +824,6 @@ pub fn getContentScale(self: *const Surface) !apprt.ContentScale { c.g_object_get_property(@ptrCast(@alignCast(settings)), "gtk-xft-dpi", &value); const gtk_xft_dpi = c.g_value_get_int(&value); - // As noted above gtk-xft-dpi is multiplied by 1024, so we divide by - // 1024, then divide by the default value (96) to derive a scale. Note - // gtk-xft-dpi can be fractional, so we use floating point math here. const xft_dpi: f32 = @as(f32, @floatFromInt(gtk_xft_dpi)) / 1024; break :xft_scale xft_dpi / 96; }; @@ -1384,6 +1380,10 @@ fn gtkResize(area: *c.GtkGLArea, width: c.gint, height: c.gint, ud: ?*anyopaque) return; }; + if (self.container.window()) |window| window.protocol.onResize() catch |err| { + log.warn("failed to notify X11/Wayland integration of resize={}", .{err}); + }; + self.resize_overlay.maybeShow(); } } @@ -1699,11 +1699,10 @@ pub fn keyEvent( // Get our modifier for the event const mods: input.Mods = gtk_key.eventMods( - @ptrCast(self.gl_area), event, physical_key, gtk_mods, - if (self.app.x11_xkb) |*xkb| xkb else null, + &self.app.protocol, ); // Get our consumed modifiers diff --git a/src/apprt/gtk/Window.zig b/src/apprt/gtk/Window.zig index 0f44cee7b..fbba22195 100644 --- a/src/apprt/gtk/Window.zig +++ b/src/apprt/gtk/Window.zig @@ -25,7 +25,7 @@ const gtk_key = @import("key.zig"); const Notebook = @import("notebook.zig").Notebook; const HeaderBar = @import("headerbar.zig").HeaderBar; const version = @import("version.zig"); -const wayland = @import("wayland.zig"); +const protocol = @import("protocol.zig"); const log = std.log.scoped(.gtk); @@ -56,7 +56,7 @@ toast_overlay: ?*c.GtkWidget, /// See adwTabOverviewOpen for why we have this. adw_tab_overview_focus_timer: ?c.guint = null, -wayland: ?wayland.SurfaceState, +protocol: protocol.Surface, pub fn create(alloc: Allocator, app: *App) !*Window { // Allocate a fixed pointer for our window. We try to minimize @@ -82,7 +82,7 @@ pub fn init(self: *Window, app: *App) !void { .notebook = undefined, .context_menu = undefined, .toast_overlay = undefined, - .wayland = null, + .protocol = undefined, }; // Create the window @@ -396,14 +396,8 @@ pub fn syncAppearance(self: *Window, config: *const configpkg.Config) !void { c.gtk_widget_add_css_class(@ptrCast(self.window), "background"); } - if (self.wayland) |*wl| { - const blurred = switch (config.@"background-blur-radius") { - .false => false, - .true => true, - .radius => |v| v > 0, - }; - try wl.setBlur(blurred); - } + // Perform protocol-specific config updates + try self.protocol.onConfigUpdate(config); } /// Sets up the GTK actions for the window scope. Actions are how GTK handles @@ -443,7 +437,7 @@ fn initActions(self: *Window) void { pub fn deinit(self: *Window) void { c.gtk_widget_unparent(@ptrCast(self.context_menu)); - if (self.wayland) |*wl| wl.deinit(); + self.protocol.deinit(); if (self.adw_tab_overview_focus_timer) |timer| { _ = c.g_source_remove(timer); @@ -584,9 +578,7 @@ pub fn sendToast(self: *Window, title: [:0]const u8) void { fn gtkRealize(v: *c.GtkWindow, ud: ?*anyopaque) callconv(.C) bool { const self = userdataSelf(ud.?); - if (self.app.wayland) |*wl| { - self.wayland = wayland.SurfaceState.init(v, wl); - } + self.protocol.init(v, &self.app.protocol, &self.app.config); self.syncAppearance(&self.app.config) catch |err| { log.err("failed to initialize appearance={}", .{err}); diff --git a/src/apprt/gtk/key.zig b/src/apprt/gtk/key.zig index 311bff0da..ef460e62c 100644 --- a/src/apprt/gtk/key.zig +++ b/src/apprt/gtk/key.zig @@ -2,7 +2,7 @@ const std = @import("std"); const build_options = @import("build_options"); const input = @import("../../input.zig"); const c = @import("c.zig").c; -const x11 = @import("x11.zig"); +const protocol = @import("protocol.zig"); /// Returns a GTK accelerator string from a trigger. pub fn accelFromTrigger(buf: []u8, trigger: input.Binding.Trigger) !?[:0]const u8 { @@ -105,34 +105,14 @@ pub fn keyvalUnicodeUnshifted( /// This requires a lot of context because the GdkEvent /// doesn't contain enough on its own. pub fn eventMods( - widget: *c.GtkWidget, event: *c.GdkEvent, physical_key: input.Key, gtk_mods: c.GdkModifierType, - x11_xkb: ?*x11.Xkb, + app_protocol: *protocol.App, ) input.Mods { const device = c.gdk_event_get_device(event); - var mods = mods: { - // Add any modifier state events from Xkb if we have them (X11 - // only). Null back from the Xkb call means there was no modifier - // event to read. This likely means that the key event did not - // result in a modifier change and we can safely rely on the GDK - // state. - if (comptime build_options.x11) { - const display = c.gtk_widget_get_display(widget); - if (x11_xkb) |xkb| { - if (xkb.modifier_state_from_notify(display)) |x11_mods| break :mods x11_mods; - break :mods translateMods(gtk_mods); - } - } - - // On Wayland, we have to use the GDK device because the mods sent - // to this event do not have the modifier key applied if it was - // pressed (i.e. left control). - break :mods translateMods(c.gdk_device_get_modifier_state(device)); - }; - + var mods = app_protocol.eventMods(device, gtk_mods); mods.num_lock = c.gdk_device_get_num_lock_state(device) == 1; switch (physical_key) { diff --git a/src/apprt/gtk/protocol.zig b/src/apprt/gtk/protocol.zig new file mode 100644 index 000000000..c7d7247cf --- /dev/null +++ b/src/apprt/gtk/protocol.zig @@ -0,0 +1,149 @@ +const std = @import("std"); +const x11 = @import("protocol/x11.zig"); +const wayland = @import("protocol/wayland.zig"); +const c = @import("c.zig").c; +const build_options = @import("build_options"); +const input = @import("../../input.zig"); +const apprt = @import("../../apprt.zig"); +const Config = @import("../../config.zig").Config; +const adwaita = @import("adwaita.zig"); +const builtin = @import("builtin"); +const key = @import("key.zig"); + +const log = std.log.scoped(.gtk_platform); + +pub const App = struct { + gdk_display: *c.GdkDisplay, + derived_config: DerivedConfig, + + inner: union(enum) { + none, + x11: if (build_options.x11) x11.App else void, + wayland: if (build_options.wayland) wayland.App else void, + }, + + const DerivedConfig = struct { + app_id: [:0]const u8, + x11_program_name: [:0]const u8, + + pub fn init(config: *const Config, app_id: [:0]const u8) DerivedConfig { + return .{ + .app_id = app_id, + .x11_program_name = if (config.@"x11-instance-name") |pn| + pn + else if (builtin.mode == .Debug) + "ghostty-debug" + else + "ghostty", + }; + } + }; + + pub fn init(display: ?*c.GdkDisplay, config: *const Config, app_id: [:0]const u8) !App { + var self: App = .{ + .inner = .none, + .derived_config = DerivedConfig.init(config, app_id), + .gdk_display = display orelse { + // TODO: When does this ever happen...? + std.debug.panic("GDK display is null!", .{}); + }, + }; + + // The X11/Wayland init functions set `self.inner` when successful, + // so we only need to keep trying if `self.inner` stays `.none` + if (self.inner == .none and comptime build_options.wayland) try wayland.App.init(&self); + if (self.inner == .none and comptime build_options.x11) try x11.App.init(&self); + + // Welp, no integration for you + if (self.inner == .none) { + log.warn( + "neither X11 nor Wayland integrations enabled - lots of features would be missing!", + .{}, + ); + } + + return self; + } + + pub fn eventMods(self: *App, device: ?*c.GdkDevice, gtk_mods: c.GdkModifierType) input.Mods { + return switch (self.inner) { + // Add any modifier state events from Xkb if we have them (X11 + // only). Null back from the Xkb call means there was no modifier + // event to read. This likely means that the key event did not + // result in a modifier change and we can safely rely on the GDK + // state. + .x11 => |*x| if (comptime build_options.x11) + x.modifierStateFromNotify() orelse key.translateMods(gtk_mods) + else + unreachable, + + // On Wayland, we have to use the GDK device because the mods sent + // to this event do not have the modifier key applied if it was + // pressed (i.e. left control). + .wayland, .none => key.translateMods(c.gdk_device_get_modifier_state(device)), + }; + } +}; + +pub const Surface = struct { + app: *App, + gtk_window: *c.GtkWindow, + derived_config: DerivedConfig, + + inner: union(enum) { + none, + x11: if (build_options.x11) x11.Surface else void, + wayland: if (build_options.wayland) wayland.Surface else void, + }, + + pub const DerivedConfig = struct { + blur: Config.BackgroundBlur, + adw_enabled: bool, + + pub fn init(config: *const Config) DerivedConfig { + return .{ + .blur = config.@"background-blur-radius", + .adw_enabled = adwaita.enabled(config), + }; + } + }; + + pub fn init(self: *Surface, window: *c.GtkWindow, app: *App, config: *const Config) void { + self.* = .{ + .app = app, + .derived_config = DerivedConfig.init(config), + .gtk_window = window, + .inner = .none, + }; + + switch (app.inner) { + .x11 => if (comptime build_options.x11) x11.Surface.init(self) else unreachable, + .wayland => if (comptime build_options.wayland) wayland.Surface.init(self) else unreachable, + .none => {}, + } + } + + pub fn deinit(self: Surface) void { + switch (self.inner) { + .wayland => |wl| if (comptime build_options.wayland) wl.deinit() else unreachable, + .x11, .none => {}, + } + } + + pub fn onConfigUpdate(self: *Surface, config: *const Config) !void { + self.derived_config = DerivedConfig.init(config); + + switch (self.inner) { + .x11 => |*x| if (comptime build_options.x11) try x.onConfigUpdate() else unreachable, + .wayland => |*wl| if (comptime build_options.wayland) try wl.onConfigUpdate() else unreachable, + .none => {}, + } + } + + pub fn onResize(self: *Surface) !void { + switch (self.inner) { + .x11 => |*x| if (comptime build_options.x11) try x.onResize() else unreachable, + .wayland, .none => {}, + } + } +}; diff --git a/src/apprt/gtk/wayland.zig b/src/apprt/gtk/protocol/wayland.zig similarity index 58% rename from src/apprt/gtk/wayland.zig rename to src/apprt/gtk/protocol/wayland.zig index 92446cc46..985d7c5a8 100644 --- a/src/apprt/gtk/wayland.zig +++ b/src/apprt/gtk/protocol/wayland.zig @@ -1,106 +1,106 @@ const std = @import("std"); -const c = @import("c.zig").c; +const c = @import("../c.zig").c; const wayland = @import("wayland"); +const protocol = @import("../protocol.zig"); +const Config = @import("../../../config.zig").Config; + const wl = wayland.client.wl; const org = wayland.client.org; -const build_options = @import("build_options"); const log = std.log.scoped(.gtk_wayland); /// Wayland state that contains application-wide Wayland objects (e.g. wl_display). -pub const AppState = struct { +pub const App = struct { display: *wl.Display, blur_manager: ?*org.KdeKwinBlurManager = null, - pub fn init(display: ?*c.GdkDisplay) ?AppState { - if (comptime !build_options.wayland) return null; - - // It should really never be null - const display_ = display orelse return null; - + pub fn init(common: *protocol.App) !void { // Check if we're actually on Wayland if (c.g_type_check_instance_is_a( - @ptrCast(@alignCast(display_)), + @ptrCast(@alignCast(common.gdk_display)), c.gdk_wayland_display_get_type(), ) == 0) - return null; + return; - const wl_display: *wl.Display = @ptrCast(c.gdk_wayland_display_get_wl_display(display_) orelse return null); - - return .{ - .display = wl_display, + var self: App = .{ + .display = @ptrCast(c.gdk_wayland_display_get_wl_display(common.gdk_display) orelse return), }; - } - pub fn register(self: *AppState) !void { + log.debug("wayland platform init={}", .{self}); + const registry = try self.display.getRegistry(); - registry.setListener(*AppState, registryListener, self); + registry.setListener(*App, registryListener, &self); if (self.display.roundtrip() != .SUCCESS) return error.RoundtripFailed; - log.debug("app wayland init={}", .{self}); + common.inner = .{ .wayland = self }; } }; /// Wayland state that contains Wayland objects associated with a window (e.g. wl_surface). -pub const SurfaceState = struct { - app_state: *AppState, +pub const Surface = struct { + common: *const protocol.Surface, + app: *App, surface: *wl.Surface, /// A token that, when present, indicates that the window is blurred. blur_token: ?*org.KdeKwinBlur = null, - pub fn init(window: *c.GtkWindow, app_state: *AppState) ?SurfaceState { - if (comptime !build_options.wayland) return null; - - const surface = c.gtk_native_get_surface(@ptrCast(window)) orelse return null; + pub fn init(common: *protocol.Surface) void { + const surface = c.gtk_native_get_surface(@ptrCast(common.gtk_window)) orelse return; // Check if we're actually on Wayland if (c.g_type_check_instance_is_a( @ptrCast(@alignCast(surface)), c.gdk_wayland_surface_get_type(), ) == 0) - return null; + return; - const wl_surface: *wl.Surface = @ptrCast(c.gdk_wayland_surface_get_wl_surface(surface) orelse return null); - - return .{ - .app_state = app_state, - .surface = wl_surface, + const self: Surface = .{ + .common = common, + .app = &common.app.inner.wayland, + .surface = @ptrCast(c.gdk_wayland_surface_get_wl_surface(surface) orelse return), }; + + common.inner = .{ .wayland = self }; } - pub fn deinit(self: *SurfaceState) void { + pub fn deinit(self: Surface) void { if (self.blur_token) |blur| blur.release(); } - pub fn setBlur(self: *SurfaceState, blurred: bool) !void { - log.debug("setting blur={}", .{blurred}); + pub fn onConfigUpdate(self: *Surface) !void { + try self.updateBlur(); + } - const mgr = self.app_state.blur_manager orelse { + fn updateBlur(self: *Surface) !void { + const blur = self.common.derived_config.blur; + log.debug("setting blur={}", .{blur}); + + const mgr = self.app.blur_manager orelse { log.warn("can't set blur: org_kde_kwin_blur_manager protocol unavailable", .{}); return; }; - if (self.blur_token) |blur| { + if (self.blur_token) |tok| { // Only release token when transitioning from blurred -> not blurred - if (!blurred) { + if (!blur.enabled()) { mgr.unset(self.surface); - blur.release(); + tok.release(); self.blur_token = null; } } else { // Only acquire token when transitioning from not blurred -> blurred - if (blurred) { - const blur_token = try mgr.create(self.surface); - blur_token.commit(); - self.blur_token = blur_token; + if (blur.enabled()) { + const tok = try mgr.create(self.surface); + tok.commit(); + self.blur_token = tok; } } } }; -fn registryListener(registry: *wl.Registry, event: wl.Registry.Event, state: *AppState) void { +fn registryListener(registry: *wl.Registry, event: wl.Registry.Event, state: *App) void { switch (event) { .global => |global| { log.debug("got global interface={s}", .{global.interface}); diff --git a/src/apprt/gtk/x11.zig b/src/apprt/gtk/protocol/x11.zig similarity index 50% rename from src/apprt/gtk/x11.zig rename to src/apprt/gtk/protocol/x11.zig index 21ff87b34..be991bcfe 100644 --- a/src/apprt/gtk/x11.zig +++ b/src/apprt/gtk/protocol/x11.zig @@ -1,57 +1,69 @@ /// Utility functions for X11 handling. const std = @import("std"); const build_options = @import("build_options"); -const c = @import("c.zig").c; -const input = @import("../../input.zig"); +const c = @import("../c.zig").c; +const input = @import("../../../input.zig"); +const Config = @import("../../../config.zig").Config; +const protocol = @import("../protocol.zig"); +const adwaita = @import("../adwaita.zig"); const log = std.log.scoped(.gtk_x11); -/// Returns true if the passed in display is an X11 display. -pub fn is_display(display: ?*c.GdkDisplay) bool { - if (comptime !build_options.x11) return false; - return c.g_type_check_instance_is_a( - @ptrCast(@alignCast(display orelse return false)), - c.gdk_x11_display_get_type(), - ) != 0; -} +pub const App = struct { + common: *protocol.App, + display: *c.Display, -/// Returns true if the app is running on X11 -pub fn is_current_display_server() bool { - if (comptime !build_options.x11) return false; - const display = c.gdk_display_get_default(); - return is_display(display); -} - -pub const Xkb = struct { - base_event_code: c_int, + base_event_code: c_int = 0, /// Initialize an Xkb struct for the given GDK display. If the display isn't /// backed by X then this will return null. - pub fn init(display_: ?*c.GdkDisplay) !?Xkb { - if (comptime !build_options.x11) return null; - - // Display should never be null but we just treat that as a non-X11 - // display so that the caller can just ignore it and not unwrap it. - const display = display_ orelse return null; - + pub fn init(common: *protocol.App) !void { // If the display isn't X11, then we don't need to do anything. - if (!is_display(display)) return null; + if (c.g_type_check_instance_is_a( + @ptrCast(@alignCast(common.gdk_display)), + c.gdk_x11_display_get_type(), + ) == 0) + return; - log.debug("Xkb.init: initializing Xkb", .{}); - const xdisplay = c.gdk_x11_display_get_xdisplay(display); - var result: Xkb = .{ - .base_event_code = 0, + var self: App = .{ + .common = common, + .display = c.gdk_x11_display_get_xdisplay(common.gdk_display) orelse return, }; + log.debug("X11 platform init={}", .{self}); + + // Set the X11 window class property (WM_CLASS) if are are on an X11 + // display. + // + // Note that we also set the program name here using g_set_prgname. + // This is how the instance name field for WM_CLASS is derived when + // calling gdk_x11_display_set_program_class; there does not seem to be + // a way to set it directly. It does not look like this is being set by + // our other app initialization routines currently, but since we're + // currently deriving its value from x11-instance-name effectively, I + // feel like gating it behind an X11 check is better intent. + // + // This makes the property show up like so when using xprop: + // + // WM_CLASS(STRING) = "ghostty", "com.mitchellh.ghostty" + // + // Append "-debug" on both when using the debug build. + + c.g_set_prgname(common.derived_config.x11_program_name); + c.gdk_x11_display_set_program_class(common.gdk_display, common.derived_config.app_id); + + // XKB + log.debug("Xkb.init: initializing Xkb", .{}); + log.debug("Xkb.init: running XkbQueryExtension", .{}); var opcode: c_int = 0; var base_error_code: c_int = 0; var major = c.XkbMajorVersion; var minor = c.XkbMinorVersion; if (c.XkbQueryExtension( - xdisplay, + self.display, &opcode, - &result.base_event_code, + &self.base_event_code, &base_error_code, &major, &minor, @@ -62,7 +74,7 @@ pub const Xkb = struct { log.debug("Xkb.init: running XkbSelectEventDetails", .{}); if (c.XkbSelectEventDetails( - xdisplay, + self.display, c.XkbUseCoreKbd, c.XkbStateNotify, c.XkbModifierStateMask, @@ -72,7 +84,7 @@ pub const Xkb = struct { return error.XkbInitializationError; } - return result; + common.inner = .{ .x11 = self }; } /// Checks for an immediate pending XKB state update event, and returns the @@ -85,18 +97,13 @@ pub const Xkb = struct { /// Returns null if there is no event. In this case, the caller should fall /// back to the standard GDK modifier state (this likely means the key /// event did not result in a modifier change). - pub fn modifier_state_from_notify(self: Xkb, display_: ?*c.GdkDisplay) ?input.Mods { - if (comptime !build_options.x11) return null; - - const display = display_ orelse return null; - + pub fn modifierStateFromNotify(self: App) ?input.Mods { // Shoutout to Mozilla for figuring out a clean way to do this, this is // paraphrased from Firefox/Gecko in widget/gtk/nsGtkKeyUtils.cpp. - const xdisplay = c.gdk_x11_display_get_xdisplay(display); - if (c.XEventsQueued(xdisplay, c.QueuedAfterReading) == 0) return null; + if (c.XEventsQueued(self.display, c.QueuedAfterReading) == 0) return null; var nextEvent: c.XEvent = undefined; - _ = c.XPeekEvent(xdisplay, &nextEvent); + _ = c.XPeekEvent(self.display, &nextEvent); if (nextEvent.type != self.base_event_code) return null; const xkb_event: *c.XkbEvent = @ptrCast(&nextEvent); @@ -117,3 +124,38 @@ pub const Xkb = struct { return mods; } }; + +pub const Surface = struct { + common: *protocol.Surface, + app: *App, + window: c.Window, + + pub fn init(common: *protocol.Surface) void { + const surface = c.gtk_native_get_surface(@ptrCast(common.gtk_window)) orelse return; + + // Check if we're actually on X11 + if (c.g_type_check_instance_is_a( + @ptrCast(@alignCast(surface)), + c.gdk_x11_surface_get_type(), + ) == 0) + return; + + common.inner = .{ .x11 = .{ + .common = common, + .app = &common.app.inner.x11, + .window = c.gdk_x11_surface_get_xid(surface), + } }; + } + + pub fn onConfigUpdate(self: *Surface) !void { + _ = self; + } + + pub fn onResize(self: *Surface) !void { + _ = self; + } + + fn updateBlur(self: *Surface) !void { + _ = self; + } +}; diff --git a/src/config/Config.zig b/src/config/Config.zig index eae6541be..e0d25d0fb 100644 --- a/src/config/Config.zig +++ b/src/config/Config.zig @@ -5782,6 +5782,14 @@ pub const BackgroundBlur = union(enum) { ) catch return error.InvalidValue }; } + pub fn enabled(self: BackgroundBlur) bool { + return switch (self) { + .false => false, + .true => true, + .radius => |v| v > 0, + }; + } + pub fn cval(self: BackgroundBlur) u8 { return switch (self) { .false => 0, From 405a8972301b14b9f2570beda56c225f9609f1a8 Mon Sep 17 00:00:00 2001 From: Leah Amelia Chen Date: Thu, 2 Jan 2025 23:53:22 +0800 Subject: [PATCH 036/365] gtk(x11): implement background blur for KDE/KWin on X11 --- src/apprt/gtk/c.zig | 2 + src/apprt/gtk/protocol/x11.zig | 68 ++++++++++++++++++++++++++++++++-- src/config/Config.zig | 2 +- 3 files changed, 68 insertions(+), 4 deletions(-) diff --git a/src/apprt/gtk/c.zig b/src/apprt/gtk/c.zig index dde99c78e..4dc8ea57f 100644 --- a/src/apprt/gtk/c.zig +++ b/src/apprt/gtk/c.zig @@ -11,6 +11,8 @@ pub const c = @cImport({ // Add in X11-specific GDK backend which we use for specific things // (e.g. X11 window class). @cInclude("gdk/x11/gdkx.h"); + @cInclude("X11/Xlib.h"); + @cInclude("X11/Xatom.h"); // Xkb for X11 state handling @cInclude("X11/XKBlib.h"); } diff --git a/src/apprt/gtk/protocol/x11.zig b/src/apprt/gtk/protocol/x11.zig index be991bcfe..55762f316 100644 --- a/src/apprt/gtk/protocol/x11.zig +++ b/src/apprt/gtk/protocol/x11.zig @@ -12,6 +12,7 @@ const log = std.log.scoped(.gtk_x11); pub const App = struct { common: *protocol.App, display: *c.Display, + kde_blur_atom: c.Atom, base_event_code: c_int = 0, @@ -28,6 +29,7 @@ pub const App = struct { var self: App = .{ .common = common, .display = c.gdk_x11_display_get_xdisplay(common.gdk_display) orelse return, + .kde_blur_atom = c.gdk_x11_get_xatom_by_name_for_display(common.gdk_display, "_KDE_NET_WM_BLUR_BEHIND_REGION"), }; log.debug("X11 platform init={}", .{self}); @@ -130,6 +132,8 @@ pub const Surface = struct { app: *App, window: c.Window, + blur_region: Region, + pub fn init(common: *protocol.Surface) void { const surface = c.gtk_native_get_surface(@ptrCast(common.gtk_window)) orelse return; @@ -140,22 +144,80 @@ pub const Surface = struct { ) == 0) return; + var blur_region: Region = .{}; + + if ((comptime adwaita.versionAtLeast(0, 0, 0)) and common.derived_config.adw_enabled) { + // NOTE(pluiedev): CSDs are a f--king mistake. + // Please, GNOME, stop this nonsense of making a window ~30% bigger + // internally than how they really are just for your shadows and + // rounded corners and all that fluff. Please. I beg of you. + + var x: f64, var y: f64 = .{ 0, 0 }; + c.gtk_native_get_surface_transform(@ptrCast(common.gtk_window), &x, &y); + blur_region.x, blur_region.y = .{ @intFromFloat(x), @intFromFloat(y) }; + } + common.inner = .{ .x11 = .{ .common = common, .app = &common.app.inner.x11, .window = c.gdk_x11_surface_get_xid(surface), + .blur_region = blur_region, } }; } pub fn onConfigUpdate(self: *Surface) !void { - _ = self; + // Whether background blur is enabled could've changed. Update. + try self.updateBlur(); } pub fn onResize(self: *Surface) !void { - _ = self; + // The blur region must update with window resizes + self.blur_region.width = c.gtk_widget_get_width(@ptrCast(self.common.gtk_window)); + self.blur_region.height = c.gtk_widget_get_height(@ptrCast(self.common.gtk_window)); + try self.updateBlur(); } fn updateBlur(self: *Surface) !void { - _ = self; + // FIXME: This doesn't currently factor in rounded corners on Adwaita, + // which means that the blur region will grow slightly outside of the + // window borders. Unfortunately, actually calculating the rounded + // region can be quite complex without having access to existing APIs + // (cf. https://github.com/cutefishos/fishui/blob/41d4ba194063a3c7fff4675619b57e6ac0504f06/src/platforms/linux/blurhelper/windowblur.cpp#L134) + // and I think it's not really noticable enough to justify the effort. + // (Wayland also has this visual artifact anyway...) + + const blur = self.common.derived_config.blur; + log.debug("set blur={}, window xid={}, region={}", .{ blur, self.window, self.blur_region }); + + if (blur.enabled()) { + _ = c.XChangeProperty( + self.app.display, + self.window, + self.app.kde_blur_atom, + c.XA_CARDINAL, + // Despite what you might think, the "32" here does NOT mean + // that the data should be in u32s. Instead, they should be + // c_longs, which on any 64-bit architecture would be obviously + // 64 bits. WTF?! + 32, + c.PropModeReplace, + // SAFETY: Region is an extern struct that has the same + // representation of 4 c_longs put next to each other. + // Therefore, reinterpretation should be safe. + // We don't have to care about endianness either since + // Xlib converts it to network byte order for us. + @ptrCast(std.mem.asBytes(&self.blur_region)), + 4, + ); + } else { + _ = c.XDeleteProperty(self.app.display, self.window, self.app.kde_blur_atom); + } } }; + +const Region = extern struct { + x: c_long = 0, + y: c_long = 0, + width: c_long = 0, + height: c_long = 0, +}; diff --git a/src/config/Config.zig b/src/config/Config.zig index e0d25d0fb..7751f3e77 100644 --- a/src/config/Config.zig +++ b/src/config/Config.zig @@ -604,7 +604,7 @@ palette: Palette = .{}, /// /// Supported on macOS and on some Linux desktop environments, including: /// -/// * KDE Plasma (Wayland only) +/// * KDE Plasma (Wayland and X11) /// /// Warning: the exact blur intensity is _ignored_ under KDE Plasma, and setting /// this setting to either `true` or any positive blur intensity value would From c03828e03235a83918d907cf9b3a59928bd825b2 Mon Sep 17 00:00:00 2001 From: Anund Date: Tue, 7 Jan 2025 17:56:21 +1100 Subject: [PATCH 037/365] vim: work with theme config files --- src/config/vim.zig | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/src/config/vim.zig b/src/config/vim.zig index 62255bd79..ab487f9f9 100644 --- a/src/config/vim.zig +++ b/src/config/vim.zig @@ -3,7 +3,16 @@ const Config = @import("Config.zig"); /// This is the associated Vim file as named by the variable. pub const syntax = comptimeGenSyntax(); -pub const ftdetect = "au BufRead,BufNewFile */ghostty/config set ft=ghostty\n"; +pub const ftdetect = + \\" Vim filetype detect file + \\" Language: Ghostty config file + \\" Maintainer: Ghostty + \\" + \\" THIS FILE IS AUTO-GENERATED + \\ + \\au BufRead,BufNewFile */ghostty/config,*/ghostty/themes/* set ft=ghostty + \\ +; pub const ftplugin = \\" Vim filetype plugin file \\" Language: Ghostty config file @@ -31,13 +40,19 @@ pub const ftplugin = \\ ; pub const compiler = + \\" Vim compiler file + \\" Language: Ghostty config file + \\" Maintainer: Ghostty + \\" + \\" THIS FILE IS AUTO-GENERATED + \\ \\if exists("current_compiler") \\ finish \\endif \\let current_compiler = "ghostty" \\ - \\CompilerSet makeprg=ghostty\ +validate-config - \\CompilerSet errorformat=%f:%l:%m + \\CompilerSet makeprg=ghostty\ +validate-config\ --config-file=%:S + \\CompilerSet errorformat=%f:%l:%m,%m \\ ; From 19cfd9943991944e63cf1ce8d305387d8272dac3 Mon Sep 17 00:00:00 2001 From: Onno Siemens Date: Fri, 10 Jan 2025 18:11:57 +0100 Subject: [PATCH 038/365] docs: update copy-on-select documentation --- src/config/Config.zig | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/src/config/Config.zig b/src/config/Config.zig index eae6541be..24e25437d 100644 --- a/src/config/Config.zig +++ b/src/config/Config.zig @@ -1387,16 +1387,14 @@ keybind: Keybinds = .{}, @"image-storage-limit": u32 = 320 * 1000 * 1000, /// Whether to automatically copy selected text to the clipboard. `true` -/// will prefer to copy to the selection clipboard if supported by the -/// OS, otherwise it will copy to the system clipboard. +/// will prefer to copy to the selection clipboard, otherwise it will copy to +/// the system clipboard. /// /// The value `clipboard` will always copy text to the selection clipboard -/// (for supported systems) as well as the system clipboard. This is sometimes -/// a preferred behavior on Linux. +/// as well as the system clipboard. /// -/// Middle-click paste will always use the selection clipboard on Linux -/// and the system clipboard on macOS. Middle-click paste is always enabled -/// even if this is `false`. +/// Middle-click paste will always use the selection clipboard. Middle-click +/// paste is always enabled even if this is `false`. /// /// The default value is true on Linux and macOS. @"copy-on-select": CopyOnSelect = switch (builtin.os.tag) { From ed81b62ec24790fea79877d2e2124d82271ee3df Mon Sep 17 00:00:00 2001 From: Mitchell Hashimoto Date: Thu, 9 Jan 2025 20:00:30 -0800 Subject: [PATCH 039/365] apprt/gtk: winproto Rename "protocol" to "winproto". --- src/apprt/gtk/App.zig | 34 ++- src/apprt/gtk/Surface.zig | 15 +- src/apprt/gtk/Window.zig | 38 +++- src/apprt/gtk/key.zig | 6 +- src/apprt/gtk/protocol.zig | 149 ------------- src/apprt/gtk/protocol/wayland.zig | 125 ----------- src/apprt/gtk/winproto.zig | 128 +++++++++++ src/apprt/gtk/winproto/noop.zig | 56 +++++ src/apprt/gtk/winproto/wayland.zig | 211 +++++++++++++++++++ src/apprt/gtk/{protocol => winproto}/x11.zig | 178 +++++++++++----- 10 files changed, 589 insertions(+), 351 deletions(-) delete mode 100644 src/apprt/gtk/protocol.zig delete mode 100644 src/apprt/gtk/protocol/wayland.zig create mode 100644 src/apprt/gtk/winproto.zig create mode 100644 src/apprt/gtk/winproto/noop.zig create mode 100644 src/apprt/gtk/winproto/wayland.zig rename src/apprt/gtk/{protocol => winproto}/x11.zig (65%) diff --git a/src/apprt/gtk/App.zig b/src/apprt/gtk/App.zig index ecbe61bce..b041d29fb 100644 --- a/src/apprt/gtk/App.zig +++ b/src/apprt/gtk/App.zig @@ -36,7 +36,7 @@ const c = @import("c.zig").c; const version = @import("version.zig"); const inspector = @import("inspector.zig"); const key = @import("key.zig"); -const protocol = @import("protocol.zig"); +const winproto = @import("winproto.zig"); const testing = std.testing; const log = std.log.scoped(.gtk); @@ -49,6 +49,9 @@ config: Config, app: *c.GtkApplication, ctx: *c.GMainContext, +/// State and logic for the underlying windowing protocol. +winproto: winproto.App, + /// True if the app was launched with single instance mode. single_instance: bool, @@ -70,8 +73,6 @@ clipboard_confirmation_window: ?*ClipboardConfirmationWindow = null, /// This is set to false when the main loop should exit. running: bool = true, -protocol: protocol.App, - /// The base path of the transient cgroup used to put all surfaces /// into their own cgroup. This is only set if cgroups are enabled /// and initialization was successful. @@ -161,7 +162,12 @@ pub fn init(core_app: *CoreApp, opts: Options) !App { } c.gtk_init(); - const display = c.gdk_display_get_default(); + const display: *c.GdkDisplay = c.gdk_display_get_default() orelse { + // I'm unsure of any scenario where this happens. Because we don't + // want to litter null checks everywhere, we just exit here. + log.warn("gdk display is null, exiting", .{}); + std.posix.exit(1); + }; // If we're using libadwaita, log the version if (adwaita.enabled(&config)) { @@ -359,7 +365,14 @@ pub fn init(core_app: *CoreApp, opts: Options) !App { return error.GtkApplicationRegisterFailed; } - const app_protocol = try protocol.App.init(display, &config, app_id); + // Setup our windowing protocol logic + var winproto_app = try winproto.App.init( + core_app.alloc, + display, + app_id, + &config, + ); + errdefer winproto_app.deinit(core_app.alloc); // This just calls the `activate` signal but its part of the normal startup // routine so we just call it, but only if the config allows it (this allows @@ -385,7 +398,7 @@ pub fn init(core_app: *CoreApp, opts: Options) !App { .config = config, .ctx = ctx, .cursor_none = cursor_none, - .protocol = app_protocol, + .winproto = winproto_app, .single_instance = single_instance, // If we are NOT the primary instance, then we never want to run. // This means that another instance of the GTK app is running and @@ -413,6 +426,8 @@ pub fn terminate(self: *App) void { } self.custom_css_providers.deinit(self.core_app.alloc); + self.winproto.deinit(self.core_app.alloc); + self.config.deinit(); } @@ -837,9 +852,10 @@ fn configChange( new_config: *const Config, ) void { switch (target) { - .surface => |surface| { - if (surface.rt_surface.container.window()) |window| window.syncAppearance(new_config) catch |err| { - log.warn("error syncing appearance changes to window err={}", .{err}); + .surface => |surface| surface: { + const window = surface.rt_surface.container.window() orelse break :surface; + window.updateConfig(new_config) catch |err| { + log.warn("error updating config for window err={}", .{err}); }; }, diff --git a/src/apprt/gtk/Surface.zig b/src/apprt/gtk/Surface.zig index 97b7bb0f4..c16f696b1 100644 --- a/src/apprt/gtk/Surface.zig +++ b/src/apprt/gtk/Surface.zig @@ -824,6 +824,9 @@ pub fn getContentScale(self: *const Surface) !apprt.ContentScale { c.g_object_get_property(@ptrCast(@alignCast(settings)), "gtk-xft-dpi", &value); const gtk_xft_dpi = c.g_value_get_int(&value); + // As noted above gtk-xft-dpi is multiplied by 1024, so we divide by + // 1024, then divide by the default value (96) to derive a scale. Note + // gtk-xft-dpi can be fractional, so we use floating point math here. const xft_dpi: f32 = @as(f32, @floatFromInt(gtk_xft_dpi)) / 1024; break :xft_scale xft_dpi / 96; }; @@ -1380,9 +1383,13 @@ fn gtkResize(area: *c.GtkGLArea, width: c.gint, height: c.gint, ud: ?*anyopaque) return; }; - if (self.container.window()) |window| window.protocol.onResize() catch |err| { - log.warn("failed to notify X11/Wayland integration of resize={}", .{err}); - }; + if (self.container.window()) |window| { + if (window.winproto) |*winproto| { + winproto.resizeEvent() catch |err| { + log.warn("failed to notify window protocol of resize={}", .{err}); + }; + } + } self.resize_overlay.maybeShow(); } @@ -1702,7 +1709,7 @@ pub fn keyEvent( event, physical_key, gtk_mods, - &self.app.protocol, + &self.app.winproto, ); // Get our consumed modifiers diff --git a/src/apprt/gtk/Window.zig b/src/apprt/gtk/Window.zig index fbba22195..d0e678057 100644 --- a/src/apprt/gtk/Window.zig +++ b/src/apprt/gtk/Window.zig @@ -25,7 +25,7 @@ const gtk_key = @import("key.zig"); const Notebook = @import("notebook.zig").Notebook; const HeaderBar = @import("headerbar.zig").HeaderBar; const version = @import("version.zig"); -const protocol = @import("protocol.zig"); +const winproto = @import("winproto.zig"); const log = std.log.scoped(.gtk); @@ -56,7 +56,8 @@ toast_overlay: ?*c.GtkWidget, /// See adwTabOverviewOpen for why we have this. adw_tab_overview_focus_timer: ?c.guint = null, -protocol: protocol.Surface, +/// State and logic for windowing protocol for a window. +winproto: ?winproto.Window, pub fn create(alloc: Allocator, app: *App) !*Window { // Allocate a fixed pointer for our window. We try to minimize @@ -82,7 +83,7 @@ pub fn init(self: *Window, app: *App) !void { .notebook = undefined, .context_menu = undefined, .toast_overlay = undefined, - .protocol = undefined, + .winproto = null, }; // Create the window @@ -384,6 +385,16 @@ pub fn init(self: *Window, app: *App) !void { c.gtk_widget_show(window); } +pub fn updateConfig( + self: *Window, + config: *const configpkg.Config, +) !void { + if (self.winproto) |*v| try v.updateConfigEvent(config); + + // We always resync our appearance whenever the config changes. + try self.syncAppearance(config); +} + /// Updates appearance based on config settings. Will be called once upon window /// realization, and every time the config is reloaded. /// @@ -396,8 +407,10 @@ pub fn syncAppearance(self: *Window, config: *const configpkg.Config) !void { c.gtk_widget_add_css_class(@ptrCast(self.window), "background"); } - // Perform protocol-specific config updates - try self.protocol.onConfigUpdate(config); + // Window protocol specific appearance updates + if (self.winproto) |*v| v.syncAppearance() catch |err| { + log.warn("failed to sync window protocol appearance error={}", .{err}); + }; } /// Sets up the GTK actions for the window scope. Actions are how GTK handles @@ -437,7 +450,7 @@ fn initActions(self: *Window) void { pub fn deinit(self: *Window) void { c.gtk_widget_unparent(@ptrCast(self.context_menu)); - self.protocol.deinit(); + if (self.winproto) |*v| v.deinit(self.app.core_app.alloc); if (self.adw_tab_overview_focus_timer) |timer| { _ = c.g_source_remove(timer); @@ -578,8 +591,19 @@ pub fn sendToast(self: *Window, title: [:0]const u8) void { fn gtkRealize(v: *c.GtkWindow, ud: ?*anyopaque) callconv(.C) bool { const self = userdataSelf(ud.?); - self.protocol.init(v, &self.app.protocol, &self.app.config); + // Initialize our window protocol logic + if (winproto.Window.init( + self.app.core_app.alloc, + &self.app.winproto, + v, + &self.app.config, + )) |winproto_win| { + self.winproto = winproto_win; + } else |err| { + log.warn("failed to initialize window protocol error={}", .{err}); + } + // When we are realized we always setup our appearance self.syncAppearance(&self.app.config) catch |err| { log.err("failed to initialize appearance={}", .{err}); }; diff --git a/src/apprt/gtk/key.zig b/src/apprt/gtk/key.zig index ef460e62c..40c9ca9a4 100644 --- a/src/apprt/gtk/key.zig +++ b/src/apprt/gtk/key.zig @@ -2,7 +2,7 @@ const std = @import("std"); const build_options = @import("build_options"); const input = @import("../../input.zig"); const c = @import("c.zig").c; -const protocol = @import("protocol.zig"); +const winproto = @import("winproto.zig"); /// Returns a GTK accelerator string from a trigger. pub fn accelFromTrigger(buf: []u8, trigger: input.Binding.Trigger) !?[:0]const u8 { @@ -108,11 +108,11 @@ pub fn eventMods( event: *c.GdkEvent, physical_key: input.Key, gtk_mods: c.GdkModifierType, - app_protocol: *protocol.App, + app_winproto: *winproto.App, ) input.Mods { const device = c.gdk_event_get_device(event); - var mods = app_protocol.eventMods(device, gtk_mods); + var mods = app_winproto.eventMods(device, gtk_mods); mods.num_lock = c.gdk_device_get_num_lock_state(device) == 1; switch (physical_key) { diff --git a/src/apprt/gtk/protocol.zig b/src/apprt/gtk/protocol.zig deleted file mode 100644 index c7d7247cf..000000000 --- a/src/apprt/gtk/protocol.zig +++ /dev/null @@ -1,149 +0,0 @@ -const std = @import("std"); -const x11 = @import("protocol/x11.zig"); -const wayland = @import("protocol/wayland.zig"); -const c = @import("c.zig").c; -const build_options = @import("build_options"); -const input = @import("../../input.zig"); -const apprt = @import("../../apprt.zig"); -const Config = @import("../../config.zig").Config; -const adwaita = @import("adwaita.zig"); -const builtin = @import("builtin"); -const key = @import("key.zig"); - -const log = std.log.scoped(.gtk_platform); - -pub const App = struct { - gdk_display: *c.GdkDisplay, - derived_config: DerivedConfig, - - inner: union(enum) { - none, - x11: if (build_options.x11) x11.App else void, - wayland: if (build_options.wayland) wayland.App else void, - }, - - const DerivedConfig = struct { - app_id: [:0]const u8, - x11_program_name: [:0]const u8, - - pub fn init(config: *const Config, app_id: [:0]const u8) DerivedConfig { - return .{ - .app_id = app_id, - .x11_program_name = if (config.@"x11-instance-name") |pn| - pn - else if (builtin.mode == .Debug) - "ghostty-debug" - else - "ghostty", - }; - } - }; - - pub fn init(display: ?*c.GdkDisplay, config: *const Config, app_id: [:0]const u8) !App { - var self: App = .{ - .inner = .none, - .derived_config = DerivedConfig.init(config, app_id), - .gdk_display = display orelse { - // TODO: When does this ever happen...? - std.debug.panic("GDK display is null!", .{}); - }, - }; - - // The X11/Wayland init functions set `self.inner` when successful, - // so we only need to keep trying if `self.inner` stays `.none` - if (self.inner == .none and comptime build_options.wayland) try wayland.App.init(&self); - if (self.inner == .none and comptime build_options.x11) try x11.App.init(&self); - - // Welp, no integration for you - if (self.inner == .none) { - log.warn( - "neither X11 nor Wayland integrations enabled - lots of features would be missing!", - .{}, - ); - } - - return self; - } - - pub fn eventMods(self: *App, device: ?*c.GdkDevice, gtk_mods: c.GdkModifierType) input.Mods { - return switch (self.inner) { - // Add any modifier state events from Xkb if we have them (X11 - // only). Null back from the Xkb call means there was no modifier - // event to read. This likely means that the key event did not - // result in a modifier change and we can safely rely on the GDK - // state. - .x11 => |*x| if (comptime build_options.x11) - x.modifierStateFromNotify() orelse key.translateMods(gtk_mods) - else - unreachable, - - // On Wayland, we have to use the GDK device because the mods sent - // to this event do not have the modifier key applied if it was - // pressed (i.e. left control). - .wayland, .none => key.translateMods(c.gdk_device_get_modifier_state(device)), - }; - } -}; - -pub const Surface = struct { - app: *App, - gtk_window: *c.GtkWindow, - derived_config: DerivedConfig, - - inner: union(enum) { - none, - x11: if (build_options.x11) x11.Surface else void, - wayland: if (build_options.wayland) wayland.Surface else void, - }, - - pub const DerivedConfig = struct { - blur: Config.BackgroundBlur, - adw_enabled: bool, - - pub fn init(config: *const Config) DerivedConfig { - return .{ - .blur = config.@"background-blur-radius", - .adw_enabled = adwaita.enabled(config), - }; - } - }; - - pub fn init(self: *Surface, window: *c.GtkWindow, app: *App, config: *const Config) void { - self.* = .{ - .app = app, - .derived_config = DerivedConfig.init(config), - .gtk_window = window, - .inner = .none, - }; - - switch (app.inner) { - .x11 => if (comptime build_options.x11) x11.Surface.init(self) else unreachable, - .wayland => if (comptime build_options.wayland) wayland.Surface.init(self) else unreachable, - .none => {}, - } - } - - pub fn deinit(self: Surface) void { - switch (self.inner) { - .wayland => |wl| if (comptime build_options.wayland) wl.deinit() else unreachable, - .x11, .none => {}, - } - } - - pub fn onConfigUpdate(self: *Surface, config: *const Config) !void { - self.derived_config = DerivedConfig.init(config); - - switch (self.inner) { - .x11 => |*x| if (comptime build_options.x11) try x.onConfigUpdate() else unreachable, - .wayland => |*wl| if (comptime build_options.wayland) try wl.onConfigUpdate() else unreachable, - .none => {}, - } - } - - pub fn onResize(self: *Surface) !void { - switch (self.inner) { - .x11 => |*x| if (comptime build_options.x11) try x.onResize() else unreachable, - .wayland, .none => {}, - } - } -}; diff --git a/src/apprt/gtk/protocol/wayland.zig b/src/apprt/gtk/protocol/wayland.zig deleted file mode 100644 index 985d7c5a8..000000000 --- a/src/apprt/gtk/protocol/wayland.zig +++ /dev/null @@ -1,125 +0,0 @@ -const std = @import("std"); -const c = @import("../c.zig").c; -const wayland = @import("wayland"); -const protocol = @import("../protocol.zig"); -const Config = @import("../../../config.zig").Config; - -const wl = wayland.client.wl; -const org = wayland.client.org; - -const log = std.log.scoped(.gtk_wayland); - -/// Wayland state that contains application-wide Wayland objects (e.g. wl_display). -pub const App = struct { - display: *wl.Display, - blur_manager: ?*org.KdeKwinBlurManager = null, - - pub fn init(common: *protocol.App) !void { - // Check if we're actually on Wayland - if (c.g_type_check_instance_is_a( - @ptrCast(@alignCast(common.gdk_display)), - c.gdk_wayland_display_get_type(), - ) == 0) - return; - - var self: App = .{ - .display = @ptrCast(c.gdk_wayland_display_get_wl_display(common.gdk_display) orelse return), - }; - - log.debug("wayland platform init={}", .{self}); - - const registry = try self.display.getRegistry(); - - registry.setListener(*App, registryListener, &self); - if (self.display.roundtrip() != .SUCCESS) return error.RoundtripFailed; - - common.inner = .{ .wayland = self }; - } -}; - -/// Wayland state that contains Wayland objects associated with a window (e.g. wl_surface). -pub const Surface = struct { - common: *const protocol.Surface, - app: *App, - surface: *wl.Surface, - - /// A token that, when present, indicates that the window is blurred. - blur_token: ?*org.KdeKwinBlur = null, - - pub fn init(common: *protocol.Surface) void { - const surface = c.gtk_native_get_surface(@ptrCast(common.gtk_window)) orelse return; - - // Check if we're actually on Wayland - if (c.g_type_check_instance_is_a( - @ptrCast(@alignCast(surface)), - c.gdk_wayland_surface_get_type(), - ) == 0) - return; - - const self: Surface = .{ - .common = common, - .app = &common.app.inner.wayland, - .surface = @ptrCast(c.gdk_wayland_surface_get_wl_surface(surface) orelse return), - }; - - common.inner = .{ .wayland = self }; - } - - pub fn deinit(self: Surface) void { - if (self.blur_token) |blur| blur.release(); - } - - pub fn onConfigUpdate(self: *Surface) !void { - try self.updateBlur(); - } - - fn updateBlur(self: *Surface) !void { - const blur = self.common.derived_config.blur; - log.debug("setting blur={}", .{blur}); - - const mgr = self.app.blur_manager orelse { - log.warn("can't set blur: org_kde_kwin_blur_manager protocol unavailable", .{}); - return; - }; - - if (self.blur_token) |tok| { - // Only release token when transitioning from blurred -> not blurred - if (!blur.enabled()) { - mgr.unset(self.surface); - tok.release(); - self.blur_token = null; - } - } else { - // Only acquire token when transitioning from not blurred -> blurred - if (blur.enabled()) { - const tok = try mgr.create(self.surface); - tok.commit(); - self.blur_token = tok; - } - } - } -}; - -fn registryListener(registry: *wl.Registry, event: wl.Registry.Event, state: *App) void { - switch (event) { - .global => |global| { - log.debug("got global interface={s}", .{global.interface}); - if (bindInterface(org.KdeKwinBlurManager, registry, global, 1)) |iface| { - state.blur_manager = iface; - return; - } - }, - .global_remove => {}, - } -} - -fn bindInterface(comptime T: type, registry: *wl.Registry, global: anytype, version: u32) ?*T { - if (std.mem.orderZ(u8, global.interface, T.interface.name) == .eq) { - return registry.bind(global.name, T, version) catch |err| { - log.warn("encountered error={} while binding interface {s}", .{ err, global.interface }); - return null; - }; - } else { - return null; - } -} diff --git a/src/apprt/gtk/winproto.zig b/src/apprt/gtk/winproto.zig new file mode 100644 index 000000000..49d96bb02 --- /dev/null +++ b/src/apprt/gtk/winproto.zig @@ -0,0 +1,128 @@ +const std = @import("std"); +const build_options = @import("build_options"); +const Allocator = std.mem.Allocator; +const c = @import("c.zig").c; +const Config = @import("../../config.zig").Config; +const input = @import("../../input.zig"); +const key = @import("key.zig"); + +pub const noop = @import("winproto/noop.zig"); +pub const x11 = @import("winproto/x11.zig"); +pub const wayland = @import("winproto/wayland.zig"); + +pub const Protocol = enum { + none, + wayland, + x11, +}; + +/// App-state for the underlying windowing protocol. There should be one +/// instance of this struct per application. +pub const App = union(Protocol) { + none: noop.App, + wayland: if (build_options.wayland) wayland.App else noop.App, + x11: if (build_options.x11) x11.App else noop.App, + + pub fn init( + alloc: Allocator, + gdk_display: *c.GdkDisplay, + app_id: [:0]const u8, + config: *const Config, + ) !App { + inline for (@typeInfo(App).Union.fields) |field| { + if (try field.type.init( + alloc, + gdk_display, + app_id, + config, + )) |v| { + return @unionInit(App, field.name, v); + } + } + + return .none; + } + + pub fn deinit(self: *App, alloc: Allocator) void { + switch (self.*) { + inline else => |*v| v.deinit(alloc), + } + } + + pub fn eventMods( + self: *App, + device: ?*c.GdkDevice, + gtk_mods: c.GdkModifierType, + ) input.Mods { + return switch (self.*) { + inline else => |*v| v.eventMods(device, gtk_mods), + } orelse key.translateMods(gtk_mods); + } +}; + +/// Per-Window state for the underlying windowing protocol. +/// +/// In both X and Wayland, the terminology used is "Surface" and this is +/// really "Surface"-specific state. But Ghostty uses the term "Surface" +/// heavily to mean something completely different, so we use "Window" here +/// to better match what it generally maps to in the Ghostty codebase. +pub const Window = union(Protocol) { + none: noop.Window, + wayland: if (build_options.wayland) wayland.Window else noop.Window, + x11: if (build_options.x11) x11.Window else noop.Window, + + pub fn init( + alloc: Allocator, + app: *App, + window: *c.GtkWindow, + config: *const Config, + ) !Window { + return switch (app.*) { + inline else => |*v, tag| { + inline for (@typeInfo(Window).Union.fields) |field| { + if (comptime std.mem.eql( + u8, + field.name, + @tagName(tag), + )) return @unionInit( + Window, + field.name, + try field.type.init( + alloc, + v, + window, + config, + ), + ); + } + }, + }; + } + + pub fn deinit(self: *Window, alloc: Allocator) void { + switch (self.*) { + inline else => |*v| v.deinit(alloc), + } + } + + pub fn resizeEvent(self: *Window) !void { + switch (self.*) { + inline else => |*v| try v.resizeEvent(), + } + } + + pub fn updateConfigEvent( + self: *Window, + config: *const Config, + ) !void { + switch (self.*) { + inline else => |*v| try v.updateConfigEvent(config), + } + } + + pub fn syncAppearance(self: *Window) !void { + switch (self.*) { + inline else => |*v| try v.syncAppearance(), + } + } +}; diff --git a/src/apprt/gtk/winproto/noop.zig b/src/apprt/gtk/winproto/noop.zig new file mode 100644 index 000000000..54c14fe14 --- /dev/null +++ b/src/apprt/gtk/winproto/noop.zig @@ -0,0 +1,56 @@ +const std = @import("std"); +const Allocator = std.mem.Allocator; +const c = @import("../c.zig").c; +const Config = @import("../../../config.zig").Config; +const input = @import("../../../input.zig"); + +const log = std.log.scoped(.winproto_noop); + +pub const App = struct { + pub fn init( + _: Allocator, + _: *c.GdkDisplay, + _: [:0]const u8, + _: *const Config, + ) !?App { + return .{}; + } + + pub fn deinit(self: *App, alloc: Allocator) void { + _ = self; + _ = alloc; + } + + pub fn eventMods( + _: *App, + _: ?*c.GdkDevice, + _: c.GdkModifierType, + ) ?input.Mods { + return null; + } +}; + +pub const Window = struct { + pub fn init( + _: Allocator, + _: *App, + _: *c.GtkWindow, + _: *const Config, + ) !Window { + return .{}; + } + + pub fn deinit(self: Window, alloc: Allocator) void { + _ = self; + _ = alloc; + } + + pub fn updateConfigEvent( + _: *Window, + _: *const Config, + ) !void {} + + pub fn resizeEvent(_: *Window) !void {} + + pub fn syncAppearance(_: *Window) !void {} +}; diff --git a/src/apprt/gtk/winproto/wayland.zig b/src/apprt/gtk/winproto/wayland.zig new file mode 100644 index 000000000..3f7ad0068 --- /dev/null +++ b/src/apprt/gtk/winproto/wayland.zig @@ -0,0 +1,211 @@ +//! Wayland protocol implementation for the Ghostty GTK apprt. +const std = @import("std"); +const wayland = @import("wayland"); +const Allocator = std.mem.Allocator; +const c = @import("../c.zig").c; +const Config = @import("../../../config.zig").Config; +const input = @import("../../../input.zig"); + +const wl = wayland.client.wl; +const org = wayland.client.org; + +const log = std.log.scoped(.winproto_wayland); + +/// Wayland state that contains application-wide Wayland objects (e.g. wl_display). +pub const App = struct { + display: *wl.Display, + context: *Context, + + const Context = struct { + kde_blur_manager: ?*org.KdeKwinBlurManager = null, + }; + + pub fn init( + alloc: Allocator, + gdk_display: *c.GdkDisplay, + app_id: [:0]const u8, + config: *const Config, + ) !?App { + _ = config; + _ = app_id; + + // Check if we're actually on Wayland + if (c.g_type_check_instance_is_a( + @ptrCast(@alignCast(gdk_display)), + c.gdk_wayland_display_get_type(), + ) == 0) return null; + + const display: *wl.Display = @ptrCast(c.gdk_wayland_display_get_wl_display( + gdk_display, + ) orelse return error.NoWaylandDisplay); + + // Create our context for our callbacks so we have a stable pointer. + // Note: at the time of writing this comment, we don't really need + // a stable pointer, but it's too scary that we'd need one in the future + // and not have it and corrupt memory or something so let's just do it. + const context = try alloc.create(Context); + errdefer alloc.destroy(context); + context.* = .{}; + + // Get our display registry so we can get all the available interfaces + // and bind to what we need. + const registry = try display.getRegistry(); + registry.setListener(*Context, registryListener, context); + if (display.roundtrip() != .SUCCESS) return error.RoundtripFailed; + + return .{ + .display = display, + .context = context, + }; + } + + pub fn deinit(self: *App, alloc: Allocator) void { + alloc.destroy(self.context); + } + + pub fn eventMods( + _: *App, + _: ?*c.GdkDevice, + _: c.GdkModifierType, + ) ?input.Mods { + return null; + } + + fn registryListener( + registry: *wl.Registry, + event: wl.Registry.Event, + context: *Context, + ) void { + switch (event) { + // https://wayland.app/protocols/wayland#wl_registry:event:global + .global => |global| global: { + log.debug("wl_registry.global: interface={s}", .{global.interface}); + + if (registryBind( + org.KdeKwinBlurManager, + registry, + global, + 1, + )) |blur_manager| { + context.kde_blur_manager = blur_manager; + break :global; + } + }, + + // We don't handle removal events + .global_remove => {}, + } + } + + fn registryBind( + comptime T: type, + registry: *wl.Registry, + global: anytype, + version: u32, + ) ?*T { + if (std.mem.orderZ( + u8, + global.interface, + T.interface.name, + ) != .eq) return null; + + return registry.bind(global.name, T, version) catch |err| { + log.warn("error binding interface {s} error={}", .{ + global.interface, + err, + }); + return null; + }; + } +}; + +/// Per-window (wl_surface) state for the Wayland protocol. +pub const Window = struct { + config: DerivedConfig, + + /// The Wayland surface for this window. + surface: *wl.Surface, + + /// The context from the app where we can load our Wayland interfaces. + app_context: *App.Context, + + /// A token that, when present, indicates that the window is blurred. + blur_token: ?*org.KdeKwinBlur = null, + + const DerivedConfig = struct { + blur: bool, + + pub fn init(config: *const Config) DerivedConfig { + return .{ + .blur = config.@"background-blur-radius".enabled(), + }; + } + }; + + pub fn init( + alloc: Allocator, + app: *App, + gtk_window: *c.GtkWindow, + config: *const Config, + ) !Window { + _ = alloc; + + const gdk_surface = c.gtk_native_get_surface( + @ptrCast(gtk_window), + ) orelse return error.NotWaylandSurface; + + // This should never fail, because if we're being called at this point + // then we've already asserted that our app state is Wayland. + if (c.g_type_check_instance_is_a( + @ptrCast(@alignCast(gdk_surface)), + c.gdk_wayland_surface_get_type(), + ) == 0) return error.NotWaylandSurface; + + const wl_surface: *wl.Surface = @ptrCast(c.gdk_wayland_surface_get_wl_surface( + gdk_surface, + ) orelse return error.NoWaylandSurface); + + return .{ + .config = DerivedConfig.init(config), + .surface = wl_surface, + .app_context = app.context, + }; + } + + pub fn deinit(self: Window, alloc: Allocator) void { + _ = alloc; + if (self.blur_token) |blur| blur.release(); + } + + pub fn updateConfigEvent(self: *Window, config: *const Config) !void { + self.config = DerivedConfig.init(config); + } + + pub fn resizeEvent(_: *Window) !void {} + + pub fn syncAppearance(self: *Window) !void { + try self.syncBlur(); + } + + /// Update the blur state of the window. + fn syncBlur(self: *Window) !void { + const manager = self.app_context.kde_blur_manager orelse return; + const blur = self.config.blur; + + if (self.blur_token) |tok| { + // Only release token when transitioning from blurred -> not blurred + if (!blur) { + manager.unset(self.surface); + tok.release(); + self.blur_token = null; + } + } else { + // Only acquire token when transitioning from not blurred -> blurred + if (blur) { + const tok = try manager.create(self.surface); + tok.commit(); + self.blur_token = tok; + } + } + } +}; diff --git a/src/apprt/gtk/protocol/x11.zig b/src/apprt/gtk/winproto/x11.zig similarity index 65% rename from src/apprt/gtk/protocol/x11.zig rename to src/apprt/gtk/winproto/x11.zig index 55762f316..d896fc051 100644 --- a/src/apprt/gtk/protocol/x11.zig +++ b/src/apprt/gtk/winproto/x11.zig @@ -1,38 +1,45 @@ -/// Utility functions for X11 handling. +//! X11 window protocol implementation for the Ghostty GTK apprt. const std = @import("std"); +const builtin = @import("builtin"); const build_options = @import("build_options"); +const Allocator = std.mem.Allocator; const c = @import("../c.zig").c; const input = @import("../../../input.zig"); const Config = @import("../../../config.zig").Config; -const protocol = @import("../protocol.zig"); const adwaita = @import("../adwaita.zig"); const log = std.log.scoped(.gtk_x11); pub const App = struct { - common: *protocol.App, display: *c.Display, + base_event_code: c_int, kde_blur_atom: c.Atom, - base_event_code: c_int = 0, + pub fn init( + alloc: Allocator, + gdk_display: *c.GdkDisplay, + app_id: [:0]const u8, + config: *const Config, + ) !?App { + _ = alloc; - /// Initialize an Xkb struct for the given GDK display. If the display isn't - /// backed by X then this will return null. - pub fn init(common: *protocol.App) !void { // If the display isn't X11, then we don't need to do anything. if (c.g_type_check_instance_is_a( - @ptrCast(@alignCast(common.gdk_display)), + @ptrCast(@alignCast(gdk_display)), c.gdk_x11_display_get_type(), - ) == 0) - return; + ) == 0) return null; - var self: App = .{ - .common = common, - .display = c.gdk_x11_display_get_xdisplay(common.gdk_display) orelse return, - .kde_blur_atom = c.gdk_x11_get_xatom_by_name_for_display(common.gdk_display, "_KDE_NET_WM_BLUR_BEHIND_REGION"), - }; + // Get our X11 display + const display: *c.Display = c.gdk_x11_display_get_xdisplay( + gdk_display, + ) orelse return error.NoX11Display; - log.debug("X11 platform init={}", .{self}); + const x11_program_name: [:0]const u8 = if (config.@"x11-instance-name") |pn| + pn + else if (builtin.mode == .Debug) + "ghostty-debug" + else + "ghostty"; // Set the X11 window class property (WM_CLASS) if are are on an X11 // display. @@ -50,22 +57,21 @@ pub const App = struct { // WM_CLASS(STRING) = "ghostty", "com.mitchellh.ghostty" // // Append "-debug" on both when using the debug build. - - c.g_set_prgname(common.derived_config.x11_program_name); - c.gdk_x11_display_set_program_class(common.gdk_display, common.derived_config.app_id); + c.g_set_prgname(x11_program_name); + c.gdk_x11_display_set_program_class(gdk_display, app_id); // XKB log.debug("Xkb.init: initializing Xkb", .{}); - log.debug("Xkb.init: running XkbQueryExtension", .{}); var opcode: c_int = 0; + var base_event_code: c_int = 0; var base_error_code: c_int = 0; var major = c.XkbMajorVersion; var minor = c.XkbMinorVersion; if (c.XkbQueryExtension( - self.display, + display, &opcode, - &self.base_event_code, + &base_event_code, &base_error_code, &major, &minor, @@ -76,7 +82,7 @@ pub const App = struct { log.debug("Xkb.init: running XkbSelectEventDetails", .{}); if (c.XkbSelectEventDetails( - self.display, + display, c.XkbUseCoreKbd, c.XkbStateNotify, c.XkbModifierStateMask, @@ -86,7 +92,19 @@ pub const App = struct { return error.XkbInitializationError; } - common.inner = .{ .x11 = self }; + return .{ + .display = display, + .base_event_code = base_event_code, + .kde_blur_atom = c.gdk_x11_get_xatom_by_name_for_display( + gdk_display, + "_KDE_NET_WM_BLUR_BEHIND_REGION", + ), + }; + } + + pub fn deinit(self: *App, alloc: Allocator) void { + _ = self; + _ = alloc; } /// Checks for an immediate pending XKB state update event, and returns the @@ -99,7 +117,14 @@ pub const App = struct { /// Returns null if there is no event. In this case, the caller should fall /// back to the standard GDK modifier state (this likely means the key /// event did not result in a modifier change). - pub fn modifierStateFromNotify(self: App) ?input.Mods { + pub fn eventMods( + self: App, + device: ?*c.GdkDevice, + gtk_mods: c.GdkModifierType, + ) ?input.Mods { + _ = device; + _ = gtk_mods; + // Shoutout to Mozilla for figuring out a clean way to do this, this is // paraphrased from Firefox/Gecko in widget/gtk/nsGtkKeyUtils.cpp. if (c.XEventsQueued(self.display, c.QueuedAfterReading) == 0) return null; @@ -127,57 +152,94 @@ pub const App = struct { } }; -pub const Surface = struct { - common: *protocol.Surface, +pub const Window = struct { app: *App, + config: DerivedConfig, window: c.Window, - + gtk_window: *c.GtkWindow, blur_region: Region, - pub fn init(common: *protocol.Surface) void { - const surface = c.gtk_native_get_surface(@ptrCast(common.gtk_window)) orelse return; + const DerivedConfig = struct { + blur: bool, + + pub fn init(config: *const Config) DerivedConfig { + return .{ + .blur = config.@"background-blur-radius".enabled(), + }; + } + }; + + pub fn init( + _: Allocator, + app: *App, + gtk_window: *c.GtkWindow, + config: *const Config, + ) !Window { + const surface = c.gtk_native_get_surface( + @ptrCast(gtk_window), + ) orelse return error.NotX11Surface; // Check if we're actually on X11 if (c.g_type_check_instance_is_a( @ptrCast(@alignCast(surface)), c.gdk_x11_surface_get_type(), - ) == 0) - return; + ) == 0) return error.NotX11Surface; - var blur_region: Region = .{}; + const blur_region: Region = blur: { + if ((comptime !adwaita.versionAtLeast(0, 0, 0)) or + !adwaita.enabled(config)) break :blur .{}; - if ((comptime adwaita.versionAtLeast(0, 0, 0)) and common.derived_config.adw_enabled) { // NOTE(pluiedev): CSDs are a f--king mistake. // Please, GNOME, stop this nonsense of making a window ~30% bigger // internally than how they really are just for your shadows and // rounded corners and all that fluff. Please. I beg of you. + var x: f64 = 0; + var y: f64 = 0; + c.gtk_native_get_surface_transform( + @ptrCast(gtk_window), + &x, + &y, + ); - var x: f64, var y: f64 = .{ 0, 0 }; - c.gtk_native_get_surface_transform(@ptrCast(common.gtk_window), &x, &y); - blur_region.x, blur_region.y = .{ @intFromFloat(x), @intFromFloat(y) }; - } + break :blur .{ + .x = @intFromFloat(x), + .y = @intFromFloat(y), + }; + }; - common.inner = .{ .x11 = .{ - .common = common, - .app = &common.app.inner.x11, + return .{ + .app = app, + .config = DerivedConfig.init(config), .window = c.gdk_x11_surface_get_xid(surface), + .gtk_window = gtk_window, .blur_region = blur_region, - } }; + }; } - pub fn onConfigUpdate(self: *Surface) !void { - // Whether background blur is enabled could've changed. Update. - try self.updateBlur(); + pub fn deinit(self: Window, alloc: Allocator) void { + _ = self; + _ = alloc; } - pub fn onResize(self: *Surface) !void { + pub fn updateConfigEvent( + self: *Window, + config: *const Config, + ) !void { + self.config = DerivedConfig.init(config); + } + + pub fn resizeEvent(self: *Window) !void { // The blur region must update with window resizes - self.blur_region.width = c.gtk_widget_get_width(@ptrCast(self.common.gtk_window)); - self.blur_region.height = c.gtk_widget_get_height(@ptrCast(self.common.gtk_window)); - try self.updateBlur(); + self.blur_region.width = c.gtk_widget_get_width(@ptrCast(self.gtk_window)); + self.blur_region.height = c.gtk_widget_get_height(@ptrCast(self.gtk_window)); + try self.syncBlur(); } - fn updateBlur(self: *Surface) !void { + pub fn syncAppearance(self: *Window) !void { + try self.syncBlur(); + } + + fn syncBlur(self: *Window) !void { // FIXME: This doesn't currently factor in rounded corners on Adwaita, // which means that the blur region will grow slightly outside of the // window borders. Unfortunately, actually calculating the rounded @@ -186,10 +248,14 @@ pub const Surface = struct { // and I think it's not really noticable enough to justify the effort. // (Wayland also has this visual artifact anyway...) - const blur = self.common.derived_config.blur; - log.debug("set blur={}, window xid={}, region={}", .{ blur, self.window, self.blur_region }); + const blur = self.config.blur; + log.debug("set blur={}, window xid={}, region={}", .{ + blur, + self.window, + self.blur_region, + }); - if (blur.enabled()) { + if (blur) { _ = c.XChangeProperty( self.app.display, self.window, @@ -210,7 +276,11 @@ pub const Surface = struct { 4, ); } else { - _ = c.XDeleteProperty(self.app.display, self.window, self.app.kde_blur_atom); + _ = c.XDeleteProperty( + self.app.display, + self.window, + self.app.kde_blur_atom, + ); } } }; From be0370cb0e8bde6bcea056f537c71873a90c54a0 Mon Sep 17 00:00:00 2001 From: Mitchell Hashimoto Date: Fri, 10 Jan 2025 09:41:07 -0800 Subject: [PATCH 040/365] ci: test gtk-wayland in the GTK matrix --- .github/workflows/test.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 8b8e79959..1e021af64 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -342,7 +342,8 @@ jobs: matrix: adwaita: ["true", "false"] x11: ["true", "false"] - name: GTK adwaita=${{ matrix.adwaita }} x11=${{ matrix.x11 }} + wayland: ["true", "false"] + name: GTK adwaita=${{ matrix.adwaita }} x11=${{ matrix.x11 }} wayland=${{ matrix.wayland }} runs-on: namespace-profile-ghostty-sm needs: test env: @@ -374,7 +375,8 @@ jobs: zig build \ -Dapp-runtime=gtk \ -Dgtk-adwaita=${{ matrix.adwaita }} \ - -Dgtk-x11=${{ matrix.x11 }} + -Dgtk-x11=${{ matrix.x11 }} \ + -Dgtk-wayland=${{ matrix.wayland }} test-sentry-linux: strategy: From 2f81c360bd66541ebea40dcb1d62b8f8211bad64 Mon Sep 17 00:00:00 2001 From: Mitchell Hashimoto Date: Fri, 10 Jan 2025 09:42:36 -0800 Subject: [PATCH 041/365] ci: typos --- src/apprt/gtk/winproto/x11.zig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/apprt/gtk/winproto/x11.zig b/src/apprt/gtk/winproto/x11.zig index d896fc051..4eac9cdf3 100644 --- a/src/apprt/gtk/winproto/x11.zig +++ b/src/apprt/gtk/winproto/x11.zig @@ -245,7 +245,7 @@ pub const Window = struct { // window borders. Unfortunately, actually calculating the rounded // region can be quite complex without having access to existing APIs // (cf. https://github.com/cutefishos/fishui/blob/41d4ba194063a3c7fff4675619b57e6ac0504f06/src/platforms/linux/blurhelper/windowblur.cpp#L134) - // and I think it's not really noticable enough to justify the effort. + // and I think it's not really noticeable enough to justify the effort. // (Wayland also has this visual artifact anyway...) const blur = self.config.blur; From 6e411d60f209300d7f06c3502c085b086c058734 Mon Sep 17 00:00:00 2001 From: Mitchell Hashimoto Date: Fri, 10 Jan 2025 09:56:33 -0800 Subject: [PATCH 042/365] Fix wayland-scanner/protocols packaging dependency By updating zig-wayland: https://codeberg.org/ifreund/zig-wayland/issues/67 --- build.zig.zon | 4 ++-- nix/zigCacheHash.nix | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/build.zig.zon b/build.zig.zon index 18a608bb4..3c6ab85d6 100644 --- a/build.zig.zon +++ b/build.zig.zon @@ -34,8 +34,8 @@ .hash = "12207831bce7d4abce57b5a98e8f3635811cfefd160bca022eb91fe905d36a02cf25", }, .zig_wayland = .{ - .url = "https://codeberg.org/ifreund/zig-wayland/archive/0823d9116b80d65ecfad48a2efbca166c7b03497.tar.gz", - .hash = "12205e05d4db71ef30aeb3517727382c12d294968e541090a762689acbb9038826a1", + .url = "https://codeberg.org/ifreund/zig-wayland/archive/fbfe3b4ac0b472a27b1f1a67405436c58cbee12d.tar.gz", + .hash = "12209ca054cb1919fa276e328967f10b253f7537c4136eb48f3332b0f7cf661cad38", }, .zf = .{ .url = "git+https://github.com/natecraddock/zf/?ref=main#ed99ca18b02dda052e20ba467e90b623c04690dd", diff --git a/nix/zigCacheHash.nix b/nix/zigCacheHash.nix index 48270c6e8..db909a936 100644 --- a/nix/zigCacheHash.nix +++ b/nix/zigCacheHash.nix @@ -1,3 +1,3 @@ # This file is auto-generated! check build-support/check-zig-cache-hash.sh for # more details. -"sha256-MeSJiiSDDWZ7vUgY56t9aPSLPTgIKb4jexoHmDhJOGM=" +"sha256-Nx1tOhDnEZ7LVi/pKxYS3sg/Sf8TAUXDmST6EtBgDoQ=" From 010f4d167dc0f53d96fbf81b8b3c03c55d5d7ce0 Mon Sep 17 00:00:00 2001 From: "Jeffrey C. Ollie" Date: Wed, 8 Jan 2025 22:53:25 -0600 Subject: [PATCH 043/365] GTK: refactor headerbar into separate Adwaita & GTK structs --- src/apprt/gtk/Window.zig | 127 +++++++++++++------------------- src/apprt/gtk/headerbar.zig | 75 +++++-------------- src/apprt/gtk/headerbar_adw.zig | 77 +++++++++++++++++++ src/apprt/gtk/headerbar_gtk.zig | 52 +++++++++++++ 4 files changed, 201 insertions(+), 130 deletions(-) create mode 100644 src/apprt/gtk/headerbar_adw.zig create mode 100644 src/apprt/gtk/headerbar_gtk.zig diff --git a/src/apprt/gtk/Window.zig b/src/apprt/gtk/Window.zig index 0f44cee7b..86640695f 100644 --- a/src/apprt/gtk/Window.zig +++ b/src/apprt/gtk/Window.zig @@ -37,7 +37,7 @@ window: *c.GtkWindow, /// The header bar for the window. This is possibly null since it can be /// disabled using gtk-titlebar. This is either an AdwHeaderBar or /// GtkHeaderBar depending on if adw is enabled and linked. -header: ?HeaderBar, +headerbar: HeaderBar, /// The tab overview for the window. This is possibly null since there is no /// taboverview without a AdwApplicationWindow (libadwaita >= 1.4.0). @@ -77,7 +77,7 @@ pub fn init(self: *Window, app: *App) !void { self.* = .{ .app = app, .window = undefined, - .header = null, + .headerbar = undefined, .tab_overview = null, .notebook = undefined, .context_menu = undefined, @@ -150,64 +150,56 @@ pub fn init(self: *Window, app: *App) !void { break :overview tab_overview; } else null; - // gtk-titlebar can be used to disable the header bar (but keep - // the window manager's decorations). We create this no matter if we - // are decorated or not because we can have a keybind to toggle the - // decorations. - if (app.config.@"gtk-titlebar") { - const header = HeaderBar.init(self); + // gtk-titlebar can be used to disable the header bar (but keep the window + // manager's decorations). We create this no matter if we are decorated or + // not because we can have a keybind to toggle the decorations. + self.headerbar.init(); - // If we are not decorated then we hide the titlebar. - header.setVisible(app.config.@"window-decoration"); + { + const btn = c.gtk_menu_button_new(); + c.gtk_widget_set_tooltip_text(btn, "Main Menu"); + c.gtk_menu_button_set_icon_name(@ptrCast(btn), "open-menu-symbolic"); + c.gtk_menu_button_set_menu_model(@ptrCast(btn), @ptrCast(@alignCast(app.menu))); + self.headerbar.packEnd(btn); + } - { - const btn = c.gtk_menu_button_new(); - c.gtk_widget_set_tooltip_text(btn, "Main Menu"); - c.gtk_menu_button_set_icon_name(@ptrCast(btn), "open-menu-symbolic"); - c.gtk_menu_button_set_menu_model(@ptrCast(btn), @ptrCast(@alignCast(app.menu))); - header.packEnd(btn); - } + // If we're using an AdwWindow then we can support the tab overview. + if (self.tab_overview) |tab_overview| { + if (comptime !adwaita.versionAtLeast(1, 4, 0)) unreachable; + assert(self.app.config.@"gtk-adwaita" and adwaita.versionAtLeast(1, 4, 0)); + const btn = switch (app.config.@"gtk-tabs-location") { + .top, .bottom, .left, .right => btn: { + const btn = c.gtk_toggle_button_new(); + c.gtk_widget_set_tooltip_text(btn, "View Open Tabs"); + c.gtk_button_set_icon_name(@ptrCast(btn), "view-grid-symbolic"); + _ = c.g_object_bind_property( + btn, + "active", + tab_overview, + "open", + c.G_BINDING_BIDIRECTIONAL | c.G_BINDING_SYNC_CREATE, + ); - // If we're using an AdwWindow then we can support the tab overview. - if (self.tab_overview) |tab_overview| { - if (comptime !adwaita.versionAtLeast(1, 4, 0)) unreachable; - assert(self.app.config.@"gtk-adwaita" and adwaita.versionAtLeast(1, 4, 0)); - const btn = switch (app.config.@"gtk-tabs-location") { - .top, .bottom, .left, .right => btn: { - const btn = c.gtk_toggle_button_new(); - c.gtk_widget_set_tooltip_text(btn, "View Open Tabs"); - c.gtk_button_set_icon_name(@ptrCast(btn), "view-grid-symbolic"); - _ = c.g_object_bind_property( - btn, - "active", - tab_overview, - "open", - c.G_BINDING_BIDIRECTIONAL | c.G_BINDING_SYNC_CREATE, - ); + break :btn btn; + }, - break :btn btn; - }, + .hidden => btn: { + const btn = c.adw_tab_button_new(); + c.adw_tab_button_set_view(@ptrCast(btn), self.notebook.adw.tab_view); + c.gtk_actionable_set_action_name(@ptrCast(btn), "overview.open"); + break :btn btn; + }, + }; - .hidden => btn: { - const btn = c.adw_tab_button_new(); - c.adw_tab_button_set_view(@ptrCast(btn), self.notebook.adw.tab_view); - c.gtk_actionable_set_action_name(@ptrCast(btn), "overview.open"); - break :btn btn; - }, - }; + c.gtk_widget_set_focus_on_click(btn, c.FALSE); + self.headerbar.packEnd(btn); + } - c.gtk_widget_set_focus_on_click(btn, c.FALSE); - header.packEnd(btn); - } - - { - const btn = c.gtk_button_new_from_icon_name("tab-new-symbolic"); - c.gtk_widget_set_tooltip_text(btn, "New Tab"); - _ = c.g_signal_connect_data(btn, "clicked", c.G_CALLBACK(>kTabNewClick), self, null, c.G_CONNECT_DEFAULT); - header.packStart(btn); - } - - self.header = header; + { + const btn = c.gtk_button_new_from_icon_name("tab-new-symbolic"); + c.gtk_widget_set_tooltip_text(btn, "New Tab"); + _ = c.g_signal_connect_data(btn, "clicked", c.G_CALLBACK(>kTabNewClick), self, null, c.G_CONNECT_DEFAULT); + self.headerbar.packStart(btn); } _ = c.g_signal_connect_data(gtk_window, "notify::decorated", c.G_CALLBACK(>kWindowNotifyDecorated), self, null, c.G_CONNECT_DEFAULT); @@ -220,9 +212,7 @@ pub fn init(self: *Window, app: *App) !void { // If Adwaita is enabled and is older than 1.4.0 we don't have the tab overview and so we // need to stick the headerbar into the content box. if (!adwaita.versionAtLeast(1, 4, 0) and adwaita.enabled(&self.app.config)) { - if (self.header) |h| { - c.gtk_box_append(@ptrCast(box), h.asWidget()); - } + c.gtk_box_append(@ptrCast(box), self.headerbar.asWidget()); } // In debug we show a warning and apply the 'devel' class to the window. @@ -297,10 +287,7 @@ pub fn init(self: *Window, app: *App) !void { if ((comptime adwaita.versionAtLeast(1, 4, 0)) and adwaita.versionAtLeast(1, 4, 0) and adwaita.enabled(&self.app.config)) { const toolbar_view: *c.AdwToolbarView = @ptrCast(c.adw_toolbar_view_new()); - if (self.header) |header| { - const header_widget = header.asWidget(); - c.adw_toolbar_view_add_top_bar(toolbar_view, header_widget); - } + c.adw_toolbar_view_add_top_bar(toolbar_view, self.headerbar.asWidget()); if (self.app.config.@"gtk-tabs-location" != .hidden) { const tab_bar = c.adw_tab_bar_new(); @@ -373,10 +360,8 @@ pub fn init(self: *Window, app: *App) !void { box, ); } else { + c.gtk_window_set_titlebar(gtk_window, self.headerbar.asWidget()); c.gtk_window_set_child(gtk_window, box); - if (self.header) |h| { - c.gtk_window_set_titlebar(gtk_window, h.asWidget()); - } } } @@ -452,18 +437,12 @@ pub fn deinit(self: *Window) void { /// Set the title of the window. pub fn setTitle(self: *Window, title: [:0]const u8) void { - if ((comptime adwaita.versionAtLeast(1, 4, 0)) and adwaita.versionAtLeast(1, 4, 0) and adwaita.enabled(&self.app.config) and self.app.config.@"gtk-titlebar") { - if (self.header) |header| header.setTitle(title); - } else { - c.gtk_window_set_title(self.window, title); - } + self.headerbar.setTitle(title); } /// Set the subtitle of the window if it has one. pub fn setSubtitle(self: *Window, subtitle: [:0]const u8) void { - if ((comptime adwaita.versionAtLeast(1, 4, 0)) and adwaita.versionAtLeast(1, 4, 0) and adwaita.enabled(&self.app.config) and self.app.config.@"gtk-titlebar") { - if (self.header) |header| header.setSubtitle(subtitle); - } + self.headerbar.setSubtitle(subtitle); } /// Add a new tab to this window. @@ -556,9 +535,7 @@ pub fn toggleWindowDecorations(self: *Window) void { // decorated state. GTK tends to consider the titlebar part of the frame // and hides it with decorations, but libadwaita doesn't. This makes it // explicit. - if (self.header) |headerbar| { - headerbar.setVisible(new_decorated); - } + self.headerbar.setVisible(new_decorated); } /// Grabs focus on the currently selected tab. diff --git a/src/apprt/gtk/headerbar.zig b/src/apprt/gtk/headerbar.zig index 97c48a4c2..2b47ea4b7 100644 --- a/src/apprt/gtk/headerbar.zig +++ b/src/apprt/gtk/headerbar.zig @@ -4,93 +4,58 @@ const c = @import("c.zig").c; const Window = @import("Window.zig"); const adwaita = @import("adwaita.zig"); -const AdwHeaderBar = if (adwaita.versionAtLeast(0, 0, 0)) c.AdwHeaderBar else void; +const HeaderBarAdw = @import("headerbar_adw.zig"); +const HeaderBarGtk = @import("headerbar_gtk.zig"); pub const HeaderBar = union(enum) { - adw: *AdwHeaderBar, - gtk: *c.GtkHeaderBar, + adw: HeaderBarAdw, + gtk: HeaderBarGtk, - pub fn init(window: *Window) HeaderBar { - if ((comptime adwaita.versionAtLeast(1, 4, 0)) and - adwaita.enabled(&window.app.config)) - { - return initAdw(window); + pub fn init(self: *HeaderBar) void { + const window: *Window = @fieldParentPtr("headerbar", self); + if ((comptime adwaita.versionAtLeast(1, 4, 0)) and adwaita.enabled(&window.app.config)) { + HeaderBarAdw.init(self); + } else { + HeaderBarGtk.init(self); } - return initGtk(); - } - - fn initAdw(window: *Window) HeaderBar { - const headerbar = c.adw_header_bar_new(); - c.adw_header_bar_set_title_widget(@ptrCast(headerbar), @ptrCast(c.adw_window_title_new(c.gtk_window_get_title(window.window) orelse "Ghostty", null))); - return .{ .adw = @ptrCast(headerbar) }; - } - - fn initGtk() HeaderBar { - const headerbar = c.gtk_header_bar_new(); - return .{ .gtk = @ptrCast(headerbar) }; + if (!window.app.config.@"gtk-titlebar" or !window.app.config.@"window-decoration") + self.setVisible(false); } pub fn setVisible(self: HeaderBar, visible: bool) void { - c.gtk_widget_set_visible(self.asWidget(), @intFromBool(visible)); + switch (self) { + inline else => |v| v.setVisible(visible), + } } pub fn asWidget(self: HeaderBar) *c.GtkWidget { return switch (self) { - .adw => |headerbar| @ptrCast(@alignCast(headerbar)), - .gtk => |headerbar| @ptrCast(@alignCast(headerbar)), + inline else => |v| v.asWidget(), }; } pub fn packEnd(self: HeaderBar, widget: *c.GtkWidget) void { switch (self) { - .adw => |headerbar| if (comptime adwaita.versionAtLeast(0, 0, 0)) { - c.adw_header_bar_pack_end( - @ptrCast(@alignCast(headerbar)), - widget, - ); - }, - .gtk => |headerbar| c.gtk_header_bar_pack_end( - @ptrCast(@alignCast(headerbar)), - widget, - ), + inline else => |v| v.packEnd(widget), } } pub fn packStart(self: HeaderBar, widget: *c.GtkWidget) void { switch (self) { - .adw => |headerbar| if (comptime adwaita.versionAtLeast(0, 0, 0)) { - c.adw_header_bar_pack_start( - @ptrCast(@alignCast(headerbar)), - widget, - ); - }, - .gtk => |headerbar| c.gtk_header_bar_pack_start( - @ptrCast(@alignCast(headerbar)), - widget, - ), + inline else => |v| v.packStart(widget), } } pub fn setTitle(self: HeaderBar, title: [:0]const u8) void { switch (self) { - .adw => |headerbar| if (comptime adwaita.versionAtLeast(0, 0, 0)) { - const window_title: *c.AdwWindowTitle = @ptrCast(c.adw_header_bar_get_title_widget(@ptrCast(headerbar))); - c.adw_window_title_set_title(window_title, title); - }, - // The title is owned by the window when not using Adwaita - .gtk => unreachable, + inline else => |v| v.setTitle(title), } } pub fn setSubtitle(self: HeaderBar, subtitle: [:0]const u8) void { switch (self) { - .adw => |headerbar| if (comptime adwaita.versionAtLeast(0, 0, 0)) { - const window_title: *c.AdwWindowTitle = @ptrCast(c.adw_header_bar_get_title_widget(@ptrCast(headerbar))); - c.adw_window_title_set_subtitle(window_title, subtitle); - }, - // There is no subtitle unless Adwaita is used - .gtk => unreachable, + inline else => |v| v.setSubtitle(subtitle), } } }; diff --git a/src/apprt/gtk/headerbar_adw.zig b/src/apprt/gtk/headerbar_adw.zig new file mode 100644 index 000000000..c0d622207 --- /dev/null +++ b/src/apprt/gtk/headerbar_adw.zig @@ -0,0 +1,77 @@ +const HeaderBarAdw = @This(); + +const std = @import("std"); +const c = @import("c.zig").c; + +const Window = @import("Window.zig"); +const adwaita = @import("adwaita.zig"); + +const HeaderBar = @import("headerbar.zig").HeaderBar; + +const AdwHeaderBar = if (adwaita.versionAtLeast(0, 0, 0)) c.AdwHeaderBar else anyopaque; +const AdwWindowTitle = if (adwaita.versionAtLeast(0, 0, 0)) c.AdwWindowTitle else anyopaque; + +/// the window that this headerbar is attached to +window: *Window, +/// the Adwaita headerbar widget +headerbar: *AdwHeaderBar, +/// the Adwaita window title widget +title: *AdwWindowTitle, + +pub fn init(headerbar: *HeaderBar) void { + if (!adwaita.versionAtLeast(0, 0, 0)) return; + + const window: *Window = @fieldParentPtr("headerbar", headerbar); + headerbar.* = .{ + .adw = .{ + .window = window, + .headerbar = @ptrCast(@alignCast(c.adw_header_bar_new())), + .title = @ptrCast(@alignCast(c.adw_window_title_new( + c.gtk_window_get_title(window.window) orelse "Ghostty", + null, + ))), + }, + }; + c.adw_header_bar_set_title_widget( + headerbar.adw.headerbar, + @ptrCast(@alignCast(headerbar.adw.title)), + ); +} + +pub fn setVisible(self: HeaderBarAdw, visible: bool) void { + c.gtk_widget_set_visible(self.asWidget(), @intFromBool(visible)); +} + +pub fn asWidget(self: HeaderBarAdw) *c.GtkWidget { + return @ptrCast(@alignCast(self.headerbar)); +} + +pub fn packEnd(self: HeaderBarAdw, widget: *c.GtkWidget) void { + if (comptime adwaita.versionAtLeast(0, 0, 0)) { + c.adw_header_bar_pack_end( + @ptrCast(@alignCast(self.headerbar)), + widget, + ); + } +} + +pub fn packStart(self: HeaderBarAdw, widget: *c.GtkWidget) void { + if (comptime adwaita.versionAtLeast(0, 0, 0)) { + c.adw_header_bar_pack_start( + @ptrCast(@alignCast(self.headerbar)), + widget, + ); + } +} + +pub fn setTitle(self: HeaderBarAdw, title: [:0]const u8) void { + if (comptime adwaita.versionAtLeast(0, 0, 0)) { + c.adw_window_title_set_title(self.title, title); + } +} + +pub fn setSubtitle(self: HeaderBarAdw, subtitle: [:0]const u8) void { + if (comptime adwaita.versionAtLeast(0, 0, 0)) { + c.adw_window_title_set_subtitle(self.title, subtitle); + } +} diff --git a/src/apprt/gtk/headerbar_gtk.zig b/src/apprt/gtk/headerbar_gtk.zig new file mode 100644 index 000000000..63ba8b389 --- /dev/null +++ b/src/apprt/gtk/headerbar_gtk.zig @@ -0,0 +1,52 @@ +const HeaderBarGtk = @This(); + +const std = @import("std"); +const c = @import("c.zig").c; + +const Window = @import("Window.zig"); +const adwaita = @import("adwaita.zig"); + +const HeaderBar = @import("headerbar.zig").HeaderBar; + +/// the window that this headarbar is attached to +window: *Window, +/// the GTK headerbar widget +headerbar: *c.GtkHeaderBar, + +pub fn init(headerbar: *HeaderBar) void { + const window: *Window = @fieldParentPtr("headerbar", headerbar); + headerbar.* = .{ + .gtk = .{ + .window = window, + .headerbar = @ptrCast(c.gtk_header_bar_new()), + }, + }; +} + +pub fn setVisible(self: HeaderBarGtk, visible: bool) void { + c.gtk_widget_set_visible(self.asWidget(), @intFromBool(visible)); +} + +pub fn asWidget(self: HeaderBarGtk) *c.GtkWidget { + return @ptrCast(@alignCast(self.headerbar)); +} + +pub fn packEnd(self: HeaderBarGtk, widget: *c.GtkWidget) void { + c.gtk_header_bar_pack_end( + @ptrCast(@alignCast(self.headerbar)), + widget, + ); +} + +pub fn packStart(self: HeaderBarGtk, widget: *c.GtkWidget) void { + c.gtk_header_bar_pack_start( + @ptrCast(@alignCast(self.headerbar)), + widget, + ); +} + +pub fn setTitle(self: HeaderBarGtk, title: [:0]const u8) void { + c.gtk_window_set_title(self.window.window, title); +} + +pub fn setSubtitle(_: HeaderBarGtk, _: [:0]const u8) void {} From d26c114b5d013d311929be177f97d2ce46617580 Mon Sep 17 00:00:00 2001 From: Mitchell Hashimoto Date: Fri, 10 Jan 2025 12:10:26 -0800 Subject: [PATCH 044/365] apprt/gtk: make sure noop winproto never initializes --- src/apprt/gtk/App.zig | 1 + src/apprt/gtk/winproto.zig | 2 +- src/apprt/gtk/winproto/noop.zig | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/apprt/gtk/App.zig b/src/apprt/gtk/App.zig index b041d29fb..6fa98a011 100644 --- a/src/apprt/gtk/App.zig +++ b/src/apprt/gtk/App.zig @@ -373,6 +373,7 @@ pub fn init(core_app: *CoreApp, opts: Options) !App { &config, ); errdefer winproto_app.deinit(core_app.alloc); + log.debug("windowing protocol={s}", .{@tagName(winproto_app)}); // This just calls the `activate` signal but its part of the normal startup // routine so we just call it, but only if the config allows it (this allows diff --git a/src/apprt/gtk/winproto.zig b/src/apprt/gtk/winproto.zig index 49d96bb02..cb873fe01 100644 --- a/src/apprt/gtk/winproto.zig +++ b/src/apprt/gtk/winproto.zig @@ -40,7 +40,7 @@ pub const App = union(Protocol) { } } - return .none; + return .{ .none = .{} }; } pub fn deinit(self: *App, alloc: Allocator) void { diff --git a/src/apprt/gtk/winproto/noop.zig b/src/apprt/gtk/winproto/noop.zig index 54c14fe14..14f3dc6a7 100644 --- a/src/apprt/gtk/winproto/noop.zig +++ b/src/apprt/gtk/winproto/noop.zig @@ -13,7 +13,7 @@ pub const App = struct { _: [:0]const u8, _: *const Config, ) !?App { - return .{}; + return null; } pub fn deinit(self: *App, alloc: Allocator) void { From 2fb0d99f00a832430e98d55e1b3198a51ca6c9da Mon Sep 17 00:00:00 2001 From: Mitchell Hashimoto Date: Fri, 10 Jan 2025 12:56:17 -0800 Subject: [PATCH 045/365] ci: add required checks jobs This is a hack to make it easier for our GitHub branching rules to require a single check to pass before merging. This lets us describe the required checks in code rather than via the GH UI. --- .github/workflows/nix.yml | 9 +++++++++ .github/workflows/test.yml | 23 +++++++++++++++++++++++ 2 files changed, 32 insertions(+) diff --git a/.github/workflows/nix.yml b/.github/workflows/nix.yml index d5ee328e5..d557fcebd 100644 --- a/.github/workflows/nix.yml +++ b/.github/workflows/nix.yml @@ -1,6 +1,15 @@ on: [push, pull_request] name: Nix jobs: + required: + name: Required Checks + runs-on: namespace-profile-ghostty-sm + needs: + - check-zig-cache-hash + steps: + - name: Noop + run: echo "Required Checks Met" + check-zig-cache-hash: if: github.repository == 'ghostty-org/ghostty' runs-on: namespace-profile-ghostty-sm diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 1e021af64..150901cb6 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -6,6 +6,29 @@ on: name: Test jobs: + required: + name: Required Checks + runs-on: namespace-profile-ghostty-sm + needs: + - build + - build-bench + - build-linux-libghostty + - build-nix + - build-macos + - build-macos-matrix + - build-windows + - test + - test-gtk + - test-sentry-linux + - test-macos + - prettier + - alejandra + - typos + - test-pkg-linux + steps: + - name: Noop + run: echo "Required Checks Met" + build: strategy: fail-fast: false From 13e96c7ec86718dcec2066cf60e7ecbf7011ec17 Mon Sep 17 00:00:00 2001 From: "Jeffrey C. Ollie" Date: Sun, 5 Jan 2025 18:49:24 -0600 Subject: [PATCH 046/365] gtk: add config option to disable GTK OpenGL debug logging --- src/apprt/gtk/App.zig | 125 ++++++++++++++++++++++++++++++------------ src/config/Config.zig | 9 +++ 2 files changed, 98 insertions(+), 36 deletions(-) diff --git a/src/apprt/gtk/App.zig b/src/apprt/gtk/App.zig index 6fa98a011..ba01236cc 100644 --- a/src/apprt/gtk/App.zig +++ b/src/apprt/gtk/App.zig @@ -104,42 +104,6 @@ pub fn init(core_app: *CoreApp, opts: Options) !App { c.gtk_get_micro_version(), }); - // Disabling Vulkan can improve startup times by hundreds of - // milliseconds on some systems. We don't use Vulkan so we can just - // disable it. - if (version.runtimeAtLeast(4, 16, 0)) { - // From gtk 4.16, GDK_DEBUG is split into GDK_DEBUG and GDK_DISABLE. - // For the remainder of "why" see the 4.14 comment below. - _ = internal_os.setenv("GDK_DISABLE", "gles-api,vulkan"); - _ = internal_os.setenv("GDK_DEBUG", "opengl,gl-no-fractional"); - } else if (version.runtimeAtLeast(4, 14, 0)) { - // We need to export GDK_DEBUG to run on Wayland after GTK 4.14. - // Older versions of GTK do not support these values so it is safe - // to always set this. Forwards versions are uncertain so we'll have to - // reassess... - // - // Upstream issue: https://gitlab.gnome.org/GNOME/gtk/-/issues/6589 - // - // Specific details about values: - // - "opengl" - output OpenGL debug information - // - "gl-disable-gles" - disable GLES, Ghostty can't use GLES - // - "vulkan-disable" - disable Vulkan, Ghostty can't use Vulkan - // and initializing a Vulkan context was causing a longer delay - // on some systems. - _ = internal_os.setenv("GDK_DEBUG", "opengl,gl-disable-gles,vulkan-disable,gl-no-fractional"); - } else { - // Versions prior to 4.14 are a bit of an unknown for Ghostty. It - // is an environment that isn't tested well and we don't have a - // good understanding of what we may need to do. - _ = internal_os.setenv("GDK_DEBUG", "vulkan-disable"); - } - - if (version.runtimeAtLeast(4, 14, 0)) { - // We need to export GSK_RENDERER to opengl because GTK uses ngl by - // default after 4.14 - _ = internal_os.setenv("GSK_RENDERER", "opengl"); - } - // Load our configuration var config = try Config.load(core_app.alloc); errdefer config.deinit(); @@ -161,6 +125,95 @@ pub fn init(core_app: *CoreApp, opts: Options) !App { } } + var gdk_debug: struct { + /// output OpenGL debug information + opengl: bool = false, + /// disable GLES, Ghostty can't use GLES + @"gl-disable-gles": bool = false, + @"gl-no-fractional": bool = false, + /// Disabling Vulkan can improve startup times by hundreds of + /// milliseconds on some systems. We don't use Vulkan so we can just + /// disable it. + @"vulkan-disable": bool = false, + } = .{ + .opengl = config.@"gtk-opengl-debug", + }; + + var gdk_disable: struct { + @"gles-api": bool = false, + /// Disabling Vulkan can improve startup times by hundreds of + /// milliseconds on some systems. We don't use Vulkan so we can just + /// disable it. + vulkan: bool = false, + } = .{}; + + environment: { + if (version.runtimeAtLeast(4, 16, 0)) { + // From gtk 4.16, GDK_DEBUG is split into GDK_DEBUG and GDK_DISABLE. + // For the remainder of "why" see the 4.14 comment below. + gdk_disable.@"gles-api" = true; + gdk_disable.vulkan = true; + gdk_debug.@"gl-no-fractional" = true; + break :environment; + } + if (version.runtimeAtLeast(4, 14, 0)) { + // We need to export GDK_DEBUG to run on Wayland after GTK 4.14. + // Older versions of GTK do not support these values so it is safe + // to always set this. Forwards versions are uncertain so we'll have + // to reassess... + // + // Upstream issue: https://gitlab.gnome.org/GNOME/gtk/-/issues/6589 + gdk_debug.@"gl-disable-gles" = true; + gdk_debug.@"gl-no-fractional" = true; + gdk_debug.@"vulkan-disable" = true; + break :environment; + } + // Versions prior to 4.14 are a bit of an unknown for Ghostty. It + // is an environment that isn't tested well and we don't have a + // good understanding of what we may need to do. + gdk_debug.@"vulkan-disable" = true; + } + + { + var buf: [128]u8 = undefined; + var fmt = std.io.fixedBufferStream(&buf); + const writer = fmt.writer(); + var first: bool = true; + inline for (@typeInfo(@TypeOf(gdk_debug)).Struct.fields) |field| { + if (@field(gdk_debug, field.name)) { + if (!first) try writer.writeAll(","); + try writer.writeAll(field.name); + first = false; + } + } + try writer.writeByte(0); + log.warn("setting GDK_DEBUG={s}", .{fmt.getWritten()}); + _ = internal_os.setenv("GDK_DEBUG", buf[0 .. fmt.pos - 1 :0]); + } + + { + var buf: [128]u8 = undefined; + var fmt = std.io.fixedBufferStream(&buf); + const writer = fmt.writer(); + var first: bool = true; + inline for (@typeInfo(@TypeOf(gdk_disable)).Struct.fields) |field| { + if (@field(gdk_disable, field.name)) { + if (!first) try writer.writeAll(","); + try writer.writeAll(field.name); + first = false; + } + } + try writer.writeByte(0); + log.warn("setting GDK_DISABLE={s}", .{fmt.getWritten()}); + _ = internal_os.setenv("GDK_DISABLE", buf[0 .. fmt.pos - 1 :0]); + } + + if (version.runtimeAtLeast(4, 14, 0)) { + // We need to export GSK_RENDERER to opengl because GTK uses ngl by + // default after 4.14 + _ = internal_os.setenv("GSK_RENDERER", "opengl"); + } + c.gtk_init(); const display: *c.GdkDisplay = c.gdk_display_get_default() orelse { // I'm unsure of any scenario where this happens. Because we don't diff --git a/src/config/Config.zig b/src/config/Config.zig index 1de0ddaad..6c5d0b1e2 100644 --- a/src/config/Config.zig +++ b/src/config/Config.zig @@ -1975,6 +1975,15 @@ keybind: Keybinds = .{}, /// must always be able to move themselves into an isolated cgroup. @"linux-cgroup-hard-fail": bool = false, +/// Enable or disable GTK's OpenGL debugging logs. The default depends on the +/// optimization level that Ghostty was built with: +/// +/// - `Debug`: `true` +/// - `ReleaseSafe`: `true` +/// - `ReleaseSmall`: `true` +/// - `ReleaseFast`: `false` +@"gtk-opengl-debug": bool = build_config.slow_runtime_safety, + /// If `true`, the Ghostty GTK application will run in single-instance mode: /// each new `ghostty` process launched will result in a new window if there is /// already a running process. From 06a57842af1c3c71d6103e63fe4321eda1c6a556 Mon Sep 17 00:00:00 2001 From: "Jeffrey C. Ollie" Date: Mon, 6 Jan 2025 19:27:53 -0600 Subject: [PATCH 047/365] gtk: add config option to control GSK_RENDERER env var --- src/apprt/gtk/App.zig | 13 ++++++++++--- src/config/Config.zig | 14 ++++++++++++++ 2 files changed, 24 insertions(+), 3 deletions(-) diff --git a/src/apprt/gtk/App.zig b/src/apprt/gtk/App.zig index ba01236cc..10b8f756a 100644 --- a/src/apprt/gtk/App.zig +++ b/src/apprt/gtk/App.zig @@ -209,9 +209,16 @@ pub fn init(core_app: *CoreApp, opts: Options) !App { } if (version.runtimeAtLeast(4, 14, 0)) { - // We need to export GSK_RENDERER to opengl because GTK uses ngl by - // default after 4.14 - _ = internal_os.setenv("GSK_RENDERER", "opengl"); + switch (config.@"gtk-gsk-renderer") { + .default => {}, + else => |renderer| { + // Force the GSK renderer to a specific value. After GTK 4.14 the + // `ngl` renderer is used by default which causes artifacts when + // used with Ghostty so it should be avoided. + log.warn("setting GSK_RENDERER={s}", .{@tagName(renderer)}); + _ = internal_os.setenv("GSK_RENDERER", @tagName(renderer)); + }, + } } c.gtk_init(); diff --git a/src/config/Config.zig b/src/config/Config.zig index 6c5d0b1e2..6c10213e8 100644 --- a/src/config/Config.zig +++ b/src/config/Config.zig @@ -1984,6 +1984,14 @@ keybind: Keybinds = .{}, /// - `ReleaseFast`: `false` @"gtk-opengl-debug": bool = build_config.slow_runtime_safety, +/// After GTK 4.14.0, we need to force the GSK renderer to OpenGL as the default +/// GSK renderer is broken on some systems. If you would like to override +/// that bekavior, set `gtk-gsk-renderer=default` and either use your system's +/// default GSK renderer, or set the GSK_RENDERER environment variable to your +/// renderer of choice before launching Ghostty. This setting has no effect when +/// using versions of GTK earlier than 4.14.0. +@"gtk-gsk-renderer": GtkGskRenderer = .opengl, + /// If `true`, the Ghostty GTK application will run in single-instance mode: /// each new `ghostty` process launched will result in a new window if there is /// already a running process. @@ -6167,6 +6175,12 @@ pub const WindowPadding = struct { } }; +/// See the `gtk-gsk-renderer` config. +pub const GtkGskRenderer = enum { + default, + opengl, +}; + test "parse duration" { inline for (Duration.units) |unit| { var buf: [16]u8 = undefined; From cd638588c4e8b0dc9420878aa348e7f19a4995c6 Mon Sep 17 00:00:00 2001 From: "Jeffrey C. Ollie" Date: Wed, 8 Jan 2025 08:34:47 -0600 Subject: [PATCH 048/365] gtk: better method for setting GDK env vars --- src/apprt/gtk/App.zig | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/apprt/gtk/App.zig b/src/apprt/gtk/App.zig index 10b8f756a..70fc182e5 100644 --- a/src/apprt/gtk/App.zig +++ b/src/apprt/gtk/App.zig @@ -187,8 +187,9 @@ pub fn init(core_app: *CoreApp, opts: Options) !App { } } try writer.writeByte(0); - log.warn("setting GDK_DEBUG={s}", .{fmt.getWritten()}); - _ = internal_os.setenv("GDK_DEBUG", buf[0 .. fmt.pos - 1 :0]); + const value = fmt.getWritten(); + log.warn("setting GDK_DEBUG={s}", .{value[0 .. value.len - 1]}); + _ = internal_os.setenv("GDK_DEBUG", value[0 .. value.len - 1 :0]); } { @@ -204,8 +205,9 @@ pub fn init(core_app: *CoreApp, opts: Options) !App { } } try writer.writeByte(0); - log.warn("setting GDK_DISABLE={s}", .{fmt.getWritten()}); - _ = internal_os.setenv("GDK_DISABLE", buf[0 .. fmt.pos - 1 :0]); + const value = fmt.getWritten(); + log.warn("setting GDK_DISABLE={s}", .{value[0 .. value.len - 1]}); + _ = internal_os.setenv("GDK_DISABLE", value[0 .. value.len - 1 :0]); } if (version.runtimeAtLeast(4, 14, 0)) { From 6237377a59df054657105530271d450bf29523a8 Mon Sep 17 00:00:00 2001 From: Mitchell Hashimoto Date: Fri, 10 Jan 2025 13:22:29 -0800 Subject: [PATCH 049/365] ci: avoid "successful failure" of status check job by inspecting needs Thanks to @ryanec for this tip. --- .github/workflows/nix.yml | 20 ++++++++++++++++++-- .github/workflows/test.yml | 20 ++++++++++++++++++-- 2 files changed, 36 insertions(+), 4 deletions(-) diff --git a/.github/workflows/nix.yml b/.github/workflows/nix.yml index d557fcebd..ced1df6df 100644 --- a/.github/workflows/nix.yml +++ b/.github/workflows/nix.yml @@ -7,8 +7,24 @@ jobs: needs: - check-zig-cache-hash steps: - - name: Noop - run: echo "Required Checks Met" + - id: status + name: Determine status + run: | + results=$(tr -d '\n' <<< '${{ toJSON(needs.*.result) }}') + if ! grep -q -v -E '(failure|cancelled)' <<< "$results"; then + result="failed" + else + result="success" + fi + { + echo "result=${result}" + echo "results=${results}" + } | tee -a "$GITHUB_OUTPUT" + - if: always() && steps.status.outputs.result != 'success' + name: Check for failed status + run: | + echo "One or more required build workflows failed: ${{ steps.status.outputs.results }}" + exit 1 check-zig-cache-hash: if: github.repository == 'ghostty-org/ghostty' diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 150901cb6..1436339f1 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -26,8 +26,24 @@ jobs: - typos - test-pkg-linux steps: - - name: Noop - run: echo "Required Checks Met" + - id: status + name: Determine status + run: | + results=$(tr -d '\n' <<< '${{ toJSON(needs.*.result) }}') + if ! grep -q -v -E '(failure|cancelled)' <<< "$results"; then + result="failed" + else + result="success" + fi + { + echo "result=${result}" + echo "results=${results}" + } | tee -a "$GITHUB_OUTPUT" + - if: always() && steps.status.outputs.result != 'success' + name: Check for failed status + run: | + echo "One or more required build workflows failed: ${{ steps.status.outputs.results }}" + exit 1 build: strategy: From f5add68100b45880105db8126868a8482c83d8df Mon Sep 17 00:00:00 2001 From: Mitchell Hashimoto Date: Fri, 10 Jan 2025 13:31:21 -0800 Subject: [PATCH 050/365] ci: required checks must be named separately --- .github/workflows/nix.yml | 2 +- .github/workflows/test.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/nix.yml b/.github/workflows/nix.yml index ced1df6df..3339ee71c 100644 --- a/.github/workflows/nix.yml +++ b/.github/workflows/nix.yml @@ -2,7 +2,7 @@ on: [push, pull_request] name: Nix jobs: required: - name: Required Checks + name: "Required Checks: Nix" runs-on: namespace-profile-ghostty-sm needs: - check-zig-cache-hash diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 1436339f1..0f32162a9 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -7,7 +7,7 @@ name: Test jobs: required: - name: Required Checks + name: "Required Checks: Test" runs-on: namespace-profile-ghostty-sm needs: - build From 96e427cd6a86b765ba411135789319f3b8501902 Mon Sep 17 00:00:00 2001 From: "Jeffrey C. Ollie" Date: Fri, 10 Jan 2025 15:48:20 -0600 Subject: [PATCH 051/365] gtk: default to opengl debugging only on debug builds --- src/config/Config.zig | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/src/config/Config.zig b/src/config/Config.zig index 6c10213e8..144796554 100644 --- a/src/config/Config.zig +++ b/src/config/Config.zig @@ -1975,14 +1975,9 @@ keybind: Keybinds = .{}, /// must always be able to move themselves into an isolated cgroup. @"linux-cgroup-hard-fail": bool = false, -/// Enable or disable GTK's OpenGL debugging logs. The default depends on the -/// optimization level that Ghostty was built with: -/// -/// - `Debug`: `true` -/// - `ReleaseSafe`: `true` -/// - `ReleaseSmall`: `true` -/// - `ReleaseFast`: `false` -@"gtk-opengl-debug": bool = build_config.slow_runtime_safety, +/// Enable or disable GTK's OpenGL debugging logs. The default is `true` for +/// debug builds, `false` for all others. +@"gtk-opengl-debug": bool = builtin.mode == .Debug, /// After GTK 4.14.0, we need to force the GSK renderer to OpenGL as the default /// GSK renderer is broken on some systems. If you would like to override From 4dd9fe5cfd53bd60760ce74225c2065625594a89 Mon Sep 17 00:00:00 2001 From: Alexandre Antonio Juca Date: Tue, 7 Jan 2025 22:54:02 +0100 Subject: [PATCH 052/365] fix: ensure terminal tabs are reconstructed in main window after toggling visibility --- macos/Sources/App/macOS/AppDelegate.swift | 38 +++++++++++++++---- .../Features/Terminal/TerminalManager.swift | 2 +- 2 files changed, 31 insertions(+), 9 deletions(-) diff --git a/macos/Sources/App/macOS/AppDelegate.swift b/macos/Sources/App/macOS/AppDelegate.swift index a102beb91..eb9734f6c 100644 --- a/macos/Sources/App/macOS/AppDelegate.swift +++ b/macos/Sources/App/macOS/AppDelegate.swift @@ -706,20 +706,42 @@ class AppDelegate: NSObject, /// Toggles visibility of all Ghosty Terminal windows. When hidden, activates Ghostty as the frontmost application @IBAction func toggleVisibility(_ sender: Any) { - // We only care about terminal windows. - for window in NSApp.windows.filter({ $0.windowController is BaseTerminalController }) { - if isVisible { - window.orderOut(nil) - } else { - window.makeKeyAndOrderFront(nil) + if let mainWindow = terminalManager.mainWindow { + guard let parent = mainWindow.controller.window else { + Self.logger.debug("could not get parent window") + return + } + + guard let controller = parent.windowController as? TerminalController, + let primaryWindow = controller.window else { + Self.logger.debug("Could not retrieve primary window") + return + } + + // Fetch all terminal windows controlled by BaseTerminalController + for terminalWindow in NSApp.windows.filter({ $0.windowController is BaseTerminalController }) { + if isVisible { + terminalWindow.orderOut(nil) + } else { + primaryWindow.makeKeyAndOrderFront(nil) + primaryWindow.addTabbedWindow(terminalWindow, ordered: .above) + } + } + + // If our parent tab group already has this window, macOS added it and + // we need to remove it so we can set the correct order in the next line. + // If we don't do this, macOS gets really confused and the tabbedWindows + // state becomes incorrect. + if let tg = parent.tabGroup, tg.windows.firstIndex(of: parent) != nil { + tg.removeWindow(parent) } } - + // After bringing them all to front we make sure our app is active too. if !isVisible { NSApp.activate(ignoringOtherApps: true) } - + isVisible.toggle() } diff --git a/macos/Sources/Features/Terminal/TerminalManager.swift b/macos/Sources/Features/Terminal/TerminalManager.swift index 42e35b90e..82a5978c7 100644 --- a/macos/Sources/Features/Terminal/TerminalManager.swift +++ b/macos/Sources/Features/Terminal/TerminalManager.swift @@ -26,7 +26,7 @@ class TerminalManager { /// Returns the main window of the managed window stack. If there is no window /// then an arbitrary window will be chosen. - private var mainWindow: Window? { + var mainWindow: Window? { for window in windows { if (window.controller.window?.isMainWindow ?? false) { return window From 3a5aecc216290cb0f5a50da9808d34bb9ae5bec5 Mon Sep 17 00:00:00 2001 From: Alexandre Antonio Juca Date: Thu, 9 Jan 2025 23:14:00 +0100 Subject: [PATCH 053/365] fix: hide windows without calling orderOut API --- macos/Sources/App/macOS/AppDelegate.swift | 33 +++++------------------ 1 file changed, 6 insertions(+), 27 deletions(-) diff --git a/macos/Sources/App/macOS/AppDelegate.swift b/macos/Sources/App/macOS/AppDelegate.swift index eb9734f6c..776ada63e 100644 --- a/macos/Sources/App/macOS/AppDelegate.swift +++ b/macos/Sources/App/macOS/AppDelegate.swift @@ -706,34 +706,13 @@ class AppDelegate: NSObject, /// Toggles visibility of all Ghosty Terminal windows. When hidden, activates Ghostty as the frontmost application @IBAction func toggleVisibility(_ sender: Any) { - if let mainWindow = terminalManager.mainWindow { - guard let parent = mainWindow.controller.window else { - Self.logger.debug("could not get parent window") - return + if isVisible { + NSApp.windows.forEach { window in + window.alphaValue = 0.0 } - - guard let controller = parent.windowController as? TerminalController, - let primaryWindow = controller.window else { - Self.logger.debug("Could not retrieve primary window") - return - } - - // Fetch all terminal windows controlled by BaseTerminalController - for terminalWindow in NSApp.windows.filter({ $0.windowController is BaseTerminalController }) { - if isVisible { - terminalWindow.orderOut(nil) - } else { - primaryWindow.makeKeyAndOrderFront(nil) - primaryWindow.addTabbedWindow(terminalWindow, ordered: .above) - } - } - - // If our parent tab group already has this window, macOS added it and - // we need to remove it so we can set the correct order in the next line. - // If we don't do this, macOS gets really confused and the tabbedWindows - // state becomes incorrect. - if let tg = parent.tabGroup, tg.windows.firstIndex(of: parent) != nil { - tg.removeWindow(parent) + } else { + NSApp.windows.forEach { window in + window.alphaValue = 1.0 } } From 61a78efa83d176c2a81e590425f52f962125c34f Mon Sep 17 00:00:00 2001 From: Alexandre Antonio Juca Date: Thu, 9 Jan 2025 23:15:06 +0100 Subject: [PATCH 054/365] chore: revert on TerminalManager changes --- macos/Sources/Features/Terminal/TerminalManager.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/macos/Sources/Features/Terminal/TerminalManager.swift b/macos/Sources/Features/Terminal/TerminalManager.swift index 82a5978c7..42e35b90e 100644 --- a/macos/Sources/Features/Terminal/TerminalManager.swift +++ b/macos/Sources/Features/Terminal/TerminalManager.swift @@ -26,7 +26,7 @@ class TerminalManager { /// Returns the main window of the managed window stack. If there is no window /// then an arbitrary window will be chosen. - var mainWindow: Window? { + private var mainWindow: Window? { for window in windows { if (window.controller.window?.isMainWindow ?? false) { return window From 200aee9acf0a4b4ec4d4f57cde12443cef257448 Mon Sep 17 00:00:00 2001 From: Mitchell Hashimoto Date: Fri, 10 Jan 2025 14:35:43 -0800 Subject: [PATCH 055/365] macos: rework toggle_visibility to better match iTerm2 Two major changes: 1. Hiding uses `NSApp.hide` which hides all windows, preserves tabs, and yields focus to the next app. 2. Unhiding manually tracks and brings forward only the windows we hid. Proper focus should be retained. --- macos/Ghostty.xcodeproj/project.pbxproj | 4 ++ macos/Sources/App/macOS/AppDelegate.swift | 58 ++++++++++++----------- macos/Sources/Helpers/Weak.swift | 9 ++++ src/input/Binding.zig | 6 +-- 4 files changed, 47 insertions(+), 30 deletions(-) create mode 100644 macos/Sources/Helpers/Weak.swift diff --git a/macos/Ghostty.xcodeproj/project.pbxproj b/macos/Ghostty.xcodeproj/project.pbxproj index 3fa67c48a..efa4a07c9 100644 --- a/macos/Ghostty.xcodeproj/project.pbxproj +++ b/macos/Ghostty.xcodeproj/project.pbxproj @@ -72,6 +72,7 @@ A5A6F72A2CC41B8900B232A5 /* Xcode.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5A6F7292CC41B8700B232A5 /* Xcode.swift */; }; A5B30539299BEAAB0047F10C /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = A5B30538299BEAAB0047F10C /* Assets.xcassets */; }; A5CA378C2D2A4DEB00931030 /* KeyboardLayout.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5CA378B2D2A4DE800931030 /* KeyboardLayout.swift */; }; + A5CA378E2D31D6C300931030 /* Weak.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5CA378D2D31D6C100931030 /* Weak.swift */; }; A5CBD0562C9E65B80017A1AE /* DraggableWindowView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5CBD0552C9E65A50017A1AE /* DraggableWindowView.swift */; }; A5CBD0582C9F30960017A1AE /* Cursor.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5CBD0572C9F30860017A1AE /* Cursor.swift */; }; A5CBD0592C9F37B10017A1AE /* Backport.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5CEAFFE29C2410700646FDA /* Backport.swift */; }; @@ -167,6 +168,7 @@ A5B30538299BEAAB0047F10C /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; A5B3053D299BEAAB0047F10C /* Ghostty.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = Ghostty.entitlements; sourceTree = ""; }; A5CA378B2D2A4DE800931030 /* KeyboardLayout.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KeyboardLayout.swift; sourceTree = ""; }; + A5CA378D2D31D6C100931030 /* Weak.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Weak.swift; sourceTree = ""; }; A5CBD0552C9E65A50017A1AE /* DraggableWindowView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DraggableWindowView.swift; sourceTree = ""; }; A5CBD0572C9F30860017A1AE /* Cursor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Cursor.swift; sourceTree = ""; }; A5CBD05B2CA0C5C70017A1AE /* QuickTerminal.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = QuickTerminal.xib; sourceTree = ""; }; @@ -282,6 +284,7 @@ AEE8B3442B9AA39600260C5E /* NSPasteboard+Extension.swift */, A5985CD62C320C4500C57AD3 /* String+Extension.swift */, A5CC36142C9CDA03004D6760 /* View+Extension.swift */, + A5CA378D2D31D6C100931030 /* Weak.swift */, C1F26EE72B76CBFC00404083 /* VibrantLayer.h */, C1F26EE82B76CBFC00404083 /* VibrantLayer.m */, A5CEAFDA29B8005900646FDA /* SplitView */, @@ -647,6 +650,7 @@ A5A6F72A2CC41B8900B232A5 /* Xcode.swift in Sources */, A52FFF5B2CAA54B1000C6A5B /* FullscreenMode+Extension.swift in Sources */, A5333E222B5A2128008AEFF7 /* SurfaceView_AppKit.swift in Sources */, + A5CA378E2D31D6C300931030 /* Weak.swift in Sources */, A5CDF1952AAFA19600513312 /* ConfigurationErrorsView.swift in Sources */, A55B7BBC29B6FC330055DE60 /* SurfaceView.swift in Sources */, A5333E1C2B5A1CE3008AEFF7 /* CrossKit.swift in Sources */, diff --git a/macos/Sources/App/macOS/AppDelegate.swift b/macos/Sources/App/macOS/AppDelegate.swift index 776ada63e..4b11b68aa 100644 --- a/macos/Sources/App/macOS/AppDelegate.swift +++ b/macos/Sources/App/macOS/AppDelegate.swift @@ -92,10 +92,8 @@ class AppDelegate: NSObject, return ProcessInfo.processInfo.systemUptime - applicationLaunchTime } - /// Tracks whether the application is currently visible. This can be gamed, i.e. if a user manually - /// brings each window one by one to the front. But at worst its off by one set of toggles and this - /// makes our logic very easy. - private var isVisible: Bool = true + /// Tracks the windows that we hid for toggleVisibility. + private var hiddenWindows: [Weak] = [] /// The observer for the app appearance. private var appearanceObserver: NSKeyValueObservation? = nil @@ -219,15 +217,20 @@ class AppDelegate: NSObject, } func applicationDidBecomeActive(_ notification: Notification) { - guard !applicationHasBecomeActive else { return } - applicationHasBecomeActive = true + // If we're back then clear the hidden windows + self.hiddenWindows = [] - // Let's launch our first window. We only do this if we have no other windows. It - // is possible to have other windows in a few scenarios: - // - if we're opening a URL since `application(_:openFile:)` is called before this. - // - if we're restoring from persisted state - if terminalManager.windows.count == 0 && derivedConfig.initialWindow { - terminalManager.newWindow() + // First launch stuff + if (!applicationHasBecomeActive) { + applicationHasBecomeActive = true + + // Let's launch our first window. We only do this if we have no other windows. It + // is possible to have other windows in a few scenarios: + // - if we're opening a URL since `application(_:openFile:)` is called before this. + // - if we're restoring from persisted state + if terminalManager.windows.count == 0 && derivedConfig.initialWindow { + terminalManager.newWindow() + } } } @@ -706,22 +709,23 @@ class AppDelegate: NSObject, /// Toggles visibility of all Ghosty Terminal windows. When hidden, activates Ghostty as the frontmost application @IBAction func toggleVisibility(_ sender: Any) { - if isVisible { - NSApp.windows.forEach { window in - window.alphaValue = 0.0 - } - } else { - NSApp.windows.forEach { window in - window.alphaValue = 1.0 - } + // If we have focus, then we hide all windows. + if NSApp.isActive { + // We need to keep track of the windows that were visible because we only + // want to bring back these windows if we remove the toggle. + self.hiddenWindows = NSApp.windows.filter { $0.isVisible }.map { Weak($0) } + NSApp.hide(nil) + return } - - // After bringing them all to front we make sure our app is active too. - if !isVisible { - NSApp.activate(ignoringOtherApps: true) - } - - isVisible.toggle() + + // If we're not active, we want to become active + NSApp.activate(ignoringOtherApps: true) + + // Bring all windows to the front. Note: we don't use NSApp.unhide because + // that will unhide ALL hidden windows. We want to only bring forward the + // ones that we hid. + self.hiddenWindows.forEach { $0.value?.orderFrontRegardless() } + self.hiddenWindows = [] } private struct DerivedConfig { diff --git a/macos/Sources/Helpers/Weak.swift b/macos/Sources/Helpers/Weak.swift new file mode 100644 index 000000000..d5f784844 --- /dev/null +++ b/macos/Sources/Helpers/Weak.swift @@ -0,0 +1,9 @@ +/// A wrapper that holds a weak reference to an object. This lets us create native containers +/// of weak references. +class Weak { + weak var value: T? + + init(_ value: T) { + self.value = value + } +} diff --git a/src/input/Binding.zig b/src/input/Binding.zig index c5faaad06..2fdbc4cba 100644 --- a/src/input/Binding.zig +++ b/src/input/Binding.zig @@ -441,10 +441,10 @@ pub const Action = union(enum) { toggle_quick_terminal: void, /// Show/hide all windows. If all windows become shown, we also ensure - /// Ghostty is focused. + /// Ghostty becomes focused. When hiding all windows, focus is yielded + /// to the next application as determined by the OS. /// - /// This currently only works on macOS. When hiding all windows, we do - /// not yield focus to the previous application. + /// This currently only works on macOS. toggle_visibility: void, /// Quit ghostty. From b7b5b9bbf5f570f4669c92e61322469a825d0b33 Mon Sep 17 00:00:00 2001 From: Leigh Oliver Date: Tue, 31 Dec 2024 23:40:49 +0000 Subject: [PATCH 056/365] fix(gtk): add close confirmation for tabs --- src/apprt/gtk/Tab.zig | 67 +++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 64 insertions(+), 3 deletions(-) diff --git a/src/apprt/gtk/Tab.zig b/src/apprt/gtk/Tab.zig index ed0804fd3..1a3b44136 100644 --- a/src/apprt/gtk/Tab.zig +++ b/src/apprt/gtk/Tab.zig @@ -121,10 +121,71 @@ pub fn remove(self: *Tab) void { self.window.closeTab(self); } +/// Helper function to check if any surface in the split hierarchy needs close confirmation +const needsConfirm = struct { + fn check(elem: Surface.Container.Elem) bool { + return switch (elem) { + .surface => |s| s.core_surface.needsConfirmQuit(), + .split => |s| check(s.top_left) or check(s.bottom_right), + }; + } +}.check; + +/// Close the tab, asking for confirmation if any surface requests it. +fn closeWithConfirmation(tab: *Tab) void { + switch (tab.elem) { + .surface => |s| s.close(s.core_surface.needsConfirmQuit()), + .split => |s| { + if (needsConfirm(s.top_left) or needsConfirm(s.bottom_right)) { + const alert = c.gtk_message_dialog_new( + tab.window.window, + c.GTK_DIALOG_MODAL, + c.GTK_MESSAGE_QUESTION, + c.GTK_BUTTONS_YES_NO, + "Close this tab?", + ); + c.gtk_message_dialog_format_secondary_text( + @ptrCast(alert), + "All terminal sessions in this tab will be terminated.", + ); + + // We want the "yes" to appear destructive. + const yes_widget = c.gtk_dialog_get_widget_for_response( + @ptrCast(alert), + c.GTK_RESPONSE_YES, + ); + c.gtk_widget_add_css_class(yes_widget, "destructive-action"); + + // We want the "no" to be the default action + c.gtk_dialog_set_default_response( + @ptrCast(alert), + c.GTK_RESPONSE_NO, + ); + + _ = c.g_signal_connect_data(alert, "response", c.G_CALLBACK(>kTabCloseConfirmation), tab, null, c.G_CONNECT_DEFAULT); + c.gtk_widget_show(alert); + return; + } + tab.remove(); + }, + } +} + pub fn gtkTabCloseClick(_: *c.GtkButton, ud: ?*anyopaque) callconv(.C) void { const tab: *Tab = @ptrCast(@alignCast(ud)); - const window = tab.window; - window.closeTab(tab); + tab.closeWithConfirmation(); +} + +fn gtkTabCloseConfirmation( + alert: *c.GtkMessageDialog, + response: c.gint, + ud: ?*anyopaque, +) callconv(.C) void { + c.gtk_window_destroy(@ptrCast(alert)); + if (response == c.GTK_RESPONSE_YES) { + const tab: *Tab = @ptrCast(@alignCast(ud)); + tab.remove(); + } } fn gtkDestroy(v: *c.GtkWidget, ud: ?*anyopaque) callconv(.C) void { @@ -146,6 +207,6 @@ pub fn gtkTabClick( const self: *Tab = @ptrCast(@alignCast(ud)); const gtk_button = c.gtk_gesture_single_get_current_button(@ptrCast(gesture)); if (gtk_button == c.GDK_BUTTON_MIDDLE) { - self.remove(); + self.closeWithConfirmation(); } } From 8c1ad59de761153023fba73913bb168df91c55d5 Mon Sep 17 00:00:00 2001 From: Leigh Oliver Date: Wed, 1 Jan 2025 10:14:16 +0000 Subject: [PATCH 057/365] remove unnecessary struct --- src/apprt/gtk/Tab.zig | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/src/apprt/gtk/Tab.zig b/src/apprt/gtk/Tab.zig index 1a3b44136..6e28b8644 100644 --- a/src/apprt/gtk/Tab.zig +++ b/src/apprt/gtk/Tab.zig @@ -122,14 +122,12 @@ pub fn remove(self: *Tab) void { } /// Helper function to check if any surface in the split hierarchy needs close confirmation -const needsConfirm = struct { - fn check(elem: Surface.Container.Elem) bool { - return switch (elem) { - .surface => |s| s.core_surface.needsConfirmQuit(), - .split => |s| check(s.top_left) or check(s.bottom_right), - }; - } -}.check; +fn needsConfirm(elem: Surface.Container.Elem) bool { + return switch (elem) { + .surface => |s| s.core_surface.needsConfirmQuit(), + .split => |s| needsConfirm(s.top_left) or needsConfirm(s.bottom_right), + }; +} /// Close the tab, asking for confirmation if any surface requests it. fn closeWithConfirmation(tab: *Tab) void { From 00137c41895628cc6a068e40445b6670ae3a9012 Mon Sep 17 00:00:00 2001 From: Mitchell Hashimoto Date: Fri, 10 Jan 2025 15:32:25 -0800 Subject: [PATCH 058/365] apprt/gtk: adw tab view close confirmation --- src/apprt/gtk/Tab.zig | 28 ++++--------------------- src/apprt/gtk/notebook_adw.zig | 37 ++++++++++++++++++++++++++++++++++ src/apprt/gtk/notebook_gtk.zig | 23 +++++++++++++++++++-- 3 files changed, 62 insertions(+), 26 deletions(-) diff --git a/src/apprt/gtk/Tab.zig b/src/apprt/gtk/Tab.zig index 6e28b8644..d320daa7c 100644 --- a/src/apprt/gtk/Tab.zig +++ b/src/apprt/gtk/Tab.zig @@ -130,7 +130,7 @@ fn needsConfirm(elem: Surface.Container.Elem) bool { } /// Close the tab, asking for confirmation if any surface requests it. -fn closeWithConfirmation(tab: *Tab) void { +pub fn closeWithConfirmation(tab: *Tab) void { switch (tab.elem) { .surface => |s| s.close(s.core_surface.needsConfirmQuit()), .split => |s| { @@ -169,21 +169,15 @@ fn closeWithConfirmation(tab: *Tab) void { } } -pub fn gtkTabCloseClick(_: *c.GtkButton, ud: ?*anyopaque) callconv(.C) void { - const tab: *Tab = @ptrCast(@alignCast(ud)); - tab.closeWithConfirmation(); -} - fn gtkTabCloseConfirmation( alert: *c.GtkMessageDialog, response: c.gint, ud: ?*anyopaque, ) callconv(.C) void { + const tab: *Tab = @ptrCast(@alignCast(ud)); c.gtk_window_destroy(@ptrCast(alert)); - if (response == c.GTK_RESPONSE_YES) { - const tab: *Tab = @ptrCast(@alignCast(ud)); - tab.remove(); - } + if (response != c.GTK_RESPONSE_YES) return; + tab.remove(); } fn gtkDestroy(v: *c.GtkWidget, ud: ?*anyopaque) callconv(.C) void { @@ -194,17 +188,3 @@ fn gtkDestroy(v: *c.GtkWidget, ud: ?*anyopaque) callconv(.C) void { const tab: *Tab = @ptrCast(@alignCast(ud)); tab.destroy(tab.window.app.core_app.alloc); } - -pub fn gtkTabClick( - gesture: *c.GtkGestureClick, - _: c.gint, - _: c.gdouble, - _: c.gdouble, - ud: ?*anyopaque, -) callconv(.C) void { - const self: *Tab = @ptrCast(@alignCast(ud)); - const gtk_button = c.gtk_gesture_single_get_current_button(@ptrCast(gesture)); - if (gtk_button == c.GDK_BUTTON_MIDDLE) { - self.closeWithConfirmation(); - } -} diff --git a/src/apprt/gtk/notebook_adw.zig b/src/apprt/gtk/notebook_adw.zig index 48f005467..649db9be3 100644 --- a/src/apprt/gtk/notebook_adw.zig +++ b/src/apprt/gtk/notebook_adw.zig @@ -17,6 +17,14 @@ pub const NotebookAdw = struct { /// the tab view tab_view: *AdwTabView, + /// Set to true so that the adw close-page handler knows we're forcing + /// and to allow a close to happen with no confirm. This is a bit of a hack + /// because we currently use GTK alerts to confirm tab close and they + /// don't carry with them the ADW state that we are confirming or not. + /// Long term we should move to ADW alerts so we can know if we are + /// confirming or not. + forcing_close: bool = false, + pub fn init(notebook: *Notebook) void { const window: *Window = @fieldParentPtr("notebook", notebook); const app = window.app; @@ -38,6 +46,7 @@ pub const NotebookAdw = struct { }; _ = c.g_signal_connect_data(tab_view, "page-attached", c.G_CALLBACK(&adwPageAttached), window, null, c.G_CONNECT_DEFAULT); + _ = c.g_signal_connect_data(tab_view, "close-page", c.G_CALLBACK(&adwClosePage), window, null, c.G_CONNECT_DEFAULT); _ = c.g_signal_connect_data(tab_view, "create-window", c.G_CALLBACK(&adwTabViewCreateWindow), window, null, c.G_CONNECT_DEFAULT); _ = c.g_signal_connect_data(tab_view, "notify::selected-page", c.G_CALLBACK(&adwSelectPage), window, null, c.G_CONNECT_DEFAULT); } @@ -112,6 +121,12 @@ pub const NotebookAdw = struct { pub fn closeTab(self: *NotebookAdw, tab: *Tab) void { if (comptime !adwaita.versionAtLeast(0, 0, 0)) unreachable; + // closeTab always expects to close unconditionally so we mark this + // as true so that the close_page call below doesn't request + // confirmation. + self.forcing_close = true; + defer self.forcing_close = false; + const page = c.adw_tab_view_get_page(self.tab_view, @ptrCast(tab.box)) orelse return; c.adw_tab_view_close_page(self.tab_view, page); @@ -143,6 +158,28 @@ fn adwPageAttached(_: *AdwTabView, page: *c.AdwTabPage, _: c_int, ud: ?*anyopaqu window.focusCurrentTab(); } +fn adwClosePage( + _: *AdwTabView, + page: *c.AdwTabPage, + ud: ?*anyopaque, +) callconv(.C) c.gboolean { + const child = c.adw_tab_page_get_child(page); + const tab: *Tab = @ptrCast(@alignCast(c.g_object_get_data( + @ptrCast(child), + Tab.GHOSTTY_TAB, + ) orelse return 0)); + + const window: *Window = @ptrCast(@alignCast(ud.?)); + const notebook = window.notebook.adw; + c.adw_tab_view_close_page_finish( + notebook.tab_view, + page, + @intFromBool(notebook.forcing_close), + ); + if (!notebook.forcing_close) tab.closeWithConfirmation(); + return 1; +} + fn adwTabViewCreateWindow( _: *AdwTabView, ud: ?*anyopaque, diff --git a/src/apprt/gtk/notebook_gtk.zig b/src/apprt/gtk/notebook_gtk.zig index a2c482500..5f145dc84 100644 --- a/src/apprt/gtk/notebook_gtk.zig +++ b/src/apprt/gtk/notebook_gtk.zig @@ -157,8 +157,8 @@ pub const NotebookGtk = struct { c.gtk_gesture_single_set_button(@ptrCast(gesture_tab_click), 0); c.gtk_widget_add_controller(label_box_widget, @ptrCast(gesture_tab_click)); - _ = c.g_signal_connect_data(label_close, "clicked", c.G_CALLBACK(&Tab.gtkTabCloseClick), tab, null, c.G_CONNECT_DEFAULT); - _ = c.g_signal_connect_data(gesture_tab_click, "pressed", c.G_CALLBACK(&Tab.gtkTabClick), tab, null, c.G_CONNECT_DEFAULT); + _ = c.g_signal_connect_data(label_close, "clicked", c.G_CALLBACK(>kTabCloseClick), tab, null, c.G_CONNECT_DEFAULT); + _ = c.g_signal_connect_data(gesture_tab_click, "pressed", c.G_CALLBACK(>kTabClick), tab, null, c.G_CONNECT_DEFAULT); // Tab settings c.gtk_notebook_set_tab_reorderable(self.notebook, box_widget, 1); @@ -283,3 +283,22 @@ fn gtkNotebookCreateWindow( return newWindow.notebook.gtk.notebook; } + +fn gtkTabCloseClick(_: *c.GtkButton, ud: ?*anyopaque) callconv(.C) void { + const tab: *Tab = @ptrCast(@alignCast(ud)); + tab.closeWithConfirmation(); +} + +fn gtkTabClick( + gesture: *c.GtkGestureClick, + _: c.gint, + _: c.gdouble, + _: c.gdouble, + ud: ?*anyopaque, +) callconv(.C) void { + const self: *Tab = @ptrCast(@alignCast(ud)); + const gtk_button = c.gtk_gesture_single_get_current_button(@ptrCast(gesture)); + if (gtk_button == c.GDK_BUTTON_MIDDLE) { + self.closeWithConfirmation(); + } +} From 16233b16e731b5330e83ad3e95204b8fe785489e Mon Sep 17 00:00:00 2001 From: "Jeffrey C. Ollie" Date: Fri, 10 Jan 2025 19:12:08 -0600 Subject: [PATCH 059/365] gtk: fix crash due to accessing invalidated pointer to adwaita notebook --- src/apprt/gtk/notebook_adw.zig | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/apprt/gtk/notebook_adw.zig b/src/apprt/gtk/notebook_adw.zig index 649db9be3..b4190fbc4 100644 --- a/src/apprt/gtk/notebook_adw.zig +++ b/src/apprt/gtk/notebook_adw.zig @@ -125,7 +125,10 @@ pub const NotebookAdw = struct { // as true so that the close_page call below doesn't request // confirmation. self.forcing_close = true; - defer self.forcing_close = false; + const n = self.nPages(); + defer { + if (n > 1) self.forcing_close = false; + } const page = c.adw_tab_view_get_page(self.tab_view, @ptrCast(tab.box)) orelse return; c.adw_tab_view_close_page(self.tab_view, page); From 0a26321e9d48e2cbffeef2571512d8093a8e8393 Mon Sep 17 00:00:00 2001 From: "Jeffrey C. Ollie" Date: Fri, 10 Jan 2025 19:19:11 -0600 Subject: [PATCH 060/365] gtk: add some comments about closing the last tab invaldating self pointer --- src/apprt/gtk/notebook_adw.zig | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/apprt/gtk/notebook_adw.zig b/src/apprt/gtk/notebook_adw.zig index b4190fbc4..89a316332 100644 --- a/src/apprt/gtk/notebook_adw.zig +++ b/src/apprt/gtk/notebook_adw.zig @@ -127,6 +127,8 @@ pub const NotebookAdw = struct { self.forcing_close = true; const n = self.nPages(); defer { + // self becomes invalid if we close the last page because we close + // the whole window if (n > 1) self.forcing_close = false; } @@ -146,6 +148,8 @@ pub const NotebookAdw = struct { c.g_object_unref(tab.box); } + // `self` will become invalid after this call because it will have + // been freed up as part of the process of closing the window. c.gtk_window_destroy(tab.window.window); } } From 941915b862f42367866e31cadaa02922b48067ec Mon Sep 17 00:00:00 2001 From: Samuel <36420837+Samueru-sama@users.noreply.github.com> Date: Fri, 10 Jan 2025 22:26:48 -0400 Subject: [PATCH 061/365] declare `StartupWMClass` in .desktop --- dist/linux/app.desktop | 1 + 1 file changed, 1 insertion(+) diff --git a/dist/linux/app.desktop b/dist/linux/app.desktop index 6fc43d470..6e464ea87 100644 --- a/dist/linux/app.desktop +++ b/dist/linux/app.desktop @@ -7,6 +7,7 @@ Icon=com.mitchellh.ghostty Categories=System;TerminalEmulator; Keywords=terminal;tty;pty; StartupNotify=true +StartupWMClass=com.mitchellh.ghostty Terminal=false Actions=new-window; X-GNOME-UsesNotifications=true From 8102fddceb7e2c1bea1c8901977f9cab38a25618 Mon Sep 17 00:00:00 2001 From: Adam Wolf Date: Fri, 10 Jan 2025 22:42:41 -0600 Subject: [PATCH 062/365] apprt/gtk: add toggle_maximize keybind and window-maximize config option --- include/ghostty.h | 1 + src/Surface.zig | 16 ++++++++++++++++ src/apprt/action.zig | 4 ++++ src/apprt/glfw.zig | 1 + src/apprt/gtk/App.zig | 17 +++++++++++++++++ src/apprt/gtk/Window.zig | 9 +++++++++ src/config/Config.zig | 7 +++++++ src/input/Binding.zig | 4 ++++ 8 files changed, 59 insertions(+) diff --git a/include/ghostty.h b/include/ghostty.h index 29da8f37b..4275bad7e 100644 --- a/include/ghostty.h +++ b/include/ghostty.h @@ -565,6 +565,7 @@ typedef enum { GHOSTTY_ACTION_CLOSE_TAB, GHOSTTY_ACTION_NEW_SPLIT, GHOSTTY_ACTION_CLOSE_ALL_WINDOWS, + GHOSTTY_ACTION_TOGGLE_MAXIMIZE, GHOSTTY_ACTION_TOGGLE_FULLSCREEN, GHOSTTY_ACTION_TOGGLE_TAB_OVERVIEW, GHOSTTY_ACTION_TOGGLE_WINDOW_DECORATIONS, diff --git a/src/Surface.zig b/src/Surface.zig index ce00d8237..53890e287 100644 --- a/src/Surface.zig +++ b/src/Surface.zig @@ -646,6 +646,16 @@ pub fn init( // an initial size shouldn't stop our terminal from working. log.warn("unable to set initial window size: {s}", .{err}); }; + + if (config.@"window-maximize") { + rt_app.performAction( + .{ .surface = self }, + .toggle_maximize, + {}, + ) catch |err| { + log.warn("unable to maximize window: {s}", .{err}); + }; + } } if (config.title) |title| { @@ -4168,6 +4178,12 @@ pub fn performBindingAction(self: *Surface, action: input.Binding.Action) !bool {}, ), + .toggle_maximize => try self.rt_app.performAction( + .{ .surface = self }, + .toggle_maximize, + {}, + ), + .toggle_fullscreen => try self.rt_app.performAction( .{ .surface = self }, .toggle_fullscreen, diff --git a/src/apprt/action.zig b/src/apprt/action.zig index 25e1cd640..fe2039e52 100644 --- a/src/apprt/action.zig +++ b/src/apprt/action.zig @@ -92,6 +92,9 @@ pub const Action = union(Key) { /// Close all open windows. close_all_windows, + /// Toggle maximized window state. + toggle_maximize, + /// Toggle fullscreen mode. toggle_fullscreen: Fullscreen, @@ -231,6 +234,7 @@ pub const Action = union(Key) { close_tab, new_split, close_all_windows, + toggle_maximize, toggle_fullscreen, toggle_tab_overview, toggle_window_decorations, diff --git a/src/apprt/glfw.zig b/src/apprt/glfw.zig index 8094baeb8..686a70ddb 100644 --- a/src/apprt/glfw.zig +++ b/src/apprt/glfw.zig @@ -237,6 +237,7 @@ pub const App = struct { .color_change, .pwd, .config_change, + .toggle_maximize, => log.info("unimplemented action={}", .{action}), } } diff --git a/src/apprt/gtk/App.zig b/src/apprt/gtk/App.zig index 70fc182e5..f49d275de 100644 --- a/src/apprt/gtk/App.zig +++ b/src/apprt/gtk/App.zig @@ -507,6 +507,7 @@ pub fn performAction( .app => null, .surface => |v| v, }), + .toggle_maximize => self.toggleMaximize(target), .toggle_fullscreen => self.toggleFullscreen(target, value), .new_tab => try self.newTab(target), @@ -709,6 +710,22 @@ fn controlInspector( surface.controlInspector(mode); } +fn toggleMaximize(_: *App, target: apprt.Target) void { + switch (target) { + .app => {}, + .surface => |v| { + const window = v.rt_surface.container.window() orelse { + log.info( + "toggleMaximize invalid for container={s}", + .{@tagName(v.rt_surface.container)}, + ); + return; + }; + window.toggleMaximize(); + }, + } +} + fn toggleFullscreen( _: *App, target: apprt.Target, diff --git a/src/apprt/gtk/Window.zig b/src/apprt/gtk/Window.zig index 8f111cbc9..599a4d184 100644 --- a/src/apprt/gtk/Window.zig +++ b/src/apprt/gtk/Window.zig @@ -522,6 +522,15 @@ pub fn toggleTabOverview(self: *Window) void { } } +/// Toggle the maximized state for this window. +pub fn toggleMaximize(self: *Window) void { + if (c.gtk_window_is_maximized(self.window) == 0) { + c.gtk_window_maximize(self.window); + } else { + c.gtk_window_unmaximize(self.window); + } +} + /// Toggle fullscreen for this window. pub fn toggleFullscreen(self: *Window) void { const is_fullscreen = c.gtk_window_is_fullscreen(self.window); diff --git a/src/config/Config.zig b/src/config/Config.zig index 144796554..310b11623 100644 --- a/src/config/Config.zig +++ b/src/config/Config.zig @@ -1214,6 +1214,13 @@ keybind: Keybinds = .{}, @"window-position-x": ?i16 = null, @"window-position-y": ?i16 = null, +/// Whether to start the window in a maximized state. This is only related to +/// the X11 window manager's concept of maximization. In other words, this +/// will set the _NET_WM_STATE property to _NET_WM_STATE_MAXIMIZED_VERT and +/// _NET_WM_STATE_MAXIMIZED_HORZ on launch. This will not affect the window +/// size or position. This is only supported on Linux. +@"window-maximize": bool = false, + /// Whether to enable saving and restoring window state. Window state includes /// their position, size, tabs, splits, etc. Some window state requires shell /// integration, such as preserving working directories. See `shell-integration` diff --git a/src/input/Binding.zig b/src/input/Binding.zig index 2fdbc4cba..48725fb13 100644 --- a/src/input/Binding.zig +++ b/src/input/Binding.zig @@ -391,6 +391,9 @@ pub const Action = union(enum) { /// This only works for macOS currently. close_all_windows: void, + /// Toggle maximized window state. This only works on Linux. + toggle_maximize: void, + /// Toggle fullscreen mode of window. toggle_fullscreen: void, @@ -737,6 +740,7 @@ pub const Action = union(enum) { .close_surface, .close_tab, .close_window, + .toggle_maximize, .toggle_fullscreen, .toggle_window_decorations, .toggle_secure_input, From c9636598fc21864d75d4209bdc6feccae3b7cbb5 Mon Sep 17 00:00:00 2001 From: Adam Wolf Date: Fri, 10 Jan 2025 23:24:00 -0600 Subject: [PATCH 063/365] chore: rename config value to maximize and move startup logic to proper location --- src/Surface.zig | 10 ---------- src/apprt/gtk/Window.zig | 3 +++ src/config/Config.zig | 12 +++++------- 3 files changed, 8 insertions(+), 17 deletions(-) diff --git a/src/Surface.zig b/src/Surface.zig index 53890e287..9fb103ce3 100644 --- a/src/Surface.zig +++ b/src/Surface.zig @@ -646,16 +646,6 @@ pub fn init( // an initial size shouldn't stop our terminal from working. log.warn("unable to set initial window size: {s}", .{err}); }; - - if (config.@"window-maximize") { - rt_app.performAction( - .{ .surface = self }, - .toggle_maximize, - {}, - ) catch |err| { - log.warn("unable to maximize window: {s}", .{err}); - }; - } } if (config.title) |title| { diff --git a/src/apprt/gtk/Window.zig b/src/apprt/gtk/Window.zig index 599a4d184..42c179462 100644 --- a/src/apprt/gtk/Window.zig +++ b/src/apprt/gtk/Window.zig @@ -265,6 +265,9 @@ pub fn init(self: *Window, app: *App) !void { c.gtk_popover_set_has_arrow(@ptrCast(@alignCast(self.context_menu)), 0); c.gtk_widget_set_halign(self.context_menu, c.GTK_ALIGN_START); + // If we want the window to be maximized, we do that here. + if (app.config.maximize) c.gtk_window_maximize(self.window); + // If we are in fullscreen mode, new windows start fullscreen. if (app.config.fullscreen) c.gtk_window_fullscreen(self.window); diff --git a/src/config/Config.zig b/src/config/Config.zig index 310b11623..6c5b64316 100644 --- a/src/config/Config.zig +++ b/src/config/Config.zig @@ -764,6 +764,11 @@ link: RepeatableLink = .{}, /// `link`). If you want to customize URL matching, use `link` and disable this. @"link-url": bool = true, +/// Whether to start the window in a maximized state. This setting applies +/// to new windows and does not apply to tabs, splits, etc. However, this setting +/// will apply to all new windows, not just the first one. +maximize: bool = false, + /// Start new windows in fullscreen. This setting applies to new windows and /// does not apply to tabs, splits, etc. However, this setting will apply to all /// new windows, not just the first one. @@ -1214,13 +1219,6 @@ keybind: Keybinds = .{}, @"window-position-x": ?i16 = null, @"window-position-y": ?i16 = null, -/// Whether to start the window in a maximized state. This is only related to -/// the X11 window manager's concept of maximization. In other words, this -/// will set the _NET_WM_STATE property to _NET_WM_STATE_MAXIMIZED_VERT and -/// _NET_WM_STATE_MAXIMIZED_HORZ on launch. This will not affect the window -/// size or position. This is only supported on Linux. -@"window-maximize": bool = false, - /// Whether to enable saving and restoring window state. Window state includes /// their position, size, tabs, splits, etc. Some window state requires shell /// integration, such as preserving working directories. See `shell-integration` From 95fc1d64c89f90aa72cc45aa6617b50121f1a4e5 Mon Sep 17 00:00:00 2001 From: Damien Mehala Date: Sat, 11 Jan 2025 17:24:13 +0100 Subject: [PATCH 064/365] parse ConEmu OSC9;5 --- src/terminal/osc.zig | 38 ++++++++++++++++++++++++++++++++++++++ src/terminal/stream.zig | 2 +- 2 files changed, 39 insertions(+), 1 deletion(-) diff --git a/src/terminal/osc.zig b/src/terminal/osc.zig index 33d753c9f..01f017731 100644 --- a/src/terminal/osc.zig +++ b/src/terminal/osc.zig @@ -178,6 +178,9 @@ pub const Command = union(enum) { progress: ?u8 = null, }, + /// Wait input (OSC 9;5) + wait_input: void, + pub const ColorKind = union(enum) { palette: u8, foreground, @@ -377,6 +380,7 @@ pub const Parser = struct { conemu_progress_state, conemu_progress_prevalue, conemu_progress_value, + conemu_wait, }; /// This must be called to clean up any allocated memory. @@ -811,6 +815,11 @@ pub const Parser = struct { '4' => { self.state = .conemu_progress_prestate; }, + '5' => { + self.state = .conemu_wait; + self.command = .{ .wait_input = {} }; + self.complete = true; + }, // Todo: parse out other ConEmu operating system commands. // Even if we don't support them we probably don't want @@ -943,6 +952,11 @@ pub const Parser = struct { }, }, + .conemu_wait => { + self.state = .invalid; + self.complete = false; + }, + .query_fg_color => switch (c) { '?' => { self.command = .{ .report_color = .{ .kind = .foreground } }; @@ -2096,6 +2110,30 @@ test "OSC: OSC9 progress pause with progress" { try testing.expect(cmd.progress.progress == 100); } +test "OSC: OSC9 conemu wait input" { + const testing = std.testing; + + var p: Parser = .{}; + + const input = "9;5"; + for (input) |ch| p.next(ch); + + const cmd = p.end('\x1b').?; + try testing.expect(cmd == .wait_input); +} + +test "OSC: OSC9 conemu wait invalid input" { + const testing = std.testing; + + var p: Parser = .{}; + + const input = "9;5;"; + for (input) |ch| p.next(ch); + + const cmd = p.end('\x1b'); + try testing.expect(cmd == null); +} + test "OSC: empty param" { const testing = std.testing; diff --git a/src/terminal/stream.zig b/src/terminal/stream.zig index f75d86c0a..5657d63f4 100644 --- a/src/terminal/stream.zig +++ b/src/terminal/stream.zig @@ -1605,7 +1605,7 @@ pub fn Stream(comptime Handler: type) type { } else log.warn("unimplemented OSC callback: {}", .{cmd}); }, - .progress, .sleep, .show_message_box, .change_conemu_tab_title => { + .progress, .sleep, .show_message_box, .change_conemu_tab_title, .wait_input => { log.warn("unimplemented OSC callback: {}", .{cmd}); }, } From 2409d46600444f0d5001ec1140e7c3055d544549 Mon Sep 17 00:00:00 2001 From: Bryan Lee <38807139+liby@users.noreply.github.com> Date: Sun, 12 Jan 2025 01:15:53 +0800 Subject: [PATCH 065/365] Correct IME position calculation with window padding --- src/Surface.zig | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/Surface.zig b/src/Surface.zig index ce00d8237..d018d396d 100644 --- a/src/Surface.zig +++ b/src/Surface.zig @@ -1316,8 +1316,8 @@ pub fn imePoint(self: *const Surface) apprt.IMEPos { const content_scale = self.rt_surface.getContentScale() catch .{ .x = 1, .y = 1 }; const x: f64 = x: { - // Simple x * cell width gives the top-left corner - var x: f64 = @floatFromInt(cursor.x * self.size.cell.width); + // Simple x * cell width gives the top-left corner, then add padding offset + var x: f64 = @floatFromInt(cursor.x * self.size.cell.width + self.size.padding.left); // We want the midpoint x += @as(f64, @floatFromInt(self.size.cell.width)) / 2; @@ -1329,8 +1329,8 @@ pub fn imePoint(self: *const Surface) apprt.IMEPos { }; const y: f64 = y: { - // Simple x * cell width gives the top-left corner - var y: f64 = @floatFromInt(cursor.y * self.size.cell.height); + // Simple y * cell height gives the top-left corner, then add padding offset + var y: f64 = @floatFromInt(cursor.y * self.size.cell.height + self.size.padding.top); // We want the bottom y += @floatFromInt(self.size.cell.height); From af5e423ea5086b1acb6b265db0870ac79ba5e405 Mon Sep 17 00:00:00 2001 From: Bryan Lee <38807139+liby@users.noreply.github.com> Date: Sun, 12 Jan 2025 01:48:48 +0800 Subject: [PATCH 066/365] Clear selection when IME input starts --- include/ghostty.h | 1 + macos/Sources/Ghostty/SurfaceView_AppKit.swift | 5 +++++ src/apprt/embedded.zig | 5 +++++ 3 files changed, 11 insertions(+) diff --git a/include/ghostty.h b/include/ghostty.h index 29da8f37b..e6e625c4b 100644 --- a/include/ghostty.h +++ b/include/ghostty.h @@ -748,6 +748,7 @@ void ghostty_surface_complete_clipboard_request(ghostty_surface_t, bool); bool ghostty_surface_has_selection(ghostty_surface_t); uintptr_t ghostty_surface_selection(ghostty_surface_t, char*, uintptr_t); +void ghostty_surface_clear_selection(ghostty_surface_t); #ifdef __APPLE__ void ghostty_surface_set_display_id(ghostty_surface_t, uint32_t); diff --git a/macos/Sources/Ghostty/SurfaceView_AppKit.swift b/macos/Sources/Ghostty/SurfaceView_AppKit.swift index 14143313e..362547e9e 100644 --- a/macos/Sources/Ghostty/SurfaceView_AppKit.swift +++ b/macos/Sources/Ghostty/SurfaceView_AppKit.swift @@ -1293,6 +1293,11 @@ extension Ghostty.SurfaceView: NSTextInputClient { } func setMarkedText(_ string: Any, selectedRange: NSRange, replacementRange: NSRange) { + // Clear selection when IME input starts + if let surface = self.surface, ghostty_surface_has_selection(surface) { + ghostty_surface_clear_selection(surface) + } + switch string { case let v as NSAttributedString: self.markedText = NSMutableAttributedString(attributedString: v) diff --git a/src/apprt/embedded.zig b/src/apprt/embedded.zig index 44c4c5f20..441d10f59 100644 --- a/src/apprt/embedded.zig +++ b/src/apprt/embedded.zig @@ -1550,6 +1550,11 @@ pub const CAPI = struct { return selection.len; } + /// Clear the current selection in the surface. + export fn ghostty_surface_clear_selection(surface: *Surface) void { + surface.core_surface.io.terminal.screen.clearSelection(); + } + /// Tell the surface that it needs to schedule a render export fn ghostty_surface_refresh(surface: *Surface) void { surface.refresh(); From fc99c99b74f72776ac39ba8c3d9028e38f4db07d Mon Sep 17 00:00:00 2001 From: Damien Mehala Date: Sat, 11 Jan 2025 22:19:42 +0100 Subject: [PATCH 067/365] code review --- src/terminal/osc.zig | 16 +++++----------- 1 file changed, 5 insertions(+), 11 deletions(-) diff --git a/src/terminal/osc.zig b/src/terminal/osc.zig index 01f017731..10ba5b5e7 100644 --- a/src/terminal/osc.zig +++ b/src/terminal/osc.zig @@ -380,7 +380,6 @@ pub const Parser = struct { conemu_progress_state, conemu_progress_prevalue, conemu_progress_value, - conemu_wait, }; /// This must be called to clean up any allocated memory. @@ -816,7 +815,7 @@ pub const Parser = struct { self.state = .conemu_progress_prestate; }, '5' => { - self.state = .conemu_wait; + self.state = .swallow; self.command = .{ .wait_input = {} }; self.complete = true; }, @@ -952,11 +951,6 @@ pub const Parser = struct { }, }, - .conemu_wait => { - self.state = .invalid; - self.complete = false; - }, - .query_fg_color => switch (c) { '?' => { self.command = .{ .report_color = .{ .kind = .foreground } }; @@ -2122,16 +2116,16 @@ test "OSC: OSC9 conemu wait input" { try testing.expect(cmd == .wait_input); } -test "OSC: OSC9 conemu wait invalid input" { +test "OSC: OSC9 conemu wait ignores trailing characters" { const testing = std.testing; var p: Parser = .{}; - const input = "9;5;"; + const input = "9;5;foo"; for (input) |ch| p.next(ch); - const cmd = p.end('\x1b'); - try testing.expect(cmd == null); + const cmd = p.end('\x1b').?; + try testing.expect(cmd == .wait_input); } test "OSC: empty param" { From 0811b1d5ac051f1d26e0c257a9ce4e5730af9ac9 Mon Sep 17 00:00:00 2001 From: Mitchell Hashimoto Date: Sat, 11 Jan 2025 13:57:37 -0800 Subject: [PATCH 068/365] macos: paste multiple files separated by space https://github.com/ghostty-org/ghostty/discussions/4892#discussioncomment-11808631 --- macos/Sources/Helpers/NSPasteboard+Extension.swift | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/macos/Sources/Helpers/NSPasteboard+Extension.swift b/macos/Sources/Helpers/NSPasteboard+Extension.swift index 7794946f4..7315739c6 100644 --- a/macos/Sources/Helpers/NSPasteboard+Extension.swift +++ b/macos/Sources/Helpers/NSPasteboard+Extension.swift @@ -13,11 +13,11 @@ extension NSPasteboard { /// - Tries to get any string from the pasteboard. /// If all of the above fail, returns None. func getOpinionatedStringContents() -> String? { - if let file = self.string(forType: .fileURL) { - if let path = NSURL(string: file)?.path { - return path - } + if let urls = readObjects(forClasses: [NSURL.self]) as? [URL], + urls.count > 0 { + return urls.map { $0.path }.joined(separator: " ") } + return self.string(forType: .string) } From 6c5c5b2ec0bde5db6ae1d3d7f071c97dcb49af98 Mon Sep 17 00:00:00 2001 From: Mitchell Hashimoto Date: Sat, 11 Jan 2025 13:59:38 -0800 Subject: [PATCH 069/365] core: clear selection whenever preedit is changed --- include/ghostty.h | 1 - macos/Sources/Ghostty/SurfaceView_AppKit.swift | 5 ----- macos/Sources/Helpers/NSPasteboard+Extension.swift | 1 + src/Surface.zig | 9 +++++++++ src/apprt/embedded.zig | 5 ----- 5 files changed, 10 insertions(+), 11 deletions(-) diff --git a/include/ghostty.h b/include/ghostty.h index e6e625c4b..29da8f37b 100644 --- a/include/ghostty.h +++ b/include/ghostty.h @@ -748,7 +748,6 @@ void ghostty_surface_complete_clipboard_request(ghostty_surface_t, bool); bool ghostty_surface_has_selection(ghostty_surface_t); uintptr_t ghostty_surface_selection(ghostty_surface_t, char*, uintptr_t); -void ghostty_surface_clear_selection(ghostty_surface_t); #ifdef __APPLE__ void ghostty_surface_set_display_id(ghostty_surface_t, uint32_t); diff --git a/macos/Sources/Ghostty/SurfaceView_AppKit.swift b/macos/Sources/Ghostty/SurfaceView_AppKit.swift index 362547e9e..14143313e 100644 --- a/macos/Sources/Ghostty/SurfaceView_AppKit.swift +++ b/macos/Sources/Ghostty/SurfaceView_AppKit.swift @@ -1293,11 +1293,6 @@ extension Ghostty.SurfaceView: NSTextInputClient { } func setMarkedText(_ string: Any, selectedRange: NSRange, replacementRange: NSRange) { - // Clear selection when IME input starts - if let surface = self.surface, ghostty_surface_has_selection(surface) { - ghostty_surface_clear_selection(surface) - } - switch string { case let v as NSAttributedString: self.markedText = NSMutableAttributedString(attributedString: v) diff --git a/macos/Sources/Helpers/NSPasteboard+Extension.swift b/macos/Sources/Helpers/NSPasteboard+Extension.swift index 7794946f4..c2801da74 100644 --- a/macos/Sources/Helpers/NSPasteboard+Extension.swift +++ b/macos/Sources/Helpers/NSPasteboard+Extension.swift @@ -18,6 +18,7 @@ extension NSPasteboard { return path } } + return self.string(forType: .string) } diff --git a/src/Surface.zig b/src/Surface.zig index d018d396d..4682f4fb5 100644 --- a/src/Surface.zig +++ b/src/Surface.zig @@ -1591,6 +1591,15 @@ pub fn preeditCallback(self: *Surface, preedit_: ?[]const u8) !void { self.renderer_state.mutex.lock(); defer self.renderer_state.mutex.unlock(); + // We clear our selection when ANY OF: + // 1. We have an existing preedit + // 2. We have preedit text + if (self.renderer_state.preedit != null or + preedit_ != null) + { + self.setSelection(null) catch {}; + } + // We always clear our prior preedit if (self.renderer_state.preedit) |p| { self.alloc.free(p.codepoints); diff --git a/src/apprt/embedded.zig b/src/apprt/embedded.zig index 441d10f59..44c4c5f20 100644 --- a/src/apprt/embedded.zig +++ b/src/apprt/embedded.zig @@ -1550,11 +1550,6 @@ pub const CAPI = struct { return selection.len; } - /// Clear the current selection in the surface. - export fn ghostty_surface_clear_selection(surface: *Surface) void { - surface.core_surface.io.terminal.screen.clearSelection(); - } - /// Tell the surface that it needs to schedule a render export fn ghostty_surface_refresh(surface: *Surface) void { surface.refresh(); From 50e33a66654a083e15085549842bad0c449f30eb Mon Sep 17 00:00:00 2001 From: mitchellh <1299+mitchellh@users.noreply.github.com> Date: Sun, 12 Jan 2025 01:01:09 +0000 Subject: [PATCH 070/365] deps: Update iTerm2 color schemes --- build.zig.zon | 4 ++-- nix/zigCacheHash.nix | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/build.zig.zon b/build.zig.zon index 3c6ab85d6..4b9a3856b 100644 --- a/build.zig.zon +++ b/build.zig.zon @@ -79,8 +79,8 @@ // Other .apple_sdk = .{ .path = "./pkg/apple-sdk" }, .iterm2_themes = .{ - .url = "https://github.com/mbadolato/iTerm2-Color-Schemes/archive/4762ad5bd6d3906e28babdc2bda8a967d63a63be.tar.gz", - .hash = "1220a263b22113273d01bd33e3c06b8119cb2f63b4e5d414a85d88e3aa95bb68a2de", + .url = "https://github.com/mbadolato/iTerm2-Color-Schemes/archive/25cb3c3f52c7011cd8a599f8d144fc63f4409eb6.tar.gz", + .hash = "1220dc1096bda9721c1f5256177539bf37b41ac6fb70d58eadf0eec45359676382e5", }, }, } diff --git a/nix/zigCacheHash.nix b/nix/zigCacheHash.nix index db909a936..def5a11e3 100644 --- a/nix/zigCacheHash.nix +++ b/nix/zigCacheHash.nix @@ -1,3 +1,3 @@ # This file is auto-generated! check build-support/check-zig-cache-hash.sh for # more details. -"sha256-Nx1tOhDnEZ7LVi/pKxYS3sg/Sf8TAUXDmST6EtBgDoQ=" +"sha256-2zXNHWSSWjnpW8oHu2sufT5+Ms4IKWaH6yRARQeMcxk=" From a06fc4ff114f42c85f79f14ad13602d6b2bd74a5 Mon Sep 17 00:00:00 2001 From: Alexandre Antonio Juca Date: Sat, 11 Jan 2025 23:45:21 +0100 Subject: [PATCH 071/365] feat: ensure text, files and URLs can be drag and dropped to terminal window --- .../Sources/Ghostty/SurfaceView_AppKit.swift | 64 +++++++++++++++++++ 1 file changed, 64 insertions(+) diff --git a/macos/Sources/Ghostty/SurfaceView_AppKit.swift b/macos/Sources/Ghostty/SurfaceView_AppKit.swift index 14143313e..67154a3af 100644 --- a/macos/Sources/Ghostty/SurfaceView_AppKit.swift +++ b/macos/Sources/Ghostty/SurfaceView_AppKit.swift @@ -230,6 +230,8 @@ extension Ghostty { ghostty_surface_set_color_scheme(surface, scheme) } + + registerForDraggedTypes([.string, .fileURL, .URL]) } required init?(coder: NSCoder) { @@ -389,6 +391,68 @@ extension Ghostty { self?.title = title } } + + // MARK: - Drag and Drop + + override func draggingEntered(_ sender: any NSDraggingInfo) -> NSDragOperation { + if let _ = sender.draggingPasteboard.string(forType: .string) { + return .generic + } + + if let _ = sender.draggingPasteboard.string(forType: .URL) { + return .generic + } + + if let _ = sender.draggingPasteboard.string(forType: .fileURL) { + return .generic + } + return [] + } + + override func performDragOperation(_ sender: any NSDraggingInfo) -> Bool { + if let droppedText = sender.draggingPasteboard.string(forType: .string) { + let content = Shell.escape(droppedText) + + DispatchQueue.main.async { + self.insertText( + content, + replacementRange: NSMakeRange(0, 0) + ) + } + + return true + } + + if let droppedURL = sender.draggingPasteboard.string(forType: .URL) { + let content = Shell.escape(droppedURL) + + DispatchQueue.main.async { + self.insertText( + content, + replacementRange: NSMakeRange(0, 0) + ) + } + + return true + } + + if let droppedFileURL = sender.draggingPasteboard.string(forType: .fileURL) { + guard let urlPath = URL(string: droppedFileURL)?.path(percentEncoded: false) else { + return false + } + + DispatchQueue.main.async { + self.insertText( + urlPath, + replacementRange: NSMakeRange(0, 0) + ) + } + + return true + } + + return false + } // MARK: Local Events From a2d2cfea59854abfeee364efa22f21233785ad37 Mon Sep 17 00:00:00 2001 From: Mitchell Hashimoto Date: Sat, 11 Jan 2025 19:19:49 -0800 Subject: [PATCH 072/365] macos: move drop implementation to separate extension --- macos/Sources/Ghostty/SurfaceView.swift | 16 --- .../Sources/Ghostty/SurfaceView_AppKit.swift | 127 +++++++++--------- 2 files changed, 63 insertions(+), 80 deletions(-) diff --git a/macos/Sources/Ghostty/SurfaceView.swift b/macos/Sources/Ghostty/SurfaceView.swift index 4abf87c7f..beae50331 100644 --- a/macos/Sources/Ghostty/SurfaceView.swift +++ b/macos/Sources/Ghostty/SurfaceView.swift @@ -92,22 +92,6 @@ extension Ghostty { windowFocus = false } } - .onDrop(of: [.fileURL], isTargeted: nil) { providers in - providers.forEach { provider in - _ = provider.loadObject(ofClass: URL.self) { url, _ in - guard let url = url else { return } - let path = Shell.escape(url.path) - DispatchQueue.main.async { - surfaceView.insertText( - path, - replacementRange: NSMakeRange(0, 0) - ) - } - } - } - - return true - } #endif // If our geo size changed then we show the resize overlay as configured. diff --git a/macos/Sources/Ghostty/SurfaceView_AppKit.swift b/macos/Sources/Ghostty/SurfaceView_AppKit.swift index 67154a3af..f5cb93580 100644 --- a/macos/Sources/Ghostty/SurfaceView_AppKit.swift +++ b/macos/Sources/Ghostty/SurfaceView_AppKit.swift @@ -1,3 +1,4 @@ +import AppKit import SwiftUI import CoreText import UserNotifications @@ -230,8 +231,9 @@ extension Ghostty { ghostty_surface_set_color_scheme(surface, scheme) } - - registerForDraggedTypes([.string, .fileURL, .URL]) + + // The UTTypes that can be dragged onto this view. + registerForDraggedTypes(Array(Self.dropTypes)) } required init?(coder: NSCoder) { @@ -391,68 +393,6 @@ extension Ghostty { self?.title = title } } - - // MARK: - Drag and Drop - - override func draggingEntered(_ sender: any NSDraggingInfo) -> NSDragOperation { - if let _ = sender.draggingPasteboard.string(forType: .string) { - return .generic - } - - if let _ = sender.draggingPasteboard.string(forType: .URL) { - return .generic - } - - if let _ = sender.draggingPasteboard.string(forType: .fileURL) { - return .generic - } - return [] - } - - override func performDragOperation(_ sender: any NSDraggingInfo) -> Bool { - if let droppedText = sender.draggingPasteboard.string(forType: .string) { - let content = Shell.escape(droppedText) - - DispatchQueue.main.async { - self.insertText( - content, - replacementRange: NSMakeRange(0, 0) - ) - } - - return true - } - - if let droppedURL = sender.draggingPasteboard.string(forType: .URL) { - let content = Shell.escape(droppedURL) - - DispatchQueue.main.async { - self.insertText( - content, - replacementRange: NSMakeRange(0, 0) - ) - } - - return true - } - - if let droppedFileURL = sender.draggingPasteboard.string(forType: .fileURL) { - guard let urlPath = URL(string: droppedFileURL)?.path(percentEncoded: false) else { - return false - } - - DispatchQueue.main.async { - self.insertText( - urlPath, - replacementRange: NSMakeRange(0, 0) - ) - } - - return true - } - - return false - } // MARK: Local Events @@ -1573,3 +1513,62 @@ extension Ghostty.SurfaceView: NSMenuItemValidation { } } } + +// MARK: NSDraggingDestination + +extension Ghostty.SurfaceView { + static let dropTypes: Set = [ + .string, + .fileURL, + .URL + ] + + override func draggingEntered(_ sender: any NSDraggingInfo) -> NSDragOperation { + guard let types = sender.draggingPasteboard.types else { return [] } + + // If the dragging object contains none of our types then we return none. + // This shouldn't happen because AppKit should guarantee that we only + // receive types we registered for but its good to check. + if Set(types).isDisjoint(with: Self.dropTypes) { + return [] + } + + // We use copy to get the proper icon + return .copy + } + + override func performDragOperation(_ sender: any NSDraggingInfo) -> Bool { + let pb = sender.draggingPasteboard + + let content: String? + if let url = pb.string(forType: .URL) { + // URLs first, they get escaped as-is. + content = Ghostty.Shell.escape(url) + } else if let urls = pb.readObjects(forClasses: [NSURL.self]) as? [URL], + urls.count > 0 { + // File URLs next. They get escaped individually and then joined by a + // space if there are multiple. + content = urls + .map { Ghostty.Shell.escape($0.path) } + .joined(separator: " ") + } else if let str = pb.string(forType: .string) { + // Strings are not escaped because they may be copy/pasting a + // command they want to execute. + content = str + } else { + content = nil + } + + if let content { + DispatchQueue.main.async { + self.insertText( + content, + replacementRange: NSMakeRange(0, 0) + ) + } + return true + } + + return false + } +} From a3bb2df94f2e8576e689d247f54c68c7bb88a711 Mon Sep 17 00:00:00 2001 From: Michael Himing Date: Sun, 12 Jan 2025 14:46:05 +1100 Subject: [PATCH 073/365] fix(gtk): fix segfault on ctrl-d on older adw --- src/apprt/gtk/notebook_adw.zig | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/apprt/gtk/notebook_adw.zig b/src/apprt/gtk/notebook_adw.zig index 89a316332..790b3aa35 100644 --- a/src/apprt/gtk/notebook_adw.zig +++ b/src/apprt/gtk/notebook_adw.zig @@ -137,6 +137,8 @@ pub const NotebookAdw = struct { // If we have no more tabs we close the window if (self.nPages() == 0) { + const window = tab.window.window; + // libadw versions <= 1.3.x leak the final page view // which causes our surface to not properly cleanup. We // unref to force the cleanup. This will trigger a critical @@ -150,7 +152,7 @@ pub const NotebookAdw = struct { // `self` will become invalid after this call because it will have // been freed up as part of the process of closing the window. - c.gtk_window_destroy(tab.window.window); + c.gtk_window_destroy(window); } } }; From faea09bbdea196d78684e79a58012a74ee98a3d9 Mon Sep 17 00:00:00 2001 From: james Date: Sat, 11 Jan 2025 23:53:19 -0500 Subject: [PATCH 074/365] for GTK runtime, don't call cursorPosCallback in mouse motion callback if the cursor hasn't actually moved --- src/apprt/gtk/Surface.zig | 48 ++++++++++++++++++++++----------------- 1 file changed, 27 insertions(+), 21 deletions(-) diff --git a/src/apprt/gtk/Surface.zig b/src/apprt/gtk/Surface.zig index c16f696b1..c5a001f34 100644 --- a/src/apprt/gtk/Surface.zig +++ b/src/apprt/gtk/Surface.zig @@ -1496,31 +1496,37 @@ fn gtkMouseMotion( .y = @floatCast(scaled.y), }; - // When the GLArea is resized under the mouse, GTK issues a mouse motion - // event. This has the unfortunate side effect of causing focus to potentially - // change when `focus-follows-mouse` is enabled. To prevent this, we check - // if the cursor is still in the same place as the last event and only grab - // focus if it has moved. + // There seem to be at least two cases where GTK issues a mouse motion + // event without the cursor actually moving: + // 1. GLArea is resized under the mouse. This has the unfortunate + // side effect of causing focus to potentially change when + // `focus-follows-mouse` is enabled. + // 2. The window title is updated. This can cause the mouse to unhide + // incorrectly when hide-mouse-when-typing is enabled. + // To prevent incorrect behavior, we'll only grab focus and + // continue with callback logic if the cursor has actually moved. const is_cursor_still = @abs(self.cursor_pos.x - pos.x) < 1 and @abs(self.cursor_pos.y - pos.y) < 1; - // If we don't have focus, and we want it, grab it. - const gl_widget = @as(*c.GtkWidget, @ptrCast(self.gl_area)); - if (!is_cursor_still and c.gtk_widget_has_focus(gl_widget) == 0 and self.app.config.@"focus-follows-mouse") { - self.grabFocus(); + if (!is_cursor_still) { + // If we don't have focus, and we want it, grab it. + const gl_widget = @as(*c.GtkWidget, @ptrCast(self.gl_area)); + if (c.gtk_widget_has_focus(gl_widget) == 0 and self.app.config.@"focus-follows-mouse") { + self.grabFocus(); + } + + // Our pos changed, update + self.cursor_pos = pos; + + // Get our modifiers + const gtk_mods = c.gdk_event_get_modifier_state(event); + const mods = gtk_key.translateMods(gtk_mods); + + self.core_surface.cursorPosCallback(self.cursor_pos, mods) catch |err| { + log.err("error in cursor pos callback err={}", .{err}); + return; + }; } - - // Our pos changed, update - self.cursor_pos = pos; - - // Get our modifiers - const gtk_mods = c.gdk_event_get_modifier_state(event); - const mods = gtk_key.translateMods(gtk_mods); - - self.core_surface.cursorPosCallback(self.cursor_pos, mods) catch |err| { - log.err("error in cursor pos callback err={}", .{err}); - return; - }; } fn gtkMouseLeave( From ea0704148d8fc205de16fc2ef1da88b162c0c739 Mon Sep 17 00:00:00 2001 From: Mitchell Hashimoto Date: Sun, 12 Jan 2025 12:48:53 -0800 Subject: [PATCH 075/365] macos: only set quick terminal level to popUpMenu during animation Fixes #4999 We need to set the level to popUpMenu so that we can move the window offscreen and animate it over the main menu, but we must reset it back to floating after the animation is complete so that other higher-level windows can be shown on top of it such as IME windows. --- .../QuickTerminalController.swift | 15 +++++++++++++++ .../QuickTerminal/QuickTerminalWindow.swift | 18 ------------------ 2 files changed, 15 insertions(+), 18 deletions(-) diff --git a/macos/Sources/Features/QuickTerminal/QuickTerminalController.swift b/macos/Sources/Features/QuickTerminal/QuickTerminalController.swift index fee6f0735..c23aad755 100644 --- a/macos/Sources/Features/QuickTerminal/QuickTerminalController.swift +++ b/macos/Sources/Features/QuickTerminal/QuickTerminalController.swift @@ -230,6 +230,11 @@ class QuickTerminalController: BaseTerminalController { // Move our window off screen to the top position.setInitial(in: window, on: screen) + // We need to set our window level to a high value. In testing, only + // popUpMenu and above do what we want. This gets it above the menu bar + // and lets us render off screen. + window.level = .popUpMenu + // Move it to the visible position since animation requires this DispatchQueue.main.async { window.makeKeyAndOrderFront(nil) @@ -248,6 +253,11 @@ class QuickTerminalController: BaseTerminalController { // If we canceled our animation in we do nothing guard self.visible else { return } + // After animating in, we reset the window level to a value that + // is above other windows but not as high as popUpMenu. This allows + // things like IME dropdowns to appear properly. + window.level = .floating + // Now that the window is visible, sync our appearance. This function // requires the window is visible. self.syncAppearance() @@ -339,6 +349,11 @@ class QuickTerminalController: BaseTerminalController { } } + // We need to set our window level to a high value. In testing, only + // popUpMenu and above do what we want. This gets it above the menu bar + // and lets us render off screen. + window.level = .popUpMenu + NSAnimationContext.runAnimationGroup({ context in context.duration = derivedConfig.quickTerminalAnimationDuration context.timingFunction = .init(name: .easeIn) diff --git a/macos/Sources/Features/QuickTerminal/QuickTerminalWindow.swift b/macos/Sources/Features/QuickTerminal/QuickTerminalWindow.swift index 552b87e25..005808a23 100644 --- a/macos/Sources/Features/QuickTerminal/QuickTerminalWindow.swift +++ b/macos/Sources/Features/QuickTerminal/QuickTerminalWindow.swift @@ -28,23 +28,5 @@ class QuickTerminalWindow: NSPanel { // We don't want to activate the owning app when quick terminal is triggered. self.styleMask.insert(.nonactivatingPanel) - - // We need to set our window level to a high value. In testing, only - // popUpMenu and above do what we want. This gets it above the menu bar - // and lets us render off screen. - self.level = .popUpMenu - - // This plus the level above was what was needed for the animation to work, - // because it gets the window off screen properly. Plus we add some fields - // we just want the behavior of. - self.collectionBehavior = [ - // We want this to be part of every space because it is a singleton. - .canJoinAllSpaces, - - // We don't want to be part of command-tilde - .ignoresCycle, - - // We want to show the window on another space if it is visible - .fullScreenAuxiliary] } } From 5cd990bec5a16653b136881af1b9834a5b1bd899 Mon Sep 17 00:00:00 2001 From: Pavlos Karakalidis Date: Sun, 12 Jan 2025 23:48:00 +0200 Subject: [PATCH 076/365] fix(window): ensure last_tab action on linux navigates to last tab Previously, the logic navigated to the second-to-last tab instead of the last tab due to an off-by-one error. This updates the implementation so that the index calculation to accurately target the last tab. In the `gotoLastTab` method there was a decrement in the number of max number of tabs and another increment in the `goToTab` method to get the actual tab index. --- src/apprt/gtk/Window.zig | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/apprt/gtk/Window.zig b/src/apprt/gtk/Window.zig index 8f111cbc9..4301b0605 100644 --- a/src/apprt/gtk/Window.zig +++ b/src/apprt/gtk/Window.zig @@ -497,9 +497,9 @@ pub fn moveTab(self: *Window, surface: *Surface, position: c_int) void { self.notebook.moveTab(tab, position); } -/// Go to the next tab for a surface. +/// Go to the last tab for a surface. pub fn gotoLastTab(self: *Window) void { - const max = self.notebook.nPages() -| 1; + const max = self.notebook.nPages(); self.gotoTab(@intCast(max)); } From 7ac017b154251a42529f735d8cf23a4a10c3d037 Mon Sep 17 00:00:00 2001 From: "Jeffrey C. Ollie" Date: Sun, 12 Jan 2025 19:34:20 -0600 Subject: [PATCH 077/365] gtk: hide titlebar if fullscreened Partially addresses #3381 --- src/apprt/gtk/Window.zig | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/apprt/gtk/Window.zig b/src/apprt/gtk/Window.zig index 8f111cbc9..07e582d64 100644 --- a/src/apprt/gtk/Window.zig +++ b/src/apprt/gtk/Window.zig @@ -204,6 +204,7 @@ pub fn init(self: *Window, app: *App) !void { } _ = c.g_signal_connect_data(gtk_window, "notify::decorated", c.G_CALLBACK(>kWindowNotifyDecorated), self, null, c.G_CONNECT_DEFAULT); + _ = c.g_signal_connect_data(gtk_window, "notify::fullscreened", c.G_CALLBACK(>kWindowNotifyFullscreened), self, null, c.G_CONNECT_DEFAULT); // If we are disabling decorations then disable them right away. if (!app.config.@"window-decoration") { @@ -606,6 +607,15 @@ fn gtkWindowNotifyDecorated( } } +fn gtkWindowNotifyFullscreened( + object: *c.GObject, + _: *c.GParamSpec, + ud: ?*anyopaque, +) callconv(.C) void { + const self = userdataSelf(ud orelse return); + self.headerbar.setVisible(c.gtk_window_is_fullscreen(@ptrCast(object)) == 0); +} + // Note: we MUST NOT use the GtkButton parameter because gtkActionNewTab // sends an undefined value. fn gtkTabNewClick(_: *c.GtkButton, ud: ?*anyopaque) callconv(.C) void { From e288096c26c700247bac2c3145456fa104f376e1 Mon Sep 17 00:00:00 2001 From: Andreas Skielboe Date: Mon, 13 Jan 2025 11:49:21 +0100 Subject: [PATCH 078/365] Fix backslash comment in ghostty.h --- include/ghostty.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/ghostty.h b/include/ghostty.h index 29da8f37b..c722a0104 100644 --- a/include/ghostty.h +++ b/include/ghostty.h @@ -159,7 +159,7 @@ typedef enum { GHOSTTY_KEY_EQUAL, GHOSTTY_KEY_LEFT_BRACKET, // [ GHOSTTY_KEY_RIGHT_BRACKET, // ] - GHOSTTY_KEY_BACKSLASH, // / + GHOSTTY_KEY_BACKSLASH, // \ // control GHOSTTY_KEY_UP, From 08314d414f570bf0698b05bef92496642c1234b1 Mon Sep 17 00:00:00 2001 From: Bryan Lee <38807139+liby@users.noreply.github.com> Date: Tue, 14 Jan 2025 00:35:08 +0800 Subject: [PATCH 079/365] Preserve full URL when pasting from clipboard --- macos/Sources/Helpers/NSPasteboard+Extension.swift | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/macos/Sources/Helpers/NSPasteboard+Extension.swift b/macos/Sources/Helpers/NSPasteboard+Extension.swift index 7315739c6..0b71b5685 100644 --- a/macos/Sources/Helpers/NSPasteboard+Extension.swift +++ b/macos/Sources/Helpers/NSPasteboard+Extension.swift @@ -15,7 +15,9 @@ extension NSPasteboard { func getOpinionatedStringContents() -> String? { if let urls = readObjects(forClasses: [NSURL.self]) as? [URL], urls.count > 0 { - return urls.map { $0.path }.joined(separator: " ") + return urls + .map { $0.isFileURL ? $0.path : $0.absoluteString } + .joined(separator: " ") } return self.string(forType: .string) From 7aed08be407ee22993974cb8eaa1a416c2c8c6bf Mon Sep 17 00:00:00 2001 From: Mitchell Hashimoto Date: Mon, 13 Jan 2025 10:52:29 -0800 Subject: [PATCH 080/365] terminal: keep track of colon vs semicolon state in CSI params Fixes #5022 The CSI SGR sequence (CSI m) is unique in that its the only CSI sequence that allows colons as delimiters between some parameters, and the colon vs. semicolon changes the semantics of the parameters. Previously, Ghostty assumed that an SGR sequence was either all colons or all semicolons, and would change its behavior based on the first delimiter it encountered. This is incorrect. It is perfectly valid for an SGR sequence to have both colons and semicolons as delimiters. For example, Kakoune sends the following: ;4:3;38;2;175;175;215;58:2::190:80:70m This is equivalent to: - unset (0) - curly underline (4:3) - foreground color (38;2;175;175;215) - underline color (58:2::190:80:70) This commit changes the behavior of Ghostty to track the delimiter per parameter, rather than per sequence. It also updates the SGR parser to be more robust and handle the various edge cases that can occur. Tests were added for the new cases. --- src/terminal/Parser.zig | 124 ++++++---- src/terminal/sgr.zig | 515 ++++++++++++++++++++++++++++------------ src/terminal/stream.zig | 11 +- 3 files changed, 450 insertions(+), 200 deletions(-) diff --git a/src/terminal/Parser.zig b/src/terminal/Parser.zig index 9aebdbd3a..a779c3350 100644 --- a/src/terminal/Parser.zig +++ b/src/terminal/Parser.zig @@ -6,6 +6,7 @@ const Parser = @This(); const std = @import("std"); const builtin = @import("builtin"); +const assert = std.debug.assert; const testing = std.testing; const table = @import("parse_table.zig").table; const osc = @import("osc.zig"); @@ -81,11 +82,15 @@ pub const Action = union(enum) { pub const CSI = struct { intermediates: []u8, params: []u16, + params_sep: SepList, final: u8, - sep: Sep, + + /// The list of separators used for CSI params. The value of the + /// bit can be mapped to Sep. + pub const SepList = std.StaticBitSet(MAX_PARAMS); /// The separator used for CSI params. - pub const Sep = enum { semicolon, colon }; + pub const Sep = enum(u1) { semicolon = 0, colon = 1 }; // Implement formatter for logging pub fn format( @@ -183,15 +188,6 @@ pub const Action = union(enum) { } }; -/// Keeps track of the parameter sep used for CSI params. We allow colons -/// to be used ONLY by the 'm' CSI action. -pub const ParamSepState = enum(u8) { - none = 0, - semicolon = ';', - colon = ':', - mixed = 1, -}; - /// Maximum number of intermediate characters during parsing. This is /// 4 because we also use the intermediates array for UTF8 decoding which /// can be at most 4 bytes. @@ -207,8 +203,8 @@ intermediates_idx: u8 = 0, /// Param tracking, building params: [MAX_PARAMS]u16 = undefined, +params_sep: Action.CSI.SepList = Action.CSI.SepList.initEmpty(), params_idx: u8 = 0, -params_sep: ParamSepState = .none, param_acc: u16 = 0, param_acc_idx: u8 = 0, @@ -312,13 +308,9 @@ fn doAction(self: *Parser, action: TransitionAction, c: u8) ?Action { // Ignore too many parameters if (self.params_idx >= MAX_PARAMS) break :param null; - // If this is our first time seeing a parameter, we track - // the separator used so that we can't mix separators later. - if (self.params_idx == 0) self.params_sep = @enumFromInt(c); - if (@as(ParamSepState, @enumFromInt(c)) != self.params_sep) self.params_sep = .mixed; - // Set param final value self.params[self.params_idx] = self.param_acc; + if (c == ':') self.params_sep.set(self.params_idx); self.params_idx += 1; // Reset current param value to 0 @@ -359,29 +351,18 @@ fn doAction(self: *Parser, action: TransitionAction, c: u8) ?Action { .csi_dispatch = .{ .intermediates = self.intermediates[0..self.intermediates_idx], .params = self.params[0..self.params_idx], + .params_sep = self.params_sep, .final = c, - .sep = switch (self.params_sep) { - .none, .semicolon => .semicolon, - .colon => .colon, - - // There is nothing that treats mixed separators specially - // afaik so we just treat it as a semicolon. - .mixed => .semicolon, - }, }, }; // We only allow colon or mixed separators for the 'm' command. - switch (self.params_sep) { - .none => {}, - .semicolon => {}, - .colon, .mixed => if (c != 'm') { - log.warn( - "CSI colon or mixed separators only allowed for 'm' command, got: {}", - .{result}, - ); - break :csi_dispatch null; - }, + if (c != 'm' and self.params_sep.count() > 0) { + log.warn( + "CSI colon or mixed separators only allowed for 'm' command, got: {}", + .{result}, + ); + break :csi_dispatch null; } break :csi_dispatch result; @@ -400,7 +381,7 @@ fn doAction(self: *Parser, action: TransitionAction, c: u8) ?Action { pub fn clear(self: *Parser) void { self.intermediates_idx = 0; self.params_idx = 0; - self.params_sep = .none; + self.params_sep = Action.CSI.SepList.initEmpty(); self.param_acc = 0; self.param_acc_idx = 0; } @@ -507,10 +488,11 @@ test "csi: SGR ESC [ 38 : 2 m" { const d = a[1].?.csi_dispatch; try testing.expect(d.final == 'm'); - try testing.expect(d.sep == .colon); try testing.expect(d.params.len == 2); try testing.expectEqual(@as(u16, 38), d.params[0]); + try testing.expect(d.params_sep.isSet(0)); try testing.expectEqual(@as(u16, 2), d.params[1]); + try testing.expect(!d.params_sep.isSet(1)); } } @@ -581,13 +563,17 @@ test "csi: SGR ESC [ 48 : 2 m" { const d = a[1].?.csi_dispatch; try testing.expect(d.final == 'm'); - try testing.expect(d.sep == .colon); try testing.expect(d.params.len == 5); try testing.expectEqual(@as(u16, 48), d.params[0]); + try testing.expect(d.params_sep.isSet(0)); try testing.expectEqual(@as(u16, 2), d.params[1]); + try testing.expect(d.params_sep.isSet(1)); try testing.expectEqual(@as(u16, 240), d.params[2]); + try testing.expect(d.params_sep.isSet(2)); try testing.expectEqual(@as(u16, 143), d.params[3]); + try testing.expect(d.params_sep.isSet(3)); try testing.expectEqual(@as(u16, 104), d.params[4]); + try testing.expect(!d.params_sep.isSet(4)); } } @@ -608,10 +594,11 @@ test "csi: SGR ESC [4:3m colon" { const d = a[1].?.csi_dispatch; try testing.expect(d.final == 'm'); - try testing.expect(d.sep == .colon); try testing.expect(d.params.len == 2); try testing.expectEqual(@as(u16, 4), d.params[0]); + try testing.expect(d.params_sep.isSet(0)); try testing.expectEqual(@as(u16, 3), d.params[1]); + try testing.expect(!d.params_sep.isSet(1)); } } @@ -634,14 +621,71 @@ test "csi: SGR with many blank and colon" { const d = a[1].?.csi_dispatch; try testing.expect(d.final == 'm'); - try testing.expect(d.sep == .colon); try testing.expect(d.params.len == 6); try testing.expectEqual(@as(u16, 58), d.params[0]); + try testing.expect(d.params_sep.isSet(0)); try testing.expectEqual(@as(u16, 2), d.params[1]); + try testing.expect(d.params_sep.isSet(1)); try testing.expectEqual(@as(u16, 0), d.params[2]); + try testing.expect(d.params_sep.isSet(2)); try testing.expectEqual(@as(u16, 240), d.params[3]); + try testing.expect(d.params_sep.isSet(3)); try testing.expectEqual(@as(u16, 143), d.params[4]); + try testing.expect(d.params_sep.isSet(4)); try testing.expectEqual(@as(u16, 104), d.params[5]); + try testing.expect(!d.params_sep.isSet(5)); + } +} + +// This is from a Kakoune actual SGR sequence. +test "csi: SGR mixed colon and semicolon with blank" { + var p = init(); + _ = p.next(0x1B); + for ("[;4:3;38;2;175;175;215;58:2::190:80:70") |c| { + const a = p.next(c); + try testing.expect(a[0] == null); + try testing.expect(a[1] == null); + try testing.expect(a[2] == null); + } + + { + const a = p.next('m'); + try testing.expect(p.state == .ground); + try testing.expect(a[0] == null); + try testing.expect(a[1].? == .csi_dispatch); + try testing.expect(a[2] == null); + + const d = a[1].?.csi_dispatch; + try testing.expect(d.final == 'm'); + try testing.expectEqual(14, d.params.len); + try testing.expectEqual(@as(u16, 0), d.params[0]); + try testing.expect(!d.params_sep.isSet(0)); + try testing.expectEqual(@as(u16, 4), d.params[1]); + try testing.expect(d.params_sep.isSet(1)); + try testing.expectEqual(@as(u16, 3), d.params[2]); + try testing.expect(!d.params_sep.isSet(2)); + try testing.expectEqual(@as(u16, 38), d.params[3]); + try testing.expect(!d.params_sep.isSet(3)); + try testing.expectEqual(@as(u16, 2), d.params[4]); + try testing.expect(!d.params_sep.isSet(4)); + try testing.expectEqual(@as(u16, 175), d.params[5]); + try testing.expect(!d.params_sep.isSet(5)); + try testing.expectEqual(@as(u16, 175), d.params[6]); + try testing.expect(!d.params_sep.isSet(6)); + try testing.expectEqual(@as(u16, 215), d.params[7]); + try testing.expect(!d.params_sep.isSet(7)); + try testing.expectEqual(@as(u16, 58), d.params[8]); + try testing.expect(d.params_sep.isSet(8)); + try testing.expectEqual(@as(u16, 2), d.params[9]); + try testing.expect(d.params_sep.isSet(9)); + try testing.expectEqual(@as(u16, 0), d.params[10]); + try testing.expect(d.params_sep.isSet(10)); + try testing.expectEqual(@as(u16, 190), d.params[11]); + try testing.expect(d.params_sep.isSet(11)); + try testing.expectEqual(@as(u16, 80), d.params[12]); + try testing.expect(d.params_sep.isSet(12)); + try testing.expectEqual(@as(u16, 70), d.params[13]); + try testing.expect(!d.params_sep.isSet(13)); } } diff --git a/src/terminal/sgr.zig b/src/terminal/sgr.zig index cdf39657b..52bfb2c31 100644 --- a/src/terminal/sgr.zig +++ b/src/terminal/sgr.zig @@ -1,13 +1,17 @@ //! SGR (Select Graphic Rendition) attrinvbute parsing and types. const std = @import("std"); +const assert = std.debug.assert; const testing = std.testing; const color = @import("color.zig"); +const SepList = @import("Parser.zig").Action.CSI.SepList; /// Attribute type for SGR pub const Attribute = union(enum) { + pub const Tag = std.meta.FieldEnum(Attribute); + /// Unset all attributes - unset: void, + unset, /// Unknown attribute, the raw CSI command parameters are here. unknown: struct { @@ -19,43 +23,43 @@ pub const Attribute = union(enum) { }, /// Bold the text. - bold: void, - reset_bold: void, + bold, + reset_bold, /// Italic text. - italic: void, - reset_italic: void, + italic, + reset_italic, /// Faint/dim text. /// Note: reset faint is the same SGR code as reset bold - faint: void, + faint, /// Underline the text underline: Underline, - reset_underline: void, + reset_underline, underline_color: color.RGB, @"256_underline_color": u8, - reset_underline_color: void, + reset_underline_color, // Overline the text - overline: void, - reset_overline: void, + overline, + reset_overline, /// Blink the text - blink: void, - reset_blink: void, + blink, + reset_blink, /// Invert fg/bg colors. - inverse: void, - reset_inverse: void, + inverse, + reset_inverse, /// Invisible - invisible: void, - reset_invisible: void, + invisible, + reset_invisible, /// Strikethrough the text. - strikethrough: void, - reset_strikethrough: void, + strikethrough, + reset_strikethrough, /// Set foreground color as RGB values. direct_color_fg: color.RGB, @@ -68,8 +72,8 @@ pub const Attribute = union(enum) { @"8_fg": color.Name, /// Reset the fg/bg to their default values. - reset_fg: void, - reset_bg: void, + reset_fg, + reset_bg, /// Set the background/foreground as a named bright color attribute. @"8_bright_bg": color.Name, @@ -94,11 +98,9 @@ pub const Attribute = union(enum) { /// Parser parses the attributes from a list of SGR parameters. pub const Parser = struct { params: []const u16, + params_sep: SepList = SepList.initEmpty(), idx: usize = 0, - /// True if the separator is a colon - colon: bool = false, - /// Next returns the next attribute or null if there are no more attributes. pub fn next(self: *Parser) ?Attribute { if (self.idx > self.params.len) return null; @@ -106,220 +108,261 @@ pub const Parser = struct { // Implicitly means unset if (self.params.len == 0) { self.idx += 1; - return Attribute{ .unset = {} }; + return .unset; } const slice = self.params[self.idx..self.params.len]; + const colon = self.params_sep.isSet(self.idx); self.idx += 1; // Our last one will have an idx be the last value. if (slice.len == 0) return null; + // If we have a colon separator then we need to ensure we're + // parsing a value that allows it. + if (colon) switch (slice[0]) { + 4, 38, 48, 58 => {}, + + else => { + // Consume all the colon separated values. + const start = self.idx; + while (self.params_sep.isSet(self.idx)) self.idx += 1; + self.idx += 1; + return .{ .unknown = .{ + .full = self.params, + .partial = slice[0 .. self.idx - start + 1], + } }; + }, + }; + switch (slice[0]) { - 0 => return Attribute{ .unset = {} }, + 0 => return .unset, - 1 => return Attribute{ .bold = {} }, + 1 => return .bold, - 2 => return Attribute{ .faint = {} }, + 2 => return .faint, - 3 => return Attribute{ .italic = {} }, + 3 => return .italic, - 4 => blk: { - if (self.colon) { - switch (slice.len) { - // 0 is unreachable because we're here and we read - // an element to get here. - 0 => unreachable, + 4 => underline: { + if (colon) { + assert(slice.len >= 2); + if (self.isColon()) { + self.consumeUnknownColon(); + break :underline; + } - // 1 is possible if underline is the last element. - 1 => return Attribute{ .underline = .single }, + self.idx += 1; + switch (slice[1]) { + 0 => return .reset_underline, + 1 => return .{ .underline = .single }, + 2 => return .{ .underline = .double }, + 3 => return .{ .underline = .curly }, + 4 => return .{ .underline = .dotted }, + 5 => return .{ .underline = .dashed }, - // 2 means we have a specific underline style. - 2 => { - self.idx += 1; - switch (slice[1]) { - 0 => return Attribute{ .reset_underline = {} }, - 1 => return Attribute{ .underline = .single }, - 2 => return Attribute{ .underline = .double }, - 3 => return Attribute{ .underline = .curly }, - 4 => return Attribute{ .underline = .dotted }, - 5 => return Attribute{ .underline = .dashed }, - - // For unknown underline styles, just render - // a single underline. - else => return Attribute{ .underline = .single }, - } - }, - - // Colon-separated must only be 2. - else => break :blk, + // For unknown underline styles, just render + // a single underline. + else => return .{ .underline = .single }, } } - return Attribute{ .underline = .single }; + return .{ .underline = .single }; }, - 5 => return Attribute{ .blink = {} }, + 5 => return .blink, - 6 => return Attribute{ .blink = {} }, + 6 => return .blink, - 7 => return Attribute{ .inverse = {} }, + 7 => return .inverse, - 8 => return Attribute{ .invisible = {} }, + 8 => return .invisible, - 9 => return Attribute{ .strikethrough = {} }, + 9 => return .strikethrough, - 21 => return Attribute{ .underline = .double }, + 21 => return .{ .underline = .double }, - 22 => return Attribute{ .reset_bold = {} }, + 22 => return .reset_bold, - 23 => return Attribute{ .reset_italic = {} }, + 23 => return .reset_italic, - 24 => return Attribute{ .reset_underline = {} }, + 24 => return .reset_underline, - 25 => return Attribute{ .reset_blink = {} }, + 25 => return .reset_blink, - 27 => return Attribute{ .reset_inverse = {} }, + 27 => return .reset_inverse, - 28 => return Attribute{ .reset_invisible = {} }, + 28 => return .reset_invisible, - 29 => return Attribute{ .reset_strikethrough = {} }, + 29 => return .reset_strikethrough, - 30...37 => return Attribute{ + 30...37 => return .{ .@"8_fg" = @enumFromInt(slice[0] - 30), }, 38 => if (slice.len >= 2) switch (slice[1]) { // `2` indicates direct-color (r, g, b). // We need at least 3 more params for this to make sense. - 2 => if (slice.len >= 5) { - self.idx += 4; - // When a colon separator is used, there may or may not be - // a color space identifier as the third param, which we - // need to ignore (it has no standardized behavior). - const rgb = if (slice.len == 5 or !self.colon) - slice[2..5] - else rgb: { - self.idx += 1; - break :rgb slice[3..6]; - }; + 2 => if (self.parseDirectColor( + .direct_color_fg, + slice, + colon, + )) |v| return v, - // We use @truncate because the value should be 0 to 255. If - // it isn't, the behavior is undefined so we just... truncate it. - return Attribute{ - .direct_color_fg = .{ - .r = @truncate(rgb[0]), - .g = @truncate(rgb[1]), - .b = @truncate(rgb[2]), - }, - }; - }, // `5` indicates indexed color. 5 => if (slice.len >= 3) { self.idx += 2; - return Attribute{ + return .{ .@"256_fg" = @truncate(slice[2]), }; }, else => {}, }, - 39 => return Attribute{ .reset_fg = {} }, + 39 => return .reset_fg, - 40...47 => return Attribute{ + 40...47 => return .{ .@"8_bg" = @enumFromInt(slice[0] - 40), }, 48 => if (slice.len >= 2) switch (slice[1]) { // `2` indicates direct-color (r, g, b). // We need at least 3 more params for this to make sense. - 2 => if (slice.len >= 5) { - self.idx += 4; - // When a colon separator is used, there may or may not be - // a color space identifier as the third param, which we - // need to ignore (it has no standardized behavior). - const rgb = if (slice.len == 5 or !self.colon) - slice[2..5] - else rgb: { - self.idx += 1; - break :rgb slice[3..6]; - }; + 2 => if (self.parseDirectColor( + .direct_color_bg, + slice, + colon, + )) |v| return v, - // We use @truncate because the value should be 0 to 255. If - // it isn't, the behavior is undefined so we just... truncate it. - return Attribute{ - .direct_color_bg = .{ - .r = @truncate(rgb[0]), - .g = @truncate(rgb[1]), - .b = @truncate(rgb[2]), - }, - }; - }, // `5` indicates indexed color. 5 => if (slice.len >= 3) { self.idx += 2; - return Attribute{ + return .{ .@"256_bg" = @truncate(slice[2]), }; }, else => {}, }, - 49 => return Attribute{ .reset_bg = {} }, + 49 => return .reset_bg, - 53 => return Attribute{ .overline = {} }, - 55 => return Attribute{ .reset_overline = {} }, + 53 => return .overline, + 55 => return .reset_overline, 58 => if (slice.len >= 2) switch (slice[1]) { // `2` indicates direct-color (r, g, b). // We need at least 3 more params for this to make sense. - 2 => if (slice.len >= 5) { - self.idx += 4; - // When a colon separator is used, there may or may not be - // a color space identifier as the third param, which we - // need to ignore (it has no standardized behavior). - const rgb = if (slice.len == 5 or !self.colon) - slice[2..5] - else rgb: { - self.idx += 1; - break :rgb slice[3..6]; - }; + 2 => if (self.parseDirectColor( + .underline_color, + slice, + colon, + )) |v| return v, - // We use @truncate because the value should be 0 to 255. If - // it isn't, the behavior is undefined so we just... truncate it. - return Attribute{ - .underline_color = .{ - .r = @truncate(rgb[0]), - .g = @truncate(rgb[1]), - .b = @truncate(rgb[2]), - }, - }; - }, // `5` indicates indexed color. 5 => if (slice.len >= 3) { self.idx += 2; - return Attribute{ + return .{ .@"256_underline_color" = @truncate(slice[2]), }; }, else => {}, }, - 59 => return Attribute{ .reset_underline_color = {} }, + 59 => return .reset_underline_color, - 90...97 => return Attribute{ + 90...97 => return .{ // 82 instead of 90 to offset to "bright" colors .@"8_bright_fg" = @enumFromInt(slice[0] - 82), }, - 100...107 => return Attribute{ + 100...107 => return .{ .@"8_bright_bg" = @enumFromInt(slice[0] - 92), }, else => {}, } - return Attribute{ .unknown = .{ .full = self.params, .partial = slice } }; + return .{ .unknown = .{ .full = self.params, .partial = slice } }; + } + + fn parseDirectColor( + self: *Parser, + comptime tag: Attribute.Tag, + slice: []const u16, + colon: bool, + ) ?Attribute { + // Any direct color style must have at least 5 values. + if (slice.len < 5) return null; + + // Only used for direct color sets (38, 48, 58) and subparam 2. + assert(slice[1] == 2); + + // Note: We use @truncate because the value should be 0 to 255. If + // it isn't, the behavior is undefined so we just... truncate it. + + // If we don't have a colon, then we expect exactly 3 semicolon + // separated values. + if (!colon) { + self.idx += 4; + return @unionInit(Attribute, @tagName(tag), .{ + .r = @truncate(slice[2]), + .g = @truncate(slice[3]), + .b = @truncate(slice[4]), + }); + } + + // We have a colon, we might have either 5 or 6 values depending + // on if the colorspace is present. + const count = self.countColon(); + switch (count) { + 3 => { + self.idx += 4; + return @unionInit(Attribute, @tagName(tag), .{ + .r = @truncate(slice[2]), + .g = @truncate(slice[3]), + .b = @truncate(slice[4]), + }); + }, + + 4 => { + self.idx += 5; + return @unionInit(Attribute, @tagName(tag), .{ + .r = @truncate(slice[3]), + .g = @truncate(slice[4]), + .b = @truncate(slice[5]), + }); + }, + + else => { + self.consumeUnknownColon(); + return null; + }, + } + } + + /// Returns true if the present position has a colon separator. + /// This always returns false for the last value since it has no + /// separator. + fn isColon(self: *Parser) bool { + // The `- 1` here is because the last value has no separator. + if (self.idx >= self.params.len - 1) return false; + return self.params_sep.isSet(self.idx); + } + + fn countColon(self: *Parser) usize { + var count: usize = 0; + var idx = self.idx; + while (idx < self.params.len - 1 and self.params_sep.isSet(idx)) : (idx += 1) { + count += 1; + } + return count; + } + + /// Consumes all the remaining parameters separated by a colon and + /// returns an unknown attribute. + fn consumeUnknownColon(self: *Parser) void { + const count = self.countColon(); + self.idx += count + 1; } }; @@ -329,7 +372,7 @@ fn testParse(params: []const u16) Attribute { } fn testParseColon(params: []const u16) Attribute { - var p: Parser = .{ .params = params, .colon = true }; + var p: Parser = .{ .params = params, .params_sep = SepList.initFull() }; return p.next().?; } @@ -366,6 +409,35 @@ test "sgr: Parser multiple" { try testing.expect(p.next() == null); } +test "sgr: unsupported with colon" { + var p: Parser = .{ + .params = &[_]u16{ 0, 4, 1 }, + .params_sep = sep: { + var list = SepList.initEmpty(); + list.set(0); + break :sep list; + }, + }; + try testing.expect(p.next().? == .unknown); + try testing.expect(p.next().? == .bold); + try testing.expect(p.next() == null); +} + +test "sgr: unsupported with multiple colon" { + var p: Parser = .{ + .params = &[_]u16{ 0, 4, 2, 1 }, + .params_sep = sep: { + var list = SepList.initEmpty(); + list.set(0); + list.set(1); + break :sep list; + }, + }; + try testing.expect(p.next().? == .unknown); + try testing.expect(p.next().? == .bold); + try testing.expect(p.next() == null); +} + test "sgr: bold" { { const v = testParse(&[_]u16{1}); @@ -439,6 +511,37 @@ test "sgr: underline styles" { } } +test "sgr: underline style with more" { + var p: Parser = .{ + .params = &[_]u16{ 4, 2, 1 }, + .params_sep = sep: { + var list = SepList.initEmpty(); + list.set(0); + break :sep list; + }, + }; + + try testing.expect(p.next().? == .underline); + try testing.expect(p.next().? == .bold); + try testing.expect(p.next() == null); +} + +test "sgr: underline style with too many colons" { + var p: Parser = .{ + .params = &[_]u16{ 4, 2, 3, 1 }, + .params_sep = sep: { + var list = SepList.initEmpty(); + list.set(0); + list.set(1); + break :sep list; + }, + }; + + try testing.expect(p.next().? == .unknown); + try testing.expect(p.next().? == .bold); + try testing.expect(p.next() == null); +} + test "sgr: blink" { { const v = testParse(&[_]u16{5}); @@ -592,13 +695,13 @@ test "sgr: underline, bg, and fg" { test "sgr: direct color fg missing color" { // This used to crash - var p: Parser = .{ .params = &[_]u16{ 38, 5 }, .colon = false }; + var p: Parser = .{ .params = &[_]u16{ 38, 5 } }; while (p.next()) |_| {} } test "sgr: direct color bg missing color" { // This used to crash - var p: Parser = .{ .params = &[_]u16{ 48, 5 }, .colon = false }; + var p: Parser = .{ .params = &[_]u16{ 48, 5 } }; while (p.next()) |_| {} } @@ -608,7 +711,7 @@ test "sgr: direct fg/bg/underline ignore optional color space" { // Colon version should skip the optional color space identifier { // 3 8 : 2 : Pi : Pr : Pg : Pb - const v = testParseColon(&[_]u16{ 38, 2, 0, 1, 2, 3, 4 }); + const v = testParseColon(&[_]u16{ 38, 2, 0, 1, 2, 3 }); try testing.expect(v == .direct_color_fg); try testing.expectEqual(@as(u8, 1), v.direct_color_fg.r); try testing.expectEqual(@as(u8, 2), v.direct_color_fg.g); @@ -616,7 +719,7 @@ test "sgr: direct fg/bg/underline ignore optional color space" { } { // 4 8 : 2 : Pi : Pr : Pg : Pb - const v = testParseColon(&[_]u16{ 48, 2, 0, 1, 2, 3, 4 }); + const v = testParseColon(&[_]u16{ 48, 2, 0, 1, 2, 3 }); try testing.expect(v == .direct_color_bg); try testing.expectEqual(@as(u8, 1), v.direct_color_bg.r); try testing.expectEqual(@as(u8, 2), v.direct_color_bg.g); @@ -624,7 +727,7 @@ test "sgr: direct fg/bg/underline ignore optional color space" { } { // 5 8 : 2 : Pi : Pr : Pg : Pb - const v = testParseColon(&[_]u16{ 58, 2, 0, 1, 2, 3, 4 }); + const v = testParseColon(&[_]u16{ 58, 2, 0, 1, 2, 3 }); try testing.expect(v == .underline_color); try testing.expectEqual(@as(u8, 1), v.underline_color.r); try testing.expectEqual(@as(u8, 2), v.underline_color.g); @@ -634,7 +737,7 @@ test "sgr: direct fg/bg/underline ignore optional color space" { // Semicolon version should not parse optional color space identifier { // 3 8 ; 2 ; Pr ; Pg ; Pb - const v = testParse(&[_]u16{ 38, 2, 0, 1, 2, 3, 4 }); + const v = testParse(&[_]u16{ 38, 2, 0, 1, 2, 3 }); try testing.expect(v == .direct_color_fg); try testing.expectEqual(@as(u8, 0), v.direct_color_fg.r); try testing.expectEqual(@as(u8, 1), v.direct_color_fg.g); @@ -642,7 +745,7 @@ test "sgr: direct fg/bg/underline ignore optional color space" { } { // 4 8 ; 2 ; Pr ; Pg ; Pb - const v = testParse(&[_]u16{ 48, 2, 0, 1, 2, 3, 4 }); + const v = testParse(&[_]u16{ 48, 2, 0, 1, 2, 3 }); try testing.expect(v == .direct_color_bg); try testing.expectEqual(@as(u8, 0), v.direct_color_bg.r); try testing.expectEqual(@as(u8, 1), v.direct_color_bg.g); @@ -650,10 +753,114 @@ test "sgr: direct fg/bg/underline ignore optional color space" { } { // 5 8 ; 2 ; Pr ; Pg ; Pb - const v = testParse(&[_]u16{ 58, 2, 0, 1, 2, 3, 4 }); + const v = testParse(&[_]u16{ 58, 2, 0, 1, 2, 3 }); try testing.expect(v == .underline_color); try testing.expectEqual(@as(u8, 0), v.underline_color.r); try testing.expectEqual(@as(u8, 1), v.underline_color.g); try testing.expectEqual(@as(u8, 2), v.underline_color.b); } } + +test "sgr: direct fg colon with too many colons" { + var p: Parser = .{ + .params = &[_]u16{ 38, 2, 0, 1, 2, 3, 4, 1 }, + .params_sep = sep: { + var list = SepList.initEmpty(); + for (0..6) |idx| list.set(idx); + break :sep list; + }, + }; + + try testing.expect(p.next().? == .unknown); + try testing.expect(p.next().? == .bold); + try testing.expect(p.next() == null); +} + +test "sgr: direct fg colon with colorspace and extra param" { + var p: Parser = .{ + .params = &[_]u16{ 38, 2, 0, 1, 2, 3, 1 }, + .params_sep = sep: { + var list = SepList.initEmpty(); + for (0..5) |idx| list.set(idx); + break :sep list; + }, + }; + + { + const v = p.next().?; + std.log.warn("WHAT={}", .{v}); + try testing.expect(v == .direct_color_fg); + try testing.expectEqual(@as(u8, 1), v.direct_color_fg.r); + try testing.expectEqual(@as(u8, 2), v.direct_color_fg.g); + try testing.expectEqual(@as(u8, 3), v.direct_color_fg.b); + } + + try testing.expect(p.next().? == .bold); + try testing.expect(p.next() == null); +} + +test "sgr: direct fg colon no colorspace and extra param" { + var p: Parser = .{ + .params = &[_]u16{ 38, 2, 1, 2, 3, 1 }, + .params_sep = sep: { + var list = SepList.initEmpty(); + for (0..4) |idx| list.set(idx); + break :sep list; + }, + }; + + { + const v = p.next().?; + try testing.expect(v == .direct_color_fg); + try testing.expectEqual(@as(u8, 1), v.direct_color_fg.r); + try testing.expectEqual(@as(u8, 2), v.direct_color_fg.g); + try testing.expectEqual(@as(u8, 3), v.direct_color_fg.b); + } + + try testing.expect(p.next().? == .bold); + try testing.expect(p.next() == null); +} + +// Kakoune sent this complex SGR sequence that caused invalid behavior. +test "sgr: kakoune input" { + // This used to crash + var p: Parser = .{ + .params = &[_]u16{ 0, 4, 3, 38, 2, 175, 175, 215, 58, 2, 0, 190, 80, 70 }, + .params_sep = sep: { + var list = SepList.initEmpty(); + list.set(1); + list.set(8); + list.set(9); + list.set(10); + list.set(11); + list.set(12); + break :sep list; + }, + }; + + { + const v = p.next().?; + try testing.expect(v == .unset); + } + { + const v = p.next().?; + try testing.expect(v == .underline); + try testing.expectEqual(Attribute.Underline.curly, v.underline); + } + { + const v = p.next().?; + try testing.expect(v == .direct_color_fg); + try testing.expectEqual(@as(u8, 175), v.direct_color_fg.r); + try testing.expectEqual(@as(u8, 175), v.direct_color_fg.g); + try testing.expectEqual(@as(u8, 215), v.direct_color_fg.b); + } + { + const v = p.next().?; + try testing.expect(v == .underline_color); + try testing.expectEqual(@as(u8, 190), v.underline_color.r); + try testing.expectEqual(@as(u8, 80), v.underline_color.g); + try testing.expectEqual(@as(u8, 70), v.underline_color.b); + } + + //try testing.expect(p.next() == null); +} diff --git a/src/terminal/stream.zig b/src/terminal/stream.zig index 5657d63f4..eb5ab2c65 100644 --- a/src/terminal/stream.zig +++ b/src/terminal/stream.zig @@ -253,15 +253,11 @@ pub fn Stream(comptime Handler: type) type { // A parameter separator: ':', ';' => if (self.parser.params_idx < 16) { self.parser.params[self.parser.params_idx] = self.parser.param_acc; + if (c == ':') self.parser.params_sep.set(self.parser.params_idx); self.parser.params_idx += 1; self.parser.param_acc = 0; self.parser.param_acc_idx = 0; - - // Keep track of separator state. - const sep: Parser.ParamSepState = @enumFromInt(c); - if (self.parser.params_idx == 1) self.parser.params_sep = sep; - if (self.parser.params_sep != sep) self.parser.params_sep = .mixed; }, // Explicitly ignored: 0x7F => {}, @@ -937,7 +933,10 @@ pub fn Stream(comptime Handler: type) type { 'm' => switch (input.intermediates.len) { 0 => if (@hasDecl(T, "setAttribute")) { // log.info("parse SGR params={any}", .{action.params}); - var p: sgr.Parser = .{ .params = input.params, .colon = input.sep == .colon }; + var p: sgr.Parser = .{ + .params = input.params, + .params_sep = input.params_sep, + }; while (p.next()) |attr| { // log.info("SGR attribute: {}", .{attr}); try self.handler.setAttribute(attr); From 5cf7575967e9075d0389e8c0b547aa2e6ce49170 Mon Sep 17 00:00:00 2001 From: Qwerasd Date: Thu, 9 Jan 2025 23:39:40 -0500 Subject: [PATCH 081/365] fix(PageList): when cloning, explicitly set cols Otherwise pages may have the wrong width if they were resized down with a fast path that just chanes the size without adjusting capacity at all. --- src/terminal/PageList.zig | 1 + 1 file changed, 1 insertion(+) diff --git a/src/terminal/PageList.zig b/src/terminal/PageList.zig index 260733b94..b838332b0 100644 --- a/src/terminal/PageList.zig +++ b/src/terminal/PageList.zig @@ -520,6 +520,7 @@ pub fn clone( assert(node.data.capacity.rows >= chunk.end - chunk.start); defer node.data.assertIntegrity(); node.data.size.rows = chunk.end - chunk.start; + node.data.size.cols = chunk.node.data.size.cols; try node.data.cloneFrom( &chunk.node.data, chunk.start, From fca336c32d6e6659b04803c7e3a1f1ad1378b840 Mon Sep 17 00:00:00 2001 From: Qwerasd Date: Fri, 10 Jan 2025 13:43:02 -0500 Subject: [PATCH 082/365] Metal: blend in Display P3 color space, add option for linear blending This commit is quite large because it's fairly interconnected and can't be split up in a logical way. The main part of this commit is that alpha blending is now always done in the Display P3 color space, and depending on the configured `window-colorspace` colors will be converted from sRGB or assumed to already be Display P3 colors. In addition, a config option `text-blending` has been added which allows the user to configure linear blending (AKA "gamma correction"). Linear alpha blending also applies to images and makes custom shaders receive linear colors rather than sRGB. In addition, an experimental option has been added which corrects linear blending's tendency to make dark text look too thin and bright text look too thick. Essentially it's a correction curve on the alpha channel that depends on the luminance of the glyph being drawn. --- .../QuickTerminalController.swift | 16 - .../Terminal/TerminalController.swift | 13 - macos/Sources/Ghostty/Ghostty.Config.swift | 9 - pkg/macos/graphics/color_space.zig | 63 ++++ src/config/Config.zig | 40 +++ src/font/face/coretext.zig | 7 +- src/renderer/Metal.zig | 320 ++++++++++++------ src/renderer/metal/api.zig | 1 + src/renderer/metal/shaders.zig | 75 ++-- src/renderer/shaders/cell.metal | 293 +++++++++++++--- 10 files changed, 631 insertions(+), 206 deletions(-) diff --git a/macos/Sources/Features/QuickTerminal/QuickTerminalController.swift b/macos/Sources/Features/QuickTerminal/QuickTerminalController.swift index c23aad755..bc89022f5 100644 --- a/macos/Sources/Features/QuickTerminal/QuickTerminalController.swift +++ b/macos/Sources/Features/QuickTerminal/QuickTerminalController.swift @@ -375,19 +375,6 @@ class QuickTerminalController: BaseTerminalController { // Some APIs such as window blur have no effect unless the window is visible. guard window.isVisible else { return } - // Terminals typically operate in sRGB color space and macOS defaults - // to "native" which is typically P3. There is a lot more resources - // covered in this GitHub issue: https://github.com/mitchellh/ghostty/pull/376 - // Ghostty defaults to sRGB but this can be overridden. - switch (self.derivedConfig.windowColorspace) { - case "display-p3": - window.colorSpace = .displayP3 - case "srgb": - fallthrough - default: - window.colorSpace = .sRGB - } - // If we have window transparency then set it transparent. Otherwise set it opaque. if (self.derivedConfig.backgroundOpacity < 1) { window.isOpaque = false @@ -457,7 +444,6 @@ class QuickTerminalController: BaseTerminalController { let quickTerminalAnimationDuration: Double let quickTerminalAutoHide: Bool let quickTerminalSpaceBehavior: QuickTerminalSpaceBehavior - let windowColorspace: String let backgroundOpacity: Double init() { @@ -465,7 +451,6 @@ class QuickTerminalController: BaseTerminalController { self.quickTerminalAnimationDuration = 0.2 self.quickTerminalAutoHide = true self.quickTerminalSpaceBehavior = .move - self.windowColorspace = "" self.backgroundOpacity = 1.0 } @@ -474,7 +459,6 @@ class QuickTerminalController: BaseTerminalController { self.quickTerminalAnimationDuration = config.quickTerminalAnimationDuration self.quickTerminalAutoHide = config.quickTerminalAutoHide self.quickTerminalSpaceBehavior = config.quickTerminalSpaceBehavior - self.windowColorspace = config.windowColorspace self.backgroundOpacity = config.backgroundOpacity } } diff --git a/macos/Sources/Features/Terminal/TerminalController.swift b/macos/Sources/Features/Terminal/TerminalController.swift index 08306a854..89da6bfeb 100644 --- a/macos/Sources/Features/Terminal/TerminalController.swift +++ b/macos/Sources/Features/Terminal/TerminalController.swift @@ -366,19 +366,6 @@ class TerminalController: BaseTerminalController { // If window decorations are disabled, remove our title if (!config.windowDecorations) { window.styleMask.remove(.titled) } - // Terminals typically operate in sRGB color space and macOS defaults - // to "native" which is typically P3. There is a lot more resources - // covered in this GitHub issue: https://github.com/mitchellh/ghostty/pull/376 - // Ghostty defaults to sRGB but this can be overridden. - switch (config.windowColorspace) { - case "display-p3": - window.colorSpace = .displayP3 - case "srgb": - fallthrough - default: - window.colorSpace = .sRGB - } - // If we have only a single surface (no splits) and that surface requested // an initial size then we set it here now. if case let .leaf(leaf) = surfaceTree { diff --git a/macos/Sources/Ghostty/Ghostty.Config.swift b/macos/Sources/Ghostty/Ghostty.Config.swift index 1b3263fc3..d6e1710ae 100644 --- a/macos/Sources/Ghostty/Ghostty.Config.swift +++ b/macos/Sources/Ghostty/Ghostty.Config.swift @@ -132,15 +132,6 @@ extension Ghostty { return v } - var windowColorspace: String { - guard let config = self.config else { return "" } - var v: UnsafePointer? = nil - let key = "window-colorspace" - guard ghostty_config_get(config, &v, key, UInt(key.count)) else { return "" } - guard let ptr = v else { return "" } - return String(cString: ptr) - } - var windowSaveState: String { guard let config = self.config else { return "" } var v: UnsafePointer? = nil diff --git a/pkg/macos/graphics/color_space.zig b/pkg/macos/graphics/color_space.zig index 459f06302..16960591b 100644 --- a/pkg/macos/graphics/color_space.zig +++ b/pkg/macos/graphics/color_space.zig @@ -18,9 +18,72 @@ pub const ColorSpace = opaque { ) orelse Allocator.Error.OutOfMemory; } + pub fn createNamed(name: Name) Allocator.Error!*ColorSpace { + return @as( + ?*ColorSpace, + @ptrFromInt(@intFromPtr(c.CGColorSpaceCreateWithName(name.cfstring()))), + ) orelse Allocator.Error.OutOfMemory; + } + pub fn release(self: *ColorSpace) void { c.CGColorSpaceRelease(@ptrCast(self)); } + + pub const Name = enum { + /// This color space uses the DCI P3 primaries, a D65 white point, and + /// the sRGB transfer function. + displayP3, + /// The Display P3 color space with a linear transfer function and + /// extended-range values. + extendedLinearDisplayP3, + /// The sRGB colorimetry and non-linear transfer function are specified + /// in IEC 61966-2-1. + sRGB, + /// This color space has the same colorimetry as `sRGB`, but uses a + /// linear transfer function. + linearSRGB, + /// This color space has the same colorimetry as `sRGB`, but you can + /// encode component values below `0.0` and above `1.0`. Negative values + /// are encoded as the signed reflection of the original encoding + /// function, as shown in the formula below: + /// ``` + /// extendedTransferFunction(x) = sign(x) * sRGBTransferFunction(abs(x)) + /// ``` + extendedSRGB, + /// This color space has the same colorimetry as `sRGB`; in addition, + /// you may encode component values below `0.0` and above `1.0`. + extendedLinearSRGB, + /// ... + genericGrayGamma2_2, + /// ... + linearGray, + /// This color space has the same colorimetry as `genericGrayGamma2_2`, + /// but you can encode component values below `0.0` and above `1.0`. + /// Negative values are encoded as the signed reflection of the + /// original encoding function, as shown in the formula below: + /// ``` + /// extendedGrayTransferFunction(x) = sign(x) * gamma22Function(abs(x)) + /// ``` + extendedGray, + /// This color space has the same colorimetry as `linearGray`; in + /// addition, you may encode component values below `0.0` and above `1.0`. + extendedLinearGray, + + fn cfstring(self: Name) c.CFStringRef { + return switch (self) { + .displayP3 => c.kCGColorSpaceDisplayP3, + .extendedLinearDisplayP3 => c.kCGColorSpaceExtendedLinearDisplayP3, + .sRGB => c.kCGColorSpaceSRGB, + .extendedSRGB => c.kCGColorSpaceExtendedSRGB, + .linearSRGB => c.kCGColorSpaceLinearSRGB, + .extendedLinearSRGB => c.kCGColorSpaceExtendedLinearSRGB, + .genericGrayGamma2_2 => c.kCGColorSpaceGenericGrayGamma2_2, + .extendedGray => c.kCGColorSpaceExtendedGray, + .linearGray => c.kCGColorSpaceLinearGray, + .extendedLinearGray => c.kCGColorSpaceExtendedLinearGray, + }; + } + }; }; test { diff --git a/src/config/Config.zig b/src/config/Config.zig index 6c5b64316..eabae9052 100644 --- a/src/config/Config.zig +++ b/src/config/Config.zig @@ -248,6 +248,40 @@ const c = @cImport({ /// This is currently only supported on macOS. @"font-thicken-strength": u8 = 255, +/// What color space to use when performing alpha blending. +/// +/// This affects how text looks for different background/foreground color pairs. +/// +/// Valid values: +/// +/// * `native` - Perform alpha blending in the native color space for the OS. +/// On macOS this corresponds to Display P3, and on Linux it's sRGB. +/// +/// * `linear` - Perform alpha blending in linear space. This will eliminate +/// the darkening artifacts around the edges of text that are very visible +/// when certain color combinations are used (e.g. red / green), but makes +/// dark text look much thinner than normal and light text much thicker. +/// This is also sometimes known as "gamma correction". +/// (Currently only supported on macOS. Has no effect on Linux.) +/// +/// To prevent the uneven thickness caused by linear blending, you can use +/// the `experimental-linear-correction` option which applies a correction +/// curve to the text alpha depending on its brightness, which compensates +/// for the thinning and makes the weight of most text appear very similar +/// to when it's blendeded non-linearly. +/// +/// Note: This setting affects more than just text, images will also be blended +/// in the selected color space, and custom shaders will receive colors in that +/// color space as well. +@"text-blending": TextBlending = .native, + +/// Apply a correction curve to text alpha to compensate for uneven apparent +/// thickness of different colors of text, roughly matching the appearance of +/// text rendered with non-linear blending. +/// +/// Has no effect if not using linear `text-blending`. +@"experimental-linear-correction": bool = false, + /// All of the configurations behavior adjust various metrics determined by the /// font. The values can be integers (1, -1, etc.) or a percentage (20%, -15%, /// etc.). In each case, the values represent the amount to change the original @@ -5749,6 +5783,12 @@ pub const GraphemeWidthMethod = enum { unicode, }; +/// See text-blending +pub const TextBlending = enum { + native, + linear, +}; + /// See freetype-load-flag pub const FreetypeLoadFlags = packed struct { // The defaults here at the time of writing this match the defaults diff --git a/src/font/face/coretext.zig b/src/font/face/coretext.zig index 6661295f3..3749b4824 100644 --- a/src/font/face/coretext.zig +++ b/src/font/face/coretext.zig @@ -343,13 +343,12 @@ pub const Face = struct { } = if (!self.isColorGlyph(glyph_index)) .{ .color = false, .depth = 1, - .space = try macos.graphics.ColorSpace.createDeviceGray(), - .context_opts = @intFromEnum(macos.graphics.BitmapInfo.alpha_mask) & - @intFromEnum(macos.graphics.ImageAlphaInfo.only), + .space = try macos.graphics.ColorSpace.createNamed(.linearGray), + .context_opts = @intFromEnum(macos.graphics.ImageAlphaInfo.only), } else .{ .color = true, .depth = 4, - .space = try macos.graphics.ColorSpace.createDeviceRGB(), + .space = try macos.graphics.ColorSpace.createNamed(.displayP3), .context_opts = @intFromEnum(macos.graphics.BitmapInfo.byte_order_32_little) | @intFromEnum(macos.graphics.ImageAlphaInfo.premultiplied_first), }; diff --git a/src/renderer/Metal.zig b/src/renderer/Metal.zig index 09dafd1fc..707fe8e46 100644 --- a/src/renderer/Metal.zig +++ b/src/renderer/Metal.zig @@ -21,6 +21,7 @@ const renderer = @import("../renderer.zig"); const math = @import("../math.zig"); const Surface = @import("../Surface.zig"); const link = @import("link.zig"); +const graphics = macos.graphics; const fgMode = @import("cell.zig").fgMode; const isCovering = @import("cell.zig").isCovering; const shadertoy = @import("shadertoy.zig"); @@ -105,10 +106,6 @@ default_cursor_color: ?terminal.color.RGB, /// foreground color as the cursor color. cursor_invert: bool, -/// The current frame background color. This is only updated during -/// the updateFrame method. -current_background_color: terminal.color.RGB, - /// The current set of cells to render. This is rebuilt on every frame /// but we keep this around so that we don't reallocate. Each set of /// cells goes into a separate shader. @@ -390,6 +387,9 @@ pub const DerivedConfig = struct { custom_shaders: configpkg.RepeatablePath, links: link.Set, vsync: bool, + colorspace: configpkg.Config.WindowColorspace, + blending: configpkg.Config.TextBlending, + experimental_linear_correction: bool, pub fn init( alloc_gpa: Allocator, @@ -460,6 +460,9 @@ pub const DerivedConfig = struct { .custom_shaders = custom_shaders, .links = links, .vsync = config.@"window-vsync", + .colorspace = config.@"window-colorspace", + .blending = config.@"text-blending", + .experimental_linear_correction = config.@"text-blending" == .linear and config.@"experimental-linear-correction", .arena = arena, }; @@ -490,10 +493,6 @@ pub fn surfaceInit(surface: *apprt.Surface) !void { } pub fn init(alloc: Allocator, options: renderer.Options) !Metal { - var arena = ArenaAllocator.init(alloc); - defer arena.deinit(); - const arena_alloc = arena.allocator(); - const ViewInfo = struct { view: objc.Object, scaleFactor: f64, @@ -512,7 +511,7 @@ pub fn init(alloc: Allocator, options: renderer.Options) !Metal { nswindow.getProperty(?*anyopaque, "contentView").?, ); const scaleFactor = nswindow.getProperty( - macos.graphics.c.CGFloat, + graphics.c.CGFloat, "backingScaleFactor", ); @@ -553,6 +552,29 @@ pub fn init(alloc: Allocator, options: renderer.Options) !Metal { layer.setProperty("opaque", options.config.background_opacity >= 1); layer.setProperty("displaySyncEnabled", options.config.vsync); + // Set our layer's pixel format appropriately. + layer.setProperty( + "pixelFormat", + // Using an `*_srgb` pixel format makes Metal gamma encode + // the pixels written to it *after* blending, which means + // we get linear alpha blending rather than gamma-incorrect + // blending. + if (options.config.blending == .linear) + @intFromEnum(mtl.MTLPixelFormat.bgra8unorm_srgb) + else + @intFromEnum(mtl.MTLPixelFormat.bgra8unorm), + ); + + // Set our layer's color space to Display P3. + // This allows us to have "Apple-style" alpha blending, + // since it seems to be the case that Apple apps like + // Terminal and TextEdit render text in the display's + // color space using converted colors, which reduces, + // but does not fully eliminate blending artifacts. + const colorspace = try graphics.ColorSpace.createNamed(.displayP3); + errdefer colorspace.release(); + layer.setProperty("colorspace", colorspace); + // Make our view layer-backed with our Metal layer. On iOS views are // always layer backed so we don't need to do this. But on iOS the // caller MUST be sure to set the layerClass to CAMetalLayer. @@ -578,54 +600,6 @@ pub fn init(alloc: Allocator, options: renderer.Options) !Metal { }); errdefer font_shaper.deinit(); - // Load our custom shaders - const custom_shaders: []const [:0]const u8 = shadertoy.loadFromFiles( - arena_alloc, - options.config.custom_shaders, - .msl, - ) catch |err| err: { - log.warn("error loading custom shaders err={}", .{err}); - break :err &.{}; - }; - - // If we have custom shaders then setup our state - var custom_shader_state: ?CustomShaderState = state: { - if (custom_shaders.len == 0) break :state null; - - // Build our sampler for our texture - var sampler = try mtl_sampler.Sampler.init(gpu_state.device); - errdefer sampler.deinit(); - - break :state .{ - // Resolution and screen textures will be fixed up by first - // call to setScreenSize. Draw calls will bail out early if - // the screen size hasn't been set yet, so it won't error. - .front_texture = undefined, - .back_texture = undefined, - .sampler = sampler, - .uniforms = .{ - .resolution = .{ 0, 0, 1 }, - .time = 1, - .time_delta = 1, - .frame_rate = 1, - .frame = 1, - .channel_time = [1][4]f32{.{ 0, 0, 0, 0 }} ** 4, - .channel_resolution = [1][4]f32{.{ 0, 0, 0, 0 }} ** 4, - .mouse = .{ 0, 0, 0, 0 }, - .date = .{ 0, 0, 0, 0 }, - .sample_rate = 1, - }, - - .first_frame_time = try std.time.Instant.now(), - .last_frame_time = try std.time.Instant.now(), - }; - }; - errdefer if (custom_shader_state) |*state| state.deinit(); - - // Initialize our shaders - var shaders = try Shaders.init(alloc, gpu_state.device, custom_shaders); - errdefer shaders.deinit(alloc); - // Initialize all the data that requires a critical font section. const font_critical: struct { metrics: font.Metrics, @@ -661,7 +635,6 @@ pub fn init(alloc: Allocator, options: renderer.Options) !Metal { .cursor_color = null, .default_cursor_color = options.config.cursor_color, .cursor_invert = options.config.cursor_invert, - .current_background_color = options.config.background, // Render state .cells = .{}, @@ -674,7 +647,16 @@ pub fn init(alloc: Allocator, options: renderer.Options) !Metal { .min_contrast = options.config.min_contrast, .cursor_pos = .{ std.math.maxInt(u16), std.math.maxInt(u16) }, .cursor_color = undefined, + .bg_color = .{ + options.config.background.r, + options.config.background.g, + options.config.background.b, + @intFromFloat(@round(options.config.background_opacity * 255.0)), + }, .cursor_wide = false, + .use_display_p3 = options.config.colorspace == .@"display-p3", + .use_linear_blending = options.config.blending == .linear, + .use_experimental_linear_correction = options.config.experimental_linear_correction, }, // Fonts @@ -682,16 +664,18 @@ pub fn init(alloc: Allocator, options: renderer.Options) !Metal { .font_shaper = font_shaper, .font_shaper_cache = font.ShaperCache.init(), - // Shaders - .shaders = shaders, + // Shaders (initialized below) + .shaders = undefined, // Metal stuff .layer = layer, .display_link = display_link, - .custom_shader_state = custom_shader_state, + .custom_shader_state = null, .gpu_state = gpu_state, }; + try result.initShaders(); + // Do an initialize screen size setup to ensure our undefined values // above are initialized. try result.setScreenSize(result.size); @@ -723,11 +707,82 @@ pub fn deinit(self: *Metal) void { } self.image_placements.deinit(self.alloc); + self.deinitShaders(); + + self.* = undefined; +} + +fn deinitShaders(self: *Metal) void { if (self.custom_shader_state) |*state| state.deinit(); self.shaders.deinit(self.alloc); +} - self.* = undefined; +fn initShaders(self: *Metal) !void { + var arena = ArenaAllocator.init(self.alloc); + defer arena.deinit(); + const arena_alloc = arena.allocator(); + + // Load our custom shaders + const custom_shaders: []const [:0]const u8 = shadertoy.loadFromFiles( + arena_alloc, + self.config.custom_shaders, + .msl, + ) catch |err| err: { + log.warn("error loading custom shaders err={}", .{err}); + break :err &.{}; + }; + + var custom_shader_state: ?CustomShaderState = state: { + if (custom_shaders.len == 0) break :state null; + + // Build our sampler for our texture + var sampler = try mtl_sampler.Sampler.init(self.gpu_state.device); + errdefer sampler.deinit(); + + break :state .{ + // Resolution and screen textures will be fixed up by first + // call to setScreenSize. Draw calls will bail out early if + // the screen size hasn't been set yet, so it won't error. + .front_texture = undefined, + .back_texture = undefined, + .sampler = sampler, + .uniforms = .{ + .resolution = .{ 0, 0, 1 }, + .time = 1, + .time_delta = 1, + .frame_rate = 1, + .frame = 1, + .channel_time = [1][4]f32{.{ 0, 0, 0, 0 }} ** 4, + .channel_resolution = [1][4]f32{.{ 0, 0, 0, 0 }} ** 4, + .mouse = .{ 0, 0, 0, 0 }, + .date = .{ 0, 0, 0, 0 }, + .sample_rate = 1, + }, + + .first_frame_time = try std.time.Instant.now(), + .last_frame_time = try std.time.Instant.now(), + }; + }; + errdefer if (custom_shader_state) |*state| state.deinit(); + + var shaders = try Shaders.init( + self.alloc, + self.gpu_state.device, + custom_shaders, + // Using an `*_srgb` pixel format makes Metal gamma encode + // the pixels written to it *after* blending, which means + // we get linear alpha blending rather than gamma-incorrect + // blending. + if (self.config.blending == .linear) + mtl.MTLPixelFormat.bgra8unorm_srgb + else + mtl.MTLPixelFormat.bgra8unorm, + ); + errdefer shaders.deinit(self.alloc); + + self.shaders = shaders; + self.custom_shader_state = custom_shader_state; } /// This is called just prior to spinning up the renderer thread for @@ -1111,7 +1166,12 @@ pub fn updateFrame( self.cells_viewport = critical.viewport_pin; // Update our background color - self.current_background_color = critical.bg; + self.uniforms.bg_color = .{ + critical.bg.r, + critical.bg.g, + critical.bg.b, + @intFromFloat(@round(self.config.background_opacity * 255.0)), + }; // Go through our images and see if we need to setup any textures. { @@ -1233,10 +1293,10 @@ pub fn drawFrame(self: *Metal, surface: *apprt.Surface) !void { attachment.setProperty("storeAction", @intFromEnum(mtl.MTLStoreAction.store)); attachment.setProperty("texture", screen_texture.value); attachment.setProperty("clearColor", mtl.MTLClearColor{ - .red = @as(f32, @floatFromInt(self.current_background_color.r)) / 255 * self.config.background_opacity, - .green = @as(f32, @floatFromInt(self.current_background_color.g)) / 255 * self.config.background_opacity, - .blue = @as(f32, @floatFromInt(self.current_background_color.b)) / 255 * self.config.background_opacity, - .alpha = self.config.background_opacity, + .red = 0.0, + .green = 0.0, + .blue = 0.0, + .alpha = 0.0, }); } @@ -1252,19 +1312,19 @@ pub fn drawFrame(self: *Metal, surface: *apprt.Surface) !void { defer encoder.msgSend(void, objc.sel("endEncoding"), .{}); // Draw background images first - try self.drawImagePlacements(encoder, self.image_placements.items[0..self.image_bg_end]); + try self.drawImagePlacements(encoder, frame, self.image_placements.items[0..self.image_bg_end]); // Then draw background cells try self.drawCellBgs(encoder, frame); // Then draw images under text - try self.drawImagePlacements(encoder, self.image_placements.items[self.image_bg_end..self.image_text_end]); + try self.drawImagePlacements(encoder, frame, self.image_placements.items[self.image_bg_end..self.image_text_end]); // Then draw fg cells try self.drawCellFgs(encoder, frame, fg_count); // Then draw remaining images - try self.drawImagePlacements(encoder, self.image_placements.items[self.image_text_end..]); + try self.drawImagePlacements(encoder, frame, self.image_placements.items[self.image_text_end..]); } // If we have custom shaders, then we render them. @@ -1457,6 +1517,7 @@ fn drawPostShader( fn drawImagePlacements( self: *Metal, encoder: objc.Object, + frame: *const FrameState, placements: []const mtl_image.Placement, ) !void { if (placements.len == 0) return; @@ -1468,15 +1529,16 @@ fn drawImagePlacements( .{self.shaders.image_pipeline.value}, ); - // Set our uniform, which is the only shared buffer + // Set our uniforms encoder.msgSend( void, - objc.sel("setVertexBytes:length:atIndex:"), - .{ - @as(*const anyopaque, @ptrCast(&self.uniforms)), - @as(c_ulong, @sizeOf(@TypeOf(self.uniforms))), - @as(c_ulong, 1), - }, + objc.sel("setVertexBuffer:offset:atIndex:"), + .{ frame.uniforms.buffer.value, @as(c_ulong, 0), @as(c_ulong, 1) }, + ); + encoder.msgSend( + void, + objc.sel("setFragmentBuffer:offset:atIndex:"), + .{ frame.uniforms.buffer.value, @as(c_ulong, 0), @as(c_ulong, 1) }, ); for (placements) |placement| { @@ -1588,6 +1650,11 @@ fn drawCellBgs( ); // Set our buffers + encoder.msgSend( + void, + objc.sel("setVertexBuffer:offset:atIndex:"), + .{ frame.uniforms.buffer.value, @as(c_ulong, 0), @as(c_ulong, 1) }, + ); encoder.msgSend( void, objc.sel("setFragmentBuffer:offset:atIndex:"), @@ -1647,18 +1714,17 @@ fn drawCellFgs( encoder.msgSend( void, objc.sel("setFragmentTexture:atIndex:"), - .{ - frame.grayscale.value, - @as(c_ulong, 0), - }, + .{ frame.grayscale.value, @as(c_ulong, 0) }, ); encoder.msgSend( void, objc.sel("setFragmentTexture:atIndex:"), - .{ - frame.color.value, - @as(c_ulong, 1), - }, + .{ frame.color.value, @as(c_ulong, 1) }, + ); + encoder.msgSend( + void, + objc.sel("setFragmentBuffer:offset:atIndex:"), + .{ frame.uniforms.buffer.value, @as(c_ulong, 0), @as(c_ulong, 2) }, ); encoder.msgSend( @@ -2003,17 +2069,48 @@ pub fn changeConfig(self: *Metal, config: *DerivedConfig) !void { // Set our new minimum contrast self.uniforms.min_contrast = config.min_contrast; + // Set our new color space and blending + self.uniforms.use_display_p3 = config.colorspace == .@"display-p3"; + self.uniforms.use_linear_blending = config.blending == .linear; + + self.uniforms.use_experimental_linear_correction = config.experimental_linear_correction; + // Set our new colors self.default_background_color = config.background; self.default_foreground_color = config.foreground; self.default_cursor_color = if (!config.cursor_invert) config.cursor_color else null; self.cursor_invert = config.cursor_invert; + const old_blending = self.config.blending; + const old_custom_shaders = self.config.custom_shaders; + self.config.deinit(); self.config = config.*; // Reset our viewport to force a rebuild, in case of a font change. self.cells_viewport = null; + + // We reinitialize our shaders if our + // blending or custom shaders changed. + if (old_blending != config.blending or + !old_custom_shaders.equal(config.custom_shaders)) + { + self.deinitShaders(); + try self.initShaders(); + // We call setScreenSize to reinitialize + // the textures used for custom shaders. + if (self.custom_shader_state != null) { + try self.setScreenSize(self.size); + } + // And we update our layer's pixel format appropriately. + self.layer.setProperty( + "pixelFormat", + if (config.blending == .linear) + @intFromEnum(mtl.MTLPixelFormat.bgra8unorm_srgb) + else + @intFromEnum(mtl.MTLPixelFormat.bgra8unorm), + ); + } } /// Resize the screen. @@ -2057,7 +2154,7 @@ pub fn setScreenSize( } // Set the size of the drawable surface to the bounds - self.layer.setProperty("drawableSize", macos.graphics.Size{ + self.layer.setProperty("drawableSize", graphics.Size{ .width = @floatFromInt(size.screen.width), .height = @floatFromInt(size.screen.height), }); @@ -2089,7 +2186,11 @@ pub fn setScreenSize( .min_contrast = old.min_contrast, .cursor_pos = old.cursor_pos, .cursor_color = old.cursor_color, + .bg_color = old.bg_color, .cursor_wide = old.cursor_wide, + .use_display_p3 = old.use_display_p3, + .use_linear_blending = old.use_linear_blending, + .use_experimental_linear_correction = old.use_experimental_linear_correction, }; // Reset our cell contents if our grid size has changed. @@ -2124,7 +2225,17 @@ pub fn setScreenSize( const id_init = id_alloc.msgSend(objc.Object, objc.sel("init"), .{}); break :init id_init; }; - desc.setProperty("pixelFormat", @intFromEnum(mtl.MTLPixelFormat.bgra8unorm)); + desc.setProperty( + "pixelFormat", + // Using an `*_srgb` pixel format makes Metal gamma encode + // the pixels written to it *after* blending, which means + // we get linear alpha blending rather than gamma-incorrect + // blending. + if (self.config.blending == .linear) + @intFromEnum(mtl.MTLPixelFormat.bgra8unorm_srgb) + else + @intFromEnum(mtl.MTLPixelFormat.bgra8unorm), + ); desc.setProperty("width", @as(c_ulong, @intCast(size.screen.width))); desc.setProperty("height", @as(c_ulong, @intCast(size.screen.height))); desc.setProperty( @@ -2154,7 +2265,17 @@ pub fn setScreenSize( const id_init = id_alloc.msgSend(objc.Object, objc.sel("init"), .{}); break :init id_init; }; - desc.setProperty("pixelFormat", @intFromEnum(mtl.MTLPixelFormat.bgra8unorm)); + desc.setProperty( + "pixelFormat", + // Using an `*_srgb` pixel format makes Metal gamma encode + // the pixels written to it *after* blending, which means + // we get linear alpha blending rather than gamma-incorrect + // blending. + if (self.config.blending == .linear) + @intFromEnum(mtl.MTLPixelFormat.bgra8unorm_srgb) + else + @intFromEnum(mtl.MTLPixelFormat.bgra8unorm), + ); desc.setProperty("width", @as(c_ulong, @intCast(size.screen.width))); desc.setProperty("height", @as(c_ulong, @intCast(size.screen.height))); desc.setProperty( @@ -2466,8 +2587,10 @@ fn rebuildCells( // Foreground alpha for this cell. const alpha: u8 = if (style.flags.faint) 175 else 255; - // If the cell has a background color, set it. - if (bg) |rgb| { + // Set the cell's background color. + { + const rgb = bg orelse self.background_color orelse self.default_background_color; + // Determine our background alpha. If we have transparency configured // then this is dynamic depending on some situations. This is all // in an attempt to make transparency look the best for various @@ -2477,23 +2600,20 @@ fn rebuildCells( if (self.config.background_opacity >= 1) break :bg_alpha default; - // If we're selected, we do not apply background opacity + // Cells that are selected should be fully opaque. if (selected) break :bg_alpha default; - // If we're reversed, do not apply background opacity + // Cells that are reversed should be fully opaque. if (style.flags.inverse) break :bg_alpha default; - // If we have a background and its not the default background - // then we apply background opacity - if (style.bg(cell, color_palette) != null and !rgb.eql(self.background_color orelse self.default_background_color)) { + // Cells that have an explicit bg color, which does not + // match the current surface bg, should be fully opaque. + if (bg != null and !rgb.eql(self.background_color orelse self.default_background_color)) { break :bg_alpha default; } - // We apply background opacity. - var bg_alpha: f64 = @floatFromInt(default); - bg_alpha *= self.config.background_opacity; - bg_alpha = @ceil(bg_alpha); - break :bg_alpha @intFromFloat(bg_alpha); + // Otherwise, we use the configured background opacity. + break :bg_alpha @intFromFloat(@round(self.config.background_opacity * 255.0)); }; self.cells.bgCell(y, x).* = .{ diff --git a/src/renderer/metal/api.zig b/src/renderer/metal/api.zig index 48056ae5e..6ab42bbd6 100644 --- a/src/renderer/metal/api.zig +++ b/src/renderer/metal/api.zig @@ -74,6 +74,7 @@ pub const MTLPixelFormat = enum(c_ulong) { rgba8unorm = 70, rgba8uint = 73, bgra8unorm = 80, + bgra8unorm_srgb = 81, }; /// https://developer.apple.com/documentation/metal/mtlpurgeablestate?language=objc diff --git a/src/renderer/metal/shaders.zig b/src/renderer/metal/shaders.zig index b909a2f2a..62d363173 100644 --- a/src/renderer/metal/shaders.zig +++ b/src/renderer/metal/shaders.zig @@ -13,9 +13,7 @@ const log = std.log.scoped(.metal); pub const Shaders = struct { library: objc.Object, - /// The cell shader is the shader used to render the terminal cells. - /// It is a single shader that is used for both the background and - /// foreground. + /// Renders cell foreground elements (text, decorations). cell_text_pipeline: objc.Object, /// The cell background shader is the shader used to render the @@ -40,17 +38,18 @@ pub const Shaders = struct { alloc: Allocator, device: objc.Object, post_shaders: []const [:0]const u8, + pixel_format: mtl.MTLPixelFormat, ) !Shaders { const library = try initLibrary(device); errdefer library.msgSend(void, objc.sel("release"), .{}); - const cell_text_pipeline = try initCellTextPipeline(device, library); + const cell_text_pipeline = try initCellTextPipeline(device, library, pixel_format); errdefer cell_text_pipeline.msgSend(void, objc.sel("release"), .{}); - const cell_bg_pipeline = try initCellBgPipeline(device, library); + const cell_bg_pipeline = try initCellBgPipeline(device, library, pixel_format); errdefer cell_bg_pipeline.msgSend(void, objc.sel("release"), .{}); - const image_pipeline = try initImagePipeline(device, library); + const image_pipeline = try initImagePipeline(device, library, pixel_format); errdefer image_pipeline.msgSend(void, objc.sel("release"), .{}); const post_pipelines: []const objc.Object = initPostPipelines( @@ -58,6 +57,7 @@ pub const Shaders = struct { device, library, post_shaders, + pixel_format, ) catch |err| err: { // If an error happens while building postprocess shaders we // want to just not use any postprocess shaders since we don't @@ -137,9 +137,29 @@ pub const Uniforms = extern struct { cursor_pos: [2]u16 align(4), cursor_color: [4]u8 align(4), - // Whether the cursor is 2 cells wide. + /// The background color for the whole surface. + bg_color: [4]u8 align(4), + + /// Whether the cursor is 2 cells wide. cursor_wide: bool align(1), + /// Indicates that colors provided to the shader are already in + /// the P3 color space, so they don't need to be converted from + /// sRGB. + use_display_p3: bool align(1), + + /// Indicates that the color attachments for the shaders have + /// an `*_srgb` pixel format, which means the shaders need to + /// output linear RGB colors rather than gamma encoded colors, + /// since blending will be performed in linear space and then + /// Metal itself will re-encode the colors for storage. + use_linear_blending: bool align(1), + + /// Enables a weight correction step that makes text rendered + /// with linear alpha blending have a similar apparent weight + /// (thickness) to gamma-incorrect blending. + use_experimental_linear_correction: bool align(1) = false, + const PaddingExtend = packed struct(u8) { left: bool = false, right: bool = false, @@ -201,6 +221,7 @@ fn initPostPipelines( device: objc.Object, library: objc.Object, shaders: []const [:0]const u8, + pixel_format: mtl.MTLPixelFormat, ) ![]const objc.Object { // If we have no shaders, do nothing. if (shaders.len == 0) return &.{}; @@ -220,7 +241,12 @@ fn initPostPipelines( // Build each shader. Note we don't use "0.." to build our index // because we need to keep track of our length to clean up above. for (shaders) |source| { - pipelines[i] = try initPostPipeline(device, library, source); + pipelines[i] = try initPostPipeline( + device, + library, + source, + pixel_format, + ); i += 1; } @@ -232,6 +258,7 @@ fn initPostPipeline( device: objc.Object, library: objc.Object, data: [:0]const u8, + pixel_format: mtl.MTLPixelFormat, ) !objc.Object { // Create our library which has the shader source const post_library = library: { @@ -301,8 +328,7 @@ fn initPostPipeline( .{@as(c_ulong, 0)}, ); - // Value is MTLPixelFormatBGRA8Unorm - attachment.setProperty("pixelFormat", @as(c_ulong, 80)); + attachment.setProperty("pixelFormat", @intFromEnum(pixel_format)); } // Make our state @@ -343,7 +369,11 @@ pub const CellText = extern struct { }; /// Initialize the cell render pipeline for our shader library. -fn initCellTextPipeline(device: objc.Object, library: objc.Object) !objc.Object { +fn initCellTextPipeline( + device: objc.Object, + library: objc.Object, + pixel_format: mtl.MTLPixelFormat, +) !objc.Object { // Get our vertex and fragment functions const func_vert = func_vert: { const str = try macos.foundation.String.createWithBytes( @@ -427,8 +457,7 @@ fn initCellTextPipeline(device: objc.Object, library: objc.Object) !objc.Object .{@as(c_ulong, 0)}, ); - // Value is MTLPixelFormatBGRA8Unorm - attachment.setProperty("pixelFormat", @as(c_ulong, 80)); + attachment.setProperty("pixelFormat", @intFromEnum(pixel_format)); // Blending. This is required so that our text we render on top // of our drawable properly blends into the bg. @@ -458,11 +487,15 @@ fn initCellTextPipeline(device: objc.Object, library: objc.Object) !objc.Object pub const CellBg = [4]u8; /// Initialize the cell background render pipeline for our shader library. -fn initCellBgPipeline(device: objc.Object, library: objc.Object) !objc.Object { +fn initCellBgPipeline( + device: objc.Object, + library: objc.Object, + pixel_format: mtl.MTLPixelFormat, +) !objc.Object { // Get our vertex and fragment functions const func_vert = func_vert: { const str = try macos.foundation.String.createWithBytes( - "full_screen_vertex", + "cell_bg_vertex", .utf8, false, ); @@ -507,8 +540,7 @@ fn initCellBgPipeline(device: objc.Object, library: objc.Object) !objc.Object { .{@as(c_ulong, 0)}, ); - // Value is MTLPixelFormatBGRA8Unorm - attachment.setProperty("pixelFormat", @as(c_ulong, 80)); + attachment.setProperty("pixelFormat", @intFromEnum(pixel_format)); // Blending. This is required so that our text we render on top // of our drawable properly blends into the bg. @@ -535,7 +567,11 @@ fn initCellBgPipeline(device: objc.Object, library: objc.Object) !objc.Object { } /// Initialize the image render pipeline for our shader library. -fn initImagePipeline(device: objc.Object, library: objc.Object) !objc.Object { +fn initImagePipeline( + device: objc.Object, + library: objc.Object, + pixel_format: mtl.MTLPixelFormat, +) !objc.Object { // Get our vertex and fragment functions const func_vert = func_vert: { const str = try macos.foundation.String.createWithBytes( @@ -619,8 +655,7 @@ fn initImagePipeline(device: objc.Object, library: objc.Object) !objc.Object { .{@as(c_ulong, 0)}, ); - // Value is MTLPixelFormatBGRA8Unorm - attachment.setProperty("pixelFormat", @as(c_ulong, 80)); + attachment.setProperty("pixelFormat", @intFromEnum(pixel_format)); // Blending. This is required so that our text we render on top // of our drawable properly blends into the bg. diff --git a/src/renderer/shaders/cell.metal b/src/renderer/shaders/cell.metal index 2a107402b..58dd13755 100644 --- a/src/renderer/shaders/cell.metal +++ b/src/renderer/shaders/cell.metal @@ -18,7 +18,11 @@ struct Uniforms { float min_contrast; ushort2 cursor_pos; uchar4 cursor_color; + uchar4 bg_color; bool cursor_wide; + bool use_display_p3; + bool use_linear_blending; + bool use_experimental_linear_correction; }; //------------------------------------------------------------------- @@ -26,40 +30,82 @@ struct Uniforms { //------------------------------------------------------------------- #pragma mark - Colors -// https://www.w3.org/TR/2008/REC-WCAG20-20081211/#relativeluminancedef -float luminance_component(float c) { - if (c <= 0.03928f) { - return c / 12.92f; - } else { - return pow((c + 0.055f) / 1.055f, 2.4f); - } +// D50-adapted sRGB to XYZ conversion matrix. +// http://www.brucelindbloom.com/Eqn_RGB_XYZ_Matrix.html +constant float3x3 sRGB_XYZ = transpose(float3x3( + 0.4360747, 0.3850649, 0.1430804, + 0.2225045, 0.7168786, 0.0606169, + 0.0139322, 0.0971045, 0.7141733 +)); +// XYZ to Display P3 conversion matrix. +// http://endavid.com/index.php?entry=79 +constant float3x3 XYZ_DP3 = transpose(float3x3( + 2.40414768,-0.99010704,-0.39759019, + -0.84239098, 1.79905954, 0.01597023, + 0.04838763,-0.09752546, 1.27393636 +)); +// By composing the two above matrices we get +// our sRGB to Display P3 conversion matrix. +constant float3x3 sRGB_DP3 = XYZ_DP3 * sRGB_XYZ; + +// Converts a color in linear sRGB to linear Display P3 +// +// TODO: The color matrix should probably be computed +// dynamically and passed as a uniform, rather +// than being hard coded above. +float3 srgb_to_display_p3(float3 srgb) { + return sRGB_DP3 * srgb; } -float relative_luminance(float3 color) { - color.r = luminance_component(color.r); - color.g = luminance_component(color.g); - color.b = luminance_component(color.b); - float3 weights = float3(0.2126f, 0.7152f, 0.0722f); - return dot(color, weights); +// Converts a color from sRGB gamma encoding to linear. +float4 linearize(float4 srgb) { + bool3 cutoff = srgb.rgb <= 0.04045; + float3 lower = srgb.rgb / 12.92; + float3 higher = pow((srgb.rgb + 0.055) / 1.055, 2.4); + srgb.rgb = mix(higher, lower, float3(cutoff)); + + return srgb; +} + +// Converts a color from linear to sRGB gamma encoding. +float4 unlinearize(float4 linear) { + bool3 cutoff = linear.rgb <= 0.0031308; + float3 lower = linear.rgb * 12.92; + float3 higher = pow(linear.rgb, 1.0 / 2.4) * 1.055 - 0.055; + linear.rgb = mix(higher, lower, float3(cutoff)); + + return linear; +} + +// Compute the luminance of the provided color. +// +// Takes colors in linear RGB space. If your colors are gamma +// encoded, linearize them before using them with this function. +float luminance(float3 color) { + return dot(color, float3(0.2126f, 0.7152f, 0.0722f)); } // https://www.w3.org/TR/2008/REC-WCAG20-20081211/#contrast-ratiodef +// +// Takes colors in linear RGB space. If your colors are gamma +// encoded, linearize them before using them with this function. float contrast_ratio(float3 color1, float3 color2) { - float l1 = relative_luminance(color1); - float l2 = relative_luminance(color2); + float l1 = luminance(color1); + float l2 = luminance(color2); return (max(l1, l2) + 0.05f) / (min(l1, l2) + 0.05f); } // Return the fg if the contrast ratio is greater than min, otherwise // return a color that satisfies the contrast ratio. Currently, the color // is always white or black, whichever has the highest contrast ratio. +// +// Takes colors in linear RGB space. If your colors are gamma +// encoded, linearize them before using them with this function. float4 contrasted_color(float min, float4 fg, float4 bg) { - float3 fg_premult = fg.rgb * fg.a; - float3 bg_premult = bg.rgb * bg.a; - float ratio = contrast_ratio(fg_premult, bg_premult); + float ratio = contrast_ratio(fg.rgb, bg.rgb); if (ratio < min) { - float white_ratio = contrast_ratio(float3(1.0f), bg_premult); - float black_ratio = contrast_ratio(float3(0.0f), bg_premult); + float white_ratio = contrast_ratio(float3(1.0f), bg.rgb); + float black_ratio = contrast_ratio(float3(0.0f), bg.rgb); if (white_ratio > black_ratio) { return float4(1.0f); } else { @@ -70,6 +116,62 @@ float4 contrasted_color(float min, float4 fg, float4 bg) { return fg; } +// Load a 4 byte RGBA non-premultiplied color and linearize +// and convert it as necessary depending on the provided info. +// +// Returns a color in the Display P3 color space. +// +// If `display_p3` is true, then the provided color is assumed to +// already be in the Display P3 color space, otherwise it's treated +// as an sRGB color and is appropriately converted to Display P3. +// +// `linear` controls whether the returned color is linear or gamma encoded. +float4 load_color( + uchar4 in_color, + bool display_p3, + bool linear +) { + // 0 .. 255 -> 0.0 .. 1.0 + float4 color = float4(in_color) / 255.0f; + + // If our color is already in Display P3 and + // we aren't doing linear blending, then we + // already have the correct color here and + // can premultiply and return it. + if (display_p3 && !linear) { + color *= color.a; + return color; + } + + // The color is in either the sRGB or Display P3 color space, + // so in either case, it's a color space which uses the sRGB + // transfer function, so we can use one function in order to + // linearize it in either case. + // + // Even if we aren't doing linear blending, the color + // needs to be in linear space to convert color spaces. + color = linearize(color); + + // If we're *NOT* using display P3 colors, then we're dealing + // with an sRGB color, in which case we need to convert it in + // to the Display P3 color space, since our output is always + // Display P3. + if (!display_p3) { + color.rgb = srgb_to_display_p3(color.rgb); + } + + // If we're not doing linear blending, then we need to + // unlinearize after doing the color space conversion. + if (!linear) { + color = unlinearize(color); + } + + // Premultiply our color by its alpha. + color *= color.a; + + return color; +} + //------------------------------------------------------------------- // Full Screen Vertex Shader //------------------------------------------------------------------- @@ -112,25 +214,54 @@ vertex FullScreenVertexOut full_screen_vertex( //------------------------------------------------------------------- #pragma mark - Cell BG Shader +struct CellBgVertexOut { + float4 position [[position]]; + float4 bg_color; +}; + +vertex CellBgVertexOut cell_bg_vertex( + uint vid [[vertex_id]], + constant Uniforms& uniforms [[buffer(1)]] +) { + CellBgVertexOut out; + + float4 position; + position.x = (vid == 2) ? 3.0 : -1.0; + position.y = (vid == 0) ? -3.0 : 1.0; + position.zw = 1.0; + out.position = position; + + // Convert the background color to Display P3 + out.bg_color = load_color( + uniforms.bg_color, + uniforms.use_display_p3, + uniforms.use_linear_blending + ); + + return out; +} + fragment float4 cell_bg_fragment( - FullScreenVertexOut in [[stage_in]], + CellBgVertexOut in [[stage_in]], constant uchar4 *cells [[buffer(0)]], constant Uniforms& uniforms [[buffer(1)]] ) { int2 grid_pos = int2(floor((in.position.xy - uniforms.grid_padding.wx) / uniforms.cell_size)); + float4 bg = in.bg_color; + // Clamp x position, extends edge bg colors in to padding on sides. if (grid_pos.x < 0) { if (uniforms.padding_extend & EXTEND_LEFT) { grid_pos.x = 0; } else { - return float4(0.0); + return bg; } } else if (grid_pos.x > uniforms.grid_size.x - 1) { if (uniforms.padding_extend & EXTEND_RIGHT) { grid_pos.x = uniforms.grid_size.x - 1; } else { - return float4(0.0); + return bg; } } @@ -139,18 +270,32 @@ fragment float4 cell_bg_fragment( if (uniforms.padding_extend & EXTEND_UP) { grid_pos.y = 0; } else { - return float4(0.0); + return bg; } } else if (grid_pos.y > uniforms.grid_size.y - 1) { if (uniforms.padding_extend & EXTEND_DOWN) { grid_pos.y = uniforms.grid_size.y - 1; } else { - return float4(0.0); + return bg; } } - // Retrieve color for cell and return it. - return float4(cells[grid_pos.y * uniforms.grid_size.x + grid_pos.x]) / 255.0; + // We load the color for the cell, converting it appropriately, and return it. + // + // TODO: We may want to blend the color with the background + // color, rather than purely replacing it, this needs + // some consideration about config options though. + // + // TODO: It might be a good idea to do a pass before this + // to convert all of the bg colors, so we don't waste + // a bunch of work converting the cell color in every + // fragment of each cell. It's not the most epxensive + // operation, but it is still wasted work. + return load_color( + cells[grid_pos.y * uniforms.grid_size.x + grid_pos.x], + uniforms.use_display_p3, + uniforms.use_linear_blending + ); } //------------------------------------------------------------------- @@ -222,7 +367,6 @@ vertex CellTextVertexOut cell_text_vertex( CellTextVertexOut out; out.mode = in.mode; - out.color = float4(in.color) / 255.0f; // === Grid Cell === // +X @@ -277,6 +421,14 @@ vertex CellTextVertexOut cell_text_vertex( // be sampled with pixel coordinate mode. out.tex_coord = float2(in.glyph_pos) + float2(in.glyph_size) * corner; + // Get our color. We always fetch a linearized version to + // make it easier to handle minimum contrast calculations. + out.color = load_color( + in.color, + uniforms.use_display_p3, + true + ); + // If we have a minimum contrast, we need to check if we need to // change the color of the text to ensure it has enough contrast // with the background. @@ -285,7 +437,13 @@ vertex CellTextVertexOut cell_text_vertex( // and Powerline glyphs to be unaffected (else parts of the line would // have different colors as some parts are displayed via background colors). if (uniforms.min_contrast > 1.0f && in.mode == MODE_TEXT) { - float4 bg_color = float4(bg_colors[in.grid_pos.y * uniforms.grid_size.x + in.grid_pos.x]) / 255.0f; + // Get the BG color + float4 bg_color = load_color( + bg_colors[in.grid_pos.y * uniforms.grid_size.x + in.grid_pos.x], + uniforms.use_display_p3, + true + ); + // Ensure our minimum contrast out.color = contrasted_color(uniforms.min_contrast, out.color, bg_color); } @@ -308,7 +466,8 @@ vertex CellTextVertexOut cell_text_vertex( fragment float4 cell_text_fragment( CellTextVertexOut in [[stage_in]], texture2d textureGrayscale [[texture(0)]], - texture2d textureColor [[texture(1)]] + texture2d textureColor [[texture(1)]], + constant Uniforms& uniforms [[buffer(2)]] ) { constexpr sampler textureSampler( coord::pixel, @@ -322,20 +481,63 @@ fragment float4 cell_text_fragment( case MODE_TEXT_CONSTRAINED: case MODE_TEXT_POWERLINE: case MODE_TEXT: { - // We premult the alpha to our whole color since our blend function - // uses One/OneMinusSourceAlpha to avoid blurry edges. - // We first premult our given color. - float4 premult = float4(in.color.rgb * in.color.a, in.color.a); + // Our input color is always linear. + float4 color = in.color; - // Then premult the texture color + // If we're not doing linear blending, then we need to + // re-apply the gamma encoding to our color manually. + // + // We do it BEFORE premultiplying the alpha because + // we want to produce the effect of not linearizing + // it in the first place in order to match the look + // of software that never does this. + if (!uniforms.use_linear_blending) { + color = unlinearize(color); + } + + // Fetch our alpha mask for this pixel. float a = textureGrayscale.sample(textureSampler, in.tex_coord).r; - premult = premult * a; - return premult; + // Experimental linear blending weight correction. + if (uniforms.use_experimental_linear_correction) { + float l = luminance(color.rgb); + + // TODO: This is a dynamic dilation term that biases + // the alpha adjustment for small font sizes; + // it should be computed by dividing the font + // size in `pt`s by `13.0` and using that if + // it's less than `1.0`, but for now it's + // hard coded at 1.0, which has no effect. + float d = 13.0 / 13.0; + + a += pow(a, d + d * l) - pow(a, d + 1.0 - d * l); + } + + // Multiply our whole color by the alpha mask. + // Since we use premultiplied alpha, this is + // the correct way to apply the mask. + color *= a; + + return color; } case MODE_TEXT_COLOR: { - return textureColor.sample(textureSampler, in.tex_coord); + // For now, we assume that color glyphs are + // already premultiplied Display P3 colors. + float4 color = textureColor.sample(textureSampler, in.tex_coord); + + // If we aren't doing linear blending, we can return this right away. + if (!uniforms.use_linear_blending) { + return color; + } + + // Otherwise we need to linearize the color. Since the alpha is + // premultiplied, we need to divide it out before linearizing. + color.rgb /= color.a; + color = linearize(color); + color.rgb *= color.a; + + return color; } } } @@ -409,7 +611,8 @@ vertex ImageVertexOut image_vertex( fragment float4 image_fragment( ImageVertexOut in [[stage_in]], - texture2d image [[texture(0)]] + texture2d image [[texture(0)]], + constant Uniforms& uniforms [[buffer(1)]] ) { constexpr sampler textureSampler(address::clamp_to_edge, filter::linear); @@ -418,10 +621,12 @@ fragment float4 image_fragment( // our texture to BGRA8Unorm. uint4 rgba = image.sample(textureSampler, in.tex_coord); - // Convert to float4 and premultiply the alpha. We should also probably - // premultiply the alpha in the texture. - float4 result = float4(rgba) / 255.0f; - result.rgb *= result.a; - return result; + return load_color( + uchar4(rgba), + // We assume all images are sRGB regardless of the configured colorspace + // TODO: Maybe support wide gamut images? + false, + uniforms.use_linear_blending + ); } From f24d70b7ecb51b3bcd4ed609cab3ee15f0ecade2 Mon Sep 17 00:00:00 2001 From: "Jeffrey C. Ollie" Date: Mon, 13 Jan 2025 10:08:41 -0600 Subject: [PATCH 083/365] gtk: add config entry to hide titlebar when the window is maximized Fixes #3381 Note that #4936 will need to be merged or you'll need to rely on Gnome's default keybinding for unmaximizing a window (super+down). --- src/apprt/gtk/Window.zig | 17 +++++++++++++++++ src/config/Config.zig | 4 ++++ 2 files changed, 21 insertions(+) diff --git a/src/apprt/gtk/Window.zig b/src/apprt/gtk/Window.zig index 514c81e41..3c8c2c2e7 100644 --- a/src/apprt/gtk/Window.zig +++ b/src/apprt/gtk/Window.zig @@ -204,6 +204,7 @@ pub fn init(self: *Window, app: *App) !void { } _ = c.g_signal_connect_data(gtk_window, "notify::decorated", c.G_CALLBACK(>kWindowNotifyDecorated), self, null, c.G_CONNECT_DEFAULT); + _ = c.g_signal_connect_data(gtk_window, "notify::maximized", c.G_CALLBACK(>kWindowNotifyMaximized), self, null, c.G_CONNECT_DEFAULT); _ = c.g_signal_connect_data(gtk_window, "notify::fullscreened", c.G_CALLBACK(>kWindowNotifyFullscreened), self, null, c.G_CONNECT_DEFAULT); // If we are disabling decorations then disable them right away. @@ -601,6 +602,22 @@ fn gtkRealize(v: *c.GtkWindow, ud: ?*anyopaque) callconv(.C) bool { return true; } +fn gtkWindowNotifyMaximized( + _: *c.GObject, + _: *c.GParamSpec, + ud: ?*anyopaque, +) callconv(.C) void { + const self = userdataSelf(ud orelse return); + const maximized = c.gtk_window_is_maximized(self.window) != 0; + if (!maximized) { + self.headerbar.setVisible(true); + return; + } + if (self.app.config.@"gtk-titlebar-hide-when-maximized") { + self.headerbar.setVisible(false); + } +} + fn gtkWindowNotifyDecorated( object: *c.GObject, _: *c.GParamSpec, diff --git a/src/config/Config.zig b/src/config/Config.zig index 6c5b64316..a06dcaccc 100644 --- a/src/config/Config.zig +++ b/src/config/Config.zig @@ -2032,6 +2032,10 @@ keybind: Keybinds = .{}, /// title bar, or you can switch tabs with keybinds. @"gtk-tabs-location": GtkTabsLocation = .top, +/// If this is `true`, the titlebar will be hidden when the window is maximized, +/// and shown when the titlebar is unmaximized. GTK only. +@"gtk-titlebar-hide-when-maximized": bool = false, + /// Determines the appearance of the top and bottom bars when using the /// Adwaita tab bar. This requires `gtk-adwaita` to be enabled (it is /// by default). From a8b9c5bea5e3cfcd821cc2eed5dbe172db59d605 Mon Sep 17 00:00:00 2001 From: Mitchell Hashimoto Date: Mon, 13 Jan 2025 13:59:29 -0800 Subject: [PATCH 084/365] config: remove experimental linear and merge into text-blending --- src/config/Config.zig | 24 ++++++++++++------------ src/renderer/Metal.zig | 22 +++++++++------------- 2 files changed, 21 insertions(+), 25 deletions(-) diff --git a/src/config/Config.zig b/src/config/Config.zig index eabae9052..be63c1027 100644 --- a/src/config/Config.zig +++ b/src/config/Config.zig @@ -264,24 +264,16 @@ const c = @cImport({ /// This is also sometimes known as "gamma correction". /// (Currently only supported on macOS. Has no effect on Linux.) /// -/// To prevent the uneven thickness caused by linear blending, you can use -/// the `experimental-linear-correction` option which applies a correction -/// curve to the text alpha depending on its brightness, which compensates -/// for the thinning and makes the weight of most text appear very similar -/// to when it's blendeded non-linearly. +/// * `linear-corrected` - Corrects the thinning/thickening effect of linear +/// by applying a correction curve to the text alpha depending on its +/// brightness. This compensates for the thinning and makes the weight of +/// most text appear very similar to when it's blended non-linearly. /// /// Note: This setting affects more than just text, images will also be blended /// in the selected color space, and custom shaders will receive colors in that /// color space as well. @"text-blending": TextBlending = .native, -/// Apply a correction curve to text alpha to compensate for uneven apparent -/// thickness of different colors of text, roughly matching the appearance of -/// text rendered with non-linear blending. -/// -/// Has no effect if not using linear `text-blending`. -@"experimental-linear-correction": bool = false, - /// All of the configurations behavior adjust various metrics determined by the /// font. The values can be integers (1, -1, etc.) or a percentage (20%, -15%, /// etc.). In each case, the values represent the amount to change the original @@ -5787,6 +5779,14 @@ pub const GraphemeWidthMethod = enum { pub const TextBlending = enum { native, linear, + @"linear-corrected", + + pub fn isLinear(self: TextBlending) bool { + return switch (self) { + .native => false, + .linear, .@"linear-corrected" => true, + }; + } }; /// See freetype-load-flag diff --git a/src/renderer/Metal.zig b/src/renderer/Metal.zig index 707fe8e46..83cf4a5c6 100644 --- a/src/renderer/Metal.zig +++ b/src/renderer/Metal.zig @@ -389,7 +389,6 @@ pub const DerivedConfig = struct { vsync: bool, colorspace: configpkg.Config.WindowColorspace, blending: configpkg.Config.TextBlending, - experimental_linear_correction: bool, pub fn init( alloc_gpa: Allocator, @@ -462,8 +461,6 @@ pub const DerivedConfig = struct { .vsync = config.@"window-vsync", .colorspace = config.@"window-colorspace", .blending = config.@"text-blending", - .experimental_linear_correction = config.@"text-blending" == .linear and config.@"experimental-linear-correction", - .arena = arena, }; } @@ -559,7 +556,7 @@ pub fn init(alloc: Allocator, options: renderer.Options) !Metal { // the pixels written to it *after* blending, which means // we get linear alpha blending rather than gamma-incorrect // blending. - if (options.config.blending == .linear) + if (options.config.blending.isLinear()) @intFromEnum(mtl.MTLPixelFormat.bgra8unorm_srgb) else @intFromEnum(mtl.MTLPixelFormat.bgra8unorm), @@ -655,8 +652,8 @@ pub fn init(alloc: Allocator, options: renderer.Options) !Metal { }, .cursor_wide = false, .use_display_p3 = options.config.colorspace == .@"display-p3", - .use_linear_blending = options.config.blending == .linear, - .use_experimental_linear_correction = options.config.experimental_linear_correction, + .use_linear_blending = options.config.blending.isLinear(), + .use_experimental_linear_correction = options.config.blending == .@"linear-corrected", }, // Fonts @@ -774,7 +771,7 @@ fn initShaders(self: *Metal) !void { // the pixels written to it *after* blending, which means // we get linear alpha blending rather than gamma-incorrect // blending. - if (self.config.blending == .linear) + if (self.config.blending.isLinear()) mtl.MTLPixelFormat.bgra8unorm_srgb else mtl.MTLPixelFormat.bgra8unorm, @@ -2071,9 +2068,8 @@ pub fn changeConfig(self: *Metal, config: *DerivedConfig) !void { // Set our new color space and blending self.uniforms.use_display_p3 = config.colorspace == .@"display-p3"; - self.uniforms.use_linear_blending = config.blending == .linear; - - self.uniforms.use_experimental_linear_correction = config.experimental_linear_correction; + self.uniforms.use_linear_blending = config.blending.isLinear(); + self.uniforms.use_experimental_linear_correction = config.blending == .@"linear-corrected"; // Set our new colors self.default_background_color = config.background; @@ -2105,7 +2101,7 @@ pub fn changeConfig(self: *Metal, config: *DerivedConfig) !void { // And we update our layer's pixel format appropriately. self.layer.setProperty( "pixelFormat", - if (config.blending == .linear) + if (config.blending.isLinear()) @intFromEnum(mtl.MTLPixelFormat.bgra8unorm_srgb) else @intFromEnum(mtl.MTLPixelFormat.bgra8unorm), @@ -2231,7 +2227,7 @@ pub fn setScreenSize( // the pixels written to it *after* blending, which means // we get linear alpha blending rather than gamma-incorrect // blending. - if (self.config.blending == .linear) + if (self.config.blending.isLinear()) @intFromEnum(mtl.MTLPixelFormat.bgra8unorm_srgb) else @intFromEnum(mtl.MTLPixelFormat.bgra8unorm), @@ -2271,7 +2267,7 @@ pub fn setScreenSize( // the pixels written to it *after* blending, which means // we get linear alpha blending rather than gamma-incorrect // blending. - if (self.config.blending == .linear) + if (self.config.blending.isLinear()) @intFromEnum(mtl.MTLPixelFormat.bgra8unorm_srgb) else @intFromEnum(mtl.MTLPixelFormat.bgra8unorm), From 39bb94997393966fbe65e44c93824ee0c067ae23 Mon Sep 17 00:00:00 2001 From: Alexandre Antonio Juca Date: Tue, 14 Jan 2025 00:01:37 +0100 Subject: [PATCH 085/365] fix: Ensure file paths derived from pasteboard operations are properly escaped --- macos/Sources/Helpers/NSPasteboard+Extension.swift | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/macos/Sources/Helpers/NSPasteboard+Extension.swift b/macos/Sources/Helpers/NSPasteboard+Extension.swift index 0b71b5685..11815fbc8 100644 --- a/macos/Sources/Helpers/NSPasteboard+Extension.swift +++ b/macos/Sources/Helpers/NSPasteboard+Extension.swift @@ -9,14 +9,14 @@ extension NSPasteboard { /// Gets the contents of the pasteboard as a string following a specific set of semantics. /// Does these things in order: - /// - Tries to get the absolute filesystem path of the file in the pasteboard if there is one. + /// - Tries to get the absolute filesystem path of the file in the pasteboard if there is one and ensures the file path is properly escaped. /// - Tries to get any string from the pasteboard. /// If all of the above fail, returns None. func getOpinionatedStringContents() -> String? { if let urls = readObjects(forClasses: [NSURL.self]) as? [URL], urls.count > 0 { return urls - .map { $0.isFileURL ? $0.path : $0.absoluteString } + .map { $0.isFileURL ? Ghostty.Shell.escape($0.path) : $0.absoluteString } .joined(separator: " ") } From 95debc59d1b422e0c544a5b80286dfdadda5512b Mon Sep 17 00:00:00 2001 From: otomist Date: Tue, 14 Jan 2025 12:04:43 -0500 Subject: [PATCH 086/365] add and use flag for selecting empty lines in the selectLine function --- src/Surface.zig | 25 +++++++++++++------------ src/terminal/Screen.zig | 6 ++++++ 2 files changed, 19 insertions(+), 12 deletions(-) diff --git a/src/Surface.zig b/src/Surface.zig index 5a1d8c01d..a8fd4a817 100644 --- a/src/Surface.zig +++ b/src/Surface.zig @@ -3563,22 +3563,23 @@ fn dragLeftClickTriple( const screen = &self.io.terminal.screen; const click_pin = self.mouse.left_click_pin.?.*; - // Get the word under our current point. If there isn't a word, do nothing. - const word = screen.selectLine(.{ .pin = drag_pin }) orelse return; + // Get the line selection under our current drag point. If there isn't a line, do nothing. + const line = screen.selectLine(.{ .pin = drag_pin }) orelse return; - // Get our selection to grow it. If we don't have a selection, start it now. - // We may not have a selection if we started our dbl-click in an area - // that had no data, then we dragged our mouse into an area with data. - var sel = screen.selectLine(.{ .pin = click_pin }) orelse { - try self.setSelection(word); - return; - }; + // get the selection under our click point. + var sel_ = screen.selectLine(.{ .pin = click_pin }); - // Grow our selection + // We may not have a selection if we started our triple-click in an area + // that had no data, in this case recall selectLine with allow_empty_lines. + if (sel_ == null) { + sel_ = screen.selectLine(.{ .pin = click_pin, .allow_empty_lines = true }); + } + + var sel = sel_ orelse return; if (drag_pin.before(click_pin)) { - sel.startPtr().* = word.start(); + sel.startPtr().* = line.start(); } else { - sel.endPtr().* = word.end(); + sel.endPtr().* = line.end(); } try self.setSelection(sel); } diff --git a/src/terminal/Screen.zig b/src/terminal/Screen.zig index eb70d32d0..db890ad3f 100644 --- a/src/terminal/Screen.zig +++ b/src/terminal/Screen.zig @@ -2215,6 +2215,7 @@ pub const SelectLine = struct { /// state changing a boundary. State changing is ANY state /// change. semantic_prompt_boundary: bool = true, + allow_empty_lines: bool = false, }; /// Select the line under the given point. This will select across soft-wrapped @@ -2292,6 +2293,11 @@ pub fn selectLine(self: *const Screen, opts: SelectLine) ?Selection { return null; }; + // If we allow empty lines, we don't need to do any further checks. + if (opts.allow_empty_lines) { + return Selection.init(start_pin, end_pin, false); + } + // Go forward from the start to find the first non-whitespace character. const start: Pin = start: { const whitespace = opts.whitespace orelse break :start start_pin; From 4e0d9b1b277aac2e60e253750a175e80ff2ab973 Mon Sep 17 00:00:00 2001 From: Leah Amelia Chen Date: Mon, 6 Jan 2025 21:58:22 +0100 Subject: [PATCH 087/365] gtk(wayland): implement server-side decorations --- macos/Sources/Ghostty/Ghostty.Config.swift | 24 +++- src/apprt/gtk/App.zig | 2 +- src/apprt/gtk/Surface.zig | 8 +- src/apprt/gtk/Window.zig | 104 ++++++++++------- src/apprt/gtk/headerbar.zig | 3 - src/apprt/gtk/winproto.zig | 8 +- src/apprt/gtk/winproto/noop.zig | 8 ++ src/apprt/gtk/winproto/wayland.zig | 75 ++++++++++++- src/apprt/gtk/winproto/x11.zig | 9 ++ src/build/SharedDeps.zig | 4 + src/config/Config.zig | 125 +++++++++++++++++---- 11 files changed, 294 insertions(+), 76 deletions(-) diff --git a/macos/Sources/Ghostty/Ghostty.Config.swift b/macos/Sources/Ghostty/Ghostty.Config.swift index d6e1710ae..9d45ea9bb 100644 --- a/macos/Sources/Ghostty/Ghostty.Config.swift +++ b/macos/Sources/Ghostty/Ghostty.Config.swift @@ -165,11 +165,14 @@ extension Ghostty { } var windowDecorations: Bool { - guard let config = self.config else { return true } - var v = false; + let defaultValue = true + guard let config = self.config else { return defaultValue } + var v: UnsafePointer? = nil let key = "window-decoration" - _ = ghostty_config_get(config, &v, key, UInt(key.count)) - return v; + guard ghostty_config_get(config, &v, key, UInt(key.count)) else { return defaultValue } + guard let ptr = v else { return defaultValue } + let str = String(cString: ptr) + return WindowDecoration(rawValue: str)?.enabled() ?? defaultValue } var windowTheme: String? { @@ -554,4 +557,17 @@ extension Ghostty.Config { } } } + + enum WindowDecoration: String { + case none + case client + case server + + func enabled() -> Bool { + switch self { + case .client, .server: return true + case .none: return false + } + } + } } diff --git a/src/apprt/gtk/App.zig b/src/apprt/gtk/App.zig index f49d275de..96275684e 100644 --- a/src/apprt/gtk/App.zig +++ b/src/apprt/gtk/App.zig @@ -1881,7 +1881,7 @@ fn initContextMenu(self: *App) void { c.g_menu_append(section, "Terminal Inspector", "win.toggle_inspector"); } - if (!self.config.@"window-decoration") { + if (!self.config.@"window-decoration".isCSD()) { const section = c.g_menu_new(); defer c.g_object_unref(section); const submenu = c.g_menu_new(); diff --git a/src/apprt/gtk/Surface.zig b/src/apprt/gtk/Surface.zig index c5a001f34..61866dcec 100644 --- a/src/apprt/gtk/Surface.zig +++ b/src/apprt/gtk/Surface.zig @@ -1384,11 +1384,9 @@ fn gtkResize(area: *c.GtkGLArea, width: c.gint, height: c.gint, ud: ?*anyopaque) }; if (self.container.window()) |window| { - if (window.winproto) |*winproto| { - winproto.resizeEvent() catch |err| { - log.warn("failed to notify window protocol of resize={}", .{err}); - }; - } + window.winproto.resizeEvent() catch |err| { + log.warn("failed to notify window protocol of resize={}", .{err}); + }; } self.resize_overlay.maybeShow(); diff --git a/src/apprt/gtk/Window.zig b/src/apprt/gtk/Window.zig index 3c8c2c2e7..3e972ca02 100644 --- a/src/apprt/gtk/Window.zig +++ b/src/apprt/gtk/Window.zig @@ -57,7 +57,7 @@ toast_overlay: ?*c.GtkWidget, adw_tab_overview_focus_timer: ?c.guint = null, /// State and logic for windowing protocol for a window. -winproto: ?winproto.Window, +winproto: winproto.Window, pub fn create(alloc: Allocator, app: *App) !*Window { // Allocate a fixed pointer for our window. We try to minimize @@ -83,7 +83,7 @@ pub fn init(self: *Window, app: *App) !void { .notebook = undefined, .context_menu = undefined, .toast_overlay = undefined, - .winproto = null, + .winproto = .none, }; // Create the window @@ -207,11 +207,6 @@ pub fn init(self: *Window, app: *App) !void { _ = c.g_signal_connect_data(gtk_window, "notify::maximized", c.G_CALLBACK(>kWindowNotifyMaximized), self, null, c.G_CONNECT_DEFAULT); _ = c.g_signal_connect_data(gtk_window, "notify::fullscreened", c.G_CALLBACK(>kWindowNotifyFullscreened), self, null, c.G_CONNECT_DEFAULT); - // If we are disabling decorations then disable them right away. - if (!app.config.@"window-decoration") { - c.gtk_window_set_decorated(gtk_window, 0); - } - // If Adwaita is enabled and is older than 1.4.0 we don't have the tab overview and so we // need to stick the headerbar into the content box. if (!adwaita.versionAtLeast(1, 4, 0) and adwaita.enabled(&self.app.config)) { @@ -379,7 +374,11 @@ pub fn updateConfig( self: *Window, config: *const configpkg.Config, ) !void { - if (self.winproto) |*v| try v.updateConfigEvent(config); + self.winproto.updateConfigEvent(config) catch |err| { + // We want to continue attempting to make the other config + // changes necessary so we just log the error and continue. + log.warn("failed to update window protocol config error={}", .{err}); + }; // We always resync our appearance whenever the config changes. try self.syncAppearance(config); @@ -391,16 +390,52 @@ pub fn updateConfig( /// TODO: Many of the initial style settings in `create` could possibly be made /// reactive by moving them here. pub fn syncAppearance(self: *Window, config: *const configpkg.Config) !void { - if (config.@"background-opacity" < 1) { - c.gtk_widget_remove_css_class(@ptrCast(self.window), "background"); - } else { - c.gtk_widget_add_css_class(@ptrCast(self.window), "background"); - } - - // Window protocol specific appearance updates - if (self.winproto) |*v| v.syncAppearance() catch |err| { - log.warn("failed to sync window protocol appearance error={}", .{err}); + self.winproto.syncAppearance() catch |err| { + log.warn("failed to sync winproto appearance error={}", .{err}); }; + + toggleCssClass( + @ptrCast(self.window), + "background", + config.@"background-opacity" >= 1, + ); + + // If we are disabling CSDs then disable them right away. + const csd_enabled = self.winproto.clientSideDecorationEnabled(); + c.gtk_window_set_decorated(self.window, @intFromBool(csd_enabled)); + + // If we are not decorated then we hide the titlebar. + self.headerbar.setVisible(config.@"gtk-titlebar" and csd_enabled); + + // Disable the title buttons (close, maximize, minimize, ...) + // *inside* the tab overview if CSDs are disabled. + // We do spare the search button, though. + if ((comptime adwaita.versionAtLeast(0, 0, 0)) and + adwaita.enabled(&self.app.config)) + { + if (self.tab_overview) |tab_overview| { + c.adw_tab_overview_set_show_start_title_buttons( + @ptrCast(tab_overview), + @intFromBool(csd_enabled), + ); + c.adw_tab_overview_set_show_end_title_buttons( + @ptrCast(tab_overview), + @intFromBool(csd_enabled), + ); + } + } +} + +fn toggleCssClass( + widget: *c.GtkWidget, + class: [:0]const u8, + v: bool, +) void { + if (v) { + c.gtk_widget_add_css_class(widget, class); + } else { + c.gtk_widget_remove_css_class(widget, class); + } } /// Sets up the GTK actions for the window scope. Actions are how GTK handles @@ -440,7 +475,7 @@ fn initActions(self: *Window) void { pub fn deinit(self: *Window) void { c.gtk_widget_unparent(@ptrCast(self.context_menu)); - if (self.winproto) |*v| v.deinit(self.app.core_app.alloc); + self.winproto.deinit(self.app.core_app.alloc); if (self.adw_tab_overview_focus_timer) |timer| { _ = c.g_source_remove(timer); @@ -548,15 +583,11 @@ pub fn toggleFullscreen(self: *Window) void { /// Toggle the window decorations for this window. pub fn toggleWindowDecorations(self: *Window) void { - const old_decorated = c.gtk_window_get_decorated(self.window) == 1; - const new_decorated = !old_decorated; - c.gtk_window_set_decorated(self.window, @intFromBool(new_decorated)); - - // If we have a titlebar, then we also show/hide it depending on the - // decorated state. GTK tends to consider the titlebar part of the frame - // and hides it with decorations, but libadwaita doesn't. This makes it - // explicit. - self.headerbar.setVisible(new_decorated); + self.app.config.@"window-decoration" = switch (self.app.config.@"window-decoration") { + .client, .server => .none, + .none => .server, + }; + self.updateConfig(&self.app.config) catch {}; } /// Grabs focus on the currently selected tab. @@ -623,17 +654,14 @@ fn gtkWindowNotifyDecorated( _: *c.GParamSpec, _: ?*anyopaque, ) callconv(.C) void { - if (c.gtk_window_get_decorated(@ptrCast(object)) == 1) { - c.gtk_widget_remove_css_class(@ptrCast(object), "ssd"); - c.gtk_widget_remove_css_class(@ptrCast(object), "no-border-radius"); - } else { - // Fix any artifacting that may occur in window corners. The .ssd CSS - // class is defined in the GtkWindow documentation: - // https://docs.gtk.org/gtk4/class.Window.html#css-nodes. A definition - // for .ssd is provided by GTK and Adwaita. - c.gtk_widget_add_css_class(@ptrCast(object), "ssd"); - c.gtk_widget_add_css_class(@ptrCast(object), "no-border-radius"); - } + const is_decorated = c.gtk_window_get_decorated(@ptrCast(object)) == 1; + + // Fix any artifacting that may occur in window corners. The .ssd CSS + // class is defined in the GtkWindow documentation: + // https://docs.gtk.org/gtk4/class.Window.html#css-nodes. A definition + // for .ssd is provided by GTK and Adwaita. + toggleCssClass(@ptrCast(object), "ssd", !is_decorated); + toggleCssClass(@ptrCast(object), "no-border-radius", !is_decorated); } fn gtkWindowNotifyFullscreened( diff --git a/src/apprt/gtk/headerbar.zig b/src/apprt/gtk/headerbar.zig index 2b47ea4b7..0f7f15bf8 100644 --- a/src/apprt/gtk/headerbar.zig +++ b/src/apprt/gtk/headerbar.zig @@ -18,9 +18,6 @@ pub const HeaderBar = union(enum) { } else { HeaderBarGtk.init(self); } - - if (!window.app.config.@"gtk-titlebar" or !window.app.config.@"window-decoration") - self.setVisible(false); } pub fn setVisible(self: HeaderBar, visible: bool) void { diff --git a/src/apprt/gtk/winproto.zig b/src/apprt/gtk/winproto.zig index cb873fe01..e6020f49e 100644 --- a/src/apprt/gtk/winproto.zig +++ b/src/apprt/gtk/winproto.zig @@ -62,7 +62,7 @@ pub const App = union(Protocol) { /// Per-Window state for the underlying windowing protocol. /// -/// In both X and Wayland, the terminology used is "Surface" and this is +/// In Wayland, the terminology used is "Surface" and for it, this is /// really "Surface"-specific state. But Ghostty uses the term "Surface" /// heavily to mean something completely different, so we use "Window" here /// to better match what it generally maps to in the Ghostty codebase. @@ -125,4 +125,10 @@ pub const Window = union(Protocol) { inline else => |*v| try v.syncAppearance(), } } + + pub fn clientSideDecorationEnabled(self: Window) bool { + return switch (self) { + inline else => |v| v.clientSideDecorationEnabled(), + }; + } }; diff --git a/src/apprt/gtk/winproto/noop.zig b/src/apprt/gtk/winproto/noop.zig index 14f3dc6a7..38703aecb 100644 --- a/src/apprt/gtk/winproto/noop.zig +++ b/src/apprt/gtk/winproto/noop.zig @@ -53,4 +53,12 @@ pub const Window = struct { pub fn resizeEvent(_: *Window) !void {} pub fn syncAppearance(_: *Window) !void {} + + /// This returns true if CSD is enabled for this window. This + /// should be the actual present state of the window, not the + /// desired state. + pub fn clientSideDecorationEnabled(self: Window) bool { + _ = self; + return true; + } }; diff --git a/src/apprt/gtk/winproto/wayland.zig b/src/apprt/gtk/winproto/wayland.zig index 3f7ad0068..efe0d89cd 100644 --- a/src/apprt/gtk/winproto/wayland.zig +++ b/src/apprt/gtk/winproto/wayland.zig @@ -18,6 +18,10 @@ pub const App = struct { const Context = struct { kde_blur_manager: ?*org.KdeKwinBlurManager = null, + + // FIXME: replace with `zxdg_decoration_v1` once GTK merges + // https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/6398 + kde_decoration_manager: ?*org.KdeKwinServerDecorationManager = null, }; pub fn init( @@ -89,6 +93,14 @@ pub const App = struct { )) |blur_manager| { context.kde_blur_manager = blur_manager; break :global; + } else if (registryBind( + org.KdeKwinServerDecorationManager, + registry, + global, + 1, + )) |deco_manager| { + context.kde_decoration_manager = deco_manager; + break :global; } }, @@ -97,6 +109,12 @@ pub const App = struct { } } + /// Bind a Wayland interface to a global object. Returns non-null + /// if the binding was successful, otherwise null. + /// + /// The type T is the Wayland interface type that we're requesting. + /// This function will verify that the global object is the correct + /// interface and version before binding. fn registryBind( comptime T: type, registry: *wl.Registry, @@ -130,14 +148,20 @@ pub const Window = struct { app_context: *App.Context, /// A token that, when present, indicates that the window is blurred. - blur_token: ?*org.KdeKwinBlur = null, + blur_token: ?*org.KdeKwinBlur, + + /// Object that controls the decoration mode (client/server/auto) + /// of the window. + decoration: ?*org.KdeKwinServerDecoration, const DerivedConfig = struct { blur: bool, + window_decoration: Config.WindowDecoration, pub fn init(config: *const Config) DerivedConfig { return .{ .blur = config.@"background-blur-radius".enabled(), + .window_decoration = config.@"window-decoration", }; } }; @@ -165,19 +189,41 @@ pub const Window = struct { gdk_surface, ) orelse return error.NoWaylandSurface); + // Get our decoration object so we can control the + // CSD vs SSD status of this surface. + const deco: ?*org.KdeKwinServerDecoration = deco: { + const mgr = app.context.kde_decoration_manager orelse + break :deco null; + + const deco: *org.KdeKwinServerDecoration = mgr.create( + wl_surface, + ) catch |err| { + log.warn("could not create decoration object={}", .{err}); + break :deco null; + }; + + break :deco deco; + }; + return .{ .config = DerivedConfig.init(config), .surface = wl_surface, .app_context = app.context, + .blur_token = null, + .decoration = deco, }; } pub fn deinit(self: Window, alloc: Allocator) void { _ = alloc; if (self.blur_token) |blur| blur.release(); + if (self.decoration) |deco| deco.release(); } - pub fn updateConfigEvent(self: *Window, config: *const Config) !void { + pub fn updateConfigEvent( + self: *Window, + config: *const Config, + ) !void { self.config = DerivedConfig.init(config); } @@ -185,6 +231,17 @@ pub const Window = struct { pub fn syncAppearance(self: *Window) !void { try self.syncBlur(); + try self.syncDecoration(); + } + + pub fn clientSideDecorationEnabled(self: Window) bool { + // Note: we should change this to being the actual mode + // state emitted by the decoration manager. + + // We are CSD if we don't support the SSD Wayland protocol + // or if we do but we're in CSD mode. + return self.decoration == null or + self.config.window_decoration.isCSD(); } /// Update the blur state of the window. @@ -208,4 +265,18 @@ pub const Window = struct { } } } + + fn syncDecoration(self: *Window) !void { + const deco = self.decoration orelse return; + + const mode: org.KdeKwinServerDecoration.Mode = switch (self.config.window_decoration) { + .client => .Client, + .server => .Server, + .none => .None, + }; + + // The protocol requests uint instead of enum so we have + // to convert it. + deco.requestMode(@intCast(@intFromEnum(mode))); + } }; diff --git a/src/apprt/gtk/winproto/x11.zig b/src/apprt/gtk/winproto/x11.zig index 4eac9cdf3..fe3b9218d 100644 --- a/src/apprt/gtk/winproto/x11.zig +++ b/src/apprt/gtk/winproto/x11.zig @@ -161,10 +161,15 @@ pub const Window = struct { const DerivedConfig = struct { blur: bool, + has_decoration: bool, pub fn init(config: *const Config) DerivedConfig { return .{ .blur = config.@"background-blur-radius".enabled(), + .has_decoration = switch (config.@"window-decoration") { + .none => false, + .client, .server => true, + }, }; } }; @@ -239,6 +244,10 @@ pub const Window = struct { try self.syncBlur(); } + pub fn clientSideDecorationEnabled(self: Window) bool { + return self.config.has_decoration; + } + fn syncBlur(self: *Window) !void { // FIXME: This doesn't currently factor in rounded corners on Adwaita, // which means that the blur region will grow slightly outside of the diff --git a/src/build/SharedDeps.zig b/src/build/SharedDeps.zig index 16e7381fa..64068658d 100644 --- a/src/build/SharedDeps.zig +++ b/src/build/SharedDeps.zig @@ -450,10 +450,14 @@ pub fn add( .target = target, .optimize = optimize, }); + + // FIXME: replace with `zxdg_decoration_v1` once GTK merges https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/6398 scanner.addCustomProtocol(plasma_wayland_protocols.path("src/protocols/blur.xml")); + scanner.addCustomProtocol(plasma_wayland_protocols.path("src/protocols/server-decoration.xml")); scanner.generate("wl_compositor", 1); scanner.generate("org_kde_kwin_blur_manager", 1); + scanner.generate("org_kde_kwin_server_decoration_manager", 1); step.root_module.addImport("wayland", wayland); step.linkSystemLibrary2("wayland-client", dynamic_link_opts); diff --git a/src/config/Config.zig b/src/config/Config.zig index 36b2a8494..6ae8a353e 100644 --- a/src/config/Config.zig +++ b/src/config/Config.zig @@ -282,7 +282,7 @@ const c = @cImport({ /// For example, a value of `1` increases the value by 1; it does not set it to /// literally 1. A value of `20%` increases the value by 20%. And so on. /// -/// There is little to no validation on these values so the wrong values (i.e. +/// There is little to no validation on these values so the wrong values (e.g. /// `-100%`) can cause the terminal to be unusable. Use with caution and reason. /// /// Some values are clamped to minimum or maximum values. This can make it @@ -467,7 +467,7 @@ foreground: Color = .{ .r = 0xFF, .g = 0xFF, .b = 0xFF }, /// The minimum contrast ratio between the foreground and background colors. /// The contrast ratio is a value between 1 and 21. A value of 1 allows for no -/// contrast (i.e. black on black). This value is the contrast ratio as defined +/// contrast (e.g. black on black). This value is the contrast ratio as defined /// by the [WCAG 2.0 specification](https://www.w3.org/TR/WCAG20/). /// /// If you want to avoid invisible text (same color as background), a value of @@ -722,7 +722,7 @@ command: ?[]const u8 = null, /// injecting any configured shell integration into the command's /// environment. With `-e` its highly unlikely that you're executing a /// shell and forced shell integration is likely to cause problems -/// (i.e. by wrapping your command in a shell, setting env vars, etc.). +/// (e.g. by wrapping your command in a shell, setting env vars, etc.). /// This is a safety measure to prevent unexpected behavior. If you want /// shell integration with a `-e`-executed command, you must either /// name your binary appropriately or source the shell integration script @@ -770,7 +770,7 @@ command: ?[]const u8 = null, /// Match a regular expression against the terminal text and associate clicking /// it with an action. This can be used to match URLs, file paths, etc. Actions -/// can be opening using the system opener (i.e. `open` or `xdg-open`) or +/// can be opening using the system opener (e.g. `open` or `xdg-open`) or /// executing any arbitrary binding action. /// /// Links that are configured earlier take precedence over links that are @@ -876,7 +876,7 @@ class: ?[:0]const u8 = null, /// Valid keys are currently only listed in the /// [Ghostty source code](https://github.com/ghostty-org/ghostty/blob/d6e76858164d52cff460fedc61ddf2e560912d71/src/input/key.zig#L255). /// This is a documentation limitation and we will improve this in the future. -/// A common gotcha is that numeric keys are written as words: i.e. `one`, +/// A common gotcha is that numeric keys are written as words: e.g. `one`, /// `two`, `three`, etc. and not `1`, `2`, `3`. This will also be improved in /// the future. /// @@ -919,7 +919,7 @@ class: ?[:0]const u8 = null, /// * Ghostty will wait an indefinite amount of time for the next key in /// the sequence. There is no way to specify a timeout. The only way to /// force the output of a prefix key is to assign another keybind to -/// specifically output that key (i.e. `ctrl+a>ctrl+a=text:foo`) or +/// specifically output that key (e.g. `ctrl+a>ctrl+a=text:foo`) or /// press an unbound key which will send both keys to the program. /// /// * If a prefix in a sequence is previously bound, the sequence will @@ -949,13 +949,13 @@ class: ?[:0]const u8 = null, /// including `physical:`-prefixed triggers without specifying the /// prefix. /// -/// * `csi:text` - Send a CSI sequence. i.e. `csi:A` sends "cursor up". +/// * `csi:text` - Send a CSI sequence. e.g. `csi:A` sends "cursor up". /// -/// * `esc:text` - Send an escape sequence. i.e. `esc:d` deletes to the +/// * `esc:text` - Send an escape sequence. e.g. `esc:d` deletes to the /// end of the word to the right. /// /// * `text:text` - Send a string. Uses Zig string literal syntax. -/// i.e. `text:\x15` sends Ctrl-U. +/// e.g. `text:\x15` sends Ctrl-U. /// /// * All other actions can be found in the documentation or by using the /// `ghostty +list-actions` command. @@ -981,12 +981,12 @@ class: ?[:0]const u8 = null, /// keybinds only apply to the focused terminal surface. If this is true, /// then the keybind will be sent to all terminal surfaces. This only /// applies to actions that are surface-specific. For actions that -/// are already global (i.e. `quit`), this prefix has no effect. +/// are already global (e.g. `quit`), this prefix has no effect. /// /// * `global:` - Make the keybind global. By default, keybinds only work /// within Ghostty and under the right conditions (application focused, /// sometimes terminal focused, etc.). If you want a keybind to work -/// globally across your system (i.e. even when Ghostty is not focused), +/// globally across your system (e.g. even when Ghostty is not focused), /// specify this prefix. This prefix implies `all:`. Note: this does not /// work in all environments; see the additional notes below for more /// information. @@ -1087,7 +1087,7 @@ keybind: Keybinds = .{}, /// any of the heuristics that disable extending noted below. /// /// The "extend" value will be disabled in certain scenarios. On primary -/// screen applications (i.e. not something like Neovim), the color will not +/// screen applications (e.g. not something like Neovim), the color will not /// be extended vertically if any of the following are true: /// /// * The nearest row has any cells that have the default background color. @@ -1127,21 +1127,46 @@ keybind: Keybinds = .{}, /// configuration `font-size` will be used. @"window-inherit-font-size": bool = true, +/// Configure a preference for window decorations. This setting specifies +/// a _preference_; the actual OS, desktop environment, window manager, etc. +/// may override this preference. Ghostty will do its best to respect this +/// preference but it may not always be possible. +/// /// Valid values: /// -/// * `true` -/// * `false` - windows won't have native decorations, i.e. titlebar and -/// borders. On macOS this also disables tabs and tab overview. +/// * `none` - All window decorations will be disabled. Titlebar, +/// borders, etc. will not be shown. On macOS, this will also disable +/// tabs (enforced by the system). +/// +/// * `client` - Prefer client-side decorations. This is the default. +/// +/// * `server` - Prefer server-side decorations. This is only relevant +/// on Linux with GTK. This currently only works on Linux with Wayland +/// and the `org_kde_kwin_server_decoration` protocol available (e.g. +/// KDE Plasma, but almost any non-Gnome desktop supports this protocol). +/// +/// If `server` is set but the environment doesn't support server-side +/// decorations, client-side decorations will be used instead. +/// +/// The default value is `client`. +/// +/// This setting also accepts boolean true and false values. If set to `true`, +/// this is equivalent to `client`. If set to `false`, this is equivalent to +/// `none`. This is a convenience for users who live primarily on systems +/// that don't differentiate between client and server-side decorations +/// (e.g. macOS and Windows). /// /// The "toggle_window_decorations" keybind action can be used to create -/// a keybinding to toggle this setting at runtime. +/// a keybinding to toggle this setting at runtime. This will always toggle +/// back to "server" if the current value is "none" (this is an issue +/// that will be fixed in the future). /// /// Changing this configuration in your configuration and reloading will /// only affect new windows. Existing windows will not be affected. /// /// macOS: To hide the titlebar without removing the native window borders /// or rounded corners, use `macos-titlebar-style = hidden` instead. -@"window-decoration": bool = true, +@"window-decoration": WindowDecoration = .client, /// The font that will be used for the application's window and tab titles. /// @@ -1364,7 +1389,7 @@ keybind: Keybinds = .{}, @"resize-overlay-duration": Duration = .{ .duration = 750 * std.time.ns_per_ms }, /// If true, when there are multiple split panes, the mouse selects the pane -/// that is focused. This only applies to the currently focused window; i.e. +/// that is focused. This only applies to the currently focused window; e.g. /// mousing over a split in an unfocused window will not focus that split /// and bring the window to front. /// @@ -1408,7 +1433,7 @@ keybind: Keybinds = .{}, /// and a minor amount of user interaction). @"title-report": bool = false, -/// The total amount of bytes that can be used for image data (i.e. the Kitty +/// The total amount of bytes that can be used for image data (e.g. the Kitty /// image protocol) per terminal screen. The maximum value is 4,294,967,295 /// (4GiB). The default is 320MB. If this is set to zero, then all image /// protocols will be disabled. @@ -1668,7 +1693,7 @@ keybind: Keybinds = .{}, /// /// * `none` - OSC 4/10/11 queries receive no reply /// -/// * `8-bit` - Color components are return unscaled, i.e. `rr/gg/bb` +/// * `8-bit` - Color components are return unscaled, e.g. `rr/gg/bb` /// /// * `16-bit` - Color components are returned scaled, e.g. `rrrr/gggg/bbbb` /// @@ -1767,7 +1792,7 @@ keybind: Keybinds = .{}, /// typical for a macOS application and may not work well with all themes. /// /// The "transparent" style will also update in real-time to dynamic -/// changes to the window background color, i.e. via OSC 11. To make this +/// changes to the window background color, e.g. via OSC 11. To make this /// more aesthetically pleasing, this only happens if the terminal is /// a window, tab, or split that borders the top of the window. This /// avoids a disjointed appearance where the titlebar color changes @@ -1834,7 +1859,7 @@ keybind: Keybinds = .{}, /// - U.S. International /// /// Note that if an *Option*-sequence doesn't produce a printable character, it -/// will be treated as *Alt* regardless of this setting. (i.e. `alt+ctrl+a`). +/// will be treated as *Alt* regardless of this setting. (e.g. `alt+ctrl+a`). /// /// Explicit values that can be set: /// @@ -5890,6 +5915,62 @@ pub const BackgroundBlur = union(enum) { } }; +/// See window-decoration +pub const WindowDecoration = enum { + client, + server, + none, + + pub fn parseCLI(input: ?[]const u8) !WindowDecoration { + const input_ = input orelse return .client; + + return if (cli.args.parseBool(input_)) |b| + if (b) .client else .none + else |_| if (std.mem.eql(u8, input_, "server")) + .server + else + error.InvalidValue; + } + + /// Returns true if the window decoration setting results in + /// CSD (client-side decorations). Note that this only returns the + /// user requested behavior. Depending on available APIs (e.g. + /// Wayland protocols), the actual behavior may differ and the apprt + /// should rely on actual windowing APIs to determine the actual + /// status. + pub fn isCSD(self: WindowDecoration) bool { + return switch (self) { + .client => true, + .server, .none => false, + }; + } + + test "parse WindowDecoration" { + const testing = std.testing; + + { + const v = try WindowDecoration.parseCLI(null); + try testing.expectEqual(WindowDecoration.client, v); + } + { + const v = try WindowDecoration.parseCLI("true"); + try testing.expectEqual(WindowDecoration.client, v); + } + { + const v = try WindowDecoration.parseCLI("false"); + try testing.expectEqual(WindowDecoration.none, v); + } + { + const v = try WindowDecoration.parseCLI("server"); + try testing.expectEqual(WindowDecoration.server, v); + } + { + try testing.expectError(error.InvalidValue, WindowDecoration.parseCLI("")); + try testing.expectError(error.InvalidValue, WindowDecoration.parseCLI("aaaa")); + } + } +}; + /// See theme pub const Theme = struct { light: []const u8, From 08a0423b78b1d5493b616fa240fd5babb7eb5491 Mon Sep 17 00:00:00 2001 From: Michael Himing Date: Wed, 15 Jan 2025 08:33:48 +1100 Subject: [PATCH 088/365] fix: building on systems with older adwaita --- src/apprt/gtk/Window.zig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/apprt/gtk/Window.zig b/src/apprt/gtk/Window.zig index 3e972ca02..10af25101 100644 --- a/src/apprt/gtk/Window.zig +++ b/src/apprt/gtk/Window.zig @@ -410,7 +410,7 @@ pub fn syncAppearance(self: *Window, config: *const configpkg.Config) !void { // Disable the title buttons (close, maximize, minimize, ...) // *inside* the tab overview if CSDs are disabled. // We do spare the search button, though. - if ((comptime adwaita.versionAtLeast(0, 0, 0)) and + if ((comptime adwaita.versionAtLeast(1, 4, 0)) and adwaita.enabled(&self.app.config)) { if (self.tab_overview) |tab_overview| { From f5670d81d4365afbc3fe818f6bed26fa4122e5eb Mon Sep 17 00:00:00 2001 From: Mitchell Hashimoto Date: Tue, 14 Jan 2025 15:40:43 -0800 Subject: [PATCH 089/365] config: fix window-decoration enum parsing to allow client, none --- src/config/Config.zig | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/src/config/Config.zig b/src/config/Config.zig index 6ae8a353e..4aba8ce32 100644 --- a/src/config/Config.zig +++ b/src/config/Config.zig @@ -5921,13 +5921,13 @@ pub const WindowDecoration = enum { server, none, - pub fn parseCLI(input: ?[]const u8) !WindowDecoration { - const input_ = input orelse return .client; + pub fn parseCLI(input_: ?[]const u8) !WindowDecoration { + const input = input_ orelse return .client; - return if (cli.args.parseBool(input_)) |b| + return if (cli.args.parseBool(input)) |b| if (b) .client else .none - else |_| if (std.mem.eql(u8, input_, "server")) - .server + else |_| if (std.meta.stringToEnum(WindowDecoration, input)) |v| + v else error.InvalidValue; } @@ -5964,6 +5964,14 @@ pub const WindowDecoration = enum { const v = try WindowDecoration.parseCLI("server"); try testing.expectEqual(WindowDecoration.server, v); } + { + const v = try WindowDecoration.parseCLI("client"); + try testing.expectEqual(WindowDecoration.client, v); + } + { + const v = try WindowDecoration.parseCLI("none"); + try testing.expectEqual(WindowDecoration.none, v); + } { try testing.expectError(error.InvalidValue, WindowDecoration.parseCLI("")); try testing.expectError(error.InvalidValue, WindowDecoration.parseCLI("aaaa")); From 34abe2ceba9c42bed6737143a051701501ccd515 Mon Sep 17 00:00:00 2001 From: Qwerasd Date: Tue, 14 Jan 2025 20:23:21 -0500 Subject: [PATCH 090/365] fix(macos): prevent transparency leakage/flash in new/resized surfaces By using the `CAMetalLayer`'s `backgroundColor` property instead of drawing the background color in our shader, it is always stretched to cover the full surface, even when live-resizing, and it doesn't require us to draw a frame for it to be initialized so there's no transparent flash when a new surface is created (as in a new split/tab). This commit also allows for hot reload of `background-opacity`, `window-vsync`, and `window-colorspace`. --- src/renderer/Metal.zig | 71 ++++++++++++++++++++++++++++++++- src/renderer/shaders/cell.metal | 21 +++++++++- 2 files changed, 89 insertions(+), 3 deletions(-) diff --git a/src/renderer/Metal.zig b/src/renderer/Metal.zig index 83cf4a5c6..45d8f84c2 100644 --- a/src/renderer/Metal.zig +++ b/src/renderer/Metal.zig @@ -148,6 +148,9 @@ layer: objc.Object, // CAMetalLayer /// a display link. display_link: ?DisplayLink = null, +/// The `CGColorSpace` that represents our current terminal color space +terminal_colorspace: *graphics.ColorSpace, + /// Custom shader state. This is only set if we have custom shaders. custom_shader_state: ?CustomShaderState = null, @@ -569,9 +572,20 @@ pub fn init(alloc: Allocator, options: renderer.Options) !Metal { // color space using converted colors, which reduces, // but does not fully eliminate blending artifacts. const colorspace = try graphics.ColorSpace.createNamed(.displayP3); - errdefer colorspace.release(); + defer colorspace.release(); layer.setProperty("colorspace", colorspace); + // Create a colorspace the represents our terminal colors + // this will allow us to create e.g. `CGColor`s for things + // like the current background color. + const terminal_colorspace = try graphics.ColorSpace.createNamed( + switch (options.config.colorspace) { + .@"display-p3" => .displayP3, + .srgb => .sRGB, + }, + ); + errdefer terminal_colorspace.release(); + // Make our view layer-backed with our Metal layer. On iOS views are // always layer backed so we don't need to do this. But on iOS the // caller MUST be sure to set the layerClass to CAMetalLayer. @@ -667,6 +681,7 @@ pub fn init(alloc: Allocator, options: renderer.Options) !Metal { // Metal stuff .layer = layer, .display_link = display_link, + .terminal_colorspace = terminal_colorspace, .custom_shader_state = null, .gpu_state = gpu_state, }; @@ -690,6 +705,8 @@ pub fn deinit(self: *Metal) void { } } + self.terminal_colorspace.release(); + self.cells.deinit(self.alloc); self.font_shaper.deinit(); @@ -1170,6 +1187,32 @@ pub fn updateFrame( @intFromFloat(@round(self.config.background_opacity * 255.0)), }; + // Update the background color on our layer + // + // TODO: Is this expensive? Should we be checking if our + // bg color has changed first before doing this work? + { + const color = graphics.c.CGColorCreate( + @ptrCast(self.terminal_colorspace), + &[4]f64{ + @as(f64, @floatFromInt(critical.bg.r)) / 255.0, + @as(f64, @floatFromInt(critical.bg.g)) / 255.0, + @as(f64, @floatFromInt(critical.bg.b)) / 255.0, + self.config.background_opacity, + }, + ); + defer graphics.c.CGColorRelease(color); + + // We use a CATransaction so that Core Animation knows that we + // updated the background color property. Otherwise it behaves + // weird, not updating the color until we resize. + const CATransaction = objc.getClass("CATransaction").?; + CATransaction.msgSend(void, "begin", .{}); + defer CATransaction.msgSend(void, "commit", .{}); + + self.layer.setProperty("backgroundColor", color); + } + // Go through our images and see if we need to setup any textures. { var image_it = self.images.iterator(); @@ -2077,6 +2120,32 @@ pub fn changeConfig(self: *Metal, config: *DerivedConfig) !void { self.default_cursor_color = if (!config.cursor_invert) config.cursor_color else null; self.cursor_invert = config.cursor_invert; + // Update our layer's opaqueness and display sync in case they changed. + { + // We use a CATransaction so that Core Animation knows that we + // updated the opaque property. Otherwise it behaves weird, not + // properly going from opaque to transparent unless we resize. + const CATransaction = objc.getClass("CATransaction").?; + CATransaction.msgSend(void, "begin", .{}); + defer CATransaction.msgSend(void, "commit", .{}); + + self.layer.setProperty("opaque", config.background_opacity >= 1); + self.layer.setProperty("displaySyncEnabled", config.vsync); + } + + // Update our terminal colorspace if it changed + if (self.config.colorspace != config.colorspace) { + const terminal_colorspace = try graphics.ColorSpace.createNamed( + switch (config.colorspace) { + .@"display-p3" => .displayP3, + .srgb => .sRGB, + }, + ); + errdefer terminal_colorspace.release(); + self.terminal_colorspace.release(); + self.terminal_colorspace = terminal_colorspace; + } + const old_blending = self.config.blending; const old_custom_shaders = self.config.custom_shaders; diff --git a/src/renderer/shaders/cell.metal b/src/renderer/shaders/cell.metal index 58dd13755..a4e4837b6 100644 --- a/src/renderer/shaders/cell.metal +++ b/src/renderer/shaders/cell.metal @@ -280,7 +280,24 @@ fragment float4 cell_bg_fragment( } } - // We load the color for the cell, converting it appropriately, and return it. + // Load the color for the cell. + uchar4 cell_color = cells[grid_pos.y * uniforms.grid_size.x + grid_pos.x]; + + // We have special case handling for when the cell color matches the bg color. + if (all(cell_color == uniforms.bg_color)) { + // If we have any background transparency then we render bg-colored cells as + // fully transparent, since the background is handled by the layer bg color + // and we don't want to double up our bg color, but if our bg color is fully + // opaque then our layer is opaque and can't handle transparency, so we need + // to return the bg color directly instead. + if (uniforms.bg_color.a == 255) { + return bg; + } else { + return float4(0.0); + } + } + + // Convert the color and return it. // // TODO: We may want to blend the color with the background // color, rather than purely replacing it, this needs @@ -292,7 +309,7 @@ fragment float4 cell_bg_fragment( // fragment of each cell. It's not the most epxensive // operation, but it is still wasted work. return load_color( - cells[grid_pos.y * uniforms.grid_size.x + grid_pos.x], + cell_color, uniforms.use_display_p3, uniforms.use_linear_blending ); From 0b456d14a47b5807d5a69e09e0f96a971f9e8af4 Mon Sep 17 00:00:00 2001 From: "Jeffrey C. Ollie" Date: Sat, 4 Jan 2025 22:26:07 -0600 Subject: [PATCH 091/365] nix: vms for testing ghostty --- .gitignore | 1 + flake.nix | 97 ++++++++++++++++++++++++++--------- nix/vm/common.nix | 33 ++++++++++++ nix/vm/wayland-gnome.nix | 107 +++++++++++++++++++++++++++++++++++++++ 4 files changed, 213 insertions(+), 25 deletions(-) create mode 100644 nix/vm/common.nix create mode 100644 nix/vm/wayland-gnome.nix diff --git a/.gitignore b/.gitignore index 0e301f8c4..db8457e1f 100644 --- a/.gitignore +++ b/.gitignore @@ -17,3 +17,4 @@ test/cases/**/*.actual.png glad.zip /Box_test.ppm /Box_test_diff.ppm +/ghostty.qcow2 diff --git a/flake.nix b/flake.nix index 83d4af414..0b8a2f424 100644 --- a/flake.nix +++ b/flake.nix @@ -31,37 +31,84 @@ zig, ... }: - builtins.foldl' nixpkgs-stable.lib.recursiveUpdate {} (builtins.map (system: let - pkgs-stable = nixpkgs-stable.legacyPackages.${system}; - pkgs-unstable = nixpkgs-unstable.legacyPackages.${system}; - in { - devShell.${system} = pkgs-stable.callPackage ./nix/devShell.nix { - zig = zig.packages.${system}."0.13.0"; - wraptest = pkgs-stable.callPackage ./nix/wraptest.nix {}; - }; + builtins.foldl' nixpkgs-stable.lib.recursiveUpdate {} ( + builtins.map ( + system: let + pkgs-stable = nixpkgs-stable.legacyPackages.${system}; + pkgs-unstable = nixpkgs-unstable.legacyPackages.${system}; + in { + devShell.${system} = pkgs-stable.callPackage ./nix/devShell.nix { + zig = zig.packages.${system}."0.13.0"; + wraptest = pkgs-stable.callPackage ./nix/wraptest.nix {}; + }; - packages.${system} = let - mkArgs = optimize: { - inherit optimize; + packages.${system} = let + mkArgs = optimize: { + inherit optimize; - revision = self.shortRev or self.dirtyShortRev or "dirty"; - }; - in rec { - ghostty-debug = pkgs-stable.callPackage ./nix/package.nix (mkArgs "Debug"); - ghostty-releasesafe = pkgs-stable.callPackage ./nix/package.nix (mkArgs "ReleaseSafe"); - ghostty-releasefast = pkgs-stable.callPackage ./nix/package.nix (mkArgs "ReleaseFast"); + revision = self.shortRev or self.dirtyShortRev or "dirty"; + }; + in rec { + ghostty-debug = pkgs-stable.callPackage ./nix/package.nix (mkArgs "Debug"); + ghostty-releasesafe = pkgs-stable.callPackage ./nix/package.nix (mkArgs "ReleaseSafe"); + ghostty-releasefast = pkgs-stable.callPackage ./nix/package.nix (mkArgs "ReleaseFast"); - ghostty = ghostty-releasefast; - default = ghostty; - }; + ghostty = ghostty-releasefast; + default = ghostty; + }; - formatter.${system} = pkgs-stable.alejandra; + formatter.${system} = pkgs-stable.alejandra; - # Our supported systems are the same supported systems as the Zig binaries. - }) (builtins.attrNames zig.packages)) + nixosConfigurations = let + makeVM = ( + path: + nixpkgs-stable.lib.nixosSystem { + inherit system; + modules = [ + { + nixpkgs.overlays = [ + self.overlays.debug + ]; + } + ./nix/vm/common.nix + path + ]; + } + ); + in { + "wayland-gnome-${system}" = makeVM ./nix/vm/wayland-gnome.nix; + }; + + apps.${system} = let + wrapVM = ( + name: let + program = pkgs-stable.writeShellScript "run-ghostty-vm" '' + SHARED_DIR=$(pwd) + export SHARED_DIR + + ${self.nixosConfigurations."${name}-${system}".config.system.build.vm}/bin/run-ghostty-vm + ''; + in { + type = "app"; + program = "${program}"; + } + ); + in { + wayland-gnome = wrapVM "wayland-gnome"; + }; + } + # Our supported systems are the same supported systems as the Zig binaries. + ) (builtins.attrNames zig.packages) + ) // { - overlays.default = final: prev: { - ghostty = self.packages.${prev.system}.default; + overlays = { + default = self.overlays.releasefast; + releasefast = final: prev: { + ghostty = self.packages.${prev.system}.ghostty-releasefast; + }; + debug = final: prev: { + ghostty = self.packages.${prev.system}.ghostty-debug; + }; }; }; diff --git a/nix/vm/common.nix b/nix/vm/common.nix new file mode 100644 index 000000000..08ee19e5b --- /dev/null +++ b/nix/vm/common.nix @@ -0,0 +1,33 @@ +{pkgs, ...}: { + boot.loader.systemd-boot.enable = true; + boot.loader.efi.canTouchEfiVariables = true; + + networking.hostName = "ghostty"; + networking.domain = "mitchellh.com"; + + virtualisation.vmVariant = { + virtualisation.memorySize = 2048; + }; + + users.mutableUsers = true; + + users.groups.ghostty = { + gid = 1000; + }; + + users.users.ghostty = { + description = "Ghostty"; + uid = 1000; + group = "ghostty"; + extraGroups = ["wheel"]; + isNormalUser = true; + initialPassword = "ghostty"; + }; + + environment.systemPackages = [ + pkgs.kitty + pkgs.ghostty + ]; + + system.stateVersion = "24.11"; +} diff --git a/nix/vm/wayland-gnome.nix b/nix/vm/wayland-gnome.nix new file mode 100644 index 000000000..99e38808f --- /dev/null +++ b/nix/vm/wayland-gnome.nix @@ -0,0 +1,107 @@ +{ + config, + lib, + pkgs, + ... +}: { + services.displayManager = { + autoLogin = { + user = "ghostty"; + }; + }; + + services.xserver = { + enable = true; + displayManager = { + gdm = { + enable = true; + autoSuspend = false; + }; + }; + desktopManager = { + gnome = { + enable = true; + }; + }; + }; + + environment.etc = { + "xdg/autostart/com.mitchellh.ghostty.desktop" = { + source = "${pkgs.ghostty}/share/applications/com.mitchellh.ghostty.desktop"; + }; + }; + + environment.systemPackages = [ + pkgs.gnomeExtensions.no-overview + ]; + + environment.gnome.excludePackages = with pkgs; [ + atomix + cheese + epiphany + geary + gnome-music + gnome-photos + gnome-tour + hitori + iagno + tali + ]; + + system.activationScripts = { + face = { + text = '' + mkdir -p /var/lib/AccountsService/{icons,users} + + cp ${pkgs.ghostty}/share/icons/hicolor/1024x1024/apps/com.mitchellh.ghostty.png /var/lib/AccountsService/icons/ghostty + + echo -e "[User]\nIcon=/var/lib/AccountsService/icons/ghostty\n" > /var/lib/AccountsService/users/ghostty + + chown root:root /var/lib/AccountsService/users/ghostty + chmod 0600 /var/lib/AccountsService/users/ghostty + + chown root:root /var/lib/AccountsService/icons/ghostty + chmod 0444 /var/lib/AccountsService/icons/ghostty + ''; + }; + }; + + programs.dconf = { + enable = true; + profiles.user.databases = [ + { + settings = with lib.gvariant; { + "org/gnome/desktop/background" = { + picture-uri = "file://${pkgs.ghostty}/share/icons/hicolor/512x512/apps/com.mitchellh.ghostty.png"; + picture-uri-dark = "file://${pkgs.ghostty}/share/icons/hicolor/512x512/apps/com.mitchellh.ghostty.png"; + picture-options = "centered"; + primary-color = "#000000000000"; + secondary-color = "#000000000000"; + }; + "org/gnome/desktop/desktop" = { + interface = "prefer-dark"; + }; + "org/gnome/desktop/notifications" = { + show-in-lock-screen = false; + }; + "org/gnome/desktop/screensaver" = { + lock-enabled = false; + picture-uri = "file://${pkgs.ghostty}/share/icons/hicolor/512x512/apps/com.mitchellh.ghostty.png"; + picture-options = "centered"; + primary-color = "#000000000000"; + secondary-color = "#000000000000"; + }; + "org/gnome/desktop/session" = { + idle-delay = mkUint32 0; + }; + "org/gnome/shell" = { + disable-user-extensions = false; + enabled-extensions = builtins.map (x: x.extensionUuid) ( + lib.filter (p: p ? extensionUuid) config.environment.systemPackages + ); + }; + }; + } + ]; + }; +} From 4ff7f6df06bfb5996d620d3492892df61d0655cd Mon Sep 17 00:00:00 2001 From: "Jeffrey C. Ollie" Date: Sun, 5 Jan 2025 01:31:30 -0600 Subject: [PATCH 092/365] nix: fix dark mode setting --- nix/vm/wayland-gnome.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/nix/vm/wayland-gnome.nix b/nix/vm/wayland-gnome.nix index 99e38808f..ada48d9c2 100644 --- a/nix/vm/wayland-gnome.nix +++ b/nix/vm/wayland-gnome.nix @@ -78,8 +78,8 @@ primary-color = "#000000000000"; secondary-color = "#000000000000"; }; - "org/gnome/desktop/desktop" = { - interface = "prefer-dark"; + "org/gnome/desktop/interface" = { + color-scheme = "prefer-dark"; }; "org/gnome/desktop/notifications" = { show-in-lock-screen = false; From 4bfb1f616cae47053de2acebc312ba01067abaab Mon Sep 17 00:00:00 2001 From: "Jeffrey C. Ollie" Date: Sun, 5 Jan 2025 01:31:52 -0600 Subject: [PATCH 093/365] nix: disable geary --- nix/vm/wayland-gnome.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/nix/vm/wayland-gnome.nix b/nix/vm/wayland-gnome.nix index ada48d9c2..5d82b16d0 100644 --- a/nix/vm/wayland-gnome.nix +++ b/nix/vm/wayland-gnome.nix @@ -104,4 +104,6 @@ } ]; }; + + programs.geary.enable = false; } From dddc2a50a8585a4a6dd12aa807770089e37f0faa Mon Sep 17 00:00:00 2001 From: "Jeffrey C. Ollie" Date: Sun, 5 Jan 2025 02:07:51 -0600 Subject: [PATCH 094/365] nix vm: more slimming --- flake.nix | 2 +- nix/vm/common.nix | 2 ++ nix/vm/wayland-gnome.nix | 36 ++++++++++++++++++++++++++++++++++++ 3 files changed, 39 insertions(+), 1 deletion(-) diff --git a/flake.nix b/flake.nix index 0b8a2f424..f49dddf8d 100644 --- a/flake.nix +++ b/flake.nix @@ -67,7 +67,7 @@ modules = [ { nixpkgs.overlays = [ - self.overlays.debug + self.overlays.releasefast ]; } ./nix/vm/common.nix diff --git a/nix/vm/common.nix b/nix/vm/common.nix index 08ee19e5b..3a19fe841 100644 --- a/nix/vm/common.nix +++ b/nix/vm/common.nix @@ -2,6 +2,8 @@ boot.loader.systemd-boot.enable = true; boot.loader.efi.canTouchEfiVariables = true; + documentation.nixos.enable = false; + networking.hostName = "ghostty"; networking.domain = "mitchellh.com"; diff --git a/nix/vm/wayland-gnome.nix b/nix/vm/wayland-gnome.nix index 5d82b16d0..b480dc439 100644 --- a/nix/vm/wayland-gnome.nix +++ b/nix/vm/wayland-gnome.nix @@ -37,17 +37,53 @@ environment.gnome.excludePackages = with pkgs; [ atomix + baobab cheese epiphany + evince + file-roller geary + gnome-backgrounds + gnome-calculator + gnome-calendar + gnome-clocks + gnome-connections + gnome-contacts + gnome-disk-utility + gnome-extension-manager + gnome-logs + gnome-maps gnome-music gnome-photos + gnome-software + gnome-system-monitor + gnome-text-editor + gnome-themes-extra gnome-tour + gnome-user-docs + gnome-weather hitori iagno + loupe + nautilus + orca + seahorse + simple-scan + snapshot + sushi tali + totem + yelp ]; + services.gnome = { + gnome-browser-connector.enable = false; + gnome-initial-setup.enable = false; + gnome-online-accounts.enable = false; + gnome-remote-desktop.enable = false; + rygel.enable = false; + }; + system.activationScripts = { face = { text = '' From 0b16c1eeba49a68c106d0fc2bcf3007505fcc926 Mon Sep 17 00:00:00 2001 From: "Jeffrey C. Ollie" Date: Sun, 5 Jan 2025 10:08:04 -0600 Subject: [PATCH 095/365] nix vm: maybe get vms working on darwin --- flake.nix | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/flake.nix b/flake.nix index f49dddf8d..acbfb7a9f 100644 --- a/flake.nix +++ b/flake.nix @@ -63,9 +63,12 @@ makeVM = ( path: nixpkgs-stable.lib.nixosSystem { - inherit system; + system = builtins.replaceStrings ["darwin"] ["linux"] system; modules = [ { + virtualisation.vmVariant = { + virtualisation.host.pkgs = pkgs-stable; + }; nixpkgs.overlays = [ self.overlays.releasefast ]; From 6be0902c095c534f875009b0c2b42e355d51f9bb Mon Sep 17 00:00:00 2001 From: "Jeffrey C. Ollie" Date: Sun, 5 Jan 2025 23:34:41 -0600 Subject: [PATCH 096/365] nix vm: add documentation, add Gnome/X11 VM --- CONTRIBUTING.md | 55 +++++++++++++++ flake.nix | 2 + nix/vm/common-gnome.nix | 133 +++++++++++++++++++++++++++++++++++ nix/vm/common.nix | 29 ++++++++ nix/vm/wayland-gnome.nix | 148 ++------------------------------------- nix/vm/x11-gnome.nix | 9 +++ 6 files changed, 234 insertions(+), 142 deletions(-) create mode 100644 nix/vm/common-gnome.nix create mode 100644 nix/vm/x11-gnome.nix diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index af3c30be7..25a7c532c 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -77,3 +77,58 @@ pull request will be accepted with a high degree of certainty. > **Pull requests are NOT a place to discuss feature design.** Please do > not open a WIP pull request to discuss a feature. Instead, use a discussion > and link to your branch. + +## Nix Virtual Machines + +Several Nix virtual machine definitions are provided by the project for testing +and developing Ghostty against multiple different Linux desktop environments. + +Running these requires a working Nix installation, either Nix on your +favorite Linux distribution, NixOS, or macOS with nix-darwin installed. Futher +requirements for macOS are detailed below. + +VMs should only be run on your local desktop and then powered off when not in +use, which will discard any changes to the VM. + +The VM definitions provide minimal software "out of the box" but additional +software can be installed by using standard Nix mechanisms like `nix run nixpkgs#`. + +### Linux + +1. Check out the Ghostty source and change to the directory. +2. Run `nix run .#`. `` can be any of the VMs defined in the + `nix/vm` directory (without the `.nix` suffix) excluding any file prefixed + with `common`. +3. The VM will build and then launch. Depending on the speed of your system, this + can take a while, but eventually you should get a new VM window. +4. The Ghostty source directory should be mounted to `/tmp/shared` in the VM. Depending + on what UID and GID of the user that you launched the VM as, `/tmp/shared` _may_ be + writable by the VM user, so be careful! + +### macOS + +1. To run the VMs on macOS you will need to enable the Linux builder in your `nix-darwin` + config. This _should_ be as simple as adding `nix.linux-builder.enable=true` to your + configuration and then rebuilding. See [this](https://nixcademy.com/posts/macos-linux-builder/) + blog post for more information about the Linux builder and how to tune the performance. +2. Once the Linux builder has been enabled, you should be able to follow the Linux instructions + above to launch a VM. + +### Contributing new VM definitions + +#### Acceptance Criteria + +We welcome the contribution of new VM definitions, as long as they meet the following criteria: + +1. The should be different enough from existing VM definitions that they represent a distinct + user (and developer) experience. +2. There's a significant Ghostty user population that uses a similar environment. +3. The VMs can be built using only packages from the current stable NixOS release. + +#### VM Definition Criteria + +1. VMs should be as minimal as possible so that they build and launch quickly. + Additonal software can be added at runtime with a command like `nix run nixpkgs#`. +2. VMs should not expose any services to the network, or run any remote access + software like SSH, VNC or RDP. +3. VMs should auto-login using the "ghostty" user. diff --git a/flake.nix b/flake.nix index acbfb7a9f..c0fdd42c3 100644 --- a/flake.nix +++ b/flake.nix @@ -80,6 +80,7 @@ ); in { "wayland-gnome-${system}" = makeVM ./nix/vm/wayland-gnome.nix; + "x11-gnome-${system}" = makeVM ./nix/vm/x11-gnome.nix; }; apps.${system} = let @@ -98,6 +99,7 @@ ); in { wayland-gnome = wrapVM "wayland-gnome"; + x11-gnome = wrapVM "x11-gnome"; }; } # Our supported systems are the same supported systems as the Zig binaries. diff --git a/nix/vm/common-gnome.nix b/nix/vm/common-gnome.nix new file mode 100644 index 000000000..992a10d3a --- /dev/null +++ b/nix/vm/common-gnome.nix @@ -0,0 +1,133 @@ +{ + config, + lib, + pkgs, + ... +}: { + services.xserver = { + enable = true; + displayManager = { + gdm = { + enable = true; + autoSuspend = false; + }; + }; + desktopManager = { + gnome = { + enable = true; + }; + }; + }; + + environment.systemPackages = [ + pkgs.gnomeExtensions.no-overview + ]; + + environment.gnome.excludePackages = with pkgs; [ + atomix + baobab + cheese + epiphany + evince + file-roller + geary + gnome-backgrounds + gnome-calculator + gnome-calendar + gnome-clocks + gnome-connections + gnome-contacts + gnome-disk-utility + gnome-extension-manager + gnome-logs + gnome-maps + gnome-music + gnome-photos + gnome-software + gnome-system-monitor + gnome-text-editor + gnome-themes-extra + gnome-tour + gnome-user-docs + gnome-weather + hitori + iagno + loupe + nautilus + orca + seahorse + simple-scan + snapshot + sushi + tali + totem + yelp + ]; + + services.gnome = { + gnome-browser-connector.enable = false; + gnome-initial-setup.enable = false; + gnome-online-accounts.enable = false; + gnome-remote-desktop.enable = false; + rygel.enable = false; + }; + + system.activationScripts = { + face = { + text = '' + mkdir -p /var/lib/AccountsService/{icons,users} + + cp ${pkgs.ghostty}/share/icons/hicolor/1024x1024/apps/com.mitchellh.ghostty.png /var/lib/AccountsService/icons/ghostty + + echo -e "[User]\nIcon=/var/lib/AccountsService/icons/ghostty\n" > /var/lib/AccountsService/users/ghostty + + chown root:root /var/lib/AccountsService/users/ghostty + chmod 0600 /var/lib/AccountsService/users/ghostty + + chown root:root /var/lib/AccountsService/icons/ghostty + chmod 0444 /var/lib/AccountsService/icons/ghostty + ''; + }; + }; + + programs.dconf = { + enable = true; + profiles.user.databases = [ + { + settings = with lib.gvariant; { + "org/gnome/desktop/background" = { + picture-uri = "file://${pkgs.ghostty}/share/icons/hicolor/512x512/apps/com.mitchellh.ghostty.png"; + picture-uri-dark = "file://${pkgs.ghostty}/share/icons/hicolor/512x512/apps/com.mitchellh.ghostty.png"; + picture-options = "centered"; + primary-color = "#000000000000"; + secondary-color = "#000000000000"; + }; + "org/gnome/desktop/interface" = { + color-scheme = "prefer-dark"; + }; + "org/gnome/desktop/notifications" = { + show-in-lock-screen = false; + }; + "org/gnome/desktop/screensaver" = { + lock-enabled = false; + picture-uri = "file://${pkgs.ghostty}/share/icons/hicolor/512x512/apps/com.mitchellh.ghostty.png"; + picture-options = "centered"; + primary-color = "#000000000000"; + secondary-color = "#000000000000"; + }; + "org/gnome/desktop/session" = { + idle-delay = mkUint32 0; + }; + "org/gnome/shell" = { + disable-user-extensions = false; + enabled-extensions = builtins.map (x: x.extensionUuid) ( + lib.filter (p: p ? extensionUuid) config.environment.systemPackages + ); + }; + }; + } + ]; + }; + + programs.geary.enable = false; +} diff --git a/nix/vm/common.nix b/nix/vm/common.nix index 3a19fe841..9e05cce4a 100644 --- a/nix/vm/common.nix +++ b/nix/vm/common.nix @@ -11,6 +11,18 @@ virtualisation.memorySize = 2048; }; + nix = { + settings = { + trusted-users = [ + "root" + "ghostty" + ]; + }; + extraOptions = '' + experimental-features = nix-command flakes + ''; + }; + users.mutableUsers = true; users.groups.ghostty = { @@ -26,10 +38,27 @@ initialPassword = "ghostty"; }; + environment.etc = { + "xdg/autostart/com.mitchellh.ghostty.desktop" = { + source = "${pkgs.ghostty}/share/applications/com.mitchellh.ghostty.desktop"; + }; + }; + environment.systemPackages = [ pkgs.kitty pkgs.ghostty + pkgs.zig_0_13 ]; + services.displayManager = { + autoLogin = { + user = "ghostty"; + }; + }; + + services.xserver = { + enable = true; + }; + system.stateVersion = "24.11"; } diff --git a/nix/vm/wayland-gnome.nix b/nix/vm/wayland-gnome.nix index b480dc439..eb277d5d1 100644 --- a/nix/vm/wayland-gnome.nix +++ b/nix/vm/wayland-gnome.nix @@ -1,145 +1,9 @@ -{ - config, - lib, - pkgs, - ... -}: { +{...}: { + imports = [ + ./common-gnome.nix + ]; + services.displayManager = { - autoLogin = { - user = "ghostty"; - }; + defaultSession = "gnome"; }; - - services.xserver = { - enable = true; - displayManager = { - gdm = { - enable = true; - autoSuspend = false; - }; - }; - desktopManager = { - gnome = { - enable = true; - }; - }; - }; - - environment.etc = { - "xdg/autostart/com.mitchellh.ghostty.desktop" = { - source = "${pkgs.ghostty}/share/applications/com.mitchellh.ghostty.desktop"; - }; - }; - - environment.systemPackages = [ - pkgs.gnomeExtensions.no-overview - ]; - - environment.gnome.excludePackages = with pkgs; [ - atomix - baobab - cheese - epiphany - evince - file-roller - geary - gnome-backgrounds - gnome-calculator - gnome-calendar - gnome-clocks - gnome-connections - gnome-contacts - gnome-disk-utility - gnome-extension-manager - gnome-logs - gnome-maps - gnome-music - gnome-photos - gnome-software - gnome-system-monitor - gnome-text-editor - gnome-themes-extra - gnome-tour - gnome-user-docs - gnome-weather - hitori - iagno - loupe - nautilus - orca - seahorse - simple-scan - snapshot - sushi - tali - totem - yelp - ]; - - services.gnome = { - gnome-browser-connector.enable = false; - gnome-initial-setup.enable = false; - gnome-online-accounts.enable = false; - gnome-remote-desktop.enable = false; - rygel.enable = false; - }; - - system.activationScripts = { - face = { - text = '' - mkdir -p /var/lib/AccountsService/{icons,users} - - cp ${pkgs.ghostty}/share/icons/hicolor/1024x1024/apps/com.mitchellh.ghostty.png /var/lib/AccountsService/icons/ghostty - - echo -e "[User]\nIcon=/var/lib/AccountsService/icons/ghostty\n" > /var/lib/AccountsService/users/ghostty - - chown root:root /var/lib/AccountsService/users/ghostty - chmod 0600 /var/lib/AccountsService/users/ghostty - - chown root:root /var/lib/AccountsService/icons/ghostty - chmod 0444 /var/lib/AccountsService/icons/ghostty - ''; - }; - }; - - programs.dconf = { - enable = true; - profiles.user.databases = [ - { - settings = with lib.gvariant; { - "org/gnome/desktop/background" = { - picture-uri = "file://${pkgs.ghostty}/share/icons/hicolor/512x512/apps/com.mitchellh.ghostty.png"; - picture-uri-dark = "file://${pkgs.ghostty}/share/icons/hicolor/512x512/apps/com.mitchellh.ghostty.png"; - picture-options = "centered"; - primary-color = "#000000000000"; - secondary-color = "#000000000000"; - }; - "org/gnome/desktop/interface" = { - color-scheme = "prefer-dark"; - }; - "org/gnome/desktop/notifications" = { - show-in-lock-screen = false; - }; - "org/gnome/desktop/screensaver" = { - lock-enabled = false; - picture-uri = "file://${pkgs.ghostty}/share/icons/hicolor/512x512/apps/com.mitchellh.ghostty.png"; - picture-options = "centered"; - primary-color = "#000000000000"; - secondary-color = "#000000000000"; - }; - "org/gnome/desktop/session" = { - idle-delay = mkUint32 0; - }; - "org/gnome/shell" = { - disable-user-extensions = false; - enabled-extensions = builtins.map (x: x.extensionUuid) ( - lib.filter (p: p ? extensionUuid) config.environment.systemPackages - ); - }; - }; - } - ]; - }; - - programs.geary.enable = false; } diff --git a/nix/vm/x11-gnome.nix b/nix/vm/x11-gnome.nix new file mode 100644 index 000000000..1994aea82 --- /dev/null +++ b/nix/vm/x11-gnome.nix @@ -0,0 +1,9 @@ +{...}: { + imports = [ + ./common-gnome.nix + ]; + + services.displayManager = { + defaultSession = "gnome-xorg"; + }; +} From 26f6b3ea8226a231949087827ff5bb92b932f350 Mon Sep 17 00:00:00 2001 From: "Jeffrey C. Ollie" Date: Sun, 5 Jan 2025 23:39:36 -0600 Subject: [PATCH 097/365] fix typo --- CONTRIBUTING.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 25a7c532c..5013ced8a 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -84,7 +84,7 @@ Several Nix virtual machine definitions are provided by the project for testing and developing Ghostty against multiple different Linux desktop environments. Running these requires a working Nix installation, either Nix on your -favorite Linux distribution, NixOS, or macOS with nix-darwin installed. Futher +favorite Linux distribution, NixOS, or macOS with nix-darwin installed. Further requirements for macOS are detailed below. VMs should only be run on your local desktop and then powered off when not in @@ -128,7 +128,7 @@ We welcome the contribution of new VM definitions, as long as they meet the foll #### VM Definition Criteria 1. VMs should be as minimal as possible so that they build and launch quickly. - Additonal software can be added at runtime with a command like `nix run nixpkgs#`. + Additional software can be added at runtime with a command like `nix run nixpkgs#`. 2. VMs should not expose any services to the network, or run any remote access software like SSH, VNC or RDP. 3. VMs should auto-login using the "ghostty" user. From 450c019b4e50a1a79d36858866eab0f71c6d6d5c Mon Sep 17 00:00:00 2001 From: "Jeffrey C. Ollie" Date: Mon, 6 Jan 2025 23:42:23 -0600 Subject: [PATCH 098/365] nix vm: add plasma and cinnamon vms --- flake.nix | 8 ++++++++ nix/vm/common-cinnamon.nix | 14 ++++++++++++++ nix/vm/common-gnome.nix | 1 - nix/vm/common-plasma6.nix | 17 +++++++++++++++++ nix/vm/common.nix | 22 ++++++++++++++++++++++ nix/vm/wayland-cinnamon.nix | 7 +++++++ nix/vm/wayland-plasma6.nix | 6 ++++++ nix/vm/x11-cinnamon.nix | 7 +++++++ nix/vm/x11-plasma6.nix | 6 ++++++ 9 files changed, 87 insertions(+), 1 deletion(-) create mode 100644 nix/vm/common-cinnamon.nix create mode 100644 nix/vm/common-plasma6.nix create mode 100644 nix/vm/wayland-cinnamon.nix create mode 100644 nix/vm/wayland-plasma6.nix create mode 100644 nix/vm/x11-cinnamon.nix create mode 100644 nix/vm/x11-plasma6.nix diff --git a/flake.nix b/flake.nix index c0fdd42c3..38aea5b80 100644 --- a/flake.nix +++ b/flake.nix @@ -79,8 +79,12 @@ } ); in { + "wayland-cinnamon-${system}" = makeVM ./nix/vm/wayland-cinnamon.nix; "wayland-gnome-${system}" = makeVM ./nix/vm/wayland-gnome.nix; + "wayland-plasma6-${system}" = makeVM ./nix/vm/wayland-plasma6.nix; + "x11-cinnamon-${system}" = makeVM ./nix/vm/x11-cinnamon.nix; "x11-gnome-${system}" = makeVM ./nix/vm/x11-gnome.nix; + "x11-plasma6-${system}" = makeVM ./nix/vm/x11-plasma6.nix; }; apps.${system} = let @@ -98,8 +102,12 @@ } ); in { + wayland-cinnamon = wrapVM "wayland-cinnamon"; wayland-gnome = wrapVM "wayland-gnome"; + wayland-plasma6 = wrapVM "wayland-plasma6"; + x11-cinnamon = wrapVM "x11-cinnamon"; x11-gnome = wrapVM "x11-gnome"; + x11-plasma6 = wrapVM "x11-plasma6"; }; } # Our supported systems are the same supported systems as the Zig binaries. diff --git a/nix/vm/common-cinnamon.nix b/nix/vm/common-cinnamon.nix new file mode 100644 index 000000000..a551321cf --- /dev/null +++ b/nix/vm/common-cinnamon.nix @@ -0,0 +1,14 @@ +{...}: { + services.xserver = { + displayManager = { + lightdm = { + enable = true; + }; + }; + desktopManager = { + cinnamon = { + enable = true; + }; + }; + }; +} diff --git a/nix/vm/common-gnome.nix b/nix/vm/common-gnome.nix index 992a10d3a..d5018b457 100644 --- a/nix/vm/common-gnome.nix +++ b/nix/vm/common-gnome.nix @@ -5,7 +5,6 @@ ... }: { services.xserver = { - enable = true; displayManager = { gdm = { enable = true; diff --git a/nix/vm/common-plasma6.nix b/nix/vm/common-plasma6.nix new file mode 100644 index 000000000..3b280184c --- /dev/null +++ b/nix/vm/common-plasma6.nix @@ -0,0 +1,17 @@ +{...}: { + services = { + displayManager = { + sddm = { + enable = true; + wayland = { + enable = true; + }; + }; + }; + desktopManager = { + plasma6 = { + enable = true; + }; + }; + }; +} diff --git a/nix/vm/common.nix b/nix/vm/common.nix index 9e05cce4a..fa0305ad0 100644 --- a/nix/vm/common.nix +++ b/nix/vm/common.nix @@ -47,15 +47,37 @@ environment.systemPackages = [ pkgs.kitty pkgs.ghostty + pkgs.helix + pkgs.neovim pkgs.zig_0_13 ]; + security.polkit = { + enable = true; + }; + + services.dbus = { + enable = true; + }; + services.displayManager = { autoLogin = { user = "ghostty"; }; }; + services.libinput = { + enable = true; + }; + + services.qemuGuest = { + enable = true; + }; + + services.spice-vdagentd = { + enable = true; + }; + services.xserver = { enable = true; }; diff --git a/nix/vm/wayland-cinnamon.nix b/nix/vm/wayland-cinnamon.nix new file mode 100644 index 000000000..531c882b6 --- /dev/null +++ b/nix/vm/wayland-cinnamon.nix @@ -0,0 +1,7 @@ +{...}: { + imports = [ + ./common-cinnamon.nix + ]; + + services.displayManager.defaultSession = "cinnamon-wayland"; +} diff --git a/nix/vm/wayland-plasma6.nix b/nix/vm/wayland-plasma6.nix new file mode 100644 index 000000000..6e5a253b8 --- /dev/null +++ b/nix/vm/wayland-plasma6.nix @@ -0,0 +1,6 @@ +{...}: { + imports = [ + ./common-plasma6.nix + ]; + services.displayManager.defaultSession = "plasma"; +} diff --git a/nix/vm/x11-cinnamon.nix b/nix/vm/x11-cinnamon.nix new file mode 100644 index 000000000..636f235a2 --- /dev/null +++ b/nix/vm/x11-cinnamon.nix @@ -0,0 +1,7 @@ +{...}: { + imports = [ + ./common-cinnamon.nix + ]; + + services.displayManager.defaultSession = "cinnamon"; +} diff --git a/nix/vm/x11-plasma6.nix b/nix/vm/x11-plasma6.nix new file mode 100644 index 000000000..7818a80ca --- /dev/null +++ b/nix/vm/x11-plasma6.nix @@ -0,0 +1,6 @@ +{...}: { + imports = [ + ./common-plasma6.nix + ]; + services.displayManager.defaultSession = "plasmax11"; +} From 268fc1a0405e159359d6f3f246707fbf80c04b0b Mon Sep 17 00:00:00 2001 From: "Jeffrey C. Ollie" Date: Tue, 7 Jan 2025 08:42:30 -0600 Subject: [PATCH 099/365] nix vm: simplify vm definition --- CONTRIBUTING.md | 4 ++-- flake.nix | 45 ++++++++++++++++++----------------- nix/vm/common-gnome.nix | 52 ++++++++++++++++++++--------------------- nix/vm/common.nix | 8 ++----- 4 files changed, 53 insertions(+), 56 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 5013ced8a..7415825f9 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -116,7 +116,7 @@ software can be installed by using standard Nix mechanisms like `nix run nixpkgs ### Contributing new VM definitions -#### Acceptance Criteria +#### VM Acceptance Criteria We welcome the contribution of new VM definitions, as long as they meet the following criteria: @@ -130,5 +130,5 @@ We welcome the contribution of new VM definitions, as long as they meet the foll 1. VMs should be as minimal as possible so that they build and launch quickly. Additional software can be added at runtime with a command like `nix run nixpkgs#`. 2. VMs should not expose any services to the network, or run any remote access - software like SSH, VNC or RDP. + software like SSH daemons, VNC or RDP. 3. VMs should auto-login using the "ghostty" user. diff --git a/flake.nix b/flake.nix index 38aea5b80..81e9b422c 100644 --- a/flake.nix +++ b/flake.nix @@ -59,9 +59,9 @@ formatter.${system} = pkgs-stable.alejandra; - nixosConfigurations = let + apps.${system} = let makeVM = ( - path: + path: system: uid: gid: nixpkgs-stable.lib.nixosSystem { system = builtins.replaceStrings ["darwin"] ["linux"] system; modules = [ @@ -69,32 +69,33 @@ virtualisation.vmVariant = { virtualisation.host.pkgs = pkgs-stable; }; + nixpkgs.overlays = [ - self.overlays.releasefast + self.overlays.debug ]; + + users.groups.ghostty = { + gid = gid; + }; + + users.users.ghostty = { + uid = gid; + }; + + system.stateVersion = "24.11"; } ./nix/vm/common.nix path ]; } ); - in { - "wayland-cinnamon-${system}" = makeVM ./nix/vm/wayland-cinnamon.nix; - "wayland-gnome-${system}" = makeVM ./nix/vm/wayland-gnome.nix; - "wayland-plasma6-${system}" = makeVM ./nix/vm/wayland-plasma6.nix; - "x11-cinnamon-${system}" = makeVM ./nix/vm/x11-cinnamon.nix; - "x11-gnome-${system}" = makeVM ./nix/vm/x11-gnome.nix; - "x11-plasma6-${system}" = makeVM ./nix/vm/x11-plasma6.nix; - }; - - apps.${system} = let - wrapVM = ( - name: let + runVM = ( + path: let program = pkgs-stable.writeShellScript "run-ghostty-vm" '' SHARED_DIR=$(pwd) export SHARED_DIR - ${self.nixosConfigurations."${name}-${system}".config.system.build.vm}/bin/run-ghostty-vm + ${(makeVM path system 1000 1000).config.system.build.vm}/bin/run-ghostty-vm ''; in { type = "app"; @@ -102,12 +103,12 @@ } ); in { - wayland-cinnamon = wrapVM "wayland-cinnamon"; - wayland-gnome = wrapVM "wayland-gnome"; - wayland-plasma6 = wrapVM "wayland-plasma6"; - x11-cinnamon = wrapVM "x11-cinnamon"; - x11-gnome = wrapVM "x11-gnome"; - x11-plasma6 = wrapVM "x11-plasma6"; + wayland-cinnamon = runVM ./nix/vm/wayland-cinnamon.nix; + wayland-gnome = runVM ./nix/vm/wayland-gnome.nix; + wayland-plasma6 = runVM ./nix/vm/wayland-plasma6.nix; + x11-cinnamon = runVM ./nix/vm/x11-cinnamon.nix; + x11-gnome = runVM ./nix/vm/x11-gnome.nix; + x11-plasma6 = runVM ./nix/vm/x11-plasma6.nix; }; } # Our supported systems are the same supported systems as the Zig binaries. diff --git a/nix/vm/common-gnome.nix b/nix/vm/common-gnome.nix index d5018b457..d43f5dc9e 100644 --- a/nix/vm/common-gnome.nix +++ b/nix/vm/common-gnome.nix @@ -63,32 +63,6 @@ yelp ]; - services.gnome = { - gnome-browser-connector.enable = false; - gnome-initial-setup.enable = false; - gnome-online-accounts.enable = false; - gnome-remote-desktop.enable = false; - rygel.enable = false; - }; - - system.activationScripts = { - face = { - text = '' - mkdir -p /var/lib/AccountsService/{icons,users} - - cp ${pkgs.ghostty}/share/icons/hicolor/1024x1024/apps/com.mitchellh.ghostty.png /var/lib/AccountsService/icons/ghostty - - echo -e "[User]\nIcon=/var/lib/AccountsService/icons/ghostty\n" > /var/lib/AccountsService/users/ghostty - - chown root:root /var/lib/AccountsService/users/ghostty - chmod 0600 /var/lib/AccountsService/users/ghostty - - chown root:root /var/lib/AccountsService/icons/ghostty - chmod 0444 /var/lib/AccountsService/icons/ghostty - ''; - }; - }; - programs.dconf = { enable = true; profiles.user.databases = [ @@ -129,4 +103,30 @@ }; programs.geary.enable = false; + + services.gnome = { + gnome-browser-connector.enable = false; + gnome-initial-setup.enable = false; + gnome-online-accounts.enable = false; + gnome-remote-desktop.enable = false; + rygel.enable = false; + }; + + system.activationScripts = { + face = { + text = '' + mkdir -p /var/lib/AccountsService/{icons,users} + + cp ${pkgs.ghostty}/share/icons/hicolor/1024x1024/apps/com.mitchellh.ghostty.png /var/lib/AccountsService/icons/ghostty + + echo -e "[User]\nIcon=/var/lib/AccountsService/icons/ghostty\n" > /var/lib/AccountsService/users/ghostty + + chown root:root /var/lib/AccountsService/users/ghostty + chmod 0600 /var/lib/AccountsService/users/ghostty + + chown root:root /var/lib/AccountsService/icons/ghostty + chmod 0444 /var/lib/AccountsService/icons/ghostty + ''; + }; + }; } diff --git a/nix/vm/common.nix b/nix/vm/common.nix index fa0305ad0..6e80dd5b6 100644 --- a/nix/vm/common.nix +++ b/nix/vm/common.nix @@ -25,13 +25,10 @@ users.mutableUsers = true; - users.groups.ghostty = { - gid = 1000; - }; + users.groups.ghostty = {}; users.users.ghostty = { description = "Ghostty"; - uid = 1000; group = "ghostty"; extraGroups = ["wheel"]; isNormalUser = true; @@ -49,6 +46,7 @@ pkgs.ghostty pkgs.helix pkgs.neovim + pkgs.xterm pkgs.zig_0_13 ]; @@ -81,6 +79,4 @@ services.xserver = { enable = true; }; - - system.stateVersion = "24.11"; } From e1e2f94681d0b11a99c1a713a61fbfd36e6f9bb6 Mon Sep 17 00:00:00 2001 From: "Jeffrey C. Ollie" Date: Tue, 7 Jan 2025 21:46:21 -0600 Subject: [PATCH 100/365] nix vm: try and make vm creation more re-usable --- nix/vm/create.nix | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 nix/vm/create.nix diff --git a/nix/vm/create.nix b/nix/vm/create.nix new file mode 100644 index 000000000..8aea5d19d --- /dev/null +++ b/nix/vm/create.nix @@ -0,0 +1,41 @@ +{ + system, + nixpkgs, + overlay, + path, + uid ? 1000, + gid ? 1000, +}: let + pkgs = import nixpkgs { + inherit system; + overlays = [ + overlay + ]; + }; +in + nixpkgs.lib.nixosSystem { + system = builtins.replaceStrings ["darwin"] ["linux"] system; + modules = [ + { + virtualisation.vmVariant = { + virtualisation.host.pkgs = pkgs; + }; + + nixpkgs.overlays = [ + overlay + ]; + + users.groups.ghostty = { + gid = gid; + }; + + users.users.ghostty = { + uid = uid; + }; + + system.stateVersion = "24.11"; + } + ./common.nix + path + ]; + } From 321119e0010290fb6f702b87ca251e61a3899eb9 Mon Sep 17 00:00:00 2001 From: "Jeffrey C. Ollie" Date: Tue, 7 Jan 2025 22:03:04 -0600 Subject: [PATCH 101/365] nix vm: more reusability --- flake.nix | 40 ++++++++++---------------------------- nix/vm/common-cinnamon.nix | 4 ++++ nix/vm/common-gnome.nix | 4 ++++ nix/vm/common-plasma6.nix | 4 ++++ nix/vm/create-cinnamon.nix | 12 ++++++++++++ nix/vm/create-gnome.nix | 12 ++++++++++++ nix/vm/create-plasma6.nix | 12 ++++++++++++ nix/vm/create.nix | 5 +++-- 8 files changed, 61 insertions(+), 32 deletions(-) create mode 100644 nix/vm/create-cinnamon.nix create mode 100644 nix/vm/create-gnome.nix create mode 100644 nix/vm/create-plasma6.nix diff --git a/flake.nix b/flake.nix index 81e9b422c..b3cd77087 100644 --- a/flake.nix +++ b/flake.nix @@ -60,42 +60,18 @@ formatter.${system} = pkgs-stable.alejandra; apps.${system} = let - makeVM = ( - path: system: uid: gid: - nixpkgs-stable.lib.nixosSystem { - system = builtins.replaceStrings ["darwin"] ["linux"] system; - modules = [ - { - virtualisation.vmVariant = { - virtualisation.host.pkgs = pkgs-stable; - }; - - nixpkgs.overlays = [ - self.overlays.debug - ]; - - users.groups.ghostty = { - gid = gid; - }; - - users.users.ghostty = { - uid = gid; - }; - - system.stateVersion = "24.11"; - } - ./nix/vm/common.nix - path - ]; - } - ); runVM = ( path: let + vm = import ./nix/vm/create.nix { + inherit system path; + nixpkgs = nixpkgs-stable; + overlay = self.overlays.debug; + }; program = pkgs-stable.writeShellScript "run-ghostty-vm" '' SHARED_DIR=$(pwd) export SHARED_DIR - ${(makeVM path system 1000 1000).config.system.build.vm}/bin/run-ghostty-vm + ${vm.config.system.build.vm}/bin/run-ghostty-vm ''; in { type = "app"; @@ -124,6 +100,10 @@ ghostty = self.packages.${prev.system}.ghostty-debug; }; }; + create-vm = import ./nix/vm/create.nix; + create-cinnamon-vm = import ./nix/vm/create-cinnamon.nix; + create-gnome-vm = import ./nix/vm/create-gnome.nix; + create-plasma6-vm = import ./nix/vm/create-plasma6.nix; }; nixConfig = { diff --git a/nix/vm/common-cinnamon.nix b/nix/vm/common-cinnamon.nix index a551321cf..dabe5e701 100644 --- a/nix/vm/common-cinnamon.nix +++ b/nix/vm/common-cinnamon.nix @@ -1,4 +1,8 @@ {...}: { + imports = [ + ./common.nix + ]; + services.xserver = { displayManager = { lightdm = { diff --git a/nix/vm/common-gnome.nix b/nix/vm/common-gnome.nix index d43f5dc9e..0c2bef150 100644 --- a/nix/vm/common-gnome.nix +++ b/nix/vm/common-gnome.nix @@ -4,6 +4,10 @@ pkgs, ... }: { + imports = [ + ./common.nix + ]; + services.xserver = { displayManager = { gdm = { diff --git a/nix/vm/common-plasma6.nix b/nix/vm/common-plasma6.nix index 3b280184c..e5c9bd4d8 100644 --- a/nix/vm/common-plasma6.nix +++ b/nix/vm/common-plasma6.nix @@ -1,4 +1,8 @@ {...}: { + imports = [ + ./common.nix + ]; + services = { displayManager = { sddm = { diff --git a/nix/vm/create-cinnamon.nix b/nix/vm/create-cinnamon.nix new file mode 100644 index 000000000..0efd3c72c --- /dev/null +++ b/nix/vm/create-cinnamon.nix @@ -0,0 +1,12 @@ +{ + system, + nixpkgs, + overlay, + path, + uid ? 1000, + gid ? 1000, +}: +import ./create.nix { + inherit system nixpkgs overlay path uid gid; + common = ./common-cinnamon.nix; +} diff --git a/nix/vm/create-gnome.nix b/nix/vm/create-gnome.nix new file mode 100644 index 000000000..9fb7f3914 --- /dev/null +++ b/nix/vm/create-gnome.nix @@ -0,0 +1,12 @@ +{ + system, + nixpkgs, + overlay, + path, + uid ? 1000, + gid ? 1000, +}: +import ./create.nix { + inherit system nixpkgs overlay path uid gid; + common = ./common-gnome.nix; +} diff --git a/nix/vm/create-plasma6.nix b/nix/vm/create-plasma6.nix new file mode 100644 index 000000000..47785899f --- /dev/null +++ b/nix/vm/create-plasma6.nix @@ -0,0 +1,12 @@ +{ + system, + nixpkgs, + overlay, + path, + uid ? 1000, + gid ? 1000, +}: +import ./create.nix { + inherit system nixpkgs overlay path uid gid; + common = ./common-plasma6.nix; +} diff --git a/nix/vm/create.nix b/nix/vm/create.nix index 8aea5d19d..4481d4345 100644 --- a/nix/vm/create.nix +++ b/nix/vm/create.nix @@ -3,6 +3,7 @@ nixpkgs, overlay, path, + common ? ./common.nix, uid ? 1000, gid ? 1000, }: let @@ -33,9 +34,9 @@ in uid = uid; }; - system.stateVersion = "24.11"; + system.stateVersion = nixpkgs.lib.trivial.release; } - ./common.nix + common path ]; } From 1ac56a7ac2552d2d9f2ee67f597a5c574670956a Mon Sep 17 00:00:00 2001 From: "Jeffrey C. Ollie" Date: Tue, 7 Jan 2025 22:22:38 -0600 Subject: [PATCH 102/365] nix vm: +fish +zsh -zig --- nix/vm/common.nix | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/nix/vm/common.nix b/nix/vm/common.nix index 6e80dd5b6..eefd7c1c0 100644 --- a/nix/vm/common.nix +++ b/nix/vm/common.nix @@ -23,7 +23,7 @@ ''; }; - users.mutableUsers = true; + users.mutableUsers = false; users.groups.ghostty = {}; @@ -43,11 +43,12 @@ environment.systemPackages = [ pkgs.kitty + pkgs.fish pkgs.ghostty pkgs.helix pkgs.neovim pkgs.xterm - pkgs.zig_0_13 + pkgs.zsh ]; security.polkit = { From 423133bc3c4151d2f289282b9c2bdf09bc84c9dd Mon Sep 17 00:00:00 2001 From: "Jeffrey C. Ollie" Date: Wed, 15 Jan 2025 11:56:19 -0600 Subject: [PATCH 103/365] nix: document how to create custom vms --- CONTRIBUTING.md | 44 +++++++++++++++++++++++++++++++++++++- flake.nix | 6 +++--- nix/vm/create-cinnamon.nix | 4 ++-- nix/vm/create-gnome.nix | 4 ++-- nix/vm/create-plasma6.nix | 4 ++-- nix/vm/create.nix | 4 ++-- 6 files changed, 54 insertions(+), 12 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 7415825f9..a7233b2c2 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -98,7 +98,7 @@ software can be installed by using standard Nix mechanisms like `nix run nixpkgs 1. Check out the Ghostty source and change to the directory. 2. Run `nix run .#`. `` can be any of the VMs defined in the `nix/vm` directory (without the `.nix` suffix) excluding any file prefixed - with `common`. + with `common` or `create`. 3. The VM will build and then launch. Depending on the speed of your system, this can take a while, but eventually you should get a new VM window. 4. The Ghostty source directory should be mounted to `/tmp/shared` in the VM. Depending @@ -114,6 +114,48 @@ software can be installed by using standard Nix mechanisms like `nix run nixpkgs 2. Once the Linux builder has been enabled, you should be able to follow the Linux instructions above to launch a VM. +### Custom VMs + +To easily create a custom VM without modifying the Ghostty source, create a new +directory, then create a file called `flake.nix` with the following text in the +new directory. + +``` +{ + inputs = { + nixpkgs.url = "nixpkgs/nixpkgs-unstable"; + ghostty.url = "github:ghostty-org/ghostty"; + }; + outputs = { + nixpkgs, + ghostty, + ... + }: { + nixosConfigurations.custom-vm = ghostty.create-gnome-vm { + nixpkgs = nixpkgs; + system = "x86_64-linux"; + overlay = ghostty.overlays.releasefast; + # module = ./configuration.nix # also works + module = {pkgs, ...}: { + environment.systemPackages = [ + pkgs.btop + ]; + }; + }; + }; +} +``` + +The custom VM can then be run with a command like this: + +``` +nix run .#nixosConfigurations.custom-vm.config.system.build.vm +``` + +A file named `ghostty.qcow2` will be created that is used to persist any changes +made in the VM. To "reset" the VM to default delete the file and it will be +recreated the next time you run the VM. + ### Contributing new VM definitions #### VM Acceptance Criteria diff --git a/flake.nix b/flake.nix index b3cd77087..d787c0609 100644 --- a/flake.nix +++ b/flake.nix @@ -61,9 +61,9 @@ apps.${system} = let runVM = ( - path: let + module: let vm = import ./nix/vm/create.nix { - inherit system path; + inherit system module; nixpkgs = nixpkgs-stable; overlay = self.overlays.debug; }; @@ -71,7 +71,7 @@ SHARED_DIR=$(pwd) export SHARED_DIR - ${vm.config.system.build.vm}/bin/run-ghostty-vm + ${pkgs-stable.lib.getExe vm.config.system.build.vm} "$@" ''; in { type = "app"; diff --git a/nix/vm/create-cinnamon.nix b/nix/vm/create-cinnamon.nix index 0efd3c72c..a9d9e44d7 100644 --- a/nix/vm/create-cinnamon.nix +++ b/nix/vm/create-cinnamon.nix @@ -2,11 +2,11 @@ system, nixpkgs, overlay, - path, + module, uid ? 1000, gid ? 1000, }: import ./create.nix { - inherit system nixpkgs overlay path uid gid; + inherit system nixpkgs overlay module uid gid; common = ./common-cinnamon.nix; } diff --git a/nix/vm/create-gnome.nix b/nix/vm/create-gnome.nix index 9fb7f3914..bcd31f2b6 100644 --- a/nix/vm/create-gnome.nix +++ b/nix/vm/create-gnome.nix @@ -2,11 +2,11 @@ system, nixpkgs, overlay, - path, + module, uid ? 1000, gid ? 1000, }: import ./create.nix { - inherit system nixpkgs overlay path uid gid; + inherit system nixpkgs overlay module uid gid; common = ./common-gnome.nix; } diff --git a/nix/vm/create-plasma6.nix b/nix/vm/create-plasma6.nix index 47785899f..ede5371f3 100644 --- a/nix/vm/create-plasma6.nix +++ b/nix/vm/create-plasma6.nix @@ -2,11 +2,11 @@ system, nixpkgs, overlay, - path, + module, uid ? 1000, gid ? 1000, }: import ./create.nix { - inherit system nixpkgs overlay path uid gid; + inherit system nixpkgs overlay module uid gid; common = ./common-plasma6.nix; } diff --git a/nix/vm/create.nix b/nix/vm/create.nix index 4481d4345..f8fe8500d 100644 --- a/nix/vm/create.nix +++ b/nix/vm/create.nix @@ -2,7 +2,7 @@ system, nixpkgs, overlay, - path, + module, common ? ./common.nix, uid ? 1000, gid ? 1000, @@ -37,6 +37,6 @@ in system.stateVersion = nixpkgs.lib.trivial.release; } common - path + module ]; } From 7716f9885665ee2501aa7a26446013aca761e040 Mon Sep 17 00:00:00 2001 From: Leah Amelia Chen Date: Wed, 15 Jan 2025 23:20:59 +0100 Subject: [PATCH 104/365] gtk(wayland): respect compositor SSD preferences Compositors can actually tell us whether they want to use CSD or SSD! --- src/apprt/gtk/App.zig | 16 ++++----- src/apprt/gtk/Window.zig | 4 +-- src/apprt/gtk/winproto/wayland.zig | 56 ++++++++++++++++++++---------- src/apprt/gtk/winproto/x11.zig | 2 +- src/config/Config.zig | 52 +++++++++++++-------------- 5 files changed, 73 insertions(+), 57 deletions(-) diff --git a/src/apprt/gtk/App.zig b/src/apprt/gtk/App.zig index 96275684e..63ba0a692 100644 --- a/src/apprt/gtk/App.zig +++ b/src/apprt/gtk/App.zig @@ -1881,16 +1881,14 @@ fn initContextMenu(self: *App) void { c.g_menu_append(section, "Terminal Inspector", "win.toggle_inspector"); } - if (!self.config.@"window-decoration".isCSD()) { - const section = c.g_menu_new(); - defer c.g_object_unref(section); - const submenu = c.g_menu_new(); - defer c.g_object_unref(submenu); + const section = c.g_menu_new(); + defer c.g_object_unref(section); + const submenu = c.g_menu_new(); + defer c.g_object_unref(submenu); - initMenuContent(@ptrCast(submenu)); - c.g_menu_append_submenu(section, "Menu", @ptrCast(@alignCast(submenu))); - c.g_menu_append_section(menu, null, @ptrCast(@alignCast(section))); - } + initMenuContent(@ptrCast(submenu)); + c.g_menu_append_submenu(section, "Menu", @ptrCast(@alignCast(submenu))); + c.g_menu_append_section(menu, null, @ptrCast(@alignCast(section))); self.context_menu = menu; } diff --git a/src/apprt/gtk/Window.zig b/src/apprt/gtk/Window.zig index 10af25101..03fcd05db 100644 --- a/src/apprt/gtk/Window.zig +++ b/src/apprt/gtk/Window.zig @@ -584,8 +584,8 @@ pub fn toggleFullscreen(self: *Window) void { /// Toggle the window decorations for this window. pub fn toggleWindowDecorations(self: *Window) void { self.app.config.@"window-decoration" = switch (self.app.config.@"window-decoration") { - .client, .server => .none, - .none => .server, + .auto, .client, .server => .none, + .none => .client, }; self.updateConfig(&self.app.config) catch {}; } diff --git a/src/apprt/gtk/winproto/wayland.zig b/src/apprt/gtk/winproto/wayland.zig index efe0d89cd..7a28fc92c 100644 --- a/src/apprt/gtk/winproto/wayland.zig +++ b/src/apprt/gtk/winproto/wayland.zig @@ -22,6 +22,8 @@ pub const App = struct { // FIXME: replace with `zxdg_decoration_v1` once GTK merges // https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/6398 kde_decoration_manager: ?*org.KdeKwinServerDecorationManager = null, + + default_deco_mode: ?org.KdeKwinServerDecorationManager.Mode = null, }; pub fn init( @@ -57,6 +59,12 @@ pub const App = struct { registry.setListener(*Context, registryListener, context); if (display.roundtrip() != .SUCCESS) return error.RoundtripFailed; + if (context.kde_decoration_manager != null) { + // FIXME: Roundtrip again because we have to wait for the decoration + // manager to respond with the preferred default mode. Ew. + if (display.roundtrip() != .SUCCESS) return error.RoundtripFailed; + } + return .{ .display = display, .context = context, @@ -82,25 +90,22 @@ pub const App = struct { ) void { switch (event) { // https://wayland.app/protocols/wayland#wl_registry:event:global - .global => |global| global: { + .global => |global| { log.debug("wl_registry.global: interface={s}", .{global.interface}); if (registryBind( org.KdeKwinBlurManager, registry, global, - 1, )) |blur_manager| { context.kde_blur_manager = blur_manager; - break :global; } else if (registryBind( org.KdeKwinServerDecorationManager, registry, global, - 1, )) |deco_manager| { context.kde_decoration_manager = deco_manager; - break :global; + deco_manager.setListener(*Context, decoManagerListener, context); } }, @@ -119,7 +124,6 @@ pub const App = struct { comptime T: type, registry: *wl.Registry, global: anytype, - version: u32, ) ?*T { if (std.mem.orderZ( u8, @@ -127,7 +131,7 @@ pub const App = struct { T.interface.name, ) != .eq) return null; - return registry.bind(global.name, T, version) catch |err| { + return registry.bind(global.name, T, T.generated_version) catch |err| { log.warn("error binding interface {s} error={}", .{ global.interface, err, @@ -135,6 +139,18 @@ pub const App = struct { return null; }; } + + fn decoManagerListener( + _: *org.KdeKwinServerDecorationManager, + event: org.KdeKwinServerDecorationManager.Event, + context: *Context, + ) void { + switch (event) { + .default_mode => |mode| { + context.default_deco_mode = @enumFromInt(mode.mode); + }, + } + } }; /// Per-window (wl_surface) state for the Wayland protocol. @@ -235,13 +251,14 @@ pub const Window = struct { } pub fn clientSideDecorationEnabled(self: Window) bool { - // Note: we should change this to being the actual mode - // state emitted by the decoration manager. + // Compositor doesn't support the SSD protocol + if (self.decoration == null) return true; - // We are CSD if we don't support the SSD Wayland protocol - // or if we do but we're in CSD mode. - return self.decoration == null or - self.config.window_decoration.isCSD(); + return switch (self.getDecorationMode()) { + .Client => true, + .Server, .None => false, + else => unreachable, + }; } /// Update the blur state of the window. @@ -269,14 +286,17 @@ pub const Window = struct { fn syncDecoration(self: *Window) !void { const deco = self.decoration orelse return; - const mode: org.KdeKwinServerDecoration.Mode = switch (self.config.window_decoration) { + // The protocol requests uint instead of enum so we have + // to convert it. + deco.requestMode(@intCast(@intFromEnum(self.getDecorationMode()))); + } + + fn getDecorationMode(self: Window) org.KdeKwinServerDecorationManager.Mode { + return switch (self.config.window_decoration) { + .auto => self.app_context.default_deco_mode orelse .Client, .client => .Client, .server => .Server, .none => .None, }; - - // The protocol requests uint instead of enum so we have - // to convert it. - deco.requestMode(@intCast(@intFromEnum(mode))); } }; diff --git a/src/apprt/gtk/winproto/x11.zig b/src/apprt/gtk/winproto/x11.zig index fe3b9218d..4f607d1ef 100644 --- a/src/apprt/gtk/winproto/x11.zig +++ b/src/apprt/gtk/winproto/x11.zig @@ -168,7 +168,7 @@ pub const Window = struct { .blur = config.@"background-blur-radius".enabled(), .has_decoration = switch (config.@"window-decoration") { .none => false, - .client, .server => true, + .auto, .client, .server => true, }, }; } diff --git a/src/config/Config.zig b/src/config/Config.zig index 4aba8ce32..baac2cde7 100644 --- a/src/config/Config.zig +++ b/src/config/Config.zig @@ -1138,27 +1138,33 @@ keybind: Keybinds = .{}, /// borders, etc. will not be shown. On macOS, this will also disable /// tabs (enforced by the system). /// -/// * `client` - Prefer client-side decorations. This is the default. +/// * `auto` - Automatically decide to use either client-side or server-side +/// decorations based on the detected preferences of the current OS and +/// desktop environment. This option usually makes Ghostty look the most +/// "native" for your desktop. +/// +/// * `client` - Prefer client-side decorations. /// /// * `server` - Prefer server-side decorations. This is only relevant /// on Linux with GTK. This currently only works on Linux with Wayland /// and the `org_kde_kwin_server_decoration` protocol available (e.g. -/// KDE Plasma, but almost any non-Gnome desktop supports this protocol). +/// KDE Plasma, but almost any non-GNOME desktop supports this protocol). /// /// If `server` is set but the environment doesn't support server-side /// decorations, client-side decorations will be used instead. /// -/// The default value is `client`. +/// The default value is `auto`. /// -/// This setting also accepts boolean true and false values. If set to `true`, -/// this is equivalent to `client`. If set to `false`, this is equivalent to -/// `none`. This is a convenience for users who live primarily on systems -/// that don't differentiate between client and server-side decorations -/// (e.g. macOS and Windows). +/// For the sake of backwards compatibility and convenience, this setting also +/// accepts boolean true and false values. If set to `true`, this is equivalent +/// to `auto`. If set to `false`, this is equivalent to `none`. +/// This is convenient for users who live primarily on systems that don't +/// differentiate between client and server-side decorations (e.g. macOS and +/// Windows). /// /// The "toggle_window_decorations" keybind action can be used to create /// a keybinding to toggle this setting at runtime. This will always toggle -/// back to "server" if the current value is "none" (this is an issue +/// back to "auto" if the current value is "none" (this is an issue /// that will be fixed in the future). /// /// Changing this configuration in your configuration and reloading will @@ -1166,7 +1172,7 @@ keybind: Keybinds = .{}, /// /// macOS: To hide the titlebar without removing the native window borders /// or rounded corners, use `macos-titlebar-style = hidden` instead. -@"window-decoration": WindowDecoration = .client, +@"window-decoration": WindowDecoration = .auto, /// The font that will be used for the application's window and tab titles. /// @@ -5917,44 +5923,32 @@ pub const BackgroundBlur = union(enum) { /// See window-decoration pub const WindowDecoration = enum { + auto, client, server, none, pub fn parseCLI(input_: ?[]const u8) !WindowDecoration { - const input = input_ orelse return .client; + const input = input_ orelse return .auto; return if (cli.args.parseBool(input)) |b| - if (b) .client else .none + if (b) .auto else .none else |_| if (std.meta.stringToEnum(WindowDecoration, input)) |v| v else error.InvalidValue; } - /// Returns true if the window decoration setting results in - /// CSD (client-side decorations). Note that this only returns the - /// user requested behavior. Depending on available APIs (e.g. - /// Wayland protocols), the actual behavior may differ and the apprt - /// should rely on actual windowing APIs to determine the actual - /// status. - pub fn isCSD(self: WindowDecoration) bool { - return switch (self) { - .client => true, - .server, .none => false, - }; - } - test "parse WindowDecoration" { const testing = std.testing; { const v = try WindowDecoration.parseCLI(null); - try testing.expectEqual(WindowDecoration.client, v); + try testing.expectEqual(WindowDecoration.auto, v); } { const v = try WindowDecoration.parseCLI("true"); - try testing.expectEqual(WindowDecoration.client, v); + try testing.expectEqual(WindowDecoration.auto, v); } { const v = try WindowDecoration.parseCLI("false"); @@ -5968,6 +5962,10 @@ pub const WindowDecoration = enum { const v = try WindowDecoration.parseCLI("client"); try testing.expectEqual(WindowDecoration.client, v); } + { + const v = try WindowDecoration.parseCLI("auto"); + try testing.expectEqual(WindowDecoration.auto, v); + } { const v = try WindowDecoration.parseCLI("none"); try testing.expectEqual(WindowDecoration.none, v); From b1becb12c026e446fd66e637c4a243c8e8788997 Mon Sep 17 00:00:00 2001 From: Qwerasd Date: Wed, 15 Jan 2025 18:08:11 -0500 Subject: [PATCH 105/365] fix(Metal): handle non-extended padding color transparency We were returning bg colors when we shouldn't have since when we have background color transparency we need to return any bg color cells as fully transparent rather than their actual color. --- src/renderer/shaders/cell.metal | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/src/renderer/shaders/cell.metal b/src/renderer/shaders/cell.metal index a4e4837b6..d4657ec28 100644 --- a/src/renderer/shaders/cell.metal +++ b/src/renderer/shaders/cell.metal @@ -248,7 +248,15 @@ fragment float4 cell_bg_fragment( ) { int2 grid_pos = int2(floor((in.position.xy - uniforms.grid_padding.wx) / uniforms.cell_size)); - float4 bg = in.bg_color; + float4 bg = float4(0.0); + // If we have any background transparency then we render bg-colored cells as + // fully transparent, since the background is handled by the layer bg color + // and we don't want to double up our bg color, but if our bg color is fully + // opaque then our layer is opaque and can't handle transparency, so we need + // to return the bg color directly instead. + if (uniforms.bg_color.a == 255) { + bg = in.bg_color; + } // Clamp x position, extends edge bg colors in to padding on sides. if (grid_pos.x < 0) { @@ -285,16 +293,7 @@ fragment float4 cell_bg_fragment( // We have special case handling for when the cell color matches the bg color. if (all(cell_color == uniforms.bg_color)) { - // If we have any background transparency then we render bg-colored cells as - // fully transparent, since the background is handled by the layer bg color - // and we don't want to double up our bg color, but if our bg color is fully - // opaque then our layer is opaque and can't handle transparency, so we need - // to return the bg color directly instead. - if (uniforms.bg_color.a == 255) { - return bg; - } else { - return float4(0.0); - } + return bg; } // Convert the color and return it. From 3159a7bec783f6a47b05c620c4550355729298f9 Mon Sep 17 00:00:00 2001 From: "Jeffrey C. Ollie" Date: Wed, 15 Jan 2025 20:37:31 -0600 Subject: [PATCH 106/365] nix: add x11 xfce vm --- flake.nix | 2 ++ nix/vm/common-xfce.nix | 18 ++++++++++++++++++ nix/vm/create-xfce.nix | 12 ++++++++++++ nix/vm/x11-xfce.nix | 7 +++++++ 4 files changed, 39 insertions(+) create mode 100644 nix/vm/common-xfce.nix create mode 100644 nix/vm/create-xfce.nix create mode 100644 nix/vm/x11-xfce.nix diff --git a/flake.nix b/flake.nix index d787c0609..3256c7c15 100644 --- a/flake.nix +++ b/flake.nix @@ -85,6 +85,7 @@ x11-cinnamon = runVM ./nix/vm/x11-cinnamon.nix; x11-gnome = runVM ./nix/vm/x11-gnome.nix; x11-plasma6 = runVM ./nix/vm/x11-plasma6.nix; + x11-xfce = runVM ./nix/vm/x11-xfce.nix; }; } # Our supported systems are the same supported systems as the Zig binaries. @@ -104,6 +105,7 @@ create-cinnamon-vm = import ./nix/vm/create-cinnamon.nix; create-gnome-vm = import ./nix/vm/create-gnome.nix; create-plasma6-vm = import ./nix/vm/create-plasma6.nix; + create-xfce-vm = import ./nix/vm/create-xfce.nix; }; nixConfig = { diff --git a/nix/vm/common-xfce.nix b/nix/vm/common-xfce.nix new file mode 100644 index 000000000..12a20d8d8 --- /dev/null +++ b/nix/vm/common-xfce.nix @@ -0,0 +1,18 @@ +{...}: { + imports = [ + ./common.nix + ]; + + services.xserver = { + displayManager = { + lightdm = { + enable = true; + }; + }; + desktopManager = { + xfce = { + enable = true; + }; + }; + }; +} diff --git a/nix/vm/create-xfce.nix b/nix/vm/create-xfce.nix new file mode 100644 index 000000000..d1789472d --- /dev/null +++ b/nix/vm/create-xfce.nix @@ -0,0 +1,12 @@ +{ + system, + nixpkgs, + overlay, + module, + uid ? 1000, + gid ? 1000, +}: +import ./create.nix { + inherit system nixpkgs overlay module uid gid; + common = ./common-xfce.nix; +} diff --git a/nix/vm/x11-xfce.nix b/nix/vm/x11-xfce.nix new file mode 100644 index 000000000..71eb87f2f --- /dev/null +++ b/nix/vm/x11-xfce.nix @@ -0,0 +1,7 @@ +{...}: { + imports = [ + ./common-xfce.nix + ]; + + services.displayManager.defaultSession = "xfce"; +} From 6af1850ab4eb7a3720b971dc4386024a8ed986ef Mon Sep 17 00:00:00 2001 From: Jon Parise Date: Tue, 14 Jan 2025 14:12:08 -0500 Subject: [PATCH 107/365] bash: less intrusive automatic shell integration We now use a temporary function (__ghostty_bash_startup) to perform the bash startup sequence. This gives us a local function scope in which to store some temporary values (like rcfile). This way, they won't leak into the sourced files' scopes. Also, use `~/` instead of `$HOME` for home directory paths as a simpler shorthand notation. --- src/shell-integration/bash/ghostty.bash | 72 +++++++++++++------------ 1 file changed, 38 insertions(+), 34 deletions(-) diff --git a/src/shell-integration/bash/ghostty.bash b/src/shell-integration/bash/ghostty.bash index 71c644b69..7de55f982 100644 --- a/src/shell-integration/bash/ghostty.bash +++ b/src/shell-integration/bash/ghostty.bash @@ -20,14 +20,13 @@ if [[ "$-" != *i* ]] ; then builtin return; fi if [ -z "$GHOSTTY_RESOURCES_DIR" ]; then builtin return; fi -# When automatic shell integration is active, we need to manually -# load the normal bash startup files based on the injected state. +# When automatic shell integration is active, we were started in POSIX +# mode and need to manually recreate the bash startup sequence. if [ -n "$GHOSTTY_BASH_INJECT" ]; then - builtin declare ghostty_bash_inject="$GHOSTTY_BASH_INJECT" - builtin unset GHOSTTY_BASH_INJECT ENV - - # At this point, we're in POSIX mode and rely on the injected - # flags to guide is through the rest of the startup sequence. + # Store a temporary copy of our startup flags and unset these global + # environment variables so we can safely handle reentrancy. + builtin declare __ghostty_bash_flags="$GHOSTTY_BASH_INJECT" + builtin unset ENV GHOSTTY_BASH_INJECT # Restore bash's default 'posix' behavior. Also reset 'inherit_errexit', # which doesn't happen as part of the 'posix' reset. @@ -40,35 +39,40 @@ if [ -n "$GHOSTTY_BASH_INJECT" ]; then builtin unset GHOSTTY_BASH_UNEXPORT_HISTFILE fi - # Manually source the startup files, respecting the injected flags like - # --norc and --noprofile that we parsed with the shell integration code. - # - # See also: run_startup_files() in shell.c in the Bash source code - if builtin shopt -q login_shell; then - if [[ $ghostty_bash_inject != *"--noprofile"* ]]; then - [ -r /etc/profile ] && builtin source "/etc/profile" - for rcfile in "$HOME/.bash_profile" "$HOME/.bash_login" "$HOME/.profile"; do - [ -r "$rcfile" ] && { builtin source "$rcfile"; break; } - done - fi - else - if [[ $ghostty_bash_inject != *"--norc"* ]]; then - # The location of the system bashrc is determined at bash build - # time via -DSYS_BASHRC and can therefore vary across distros: - # Arch, Debian, Ubuntu use /etc/bash.bashrc - # Fedora uses /etc/bashrc sourced from ~/.bashrc instead of SYS_BASHRC - # Void Linux uses /etc/bash/bashrc - # Nixos uses /etc/bashrc - for rcfile in /etc/bash.bashrc /etc/bash/bashrc /etc/bashrc; do - [ -r "$rcfile" ] && { builtin source "$rcfile"; break; } - done - if [[ -z "$GHOSTTY_BASH_RCFILE" ]]; then GHOSTTY_BASH_RCFILE="$HOME/.bashrc"; fi - [ -r "$GHOSTTY_BASH_RCFILE" ] && builtin source "$GHOSTTY_BASH_RCFILE" - fi - fi + # Manually source the startup files. See INVOCATION in bash(1) and + # run_startup_files() in shell.c in the Bash source code. + function __ghostty_bash_startup() { + builtin local rcfile + if builtin shopt -q login_shell; then + if [[ $__ghostty_bash_flags != *"--noprofile"* ]]; then + [ -r /etc/profile ] && builtin source "/etc/profile" + for rcfile in ~/.bash_profile ~/.bash_login ~/.profile; do + [ -r "$rcfile" ] && { builtin source "$rcfile"; break; } + done + fi + else + if [[ $__ghostty_bash_flags != *"--norc"* ]]; then + # The location of the system bashrc is determined at bash build + # time via -DSYS_BASHRC and can therefore vary across distros: + # Arch, Debian, Ubuntu use /etc/bash.bashrc + # Fedora uses /etc/bashrc sourced from ~/.bashrc instead of SYS_BASHRC + # Void Linux uses /etc/bash/bashrc + # Nixos uses /etc/bashrc + for rcfile in /etc/bash.bashrc /etc/bash/bashrc /etc/bashrc; do + [ -r "$rcfile" ] && { builtin source "$rcfile"; break; } + done + if [[ -z "$GHOSTTY_BASH_RCFILE" ]]; then GHOSTTY_BASH_RCFILE=~/.bashrc; fi + [ -r "$GHOSTTY_BASH_RCFILE" ] && builtin source "$GHOSTTY_BASH_RCFILE" + fi + fi + } + + __ghostty_bash_startup + + builtin unset -f __ghostty_bash_startup + builtin unset -v __ghostty_bash_flags builtin unset GHOSTTY_BASH_RCFILE - builtin unset ghostty_bash_inject rcfile fi # Sudo From 07994d10e9e96d9bb5244ca1e355bef464e29a42 Mon Sep 17 00:00:00 2001 From: Jon Parise Date: Thu, 16 Jan 2025 08:22:40 -0500 Subject: [PATCH 108/365] bash: remove sed dependency for history processing We post-process history 1's output to extract the current command. This processing needs to strip the leading history number, an optional * character indicating whether the entry was modified (or a space), and then a space separating character. We were previously using sed(1) for this, but we can implement an equivalent transformation using bash's native parameter expansion syntax. This also results in ~4x reduction in per-prompt command overhead. --- src/shell-integration/bash/bash-preexec.sh | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/shell-integration/bash/bash-preexec.sh b/src/shell-integration/bash/bash-preexec.sh index 14a677888..cd0ea06c7 100644 --- a/src/shell-integration/bash/bash-preexec.sh +++ b/src/shell-integration/bash/bash-preexec.sh @@ -250,10 +250,8 @@ __bp_preexec_invoke_exec() { fi local this_command - this_command=$( - export LC_ALL=C - HISTTIMEFORMAT='' builtin history 1 | sed '1 s/^ *[0-9][0-9]*[* ] //' - ) + this_command=$(LC_ALL=C HISTTIMEFORMAT='' builtin history 1) + this_command="${this_command#*[[:digit:]][* ] }" # Sanity check to make sure we have something to invoke our function with. if [[ -z "$this_command" ]]; then From df2d0b33cc46160f834ecc13acfdcdbe34b536ad Mon Sep 17 00:00:00 2001 From: Jon Parise Date: Thu, 16 Jan 2025 08:30:27 -0500 Subject: [PATCH 109/365] bash: improve prior_trap processing We use `trap` to bootstrap our installation function (__bp_install). We remove our code upon first execution but need to restore any preexisting trap calls. We previously used `sed` to process the trap string, but that had two downsides: 1. `sed` is an external command dependency. It needs to exist on the system, and we need to invoke it in a subshell (which has some runtime cost). 2. The regular expression pattern was imperfect and didn't handle trickier cases like `'` characters in the trap string: $ (trap "echo 'hello'" DEBUG; trap -p DEBUG) hello trap -- 'echo '\''hello'\''' DEBUG This change removes the dependency on `sed` by locally evaluating the trap string and extracting any prior trap. This works reliably because we control the format our trap string, which looks like this (with newlines expanded): __bp_trap_string="$(trap -p DEBUG)" trap - DEBUG __bp_install --- src/shell-integration/bash/bash-preexec.sh | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/shell-integration/bash/bash-preexec.sh b/src/shell-integration/bash/bash-preexec.sh index 14a677888..9d3357387 100644 --- a/src/shell-integration/bash/bash-preexec.sh +++ b/src/shell-integration/bash/bash-preexec.sh @@ -297,10 +297,8 @@ __bp_install() { trap '__bp_preexec_invoke_exec "$_"' DEBUG # Preserve any prior DEBUG trap as a preexec function - local prior_trap - # we can't easily do this with variable expansion. Leaving as sed command. - # shellcheck disable=SC2001 - prior_trap=$(sed "s/[^']*'\(.*\)'[^']*/\1/" <<<"${__bp_trap_string:-}") + eval "local trap_argv=(${__bp_trap_string:-})" + local prior_trap=${trap_argv[2]:-} unset __bp_trap_string if [[ -n "$prior_trap" ]]; then eval '__bp_original_debug_trap() { From a5853c4de8226a1df2a6ea7d96ddf936e6b8876d Mon Sep 17 00:00:00 2001 From: Mitchell Hashimoto Date: Thu, 16 Jan 2025 14:02:56 -0700 Subject: [PATCH 110/365] macos: respect the "auto" window decoration setting --- macos/Sources/Ghostty/Ghostty.Config.swift | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/macos/Sources/Ghostty/Ghostty.Config.swift b/macos/Sources/Ghostty/Ghostty.Config.swift index 9d45ea9bb..2a24b0257 100644 --- a/macos/Sources/Ghostty/Ghostty.Config.swift +++ b/macos/Sources/Ghostty/Ghostty.Config.swift @@ -562,10 +562,11 @@ extension Ghostty.Config { case none case client case server + case auto func enabled() -> Bool { switch self { - case .client, .server: return true + case .client, .server, .auto: return true case .none: return false } } From 860f1f635cd82dbbffd1c9a9d67d20cccd5d1442 Mon Sep 17 00:00:00 2001 From: Albert Dong Date: Thu, 16 Jan 2025 14:14:48 -0800 Subject: [PATCH 111/365] Manually call orderOut on terminal close alert Allowing the alert to be automatically closed after the completion handler finishes doesn't seem to play well when the completion handler closes the window on which the alert is attached --- macos/Sources/Features/Terminal/BaseTerminalController.swift | 2 +- macos/Sources/Ghostty/Ghostty.TerminalSplit.swift | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/macos/Sources/Features/Terminal/BaseTerminalController.swift b/macos/Sources/Features/Terminal/BaseTerminalController.swift index bda6d62bf..0c5b50b53 100644 --- a/macos/Sources/Features/Terminal/BaseTerminalController.swift +++ b/macos/Sources/Features/Terminal/BaseTerminalController.swift @@ -449,9 +449,9 @@ class BaseTerminalController: NSWindowController, alert.addButton(withTitle: "Cancel") alert.alertStyle = .warning alert.beginSheetModal(for: window, completionHandler: { response in - self.alert = nil switch (response) { case .alertFirstButtonReturn: + alert.window.orderOut(nil) window.close() default: diff --git a/macos/Sources/Ghostty/Ghostty.TerminalSplit.swift b/macos/Sources/Ghostty/Ghostty.TerminalSplit.swift index cc3bef149..cec178245 100644 --- a/macos/Sources/Ghostty/Ghostty.TerminalSplit.swift +++ b/macos/Sources/Ghostty/Ghostty.TerminalSplit.swift @@ -205,6 +205,7 @@ extension Ghostty { alert.beginSheetModal(for: window, completionHandler: { response in switch (response) { case .alertFirstButtonReturn: + alert.window.orderOut(nil) node = nil default: From 85b1cfa44f4d70c9cc37edd3ba595e45fe642e67 Mon Sep 17 00:00:00 2001 From: Gabriel Holodak Date: Thu, 16 Jan 2025 18:42:33 -0500 Subject: [PATCH 112/365] fix(gtk): confirm tab close on close_tab action --- src/apprt/gtk/App.zig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/apprt/gtk/App.zig b/src/apprt/gtk/App.zig index 63ba0a692..193710293 100644 --- a/src/apprt/gtk/App.zig +++ b/src/apprt/gtk/App.zig @@ -579,7 +579,7 @@ fn closeTab(_: *App, target: apprt.Target) !void { return; }; - tab.window.closeTab(tab); + tab.closeWithConfirmation(); }, } } From 2a1b51ec94b57aecfede58af22f6896480e29417 Mon Sep 17 00:00:00 2001 From: Qwerasd Date: Thu, 16 Jan 2025 22:28:22 -0500 Subject: [PATCH 113/365] fix(Metal): fix incorrect premultiplication of colors Also make sure to divide alpha out before applying gamma encoding back to text color when not using linear blending. --- src/renderer/shaders/cell.metal | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/renderer/shaders/cell.metal b/src/renderer/shaders/cell.metal index d4657ec28..17f811a19 100644 --- a/src/renderer/shaders/cell.metal +++ b/src/renderer/shaders/cell.metal @@ -139,7 +139,7 @@ float4 load_color( // already have the correct color here and // can premultiply and return it. if (display_p3 && !linear) { - color *= color.a; + color.rgb *= color.a; return color; } @@ -167,7 +167,7 @@ float4 load_color( } // Premultiply our color by its alpha. - color *= color.a; + color.rgb *= color.a; return color; } @@ -503,12 +503,12 @@ fragment float4 cell_text_fragment( // If we're not doing linear blending, then we need to // re-apply the gamma encoding to our color manually. // - // We do it BEFORE premultiplying the alpha because - // we want to produce the effect of not linearizing - // it in the first place in order to match the look - // of software that never does this. + // Since the alpha is premultiplied, we need to divide + // it out before unlinearizing and re-multiply it after. if (!uniforms.use_linear_blending) { + color.rgb /= color.a; color = unlinearize(color); + color.rgb *= color.a; } // Fetch our alpha mask for this pixel. From da5ac6aeeb07efbb2f3acbb5f9a73e601d8cacad Mon Sep 17 00:00:00 2001 From: Albert Dong Date: Thu, 16 Jan 2025 20:57:41 -0800 Subject: [PATCH 114/365] Set alert to nil when modal interacted with --- macos/Sources/Features/Terminal/BaseTerminalController.swift | 1 + 1 file changed, 1 insertion(+) diff --git a/macos/Sources/Features/Terminal/BaseTerminalController.swift b/macos/Sources/Features/Terminal/BaseTerminalController.swift index 0c5b50b53..bace20f05 100644 --- a/macos/Sources/Features/Terminal/BaseTerminalController.swift +++ b/macos/Sources/Features/Terminal/BaseTerminalController.swift @@ -449,6 +449,7 @@ class BaseTerminalController: NSWindowController, alert.addButton(withTitle: "Cancel") alert.alertStyle = .warning alert.beginSheetModal(for: window, completionHandler: { response in + self.alert = nil switch (response) { case .alertFirstButtonReturn: alert.window.orderOut(nil) From b7d76fe26f08c3811ece6ecd88d5340c43e5b55e Mon Sep 17 00:00:00 2001 From: "Jeffrey C. Ollie" Date: Thu, 16 Jan 2025 23:51:40 -0600 Subject: [PATCH 115/365] gtk: always set the title on the underlying window when using adwaita --- src/apprt/gtk/headerbar_adw.zig | 1 + 1 file changed, 1 insertion(+) diff --git a/src/apprt/gtk/headerbar_adw.zig b/src/apprt/gtk/headerbar_adw.zig index c0d622207..1ae23e6d9 100644 --- a/src/apprt/gtk/headerbar_adw.zig +++ b/src/apprt/gtk/headerbar_adw.zig @@ -65,6 +65,7 @@ pub fn packStart(self: HeaderBarAdw, widget: *c.GtkWidget) void { } pub fn setTitle(self: HeaderBarAdw, title: [:0]const u8) void { + c.gtk_window_set_title(self.window.window, title); if (comptime adwaita.versionAtLeast(0, 0, 0)) { c.adw_window_title_set_title(self.title, title); } From 018a888578acf7a9c70fdb0035d3ec3b4ce28276 Mon Sep 17 00:00:00 2001 From: AltCode <12354672+AlternateRT@users.noreply.github.com> Date: Fri, 17 Jan 2025 15:18:22 +0100 Subject: [PATCH 116/365] macOS: add link to release notes on appcast --- dist/macos/update_appcast_tag.py | 11 +++++++---- dist/macos/update_appcast_tip.py | 4 ++-- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/dist/macos/update_appcast_tag.py b/dist/macos/update_appcast_tag.py index 4ef526019..6abfb66db 100644 --- a/dist/macos/update_appcast_tag.py +++ b/dist/macos/update_appcast_tag.py @@ -21,6 +21,7 @@ from datetime import datetime, timezone now = datetime.now(timezone.utc) version = os.environ["GHOSTTY_VERSION"] +version_dash = version.replace('.', '-') build = os.environ["GHOSTTY_BUILD"] commit = os.environ["GHOSTTY_COMMIT"] commit_long = os.environ["GHOSTTY_COMMIT_LONG"] @@ -82,18 +83,20 @@ elem = ET.SubElement(item, "sparkle:shortVersionString") elem.text = f"{version}" elem = ET.SubElement(item, "sparkle:minimumSystemVersion") elem.text = "13.0.0" +elem = ET.SubElement(item, "sparkle:fullReleaseNotesLink") +elem.text = f"https://ghostty.org/docs/install/release-notes/{version_dash}" elem = ET.SubElement(item, "description") elem.text = f""" -

Ghostty v{version}

+Ghostty v{version}

This release was built from commit {commit} on {now.strftime('%Y-%m-%d')}.

We don't currently generate release notes for auto-updates. -You can view the complete changelog and release notes on -the Ghostty website. -

+You can view the complete changelog and release notes +at ghostty.org/docs/install/release-notes/{version_dash}. +

]]> """ elem = ET.SubElement(item, "enclosure") elem.set("url", f"https://release.files.ghostty.org/{version}/Ghostty.dmg") diff --git a/dist/macos/update_appcast_tip.py b/dist/macos/update_appcast_tip.py index ff1fb4be5..c6a20f75f 100644 --- a/dist/macos/update_appcast_tip.py +++ b/dist/macos/update_appcast_tip.py @@ -83,7 +83,7 @@ elem = ET.SubElement(item, "sparkle:minimumSystemVersion") elem.text = "13.0.0" elem = ET.SubElement(item, "description") elem.text = f""" -

+ Automated build from commit {commit} on {now.strftime('%Y-%m-%d')}.

@@ -91,7 +91,7 @@ on {now.strftime('%Y-%m-%d')}. These are automatic per-commit builds generated from the main Git branch. We do not generate any release notes for these builds. You can view the full commit history on GitHub for all changes. -

+

]]> """ elem = ET.SubElement(item, "enclosure") elem.set("url", f"https://tip.files.ghostty.org/{commit_long}/Ghostty.dmg") From c2da843dfdcbe74fa1db8a676bb6e76d76621ee6 Mon Sep 17 00:00:00 2001 From: Qwerasd Date: Fri, 17 Jan 2025 13:28:14 -0500 Subject: [PATCH 117/365] fix(wuffs): don't premul alpha when loading images It seems like the raw data version of the kitty graphics transmit operation is meant to be unassociated (aka straight) alpha, though I can't find any definitive documentation either way- but in any case unassociated alpha is more common in image formats and makes the handling easier for the rest of it. Also removed a redundant call to `decode_frame_config`, since it's called implicitly when we call `decode_frame` right after. --- pkg/wuffs/src/jpeg.zig | 12 +----------- pkg/wuffs/src/png.zig | 12 +----------- 2 files changed, 2 insertions(+), 22 deletions(-) diff --git a/pkg/wuffs/src/jpeg.zig b/pkg/wuffs/src/jpeg.zig index 69628f582..c07278eed 100644 --- a/pkg/wuffs/src/jpeg.zig +++ b/pkg/wuffs/src/jpeg.zig @@ -55,7 +55,7 @@ pub fn decode(alloc: Allocator, data: []const u8) Error!ImageData { c.wuffs_base__pixel_config__set( &image_config.pixcfg, - c.WUFFS_BASE__PIXEL_FORMAT__RGBA_PREMUL, + c.WUFFS_BASE__PIXEL_FORMAT__RGBA_NONPREMUL, c.WUFFS_BASE__PIXEL_SUBSAMPLING__NONE, width, height, @@ -95,16 +95,6 @@ pub fn decode(alloc: Allocator, data: []const u8) Error!ImageData { try check(log, &status); } - var frame_config: c.wuffs_base__frame_config = undefined; - { - const status = c.wuffs_jpeg__decoder__decode_frame_config( - decoder, - &frame_config, - &source_buffer, - ); - try check(log, &status); - } - { const status = c.wuffs_jpeg__decoder__decode_frame( decoder, diff --git a/pkg/wuffs/src/png.zig b/pkg/wuffs/src/png.zig index b85e4d747..1f37bb375 100644 --- a/pkg/wuffs/src/png.zig +++ b/pkg/wuffs/src/png.zig @@ -55,7 +55,7 @@ pub fn decode(alloc: Allocator, data: []const u8) Error!ImageData { c.wuffs_base__pixel_config__set( &image_config.pixcfg, - c.WUFFS_BASE__PIXEL_FORMAT__RGBA_PREMUL, + c.WUFFS_BASE__PIXEL_FORMAT__RGBA_NONPREMUL, c.WUFFS_BASE__PIXEL_SUBSAMPLING__NONE, width, height, @@ -95,16 +95,6 @@ pub fn decode(alloc: Allocator, data: []const u8) Error!ImageData { try check(log, &status); } - var frame_config: c.wuffs_base__frame_config = undefined; - { - const status = c.wuffs_png__decoder__decode_frame_config( - decoder, - &frame_config, - &source_buffer, - ); - try check(log, &status); - } - { const status = c.wuffs_png__decoder__decode_frame( decoder, From 8ee4deddb4edf0d4b39b673b14c3d7df2ec5244d Mon Sep 17 00:00:00 2001 From: Bryan Lee <38807139+liby@users.noreply.github.com> Date: Tue, 14 Jan 2025 16:37:28 +0800 Subject: [PATCH 118/365] Fix `shell-integration-features` being ignored when `shell-integration` is `none` --- src/termio/Exec.zig | 6 +++++- src/termio/shell_integration.zig | 15 ++++++++++++--- 2 files changed, 17 insertions(+), 4 deletions(-) diff --git a/src/termio/Exec.zig b/src/termio/Exec.zig index 1a3b8cad0..b1a19a6c7 100644 --- a/src/termio/Exec.zig +++ b/src/termio/Exec.zig @@ -875,7 +875,11 @@ const Subprocess = struct { }; const force: ?shell_integration.Shell = switch (cfg.shell_integration) { - .none => break :shell .{ null, default_shell_command }, + .none => { + // Even if shell integration is none, we still want to set up the feature env vars + try shell_integration.setupFeatures(&env, cfg.shell_integration_features); + break :shell .{ null, default_shell_command }; + }, .detect => null, .bash => .bash, .elvish => .elvish, diff --git a/src/termio/shell_integration.zig b/src/termio/shell_integration.zig index 8cd2a92ae..85d9a8376 100644 --- a/src/termio/shell_integration.zig +++ b/src/termio/shell_integration.zig @@ -114,9 +114,7 @@ pub fn setup( }; // Setup our feature env vars - if (!features.cursor) try env.put("GHOSTTY_SHELL_INTEGRATION_NO_CURSOR", "1"); - if (!features.sudo) try env.put("GHOSTTY_SHELL_INTEGRATION_NO_SUDO", "1"); - if (!features.title) try env.put("GHOSTTY_SHELL_INTEGRATION_NO_TITLE", "1"); + try setupFeatures(env, features); return result; } @@ -138,6 +136,17 @@ test "force shell" { } } +/// Setup shell integration feature environment variables without +/// performing full shell integration setup. +pub fn setupFeatures( + env: *EnvMap, + features: config.ShellIntegrationFeatures, +) !void { + if (!features.cursor) try env.put("GHOSTTY_SHELL_INTEGRATION_NO_CURSOR", "1"); + if (!features.sudo) try env.put("GHOSTTY_SHELL_INTEGRATION_NO_SUDO", "1"); + if (!features.title) try env.put("GHOSTTY_SHELL_INTEGRATION_NO_TITLE", "1"); +} + /// Setup the bash automatic shell integration. This works by /// starting bash in POSIX mode and using the ENV environment /// variable to load our bash integration script. This prevents From 9c1edb544998bb64545b3a52561c6f9e43bf0005 Mon Sep 17 00:00:00 2001 From: Bryan Lee <38807139+liby@users.noreply.github.com> Date: Tue, 14 Jan 2025 16:57:41 +0800 Subject: [PATCH 119/365] Add tests for setup shell integration features --- src/termio/shell_integration.zig | 41 ++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) diff --git a/src/termio/shell_integration.zig b/src/termio/shell_integration.zig index 85d9a8376..8b12cabbe 100644 --- a/src/termio/shell_integration.zig +++ b/src/termio/shell_integration.zig @@ -147,6 +147,47 @@ pub fn setupFeatures( if (!features.title) try env.put("GHOSTTY_SHELL_INTEGRATION_NO_TITLE", "1"); } +test "setup features" { + const testing = std.testing; + + var arena = ArenaAllocator.init(testing.allocator); + defer arena.deinit(); + const alloc = arena.allocator(); + + // Test: all features enabled (no environment variables should be set) + { + var env = EnvMap.init(alloc); + defer env.deinit(); + + try setupFeatures(&env, .{ .cursor = true, .sudo = true, .title = true }); + try testing.expect(env.get("GHOSTTY_SHELL_INTEGRATION_NO_CURSOR") == null); + try testing.expect(env.get("GHOSTTY_SHELL_INTEGRATION_NO_SUDO") == null); + try testing.expect(env.get("GHOSTTY_SHELL_INTEGRATION_NO_TITLE") == null); + } + + // Test: all features disabled + { + var env = EnvMap.init(alloc); + defer env.deinit(); + + try setupFeatures(&env, .{ .cursor = false, .sudo = false, .title = false }); + try testing.expectEqualStrings("1", env.get("GHOSTTY_SHELL_INTEGRATION_NO_CURSOR").?); + try testing.expectEqualStrings("1", env.get("GHOSTTY_SHELL_INTEGRATION_NO_SUDO").?); + try testing.expectEqualStrings("1", env.get("GHOSTTY_SHELL_INTEGRATION_NO_TITLE").?); + } + + // Test: mixed features + { + var env = EnvMap.init(alloc); + defer env.deinit(); + + try setupFeatures(&env, .{ .cursor = false, .sudo = true, .title = false }); + try testing.expectEqualStrings("1", env.get("GHOSTTY_SHELL_INTEGRATION_NO_CURSOR").?); + try testing.expect(env.get("GHOSTTY_SHELL_INTEGRATION_NO_SUDO") == null); + try testing.expectEqualStrings("1", env.get("GHOSTTY_SHELL_INTEGRATION_NO_TITLE").?); + } +} + /// Setup the bash automatic shell integration. This works by /// starting bash in POSIX mode and using the ENV environment /// variable to load our bash integration script. This prevents From 6853a5423f9cd546e54a1e2b37a286d24ef54db3 Mon Sep 17 00:00:00 2001 From: Bryan Lee <38807139+liby@users.noreply.github.com> Date: Tue, 14 Jan 2025 21:32:56 +0800 Subject: [PATCH 120/365] Update the documentation to better explain that `shell-integration-features` --- src/config/Config.zig | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/config/Config.zig b/src/config/Config.zig index baac2cde7..386e6f923 100644 --- a/src/config/Config.zig +++ b/src/config/Config.zig @@ -1670,7 +1670,9 @@ keybind: Keybinds = .{}, /// The default value is `detect`. @"shell-integration": ShellIntegration = .detect, -/// Shell integration features to enable if shell integration itself is enabled. +/// Shell integration features to enable. These require our shell integration +/// to be loaded, either automatically via shell-integration or manually. +/// /// The format of this is a list of features to enable separated by commas. If /// you prefix a feature with `no-` then it is disabled. If you omit a feature, /// its default value is used, so you must explicitly disable features you don't From ccd6fd26ecfeb652ce726ded7648dce9181a6ccc Mon Sep 17 00:00:00 2001 From: Bryan Lee <38807139+liby@users.noreply.github.com> Date: Wed, 15 Jan 2025 08:30:40 +0800 Subject: [PATCH 121/365] Ensure `setup_features` runs even when shell detection fails --- src/termio/shell_integration.zig | 116 +++++++++++++++++-------------- 1 file changed, 62 insertions(+), 54 deletions(-) diff --git a/src/termio/shell_integration.zig b/src/termio/shell_integration.zig index 8b12cabbe..915d5be9e 100644 --- a/src/termio/shell_integration.zig +++ b/src/termio/shell_integration.zig @@ -58,60 +58,7 @@ pub fn setup( break :exe std.fs.path.basename(command[0..idx]); }; - const result: ShellIntegration = shell: { - if (std.mem.eql(u8, "bash", exe)) { - // Apple distributes their own patched version of Bash 3.2 - // on macOS that disables the ENV-based POSIX startup path. - // This means we're unable to perform our automatic shell - // integration sequence in this specific environment. - // - // If we're running "/bin/bash" on Darwin, we can assume - // we're using Apple's Bash because /bin is non-writable - // on modern macOS due to System Integrity Protection. - if (comptime builtin.target.isDarwin()) { - if (std.mem.eql(u8, "/bin/bash", command)) { - return null; - } - } - - const new_command = try setupBash( - alloc_arena, - command, - resource_dir, - env, - ) orelse return null; - break :shell .{ - .shell = .bash, - .command = new_command, - }; - } - - if (std.mem.eql(u8, "elvish", exe)) { - try setupXdgDataDirs(alloc_arena, resource_dir, env); - break :shell .{ - .shell = .elvish, - .command = try alloc_arena.dupe(u8, command), - }; - } - - if (std.mem.eql(u8, "fish", exe)) { - try setupXdgDataDirs(alloc_arena, resource_dir, env); - break :shell .{ - .shell = .fish, - .command = try alloc_arena.dupe(u8, command), - }; - } - - if (std.mem.eql(u8, "zsh", exe)) { - try setupZsh(resource_dir, env); - break :shell .{ - .shell = .zsh, - .command = try alloc_arena.dupe(u8, command), - }; - } - - return null; - }; + const result = try setupShell(alloc_arena, resource_dir, command, env, exe); // Setup our feature env vars try setupFeatures(env, features); @@ -119,6 +66,67 @@ pub fn setup( return result; } +fn setupShell( + alloc_arena: Allocator, + resource_dir: []const u8, + command: []const u8, + env: *EnvMap, + exe: []const u8, +) !?ShellIntegration { + if (std.mem.eql(u8, "bash", exe)) { + // Apple distributes their own patched version of Bash 3.2 + // on macOS that disables the ENV-based POSIX startup path. + // This means we're unable to perform our automatic shell + // integration sequence in this specific environment. + // + // If we're running "/bin/bash" on Darwin, we can assume + // we're using Apple's Bash because /bin is non-writable + // on modern macOS due to System Integrity Protection. + if (comptime builtin.target.isDarwin()) { + if (std.mem.eql(u8, "/bin/bash", command)) { + return null; + } + } + + const new_command = try setupBash( + alloc_arena, + command, + resource_dir, + env, + ) orelse return null; + return .{ + .shell = .bash, + .command = new_command, + }; + } + + if (std.mem.eql(u8, "elvish", exe)) { + try setupXdgDataDirs(alloc_arena, resource_dir, env); + return .{ + .shell = .elvish, + .command = try alloc_arena.dupe(u8, command), + }; + } + + if (std.mem.eql(u8, "fish", exe)) { + try setupXdgDataDirs(alloc_arena, resource_dir, env); + return .{ + .shell = .fish, + .command = try alloc_arena.dupe(u8, command), + }; + } + + if (std.mem.eql(u8, "zsh", exe)) { + try setupZsh(resource_dir, env); + return .{ + .shell = .zsh, + .command = try alloc_arena.dupe(u8, command), + }; + } + + return null; +} + test "force shell" { const testing = std.testing; From 1b52365541a7ea10fa5b334981e3128bee48ccf3 Mon Sep 17 00:00:00 2001 From: Bryan Lee <38807139+liby@users.noreply.github.com> Date: Sun, 12 Jan 2025 14:23:52 +0800 Subject: [PATCH 122/365] Add default documentation for undocumented keybind actions Previously, `ghostty +list-actions` would only show actions that had doc comments, making it difficult for users to discover all available actions. This change ensures all actions are listed with appropriate documentation. For actions without doc comments, we now generate a default message encouraging contribution. --- src/helpgen.zig | 34 +++++++++++++++++++++++++++++++++- 1 file changed, 33 insertions(+), 1 deletion(-) diff --git a/src/helpgen.zig b/src/helpgen.zig index 2084fb9f7..646f7fd47 100644 --- a/src/helpgen.zig +++ b/src/helpgen.zig @@ -115,6 +115,38 @@ fn genActions(alloc: std.mem.Allocator, writer: anytype) !void { try writer.writeAll("};\n"); } +fn genKeybindField( + alloc: std.mem.Allocator, + writer: anytype, + ast: std.zig.Ast, + comptime field: []const u8, +) !void { + const tokens = ast.tokens.items(.tag); + + // Find the field and check if it has doc comments + for (tokens, 0..) |token, i| { + if (token != .identifier) continue; + const name = ast.tokenSlice(@intCast(i)); + if (!std.mem.eql(u8, name, field)) continue; + + try writer.writeAll("pub const "); + try writer.writeAll(name); + try writer.writeAll(": [:0]const u8 = \n"); + + // If it has doc comments, use them + if (i > 0 and tokens[i - 1] == .doc_comment) { + const comment = try extractDocComments(alloc, ast, @intCast(i - 1), tokens); + try writer.writeAll(comment); + } else { + // Otherwise use default documentation + try writer.writeAll(" \\\\This action is currently undocumented.\n"); + try writer.writeAll(" \\\\Please refer to the source code or contribute documentation.\n"); + try writer.writeAll(";\n"); + } + break; + } +} + fn genKeybindActions(alloc: std.mem.Allocator, writer: anytype) !void { var ast = try std.zig.Ast.parse(alloc, @embedFile("input/Binding.zig"), .zig); defer ast.deinit(alloc); @@ -128,7 +160,7 @@ fn genKeybindActions(alloc: std.mem.Allocator, writer: anytype) !void { inline for (@typeInfo(KeybindAction).Union.fields) |field| { if (field.name[0] == '_') continue; - try genConfigField(alloc, writer, ast, field.name); + try genKeybindField(alloc, writer, ast, field.name); } try writer.writeAll("};\n"); From 05fe3e7ec3d20c26f3f1cb500ab9ee0e9a0f01f5 Mon Sep 17 00:00:00 2001 From: Bryan Lee <38807139+liby@users.noreply.github.com> Date: Sun, 12 Jan 2025 19:54:51 +0800 Subject: [PATCH 123/365] Ensure last action's documentation is properly generated The issue was caused by the documentation generation logic not writing the final buffered content. --- src/build/webgen/main_actions.zig | 7 +++++++ src/input/Binding.zig | 6 +++--- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/src/build/webgen/main_actions.zig b/src/build/webgen/main_actions.zig index f4dffbc13..e802aac4a 100644 --- a/src/build/webgen/main_actions.zig +++ b/src/build/webgen/main_actions.zig @@ -50,9 +50,16 @@ pub fn genKeybindActions(writer: anytype) !void { '\n', ); while (iter.next()) |s| { + // If it is the last line and empty, then skip it. + if (iter.peek() == null and s.len == 0) continue; try buffer.appendSlice(s); try buffer.appendSlice("\n"); } } } + + // Write any remaining buffered documentation + if (buffer.items.len > 0) { + try writer.writeAll(buffer.items); + } } diff --git a/src/input/Binding.zig b/src/input/Binding.zig index 48725fb13..f29030bde 100644 --- a/src/input/Binding.zig +++ b/src/input/Binding.zig @@ -236,9 +236,9 @@ pub const Action = union(enum) { /// Send an `ESC` sequence. esc: []const u8, - // Send the given text. Uses Zig string literal syntax. This is currently - // not validated. If the text is invalid (i.e. contains an invalid escape - // sequence), the error will currently only show up in logs. + /// Send the given text. Uses Zig string literal syntax. This is currently + /// not validated. If the text is invalid (i.e. contains an invalid escape + /// sequence), the error will currently only show up in logs. text: []const u8, /// Send data to the pty depending on whether cursor key mode is enabled From 8e2c55a5dab4a4be18ca74f8f3895137fd73d8d0 Mon Sep 17 00:00:00 2001 From: Bryan Lee <38807139+liby@users.noreply.github.com> Date: Mon, 13 Jan 2025 00:20:28 +0800 Subject: [PATCH 124/365] Improve `list-actions` command documentation formatting This commit fixes two issues with the `list-actions` command: 1. Ensures all actions are listed, including those without individual documentation but sharing docs with related actions 2. Improves documentation formatting with proper indentation and grouping --- src/cli/list_actions.zig | 50 +++++++++++++++++++++++++++++++--------- src/helpgen.zig | 34 +-------------------------- 2 files changed, 40 insertions(+), 44 deletions(-) diff --git a/src/cli/list_actions.zig b/src/cli/list_actions.zig index 65b9dcdad..e4b22023d 100644 --- a/src/cli/list_actions.zig +++ b/src/cli/list_actions.zig @@ -3,6 +3,7 @@ const args = @import("args.zig"); const Action = @import("action.zig").Action; const Allocator = std.mem.Allocator; const help_strings = @import("help_strings"); +const KeybindAction = @import("../input/Binding.zig").Action; pub const Options = struct { /// If `true`, print out documentation about the action associated with the @@ -36,18 +37,45 @@ pub fn run(alloc: Allocator) !u8 { } const stdout = std.io.getStdOut().writer(); - const info = @typeInfo(help_strings.KeybindAction); - inline for (info.Struct.decls) |field| { - try stdout.print("{s}", .{field.name}); - if (opts.docs) { - try stdout.print(":\n", .{}); - var iter = std.mem.splitScalar(u8, std.mem.trimRight(u8, @field(help_strings.KeybindAction, field.name), &std.ascii.whitespace), '\n'); - while (iter.next()) |line| { - try stdout.print(" {s}\n", .{line}); - } - } else { - try stdout.print("\n", .{}); + + var buffer = std.ArrayList(u8).init(std.heap.page_allocator); + defer buffer.deinit(); + + const fields = @typeInfo(KeybindAction).Union.fields; + inline for (fields) |field| { + if (field.name[0] == '_') continue; + + // Write previously stored doc comment below all related actions + if (@hasDecl(help_strings.KeybindAction, field.name)) { + try stdout.writeAll(buffer.items); + try stdout.writeAll("\n"); + + buffer.clearRetainingCapacity(); } + + // Write the field name. + try stdout.writeAll(field.name); + try stdout.writeAll(":\n"); + + if (@hasDecl(help_strings.KeybindAction, field.name)) { + var iter = std.mem.splitScalar( + u8, + @field(help_strings.KeybindAction, field.name), + '\n', + ); + while (iter.next()) |s| { + // If it is the last line and empty, then skip it. + if (iter.peek() == null and s.len == 0) continue; + try buffer.appendSlice(" "); + try buffer.appendSlice(s); + try buffer.appendSlice("\n"); + } + } + } + + // Write any remaining buffered documentation + if (buffer.items.len > 0) { + try stdout.writeAll(buffer.items); } return 0; diff --git a/src/helpgen.zig b/src/helpgen.zig index 646f7fd47..2084fb9f7 100644 --- a/src/helpgen.zig +++ b/src/helpgen.zig @@ -115,38 +115,6 @@ fn genActions(alloc: std.mem.Allocator, writer: anytype) !void { try writer.writeAll("};\n"); } -fn genKeybindField( - alloc: std.mem.Allocator, - writer: anytype, - ast: std.zig.Ast, - comptime field: []const u8, -) !void { - const tokens = ast.tokens.items(.tag); - - // Find the field and check if it has doc comments - for (tokens, 0..) |token, i| { - if (token != .identifier) continue; - const name = ast.tokenSlice(@intCast(i)); - if (!std.mem.eql(u8, name, field)) continue; - - try writer.writeAll("pub const "); - try writer.writeAll(name); - try writer.writeAll(": [:0]const u8 = \n"); - - // If it has doc comments, use them - if (i > 0 and tokens[i - 1] == .doc_comment) { - const comment = try extractDocComments(alloc, ast, @intCast(i - 1), tokens); - try writer.writeAll(comment); - } else { - // Otherwise use default documentation - try writer.writeAll(" \\\\This action is currently undocumented.\n"); - try writer.writeAll(" \\\\Please refer to the source code or contribute documentation.\n"); - try writer.writeAll(";\n"); - } - break; - } -} - fn genKeybindActions(alloc: std.mem.Allocator, writer: anytype) !void { var ast = try std.zig.Ast.parse(alloc, @embedFile("input/Binding.zig"), .zig); defer ast.deinit(alloc); @@ -160,7 +128,7 @@ fn genKeybindActions(alloc: std.mem.Allocator, writer: anytype) !void { inline for (@typeInfo(KeybindAction).Union.fields) |field| { if (field.name[0] == '_') continue; - try genKeybindField(alloc, writer, ast, field.name); + try genConfigField(alloc, writer, ast, field.name); } try writer.writeAll("};\n"); From 0016199ec3c6806b2db185060062138dddf3af14 Mon Sep 17 00:00:00 2001 From: Bryan Lee <38807139+liby@users.noreply.github.com> Date: Mon, 13 Jan 2025 11:20:00 +0800 Subject: [PATCH 125/365] Extract keybind actions help generation into a dedicated module --- src/build/webgen/main_actions.zig | 61 +---------------- src/cli/list_actions.zig | 44 +----------- src/input/helpgen_actions.zig | 107 ++++++++++++++++++++++++++++++ 3 files changed, 111 insertions(+), 101 deletions(-) create mode 100644 src/input/helpgen_actions.zig diff --git a/src/build/webgen/main_actions.zig b/src/build/webgen/main_actions.zig index e802aac4a..65420d7e2 100644 --- a/src/build/webgen/main_actions.zig +++ b/src/build/webgen/main_actions.zig @@ -1,65 +1,8 @@ const std = @import("std"); const help_strings = @import("help_strings"); -const KeybindAction = @import("../../input/Binding.zig").Action; +const helpgen_actions = @import("../../helpgen_actions.zig"); pub fn main() !void { const output = std.io.getStdOut().writer(); - try genKeybindActions(output); -} - -pub fn genKeybindActions(writer: anytype) !void { - // Write the header - try writer.writeAll( - \\--- - \\title: Keybinding Action Reference - \\description: Reference of all Ghostty keybinding actions. - \\editOnGithubLink: https://github.com/ghostty-org/ghostty/edit/main/src/input/Binding.zig - \\--- - \\ - \\This is a reference of all Ghostty keybinding actions. - \\ - \\ - ); - - @setEvalBranchQuota(5_000); - - var buffer = std.ArrayList(u8).init(std.heap.page_allocator); - defer buffer.deinit(); - - const fields = @typeInfo(KeybindAction).Union.fields; - inline for (fields) |field| { - if (field.name[0] == '_') continue; - - // Write previously stored doc comment below all related actions - if (@hasDecl(help_strings.KeybindAction, field.name)) { - try writer.writeAll(buffer.items); - try writer.writeAll("\n"); - - buffer.clearRetainingCapacity(); - } - - // Write the field name. - try writer.writeAll("## `"); - try writer.writeAll(field.name); - try writer.writeAll("`\n"); - - if (@hasDecl(help_strings.KeybindAction, field.name)) { - var iter = std.mem.splitScalar( - u8, - @field(help_strings.KeybindAction, field.name), - '\n', - ); - while (iter.next()) |s| { - // If it is the last line and empty, then skip it. - if (iter.peek() == null and s.len == 0) continue; - try buffer.appendSlice(s); - try buffer.appendSlice("\n"); - } - } - } - - // Write any remaining buffered documentation - if (buffer.items.len > 0) { - try writer.writeAll(buffer.items); - } + try helpgen_actions.generate(output, .markdown, std.heap.page_allocator); } diff --git a/src/cli/list_actions.zig b/src/cli/list_actions.zig index e4b22023d..e6c34adb2 100644 --- a/src/cli/list_actions.zig +++ b/src/cli/list_actions.zig @@ -2,8 +2,7 @@ const std = @import("std"); const args = @import("args.zig"); const Action = @import("action.zig").Action; const Allocator = std.mem.Allocator; -const help_strings = @import("help_strings"); -const KeybindAction = @import("../input/Binding.zig").Action; +const helpgen_actions = @import("../helpgen_actions.zig"); pub const Options = struct { /// If `true`, print out documentation about the action associated with the @@ -37,46 +36,7 @@ pub fn run(alloc: Allocator) !u8 { } const stdout = std.io.getStdOut().writer(); - - var buffer = std.ArrayList(u8).init(std.heap.page_allocator); - defer buffer.deinit(); - - const fields = @typeInfo(KeybindAction).Union.fields; - inline for (fields) |field| { - if (field.name[0] == '_') continue; - - // Write previously stored doc comment below all related actions - if (@hasDecl(help_strings.KeybindAction, field.name)) { - try stdout.writeAll(buffer.items); - try stdout.writeAll("\n"); - - buffer.clearRetainingCapacity(); - } - - // Write the field name. - try stdout.writeAll(field.name); - try stdout.writeAll(":\n"); - - if (@hasDecl(help_strings.KeybindAction, field.name)) { - var iter = std.mem.splitScalar( - u8, - @field(help_strings.KeybindAction, field.name), - '\n', - ); - while (iter.next()) |s| { - // If it is the last line and empty, then skip it. - if (iter.peek() == null and s.len == 0) continue; - try buffer.appendSlice(" "); - try buffer.appendSlice(s); - try buffer.appendSlice("\n"); - } - } - } - - // Write any remaining buffered documentation - if (buffer.items.len > 0) { - try stdout.writeAll(buffer.items); - } + try helpgen_actions.generate(stdout, .plaintext, std.heap.page_allocator); return 0; } diff --git a/src/input/helpgen_actions.zig b/src/input/helpgen_actions.zig new file mode 100644 index 000000000..9a7612b57 --- /dev/null +++ b/src/input/helpgen_actions.zig @@ -0,0 +1,107 @@ +//! This module is a help generator for keybind actions documentation. +//! It can generate documentation in different formats (plaintext for CLI, +//! markdown for website) while maintaining consistent content. + +const std = @import("std"); +const KeybindAction = @import("Binding.zig").Action; +const help_strings = @import("help_strings"); + +/// Format options for generating keybind actions documentation +pub const Format = enum { + /// Plain text output with indentation + plaintext, + /// Markdown formatted output + markdown, + + fn formatFieldName(self: Format, writer: anytype, field_name: []const u8) !void { + switch (self) { + .plaintext => { + try writer.writeAll(field_name); + try writer.writeAll(":\n"); + }, + .markdown => { + try writer.writeAll("## `"); + try writer.writeAll(field_name); + try writer.writeAll("`\n"); + }, + } + } + + fn formatDocLine(self: Format, writer: anytype, line: []const u8) !void { + switch (self) { + .plaintext => { + try writer.appendSlice(" "); + try writer.appendSlice(line); + try writer.appendSlice("\n"); + }, + .markdown => { + try writer.appendSlice(line); + try writer.appendSlice("\n"); + }, + } + } + + fn header(self: Format) ?[]const u8 { + return switch (self) { + .plaintext => null, + .markdown => + \\--- + \\title: Keybinding Action Reference + \\description: Reference of all Ghostty keybinding actions. + \\editOnGithubLink: https://github.com/ghostty-org/ghostty/edit/main/src/input/Binding.zig + \\--- + \\ + \\This is a reference of all Ghostty keybinding actions. + \\ + \\ + , + }; + } +}; + +/// Generate keybind actions documentation with the specified format +pub fn generate( + writer: anytype, + format: Format, + page_allocator: std.mem.Allocator, +) !void { + if (format.header()) |header| { + try writer.writeAll(header); + } + + var buffer = std.ArrayList(u8).init(page_allocator); + defer buffer.deinit(); + + const fields = @typeInfo(KeybindAction).Union.fields; + inline for (fields) |field| { + if (field.name[0] == '_') continue; + + // Write previously stored doc comment below all related actions + if (@hasDecl(help_strings.KeybindAction, field.name)) { + try writer.writeAll(buffer.items); + try writer.writeAll("\n"); + + buffer.clearRetainingCapacity(); + } + + try format.formatFieldName(writer, field.name); + + if (@hasDecl(help_strings.KeybindAction, field.name)) { + var iter = std.mem.splitScalar( + u8, + @field(help_strings.KeybindAction, field.name), + '\n', + ); + while (iter.next()) |s| { + // If it is the last line and empty, then skip it. + if (iter.peek() == null and s.len == 0) continue; + try format.formatDocLine(&buffer, s); + } + } + } + + // Write any remaining buffered documentation + if (buffer.items.len > 0) { + try writer.writeAll(buffer.items); + } +} From 68124f60c75fde05d8d3bab6448114228ee16885 Mon Sep 17 00:00:00 2001 From: Leah Amelia Chen Date: Fri, 17 Jan 2025 20:48:03 +0100 Subject: [PATCH 126/365] gtk: don't toggle headerbar on (un)maximize while using SSDs See #5137. We should never display the header bar when using SSDs anyway --- src/apprt/gtk/Window.zig | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/apprt/gtk/Window.zig b/src/apprt/gtk/Window.zig index 03fcd05db..59d6437d7 100644 --- a/src/apprt/gtk/Window.zig +++ b/src/apprt/gtk/Window.zig @@ -640,6 +640,11 @@ fn gtkWindowNotifyMaximized( ) callconv(.C) void { const self = userdataSelf(ud orelse return); const maximized = c.gtk_window_is_maximized(self.window) != 0; + + // Only toggle visibility of the header bar when we're using CSDs, + // and actually intend on displaying the header bar + if (!self.winproto.clientSideDecorationEnabled()) return; + if (!maximized) { self.headerbar.setVisible(true); return; From 0c2c847af37bafe3144d9c13035b921098a18567 Mon Sep 17 00:00:00 2001 From: Ikko Eltociear Ashimine Date: Sat, 18 Jan 2025 22:47:18 +0900 Subject: [PATCH 127/365] chore: update stb_image.h exitting -> exiting --- src/stb/stb_image.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/stb/stb_image.h b/src/stb/stb_image.h index 5e807a0a6..3ae1815c1 100644 --- a/src/stb/stb_image.h +++ b/src/stb/stb_image.h @@ -4962,7 +4962,7 @@ static int stbi__expand_png_palette(stbi__png *a, stbi_uc *palette, int len, int p = (stbi_uc *) stbi__malloc_mad2(pixel_count, pal_img_n, 0); if (p == NULL) return stbi__err("outofmem", "Out of memory"); - // between here and free(out) below, exitting would leak + // between here and free(out) below, exiting would leak temp_out = p; if (pal_img_n == 3) { From ecad3e75ff8aa4a14811efaad8e6b9436eb6774b Mon Sep 17 00:00:00 2001 From: Leorize Date: Sat, 18 Jan 2025 13:38:29 -0600 Subject: [PATCH 128/365] fix(flatpak): construct null-terminated array for arguments The variant format string `^aay` is said to be equivalent to g_variant_new_bytestring_array. Given that no length parameter is provided, g_variant_new assumed a null-terminated array, but the array constructed by the code was not, causing a crash as glib exceed the read boundaries to copy arbitrary memory. This commit replaces the array construction code to use its arena equivalents instead of trying to build one using glib, and make sure that the resulting array is null-terminated. --- src/os/flatpak.zig | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/src/os/flatpak.zig b/src/os/flatpak.zig index faac4bd27..09570554e 100644 --- a/src/os/flatpak.zig +++ b/src/os/flatpak.zig @@ -265,16 +265,12 @@ pub const FlatpakHostCommand = struct { } // Build our args - const args_ptr = c.g_ptr_array_new(); - { - errdefer _ = c.g_ptr_array_free(args_ptr, 1); - for (self.argv) |arg| { - const argZ = try arena.dupeZ(u8, arg); - c.g_ptr_array_add(args_ptr, argZ.ptr); - } + const args = try arena.alloc(?[*:0]u8, self.argv.len + 1); + for (0.., self.argv) |i, arg| { + const argZ = try arena.dupeZ(u8, arg); + args[i] = argZ.ptr; } - const args = c.g_ptr_array_free(args_ptr, 0); - defer c.g_free(@as(?*anyopaque, @ptrCast(args))); + args[args.len - 1] = null; // Get the cwd in case we don't have ours set. A small optimization // would be to do this only if we need it but this isn't a @@ -286,7 +282,7 @@ pub const FlatpakHostCommand = struct { const params = c.g_variant_new( "(^ay^aay@a{uh}@a{ss}u)", @as(*const anyopaque, if (self.cwd) |*cwd| cwd.ptr else g_cwd), - args, + args.ptr, c.g_variant_builder_end(fd_builder), c.g_variant_builder_end(env_builder), @as(c_int, 0), From 2ee6e005d02132d857685ad4e88c0a6e627f8fb3 Mon Sep 17 00:00:00 2001 From: Jon Parise Date: Sat, 18 Jan 2025 14:29:30 -0500 Subject: [PATCH 129/365] termio: revise macOS-specific .hushlogin note login(1)'s .hushlogin logic was "fixed" in macOS Sonoma 14.4, so this comment (and our workaround) is only relevant for versions earlier than that. The relevant change to login/login.c is part of system_cmds-979.100.8. > login.c: look for .hushlogin in home directory (112854361) - https://github.com/apple-oss-distributions/system_cmds/commit/1bca46ecc5b76432f42eb23ec39fe63e8159f251 - https://github.com/apple-oss-distributions/distribution-macOS/tree/macos-144 --- src/termio/Exec.zig | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/termio/Exec.zig b/src/termio/Exec.zig index 1a3b8cad0..dd1f65305 100644 --- a/src/termio/Exec.zig +++ b/src/termio/Exec.zig @@ -971,12 +971,12 @@ const Subprocess = struct { // which we may not want. If we specify "-l" then we can avoid // this behavior but now the shell isn't a login shell. // - // There is another issue: `login(1)` only checks for ".hushlogin" - // in the working directory. This means that if we specify "-l" - // then we won't get hushlogin honored if its in the home - // directory (which is standard). To get around this, we - // check for hushlogin ourselves and if present specify the - // "-q" flag to login(1). + // There is another issue: `login(1)` on macOS 14.3 and earlier + // checked for ".hushlogin" in the working directory. This means + // that if we specify "-l" then we won't get hushlogin honored + // if its in the home directory (which is standard). To get + // around this, we check for hushlogin ourselves and if present + // specify the "-q" flag to login(1). // // So to get all the behaviors we want, we specify "-l" but // execute "bash" (which is built-in to macOS). We then use From 3f367857fc30edce9d9de32184df0789b30c8809 Mon Sep 17 00:00:00 2001 From: mitchellh <1299+mitchellh@users.noreply.github.com> Date: Sun, 19 Jan 2025 00:58:22 +0000 Subject: [PATCH 130/365] deps: Update iTerm2 color schemes --- build.zig.zon | 4 ++-- nix/zigCacheHash.nix | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/build.zig.zon b/build.zig.zon index 4b9a3856b..09dc9847e 100644 --- a/build.zig.zon +++ b/build.zig.zon @@ -79,8 +79,8 @@ // Other .apple_sdk = .{ .path = "./pkg/apple-sdk" }, .iterm2_themes = .{ - .url = "https://github.com/mbadolato/iTerm2-Color-Schemes/archive/25cb3c3f52c7011cd8a599f8d144fc63f4409eb6.tar.gz", - .hash = "1220dc1096bda9721c1f5256177539bf37b41ac6fb70d58eadf0eec45359676382e5", + .url = "https://github.com/mbadolato/iTerm2-Color-Schemes/archive/0e23daf59234fc892cba949562d7bf69204594bb.tar.gz", + .hash = "12204fc99743d8232e691ac22e058519bfc6ea92de4a11c6dba59b117531c847cd6a", }, }, } diff --git a/nix/zigCacheHash.nix b/nix/zigCacheHash.nix index def5a11e3..dfc2e5f7f 100644 --- a/nix/zigCacheHash.nix +++ b/nix/zigCacheHash.nix @@ -1,3 +1,3 @@ # This file is auto-generated! check build-support/check-zig-cache-hash.sh for # more details. -"sha256-2zXNHWSSWjnpW8oHu2sufT5+Ms4IKWaH6yRARQeMcxk=" +"sha256-H6o4Y09ATIylMUWuL9Y1fHwpuxSWyJ3Pl8fn4VeoDZo=" From 4956d36ee6f230c5f910dcb1db4fa5027e5114d8 Mon Sep 17 00:00:00 2001 From: Damien Mehala Date: Sun, 19 Jan 2025 11:04:01 +0100 Subject: [PATCH 131/365] fix: quick terminal hidden by macos menu bar ghostty#5000 changed the window level from `.popupMenu` to `.floating` to improve IME support. However, this introduced a side effect which render the Quick Terminal (QT) below the macOS menu bar, whereas previously it would cover it. When positioned on `right` and `left`, the top of the QT becomes partially hidden. This PR adjust the size of the QT to ensure it remains fully visible and stays below the menu bar. --- .../Sources/Features/QuickTerminal/QuickTerminalPosition.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/macos/Sources/Features/QuickTerminal/QuickTerminalPosition.swift b/macos/Sources/Features/QuickTerminal/QuickTerminalPosition.swift index 0acbfec1b..6ba224a28 100644 --- a/macos/Sources/Features/QuickTerminal/QuickTerminalPosition.swift +++ b/macos/Sources/Features/QuickTerminal/QuickTerminalPosition.swift @@ -69,7 +69,7 @@ enum QuickTerminalPosition : String { finalSize.width = screen.frame.width case .left, .right: - finalSize.height = screen.frame.height + finalSize.height = screen.visibleFrame.height case .center: finalSize.width = screen.frame.width / 2 From bb58710fa8f4257eede4592ea56b7f18e65f4dde Mon Sep 17 00:00:00 2001 From: Bruno Bachmann Date: Sun, 19 Jan 2025 14:49:59 -0800 Subject: [PATCH 132/365] Fix typo in binding comments --- src/input/Binding.zig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/input/Binding.zig b/src/input/Binding.zig index 48725fb13..757c19c06 100644 --- a/src/input/Binding.zig +++ b/src/input/Binding.zig @@ -419,7 +419,7 @@ pub const Action = union(enum) { /// is preserved between appearances, so you can always press the keybinding /// to bring it back up. /// - /// To enable the quick terminally globally so that Ghostty doesn't + /// To enable the quick terminal globally so that Ghostty doesn't /// have to be focused, prefix your keybind with `global`. Example: /// /// ```ini From afa23532b66870873671ff702798ed8b49cfd6bd Mon Sep 17 00:00:00 2001 From: Jon Parise Date: Mon, 20 Jan 2025 10:36:35 -0500 Subject: [PATCH 133/365] bash: revert automatic shell integration changes The intention of #5075 was to create a less intrusive, more hermetic environment in which to source the bash startup files. This caused problems for multiple people, and I believe that's because the general expectation is that these files are sourced at global (not function) scope. For example, when a file is sourced from within a function scope, any variables that weren't explicitly exported into the global environment won't be available outside of the scope of the function. Most system and personal startup files aren't written with that constraint because it's not how bash itself loads these files. As a small improvement over the original code, `rcfile` has been renamed to `__ghostty_rcfile`. Avoiding leaking this variable while sourcing these files was a goal of #5075, and prefixing it make it much less of a potential issue. This change also reverts the $HOME to ~/ change. While the ~/ notation is more concise, using $HOME is more common and easier to implement safely with regard to quoting. --- src/shell-integration/bash/ghostty.bash | 52 +++++++++++-------------- 1 file changed, 23 insertions(+), 29 deletions(-) diff --git a/src/shell-integration/bash/ghostty.bash b/src/shell-integration/bash/ghostty.bash index 7de55f982..7fae435a3 100644 --- a/src/shell-integration/bash/ghostty.bash +++ b/src/shell-integration/bash/ghostty.bash @@ -41,37 +41,31 @@ if [ -n "$GHOSTTY_BASH_INJECT" ]; then # Manually source the startup files. See INVOCATION in bash(1) and # run_startup_files() in shell.c in the Bash source code. - function __ghostty_bash_startup() { - builtin local rcfile - - if builtin shopt -q login_shell; then - if [[ $__ghostty_bash_flags != *"--noprofile"* ]]; then - [ -r /etc/profile ] && builtin source "/etc/profile" - for rcfile in ~/.bash_profile ~/.bash_login ~/.profile; do - [ -r "$rcfile" ] && { builtin source "$rcfile"; break; } - done - fi - else - if [[ $__ghostty_bash_flags != *"--norc"* ]]; then - # The location of the system bashrc is determined at bash build - # time via -DSYS_BASHRC and can therefore vary across distros: - # Arch, Debian, Ubuntu use /etc/bash.bashrc - # Fedora uses /etc/bashrc sourced from ~/.bashrc instead of SYS_BASHRC - # Void Linux uses /etc/bash/bashrc - # Nixos uses /etc/bashrc - for rcfile in /etc/bash.bashrc /etc/bash/bashrc /etc/bashrc; do - [ -r "$rcfile" ] && { builtin source "$rcfile"; break; } - done - if [[ -z "$GHOSTTY_BASH_RCFILE" ]]; then GHOSTTY_BASH_RCFILE=~/.bashrc; fi - [ -r "$GHOSTTY_BASH_RCFILE" ] && builtin source "$GHOSTTY_BASH_RCFILE" - fi + if builtin shopt -q login_shell; then + if [[ $__ghostty_bash_flags != *"--noprofile"* ]]; then + [ -r /etc/profile ] && builtin source "/etc/profile" + for __ghostty_rcfile in "$HOME/.bash_profile" "$HOME/.bash_login" "$HOME/.profile"; do + [ -r "$__ghostty_rcfile" ] && { builtin source "$__ghostty_rcfile"; break; } + done fi - } + else + if [[ $__ghostty_bash_flags != *"--norc"* ]]; then + # The location of the system bashrc is determined at bash build + # time via -DSYS_BASHRC and can therefore vary across distros: + # Arch, Debian, Ubuntu use /etc/bash.bashrc + # Fedora uses /etc/bashrc sourced from ~/.bashrc instead of SYS_BASHRC + # Void Linux uses /etc/bash/bashrc + # Nixos uses /etc/bashrc + for __ghostty_rcfile in /etc/bash.bashrc /etc/bash/bashrc /etc/bashrc; do + [ -r "$__ghostty_rcfile" ] && { builtin source "$__ghostty_rcfile"; break; } + done + if [[ -z "$GHOSTTY_BASH_RCFILE" ]]; then GHOSTTY_BASH_RCFILE="$HOME/.bashrc"; fi + [ -r "$GHOSTTY_BASH_RCFILE" ] && builtin source "$GHOSTTY_BASH_RCFILE" + fi + fi - __ghostty_bash_startup - - builtin unset -f __ghostty_bash_startup - builtin unset -v __ghostty_bash_flags + builtin unset __ghostty_rcfile + builtin unset __ghostty_bash_flags builtin unset GHOSTTY_BASH_RCFILE fi From e5a3be3c46418bb150a991bd70a8a38565849b2b Mon Sep 17 00:00:00 2001 From: otomist Date: Wed, 15 Jan 2025 12:04:34 -0500 Subject: [PATCH 134/365] use whitespace instead of new flag for selecting full line --- src/Surface.zig | 16 +++++++--------- src/terminal/Screen.zig | 6 ------ 2 files changed, 7 insertions(+), 15 deletions(-) diff --git a/src/Surface.zig b/src/Surface.zig index a8fd4a817..138aa2ea2 100644 --- a/src/Surface.zig +++ b/src/Surface.zig @@ -3563,17 +3563,15 @@ fn dragLeftClickTriple( const screen = &self.io.terminal.screen; const click_pin = self.mouse.left_click_pin.?.*; - // Get the line selection under our current drag point. If there isn't a line, do nothing. + // Get the line selection under our current drag point. If there isn't a + // line, do nothing. const line = screen.selectLine(.{ .pin = drag_pin }) orelse return; - // get the selection under our click point. - var sel_ = screen.selectLine(.{ .pin = click_pin }); - - // We may not have a selection if we started our triple-click in an area - // that had no data, in this case recall selectLine with allow_empty_lines. - if (sel_ == null) { - sel_ = screen.selectLine(.{ .pin = click_pin, .allow_empty_lines = true }); - } + // Get the selection under our click point. We first try to trim + // whitespace if we've selected a word. But if no word exists then + // we select the blank line. + const sel_ = screen.selectLine(.{ .pin = click_pin }) orelse + screen.selectLine(.{ .pin = click_pin, .whitespace = null }); var sel = sel_ orelse return; if (drag_pin.before(click_pin)) { diff --git a/src/terminal/Screen.zig b/src/terminal/Screen.zig index db890ad3f..eb70d32d0 100644 --- a/src/terminal/Screen.zig +++ b/src/terminal/Screen.zig @@ -2215,7 +2215,6 @@ pub const SelectLine = struct { /// state changing a boundary. State changing is ANY state /// change. semantic_prompt_boundary: bool = true, - allow_empty_lines: bool = false, }; /// Select the line under the given point. This will select across soft-wrapped @@ -2293,11 +2292,6 @@ pub fn selectLine(self: *const Screen, opts: SelectLine) ?Selection { return null; }; - // If we allow empty lines, we don't need to do any further checks. - if (opts.allow_empty_lines) { - return Selection.init(start_pin, end_pin, false); - } - // Go forward from the start to find the first non-whitespace character. const start: Pin = start: { const whitespace = opts.whitespace orelse break :start start_pin; From 4cc1fa2111848a78536e54ea34d9720d4f995dac Mon Sep 17 00:00:00 2001 From: julia Date: Tue, 14 Jan 2025 10:13:09 +1100 Subject: [PATCH 135/365] render consecutive shaders to the fbo not that big. see comments --- src/renderer/OpenGL.zig | 22 +++++++++++++++++----- src/renderer/opengl/custom.zig | 1 - 2 files changed, 17 insertions(+), 6 deletions(-) diff --git a/src/renderer/OpenGL.zig b/src/renderer/OpenGL.zig index e5dec6b2b..8b6552bb9 100644 --- a/src/renderer/OpenGL.zig +++ b/src/renderer/OpenGL.zig @@ -2350,11 +2350,9 @@ pub fn drawFrame(self: *OpenGL, surface: *apprt.Surface) !void { } /// Draw the custom shaders. -fn drawCustomPrograms( - self: *OpenGL, - custom_state: *custom.State, -) !void { +fn drawCustomPrograms(self: *OpenGL, custom_state: *custom.State) !void { _ = self; + assert(custom_state.programs.len > 0); // Bind our state that is global to all custom shaders const custom_bind = try custom_state.bind(); @@ -2363,8 +2361,22 @@ fn drawCustomPrograms( // Setup the new frame try custom_state.newFrame(); + // To allow programs to retrieve each other via a texture + // then we must render the next shaders to the screen fbo. + // However, the first shader must be run while the default fbo + // is attached + { + const bind = try custom_state.programs[0].bind(); + defer bind.unbind(); + try bind.draw(); + if (custom_state.programs.len == 1) return; + } + + const fbobind = try custom_state.fbo.bind(.framebuffer); + defer fbobind.unbind(); + // Go through each custom shader and draw it. - for (custom_state.programs) |program| { + for (custom_state.programs[1..]) |program| { // Bind our cell program state, buffers const bind = try program.bind(); defer bind.unbind(); diff --git a/src/renderer/opengl/custom.zig b/src/renderer/opengl/custom.zig index 2cab0940c..3806921df 100644 --- a/src/renderer/opengl/custom.zig +++ b/src/renderer/opengl/custom.zig @@ -251,7 +251,6 @@ pub const Program = struct { const program = try gl.Program.createVF( @embedFile("../shaders/custom.v.glsl"), src, - //@embedFile("../shaders/temp.f.glsl"), ); errdefer program.destroy(); From 8c1db16c79caf322153bd41b07e377829d6ae87a Mon Sep 17 00:00:00 2001 From: Andrej Daskalov Date: Mon, 20 Jan 2025 20:19:12 +0100 Subject: [PATCH 136/365] added exec permission back to dolphin action --- dist/linux/ghostty_dolphin.desktop | 0 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 dist/linux/ghostty_dolphin.desktop diff --git a/dist/linux/ghostty_dolphin.desktop b/dist/linux/ghostty_dolphin.desktop old mode 100644 new mode 100755 From 3b8ab10776664ed40f9cf571941785436546eb69 Mon Sep 17 00:00:00 2001 From: Qwerasd Date: Mon, 20 Jan 2025 18:36:48 -0500 Subject: [PATCH 137/365] fix(renderer): clip terminal contents to expected grid size (#4523) This significantly improves the robustness of the renderers since it prevents synchronization issues from causing memory corruption due to out of bounds read/writes while building the cells. TODO: when viewport is narrower than renderer grid size, fill blank margin with bg color- currently appears as black, this only affects DECCOLM right now, and possibly could create single-frame artefacts during poorly managed resizes, but it's not ideal regardless. --- src/renderer/Metal.zig | 37 +++++++++++++++++++------------------ src/renderer/OpenGL.zig | 38 ++++++++++++++++++++------------------ 2 files changed, 39 insertions(+), 36 deletions(-) diff --git a/src/renderer/Metal.zig b/src/renderer/Metal.zig index 45d8f84c2..bf28b58ac 100644 --- a/src/renderer/Metal.zig +++ b/src/renderer/Metal.zig @@ -1046,19 +1046,6 @@ pub fn updateFrame( } } - // If our terminal screen size doesn't match our expected renderer - // size then we skip a frame. This can happen if the terminal state - // is resized between when the renderer mailbox is drained and when - // the state mutex is acquired inside this function. - // - // For some reason this doesn't seem to cause any significant issues - // with flickering while resizing. '\_('-')_/' - if (self.cells.size.rows != state.terminal.rows or - self.cells.size.columns != state.terminal.cols) - { - return; - } - // Get the viewport pin so that we can compare it to the current. const viewport_pin = state.terminal.screen.pages.pin(.{ .viewport = .{} }).?; @@ -2437,12 +2424,22 @@ fn rebuildCells( } } - // Go row-by-row to build the cells. We go row by row because we do - // font shaping by row. In the future, we will also do dirty tracking - // by row. + // We rebuild the cells row-by-row because we + // do font shaping and dirty tracking by row. var row_it = screen.pages.rowIterator(.left_up, .{ .viewport = .{} }, null); - var y: terminal.size.CellCountInt = screen.pages.rows; + // If our cell contents buffer is shorter than the screen viewport, + // we render the rows that fit, starting from the bottom. If instead + // the viewport is shorter than the cell contents buffer, we align + // the top of the viewport with the top of the contents buffer. + var y: terminal.size.CellCountInt = @min( + screen.pages.rows, + self.cells.size.rows, + ); while (row_it.next()) |row| { + // The viewport may have more rows than our cell contents, + // so we need to break from the loop early if we hit y = 0. + if (y == 0) break; + y -= 1; if (!rebuild) { @@ -2501,7 +2498,11 @@ fn rebuildCells( var shaper_cells: ?[]const font.shape.Cell = null; var shaper_cells_i: usize = 0; - const row_cells = row.cells(.all); + const row_cells_all = row.cells(.all); + + // If our viewport is wider than our cell contents buffer, + // we still only process cells up to the width of the buffer. + const row_cells = row_cells_all[0..@min(row_cells_all.len, self.cells.size.columns)]; for (row_cells, 0..) |*cell, x| { // If this cell falls within our preedit range then we diff --git a/src/renderer/OpenGL.zig b/src/renderer/OpenGL.zig index 8b6552bb9..80fc3cab9 100644 --- a/src/renderer/OpenGL.zig +++ b/src/renderer/OpenGL.zig @@ -706,8 +706,6 @@ pub fn updateFrame( // Update all our data as tightly as possible within the mutex. var critical: Critical = critical: { - const grid_size = self.size.grid(); - state.mutex.lock(); defer state.mutex.unlock(); @@ -748,19 +746,6 @@ pub fn updateFrame( } } - // If our terminal screen size doesn't match our expected renderer - // size then we skip a frame. This can happen if the terminal state - // is resized between when the renderer mailbox is drained and when - // the state mutex is acquired inside this function. - // - // For some reason this doesn't seem to cause any significant issues - // with flickering while resizing. '\_('-')_/' - if (grid_size.rows != state.terminal.rows or - grid_size.columns != state.terminal.cols) - { - return; - } - // Get the viewport pin so that we can compare it to the current. const viewport_pin = state.terminal.screen.pages.pin(.{ .viewport = .{} }).?; @@ -1276,10 +1261,23 @@ pub fn rebuildCells( } } - // Build each cell + const grid_size = self.size.grid(); + + // We rebuild the cells row-by-row because we do font shaping by row. var row_it = screen.pages.rowIterator(.left_up, .{ .viewport = .{} }, null); - var y: terminal.size.CellCountInt = screen.pages.rows; + // If our cell contents buffer is shorter than the screen viewport, + // we render the rows that fit, starting from the bottom. If instead + // the viewport is shorter than the cell contents buffer, we align + // the top of the viewport with the top of the contents buffer. + var y: terminal.size.CellCountInt = @min( + screen.pages.rows, + grid_size.rows, + ); while (row_it.next()) |row| { + // The viewport may have more rows than our cell contents, + // so we need to break from the loop early if we hit y = 0. + if (y == 0) break; + y -= 1; // True if we want to do font shaping around the cursor. We want to @@ -1356,7 +1354,11 @@ pub fn rebuildCells( var shaper_cells: ?[]const font.shape.Cell = null; var shaper_cells_i: usize = 0; - const row_cells = row.cells(.all); + const row_cells_all = row.cells(.all); + + // If our viewport is wider than our cell contents buffer, + // we still only process cells up to the width of the buffer. + const row_cells = row_cells_all[0..@min(row_cells_all.len, grid_size.columns)]; for (row_cells, 0..) |*cell, x| { // If this cell falls within our preedit range then we From 2d3db866e62e7cd2f09f83308c5f16287f10c7e0 Mon Sep 17 00:00:00 2001 From: Ryan Liptak Date: Mon, 20 Jan 2025 18:30:22 -0800 Subject: [PATCH 138/365] unigen: Remove libc dependency, use ArenaAllocator MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Not linking libc avoids potential problems when compiling from/for certain targets (see https://github.com/ghostty-org/ghostty/discussions/3218), and using an ArenaAllocator makes unigen run just as fast (in both release and debug modes) while also taking less memory. Benchmark 1 (3 runs): ./zig-out/bin/unigen-release-c measurement mean ± σ min … max outliers delta wall_time 1.75s ± 15.8ms 1.73s … 1.76s 0 ( 0%) 0% peak_rss 2.23MB ± 0 2.23MB … 2.23MB 0 ( 0%) 0% cpu_cycles 7.22G ± 62.8M 7.16G … 7.29G 0 ( 0%) 0% instructions 11.5G ± 16.0 11.5G … 11.5G 0 ( 0%) 0% cache_references 436M ± 6.54M 430M … 443M 0 ( 0%) 0% cache_misses 310K ± 203K 134K … 532K 0 ( 0%) 0% branch_misses 1.03M ± 29.9K 997K … 1.06M 0 ( 0%) 0% Benchmark 2 (3 runs): ./zig-out/bin/unigen-release-arena measurement mean ± σ min … max outliers delta wall_time 1.73s ± 6.40ms 1.72s … 1.73s 0 ( 0%) - 1.0% ± 1.6% peak_rss 1.27MB ± 75.7KB 1.18MB … 1.31MB 0 ( 0%) ⚡- 43.1% ± 5.4% cpu_cycles 7.16G ± 26.5M 7.13G … 7.18G 0 ( 0%) - 0.9% ± 1.5% instructions 11.4G ± 28.2 11.4G … 11.4G 0 ( 0%) - 0.8% ± 0.0% cache_references 441M ± 2.89M 439M … 444M 0 ( 0%) + 1.2% ± 2.6% cache_misses 152K ± 102K 35.2K … 220K 0 ( 0%) - 50.8% ± 117.8% branch_misses 1.05M ± 13.4K 1.04M … 1.06M 0 ( 0%) + 2.0% ± 5.1% Benchmark 1 (3 runs): ./zig-out/bin/unigen-debug-c measurement mean ± σ min … max outliers delta wall_time 1.75s ± 32.4ms 1.71s … 1.77s 0 ( 0%) 0% peak_rss 2.23MB ± 0 2.23MB … 2.23MB 0 ( 0%) 0% cpu_cycles 7.23G ± 136M 7.08G … 7.34G 0 ( 0%) 0% instructions 11.5G ± 37.9 11.5G … 11.5G 0 ( 0%) 0% cache_references 448M ± 1.03M 447M … 449M 0 ( 0%) 0% cache_misses 148K ± 42.6K 99.3K … 180K 0 ( 0%) 0% branch_misses 987K ± 5.27K 983K … 993K 0 ( 0%) 0% Benchmark 2 (3 runs): ./zig-out/bin/unigen-debug-arena measurement mean ± σ min … max outliers delta wall_time 1.76s ± 4.12ms 1.76s … 1.76s 0 ( 0%) + 0.4% ± 3.0% peak_rss 1.22MB ± 75.7KB 1.18MB … 1.31MB 0 ( 0%) ⚡- 45.1% ± 5.4% cpu_cycles 7.27G ± 17.1M 7.26G … 7.29G 0 ( 0%) + 0.6% ± 3.0% instructions 11.4G ± 3.79 11.4G … 11.4G 0 ( 0%) - 0.8% ± 0.0% cache_references 440M ± 4.52M 435M … 444M 0 ( 0%) - 1.7% ± 1.7% cache_misses 43.6K ± 19.2K 26.5K … 64.3K 0 ( 0%) ⚡- 70.5% ± 50.8% branch_misses 1.04M ± 2.25K 1.04M … 1.05M 0 ( 0%) 💩+ 5.8% ± 0.9% --- src/build/UnicodeTables.zig | 1 - src/unicode/props.zig | 4 +++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/build/UnicodeTables.zig b/src/build/UnicodeTables.zig index 0159de442..7a4b0a5a2 100644 --- a/src/build/UnicodeTables.zig +++ b/src/build/UnicodeTables.zig @@ -15,7 +15,6 @@ pub fn init(b: *std.Build) !UnicodeTables { .root_source_file = b.path("src/unicode/props.zig"), .target = b.host, }); - exe.linkLibC(); const ziglyph_dep = b.dependency("ziglyph", .{ .target = b.host, diff --git a/src/unicode/props.zig b/src/unicode/props.zig index d77bf4c8a..8c7621b79 100644 --- a/src/unicode/props.zig +++ b/src/unicode/props.zig @@ -131,7 +131,9 @@ pub fn get(cp: u21) Properties { /// Runnable binary to generate the lookup tables and output to stdout. pub fn main() !void { - const alloc = std.heap.c_allocator; + var arena_state = std.heap.ArenaAllocator.init(std.heap.page_allocator); + defer arena_state.deinit(); + const alloc = arena_state.allocator(); const gen: lut.Generator( Properties, From 25ccdfe495dde9755b20b248bebc65d918cefc10 Mon Sep 17 00:00:00 2001 From: m154k1 <139042094+m154k1@users.noreply.github.com> Date: Tue, 21 Jan 2025 17:37:28 +0200 Subject: [PATCH 139/365] Fix sudo fish shell integration Set sudo_has_sudoedit_flags scope to --function. --- .../fish/vendor_conf.d/ghostty-shell-integration.fish | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/shell-integration/fish/vendor_conf.d/ghostty-shell-integration.fish b/src/shell-integration/fish/vendor_conf.d/ghostty-shell-integration.fish index 420a49528..cd4f56105 100644 --- a/src/shell-integration/fish/vendor_conf.d/ghostty-shell-integration.fish +++ b/src/shell-integration/fish/vendor_conf.d/ghostty-shell-integration.fish @@ -71,11 +71,11 @@ function __ghostty_setup --on-event fish_prompt -d "Setup ghostty integration" and test -n "$TERMINFO"; and test "file" = (type -t sudo 2> /dev/null; or echo "x") # Wrap `sudo` command to ensure Ghostty terminfo is preserved function sudo -d "Wrap sudo to preserve terminfo" - set --local sudo_has_sudoedit_flags "no" + set --function sudo_has_sudoedit_flags "no" for arg in $argv # Check if argument is '-e' or '--edit' (sudoedit flags) if string match -q -- "-e" "$arg"; or string match -q -- "--edit" "$arg" - set --local sudo_has_sudoedit_flags "yes" + set --function sudo_has_sudoedit_flags "yes" break end # Check if argument is neither an option nor a key-value pair From bf6cce23da165c80622f7b12fefd3193d02c2d96 Mon Sep 17 00:00:00 2001 From: Bryan Lee <38807139+liby@users.noreply.github.com> Date: Tue, 21 Jan 2025 09:50:15 +0800 Subject: [PATCH 140/365] Prevent hyperlink hover state when mouse is outside viewport --- src/Surface.zig | 3 +++ src/apprt/embedded.zig | 2 +- src/apprt/gtk/Surface.zig | 2 +- 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/Surface.zig b/src/Surface.zig index 138aa2ea2..d9a985aa7 100644 --- a/src/Surface.zig +++ b/src/Surface.zig @@ -1041,6 +1041,9 @@ fn mouseRefreshLinks( pos_vp: terminal.point.Coordinate, over_link: bool, ) !void { + // If the position is outside our viewport, do nothing + if (pos.x < 0 or pos.y < 0) return; + self.mouse.link_point = pos_vp; if (try self.linkAtPos(pos)) |link| { diff --git a/src/apprt/embedded.zig b/src/apprt/embedded.zig index 44c4c5f20..013117f15 100644 --- a/src/apprt/embedded.zig +++ b/src/apprt/embedded.zig @@ -638,7 +638,7 @@ pub const Surface = struct { .y = @floatCast(opts.scale_factor), }, .size = .{ .width = 800, .height = 600 }, - .cursor_pos = .{ .x = 0, .y = 0 }, + .cursor_pos = .{ .x = -1, .y = -1 }, .keymap_state = .{}, }; diff --git a/src/apprt/gtk/Surface.zig b/src/apprt/gtk/Surface.zig index 61866dcec..21d811623 100644 --- a/src/apprt/gtk/Surface.zig +++ b/src/apprt/gtk/Surface.zig @@ -560,7 +560,7 @@ pub fn init(self: *Surface, app: *App, opts: Options) !void { .font_size = font_size, .init_config = init_config, .size = .{ .width = 800, .height = 600 }, - .cursor_pos = .{ .x = 0, .y = 0 }, + .cursor_pos = .{ .x = -1, .y = -1 }, .im_context = im_context, .cgroup_path = cgroup_path, }; From 52936b9b681e92f7bab37c3ec341be0013f591da Mon Sep 17 00:00:00 2001 From: Mitchell Hashimoto Date: Tue, 21 Jan 2025 14:29:43 -0800 Subject: [PATCH 141/365] apprt/gtk: fundamentally rework input method handling Fixes #4332 This commit fundamentally reworks the input method handling in the GTK apprt, making it work properly (as reported in the linked issue) on both Wayland and X11. This was tested with both a Gnome desktop on Wayland and i3 on X11 with fcitx and mozc. The main changes are: - Both key press and release events must be forwarded to the input method. - Input method callbacks such as preedit and commit must be expected outside of keypress events to handle on-screen keyboards and non-keyboard input devices. - Input methods should always commit when told to. Previously, we would only commit when a keypress event was given. This is incorrect. For example, it didn't work with input method changes outside the app which should result in committed text (as can be seen with "official" Gnome apps like Notes or Console). The key input handling also now generally does less so I think input latency should be positively affected by this change. I didn't measure. --- src/apprt/gtk/Surface.zig | 251 ++++++++++++++++++++------------------ 1 file changed, 131 insertions(+), 120 deletions(-) diff --git a/src/apprt/gtk/Surface.zig b/src/apprt/gtk/Surface.zig index 61866dcec..5a6ce1a38 100644 --- a/src/apprt/gtk/Surface.zig +++ b/src/apprt/gtk/Surface.zig @@ -368,10 +368,9 @@ cursor_pos: apprt.CursorPos, inspector: ?*inspector.Inspector = null, /// Key input states. See gtkKeyPressed for detailed descriptions. -in_keypress: bool = false, +in_keyevent: bool = false, im_context: *c.GtkIMContext, im_composing: bool = false, -im_commit_buffered: bool = false, im_buf: [128]u8 = undefined, im_len: u7 = 0, @@ -1604,30 +1603,36 @@ fn gtkKeyReleased( )) 1 else 0; } -/// Key press event. This is where we do ALL of our key handling, -/// translation to keyboard layouts, dead key handling, etc. Key handling -/// is complicated so this comment will explain what's going on. +/// Key press event (press or release). /// /// At a high level, we want to construct an `input.KeyEvent` and /// pass that to `keyCallback`. At a low level, this is more complicated /// than it appears because we need to construct all of this information /// and its not given to us. /// -/// For press events, we run the keypress through the input method context -/// in order to determine if we're in a dead key state, completed unicode -/// char, etc. This all happens through various callbacks: preedit, commit, -/// etc. These inspect "in_keypress" if they have to and set some instance -/// state. +/// For all events, we run the GdkEvent through the input method context. +/// This allows the input method to capture the event and trigger +/// callbacks such as preedit, commit, etc. /// -/// We then take all of the information in order to determine if we have +/// There are a couple important aspects to the prior paragraph: we must +/// send ALL events through the input method context. This is because +/// input methods use both key press and key release events to determine +/// the state of the input method. For example, fcitx uses key release +/// events on modifiers (i.e. ctrl+shift) to switch the input method. +/// +/// We set some state to note we're in a key event (self.in_keyevent) +/// because some of the input method callbacks change behavior based on +/// this state. For example, we don't want to send character events +/// like "a" via the input "commit" event if we're actively processing +/// a keypress because we'd lose access to the keycode information. +/// However, a "commit" event may still happen outside of a keypress +/// event from e.g. a tablet or on-screen keyboard. +/// +/// Finally, we take all of the information in order to determine if we have /// a unicode character or if we have to map the keyval to a code to /// get the underlying logical key, etc. /// -/// Finally, we can emit the keyCallback. -/// -/// Note we ALSO have an IMContext attached directly to the widget -/// which can emit preedit and commit callbacks. But, if we're not -/// in a keypress, we let those automatically work. +/// Then we can emit the keyCallback. pub fn keyEvent( self: *Surface, action: input.Action, @@ -1636,26 +1641,15 @@ pub fn keyEvent( keycode: c.guint, gtk_mods: c.GdkModifierType, ) bool { + // log.warn("GTKIM: keyEvent action={}", .{action}); const event = c.gtk_event_controller_get_current_event( @ptrCast(ec_key), ) orelse return false; - const keyval_unicode = c.gdk_keyval_to_unicode(keyval); - - // Get the unshifted unicode value of the keyval. This is used - // by the Kitty keyboard protocol. - const keyval_unicode_unshifted: u21 = gtk_key.keyvalUnicodeUnshifted( - @ptrCast(self.gl_area), - event, - keycode, - ); - - // We always reset our committed text when ending a keypress so that - // future keypresses don't think we have a commit event. - defer self.im_len = 0; - - // We only want to send the event through the IM context if we're a press - if (action == .press or action == .repeat) { + // The block below is all related to input method handling. See the function + // comment for some high level details and then the comments within + // the block for more specifics. + { // This can trigger an input method so we need to notify the im context // where the cursor is so it can render the dropdowns in the correct // place. @@ -1667,41 +1661,77 @@ pub fn keyEvent( .height = 1, }); - // We mark that we're in a keypress event. We use this in our - // IM commit callback to determine if we need to send a char callback - // to the core surface or not. - self.in_keypress = true; - defer self.in_keypress = false; + // Pass the event through the IM controller. This will return true + // if the input method handled the event. + // + // Confusingly, not all events handled by the input method result + // in this returning true so we have to maintain some local state to + // find those and in one case we simply lose information. + // + // - If we change the input method via keypress while we have preedit + // text, the input method will commit the pending text but will not + // mark it as handled. We use the `was_composing` variable to detect + // this case. + // + // - If we switch input methods (i.e. via ctrl+shift with fcitx), + // the input method will handle the key release event but will not + // mark it as handled. I don't know any way to detect this case so + // it will result in a key event being sent to the key callback. + // For Kitty text encoding, this will result in modifiers being + // triggered despite being technically consumed. At the time of + // writing, both Kitty and Alacritty have the same behavior. I + // know of no way to fix this. + const was_composing = self.im_composing; + const im_handled = filter: { + // We note that we're in a keypress because we want some logic to + // depend on this. For example, we don't want to send character events + // like "a" via the input "commit" event if we're actively processing + // a keypress because we'd lose access to the keycode information. + self.in_keyevent = true; + defer self.in_keyevent = false; + break :filter c.gtk_im_context_filter_keypress( + self.im_context, + event, + ) != 0; + }; + // log.warn("GTKIM: im_handled={} im_len={} im_composing={}", .{ + // im_handled, + // self.im_len, + // self.im_composing, + // }); - // Pass the event through the IM controller to handle dead key states. - // Filter is true if the event was handled by the IM controller. - const im_handled = c.gtk_im_context_filter_keypress(self.im_context, event) != 0; - // log.warn("im_handled={} im_len={} im_composing={}", .{ im_handled, self.im_len, self.im_composing }); - - // If this is a dead key, then we're composing a character and - // we need to set our proper preedit state. - if (self.im_composing) preedit: { - const text = self.im_buf[0..self.im_len]; - self.core_surface.preeditCallback(text) catch |err| { - log.err("error in preedit callback err={}", .{err}); - break :preedit; - }; - - // If we're composing then we don't want to send the key - // event to the core surface so we always return immediately. + if (self.im_composing) { + // If we're composing and the input method handled this event then + // we don't continue processing it. Any preedit changes or any of that + // would've been handled by the preedit events. if (im_handled) return true; - } else { - // If we aren't composing, then we set our preedit to - // empty no matter what. - self.core_surface.preeditCallback(null) catch {}; - - // If the IM handled this and we have no text, then we just - // return because this probably just changed the input method - // or something. - if (im_handled and self.im_len == 0) return true; + } else if (was_composing) { + // If we were composing and now we're not it means that we committed + // the text. We also don't want to encode a key event for this. + return true; } + + // At this point, for the sake of explanation of internal state: + // it is possible that im_len > 0 and im_composing == false. This + // means that we received a commit event from the input method that + // we want associated with the key event. This is common: its how + // basic character translation for simple inputs like "a" work. } + // We always reset the length of the im buffer. There's only one scenario + // we reach this point with im_len > 0 and that's if we received a commit + // event from the input method. We don't want to keep that state around + // since we've handled it here. + defer self.im_len = 0; + + // Get the keyvals for this event. + const keyval_unicode = c.gdk_keyval_to_unicode(keyval); + const keyval_unicode_unshifted: u21 = gtk_key.keyvalUnicodeUnshifted( + @ptrCast(self.gl_area), + event, + keycode, + ); + // We want to get the physical unmapped key to process physical keybinds. // (These are keybinds explicitly marked as requesting physical mapping). const physical_key = keycode: for (input.keycodes.entries) |entry| { @@ -1834,12 +1864,11 @@ fn gtkInputPreeditStart( _: *c.GtkIMContext, ud: ?*anyopaque, ) callconv(.C) void { - //log.debug("preedit start", .{}); + // log.warn("GTKIM: preedit start", .{}); const self = userdataSelf(ud.?); - if (!self.in_keypress) return; - // Mark that we are now composing a string with a dead key state. - // We'll record the string in the preedit-changed callback. + // Start our composing state for the input method and reset our + // input buffer to empty. self.im_composing = true; self.im_len = 0; } @@ -1848,54 +1877,35 @@ fn gtkInputPreeditChanged( ctx: *c.GtkIMContext, ud: ?*anyopaque, ) callconv(.C) void { + // log.warn("GTKIM: preedit change", .{}); const self = userdataSelf(ud.?); - // If there's buffered character, send the characters directly to the surface. - if (self.im_composing and self.im_commit_buffered) { - defer self.im_commit_buffered = false; - defer self.im_len = 0; - _ = self.core_surface.keyCallback(.{ - .action = .press, - .key = .invalid, - .physical_key = .invalid, - .mods = .{}, - .consumed_mods = .{}, - .composing = false, - .utf8 = self.im_buf[0..self.im_len], - }) catch |err| { - log.err("error in key callback err={}", .{err}); - return; - }; - } - - if (!self.in_keypress) return; - // Get our pre-edit string that we'll use to show the user. var buf: [*c]u8 = undefined; _ = c.gtk_im_context_get_preedit_string(ctx, &buf, null, null); defer c.g_free(buf); const str = std.mem.sliceTo(buf, 0); - // If our string becomes empty we ignore this. This can happen after - // a commit event when the preedit is being cleared and we don't want - // to set im_len to zero. This is safe because preeditstart always sets - // im_len to zero. - if (str.len == 0) return; - - // Copy the preedit string into the im_buf. This is safe because - // commit will always overwrite this. - self.im_len = @intCast(@min(self.im_buf.len, str.len)); - @memcpy(self.im_buf[0..self.im_len], str); + // Update our preedit state in Ghostty core + self.core_surface.preeditCallback(str) catch |err| { + log.err("error in preedit callback err={}", .{err}); + }; } fn gtkInputPreeditEnd( _: *c.GtkIMContext, ud: ?*anyopaque, ) callconv(.C) void { - //log.debug("preedit end", .{}); + // log.warn("GTKIM: preedit end", .{}); const self = userdataSelf(ud.?); - if (!self.in_keypress) return; + + // End our composing state for GTK, allowing us to commit the text. self.im_composing = false; + + // End our preedit state in Ghostty core + self.core_surface.preeditCallback(null) catch |err| { + log.err("error in preedit callback err={}", .{err}); + }; } fn gtkInputCommit( @@ -1903,38 +1913,39 @@ fn gtkInputCommit( bytes: [*:0]u8, ud: ?*anyopaque, ) callconv(.C) void { + // log.warn("GTKIM: input commit", .{}); const self = userdataSelf(ud.?); const str = std.mem.sliceTo(bytes, 0); - // If we're in a key event, then we want to buffer the commit so - // that we can send the proper keycallback followed by the char - // callback. - if (self.in_keypress) { - if (str.len <= self.im_buf.len) { - @memcpy(self.im_buf[0..str.len], str); - self.im_len = @intCast(str.len); - - // If composing is done and character should be committed, - // It should be committed in preedit callback. - if (self.im_composing) { - self.im_commit_buffered = true; - } - - // log.debug("input commit len={}", .{self.im_len}); - } else { + // If we're in a keyEvent (i.e. a keyboard event) and we're not composing, + // then this is just a normal key press resulting in UTF-8 text. We + // want the keyEvent to handle this so that the UTF-8 text can be associated + // with a keyboard event. + if (!self.im_composing and self.in_keyevent) { + if (str.len > self.im_buf.len) { log.warn("not enough buffer space for input method commit", .{}); + return; } + // Copy our committed text to the buffer + @memcpy(self.im_buf[0..str.len], str); + self.im_len = @intCast(str.len); + + // log.debug("input commit len={}", .{self.im_len}); return; } - // This prevents staying in composing state after commit even though - // input method has changed. + // If we reach this point from above it means we're composing OR + // not in a keypress. In either case, we want to commit the text + // given to us because that's what GTK is asking us to do. If we're + // not in a keypress it means that this commit came via a non-keyboard + // event (i.e. on-screen keyboard, tablet of some kind, etc.). + + // Committing ends composing state self.im_composing = false; - // We're not in a keypress, so this was sent from an on-screen emoji - // keyboard or something like that. Send the characters directly to - // the surface. + // Send the text to the core surface, associated with no key (an + // invalid key, which should produce no PTY encoding). _ = self.core_surface.keyCallback(.{ .action = .press, .key = .invalid, @@ -1944,7 +1955,7 @@ fn gtkInputCommit( .composing = false, .utf8 = str, }) catch |err| { - log.err("error in key callback err={}", .{err}); + log.warn("error in key callback err={}", .{err}); return; }; } From a8d218561121671bdce3aaab76688970f9893e9e Mon Sep 17 00:00:00 2001 From: Eric Eastwood Date: Tue, 21 Jan 2025 20:13:14 -0600 Subject: [PATCH 142/365] Switch default key bindings to include on and offscreen contents Previous discussions: - https://github.com/ghostty-org/ghostty/discussions/3652 - https://github.com/ghostty-org/ghostty/issues/3496 - https://github.com/ghostty-org/ghostty/discussions/4911 - https://github.com/ghostty-org/ghostty/discussions/4390 - https://github.com/ghostty-org/ghostty/discussions/2363#discussioncomment-11735957 - https://github.com/ghostty-org/ghostty/issues/189#issuecomment-2564719973 - https://github.com/ghostty-org/ghostty/pull/2040 --- src/config/Config.zig | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/config/Config.zig b/src/config/Config.zig index 386e6f923..fd0f58669 100644 --- a/src/config/Config.zig +++ b/src/config/Config.zig @@ -2370,13 +2370,13 @@ pub fn default(alloc_gpa: Allocator) Allocator.Error!Config { try result.keybind.set.put( alloc, .{ .key = .{ .translated = .j }, .mods = inputpkg.ctrlOrSuper(.{ .shift = true }) }, - .{ .write_scrollback_file = .paste }, + .{ .write_screen_file = .paste }, ); try result.keybind.set.put( alloc, .{ .key = .{ .translated = .j }, .mods = inputpkg.ctrlOrSuper(.{ .shift = true, .alt = true }) }, - .{ .write_scrollback_file = .open }, + .{ .write_screen_file = .open }, ); // Expand Selection From 4408101b8d71d6819e0b82d3ccc1d714bec2c928 Mon Sep 17 00:00:00 2001 From: Mitchell Hashimoto Date: Wed, 22 Jan 2025 20:07:26 -0800 Subject: [PATCH 143/365] apprt/gtk: ibus activation should not encode keys This cleans up our handling of when GTK tells us the input method handled the key press to address more scenarios we should not encode the key event. The comments in this diff should explain clearly. --- src/apprt/gtk/Surface.zig | 31 ++++++++++++++++++++++++------- 1 file changed, 24 insertions(+), 7 deletions(-) diff --git a/src/apprt/gtk/Surface.zig b/src/apprt/gtk/Surface.zig index 5a6ce1a38..4539e61cb 100644 --- a/src/apprt/gtk/Surface.zig +++ b/src/apprt/gtk/Surface.zig @@ -1700,15 +1700,32 @@ pub fn keyEvent( // self.im_composing, // }); - if (self.im_composing) { - // If we're composing and the input method handled this event then - // we don't continue processing it. Any preedit changes or any of that - // would've been handled by the preedit events. - if (im_handled) return true; - } else if (was_composing) { + // If the input method handled the event, you would think we would + // never proceed with key encoding for Ghostty but that is not the + // case. Input methods will handle basic character encoding like + // typing "a" and we want to associate that with the key event. + // So we have to check additional state to determine if we exit. + if (im_handled) { + // If we are composing then we're in a preedit state and do + // not want to encode any keys. For example: type a deadkey + // such as single quote on a US international keyboard layout. + if (self.im_composing) return true; + // If we were composing and now we're not it means that we committed // the text. We also don't want to encode a key event for this. - return true; + // Example: enable Japanese input method, press "konn" and then + // press enter. The final enter should not be encoded and "konn" + // (in hiragana) should be written as "こん". + if (was_composing) return true; + + // Not composing and our input method buffer is empty. This could + // mean that the input method reacted to this event by activating + // an onscreen keyboard or something equivalent. We don't know. + // But the input method handled it and didn't give us text so + // we will just assume we should not encode this. This handles a + // real scenario when ibus starts the emoji input method + // (super+.). + if (self.im_len == 0) return true; } // At this point, for the sake of explanation of internal state: From a2018d7b20b557eeb2e0e59e39e9ad3c0c16e44a Mon Sep 17 00:00:00 2001 From: Jon Parise Date: Thu, 23 Jan 2025 10:34:27 -0500 Subject: [PATCH 144/365] bash: handle additional command arguments A '-' or '--' argument signals the end of bash's own options. All remaining arguments are treated as filenames and arguments. We shouldn't perform any additional argument processing once we see this signal. We could also assume a non-interactive shell session in this case unless the '-i' (interactive) shell option has been explicitly specified, but let's wait on that until we know that doing so would solve a real user problem (and avoid any false negatives). --- src/termio/shell_integration.zig | 40 +++++++++++++++++++++++++------- 1 file changed, 32 insertions(+), 8 deletions(-) diff --git a/src/termio/shell_integration.zig b/src/termio/shell_integration.zig index 915d5be9e..423e2f518 100644 --- a/src/termio/shell_integration.zig +++ b/src/termio/shell_integration.zig @@ -203,8 +203,6 @@ test "setup features" { /// our script's responsibility (along with disabling POSIX /// mode). /// -/// This approach requires bash version 4 or later. -/// /// This returns a new (allocated) shell command string that /// enables the integration or null if integration failed. fn setupBash( @@ -246,12 +244,6 @@ fn setupBash( // Unsupported options: // -c -c is always non-interactive // --posix POSIX mode (a la /bin/sh) - // - // Some additional cases we don't yet cover: - // - // - If additional file arguments are provided (after a `-` or `--` flag), - // and the `i` shell option isn't being explicitly set, we can assume a - // non-interactive shell session and skip loading our shell integration. var rcfile: ?[]const u8 = null; while (iter.next()) |arg| { if (std.mem.eql(u8, arg, "--posix")) { @@ -268,6 +260,14 @@ fn setupBash( return null; } try args.append(arg); + } else if (std.mem.eql(u8, arg, "-") or std.mem.eql(u8, arg, "--")) { + // All remaining arguments should be passed directly to the shell + // command. We shouldn't perform any further option processing. + try args.append(arg); + while (iter.next()) |remaining_arg| { + try args.append(remaining_arg); + } + break; } else { try args.append(arg); } @@ -430,6 +430,30 @@ test "bash: HISTFILE" { } } +test "bash: additional arguments" { + const testing = std.testing; + const alloc = testing.allocator; + + var env = EnvMap.init(alloc); + defer env.deinit(); + + // "-" argument separator + { + const command = try setupBash(alloc, "bash - --arg file1 file2", ".", &env); + defer if (command) |c| alloc.free(c); + + try testing.expectEqualStrings("bash --posix - --arg file1 file2", command.?); + } + + // "--" argument separator + { + const command = try setupBash(alloc, "bash -- --arg file1 file2", ".", &env); + defer if (command) |c| alloc.free(c); + + try testing.expectEqualStrings("bash --posix -- --arg file1 file2", command.?); + } +} + /// Setup automatic shell integration for shells that include /// their modules from paths in `XDG_DATA_DIRS` env variable. /// From d1e45ef768d0d342fff686c387b1e414d1b48c4c Mon Sep 17 00:00:00 2001 From: Mitchell Hashimoto Date: Thu, 23 Jan 2025 07:24:11 -0800 Subject: [PATCH 145/365] apprt/gtk: when text is committed, end the preedit state Fixes #3567 ibus 1.5.29 doesn't trigger a preedit end state when text is committed. This is fixed in ibus 1.5.30, but we need to handle this case for older versions which are shipped on LTS distributions such as Ubuntu. Every other input method engine I've tried thus far also triggers a preedit end state when text is committed, and none would expect preedit to continue after text is committed. So I think it's safe to assume that this is the expected behavior. --- src/apprt/gtk/Surface.zig | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/apprt/gtk/Surface.zig b/src/apprt/gtk/Surface.zig index 4539e61cb..b429c7233 100644 --- a/src/apprt/gtk/Surface.zig +++ b/src/apprt/gtk/Surface.zig @@ -1961,6 +1961,12 @@ fn gtkInputCommit( // Committing ends composing state self.im_composing = false; + // End our preedit state. Well-behaved input methods do this for us + // by triggering a preedit-end event but some do not (ibus 1.5.29). + self.core_surface.preeditCallback(null) catch |err| { + log.err("error in preedit callback err={}", .{err}); + }; + // Send the text to the core surface, associated with no key (an // invalid key, which should produce no PTY encoding). _ = self.core_surface.keyCallback(.{ From 8f49a227b7c352083b0815e7818db900402513e0 Mon Sep 17 00:00:00 2001 From: "Jeffrey C. Ollie" Date: Wed, 22 Jan 2025 22:29:25 -0600 Subject: [PATCH 146/365] build: options to enable/disable terminfo & termcap install Fixes #5253 Add `-Demit-terminfo` and `-Demit-termcap` build options to enable/disable installtion of source terminfo and termcap files. --- src/build/Config.zig | 25 +++++++++++++++++++- src/build/GhosttyResources.zig | 42 +++++++++++++++++----------------- src/os/resourcesdir.zig | 5 +++- 3 files changed, 49 insertions(+), 23 deletions(-) diff --git a/src/build/Config.zig b/src/build/Config.zig index 71dffce4a..1d51525d0 100644 --- a/src/build/Config.zig +++ b/src/build/Config.zig @@ -55,6 +55,8 @@ emit_helpgen: bool = false, emit_docs: bool = false, emit_webdata: bool = false, emit_xcframework: bool = false, +emit_terminfo: bool = false, +emit_termcap: bool = false, /// Environmental properties env: std.process.EnvMap, @@ -306,11 +308,32 @@ pub fn init(b: *std.Build) !Config { break :emit_docs path != null; }; + config.emit_terminfo = b.option( + bool, + "emit-terminfo", + "Install Ghostty terminfo source file", + ) orelse switch (target.result.os.tag) { + .windows => true, + else => switch (optimize) { + .Debug => true, + .ReleaseSafe, .ReleaseFast, .ReleaseSmall => false, + }, + }; + + config.emit_termcap = b.option( + bool, + "emit-termcap", + "Install Ghostty termcap file", + ) orelse false; + config.emit_webdata = b.option( bool, "emit-webdata", "Build the website data for the website.", - ) orelse false; + ) orelse switch (optimize) { + .Debug => true, + .ReleaseSafe, .ReleaseFast, .ReleaseSmall => false, + }; config.emit_xcframework = b.option( bool, diff --git a/src/build/GhosttyResources.zig b/src/build/GhosttyResources.zig index cae907ec2..c0830e5f6 100644 --- a/src/build/GhosttyResources.zig +++ b/src/build/GhosttyResources.zig @@ -23,9 +23,12 @@ pub fn init(b: *std.Build, cfg: *const Config) !GhosttyResources { // Write it var wf = b.addWriteFiles(); - const src_source = wf.add("share/terminfo/ghostty.terminfo", str.items); - const src_install = b.addInstallFile(src_source, "share/terminfo/ghostty.terminfo"); - try steps.append(&src_install.step); + const source = wf.add("ghostty.terminfo", str.items); + + if (cfg.emit_terminfo) { + const source_install = b.addInstallFile(source, "share/terminfo/ghostty.terminfo"); + try steps.append(&source_install.step); + } // Windows doesn't have the binaries below. if (cfg.target.result.os.tag == .windows) break :terminfo; @@ -33,10 +36,10 @@ pub fn init(b: *std.Build, cfg: *const Config) !GhosttyResources { // Convert to termcap source format if thats helpful to people and // install it. The resulting value here is the termcap source in case // that is used for other commands. - { + if (cfg.emit_termcap) { const run_step = RunStep.create(b, "infotocap"); - run_step.addArg("infotocap"); - run_step.addFileArg(src_source); + run_step.addArgs(&.{ "infotocap", "-" }); + run_step.setStdIn(.{ .lazy_path = source }); const out_source = run_step.captureStdOut(); _ = run_step.captureStdErr(); // so we don't see stderr @@ -48,24 +51,21 @@ pub fn init(b: *std.Build, cfg: *const Config) !GhosttyResources { { const run_step = RunStep.create(b, "tic"); run_step.addArgs(&.{ "tic", "-x", "-o" }); - const path = run_step.addOutputFileArg("terminfo"); - run_step.addFileArg(src_source); + const path = run_step.addOutputDirectoryArg("share/terminfo"); + run_step.addArg("-"); + run_step.setStdIn(.{ .lazy_path = source }); _ = run_step.captureStdErr(); // so we don't see stderr - // Depend on the terminfo source install step so that Zig build - // creates the "share" directory for us. - run_step.step.dependOn(&src_install.step); + try steps.append(&run_step.step); - { - // Use cp -R instead of Step.InstallDir because we need to preserve - // symlinks in the terminfo database. Zig's InstallDir step doesn't - // handle symlinks correctly yet. - const copy_step = RunStep.create(b, "copy terminfo db"); - copy_step.addArgs(&.{ "cp", "-R" }); - copy_step.addFileArg(path); - copy_step.addArg(b.fmt("{s}/share", .{b.install_path})); - try steps.append(©_step.step); - } + // Use cp -R instead of Step.InstallDir because we need to preserve + // symlinks in the terminfo database. Zig's InstallDir step doesn't + // handle symlinks correctly yet. + const copy_step = RunStep.create(b, "copy terminfo db"); + copy_step.addArgs(&.{ "cp", "-R" }); + copy_step.addFileArg(path); + copy_step.addArg(b.fmt("{s}/share", .{b.install_path})); + try steps.append(©_step.step); } } diff --git a/src/os/resourcesdir.zig b/src/os/resourcesdir.zig index c0f82dec5..d2b274e87 100644 --- a/src/os/resourcesdir.zig +++ b/src/os/resourcesdir.zig @@ -21,7 +21,10 @@ pub fn resourcesDir(alloc: std.mem.Allocator) !?[]const u8 { // This is the sentinel value we look for in the path to know // we've found the resources directory. - const sentinel = "terminfo/ghostty.termcap"; + const sentinel = switch (comptime builtin.target.os.tag) { + .windows => "terminfo/ghostty.terminfo", + else => "terminfo/x/xterm-ghostty", + }; // Get the path to our running binary var exe_buf: [std.fs.max_path_bytes]u8 = undefined; From 9c8c53bffb9d5a8f4cc712fcea083fbf79f833c4 Mon Sep 17 00:00:00 2001 From: Julia <58243358+juliapaci@users.noreply.github.com> Date: Fri, 24 Jan 2025 07:57:14 +1100 Subject: [PATCH 147/365] use main buffer and copy data to fbo texture (opengl) (#5294) NEEDS REVIEW continuation of #5037 resolves #4729 renders all shaders to the default buffer and then copies it to the designated custom shader texture. this is a draft pr because: - it introduces a new shader "pipeline" which doesnt fit in with how the system was designed to work (which is only rendering to the fbo) - im not sure if this is the best way to achieve shaders being able to sample their output while also drawing to the screen. the cusom fbo (previous implementation) was useful in that it modularized the custom shader stage in rendering --------- Co-authored-by: Mitchell Hashimoto --- pkg/opengl/Texture.zig | 22 ++++++++++++++++++++++ src/renderer/OpenGL.zig | 18 ++---------------- src/renderer/opengl/custom.zig | 15 +++++++++++++++ 3 files changed, 39 insertions(+), 16 deletions(-) diff --git a/pkg/opengl/Texture.zig b/pkg/opengl/Texture.zig index 4cd1cf9f9..a9fa5d4fe 100644 --- a/pkg/opengl/Texture.zig +++ b/pkg/opengl/Texture.zig @@ -162,4 +162,26 @@ pub const Binding = struct { data, ); } + + pub fn copySubImage2D( + b: Binding, + level: c.GLint, + xoffset: c.GLint, + yoffset: c.GLint, + x: c.GLint, + y: c.GLint, + width: c.GLsizei, + height: c.GLsizei, + ) !void { + glad.context.CopyTexSubImage2D.?( + @intFromEnum(b.target), + level, + xoffset, + yoffset, + x, + y, + width, + height + ); + } }; diff --git a/src/renderer/OpenGL.zig b/src/renderer/OpenGL.zig index 80fc3cab9..3e674c715 100644 --- a/src/renderer/OpenGL.zig +++ b/src/renderer/OpenGL.zig @@ -2363,26 +2363,12 @@ fn drawCustomPrograms(self: *OpenGL, custom_state: *custom.State) !void { // Setup the new frame try custom_state.newFrame(); - // To allow programs to retrieve each other via a texture - // then we must render the next shaders to the screen fbo. - // However, the first shader must be run while the default fbo - // is attached - { - const bind = try custom_state.programs[0].bind(); - defer bind.unbind(); - try bind.draw(); - if (custom_state.programs.len == 1) return; - } - - const fbobind = try custom_state.fbo.bind(.framebuffer); - defer fbobind.unbind(); - // Go through each custom shader and draw it. - for (custom_state.programs[1..]) |program| { - // Bind our cell program state, buffers + for (custom_state.programs) |program| { const bind = try program.bind(); defer bind.unbind(); try bind.draw(); + try custom_state.copyFramebuffer(); } } diff --git a/src/renderer/opengl/custom.zig b/src/renderer/opengl/custom.zig index 3806921df..859277ce5 100644 --- a/src/renderer/opengl/custom.zig +++ b/src/renderer/opengl/custom.zig @@ -230,6 +230,21 @@ pub const State = struct { }; } + /// Copy the fbo's attached texture to the backbuffer. + pub fn copyFramebuffer(self: *State) !void { + const texbind = try self.fb_texture.bind(.@"2D"); + errdefer texbind.unbind(); + try texbind.copySubImage2D( + 0, + 0, + 0, + 0, + 0, + @intFromFloat(self.uniforms.resolution[0]), + @intFromFloat(self.uniforms.resolution[1]), + ); + } + pub const Binding = struct { vao: gl.VertexArray.Binding, ebo: gl.Buffer.Binding, From 5477eb87c17a76d847ba34093d85fd4ef1490149 Mon Sep 17 00:00:00 2001 From: Qwerasd Date: Mon, 28 Oct 2024 18:41:53 -0400 Subject: [PATCH 148/365] macOS: prevent native window drag by top region when titlebar hidden The native window drag region is driven ultimately by the window's `contentLayoutRect`, so we can just override it in `TerminalWindow` to return a rect the size of the full window, disabling the gesture without causing any side effects by altering the responder chain. --- .../Terminal/TerminalController.swift | 22 +++++++++---------- .../Features/Terminal/TerminalWindow.swift | 15 +++++++++++++ src/config/Config.zig | 9 +++++--- 3 files changed, 32 insertions(+), 14 deletions(-) diff --git a/macos/Sources/Features/Terminal/TerminalController.swift b/macos/Sources/Features/Terminal/TerminalController.swift index 89da6bfeb..f24261b9b 100644 --- a/macos/Sources/Features/Terminal/TerminalController.swift +++ b/macos/Sources/Features/Terminal/TerminalController.swift @@ -22,7 +22,7 @@ class TerminalController: BaseTerminalController { private var restorable: Bool = true /// The configuration derived from the Ghostty config so we don't need to rely on references. - private var derivedConfig: DerivedConfig + private(set) var derivedConfig: DerivedConfig /// The notification cancellable for focused surface property changes. private var surfaceAppearanceCancellables: Set = [] @@ -315,28 +315,28 @@ class TerminalController: BaseTerminalController { window.styleMask = [ // We need `titled` in the mask to get the normal window frame .titled, - + // Full size content view so we can extend // content in to the hidden titlebar's area - .fullSizeContentView, - - .resizable, + .fullSizeContentView, + + .resizable, .closable, .miniaturizable, ] - + // Hide the title window.titleVisibility = .hidden window.titlebarAppearsTransparent = true - + // Hide the traffic lights (window control buttons) window.standardWindowButton(.closeButton)?.isHidden = true window.standardWindowButton(.miniaturizeButton)?.isHidden = true window.standardWindowButton(.zoomButton)?.isHidden = true - + // Disallow tabbing if the titlebar is hidden, since that will (should) also hide the tab bar. window.tabbingMode = .disallowed - + // Nuke it from orbit -- hide the titlebar container entirely, just in case. There are // some operations that appear to bring back the titlebar visibility so this ensures // it is gone forever. @@ -345,7 +345,7 @@ class TerminalController: BaseTerminalController { titleBarContainer.isHidden = true } } - + override func windowDidLoad() { super.windowDidLoad() guard let window = window as? TerminalWindow else { return } @@ -776,7 +776,7 @@ class TerminalController: BaseTerminalController { toggleFullscreen(mode: fullscreenMode) } - private struct DerivedConfig { + struct DerivedConfig { let backgroundColor: Color let macosTitlebarStyle: String diff --git a/macos/Sources/Features/Terminal/TerminalWindow.swift b/macos/Sources/Features/Terminal/TerminalWindow.swift index 0eb8daeeb..9d29c193f 100644 --- a/macos/Sources/Features/Terminal/TerminalWindow.swift +++ b/macos/Sources/Features/Terminal/TerminalWindow.swift @@ -115,6 +115,21 @@ class TerminalWindow: NSWindow { } } + // We override this so that with the hidden titlebar style the titlebar + // area is not draggable. + override var contentLayoutRect: CGRect { + var rect = super.contentLayoutRect + + // If we are using a hidden titlebar style, the content layout is the + // full frame making it so that it is not draggable. + if let controller = windowController as? TerminalController, + controller.derivedConfig.macosTitlebarStyle == "hidden" { + rect.origin.y = 0 + rect.size.height = self.frame.height + } + return rect + } + // The window theme configuration from Ghostty. This is used to control some // behaviors that don't look quite right in certain situations. var windowTheme: TerminalWindowTheme? diff --git a/src/config/Config.zig b/src/config/Config.zig index fd0f58669..e32a3485f 100644 --- a/src/config/Config.zig +++ b/src/config/Config.zig @@ -1816,9 +1816,12 @@ keybind: Keybinds = .{}, /// The "hidden" style hides the titlebar. Unlike `window-decoration = false`, /// however, it does not remove the frame from the window or cause it to have /// squared corners. Changing to or from this option at run-time may affect -/// existing windows in buggy ways. The top titlebar area of the window will -/// continue to drag the window around and you will not be able to use -/// the mouse for terminal events in this space. +/// existing windows in buggy ways. +/// +/// When "hidden", the top titlebar area can no longer be used for dragging +/// the window. To drag the window, you can use option+click on the resizable +/// areas of the frame to drag the window. This is a standard macOS behavior +/// and not something Ghostty enables. /// /// The default value is "transparent". This is an opinionated choice /// but its one I think is the most aesthetically pleasing and works in From e854b38872adc38050c39b6f2e8f580268d1e08c Mon Sep 17 00:00:00 2001 From: Mitchell Hashimoto Date: Thu, 23 Jan 2025 14:11:10 -0800 Subject: [PATCH 149/365] cli: allow renaming config fields to maintain backwards compatibility Fixes #4631 This introduces a mechanism by which parsed config fields can be renamed to maintain backwards compatibility. This already has a use case -- implemented in this commit -- for `background-blur-radius` to be renamed to `background-blur`. The remapping is comptime-known which lets us do some comptime validation. The remap check isn't done unless no fields match which means for well-formed config files, there's no overhead. For future improvements: - We should update our config help generator to note renamed fields. - We could offer automatic migration of config files be rewriting them. - We can enrich the value type with more metadata to help with config gen or other tooling. --- macos/Sources/Ghostty/Ghostty.Config.swift | 2 +- src/apprt/embedded.zig | 2 +- src/apprt/gtk/winproto/wayland.zig | 2 +- src/apprt/gtk/winproto/x11.zig | 2 +- src/cli/args.zig | 52 ++++++++++++++++++++++ src/config/Config.zig | 13 +++++- src/config/c_get.zig | 12 ++--- 7 files changed, 73 insertions(+), 12 deletions(-) diff --git a/macos/Sources/Ghostty/Ghostty.Config.swift b/macos/Sources/Ghostty/Ghostty.Config.swift index 2a24b0257..9c8042c63 100644 --- a/macos/Sources/Ghostty/Ghostty.Config.swift +++ b/macos/Sources/Ghostty/Ghostty.Config.swift @@ -339,7 +339,7 @@ extension Ghostty { var backgroundBlurRadius: Int { guard let config = self.config else { return 1 } var v: Int = 0 - let key = "background-blur-radius" + let key = "background-blur" _ = ghostty_config_get(config, &v, key, UInt(key.count)) return v; } diff --git a/src/apprt/embedded.zig b/src/apprt/embedded.zig index 44c4c5f20..890901c07 100644 --- a/src/apprt/embedded.zig +++ b/src/apprt/embedded.zig @@ -1958,7 +1958,7 @@ pub const CAPI = struct { _ = CGSSetWindowBackgroundBlurRadius( CGSDefaultConnectionForThread(), nswindow.msgSend(usize, objc.sel("windowNumber"), .{}), - @intCast(config.@"background-blur-radius".cval()), + @intCast(config.@"background-blur".cval()), ); } diff --git a/src/apprt/gtk/winproto/wayland.zig b/src/apprt/gtk/winproto/wayland.zig index 7a28fc92c..8df3e57b3 100644 --- a/src/apprt/gtk/winproto/wayland.zig +++ b/src/apprt/gtk/winproto/wayland.zig @@ -176,7 +176,7 @@ pub const Window = struct { pub fn init(config: *const Config) DerivedConfig { return .{ - .blur = config.@"background-blur-radius".enabled(), + .blur = config.@"background-blur".enabled(), .window_decoration = config.@"window-decoration", }; } diff --git a/src/apprt/gtk/winproto/x11.zig b/src/apprt/gtk/winproto/x11.zig index 4f607d1ef..7a6b8b4c7 100644 --- a/src/apprt/gtk/winproto/x11.zig +++ b/src/apprt/gtk/winproto/x11.zig @@ -165,7 +165,7 @@ pub const Window = struct { pub fn init(config: *const Config) DerivedConfig { return .{ - .blur = config.@"background-blur-radius".enabled(), + .blur = config.@"background-blur".enabled(), .has_decoration = switch (config.@"window-decoration") { .none => false, .auto, .client, .server => true, diff --git a/src/cli/args.zig b/src/cli/args.zig index 23dcf7733..166b2daf5 100644 --- a/src/cli/args.zig +++ b/src/cli/args.zig @@ -38,6 +38,12 @@ pub const Error = error{ /// "DiagnosticList" and any diagnostic messages will be added to that list. /// When diagnostics are present, only allocation errors will be returned. /// +/// If the destination type has a decl "renamed", it must be of type +/// std.StaticStringMap([]const u8) and contains a mapping from the old +/// field name to the new field name. This is used to allow renaming fields +/// while still supporting the old name. If a renamed field is set, parsing +/// will automatically set the new field name. +/// /// Note: If the arena is already non-null, then it will be used. In this /// case, in the case of an error some memory might be leaked into the arena. pub fn parse( @@ -49,6 +55,24 @@ pub fn parse( const info = @typeInfo(T); assert(info == .Struct); + comptime { + // Verify all renamed fields are valid (source does not exist, + // destination does exist). + if (@hasDecl(T, "renamed")) { + for (T.renamed.keys(), T.renamed.values()) |key, value| { + if (@hasField(T, key)) { + @compileLog(key); + @compileError("renamed field source exists"); + } + + if (!@hasField(T, value)) { + @compileLog(value); + @compileError("renamed field destination does not exist"); + } + } + } + } + // Make an arena for all our allocations if we support it. Otherwise, // use an allocator that always fails. If the arena is already set on // the config, then we reuse that. See memory note in parse docs. @@ -367,6 +391,16 @@ pub fn parseIntoField( } } + // Unknown field, is the field renamed? + if (@hasDecl(T, "renamed")) { + for (T.renamed.keys(), T.renamed.values()) |old, new| { + if (mem.eql(u8, old, key)) { + try parseIntoField(T, alloc, dst, new, value); + return; + } + } + } + return error.InvalidField; } @@ -1104,6 +1138,24 @@ test "parseIntoField: tagged union missing tag" { ); } +test "parseIntoField: renamed field" { + const testing = std.testing; + var arena = ArenaAllocator.init(testing.allocator); + defer arena.deinit(); + const alloc = arena.allocator(); + + var data: struct { + a: []const u8, + + const renamed = std.StaticStringMap([]const u8).initComptime(&.{ + .{ "old", "a" }, + }); + } = undefined; + + try parseIntoField(@TypeOf(data), alloc, &data, "old", "42"); + try testing.expectEqualStrings("42", data.a); +} + /// An iterator that considers its location to be CLI args. It /// iterates through an underlying iterator and increments a counter /// to track the current CLI arg index. diff --git a/src/config/Config.zig b/src/config/Config.zig index e32a3485f..16e08bf08 100644 --- a/src/config/Config.zig +++ b/src/config/Config.zig @@ -42,6 +42,15 @@ const c = @cImport({ @cInclude("unistd.h"); }); +/// Renamed fields, used by cli.parse +pub const renamed = std.StaticStringMap([]const u8).initComptime(&.{ + // Ghostty 1.1 introduced background-blur support for Linux which + // doesn't support a specific radius value. The renaming is to let + // one field be used for both platforms (macOS retained the ability + // to set a radius). + .{ "background-blur-radius", "background-blur" }, +}); + /// The font families to use. /// /// You can generate the list of valid values using the CLI: @@ -649,7 +658,7 @@ palette: Palette = .{}, /// need to set environment-specific settings and/or install third-party plugins /// in order to support background blur, as there isn't a unified interface for /// doing so. -@"background-blur-radius": BackgroundBlur = .false, +@"background-blur": BackgroundBlur = .false, /// The opacity level (opposite of transparency) of an unfocused split. /// Unfocused splits by default are slightly faded out to make it easier to see @@ -5854,7 +5863,7 @@ pub const AutoUpdate = enum { download, }; -/// See background-blur-radius +/// See background-blur pub const BackgroundBlur = union(enum) { false, true, diff --git a/src/config/c_get.zig b/src/config/c_get.zig index 6804b0ae0..251a95e77 100644 --- a/src/config/c_get.zig +++ b/src/config/c_get.zig @@ -192,21 +192,21 @@ test "c_get: background-blur" { defer c.deinit(); { - c.@"background-blur-radius" = .false; + c.@"background-blur" = .false; var cval: u8 = undefined; - try testing.expect(get(&c, .@"background-blur-radius", @ptrCast(&cval))); + try testing.expect(get(&c, .@"background-blur", @ptrCast(&cval))); try testing.expectEqual(0, cval); } { - c.@"background-blur-radius" = .true; + c.@"background-blur" = .true; var cval: u8 = undefined; - try testing.expect(get(&c, .@"background-blur-radius", @ptrCast(&cval))); + try testing.expect(get(&c, .@"background-blur", @ptrCast(&cval))); try testing.expectEqual(20, cval); } { - c.@"background-blur-radius" = .{ .radius = 42 }; + c.@"background-blur" = .{ .radius = 42 }; var cval: u8 = undefined; - try testing.expect(get(&c, .@"background-blur-radius", @ptrCast(&cval))); + try testing.expect(get(&c, .@"background-blur", @ptrCast(&cval))); try testing.expectEqual(42, cval); } } From 80eb406b8200b99c05e126e28015718ff2a35047 Mon Sep 17 00:00:00 2001 From: Adam Wolf Date: Wed, 15 Jan 2025 00:44:56 -0600 Subject: [PATCH 150/365] fix: gtk titlebar being restored if it shouldn't be --- src/apprt/gtk/Window.zig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/apprt/gtk/Window.zig b/src/apprt/gtk/Window.zig index 59d6437d7..3512e211d 100644 --- a/src/apprt/gtk/Window.zig +++ b/src/apprt/gtk/Window.zig @@ -646,7 +646,7 @@ fn gtkWindowNotifyMaximized( if (!self.winproto.clientSideDecorationEnabled()) return; if (!maximized) { - self.headerbar.setVisible(true); + self.headerbar.setVisible(self.app.config.@"gtk-titlebar"); return; } if (self.app.config.@"gtk-titlebar-hide-when-maximized") { From 1be89cb1461654962c67f9eede10c7c29a8304d7 Mon Sep 17 00:00:00 2001 From: Adam Wolf Date: Wed, 15 Jan 2025 00:59:34 -0600 Subject: [PATCH 151/365] fix: also respect gtk-titlebar value in fullscreened callback --- src/apprt/gtk/Window.zig | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/apprt/gtk/Window.zig b/src/apprt/gtk/Window.zig index 3512e211d..b850ece81 100644 --- a/src/apprt/gtk/Window.zig +++ b/src/apprt/gtk/Window.zig @@ -675,7 +675,13 @@ fn gtkWindowNotifyFullscreened( ud: ?*anyopaque, ) callconv(.C) void { const self = userdataSelf(ud orelse return); - self.headerbar.setVisible(c.gtk_window_is_fullscreen(@ptrCast(object)) == 0); + const fullscreened = c.gtk_window_is_fullscreen(@ptrCast(object)) != 0; + if (!fullscreened) { + self.headerbar.setVisible(self.app.config.@"gtk-titlebar"); + return; + } + + self.headerbar.setVisible(false); } // Note: we MUST NOT use the GtkButton parameter because gtkActionNewTab From 078ee42be32c3bde946d3ce18b05d79ae518649e Mon Sep 17 00:00:00 2001 From: Mitchell Hashimoto Date: Thu, 23 Jan 2025 15:04:39 -0800 Subject: [PATCH 152/365] apprt/gtk: we should only show the headerbar again if csd --- src/apprt/gtk/Window.zig | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/apprt/gtk/Window.zig b/src/apprt/gtk/Window.zig index b850ece81..58f5659f0 100644 --- a/src/apprt/gtk/Window.zig +++ b/src/apprt/gtk/Window.zig @@ -639,16 +639,20 @@ fn gtkWindowNotifyMaximized( ud: ?*anyopaque, ) callconv(.C) void { const self = userdataSelf(ud orelse return); - const maximized = c.gtk_window_is_maximized(self.window) != 0; // Only toggle visibility of the header bar when we're using CSDs, // and actually intend on displaying the header bar if (!self.winproto.clientSideDecorationEnabled()) return; + // If we aren't maximized, we should show the headerbar again + // if it was originally visible. + const maximized = c.gtk_window_is_maximized(self.window) != 0; if (!maximized) { self.headerbar.setVisible(self.app.config.@"gtk-titlebar"); return; } + + // If we are maximized, we should hide the headerbar if requested. if (self.app.config.@"gtk-titlebar-hide-when-maximized") { self.headerbar.setVisible(false); } @@ -677,7 +681,8 @@ fn gtkWindowNotifyFullscreened( const self = userdataSelf(ud orelse return); const fullscreened = c.gtk_window_is_fullscreen(@ptrCast(object)) != 0; if (!fullscreened) { - self.headerbar.setVisible(self.app.config.@"gtk-titlebar"); + const csd_enabled = self.winproto.clientSideDecorationEnabled(); + self.headerbar.setVisible(self.app.config.@"gtk-titlebar" and csd_enabled); return; } From 956bb8f02b860be27de966eb31b15028d5544409 Mon Sep 17 00:00:00 2001 From: Leah Amelia Chen Date: Tue, 14 Jan 2025 14:47:17 +0100 Subject: [PATCH 153/365] gtk: request initial color scheme asynchronously Requesting the initial color scheme on systems where the D-Bus interface is nonexistent would delay Ghostty startup by 1-2 minutes. That's not acceptable. Our color scheme events are already async-friendly anyway. Fixes #4632 --- src/apprt/gtk/App.zig | 148 +++++++++++++++++--------------------- src/apprt/gtk/Surface.zig | 3 - 2 files changed, 66 insertions(+), 85 deletions(-) diff --git a/src/apprt/gtk/App.zig b/src/apprt/gtk/App.zig index 193710293..df74cefb2 100644 --- a/src/apprt/gtk/App.zig +++ b/src/apprt/gtk/App.zig @@ -73,6 +73,11 @@ clipboard_confirmation_window: ?*ClipboardConfirmationWindow = null, /// This is set to false when the main loop should exit. running: bool = true, +/// If we should retry querying D-Bus for the color scheme with the deprecated +/// Read method, instead of the recommended ReadOne method. This is kind of +/// nasty to have as struct state but its just a byte... +dbus_color_scheme_retry: bool = true, + /// The base path of the transient cgroup used to put all surfaces /// into their own cgroup. This is only set if cgroups are enabled /// and initialization was successful. @@ -1271,7 +1276,8 @@ pub fn run(self: *App) !void { self.transient_cgroup_base = path; } else log.debug("cgroup isolation disabled config={}", .{self.config.@"linux-cgroup"}); - // Setup our D-Bus connection for listening to settings changes. + // Setup our D-Bus connection for listening to settings changes, + // and asynchronously request the initial color scheme self.initDbus(); // Setup our menu items @@ -1279,9 +1285,6 @@ pub fn run(self: *App) !void { self.initMenu(); self.initContextMenu(); - // Setup our initial color scheme - self.colorSchemeEvent(self.getColorScheme()); - // On startup, we want to check for configuration errors right away // so we can show our error window. We also need to setup other initial // state. @@ -1329,6 +1332,22 @@ fn initDbus(self: *App) void { self, null, ); + + // Request the initial color scheme asynchronously. + c.g_dbus_connection_call( + dbus, + "org.freedesktop.portal.Desktop", + "/org/freedesktop/portal/desktop", + "org.freedesktop.portal.Settings", + "ReadOne", + c.g_variant_new("(ss)", "org.freedesktop.appearance", "color-scheme"), + c.G_VARIANT_TYPE("(v)"), + c.G_DBUS_CALL_FLAGS_NONE, + -1, + null, + dbusColorSchemeCallback, + self, + ); } // This timeout function is started when no surfaces are open. It can be @@ -1566,93 +1585,58 @@ fn gtkWindowIsActive( core_app.focusEvent(false); } -/// Call a D-Bus method to determine the current color scheme. If there -/// is any error at any point we'll log the error and return "light" -pub fn getColorScheme(self: *App) apprt.ColorScheme { - const dbus_connection = c.g_application_get_dbus_connection(@ptrCast(self.app)); +fn dbusColorSchemeCallback( + source_object: [*c]c.GObject, + res: ?*c.GAsyncResult, + ud: ?*anyopaque, +) callconv(.C) void { + const self: *App = @ptrCast(@alignCast(ud.?)); + const dbus: *c.GDBusConnection = @ptrCast(source_object); var err: ?*c.GError = null; defer if (err) |e| c.g_error_free(e); - const value = c.g_dbus_connection_call_sync( - dbus_connection, - "org.freedesktop.portal.Desktop", - "/org/freedesktop/portal/desktop", - "org.freedesktop.portal.Settings", - "ReadOne", - c.g_variant_new("(ss)", "org.freedesktop.appearance", "color-scheme"), - c.G_VARIANT_TYPE("(v)"), - c.G_DBUS_CALL_FLAGS_NONE, - -1, - null, - &err, - ) orelse { - if (err) |e| { - // If ReadOne is not yet implemented, fall back to deprecated "Read" method - // Error code: GDBus.Error:org.freedesktop.DBus.Error.UnknownMethod: No such method “ReadOne” - if (e.code == 19) { - return self.getColorSchemeDeprecated(); + if (c.g_dbus_connection_call_finish(dbus, res, &err)) |value| { + if (c.g_variant_is_of_type(value, c.G_VARIANT_TYPE("(v)")) == 1) { + var inner: ?*c.GVariant = null; + c.g_variant_get(value, "(v)", &inner); + defer c.g_variant_unref(inner); + if (c.g_variant_is_of_type(inner, c.G_VARIANT_TYPE("u")) == 1) { + self.colorSchemeEvent(if (c.g_variant_get_uint32(inner) == 1) + .dark + else + .light); + return; } - // Otherwise, log the error and return .light - log.err("unable to get current color scheme: {s}", .{e.message}); } - return .light; - }; - defer c.g_variant_unref(value); + } else if (err) |e| { + // If ReadOne is not yet implemented, fall back to deprecated "Read" method + // Error code: GDBus.Error:org.freedesktop.DBus.Error.UnknownMethod: No such method “ReadOne” + if (self.dbus_color_scheme_retry and e.code == 19) { + self.dbus_color_scheme_retry = false; + c.g_dbus_connection_call( + dbus, + "org.freedesktop.portal.Desktop", + "/org/freedesktop/portal/desktop", + "org.freedesktop.portal.Settings", + "Read", + c.g_variant_new("(ss)", "org.freedesktop.appearance", "color-scheme"), + c.G_VARIANT_TYPE("(v)"), + c.G_DBUS_CALL_FLAGS_NONE, + -1, + null, + dbusColorSchemeCallback, + self, + ); + return; + } - if (c.g_variant_is_of_type(value, c.G_VARIANT_TYPE("(v)")) == 1) { - var inner: ?*c.GVariant = null; - c.g_variant_get(value, "(v)", &inner); - defer c.g_variant_unref(inner); - if (c.g_variant_is_of_type(inner, c.G_VARIANT_TYPE("u")) == 1) { - return if (c.g_variant_get_uint32(inner) == 1) .dark else .light; - } + // Otherwise, log the error and return .light + log.warn("unable to get current color scheme: {s}", .{e.message}); } - return .light; -} - -/// Call the deprecated D-Bus "Read" method to determine the current color scheme. If -/// there is any error at any point we'll log the error and return "light" -fn getColorSchemeDeprecated(self: *App) apprt.ColorScheme { - const dbus_connection = c.g_application_get_dbus_connection(@ptrCast(self.app)); - var err: ?*c.GError = null; - defer if (err) |e| c.g_error_free(e); - - const value = c.g_dbus_connection_call_sync( - dbus_connection, - "org.freedesktop.portal.Desktop", - "/org/freedesktop/portal/desktop", - "org.freedesktop.portal.Settings", - "Read", - c.g_variant_new("(ss)", "org.freedesktop.appearance", "color-scheme"), - c.G_VARIANT_TYPE("(v)"), - c.G_DBUS_CALL_FLAGS_NONE, - -1, - null, - &err, - ) orelse { - if (err) |e| log.err("Read method failed: {s}", .{e.message}); - return .light; - }; - defer c.g_variant_unref(value); - - if (c.g_variant_is_of_type(value, c.G_VARIANT_TYPE("(v)")) == 1) { - var inner: ?*c.GVariant = null; - c.g_variant_get(value, "(v)", &inner); - defer if (inner) |i| c.g_variant_unref(i); - - if (inner) |i| { - const child = c.g_variant_get_child_value(i, 0) orelse { - return .light; - }; - defer c.g_variant_unref(child); - - const val = c.g_variant_get_uint32(child); - return if (val == 1) .dark else .light; - } - } - return .light; + // Fall back + self.colorSchemeEvent(.light); } /// This will be called by D-Bus when the style changes between light & dark. diff --git a/src/apprt/gtk/Surface.zig b/src/apprt/gtk/Surface.zig index b429c7233..a72830786 100644 --- a/src/apprt/gtk/Surface.zig +++ b/src/apprt/gtk/Surface.zig @@ -633,9 +633,6 @@ fn realize(self: *Surface) !void { try self.core_surface.setFontSize(size); } - // Set the initial color scheme - try self.core_surface.colorSchemeCallback(self.app.getColorScheme()); - // Note we're realized self.realized = true; } From 5327646d583d46686a31dec902e349144d52c81c Mon Sep 17 00:00:00 2001 From: Mitchell Hashimoto Date: Thu, 23 Jan 2025 15:41:00 -0800 Subject: [PATCH 154/365] config: rename adw-toasts to app-notifications There is no `renamed` entry for this because this was never part of a released version of Ghostty. This is not considered a break change. Fixes #4460 --- src/apprt/gtk/Surface.zig | 2 +- src/config/Config.zig | 52 ++++++++++++++++++++------------------- 2 files changed, 28 insertions(+), 26 deletions(-) diff --git a/src/apprt/gtk/Surface.zig b/src/apprt/gtk/Surface.zig index a72830786..76be18591 100644 --- a/src/apprt/gtk/Surface.zig +++ b/src/apprt/gtk/Surface.zig @@ -1133,7 +1133,7 @@ pub fn setClipboardString( c.gdk_clipboard_set_text(clipboard, val.ptr); // We only toast if we are copying to the standard clipboard. if (clipboard_type == .standard and - self.app.config.@"adw-toast".@"clipboard-copy") + self.app.config.@"app-notifications".@"clipboard-copy") { if (self.container.window()) |window| window.sendToast("Copied to clipboard"); diff --git a/src/config/Config.zig b/src/config/Config.zig index 16e08bf08..839656169 100644 --- a/src/config/Config.zig +++ b/src/config/Config.zig @@ -1771,6 +1771,31 @@ keybind: Keybinds = .{}, /// open terminals. @"custom-shader-animation": CustomShaderAnimation = .true, +/// Control the in-app notifications that Ghostty shows. +/// +/// On Linux (GTK) with Adwaita, in-app notifications show up as toasts. Toasts +/// appear overlaid on top of the terminal window. They are used to show +/// information that is not critical but may be important. +/// +/// Possible notifications are: +/// +/// - `clipboard-copy` (default: true) - Show a notification when text is copied +/// to the clipboard. +/// +/// To specify a notification to enable, specify the name of the notification. +/// To specify a notification to disable, prefix the name with `no-`. For +/// example, to disable `clipboard-copy`, set this configuration to +/// `no-clipboard-copy`. To enable it, set this configuration to `clipboard-copy`. +/// +/// Multiple notifications can be enabled or disabled by separating them +/// with a comma. +/// +/// A value of "false" will disable all notifications. A value of "true" will +/// enable all notifications. +/// +/// This configuration only applies to GTK with Adwaita enabled. +@"app-notifications": AppNotifications = .{}, + /// If anything other than false, fullscreen mode on macOS will not use the /// native fullscreen, but make the window fullscreen without animations and /// using a new space. It's faster than the native fullscreen mode since it @@ -2121,29 +2146,6 @@ keybind: Keybinds = .{}, /// Changing this value at runtime will only affect new windows. @"adw-toolbar-style": AdwToolbarStyle = .raised, -/// Control the toasts that Ghostty shows. Toasts are small notifications -/// that appear overlaid on top of the terminal window. They are used to -/// show information that is not critical but may be important. -/// -/// Possible toasts are: -/// -/// - `clipboard-copy` (default: true) - Show a toast when text is copied -/// to the clipboard. -/// -/// To specify a toast to enable, specify the name of the toast. To specify -/// a toast to disable, prefix the name with `no-`. For example, to disable -/// the clipboard-copy toast, set this configuration to `no-clipboard-copy`. -/// To enable the clipboard-copy toast, set this configuration to -/// `clipboard-copy`. -/// -/// Multiple toasts can be enabled or disabled by separating them with a comma. -/// -/// A value of "false" will disable all toasts. A value of "true" will -/// enable all toasts. -/// -/// This configuration only applies to GTK with Adwaita enabled. -@"adw-toast": AdwToast = .{}, - /// If `true` (default), then the Ghostty GTK tabs will be "wide." Wide tabs /// are the new typical Gnome style where tabs fill their available space. /// If you set this to `false` then tabs will only take up space they need, @@ -5745,8 +5747,8 @@ pub const AdwToolbarStyle = enum { @"raised-border", }; -/// See adw-toast -pub const AdwToast = packed struct { +/// See app-notifications +pub const AppNotifications = packed struct { @"clipboard-copy": bool = true, }; From 168dd3136756836259b43a72bca9791827fb717b Mon Sep 17 00:00:00 2001 From: Anund Date: Fri, 3 Jan 2025 23:53:22 +1100 Subject: [PATCH 155/365] documentation: consistent format for actions help --- src/cli/action.zig | 6 +++--- src/cli/help.zig | 8 +++++--- src/cli/list_actions.zig | 4 +++- src/cli/list_fonts.zig | 21 ++++++++++++++------- src/cli/list_keybinds.zig | 12 ++++++++---- src/cli/list_themes.zig | 1 + src/cli/validate_config.zig | 9 ++++++--- src/cli/version.zig | 3 ++- src/shell-integration/README.md | 2 +- 9 files changed, 43 insertions(+), 23 deletions(-) diff --git a/src/cli/action.zig b/src/cli/action.zig index a84a40024..693d509fc 100644 --- a/src/cli/action.zig +++ b/src/cli/action.zig @@ -45,12 +45,12 @@ pub const Action = enum { // Validate passed config file @"validate-config", - // List, (eventually) view, and (eventually) send crash reports. - @"crash-report", - // Show which font face Ghostty loads a codepoint from. @"show-face", + // List, (eventually) view, and (eventually) send crash reports. + @"crash-report", + pub const Error = error{ /// Multiple actions were detected. You can specify at most one /// action on the CLI otherwise the behavior desired is ambiguous. diff --git a/src/cli/help.zig b/src/cli/help.zig index daadc37cc..22fe27d8d 100644 --- a/src/cli/help.zig +++ b/src/cli/help.zig @@ -15,9 +15,11 @@ pub const Options = struct { } }; -/// The `help` command shows general help about Ghostty. You can also specify -/// `--help` or `-h` along with any action such as `+list-themes` to see help -/// for a specific action. +/// The `help` command shows general help about Ghostty. Recognized as either +/// `-h, `--help`, or like other actions `+help`. +/// +/// You can also specify `--help` or `-h` along with any action such as +/// `+list-themes` to see help for a specific action. pub fn run(alloc: Allocator) !u8 { var opts: Options = .{}; defer opts.deinit(); diff --git a/src/cli/list_actions.zig b/src/cli/list_actions.zig index 65b9dcdad..6f67a92d2 100644 --- a/src/cli/list_actions.zig +++ b/src/cli/list_actions.zig @@ -24,7 +24,9 @@ pub const Options = struct { /// actions for Ghostty. These are distinct from the CLI Actions which can /// be listed via `+help` /// -/// The `--docs` argument will print out the documentation for each action. +/// Flags: +/// +/// * `--docs`: will print out the documentation for each action. pub fn run(alloc: Allocator) !u8 { var opts: Options = .{}; defer opts.deinit(); diff --git a/src/cli/list_fonts.zig b/src/cli/list_fonts.zig index 9d1f34cd1..e8a010ecd 100644 --- a/src/cli/list_fonts.zig +++ b/src/cli/list_fonts.zig @@ -44,14 +44,21 @@ pub const Options = struct { /// the sorting will be disabled and the results instead will be shown in the /// same priority order Ghostty would use to pick a font. /// -/// The `--family` argument can be used to filter results to a specific family. -/// The family handling is identical to the `font-family` set of Ghostty -/// configuration values, so this can be used to debug why your desired font may -/// not be loading. +/// Flags: /// -/// The `--bold` and `--italic` arguments can be used to filter results to -/// specific styles. It is not guaranteed that only those styles are returned, -/// it will just prioritize fonts that match those styles. +/// * `--bold`: Filter results to specific bold styles. It is not guaranteed +/// that only those styles are returned. They are only prioritized. +/// +/// * `--italic`: Filter results to specific italic styles. It is not guaranteed +/// that only those styles are returned. They are only prioritized. +/// +/// * `--style`: Filter results based on the style string advertised by a font. +/// It is not guaranteed that only those styles are returned. They are only +/// prioritized. +/// +/// * `--family`: Filter results to a specific font family. The family handling +/// is identical to the `font-family` set of Ghostty configuration values, so +/// this can be used to debug why your desired font may not be loading. pub fn run(alloc: Allocator) !u8 { var iter = try args.argsIterator(alloc); defer iter.deinit(); diff --git a/src/cli/list_keybinds.zig b/src/cli/list_keybinds.zig index ddaf75177..13c69d970 100644 --- a/src/cli/list_keybinds.zig +++ b/src/cli/list_keybinds.zig @@ -42,11 +42,15 @@ pub const Options = struct { /// changes to the keybinds it will print out the default ones configured for /// Ghostty /// -/// The `--default` argument will print out all the default keybinds configured -/// for Ghostty +/// Flags: /// -/// The `--plain` flag will disable formatting and make the output more -/// friendly for Unix tooling. This is default when not printing to a tty. +/// * `--default`: will print out all the default keybinds +/// +/// * `--docs`: currently does nothing, intended to print out documentation +/// about the action associated with the keybinds +/// +/// * `--plain`: will disable formatting and make the output more +/// friendly for Unix tooling. This is default when not printing to a tty. pub fn run(alloc: Allocator) !u8 { var opts: Options = .{}; defer opts.deinit(); diff --git a/src/cli/list_themes.zig b/src/cli/list_themes.zig index 22e22a972..f7ee10ce6 100644 --- a/src/cli/list_themes.zig +++ b/src/cli/list_themes.zig @@ -91,6 +91,7 @@ const ThemeListElement = struct { /// Flags: /// /// * `--path`: Show the full path to the theme. +/// /// * `--plain`: Force a plain listing of themes. pub fn run(gpa_alloc: std.mem.Allocator) !u8 { var opts: Options = .{}; diff --git a/src/cli/validate_config.zig b/src/cli/validate_config.zig index 1615ef66b..5bc6ff406 100644 --- a/src/cli/validate_config.zig +++ b/src/cli/validate_config.zig @@ -23,10 +23,13 @@ pub const Options = struct { /// The `validate-config` command is used to validate a Ghostty config file. /// -/// When executed without any arguments, this will load the config from the default location. +/// When executed without any arguments, this will load the config from the default +/// location. /// -/// The `--config-file` argument can be passed to validate a specific target config -/// file in a non-default location. +/// Flags: +/// +/// * `--config-file`: can be passed to validate a specific target config file in +/// a non-default location pub fn run(alloc: std.mem.Allocator) !u8 { var opts: Options = .{}; defer opts.deinit(); diff --git a/src/cli/version.zig b/src/cli/version.zig index b00152589..4a6af242c 100644 --- a/src/cli/version.zig +++ b/src/cli/version.zig @@ -10,7 +10,8 @@ const gtk = if (build_config.app_runtime == .gtk) @import("../apprt/gtk/c.zig"). pub const Options = struct {}; -/// The `version` command is used to display information about Ghostty. +/// The `version` command is used to display information about Ghostty. Recognized as +/// either `+version` or `--version`. pub fn run(alloc: Allocator) !u8 { _ = alloc; diff --git a/src/shell-integration/README.md b/src/shell-integration/README.md index 976cf4924..3d5159c71 100644 --- a/src/shell-integration/README.md +++ b/src/shell-integration/README.md @@ -6,7 +6,7 @@ supports. This README is meant as developer documentation and not as user documentation. For user documentation, see the main -README. +README or [ghostty.org](https://ghostty.org/docs) ## Implementation Details From 098a46f0773c544b07e8d812247719893f1b6b6d Mon Sep 17 00:00:00 2001 From: Anund Date: Wed, 8 Jan 2025 17:32:11 +1100 Subject: [PATCH 156/365] docs: generate mdx file for cli actions --- src/build/Config.zig | 1 + src/build/GhosttyWebdata.zig | 29 +++++++++++++++++ src/build/webgen/main_commands.zig | 51 ++++++++++++++++++++++++++++++ src/cli/README.md | 13 ++++++++ src/main.zig | 1 + 5 files changed, 95 insertions(+) create mode 100644 src/build/webgen/main_commands.zig create mode 100644 src/cli/README.md diff --git a/src/build/Config.zig b/src/build/Config.zig index 71dffce4a..b65a8d566 100644 --- a/src/build/Config.zig +++ b/src/build/Config.zig @@ -486,6 +486,7 @@ pub const ExeEntrypoint = enum { mdgen_ghostty_5, webgen_config, webgen_actions, + webgen_commands, bench_parser, bench_stream, bench_codepoint_width, diff --git a/src/build/GhosttyWebdata.zig b/src/build/GhosttyWebdata.zig index 6e0acaf17..860feb705 100644 --- a/src/build/GhosttyWebdata.zig +++ b/src/build/GhosttyWebdata.zig @@ -73,6 +73,35 @@ pub fn init( ).step); } + { + const webgen_commands = b.addExecutable(.{ + .name = "webgen_commands", + .root_source_file = b.path("src/main.zig"), + .target = b.host, + }); + deps.help_strings.addImport(webgen_commands); + + { + const buildconfig = config: { + var copy = deps.config.*; + copy.exe_entrypoint = .webgen_commands; + break :config copy; + }; + + const options = b.addOptions(); + try buildconfig.addOptions(options); + webgen_commands.root_module.addOptions("build_options", options); + } + + const webgen_commands_step = b.addRunArtifact(webgen_commands); + const webgen_commands_out = webgen_commands_step.captureStdOut(); + + try steps.append(&b.addInstallFile( + webgen_commands_out, + "share/ghostty/webdata/commands.mdx", + ).step); + } + return .{ .steps = steps.items }; } diff --git a/src/build/webgen/main_commands.zig b/src/build/webgen/main_commands.zig new file mode 100644 index 000000000..6e6b00c5e --- /dev/null +++ b/src/build/webgen/main_commands.zig @@ -0,0 +1,51 @@ +const std = @import("std"); +const Action = @import("../../cli/action.zig").Action; +const help_strings = @import("help_strings"); + +pub fn main() !void { + const output = std.io.getStdOut().writer(); + try genActions(output); +} + +// Note: as a shortcut for defining inline editOnGithubLinks per cli action the user +// is directed to the folder view on Github. This includes a README pointing them to +// the files to edit. +pub fn genActions(writer: anytype) !void { + // Write the header + try writer.writeAll( + \\--- + \\title: Reference + \\description: Reference of all Ghostty action subcommands. + \\editOnGithubLink: https://github.com/ghostty-org/ghostty/tree/main/src/cli + \\--- + \\Ghostty includes a number of utility actions that can be accessed as subcommands. + \\Actions provide utilities to work with config, list keybinds, list fonts, demo themes, + \\and debug. + \\ + ); + + inline for (@typeInfo(Action).Enum.fields) |field| { + const action = std.meta.stringToEnum(Action, field.name).?; + + switch (action) { + .help, .version => try writer.writeAll("## " ++ field.name ++ "\n"), + else => try writer.writeAll("## " ++ field.name ++ "\n"), + } + + if (@hasDecl(help_strings.Action, field.name)) { + var iter = std.mem.splitScalar(u8, @field(help_strings.Action, field.name), '\n'); + var first = true; + while (iter.next()) |s| { + try writer.writeAll(s); + try writer.writeAll("\n"); + first = false; + } + try writer.writeAll("\n```\n"); + switch (action) { + .help, .version => try writer.writeAll("ghostty --" ++ field.name ++ "\n"), + else => try writer.writeAll("ghostty +" ++ field.name ++ "\n"), + } + try writer.writeAll("```\n\n"); + } + } +} diff --git a/src/cli/README.md b/src/cli/README.md new file mode 100644 index 000000000..7a1d99409 --- /dev/null +++ b/src/cli/README.md @@ -0,0 +1,13 @@ +# Subcommand Actions + +This is the cli specific code. It contains cli actions and tui definitions and +argument parsing. + +This README is meant as developer documentation and not as user documentation. +For user documentation, see the main README or [ghostty.org](https://ghostty.org/docs). + +## Updating documentation + +Each cli action is defined in it's own file. Documentation for each action is defined +in the doc comment associated with the `run` function. For example the `run` function +in `list_keybinds.zig` contains the help text for `ghostty +list-keybinds`. diff --git a/src/main.zig b/src/main.zig index ecf38fbb3..121a3b7d2 100644 --- a/src/main.zig +++ b/src/main.zig @@ -9,6 +9,7 @@ const entrypoint = switch (build_config.exe_entrypoint) { .mdgen_ghostty_5 => @import("build/mdgen/main_ghostty_5.zig"), .webgen_config => @import("build/webgen/main_config.zig"), .webgen_actions => @import("build/webgen/main_actions.zig"), + .webgen_commands => @import("build/webgen/main_commands.zig"), .bench_parser => @import("bench/parser.zig"), .bench_stream => @import("bench/stream.zig"), .bench_codepoint_width => @import("bench/codepoint-width.zig"), From 78790f6ef75c95929ad8dcb56b79efe91be55c64 Mon Sep 17 00:00:00 2001 From: Qwerasd Date: Thu, 23 Jan 2025 20:06:53 -0500 Subject: [PATCH 157/365] fix(Metal): always render explicit background colors fully opaque This fixes a regression introduced by the rework of this area before during the color space changes. It seems like the original intent of this code was the behavior it regressed to, but it turns out to be better like this. --- src/renderer/Metal.zig | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/renderer/Metal.zig b/src/renderer/Metal.zig index bf28b58ac..52a5437c6 100644 --- a/src/renderer/Metal.zig +++ b/src/renderer/Metal.zig @@ -2672,9 +2672,8 @@ fn rebuildCells( // Cells that are reversed should be fully opaque. if (style.flags.inverse) break :bg_alpha default; - // Cells that have an explicit bg color, which does not - // match the current surface bg, should be fully opaque. - if (bg != null and !rgb.eql(self.background_color orelse self.default_background_color)) { + // Cells that have an explicit bg color should be fully opaque. + if (bg_style != null) { break :bg_alpha default; } From c0eb6985ee6adaeb031751fddb0d0448533d68c6 Mon Sep 17 00:00:00 2001 From: Mitchell Hashimoto Date: Thu, 23 Jan 2025 19:38:13 -0800 Subject: [PATCH 158/365] Revert "build: options to enable/disable terminfo & termcap install" This reverts commit 8f49a227b7c352083b0815e7818db900402513e0. --- src/build/Config.zig | 25 +------------------- src/build/GhosttyResources.zig | 42 +++++++++++++++++----------------- src/os/resourcesdir.zig | 5 +--- 3 files changed, 23 insertions(+), 49 deletions(-) diff --git a/src/build/Config.zig b/src/build/Config.zig index 8b28a6a04..b65a8d566 100644 --- a/src/build/Config.zig +++ b/src/build/Config.zig @@ -55,8 +55,6 @@ emit_helpgen: bool = false, emit_docs: bool = false, emit_webdata: bool = false, emit_xcframework: bool = false, -emit_terminfo: bool = false, -emit_termcap: bool = false, /// Environmental properties env: std.process.EnvMap, @@ -308,32 +306,11 @@ pub fn init(b: *std.Build) !Config { break :emit_docs path != null; }; - config.emit_terminfo = b.option( - bool, - "emit-terminfo", - "Install Ghostty terminfo source file", - ) orelse switch (target.result.os.tag) { - .windows => true, - else => switch (optimize) { - .Debug => true, - .ReleaseSafe, .ReleaseFast, .ReleaseSmall => false, - }, - }; - - config.emit_termcap = b.option( - bool, - "emit-termcap", - "Install Ghostty termcap file", - ) orelse false; - config.emit_webdata = b.option( bool, "emit-webdata", "Build the website data for the website.", - ) orelse switch (optimize) { - .Debug => true, - .ReleaseSafe, .ReleaseFast, .ReleaseSmall => false, - }; + ) orelse false; config.emit_xcframework = b.option( bool, diff --git a/src/build/GhosttyResources.zig b/src/build/GhosttyResources.zig index c0830e5f6..cae907ec2 100644 --- a/src/build/GhosttyResources.zig +++ b/src/build/GhosttyResources.zig @@ -23,12 +23,9 @@ pub fn init(b: *std.Build, cfg: *const Config) !GhosttyResources { // Write it var wf = b.addWriteFiles(); - const source = wf.add("ghostty.terminfo", str.items); - - if (cfg.emit_terminfo) { - const source_install = b.addInstallFile(source, "share/terminfo/ghostty.terminfo"); - try steps.append(&source_install.step); - } + const src_source = wf.add("share/terminfo/ghostty.terminfo", str.items); + const src_install = b.addInstallFile(src_source, "share/terminfo/ghostty.terminfo"); + try steps.append(&src_install.step); // Windows doesn't have the binaries below. if (cfg.target.result.os.tag == .windows) break :terminfo; @@ -36,10 +33,10 @@ pub fn init(b: *std.Build, cfg: *const Config) !GhosttyResources { // Convert to termcap source format if thats helpful to people and // install it. The resulting value here is the termcap source in case // that is used for other commands. - if (cfg.emit_termcap) { + { const run_step = RunStep.create(b, "infotocap"); - run_step.addArgs(&.{ "infotocap", "-" }); - run_step.setStdIn(.{ .lazy_path = source }); + run_step.addArg("infotocap"); + run_step.addFileArg(src_source); const out_source = run_step.captureStdOut(); _ = run_step.captureStdErr(); // so we don't see stderr @@ -51,21 +48,24 @@ pub fn init(b: *std.Build, cfg: *const Config) !GhosttyResources { { const run_step = RunStep.create(b, "tic"); run_step.addArgs(&.{ "tic", "-x", "-o" }); - const path = run_step.addOutputDirectoryArg("share/terminfo"); - run_step.addArg("-"); - run_step.setStdIn(.{ .lazy_path = source }); + const path = run_step.addOutputFileArg("terminfo"); + run_step.addFileArg(src_source); _ = run_step.captureStdErr(); // so we don't see stderr - try steps.append(&run_step.step); + // Depend on the terminfo source install step so that Zig build + // creates the "share" directory for us. + run_step.step.dependOn(&src_install.step); - // Use cp -R instead of Step.InstallDir because we need to preserve - // symlinks in the terminfo database. Zig's InstallDir step doesn't - // handle symlinks correctly yet. - const copy_step = RunStep.create(b, "copy terminfo db"); - copy_step.addArgs(&.{ "cp", "-R" }); - copy_step.addFileArg(path); - copy_step.addArg(b.fmt("{s}/share", .{b.install_path})); - try steps.append(©_step.step); + { + // Use cp -R instead of Step.InstallDir because we need to preserve + // symlinks in the terminfo database. Zig's InstallDir step doesn't + // handle symlinks correctly yet. + const copy_step = RunStep.create(b, "copy terminfo db"); + copy_step.addArgs(&.{ "cp", "-R" }); + copy_step.addFileArg(path); + copy_step.addArg(b.fmt("{s}/share", .{b.install_path})); + try steps.append(©_step.step); + } } } diff --git a/src/os/resourcesdir.zig b/src/os/resourcesdir.zig index d2b274e87..c0f82dec5 100644 --- a/src/os/resourcesdir.zig +++ b/src/os/resourcesdir.zig @@ -21,10 +21,7 @@ pub fn resourcesDir(alloc: std.mem.Allocator) !?[]const u8 { // This is the sentinel value we look for in the path to know // we've found the resources directory. - const sentinel = switch (comptime builtin.target.os.tag) { - .windows => "terminfo/ghostty.terminfo", - else => "terminfo/x/xterm-ghostty", - }; + const sentinel = "terminfo/ghostty.termcap"; // Get the path to our running binary var exe_buf: [std.fs.max_path_bytes]u8 = undefined; From 0d6a1d3fdb93ee5444a2f998e085266ad443442a Mon Sep 17 00:00:00 2001 From: Mitchell Hashimoto Date: Thu, 23 Jan 2025 21:22:06 -0800 Subject: [PATCH 159/365] Prevent fd leaks to the running shell or command Multiple fixes to prevent file descriptor leaks: - libxev eventfd now uses CLOEXEC - linux: cgroup clone now uses CLOEXEC for the cgroup fd - termio pipe uses pipe2 with CLOEXEC - pty master always sets CLOEXEC because the child doesn't need it - termio exec now closes pty slave fd after fork There still appear to be some fd leaks happening. They seem related to GTK, they aren't things we're accessig directly. I still want to investigate them but this at least cleans up the major sources of fd leakage. --- build.zig.zon | 4 ++-- nix/zigCacheHash.nix | 2 +- src/os/cgroup.zig | 17 ++++++++++++++++- src/os/pipe.zig | 5 +++-- src/pty.zig | 26 ++++++++++++++++++++++---- src/termio/Exec.zig | 11 +++++++++++ 6 files changed, 55 insertions(+), 10 deletions(-) diff --git a/build.zig.zon b/build.zig.zon index 09dc9847e..9c00a4704 100644 --- a/build.zig.zon +++ b/build.zig.zon @@ -5,8 +5,8 @@ .dependencies = .{ // Zig libs .libxev = .{ - .url = "https://github.com/mitchellh/libxev/archive/db6a52bafadf00360e675fefa7926e8e6c0e9931.tar.gz", - .hash = "12206029de146b685739f69b10a6f08baee86b3d0a5f9a659fa2b2b66c9602078bbf", + .url = "https://github.com/mitchellh/libxev/archive/aceef3d11efacd9d237c91632f930ed13a2834bf.tar.gz", + .hash = "12205b2b47fe61a4cde3a45ee4b9cddee75897739dbc196d6396e117cb1ce28e1ad0", }, .mach_glfw = .{ .url = "https://github.com/mitchellh/mach-glfw/archive/37c2995f31abcf7e8378fba68ddcf4a3faa02de0.tar.gz", diff --git a/nix/zigCacheHash.nix b/nix/zigCacheHash.nix index dfc2e5f7f..c687a5a79 100644 --- a/nix/zigCacheHash.nix +++ b/nix/zigCacheHash.nix @@ -1,3 +1,3 @@ # This file is auto-generated! check build-support/check-zig-cache-hash.sh for # more details. -"sha256-H6o4Y09ATIylMUWuL9Y1fHwpuxSWyJ3Pl8fn4VeoDZo=" +"sha256-AvfYl8vLxxsRnf/ERpw5jQIro5rVd98q63hwFsgQOvo=" diff --git a/src/os/cgroup.zig b/src/os/cgroup.zig index 0a66c5987..bef101acc 100644 --- a/src/os/cgroup.zig +++ b/src/os/cgroup.zig @@ -77,7 +77,22 @@ pub fn cloneInto(cgroup: []const u8) !posix.pid_t { // Get a file descriptor that refers to the cgroup directory in the cgroup // sysfs to pass to the kernel in clone3. const fd: linux.fd_t = fd: { - const rc = linux.open(path, linux.O{ .PATH = true, .DIRECTORY = true }, 0); + const rc = linux.open( + path, + .{ + // Self-explanatory: we expect to open a directory, and + // we only need the path-level permissions. + .PATH = true, + .DIRECTORY = true, + + // We don't want to leak this fd to the child process + // when we clone below since we're using this fd for + // a cgroup clone. + .CLOEXEC = true, + }, + 0, + ); + switch (posix.errno(rc)) { .SUCCESS => break :fd @as(linux.fd_t, @intCast(rc)), else => |errno| { diff --git a/src/os/pipe.zig b/src/os/pipe.zig index 392f72083..2cb7bd4a3 100644 --- a/src/os/pipe.zig +++ b/src/os/pipe.zig @@ -3,10 +3,11 @@ const builtin = @import("builtin"); const windows = @import("windows.zig"); const posix = std.posix; -/// pipe() that works on Windows and POSIX. +/// pipe() that works on Windows and POSIX. For POSIX systems, this sets +/// CLOEXEC on the file descriptors. pub fn pipe() ![2]posix.fd_t { switch (builtin.os.tag) { - else => return try posix.pipe(), + else => return try posix.pipe2(.{ .CLOEXEC = true }), .windows => { var read: windows.HANDLE = undefined; var write: windows.HANDLE = undefined; diff --git a/src/pty.zig b/src/pty.zig index c0d082411..1df09d79c 100644 --- a/src/pty.zig +++ b/src/pty.zig @@ -94,6 +94,9 @@ const PosixPty = struct { }; /// The file descriptors for the master and slave side of the pty. + /// The slave side is never closed automatically by this struct + /// so the caller is responsible for closing it if things + /// go wrong. master: Fd, slave: Fd, @@ -117,6 +120,24 @@ const PosixPty = struct { _ = posix.system.close(slave_fd); } + // Set CLOEXEC on the master fd, only the slave fd should be inherited + // by the child process (shell/command). + cloexec: { + const flags = std.posix.fcntl(master_fd, std.posix.F.GETFD, 0) catch |err| { + log.warn("error getting flags for master fd err={}", .{err}); + break :cloexec; + }; + + _ = std.posix.fcntl( + master_fd, + std.posix.F.SETFD, + flags | std.posix.FD_CLOEXEC, + ) catch |err| { + log.warn("error setting CLOEXEC on master fd err={}", .{err}); + break :cloexec; + }; + } + // Enable UTF-8 mode. I think this is on by default on Linux but it // is NOT on by default on macOS so we ensure that it is always set. var attrs: c.termios = undefined; @@ -126,7 +147,7 @@ const PosixPty = struct { if (c.tcsetattr(master_fd, c.TCSANOW, &attrs) != 0) return error.OpenptyFailed; - return Pty{ + return .{ .master = master_fd, .slave = slave_fd, }; @@ -134,7 +155,6 @@ const PosixPty = struct { pub fn deinit(self: *Pty) void { _ = posix.system.close(self.master); - _ = posix.system.close(self.slave); self.* = undefined; } @@ -201,8 +221,6 @@ const PosixPty = struct { // Can close master/slave pair now posix.close(self.slave); posix.close(self.master); - - // TODO: reset signals } }; diff --git a/src/termio/Exec.zig b/src/termio/Exec.zig index e320152ec..c55e66729 100644 --- a/src/termio/Exec.zig +++ b/src/termio/Exec.zig @@ -1098,6 +1098,10 @@ const Subprocess = struct { }); self.pty = pty; errdefer { + if (comptime builtin.os.tag != .windows) { + _ = posix.close(pty.slave); + } + pty.deinit(); self.pty = null; } @@ -1182,6 +1186,13 @@ const Subprocess = struct { log.info("subcommand cgroup={s}", .{self.linux_cgroup orelse "-"}); } + if (comptime builtin.os.tag != .windows) { + // Once our subcommand is started we can close the slave + // side. This prevents the slave fd from being leaked to + // future children. + _ = posix.close(pty.slave); + } + self.command = cmd; return switch (builtin.os.tag) { .windows => .{ From 076bcccde4a3ca55cf44b5e9850bd117cfcdccf5 Mon Sep 17 00:00:00 2001 From: Erlend Lind Madsen Date: Fri, 24 Jan 2025 14:55:33 +0700 Subject: [PATCH 160/365] Docs: improve doc structure for action bindings with args and examples minor doc changes --- src/input/Binding.zig | 48 ++++++++++++++++++++++++++++++++++--------- 1 file changed, 38 insertions(+), 10 deletions(-) diff --git a/src/input/Binding.zig b/src/input/Binding.zig index 33ed80c8b..0b2ee05de 100644 --- a/src/input/Binding.zig +++ b/src/input/Binding.zig @@ -280,8 +280,15 @@ pub const Action = union(enum) { scroll_page_fractional: f32, scroll_page_lines: i16, - /// Adjust an existing selection in a given direction. This action - /// does nothing if there is no active selection. + /// Adjust the current selection in a given direction. Does nothing if no + /// selection exists. + /// + /// Arguments: + /// - AdjustSelection: left, right, up, down, page_up, page_down, home, end, + /// beginning_of_line, end_of_line + /// + /// Example: Extend selection to the right + /// keybind = shift+right=adjust_selection:right adjust_selection: AdjustSelection, /// Jump the viewport forward or back by prompt. Positive number is the @@ -337,25 +344,47 @@ pub const Action = union(enum) { /// This only works with libadwaita enabled currently. toggle_tab_overview: void, - /// Create a new split in the given direction. The new split will appear in - /// the direction given. For example `new_split:up`. Valid values are left, right, up, down and auto. + /// Create a new split in the given direction. + /// + /// Arguments: + /// - SplitDirection: right, down, left, up, auto (along the larger dir) + /// + /// Example: Create split on the right + /// keybind = cmd+shift+d=new_split:right new_split: SplitDirection, - /// Focus on a split in a given direction. For example `goto_split:up`. Valid values are left, right, up, down, previous and next. + /// Focus a split in a given direction. + /// + /// Arguments: + /// - SplitFocusDirection: previous, next, up, left, down, right + /// + /// Example: Focus split on the right + /// keybind = cmd+right=goto_split:right goto_split: SplitFocusDirection, /// zoom/unzoom the current split. toggle_split_zoom: void, - /// Resize the current split by moving the split divider in the given - /// direction. For example `resize_split:left,10`. The valid directions are up, down, left and right. + /// Resize the current split in a given direction. + /// + /// Arguments: + /// - SplitResizeDirection: up, down, left, right + /// - The number of pixels to resize the split by + /// + /// Example: Move divider up 10 pixels + /// keybind = cmd+shift+up=resize_split:up,10 resize_split: SplitResizeParameter, /// Equalize all splits in the current window equalize_splits: void, - /// Show, hide, or toggle the terminal inspector for the currently focused - /// terminal. + /// Control the terminal inspector visibility. + /// + /// Arguments: + /// - InspectorMode: toggle, show, hide + /// + /// Example: Toggle inspector visibility + /// keybind = cmd+i=inspector:toggle inspector: InspectorMode, /// Open the configuration file in the default OS editor. If your default OS @@ -504,7 +533,6 @@ pub const Action = union(enum) { pub const SplitFocusDirection = enum { previous, next, - up, left, down, From c4c2d065711cdb4012002bec5d94109eb4942828 Mon Sep 17 00:00:00 2001 From: Erlend Lind Madsen Date: Fri, 24 Jan 2025 14:59:46 +0700 Subject: [PATCH 161/365] fmt --- src/apprt/gtk/App.zig | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/apprt/gtk/App.zig b/src/apprt/gtk/App.zig index 12bac989a..b36c5b96a 100644 --- a/src/apprt/gtk/App.zig +++ b/src/apprt/gtk/App.zig @@ -1075,9 +1075,7 @@ fn loadCustomCss(self: *App) !void { defer file.close(); log.info("loading gtk-custom-css path={s}", .{path}); - const contents = try file.reader().readAllAlloc( - self.core_app.alloc, - 5 * 1024 * 1024 // 5MB + const contents = try file.reader().readAllAlloc(self.core_app.alloc, 5 * 1024 * 1024 // 5MB ); defer self.core_app.alloc.free(contents); From 2f8b0dc899dd197f1e018ccedcfadbe6d82994ad Mon Sep 17 00:00:00 2001 From: "Jeffrey C. Ollie" Date: Thu, 23 Jan 2025 22:29:47 -0600 Subject: [PATCH 162/365] build: options to enable/disable terminfo & termcap install (take 2) Fixes #5253 Add -Demit-terminfo and -Demit-termcap build options to enable/disable installation of source terminfo and termcap files. --- src/build/Config.zig | 23 +++++++++++++++++ src/build/GhosttyResources.zig | 47 ++++++++++++++++++++-------------- src/os/resourcesdir.zig | 6 ++++- 3 files changed, 56 insertions(+), 20 deletions(-) diff --git a/src/build/Config.zig b/src/build/Config.zig index b65a8d566..c6f0e6d09 100644 --- a/src/build/Config.zig +++ b/src/build/Config.zig @@ -55,6 +55,8 @@ emit_helpgen: bool = false, emit_docs: bool = false, emit_webdata: bool = false, emit_xcframework: bool = false, +emit_terminfo: bool = false, +emit_termcap: bool = false, /// Environmental properties env: std.process.EnvMap, @@ -306,6 +308,27 @@ pub fn init(b: *std.Build) !Config { break :emit_docs path != null; }; + config.emit_terminfo = b.option( + bool, + "emit-terminfo", + "Install Ghostty terminfo source file", + ) orelse switch (target.result.os.tag) { + .windows => true, + else => switch (optimize) { + .Debug => true, + .ReleaseSafe, .ReleaseFast, .ReleaseSmall => false, + }, + }; + + config.emit_termcap = b.option( + bool, + "emit-termcap", + "Install Ghostty termcap file", + ) orelse switch (optimize) { + .Debug => true, + .ReleaseSafe, .ReleaseFast, .ReleaseSmall => false, + }; + config.emit_webdata = b.option( bool, "emit-webdata", diff --git a/src/build/GhosttyResources.zig b/src/build/GhosttyResources.zig index cae907ec2..2fdfbe81d 100644 --- a/src/build/GhosttyResources.zig +++ b/src/build/GhosttyResources.zig @@ -16,6 +16,15 @@ pub fn init(b: *std.Build, cfg: *const Config) !GhosttyResources { // Terminfo terminfo: { + const mkdir_step = RunStep.create(b, "make share/terminfo directory"); + switch (cfg.target.result.os.tag) { + // windows mkdir shouldn't need "-p" + .windows => mkdir_step.addArgs(&.{"mkdir"}), + else => mkdir_step.addArgs(&.{ "mkdir", "-p" }), + } + mkdir_step.addArg(b.fmt("{s}/share/terminfo", .{b.install_path})); + try steps.append(&mkdir_step.step); + // Encode our terminfo var str = std.ArrayList(u8).init(b.allocator); defer str.deinit(); @@ -23,9 +32,13 @@ pub fn init(b: *std.Build, cfg: *const Config) !GhosttyResources { // Write it var wf = b.addWriteFiles(); - const src_source = wf.add("share/terminfo/ghostty.terminfo", str.items); - const src_install = b.addInstallFile(src_source, "share/terminfo/ghostty.terminfo"); - try steps.append(&src_install.step); + const source = wf.add("ghostty.terminfo", str.items); + + if (cfg.emit_terminfo) { + const source_install = b.addInstallFile(source, "share/terminfo/ghostty.terminfo"); + source_install.step.dependOn(&mkdir_step.step); + try steps.append(&source_install.step); + } // Windows doesn't have the binaries below. if (cfg.target.result.os.tag == .windows) break :terminfo; @@ -36,11 +49,12 @@ pub fn init(b: *std.Build, cfg: *const Config) !GhosttyResources { { const run_step = RunStep.create(b, "infotocap"); run_step.addArg("infotocap"); - run_step.addFileArg(src_source); + run_step.addFileArg(source); const out_source = run_step.captureStdOut(); _ = run_step.captureStdErr(); // so we don't see stderr const cap_install = b.addInstallFile(out_source, "share/terminfo/ghostty.termcap"); + cap_install.step.dependOn(&mkdir_step.step); try steps.append(&cap_install.step); } @@ -49,23 +63,18 @@ pub fn init(b: *std.Build, cfg: *const Config) !GhosttyResources { const run_step = RunStep.create(b, "tic"); run_step.addArgs(&.{ "tic", "-x", "-o" }); const path = run_step.addOutputFileArg("terminfo"); - run_step.addFileArg(src_source); + run_step.addFileArg(source); _ = run_step.captureStdErr(); // so we don't see stderr - // Depend on the terminfo source install step so that Zig build - // creates the "share" directory for us. - run_step.step.dependOn(&src_install.step); - - { - // Use cp -R instead of Step.InstallDir because we need to preserve - // symlinks in the terminfo database. Zig's InstallDir step doesn't - // handle symlinks correctly yet. - const copy_step = RunStep.create(b, "copy terminfo db"); - copy_step.addArgs(&.{ "cp", "-R" }); - copy_step.addFileArg(path); - copy_step.addArg(b.fmt("{s}/share", .{b.install_path})); - try steps.append(©_step.step); - } + // Use cp -R instead of Step.InstallDir because we need to preserve + // symlinks in the terminfo database. Zig's InstallDir step doesn't + // handle symlinks correctly yet. + const copy_step = RunStep.create(b, "copy terminfo db"); + copy_step.addArgs(&.{ "cp", "-R" }); + copy_step.addFileArg(path); + copy_step.addArg(b.fmt("{s}/share", .{b.install_path})); + copy_step.step.dependOn(&mkdir_step.step); + try steps.append(©_step.step); } } diff --git a/src/os/resourcesdir.zig b/src/os/resourcesdir.zig index c0f82dec5..4ef256c1a 100644 --- a/src/os/resourcesdir.zig +++ b/src/os/resourcesdir.zig @@ -21,7 +21,11 @@ pub fn resourcesDir(alloc: std.mem.Allocator) !?[]const u8 { // This is the sentinel value we look for in the path to know // we've found the resources directory. - const sentinel = "terminfo/ghostty.termcap"; + const sentinel = switch (comptime builtin.target.os.tag) { + .windows => "terminfo/ghostty.terminfo", + .macos => "terminfo/78/xterm-ghostty", + else => "terminfo/x/xterm-ghostty", + }; // Get the path to our running binary var exe_buf: [std.fs.max_path_bytes]u8 = undefined; From d1969f74acee0b8d34ebc0b4fba4de7dd4494618 Mon Sep 17 00:00:00 2001 From: "Jeffrey C. Ollie" Date: Fri, 24 Jan 2025 10:05:56 -0600 Subject: [PATCH 163/365] only the cp step needs to depend on the mkdir step --- src/build/GhosttyResources.zig | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/src/build/GhosttyResources.zig b/src/build/GhosttyResources.zig index 2fdfbe81d..1ce3fd66c 100644 --- a/src/build/GhosttyResources.zig +++ b/src/build/GhosttyResources.zig @@ -16,15 +16,6 @@ pub fn init(b: *std.Build, cfg: *const Config) !GhosttyResources { // Terminfo terminfo: { - const mkdir_step = RunStep.create(b, "make share/terminfo directory"); - switch (cfg.target.result.os.tag) { - // windows mkdir shouldn't need "-p" - .windows => mkdir_step.addArgs(&.{"mkdir"}), - else => mkdir_step.addArgs(&.{ "mkdir", "-p" }), - } - mkdir_step.addArg(b.fmt("{s}/share/terminfo", .{b.install_path})); - try steps.append(&mkdir_step.step); - // Encode our terminfo var str = std.ArrayList(u8).init(b.allocator); defer str.deinit(); @@ -36,7 +27,6 @@ pub fn init(b: *std.Build, cfg: *const Config) !GhosttyResources { if (cfg.emit_terminfo) { const source_install = b.addInstallFile(source, "share/terminfo/ghostty.terminfo"); - source_install.step.dependOn(&mkdir_step.step); try steps.append(&source_install.step); } @@ -54,7 +44,6 @@ pub fn init(b: *std.Build, cfg: *const Config) !GhosttyResources { _ = run_step.captureStdErr(); // so we don't see stderr const cap_install = b.addInstallFile(out_source, "share/terminfo/ghostty.termcap"); - cap_install.step.dependOn(&mkdir_step.step); try steps.append(&cap_install.step); } @@ -66,6 +55,17 @@ pub fn init(b: *std.Build, cfg: *const Config) !GhosttyResources { run_step.addFileArg(source); _ = run_step.captureStdErr(); // so we don't see stderr + // Ensure that `share/terminfo` is a directory, otherwise the `cp + // -R` will create a file named `share/terminfo` + const mkdir_step = RunStep.create(b, "make share/terminfo directory"); + switch (cfg.target.result.os.tag) { + // windows mkdir shouldn't need "-p" + .windows => mkdir_step.addArgs(&.{"mkdir"}), + else => mkdir_step.addArgs(&.{ "mkdir", "-p" }), + } + mkdir_step.addArg(b.fmt("{s}/share/terminfo", .{b.install_path})); + try steps.append(&mkdir_step.step); + // Use cp -R instead of Step.InstallDir because we need to preserve // symlinks in the terminfo database. Zig's InstallDir step doesn't // handle symlinks correctly yet. From 593d70a42f8a7d0c87136a7f222eb45ef2821c37 Mon Sep 17 00:00:00 2001 From: "Jeffrey C. Ollie" Date: Fri, 24 Jan 2025 10:06:32 -0600 Subject: [PATCH 164/365] fix missing check of emit_termcap build option --- src/build/GhosttyResources.zig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/build/GhosttyResources.zig b/src/build/GhosttyResources.zig index 1ce3fd66c..a7ff40cbd 100644 --- a/src/build/GhosttyResources.zig +++ b/src/build/GhosttyResources.zig @@ -36,7 +36,7 @@ pub fn init(b: *std.Build, cfg: *const Config) !GhosttyResources { // Convert to termcap source format if thats helpful to people and // install it. The resulting value here is the termcap source in case // that is used for other commands. - { + if (cfg.emit_termcap) { const run_step = RunStep.create(b, "infotocap"); run_step.addArg("infotocap"); run_step.addFileArg(source); From 0c5ef5578c1f0aa33ed8ecc7fdc11d207024021a Mon Sep 17 00:00:00 2001 From: Erlend Lind Madsen Date: Fri, 24 Jan 2025 23:13:42 +0700 Subject: [PATCH 165/365] Docs: remove type from action arguments --- src/input/Binding.zig | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/input/Binding.zig b/src/input/Binding.zig index 0b2ee05de..a655effb5 100644 --- a/src/input/Binding.zig +++ b/src/input/Binding.zig @@ -284,7 +284,7 @@ pub const Action = union(enum) { /// selection exists. /// /// Arguments: - /// - AdjustSelection: left, right, up, down, page_up, page_down, home, end, + /// - left, right, up, down, page_up, page_down, home, end, /// beginning_of_line, end_of_line /// /// Example: Extend selection to the right @@ -347,7 +347,7 @@ pub const Action = union(enum) { /// Create a new split in the given direction. /// /// Arguments: - /// - SplitDirection: right, down, left, up, auto (along the larger dir) + /// - right, down, left, up, auto (splits along the larger direction) /// /// Example: Create split on the right /// keybind = cmd+shift+d=new_split:right @@ -356,7 +356,7 @@ pub const Action = union(enum) { /// Focus a split in a given direction. /// /// Arguments: - /// - SplitFocusDirection: previous, next, up, left, down, right + /// - previous, next, up, left, down, right /// /// Example: Focus split on the right /// keybind = cmd+right=goto_split:right @@ -368,8 +368,8 @@ pub const Action = union(enum) { /// Resize the current split in a given direction. /// /// Arguments: - /// - SplitResizeDirection: up, down, left, right - /// - The number of pixels to resize the split by + /// - up, down, left, right + /// - the number of pixels to resize the split by /// /// Example: Move divider up 10 pixels /// keybind = cmd+shift+up=resize_split:up,10 @@ -381,7 +381,7 @@ pub const Action = union(enum) { /// Control the terminal inspector visibility. /// /// Arguments: - /// - InspectorMode: toggle, show, hide + /// - toggle, show, hide /// /// Example: Toggle inspector visibility /// keybind = cmd+i=inspector:toggle From 8475768ad1e6ada5b8c96ed02a661580ad8166de Mon Sep 17 00:00:00 2001 From: Mitchell Hashimoto Date: Fri, 24 Jan 2025 09:38:01 -0800 Subject: [PATCH 166/365] termio/exec: if pty fd HUP, end read thread Fixes #4884 When our command exits, it will close the pty slave fd. This will trigger a HUP on our poll. Previously, we only checked for IN. When a fd is closed, IN triggers forever which would leave to an infinite loop and 100% CPU. Now, detect the HUP and exit the read thread. --- src/termio/Exec.zig | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/src/termio/Exec.zig b/src/termio/Exec.zig index c55e66729..4428b16e1 100644 --- a/src/termio/Exec.zig +++ b/src/termio/Exec.zig @@ -179,8 +179,17 @@ pub fn threadExit(self: *Exec, td: *termio.Termio.ThreadData) void { // Quit our read thread after exiting the subprocess so that // we don't get stuck waiting for data to stop flowing if it is // a particularly noisy process. - _ = posix.write(exec.read_thread_pipe, "x") catch |err| - log.warn("error writing to read thread quit pipe err={}", .{err}); + _ = posix.write(exec.read_thread_pipe, "x") catch |err| switch (err) { + // BrokenPipe means that our read thread is closed already, + // which is completely fine since that is what we were trying + // to achieve. + error.BrokenPipe => {}, + + else => log.warn( + "error writing to read thread quit pipe err={}", + .{err}, + ), + }; if (comptime builtin.os.tag == .windows) { // Interrupt the blocking read so the thread can see the quit message @@ -1467,6 +1476,13 @@ pub const ReadThread = struct { log.info("read thread got quit signal", .{}); return; } + + // If our pty fd is closed, then we're also done with our + // read thread. + if (pollfds[0].revents & posix.POLL.HUP != 0) { + log.info("pty fd closed, read thread exiting", .{}); + return; + } } } From 5ad2ec8f71e743c1bfc8ce3b244dc0bdeacee4f3 Mon Sep 17 00:00:00 2001 From: Daniel Patterson Date: Fri, 24 Jan 2025 17:51:36 +0000 Subject: [PATCH 167/365] Add chorded/sequenced keybinds to +list-keybinds output --- src/cli/list_keybinds.zig | 253 ++++++++++++++++++++++++++++++-------- 1 file changed, 201 insertions(+), 52 deletions(-) diff --git a/src/cli/list_keybinds.zig b/src/cli/list_keybinds.zig index 13c69d970..6cd989201 100644 --- a/src/cli/list_keybinds.zig +++ b/src/cli/list_keybinds.zig @@ -68,7 +68,9 @@ pub fn run(alloc: Allocator) !u8 { // Despite being under the posix namespace, this also works on Windows as of zig 0.13.0 if (tui.can_pretty_print and !opts.plain and std.posix.isatty(stdout.handle)) { - return prettyPrint(alloc, config.keybind); + var arena = std.heap.ArenaAllocator.init(alloc); + defer arena.deinit(); + return prettyPrint(arena.allocator(), config.keybind); } else { try config.keybind.formatEntryDocs( configpkg.entryFormatter("keybind", stdout.writer()), @@ -79,6 +81,111 @@ pub fn run(alloc: Allocator) !u8 { return 0; } +const TriggerList = std.SinglyLinkedList(Binding.Trigger); + +const ChordBinding = struct { + triggers: TriggerList, + action: Binding.Action, + + // Order keybinds based on various properties + // 1. Longest chord sequence + // 2. Most active modifiers + // 3. Alphabetically by active modifiers + // 4. Trigger key order + // These properties propagate through chorded keypresses + // + // Adapted from Binding.lessThan + pub fn lessThan(_: void, lhs: ChordBinding, rhs: ChordBinding) bool { + const lhs_len = lhs.triggers.len(); + const rhs_len = rhs.triggers.len(); + + std.debug.assert(lhs_len != 0); + std.debug.assert(rhs_len != 0); + + if (lhs_len != rhs_len) { + return lhs_len > rhs_len; + } + + const lhs_count: usize = blk: { + var count: usize = 0; + var maybe_trigger = lhs.triggers.first; + while (maybe_trigger) |trigger| : (maybe_trigger = trigger.next) { + if (trigger.data.mods.super) count += 1; + if (trigger.data.mods.ctrl) count += 1; + if (trigger.data.mods.shift) count += 1; + if (trigger.data.mods.alt) count += 1; + } + break :blk count; + }; + const rhs_count: usize = blk: { + var count: usize = 0; + var maybe_trigger = rhs.triggers.first; + while (maybe_trigger) |trigger| : (maybe_trigger = trigger.next) { + if (trigger.data.mods.super) count += 1; + if (trigger.data.mods.ctrl) count += 1; + if (trigger.data.mods.shift) count += 1; + if (trigger.data.mods.alt) count += 1; + } + + break :blk count; + }; + + if (lhs_count != rhs_count) + return lhs_count > rhs_count; + + { + var l_trigger = lhs.triggers.first; + var r_trigger = rhs.triggers.first; + while (l_trigger != null and r_trigger != null) { + const l_int = l_trigger.?.data.mods.int(); + const r_int = r_trigger.?.data.mods.int(); + + if (l_int != r_int) { + return l_int > r_int; + } + + l_trigger = l_trigger.?.next; + r_trigger = r_trigger.?.next; + } + } + + var l_trigger = lhs.triggers.first; + var r_trigger = rhs.triggers.first; + + while (l_trigger != null and r_trigger != null) { + const lhs_key: c_int = blk: { + switch (l_trigger.?.data.key) { + .translated => |key| break :blk @intFromEnum(key), + .physical => |key| break :blk @intFromEnum(key), + .unicode => |key| break :blk @intCast(key), + } + }; + const rhs_key: c_int = blk: { + switch (r_trigger.?.data.key) { + .translated => |key| break :blk @intFromEnum(key), + .physical => |key| break :blk @intFromEnum(key), + .unicode => |key| break :blk @intCast(key), + } + }; + + l_trigger = l_trigger.?.next; + r_trigger = r_trigger.?.next; + + if (l_trigger == null or r_trigger == null) { + return lhs_key < rhs_key; + } + + if (lhs_key != rhs_key) { + return lhs_key < rhs_key; + } + } + + // The previous loop will always return something on its final iteration so we cannot + // reach this point + unreachable; + } +}; + fn prettyPrint(alloc: Allocator, keybinds: Config.Keybinds) !u8 { // Set up vaxis var tty = try vaxis.Tty.init(); @@ -111,26 +218,11 @@ fn prettyPrint(alloc: Allocator, keybinds: Config.Keybinds) !u8 { const win = vx.window(); - // Get all of our keybinds into a list. We also search for the longest printed keyname so we can - // align things nicely + // Generate a list of bindings, recursively traversing chorded keybindings var iter = keybinds.set.bindings.iterator(); - var bindings = std.ArrayList(Binding).init(alloc); - var widest_key: u16 = 0; - var buf: [64]u8 = undefined; - while (iter.next()) |bind| { - const action = switch (bind.value_ptr.*) { - .leader => continue, // TODO: support this - .leaf => |leaf| leaf.action, - }; - const key = switch (bind.key_ptr.key) { - .translated => |k| try std.fmt.bufPrint(&buf, "{s}", .{@tagName(k)}), - .physical => |k| try std.fmt.bufPrint(&buf, "physical:{s}", .{@tagName(k)}), - .unicode => |c| try std.fmt.bufPrint(&buf, "{u}", .{c}), - }; - widest_key = @max(widest_key, win.gwidth(key)); - try bindings.append(.{ .trigger = bind.key_ptr.*, .action = action }); - } - std.mem.sort(Binding, bindings.items, {}, Binding.lessThan); + const bindings, const widest_chord = try iterateBindings(alloc, &iter, &win); + + std.mem.sort(ChordBinding, bindings, {}, ChordBinding.lessThan); // Set up styles for each modifier const super_style: vaxis.Style = .{ .fg = .{ .index = 1 } }; @@ -138,41 +230,41 @@ fn prettyPrint(alloc: Allocator, keybinds: Config.Keybinds) !u8 { const alt_style: vaxis.Style = .{ .fg = .{ .index = 3 } }; const shift_style: vaxis.Style = .{ .fg = .{ .index = 4 } }; - var longest_col: u16 = 0; - // Print the list - for (bindings.items) |bind| { + for (bindings) |bind| { win.clear(); var result: vaxis.Window.PrintResult = .{ .col = 0, .row = 0, .overflow = false }; - const trigger = bind.trigger; - if (trigger.mods.super) { - result = win.printSegment(.{ .text = "super", .style = super_style }, .{ .col_offset = result.col }); - result = win.printSegment(.{ .text = " + " }, .{ .col_offset = result.col }); - } - if (trigger.mods.ctrl) { - result = win.printSegment(.{ .text = "ctrl ", .style = ctrl_style }, .{ .col_offset = result.col }); - result = win.printSegment(.{ .text = " + " }, .{ .col_offset = result.col }); - } - if (trigger.mods.alt) { - result = win.printSegment(.{ .text = "alt ", .style = alt_style }, .{ .col_offset = result.col }); - result = win.printSegment(.{ .text = " + " }, .{ .col_offset = result.col }); - } - if (trigger.mods.shift) { - result = win.printSegment(.{ .text = "shift", .style = shift_style }, .{ .col_offset = result.col }); - result = win.printSegment(.{ .text = " + " }, .{ .col_offset = result.col }); - } + var maybe_trigger = bind.triggers.first; + while (maybe_trigger) |trigger| : (maybe_trigger = trigger.next) { + if (trigger.data.mods.super) { + result = win.printSegment(.{ .text = "super", .style = super_style }, .{ .col_offset = result.col }); + result = win.printSegment(.{ .text = " + " }, .{ .col_offset = result.col }); + } + if (trigger.data.mods.ctrl) { + result = win.printSegment(.{ .text = "ctrl ", .style = ctrl_style }, .{ .col_offset = result.col }); + result = win.printSegment(.{ .text = " + " }, .{ .col_offset = result.col }); + } + if (trigger.data.mods.alt) { + result = win.printSegment(.{ .text = "alt ", .style = alt_style }, .{ .col_offset = result.col }); + result = win.printSegment(.{ .text = " + " }, .{ .col_offset = result.col }); + } + if (trigger.data.mods.shift) { + result = win.printSegment(.{ .text = "shift", .style = shift_style }, .{ .col_offset = result.col }); + result = win.printSegment(.{ .text = " + " }, .{ .col_offset = result.col }); + } + const key = switch (trigger.data.key) { + .translated => |k| try std.fmt.allocPrint(alloc, "{s}", .{@tagName(k)}), + .physical => |k| try std.fmt.allocPrint(alloc, "physical:{s}", .{@tagName(k)}), + .unicode => |c| try std.fmt.allocPrint(alloc, "{u}", .{c}), + }; + result = win.printSegment(.{ .text = key }, .{ .col_offset = result.col }); - const key = switch (trigger.key) { - .translated => |k| try std.fmt.allocPrint(alloc, "{s}", .{@tagName(k)}), - .physical => |k| try std.fmt.allocPrint(alloc, "physical:{s}", .{@tagName(k)}), - .unicode => |c| try std.fmt.allocPrint(alloc, "{u}", .{c}), - }; - // We don't track the key print because we index the action off the *widest* key so we get - // nice alignment no matter what was printed for mods - _ = win.printSegment(.{ .text = key }, .{ .col_offset = result.col }); - - if (longest_col < result.col) longest_col = result.col; + // Print a separator between chorded keys + if (trigger.next != null) { + result = win.printSegment(.{ .text = " > ", .style = .{ .bold = true, .fg = .{ .index = 6 } } }, .{ .col_offset = result.col }); + } + } const action = try std.fmt.allocPrint(alloc, "{}", .{bind.action}); // If our action has an argument, we print the argument in a different color @@ -181,12 +273,69 @@ fn prettyPrint(alloc: Allocator, keybinds: Config.Keybinds) !u8 { .{ .text = action[0..idx] }, .{ .text = action[idx .. idx + 1], .style = .{ .dim = true } }, .{ .text = action[idx + 1 ..], .style = .{ .fg = .{ .index = 5 } } }, - }, .{ .col_offset = longest_col + widest_key + 2 }); + }, .{ .col_offset = widest_chord + 3 }); } else { - _ = win.printSegment(.{ .text = action }, .{ .col_offset = longest_col + widest_key + 2 }); + _ = win.printSegment(.{ .text = action }, .{ .col_offset = widest_chord + 3 }); } try vx.prettyPrint(writer); } try buf_writer.flush(); return 0; } + +fn iterateBindings(alloc: Allocator, iter: anytype, win: *const vaxis.Window) !struct { []ChordBinding, u16 } { + var widest_chord: u16 = 0; + var bindings = std.ArrayList(ChordBinding).init(alloc); + while (iter.next()) |bind| { + const width = blk: { + var buf = std.ArrayList(u8).init(alloc); + const t = bind.key_ptr.*; + + if (t.mods.super) try std.fmt.format(buf.writer(), "super + ", .{}); + if (t.mods.ctrl) try std.fmt.format(buf.writer(), "ctrl + ", .{}); + if (t.mods.alt) try std.fmt.format(buf.writer(), "alt + ", .{}); + if (t.mods.shift) try std.fmt.format(buf.writer(), "shift + ", .{}); + + switch (t.key) { + .translated => |k| try std.fmt.format(buf.writer(), "{s}", .{@tagName(k)}), + .physical => |k| try std.fmt.format(buf.writer(), "physical:{s}", .{@tagName(k)}), + .unicode => |c| try std.fmt.format(buf.writer(), "{u}", .{c}), + } + + break :blk win.gwidth(buf.items); + }; + + switch (bind.value_ptr.*) { + .leader => |leader| { + + // Recursively iterate on the set of bindings for this leader key + var n_iter = leader.bindings.iterator(); + const sub_bindings, const max_width = try iterateBindings(alloc, &n_iter, win); + + // Prepend the current keybind onto the list of sub-binds + for (sub_bindings) |*nb| { + const prepend_node = try alloc.create(TriggerList.Node); + prepend_node.* = TriggerList.Node{ .data = bind.key_ptr.* }; + nb.triggers.prepend(prepend_node); + } + + // Add the longest sub-bind width to the current bind width along with a padding + // of 5 for the ' > ' spacer + widest_chord = @max(widest_chord, width + max_width + 5); + try bindings.appendSlice(sub_bindings); + }, + .leaf => |leaf| { + const node = try alloc.create(TriggerList.Node); + node.* = TriggerList.Node{ .data = bind.key_ptr.* }; + const triggers = TriggerList{ + .first = node, + }; + + widest_chord = @max(widest_chord, width); + try bindings.append(.{ .triggers = triggers, .action = leaf.action }); + }, + } + } + + return .{ try bindings.toOwnedSlice(), widest_chord }; +} From 9ab2e563bbb626f0c76008d026b92a77f95b6321 Mon Sep 17 00:00:00 2001 From: Mitchell Hashimoto Date: Fri, 24 Jan 2025 10:01:19 -0800 Subject: [PATCH 168/365] Update libxev to fix zombie processes on macOS Fixes #4554 xev.Process.wait is documented as being equivalent to calling `waitpid`, i.e. including reaping the process. On Linux, it does this automatically by using pidfd and the `waitid` syscall. On macOS, it wasn't doing this. This commit updates libxev to include a fix that explicitly calls `waitpid` for kqueue. --- build.zig.zon | 4 ++-- nix/zigCacheHash.nix | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/build.zig.zon b/build.zig.zon index 9c00a4704..a8f45e6ea 100644 --- a/build.zig.zon +++ b/build.zig.zon @@ -5,8 +5,8 @@ .dependencies = .{ // Zig libs .libxev = .{ - .url = "https://github.com/mitchellh/libxev/archive/aceef3d11efacd9d237c91632f930ed13a2834bf.tar.gz", - .hash = "12205b2b47fe61a4cde3a45ee4b9cddee75897739dbc196d6396e117cb1ce28e1ad0", + .url = "https://github.com/mitchellh/libxev/archive/31eed4e337fed7b0149319e5cdbb62b848c24fbd.tar.gz", + .hash = "1220ebf88622c4d502dc59e71347e4d28c47e033f11b59aff774ae5787565c40999c", }, .mach_glfw = .{ .url = "https://github.com/mitchellh/mach-glfw/archive/37c2995f31abcf7e8378fba68ddcf4a3faa02de0.tar.gz", diff --git a/nix/zigCacheHash.nix b/nix/zigCacheHash.nix index c687a5a79..66b8eb8b6 100644 --- a/nix/zigCacheHash.nix +++ b/nix/zigCacheHash.nix @@ -1,3 +1,3 @@ # This file is auto-generated! check build-support/check-zig-cache-hash.sh for # more details. -"sha256-AvfYl8vLxxsRnf/ERpw5jQIro5rVd98q63hwFsgQOvo=" +"sha256-Bjy31evaKgpRX1mGwAFkai44eiiorTV1gW3VdP9Ins8=" From f73cae07383ffd790a43d2f6b2e77e1236b61f68 Mon Sep 17 00:00:00 2001 From: Mitchell Hashimoto Date: Fri, 24 Jan 2025 13:46:52 -0800 Subject: [PATCH 169/365] Ignore SIGPIPE Fixes #5359 The comments explain what's going on. Longer term we should adjust our termio/exec to avoid the SIGPIPE but its still possible (i.e. that thread crashes) to happen so we should be robust to it. --- src/global.zig | 25 +++++++++++++++++++++++++ src/pty.zig | 1 + 2 files changed, 26 insertions(+) diff --git a/src/global.zig b/src/global.zig index c00ce27a4..d5a7af630 100644 --- a/src/global.zig +++ b/src/global.zig @@ -111,6 +111,9 @@ pub const GlobalState = struct { } } + // Setup our signal handlers before logging + initSignals(); + // Output some debug information right away std.log.info("ghostty version={s}", .{build_config.version_string}); std.log.info("ghostty build optimize={s}", .{build_config.mode_string}); @@ -175,6 +178,28 @@ pub const GlobalState = struct { _ = value.deinit(); } } + + fn initSignals() void { + // Only posix systems. + if (comptime builtin.os.tag == .windows) return; + + const p = std.posix; + + var sa: p.Sigaction = .{ + .handler = .{ .handler = p.SIG.IGN }, + .mask = p.empty_sigset, + .flags = 0, + }; + + // We ignore SIGPIPE because it is a common signal we may get + // due to how we implement termio. When a terminal is closed we + // often write to a broken pipe to exit the read thread. This should + // be fixed one day but for now this helps make this a bit more + // robust. + p.sigaction(p.SIG.PIPE, &sa, null) catch |err| { + std.log.warn("failed to ignore SIGPIPE err={}", .{err}); + }; + } }; /// Maintains the Unix resource limits that we set for our process. This diff --git a/src/pty.zig b/src/pty.zig index 1df09d79c..b6dc2e145 100644 --- a/src/pty.zig +++ b/src/pty.zig @@ -201,6 +201,7 @@ const PosixPty = struct { try posix.sigaction(posix.SIG.HUP, &sa, null); try posix.sigaction(posix.SIG.ILL, &sa, null); try posix.sigaction(posix.SIG.INT, &sa, null); + try posix.sigaction(posix.SIG.PIPE, &sa, null); try posix.sigaction(posix.SIG.SEGV, &sa, null); try posix.sigaction(posix.SIG.TRAP, &sa, null); try posix.sigaction(posix.SIG.TERM, &sa, null); From a5a73f83522836400a24624c565491f43feebd0d Mon Sep 17 00:00:00 2001 From: Mitchell Hashimoto Date: Fri, 24 Jan 2025 14:36:40 -0800 Subject: [PATCH 170/365] macos: autohide dock if quick terminal would conflict with it Fixes #5328 The dock sits above the level of the quick terminal, and the quick terminal frame typical includes the dock. Hence, if the dock is visible and the quick terminal would conflict with it, then part of the terminal is obscured. This commit makes the dock autohide if the quick terminal would conflict with it. The autohide is disabled when the quick terminal is closed. We can't set our window level above the dock, as this would prevent things such as input methods from rendering properly in the quick terminal window. iTerm2 (the only other macOS terminal I know of that supports a dropdown mode) frames the terminal around the dock. I think this looks less aesthetically pleasing and I prefer autohiding the dock instead. We can introduce a setting to change this behavior if desired later. Additionally, this commit introduces a mechanism to safely set app-global presentation options from multiple sources without stepping on each other. --- macos/Ghostty.xcodeproj/project.pbxproj | 8 +++++ .../QuickTerminalController.swift | 32 ++++++++++++++++-- .../QuickTerminal/QuickTerminalPosition.swift | 18 ++++++++++ macos/Sources/Helpers/Dock.swift | 33 +++++++++++++++++++ macos/Sources/Helpers/Fullscreen.swift | 8 ++--- .../Helpers/NSApplication+Extension.swift | 31 +++++++++++++++++ 6 files changed, 124 insertions(+), 6 deletions(-) create mode 100644 macos/Sources/Helpers/Dock.swift create mode 100644 macos/Sources/Helpers/NSApplication+Extension.swift diff --git a/macos/Ghostty.xcodeproj/project.pbxproj b/macos/Ghostty.xcodeproj/project.pbxproj index efa4a07c9..02c8258cb 100644 --- a/macos/Ghostty.xcodeproj/project.pbxproj +++ b/macos/Ghostty.xcodeproj/project.pbxproj @@ -69,6 +69,8 @@ A59FB5CF2AE0DB50009128F3 /* InspectorView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A59FB5CE2AE0DB50009128F3 /* InspectorView.swift */; }; A59FB5D12AE0DEA7009128F3 /* MetalView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A59FB5D02AE0DEA7009128F3 /* MetalView.swift */; }; A5A1F8852A489D6800D1E8BC /* terminfo in Resources */ = {isa = PBXBuildFile; fileRef = A5A1F8842A489D6800D1E8BC /* terminfo */; }; + A5A2A3CA2D4445E30033CF96 /* Dock.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5A2A3C92D4445E20033CF96 /* Dock.swift */; }; + A5A2A3CC2D444ABB0033CF96 /* NSApplication+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5A2A3CB2D444AB80033CF96 /* NSApplication+Extension.swift */; }; A5A6F72A2CC41B8900B232A5 /* Xcode.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5A6F7292CC41B8700B232A5 /* Xcode.swift */; }; A5B30539299BEAAB0047F10C /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = A5B30538299BEAAB0047F10C /* Assets.xcassets */; }; A5CA378C2D2A4DEB00931030 /* KeyboardLayout.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5CA378B2D2A4DE800931030 /* KeyboardLayout.swift */; }; @@ -163,6 +165,8 @@ A59FB5CE2AE0DB50009128F3 /* InspectorView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = InspectorView.swift; sourceTree = ""; }; A59FB5D02AE0DEA7009128F3 /* MetalView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MetalView.swift; sourceTree = ""; }; A5A1F8842A489D6800D1E8BC /* terminfo */ = {isa = PBXFileReference; lastKnownFileType = folder; name = terminfo; path = "../zig-out/share/terminfo"; sourceTree = ""; }; + A5A2A3C92D4445E20033CF96 /* Dock.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Dock.swift; sourceTree = ""; }; + A5A2A3CB2D444AB80033CF96 /* NSApplication+Extension.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "NSApplication+Extension.swift"; sourceTree = ""; }; A5A6F7292CC41B8700B232A5 /* Xcode.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Xcode.swift; sourceTree = ""; }; A5B30531299BEAAA0047F10C /* Ghostty.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Ghostty.app; sourceTree = BUILT_PRODUCTS_DIR; }; A5B30538299BEAAB0047F10C /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; @@ -271,6 +275,7 @@ A5333E1B2B5A1CE3008AEFF7 /* CrossKit.swift */, A5CBD0572C9F30860017A1AE /* Cursor.swift */, A5D0AF3C2B37804400D21823 /* CodableBridge.swift */, + A5A2A3C92D4445E20033CF96 /* Dock.swift */, A52FFF582CAA4FF1000C6A5B /* Fullscreen.swift */, A59630962AEE163600D64628 /* HostingWindow.swift */, A5CA378B2D2A4DE800931030 /* KeyboardLayout.swift */, @@ -278,6 +283,7 @@ A5CBD0552C9E65A50017A1AE /* DraggableWindowView.swift */, C159E81C2B66A06B00FDFE9C /* OSColor+Extension.swift */, A599CDAF2CF103F20049FA26 /* NSAppearance+Extension.swift */, + A5A2A3CB2D444AB80033CF96 /* NSApplication+Extension.swift */, A54B0CEA2D0CFB4A00CBEFF8 /* NSImage+Extension.swift */, A52FFF5C2CAB4D05000C6A5B /* NSScreen+Extension.swift */, C1F26EA62B738B9900404083 /* NSView+Extension.swift */, @@ -635,6 +641,7 @@ A5CBD0602CA0C90A0017A1AE /* QuickTerminalWindow.swift in Sources */, A5CBD05E2CA0C5EC0017A1AE /* QuickTerminalController.swift in Sources */, A5CF66D72D29DDB500139794 /* Ghostty.Event.swift in Sources */, + A5A2A3CA2D4445E30033CF96 /* Dock.swift in Sources */, A51BFC222B2FB6B400E92F16 /* AboutView.swift in Sources */, A5278A9B2AA05B2600CD3039 /* Ghostty.Input.swift in Sources */, A5CBD0562C9E65B80017A1AE /* DraggableWindowView.swift in Sources */, @@ -657,6 +664,7 @@ A59444F729A2ED5200725BBA /* SettingsView.swift in Sources */, A56D58862ACDDB4100508D2C /* Ghostty.Shell.swift in Sources */, A5985CD72C320C4500C57AD3 /* String+Extension.swift in Sources */, + A5A2A3CC2D444ABB0033CF96 /* NSApplication+Extension.swift in Sources */, A59630A22AF0415000D64628 /* Ghostty.TerminalSplit.swift in Sources */, A5FEB3002ABB69450068369E /* main.swift in Sources */, A55B7BB829B6F53A0055DE60 /* Package.swift in Sources */, diff --git a/macos/Sources/Features/QuickTerminal/QuickTerminalController.swift b/macos/Sources/Features/QuickTerminal/QuickTerminalController.swift index bc89022f5..05c8677a7 100644 --- a/macos/Sources/Features/QuickTerminal/QuickTerminalController.swift +++ b/macos/Sources/Features/QuickTerminal/QuickTerminalController.swift @@ -27,6 +27,10 @@ class QuickTerminalController: BaseTerminalController { // The active space when the quick terminal was last shown. private var previousActiveSpace: size_t = 0 + /// This is set to true of the dock was autohid when the terminal animated in. This lets us + /// know if we have to unhide when the terminal is animated out. + private var hidDock: Bool = false + /// The configuration derived from the Ghostty config so we don't need to rely on references. private var derivedConfig: DerivedConfig @@ -224,6 +228,18 @@ class QuickTerminalController: BaseTerminalController { animateWindowOut(window: window, to: position) } + private func hideDock() { + guard !hidDock else { return } + NSApp.acquirePresentationOption(.autoHideDock) + hidDock = true + } + + private func unhideDock() { + guard hidDock else { return } + NSApp.releasePresentationOption(.autoHideDock) + hidDock = false + } + private func animateWindowIn(window: NSWindow, from position: QuickTerminalPosition) { guard let screen = derivedConfig.quickTerminalScreen.screen else { return } @@ -240,6 +256,12 @@ class QuickTerminalController: BaseTerminalController { window.makeKeyAndOrderFront(nil) } + // If our dock position would conflict with our target location then + // we autohide the dock. + if position.conflictsWithDock(on: screen) { + hideDock() + } + // Run the animation that moves our window into the proper place and makes // it visible. NSAnimationContext.runAnimationGroup({ context in @@ -250,8 +272,11 @@ class QuickTerminalController: BaseTerminalController { // There is a very minor delay here so waiting at least an event loop tick // keeps us safe from the view not being on the window. DispatchQueue.main.async { - // If we canceled our animation in we do nothing - guard self.visible else { return } + // If we canceled our animation clean up some state. + guard self.visible else { + self.unhideDock() + return + } // After animating in, we reset the window level to a value that // is above other windows but not as high as popUpMenu. This allows @@ -320,6 +345,9 @@ class QuickTerminalController: BaseTerminalController { } private func animateWindowOut(window: NSWindow, to position: QuickTerminalPosition) { + // If we hid the dock then we unhide it. + unhideDock() + // If the window isn't on our active space then we don't animate, we just // hide it. if !window.isOnActiveSpace { diff --git a/macos/Sources/Features/QuickTerminal/QuickTerminalPosition.swift b/macos/Sources/Features/QuickTerminal/QuickTerminalPosition.swift index 6ba224a28..7ba124a30 100644 --- a/macos/Sources/Features/QuickTerminal/QuickTerminalPosition.swift +++ b/macos/Sources/Features/QuickTerminal/QuickTerminalPosition.swift @@ -118,4 +118,22 @@ enum QuickTerminalPosition : String { return .init(x: screen.visibleFrame.origin.x + (screen.visibleFrame.width - window.frame.width) / 2, y: screen.visibleFrame.origin.y + (screen.visibleFrame.height - window.frame.height) / 2) } } + + func conflictsWithDock(on screen: NSScreen) -> Bool { + // Screen must have a dock for it to conflict + guard screen.hasDock else { return false } + + // Get the dock orientation for this screen + guard let orientation = Dock.orientation else { return false } + + // Depending on the orientation of the dock, we conflict if our quick terminal + // would potentially "hit" the dock. In the future we should probably consider + // the frame of the quick terminal. + return switch (orientation) { + case .top: self == .top || self == .left || self == .right + case .bottom: self == .bottom || self == .left || self == .right + case .left: self == .top || self == .bottom + case .right: self == .top || self == .bottom + } + } } diff --git a/macos/Sources/Helpers/Dock.swift b/macos/Sources/Helpers/Dock.swift new file mode 100644 index 000000000..70fb904d9 --- /dev/null +++ b/macos/Sources/Helpers/Dock.swift @@ -0,0 +1,33 @@ +import Cocoa + +// Private API to get Dock location +@_silgen_name("CoreDockGetOrientationAndPinning") +func CoreDockGetOrientationAndPinning( + _ outOrientation: UnsafeMutablePointer, + _ outPinning: UnsafeMutablePointer) + +// Private API to get the current Dock auto-hide state +@_silgen_name("CoreDockGetAutoHideEnabled") +func CoreDockGetAutoHideEnabled() -> Bool + +enum DockOrientation: Int { + case top = 1 + case bottom = 2 + case left = 3 + case right = 4 +} + +class Dock { + /// Returns the orientation of the dock or nil if it can't be determined. + static var orientation: DockOrientation? { + var orientation: Int32 = 0 + var pinning: Int32 = 0 + CoreDockGetOrientationAndPinning(&orientation, &pinning) + return .init(rawValue: Int(orientation)) ?? nil + } + + /// Returns true if the dock has auto-hide enabled. + static var autoHideEnabled: Bool { + return CoreDockGetAutoHideEnabled() + } +} diff --git a/macos/Sources/Helpers/Fullscreen.swift b/macos/Sources/Helpers/Fullscreen.swift index a16f329f8..320eca013 100644 --- a/macos/Sources/Helpers/Fullscreen.swift +++ b/macos/Sources/Helpers/Fullscreen.swift @@ -307,21 +307,21 @@ class NonNativeFullscreen: FullscreenBase, FullscreenStyle { // MARK: Dock private func hideDock() { - NSApp.presentationOptions.insert(.autoHideDock) + NSApp.acquirePresentationOption(.autoHideDock) } private func unhideDock() { - NSApp.presentationOptions.remove(.autoHideDock) + NSApp.releasePresentationOption(.autoHideDock) } // MARK: Menu func hideMenu() { - NSApp.presentationOptions.insert(.autoHideMenuBar) + NSApp.acquirePresentationOption(.autoHideMenuBar) } func unhideMenu() { - NSApp.presentationOptions.remove(.autoHideMenuBar) + NSApp.releasePresentationOption(.autoHideMenuBar) } /// The state that must be saved for non-native fullscreen to exit fullscreen. diff --git a/macos/Sources/Helpers/NSApplication+Extension.swift b/macos/Sources/Helpers/NSApplication+Extension.swift new file mode 100644 index 000000000..0580cd5fc --- /dev/null +++ b/macos/Sources/Helpers/NSApplication+Extension.swift @@ -0,0 +1,31 @@ +import Cocoa + +extension NSApplication { + private static var presentationOptionCounts: [NSApplication.PresentationOptions.Element: UInt] = [:] + + /// Add a presentation option to the application and main a reference count so that and equal + /// number of pops is required to disable it. This is useful so that multiple classes can affect global + /// app state without overriding others. + func acquirePresentationOption(_ option: NSApplication.PresentationOptions.Element) { + Self.presentationOptionCounts[option, default: 0] += 1 + presentationOptions.insert(option) + } + + /// See acquirePresentationOption + func releasePresentationOption(_ option: NSApplication.PresentationOptions.Element) { + guard let value = Self.presentationOptionCounts[option] else { return } + guard value > 0 else { return } + if (value == 1) { + presentationOptions.remove(option) + Self.presentationOptionCounts.removeValue(forKey: option) + } else { + Self.presentationOptionCounts[option] = value - 1 + } + } +} + +extension NSApplication.PresentationOptions.Element: @retroactive Hashable { + public func hash(into hasher: inout Hasher) { + hasher.combine(rawValue) + } +} From a58b1998a992dcef3bfd54246f0b7673bea5e517 Mon Sep 17 00:00:00 2001 From: Mitchell Hashimoto Date: Fri, 24 Jan 2025 20:10:24 -0800 Subject: [PATCH 171/365] macos: hide dock globally if the dock conflicts Related to #5361 The fix in 5361 wasn't sufficient since it only applied if our app was in the foreground. Our quick terminal is a non-activating NSPanel to allow it to work on any space (fullscreen included). This means that Ghostty doesn't become the active app when the quick terminal is shown and another app is in the foreground. To work around this, we now hide the dock globally when the quick terminal is shown AND the dock is in a conflicting position. We restore this state when the quick terminal is hidden, loses focus, or Ghostty is quit. --- .../QuickTerminalController.swift | 90 +++++++++++++++---- macos/Sources/Helpers/Dock.swift | 9 +- 2 files changed, 79 insertions(+), 20 deletions(-) diff --git a/macos/Sources/Features/QuickTerminal/QuickTerminalController.swift b/macos/Sources/Features/QuickTerminal/QuickTerminalController.swift index 05c8677a7..807935806 100644 --- a/macos/Sources/Features/QuickTerminal/QuickTerminalController.swift +++ b/macos/Sources/Features/QuickTerminal/QuickTerminalController.swift @@ -27,9 +27,8 @@ class QuickTerminalController: BaseTerminalController { // The active space when the quick terminal was last shown. private var previousActiveSpace: size_t = 0 - /// This is set to true of the dock was autohid when the terminal animated in. This lets us - /// know if we have to unhide when the terminal is animated out. - private var hidDock: Bool = false + /// Non-nil if we have hidden dock state. + private var hiddenDock: HiddenDock? = nil /// The configuration derived from the Ghostty config so we don't need to rely on references. private var derivedConfig: DerivedConfig @@ -45,6 +44,11 @@ class QuickTerminalController: BaseTerminalController { // Setup our notifications for behaviors let center = NotificationCenter.default + center.addObserver( + self, + selector: #selector(applicationWillTerminate(_:)), + name: NSApplication.willTerminateNotification, + object: nil) center.addObserver( self, selector: #selector(onToggleFullscreen), @@ -65,6 +69,9 @@ class QuickTerminalController: BaseTerminalController { // Remove all of our notificationcenter subscriptions let center = NotificationCenter.default center.removeObserver(self) + + // Make sure we restore our hidden dock + hiddenDock = nil } // MARK: NSWindowController @@ -100,6 +107,17 @@ class QuickTerminalController: BaseTerminalController { // MARK: NSWindowDelegate + override func windowDidBecomeKey(_ notification: Notification) { + super.windowDidBecomeKey(notification) + + // If we're not visible we don't care to run the logic below. It only + // applies if we can be seen. + guard visible else { return } + + // Re-hide the dock if we were hiding it before. + hiddenDock?.hide() + } + override func windowDidResignKey(_ notification: Notification) { super.windowDidResignKey(notification) @@ -120,6 +138,10 @@ class QuickTerminalController: BaseTerminalController { self.previousApp = nil } + // Regardless of autohide, we always want to bring the dock back + // when we lose focus. + hiddenDock?.restore() + if derivedConfig.quickTerminalAutoHide { switch derivedConfig.quickTerminalSpaceBehavior { case .remain: @@ -228,18 +250,6 @@ class QuickTerminalController: BaseTerminalController { animateWindowOut(window: window, to: position) } - private func hideDock() { - guard !hidDock else { return } - NSApp.acquirePresentationOption(.autoHideDock) - hidDock = true - } - - private func unhideDock() { - guard hidDock else { return } - NSApp.releasePresentationOption(.autoHideDock) - hidDock = false - } - private func animateWindowIn(window: NSWindow, from position: QuickTerminalPosition) { guard let screen = derivedConfig.quickTerminalScreen.screen else { return } @@ -259,7 +269,15 @@ class QuickTerminalController: BaseTerminalController { // If our dock position would conflict with our target location then // we autohide the dock. if position.conflictsWithDock(on: screen) { - hideDock() + if (hiddenDock == nil) { + hiddenDock = .init() + } + + hiddenDock?.hide() + } else { + // Ensure we don't have any hidden dock if we don't conflict. + // The deinit will restore. + hiddenDock = nil } // Run the animation that moves our window into the proper place and makes @@ -274,7 +292,7 @@ class QuickTerminalController: BaseTerminalController { DispatchQueue.main.async { // If we canceled our animation clean up some state. guard self.visible else { - self.unhideDock() + self.hiddenDock = nil return } @@ -346,7 +364,7 @@ class QuickTerminalController: BaseTerminalController { private func animateWindowOut(window: NSWindow, to position: QuickTerminalPosition) { // If we hid the dock then we unhide it. - unhideDock() + hiddenDock = nil // If the window isn't on our active space then we don't animate, we just // hide it. @@ -443,6 +461,13 @@ class QuickTerminalController: BaseTerminalController { // MARK: Notifications + @objc private func applicationWillTerminate(_ notification: Notification) { + // If the application is going to terminate we want to make sure we + // restore any global dock state. I think deinit should be called which + // would call this anyways but I can't be sure so I will do this too. + hiddenDock = nil + } + @objc private func onToggleFullscreen(notification: SwiftUI.Notification) { guard let target = notification.object as? Ghostty.SurfaceView else { return } guard target == self.focusedSurface else { return } @@ -490,6 +515,35 @@ class QuickTerminalController: BaseTerminalController { self.backgroundOpacity = config.backgroundOpacity } } + + /// Hides the dock globally (not just NSApp). This is only used if the quick terminal is + /// in a conflicting position with the dock. + private class HiddenDock { + let previousAutoHide: Bool + private var hidden: Bool = false + + init() { + previousAutoHide = Dock.autoHideEnabled + } + + deinit { + restore() + } + + func hide() { + guard !hidden else { return } + NSApp.acquirePresentationOption(.autoHideDock) + Dock.autoHideEnabled = true + hidden = true + } + + func restore() { + guard hidden else { return } + NSApp.releasePresentationOption(.autoHideDock) + Dock.autoHideEnabled = previousAutoHide + hidden = false + } + } } extension Notification.Name { diff --git a/macos/Sources/Helpers/Dock.swift b/macos/Sources/Helpers/Dock.swift index 70fb904d9..a71fcaa5b 100644 --- a/macos/Sources/Helpers/Dock.swift +++ b/macos/Sources/Helpers/Dock.swift @@ -10,6 +10,10 @@ func CoreDockGetOrientationAndPinning( @_silgen_name("CoreDockGetAutoHideEnabled") func CoreDockGetAutoHideEnabled() -> Bool +// Toggles the Dock's auto-hide state +@_silgen_name("CoreDockSetAutoHideEnabled") +func CoreDockSetAutoHideEnabled(_ flag: Bool) + enum DockOrientation: Int { case top = 1 case bottom = 2 @@ -26,8 +30,9 @@ class Dock { return .init(rawValue: Int(orientation)) ?? nil } - /// Returns true if the dock has auto-hide enabled. + /// Set the dock autohide. static var autoHideEnabled: Bool { - return CoreDockGetAutoHideEnabled() + get { return CoreDockGetAutoHideEnabled() } + set { CoreDockSetAutoHideEnabled(newValue) } } } From 645b4b0031a2e704628e1eed86a5fb20377a2404 Mon Sep 17 00:00:00 2001 From: Daniel Patterson Date: Sat, 25 Jan 2025 23:22:40 +0000 Subject: [PATCH 172/365] Fix cmd+triple click not selecting full output --- src/terminal/Screen.zig | 63 +++++++++++++++++++++++++++-------------- 1 file changed, 42 insertions(+), 21 deletions(-) diff --git a/src/terminal/Screen.zig b/src/terminal/Screen.zig index eb70d32d0..af3d13392 100644 --- a/src/terminal/Screen.zig +++ b/src/terminal/Screen.zig @@ -2591,13 +2591,24 @@ pub fn selectOutput(self: *Screen, pin: Pin) ?Selection { const start: Pin = boundary: { var it = pin.rowIterator(.left_up, null); var it_prev = pin; + + // First, iterate until we find the first line of command output + while (it.next()) |p| { + it_prev = p; + const row = p.rowAndCell().row; + if (row.semantic_prompt == .command) { + break; + } + } + + // Because the first line of command output may span multiple visual rows we must now + // iterate until we find the first row of anything other than command output and then + // yield the previous row. while (it.next()) |p| { const row = p.rowAndCell().row; - switch (row.semantic_prompt) { - .command => break :boundary p, - else => {}, + if (row.semantic_prompt != .command) { + break :boundary it_prev; } - it_prev = p; } @@ -7641,17 +7652,17 @@ test "Screen: selectOutput" { // zig fmt: off { - // line number: - try s.testWriteString("output1\n"); // 0 - try s.testWriteString("output1\n"); // 1 - try s.testWriteString("prompt2\n"); // 2 - try s.testWriteString("input2\n"); // 3 - try s.testWriteString("output2\n"); // 4 - try s.testWriteString("output2\n"); // 5 - try s.testWriteString("prompt3$ input3\n"); // 6 - try s.testWriteString("output3\n"); // 7 - try s.testWriteString("output3\n"); // 8 - try s.testWriteString("output3"); // 9 + // line number: + try s.testWriteString("output1\n"); // 0 + try s.testWriteString("output1\n"); // 1 + try s.testWriteString("prompt2\n"); // 2 + try s.testWriteString("input2\n"); // 3 + try s.testWriteString("output2output2output2output2\n"); // 4, 5, 6 due to overflow + try s.testWriteString("output2\n"); // 7 + try s.testWriteString("prompt3$ input3\n"); // 8 + try s.testWriteString("output3\n"); // 9 + try s.testWriteString("output3\n"); // 10 + try s.testWriteString("output3"); // 11 } // zig fmt: on @@ -7670,13 +7681,23 @@ test "Screen: selectOutput" { const row = pin.rowAndCell().row; row.semantic_prompt = .command; } + { + const pin = s.pages.pin(.{ .screen = .{ .y = 5 } }).?; + const row = pin.rowAndCell().row; + row.semantic_prompt = .command; + } { const pin = s.pages.pin(.{ .screen = .{ .y = 6 } }).?; const row = pin.rowAndCell().row; + row.semantic_prompt = .command; + } + { + const pin = s.pages.pin(.{ .screen = .{ .y = 8 } }).?; + const row = pin.rowAndCell().row; row.semantic_prompt = .input; } { - const pin = s.pages.pin(.{ .screen = .{ .y = 7 } }).?; + const pin = s.pages.pin(.{ .screen = .{ .y = 9 } }).?; const row = pin.rowAndCell().row; row.semantic_prompt = .command; } @@ -7701,7 +7722,7 @@ test "Screen: selectOutput" { { var sel = s.selectOutput(s.pages.pin(.{ .active = .{ .x = 3, - .y = 5, + .y = 7, } }).?).?; defer sel.deinit(&s); try testing.expectEqual(point.Point{ .active = .{ @@ -7710,23 +7731,23 @@ test "Screen: selectOutput" { } }, s.pages.pointFromPin(.active, sel.start()).?); try testing.expectEqual(point.Point{ .active = .{ .x = 9, - .y = 5, + .y = 7, } }, s.pages.pointFromPin(.active, sel.end()).?); } // No end marker, should select till the end { var sel = s.selectOutput(s.pages.pin(.{ .active = .{ .x = 2, - .y = 7, + .y = 10, } }).?).?; defer sel.deinit(&s); try testing.expectEqual(point.Point{ .active = .{ .x = 0, - .y = 7, + .y = 9, } }, s.pages.pointFromPin(.active, sel.start()).?); try testing.expectEqual(point.Point{ .active = .{ .x = 9, - .y = 10, + .y = 12, } }, s.pages.pointFromPin(.active, sel.end()).?); } // input / prompt at y = 0, pt.y = 0 From 4b8010a6f4a0a4b56cb1609b6ecc47ff688d70f1 Mon Sep 17 00:00:00 2001 From: Daniel Patterson Date: Sun, 26 Jan 2025 15:22:01 +0000 Subject: [PATCH 173/365] Change ifs to exhaustive switches --- src/terminal/Screen.zig | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/src/terminal/Screen.zig b/src/terminal/Screen.zig index af3d13392..fe2eab5ac 100644 --- a/src/terminal/Screen.zig +++ b/src/terminal/Screen.zig @@ -2596,6 +2596,15 @@ pub fn selectOutput(self: *Screen, pin: Pin) ?Selection { while (it.next()) |p| { it_prev = p; const row = p.rowAndCell().row; + switch (row.semantic_prompt) { + .command => break, + + .unknown, + .prompt, + .prompt_continuation, + .input, + => {}, + } if (row.semantic_prompt == .command) { break; } @@ -2606,8 +2615,14 @@ pub fn selectOutput(self: *Screen, pin: Pin) ?Selection { // yield the previous row. while (it.next()) |p| { const row = p.rowAndCell().row; - if (row.semantic_prompt != .command) { - break :boundary it_prev; + switch (row.semantic_prompt) { + .command => {}, + + .unknown, + .prompt, + .prompt_continuation, + .input, + => break :boundary it_prev, } it_prev = p; } From ac568900a527be8740c3c999eb98accef3e8dc22 Mon Sep 17 00:00:00 2001 From: Qwerasd Date: Sun, 26 Jan 2025 20:40:19 -0500 Subject: [PATCH 174/365] fix(renderer/Metal): properly load cursor color --- src/renderer/shaders/cell.metal | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/renderer/shaders/cell.metal b/src/renderer/shaders/cell.metal index 17f811a19..1a6d17ea3 100644 --- a/src/renderer/shaders/cell.metal +++ b/src/renderer/shaders/cell.metal @@ -473,7 +473,11 @@ vertex CellTextVertexOut cell_text_vertex( ) && in.grid_pos.y == uniforms.cursor_pos.y ) { - out.color = float4(uniforms.cursor_color) / 255.0f; + out.color = load_color( + uniforms.cursor_color, + uniforms.use_display_p3, + false + ); } return out; From 5c8f984ea157bd40da631a17ddafcbf07a5b04db Mon Sep 17 00:00:00 2001 From: Qwerasd Date: Mon, 27 Jan 2025 19:15:18 -0500 Subject: [PATCH 175/365] renderer/Metal: improve linear blending correction More mathematically sound approach, does a much better job of matching the appearance of non-linear blending. Removed `experimental` from name because it's not really an experiment anymore. --- src/config/Config.zig | 7 ++- src/renderer/Metal.zig | 6 +-- src/renderer/metal/shaders.zig | 2 +- src/renderer/shaders/cell.metal | 89 +++++++++++++++++++++------------ 4 files changed, 63 insertions(+), 41 deletions(-) diff --git a/src/config/Config.zig b/src/config/Config.zig index 839656169..c7aeebb01 100644 --- a/src/config/Config.zig +++ b/src/config/Config.zig @@ -273,10 +273,9 @@ pub const renamed = std.StaticStringMap([]const u8).initComptime(&.{ /// This is also sometimes known as "gamma correction". /// (Currently only supported on macOS. Has no effect on Linux.) /// -/// * `linear-corrected` - Corrects the thinning/thickening effect of linear -/// by applying a correction curve to the text alpha depending on its -/// brightness. This compensates for the thinning and makes the weight of -/// most text appear very similar to when it's blended non-linearly. +/// * `linear-corrected` - Same as `linear`, but with a correction step applied +/// for text that makes it look nearly or completely identical to `native`, +/// but without any of the darkening artifacts. /// /// Note: This setting affects more than just text, images will also be blended /// in the selected color space, and custom shaders will receive colors in that diff --git a/src/renderer/Metal.zig b/src/renderer/Metal.zig index 52a5437c6..dccccef17 100644 --- a/src/renderer/Metal.zig +++ b/src/renderer/Metal.zig @@ -667,7 +667,7 @@ pub fn init(alloc: Allocator, options: renderer.Options) !Metal { .cursor_wide = false, .use_display_p3 = options.config.colorspace == .@"display-p3", .use_linear_blending = options.config.blending.isLinear(), - .use_experimental_linear_correction = options.config.blending == .@"linear-corrected", + .use_linear_correction = options.config.blending == .@"linear-corrected", }, // Fonts @@ -2099,7 +2099,7 @@ pub fn changeConfig(self: *Metal, config: *DerivedConfig) !void { // Set our new color space and blending self.uniforms.use_display_p3 = config.colorspace == .@"display-p3"; self.uniforms.use_linear_blending = config.blending.isLinear(); - self.uniforms.use_experimental_linear_correction = config.blending == .@"linear-corrected"; + self.uniforms.use_linear_correction = config.blending == .@"linear-corrected"; // Set our new colors self.default_background_color = config.background; @@ -2242,7 +2242,7 @@ pub fn setScreenSize( .cursor_wide = old.cursor_wide, .use_display_p3 = old.use_display_p3, .use_linear_blending = old.use_linear_blending, - .use_experimental_linear_correction = old.use_experimental_linear_correction, + .use_linear_correction = old.use_linear_correction, }; // Reset our cell contents if our grid size has changed. diff --git a/src/renderer/metal/shaders.zig b/src/renderer/metal/shaders.zig index 62d363173..b297de809 100644 --- a/src/renderer/metal/shaders.zig +++ b/src/renderer/metal/shaders.zig @@ -158,7 +158,7 @@ pub const Uniforms = extern struct { /// Enables a weight correction step that makes text rendered /// with linear alpha blending have a similar apparent weight /// (thickness) to gamma-incorrect blending. - use_experimental_linear_correction: bool align(1) = false, + use_linear_correction: bool align(1) = false, const PaddingExtend = packed struct(u8) { left: bool = false, diff --git a/src/renderer/shaders/cell.metal b/src/renderer/shaders/cell.metal index 1a6d17ea3..3ca0f9149 100644 --- a/src/renderer/shaders/cell.metal +++ b/src/renderer/shaders/cell.metal @@ -22,7 +22,7 @@ struct Uniforms { bool cursor_wide; bool use_display_p3; bool use_linear_blending; - bool use_experimental_linear_correction; + bool use_linear_correction; }; //------------------------------------------------------------------- @@ -59,22 +59,28 @@ float3 srgb_to_display_p3(float3 srgb) { // Converts a color from sRGB gamma encoding to linear. float4 linearize(float4 srgb) { - bool3 cutoff = srgb.rgb <= 0.04045; - float3 lower = srgb.rgb / 12.92; - float3 higher = pow((srgb.rgb + 0.055) / 1.055, 2.4); - srgb.rgb = mix(higher, lower, float3(cutoff)); + bool3 cutoff = srgb.rgb <= 0.04045; + float3 lower = srgb.rgb / 12.92; + float3 higher = pow((srgb.rgb + 0.055) / 1.055, 2.4); + srgb.rgb = mix(higher, lower, float3(cutoff)); - return srgb; + return srgb; +} +float linearize(float v) { + return v <= 0.04045 ? v / 12.92 : pow((v + 0.055) / 1.055, 2.4); } // Converts a color from linear to sRGB gamma encoding. float4 unlinearize(float4 linear) { - bool3 cutoff = linear.rgb <= 0.0031308; - float3 lower = linear.rgb * 12.92; - float3 higher = pow(linear.rgb, 1.0 / 2.4) * 1.055 - 0.055; - linear.rgb = mix(higher, lower, float3(cutoff)); + bool3 cutoff = linear.rgb <= 0.0031308; + float3 lower = linear.rgb * 12.92; + float3 higher = pow(linear.rgb, 1.0 / 2.4) * 1.055 - 0.055; + linear.rgb = mix(higher, lower, float3(cutoff)); - return linear; + return linear; +} +float unlinearize(float v) { + return v <= 0.0031308 ? v * 12.92 : pow(v, 1.0 / 2.4) * 1.055 - 0.055; } // Compute the luminance of the provided color. @@ -353,8 +359,9 @@ struct CellTextVertexIn { struct CellTextVertexOut { float4 position [[position]]; - uint8_t mode; - float4 color; + uint8_t mode [[flat]]; + float4 color [[flat]]; + float4 bg_color [[flat]]; float2 tex_coord; }; @@ -445,6 +452,13 @@ vertex CellTextVertexOut cell_text_vertex( true ); + // Get the BG color + out.bg_color = load_color( + bg_colors[in.grid_pos.y * uniforms.grid_size.x + in.grid_pos.x], + uniforms.use_display_p3, + true + ); + // If we have a minimum contrast, we need to check if we need to // change the color of the text to ensure it has enough contrast // with the background. @@ -453,14 +467,8 @@ vertex CellTextVertexOut cell_text_vertex( // and Powerline glyphs to be unaffected (else parts of the line would // have different colors as some parts are displayed via background colors). if (uniforms.min_contrast > 1.0f && in.mode == MODE_TEXT) { - // Get the BG color - float4 bg_color = load_color( - bg_colors[in.grid_pos.y * uniforms.grid_size.x + in.grid_pos.x], - uniforms.use_display_p3, - true - ); // Ensure our minimum contrast - out.color = contrasted_color(uniforms.min_contrast, out.color, bg_color); + out.color = contrasted_color(uniforms.min_contrast, out.color, out.bg_color); } // If this cell is the cursor cell, then we need to change the color. @@ -480,6 +488,12 @@ vertex CellTextVertexOut cell_text_vertex( ); } + // Don't bother rendering if the bg and fg colors are identical, just return + // the same point which will be culled because it makes the quad zero sized. + if (all(out.color == out.bg_color)) { + out.position = float4(0.0); + } + return out; } @@ -518,19 +532,28 @@ fragment float4 cell_text_fragment( // Fetch our alpha mask for this pixel. float a = textureGrayscale.sample(textureSampler, in.tex_coord).r; - // Experimental linear blending weight correction. - if (uniforms.use_experimental_linear_correction) { - float l = luminance(color.rgb); - - // TODO: This is a dynamic dilation term that biases - // the alpha adjustment for small font sizes; - // it should be computed by dividing the font - // size in `pt`s by `13.0` and using that if - // it's less than `1.0`, but for now it's - // hard coded at 1.0, which has no effect. - float d = 13.0 / 13.0; - - a += pow(a, d + d * l) - pow(a, d + 1.0 - d * l); + // Linear blending weight correction corrects the alpha value to + // produce blending results which match gamma-incorrect blending. + if (uniforms.use_linear_correction) { + // Short explanation of how this works: + // + // We get the luminances of the foreground and background colors, + // and then unlinearize them and perform blending on them. This + // gives us our desired luminance, which we derive our new alpha + // value from by mapping the range [bg_l, fg_l] to [0, 1], since + // our final blend will be a linear interpolation from bg to fg. + // + // This yields virtually identical results for grayscale blending, + // and very similar but non-identical results for color blending. + float4 bg = in.bg_color; + float fg_l = luminance(color.rgb); + float bg_l = luminance(bg.rgb); + // To avoid numbers going haywire, we don't apply correction + // when the bg and fg luminances are within 0.001 of each other. + if (abs(fg_l - bg_l) > 0.001) { + float blend_l = linearize(unlinearize(fg_l) * a + unlinearize(bg_l) * (1.0 - a)); + a = clamp((blend_l - bg_l) / (fg_l - bg_l), 0.0, 1.0); + } } // Multiply our whole color by the alpha mask. From 016a26cf984b16a987f45f27dd7dca0a5686c972 Mon Sep 17 00:00:00 2001 From: Qwerasd Date: Mon, 27 Jan 2025 19:37:44 -0500 Subject: [PATCH 176/365] cleanup: rename `text-blending` to `alpha-blending` + correct docs --- src/config/Config.zig | 27 ++++++++++++++------------- src/renderer/Metal.zig | 4 ++-- 2 files changed, 16 insertions(+), 15 deletions(-) diff --git a/src/config/Config.zig b/src/config/Config.zig index c7aeebb01..1e1bca74a 100644 --- a/src/config/Config.zig +++ b/src/config/Config.zig @@ -259,7 +259,8 @@ pub const renamed = std.StaticStringMap([]const u8).initComptime(&.{ /// What color space to use when performing alpha blending. /// -/// This affects how text looks for different background/foreground color pairs. +/// This affects the appearance of text and of any images with transparency. +/// Additionally, custom shaders will receive colors in the configured space. /// /// Valid values: /// @@ -276,11 +277,7 @@ pub const renamed = std.StaticStringMap([]const u8).initComptime(&.{ /// * `linear-corrected` - Same as `linear`, but with a correction step applied /// for text that makes it look nearly or completely identical to `native`, /// but without any of the darkening artifacts. -/// -/// Note: This setting affects more than just text, images will also be blended -/// in the selected color space, and custom shaders will receive colors in that -/// color space as well. -@"text-blending": TextBlending = .native, +@"alpha-blending": AlphaBlending = .native, /// All of the configurations behavior adjust various metrics determined by the /// font. The values can be integers (1, -1, etc.) or a percentage (20%, -15%, @@ -1220,12 +1217,16 @@ keybind: Keybinds = .{}, /// This is currently only supported on macOS and Linux. @"window-theme": WindowTheme = .auto, -/// The colorspace to use for the terminal window. The default is `srgb` but -/// this can also be set to `display-p3` to use the Display P3 colorspace. +/// The color space to use when interpreting terminal colors. "Terminal colors" +/// refers to colors specified in your configuration and colors produced by +/// direct-color SGR sequences. /// -/// Changing this value at runtime will only affect new windows. +/// Valid values: /// -/// This setting is only supported on macOS. +/// * `srgb` - Interpret colors in the sRGB color space. This is the default. +/// * `display-p3` - Interpret colors in the Display P3 color space. +/// +/// This setting is currently only supported on macOS. @"window-colorspace": WindowColorspace = .srgb, /// The initial window size. This size is in terminal grid cells by default. @@ -5825,13 +5826,13 @@ pub const GraphemeWidthMethod = enum { unicode, }; -/// See text-blending -pub const TextBlending = enum { +/// See alpha-blending +pub const AlphaBlending = enum { native, linear, @"linear-corrected", - pub fn isLinear(self: TextBlending) bool { + pub fn isLinear(self: AlphaBlending) bool { return switch (self) { .native => false, .linear, .@"linear-corrected" => true, diff --git a/src/renderer/Metal.zig b/src/renderer/Metal.zig index dccccef17..866f9682d 100644 --- a/src/renderer/Metal.zig +++ b/src/renderer/Metal.zig @@ -391,7 +391,7 @@ pub const DerivedConfig = struct { links: link.Set, vsync: bool, colorspace: configpkg.Config.WindowColorspace, - blending: configpkg.Config.TextBlending, + blending: configpkg.Config.AlphaBlending, pub fn init( alloc_gpa: Allocator, @@ -463,7 +463,7 @@ pub const DerivedConfig = struct { .links = links, .vsync = config.@"window-vsync", .colorspace = config.@"window-colorspace", - .blending = config.@"text-blending", + .blending = config.@"alpha-blending", .arena = arena, }; } From a80cf3db9c51143f0055305703ca035bdbab6fdb Mon Sep 17 00:00:00 2001 From: Daniel Fox Date: Tue, 28 Jan 2025 12:30:57 -0800 Subject: [PATCH 177/365] Fix older adwaita tab bars at top of window --- src/apprt/gtk/Window.zig | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/apprt/gtk/Window.zig b/src/apprt/gtk/Window.zig index 58f5659f0..1294ed416 100644 --- a/src/apprt/gtk/Window.zig +++ b/src/apprt/gtk/Window.zig @@ -335,10 +335,7 @@ pub fn init(self: *Window, app: *App) !void { .top, .left, .right, - => c.gtk_box_prepend( - @ptrCast(box), - @ptrCast(@alignCast(tab_bar)), - ), + => c.gtk_box_insert_child_after(@ptrCast(box), @ptrCast(@alignCast(tab_bar)), @ptrCast(@alignCast(self.headerbar.asWidget()))), .bottom => c.gtk_box_append( @ptrCast(box), From 71d0481da8da8cf366bfbabd4dd62e08d2d46de3 Mon Sep 17 00:00:00 2001 From: Lee Marlow Date: Wed, 29 Jan 2025 11:38:35 -0700 Subject: [PATCH 178/365] Remove if check that was left in after change to exhaustive switch This came out of cmd+triple-click fix in PR #5373 --- src/terminal/Screen.zig | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/terminal/Screen.zig b/src/terminal/Screen.zig index fe2eab5ac..a838e0e10 100644 --- a/src/terminal/Screen.zig +++ b/src/terminal/Screen.zig @@ -2605,9 +2605,6 @@ pub fn selectOutput(self: *Screen, pin: Pin) ?Selection { .input, => {}, } - if (row.semantic_prompt == .command) { - break; - } } // Because the first line of command output may span multiple visual rows we must now From 27b254db8a843b9ee4b090dc1a33c30fdb86f8f9 Mon Sep 17 00:00:00 2001 From: Mitchell Hashimoto Date: Wed, 29 Jan 2025 13:12:11 -0800 Subject: [PATCH 179/365] apprt/gtk: set key modifier flag if physical modifier key is pressed Fixes #5191 --- src/apprt/gtk/Surface.zig | 1 + src/apprt/gtk/key.zig | 57 +++++++++++++++++++++++++++++++++------ 2 files changed, 50 insertions(+), 8 deletions(-) diff --git a/src/apprt/gtk/Surface.zig b/src/apprt/gtk/Surface.zig index 3677c5e8d..1ca39425b 100644 --- a/src/apprt/gtk/Surface.zig +++ b/src/apprt/gtk/Surface.zig @@ -1757,6 +1757,7 @@ pub fn keyEvent( event, physical_key, gtk_mods, + action, &self.app.winproto, ); diff --git a/src/apprt/gtk/key.zig b/src/apprt/gtk/key.zig index 40c9ca9a4..60f12edca 100644 --- a/src/apprt/gtk/key.zig +++ b/src/apprt/gtk/key.zig @@ -108,6 +108,7 @@ pub fn eventMods( event: *c.GdkEvent, physical_key: input.Key, gtk_mods: c.GdkModifierType, + action: input.Action, app_winproto: *winproto.App, ) input.Mods { const device = c.gdk_event_get_device(event); @@ -115,15 +116,55 @@ pub fn eventMods( var mods = app_winproto.eventMods(device, gtk_mods); mods.num_lock = c.gdk_device_get_num_lock_state(device) == 1; + // We use the physical key to determine sided modifiers. As + // far as I can tell there's no other way to reliably determine + // this. + // + // We also set the main modifier to true if either side is true, + // since on both X11/Wayland, GTK doesn't set the main modifier + // if only the modifier key is pressed, but our core logic + // relies on it. switch (physical_key) { - .left_shift => mods.sides.shift = .left, - .right_shift => mods.sides.shift = .right, - .left_control => mods.sides.ctrl = .left, - .right_control => mods.sides.ctrl = .right, - .left_alt => mods.sides.alt = .left, - .right_alt => mods.sides.alt = .right, - .left_super => mods.sides.super = .left, - .right_super => mods.sides.super = .right, + .left_shift => { + mods.shift = action != .release; + mods.sides.shift = .left; + }, + + .right_shift => { + mods.shift = action != .release; + mods.sides.shift = .right; + }, + + .left_control => { + mods.ctrl = action != .release; + mods.sides.ctrl = .left; + }, + + .right_control => { + mods.ctrl = action != .release; + mods.sides.ctrl = .right; + }, + + .left_alt => { + mods.alt = action != .release; + mods.sides.alt = .left; + }, + + .right_alt => { + mods.alt = action != .release; + mods.sides.alt = .right; + }, + + .left_super => { + mods.super = action != .release; + mods.sides.super = .left; + }, + + .right_super => { + mods.super = action != .release; + mods.sides.super = .right; + }, + else => {}, } From ce2a3773d2dc2e6461efd3f5fcca6d5888e69ba1 Mon Sep 17 00:00:00 2001 From: Mitchell Hashimoto Date: Wed, 29 Jan 2025 14:08:04 -0800 Subject: [PATCH 180/365] input: performable bindings aren't part of the reverse mapping Fixes #4522 This is a bit of a hammer-meets-nail solution, but it's a simple solution to the problem. The reverse mapping is used to find the binding that an action is bound to, and it's used by apprt's to populate the accelerator label in the UI. The problem is that accelerators in GTK are handled early in the event handling process and its difficult to get that event mapping to a specific surface. Therefore, the "performable" prefix was not working. On macOS, this issue didn't exist because there exists an OS mechanism to install an event handler earlier than the menu system. This commit changes the reverse mapping to only include bindings that are not performable. This way, the keybind always reaches the surface and can be handled by `Surface.keyCallback` which processes `performable`. The caveat is that performable bindings will not show up in the UI for menu items. This is documented in this commit now. They still work, its just a UI issue. --- src/config/Config.zig | 6 +++++ src/input/Binding.zig | 56 +++++++++++++++++++++++++++++++++++++++---- 2 files changed, 57 insertions(+), 5 deletions(-) diff --git a/src/config/Config.zig b/src/config/Config.zig index 1e1bca74a..0ed98bdea 100644 --- a/src/config/Config.zig +++ b/src/config/Config.zig @@ -1015,6 +1015,12 @@ class: ?[:0]const u8 = null, /// performable (acting identically to not having a keybind set at /// all). /// +/// Performable keybinds will not appear as menu shortcuts in the +/// application menu. This is because the menu shortcuts force the +/// action to be performed regardless of the state of the terminal. +/// Performable keybinds will still work, they just won't appear as +/// a shortcut label in the menu. +/// /// Keybind triggers are not unique per prefix combination. For example, /// `ctrl+a` and `global:ctrl+a` are not two separate keybinds. The keybind /// set later will overwrite the keybind set earlier. In this case, the diff --git a/src/input/Binding.zig b/src/input/Binding.zig index a1e759bf8..19c103195 100644 --- a/src/input/Binding.zig +++ b/src/input/Binding.zig @@ -284,11 +284,11 @@ pub const Action = union(enum) { scroll_page_fractional: f32, scroll_page_lines: i16, - /// Adjust the current selection in a given direction. Does nothing if no + /// Adjust the current selection in a given direction. Does nothing if no /// selection exists. /// /// Arguments: - /// - left, right, up, down, page_up, page_down, home, end, + /// - left, right, up, down, page_up, page_down, home, end, /// beginning_of_line, end_of_line /// /// Example: Extend selection to the right @@ -1230,6 +1230,13 @@ pub const Set = struct { /// This is a conscious decision since the primary use case of the reverse /// map is to support GUI toolkit keyboard accelerators and no mainstream /// GUI toolkit supports sequences. + /// + /// Performable triggers are also not present in the reverse map. This + /// is so that GUI toolkits don't register performable triggers as + /// menu shortcuts (the primary use case of the reverse map). GUI toolkits + /// such as GTK handle menu shortcuts too early in the event lifecycle + /// for performable to work so this is a conscious decision to ease the + /// integration with GUI toolkits. reverse: ReverseMap = .{}, /// The entry type for the forward mapping of trigger to action. @@ -1494,6 +1501,11 @@ pub const Set = struct { // unbind should never go into the set, it should be handled prior assert(action != .unbind); + // This is true if we're going to track this entry as + // a reverse mapping. There are certain scenarios we don't. + // See the reverse map docs for more information. + const track_reverse: bool = !flags.performable; + const gop = try self.bindings.getOrPut(alloc, t); if (gop.found_existing) switch (gop.value_ptr.*) { @@ -1505,7 +1517,7 @@ pub const Set = struct { // If we have an existing binding for this trigger, we have to // update the reverse mapping to remove the old action. - .leaf => { + .leaf => if (track_reverse) { const t_hash = t.hash(); var it = self.reverse.iterator(); while (it.next()) |reverse_entry| it: { @@ -1522,8 +1534,9 @@ pub const Set = struct { .flags = flags, } }; errdefer _ = self.bindings.remove(t); - try self.reverse.put(alloc, action, t); - errdefer _ = self.reverse.remove(action); + + if (track_reverse) try self.reverse.put(alloc, action, t); + errdefer if (track_reverse) self.reverse.remove(action); } /// Get a binding for a given trigger. @@ -2373,6 +2386,39 @@ test "set: maintains reverse mapping" { } } +test "set: performable is not part of reverse mappings" { + const testing = std.testing; + const alloc = testing.allocator; + + var s: Set = .{}; + defer s.deinit(alloc); + + try s.put(alloc, .{ .key = .{ .translated = .a } }, .{ .new_window = {} }); + { + const trigger = s.getTrigger(.{ .new_window = {} }).?; + try testing.expect(trigger.key.translated == .a); + } + + // trigger should be non-performable + try s.putFlags( + alloc, + .{ .key = .{ .translated = .b } }, + .{ .new_window = {} }, + .{ .performable = true }, + ); + { + const trigger = s.getTrigger(.{ .new_window = {} }).?; + try testing.expect(trigger.key.translated == .a); + } + + // removal of performable should do nothing + s.remove(alloc, .{ .key = .{ .translated = .b } }); + { + const trigger = s.getTrigger(.{ .new_window = {} }).?; + try testing.expect(trigger.key.translated == .a); + } +} + test "set: overriding a mapping updates reverse" { const testing = std.testing; const alloc = testing.allocator; From 692168f8dda6c05561744d978e3a7ed45adc56a8 Mon Sep 17 00:00:00 2001 From: Mitchell Hashimoto Date: Wed, 29 Jan 2025 15:08:20 -0800 Subject: [PATCH 181/365] dist: remove cdata tags from appcast, we escape it all --- dist/macos/update_appcast_tag.py | 4 ++-- dist/macos/update_appcast_tip.py | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/dist/macos/update_appcast_tag.py b/dist/macos/update_appcast_tag.py index 6abfb66db..2cb20dd5d 100644 --- a/dist/macos/update_appcast_tag.py +++ b/dist/macos/update_appcast_tag.py @@ -87,7 +87,7 @@ elem = ET.SubElement(item, "sparkle:fullReleaseNotesLink") elem.text = f"https://ghostty.org/docs/install/release-notes/{version_dash}" elem = ET.SubElement(item, "description") elem.text = f""" -Ghostty v{version} +

Ghostty v{version}

This release was built from commit {commit} on {now.strftime('%Y-%m-%d')}. @@ -96,7 +96,7 @@ on {now.strftime('%Y-%m-%d')}. We don't currently generate release notes for auto-updates. You can view the complete changelog and release notes at ghostty.org/docs/install/release-notes/{version_dash}. -

]]> +

""" elem = ET.SubElement(item, "enclosure") elem.set("url", f"https://release.files.ghostty.org/{version}/Ghostty.dmg") diff --git a/dist/macos/update_appcast_tip.py b/dist/macos/update_appcast_tip.py index c6a20f75f..ff1fb4be5 100644 --- a/dist/macos/update_appcast_tip.py +++ b/dist/macos/update_appcast_tip.py @@ -83,7 +83,7 @@ elem = ET.SubElement(item, "sparkle:minimumSystemVersion") elem.text = "13.0.0" elem = ET.SubElement(item, "description") elem.text = f""" - +

Automated build from commit {commit} on {now.strftime('%Y-%m-%d')}.

@@ -91,7 +91,7 @@ on {now.strftime('%Y-%m-%d')}. These are automatic per-commit builds generated from the main Git branch. We do not generate any release notes for these builds. You can view the full commit history on GitHub for all changes. -

]]> +

""" elem = ET.SubElement(item, "enclosure") elem.set("url", f"https://tip.files.ghostty.org/{commit_long}/Ghostty.dmg") From dbc4edc58347b68d1064246434e50847d160151a Mon Sep 17 00:00:00 2001 From: Mitchell Hashimoto Date: Wed, 29 Jan 2025 16:37:59 -0800 Subject: [PATCH 182/365] ci: separate publish and release workflows This now requires a separate manually triggered `publish` workflow to be run after the release completes in order to transition the release to the `published` state. Practically today this only means that the release will be published to the macOS auto-updater, but in the future we could add additional steps such as creating a GH release or some other notifications. Importantly, this lets us verify the release in the uploaded location before general users are notified of the update. --- .github/workflows/publish-tag.yml | 74 +++++++++++++++++++++++++++++++ .github/workflows/release-tag.yml | 17 +------ 2 files changed, 76 insertions(+), 15 deletions(-) create mode 100644 .github/workflows/publish-tag.yml diff --git a/.github/workflows/publish-tag.yml b/.github/workflows/publish-tag.yml new file mode 100644 index 000000000..160034a52 --- /dev/null +++ b/.github/workflows/publish-tag.yml @@ -0,0 +1,74 @@ +on: + workflow_dispatch: + inputs: + version: + description: "Version to deploy (format: vX.Y.Z)" + required: true + +name: Publish Tagged Release + +# We must only run one release workflow at a time to prevent corrupting +# our release artifacts. +concurrency: + group: ${{ github.workflow }} + cancel-in-progress: false + +jobs: + setup: + runs-on: namespace-profile-ghostty-sm + outputs: + version: ${{ steps.extract_version.outputs.version }} + steps: + - name: Validate Version Input + run: | + if [[ ! "${{ github.event.inputs.version }}" =~ ^v[0-9]+\.[0-9]+\.[0-9]+$ ]]; then + echo "Error: Version must follow the format vX.Y.Z (e.g., v1.0.0)." + exit 1 + fi + + echo "Version is valid: ${{ github.event.inputs.version }}" + + - name: Exract the Version + id: extract_version + run: | + VERSION=${{ github.event.inputs.version }} + VERSION=${VERSION#v} + echo "version=$VERSION" >> $GITHUB_OUTPUT + + upload: + needs: [setup] + runs-on: namespace-profile-ghostty-sm + env: + GHOSTTY_VERSION: ${{ needs.setup.outputs.version }} + steps: + - name: Validate Release Files + run: | + BASE="https://release.files.ghostty.org/${GHOSTTY_VERSION}" + curl -I -s -o /dev/null -w "%{http_code}" "${BASE}/ghostty-${GHOSTTY_VERSION}.tar.gz" | grep -q "^200$" || exit 1 + curl -I -s -o /dev/null -w "%{http_code}" "${BASE}/ghostty-${GHOSTTY_VERSION}.tar.gz.minisig" | grep -q "^200$" || exit 1 + curl -I -s -o /dev/null -w "%{http_code}" "${BASE}/ghostty-source.tar.gz" | grep -q "^200$" || exit 1 + curl -I -s -o /dev/null -w "%{http_code}" "${BASE}/ghostty-source.tar.gz.minisig" | grep -q "^200$" || exit 1 + curl -I -s -o /dev/null -w "%{http_code}" "${BASE}/ghostty-macos-universal.zip" | grep -q "^200$" || exit 1 + curl -I -s -o /dev/null -w "%{http_code}" "${BASE}/ghostty-macos-universal-dsym.zip" | grep -q "^200$" || exit 1 + curl -I -s -o /dev/null -w "%{http_code}" "${BASE}/Ghostty.dmg" | grep -q "^200$" || exit 1 + curl -I -s -o /dev/null -w "%{http_code}" "${BASE}/appcast-staged.xml" | grep -q "^200$" || exit 1 + + - name: Download Staged Appcast + run: | + curl -L https://release.files.ghostty.org/${GHOSTTY_VERSION}/appcast-staged.xml + mv appcast-staged.xml appcast.xml + + - name: Upload Appcast + run: | + rm -rf blob + mkdir blob + mv appcast.xml blob/appcast.xml + - name: Upload Appcast to R2 + uses: ryand56/r2-upload-action@latest + with: + r2-account-id: ${{ secrets.CF_R2_RELEASE_ACCOUNT_ID }} + r2-access-key-id: ${{ secrets.CF_R2_RELEASE_AWS_KEY }} + r2-secret-access-key: ${{ secrets.CF_R2_RELEASE_SECRET_KEY }} + r2-bucket: ghostty-release + source-dir: blob + destination-dir: ./ diff --git a/.github/workflows/release-tag.yml b/.github/workflows/release-tag.yml index cf94bf23e..0767152f5 100644 --- a/.github/workflows/release-tag.yml +++ b/.github/workflows/release-tag.yml @@ -7,6 +7,7 @@ on: upload: description: "Upload final artifacts to R2" default: false + push: tags: - "v[0-9]+.[0-9]+.[0-9]+" @@ -367,6 +368,7 @@ jobs: mv ghostty-macos-universal.zip blob/${GHOSTTY_VERSION}/ghostty-macos-universal.zip mv ghostty-macos-universal-dsym.zip blob/${GHOSTTY_VERSION}/ghostty-macos-universal-dsym.zip mv Ghostty.dmg blob/${GHOSTTY_VERSION}/Ghostty.dmg + mv appcast.xml blob/${GHOSTTY_VERSION}/appcast-staged.xml - name: Upload to R2 uses: ryand56/r2-upload-action@latest with: @@ -376,18 +378,3 @@ jobs: r2-bucket: ghostty-release source-dir: blob destination-dir: ./ - - - name: Prep Appcast - run: | - rm -rf blob - mkdir blob - mv appcast.xml blob/appcast.xml - - name: Upload Appcast to R2 - uses: ryand56/r2-upload-action@latest - with: - r2-account-id: ${{ secrets.CF_R2_RELEASE_ACCOUNT_ID }} - r2-access-key-id: ${{ secrets.CF_R2_RELEASE_AWS_KEY }} - r2-secret-access-key: ${{ secrets.CF_R2_RELEASE_SECRET_KEY }} - r2-bucket: ghostty-release - source-dir: blob - destination-dir: ./ From a62b26cd2fac4d3685aeec6aeebeaf2ad5300fc9 Mon Sep 17 00:00:00 2001 From: Mitchell Hashimoto Date: Thu, 30 Jan 2025 07:18:07 -0800 Subject: [PATCH 183/365] next version will be 1.1.0 --- build.zig.zon | 2 +- nix/package.nix | 2 +- src/build/Config.zig | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/build.zig.zon b/build.zig.zon index a8f45e6ea..5839b090f 100644 --- a/build.zig.zon +++ b/build.zig.zon @@ -1,6 +1,6 @@ .{ .name = "ghostty", - .version = "1.0.2", + .version = "1.1.0", .paths = .{""}, .dependencies = .{ // Zig libs diff --git a/nix/package.nix b/nix/package.nix index 2f7825a56..6f69be8d7 100644 --- a/nix/package.nix +++ b/nix/package.nix @@ -114,7 +114,7 @@ in stdenv.mkDerivation (finalAttrs: { pname = "ghostty"; - version = "1.0.2"; + version = "1.1.0"; inherit src; nativeBuildInputs = diff --git a/src/build/Config.zig b/src/build/Config.zig index c6f0e6d09..c832b77ad 100644 --- a/src/build/Config.zig +++ b/src/build/Config.zig @@ -19,7 +19,7 @@ const GitVersion = @import("GitVersion.zig"); /// TODO: When Zig 0.14 is released, derive this from build.zig.zon directly. /// Until then this MUST match build.zig.zon and should always be the /// _next_ version to release. -const app_version: std.SemanticVersion = .{ .major = 1, .minor = 0, .patch = 2 }; +const app_version: std.SemanticVersion = .{ .major = 1, .minor = 1, .patch = 0 }; /// Standard build configuration options. optimize: std.builtin.OptimizeMode, From 40973417d040135be6740ab7cf4a4e2d0f85fe81 Mon Sep 17 00:00:00 2001 From: "Jeffrey C. Ollie" Date: Thu, 30 Jan 2025 10:16:45 -0600 Subject: [PATCH 184/365] nix: use --system build flag instead of relying on $ZIG_GLOBAL_CACHE_DIR Fixes #5431 --- nix/package.nix | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/nix/package.nix b/nix/package.nix index 2f7825a56..0974ff9c9 100644 --- a/nix/package.nix +++ b/nix/package.nix @@ -40,7 +40,7 @@ # ultimately acted on and has made its way to a nixpkgs implementation, this # can probably be removed in favor of that. zig_hook = zig_0_13.hook.overrideAttrs { - zig_default_flags = "-Dcpu=baseline -Doptimize=${optimize}"; + zig_default_flags = "-Dcpu=baseline -Doptimize=${optimize} --color off"; }; # We limit source like this to try and reduce the amount of rebuilds as possible @@ -162,13 +162,13 @@ in dontConfigure = true; - zigBuildFlags = "-Dversion-string=${finalAttrs.version}-${revision}-nix -Dgtk-x11=${lib.boolToString enableX11} -Dgtk-wayland=${lib.boolToString enableWayland}"; - - preBuild = '' - rm -rf $ZIG_GLOBAL_CACHE_DIR - cp -r --reflink=auto ${zigCache} $ZIG_GLOBAL_CACHE_DIR - chmod u+rwX -R $ZIG_GLOBAL_CACHE_DIR - ''; + zigBuildFlags = [ + "--system" + "${zigCache}/p" + "-Dversion-string=${finalAttrs.version}-${revision}-nix" + "-Dgtk-x11=${lib.boolToString enableX11}" + "-Dgtk-wayland=${lib.boolToString enableWayland}" + ]; outputs = [ "out" From 6dd9bf0038238a6817e930f5664878f422156f2e Mon Sep 17 00:00:00 2001 From: "Jeffrey C. Ollie" Date: Thu, 30 Jan 2025 11:04:44 -0600 Subject: [PATCH 185/365] nix: fix Ghostty homepage in package --- nix/package.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nix/package.nix b/nix/package.nix index 8ab9ad9dd..dae87ed81 100644 --- a/nix/package.nix +++ b/nix/package.nix @@ -202,7 +202,7 @@ in ''; meta = { - homepage = "https://github.com/ghostty-org/ghostty"; + homepage = "https://ghostty.org"; license = lib.licenses.mit; platforms = [ "x86_64-linux" From 48a1a10330ef82f6662079565ffd6adf6dcf7fdf Mon Sep 17 00:00:00 2001 From: Leah Amelia Chen Date: Thu, 30 Jan 2025 19:59:46 +0100 Subject: [PATCH 186/365] gtk(x11): update blur region upon syncAppearance Fixes a bug where the blur region offset used to accomodate CSDs are applied even when CSDs are disabled. --- src/apprt/gtk/Window.zig | 8 ++++++- src/apprt/gtk/winproto/x11.zig | 43 +++++++++++++++------------------- 2 files changed, 26 insertions(+), 25 deletions(-) diff --git a/src/apprt/gtk/Window.zig b/src/apprt/gtk/Window.zig index 58f5659f0..28bbfe54f 100644 --- a/src/apprt/gtk/Window.zig +++ b/src/apprt/gtk/Window.zig @@ -661,8 +661,9 @@ fn gtkWindowNotifyMaximized( fn gtkWindowNotifyDecorated( object: *c.GObject, _: *c.GParamSpec, - _: ?*anyopaque, + ud: ?*anyopaque, ) callconv(.C) void { + const self = userdataSelf(ud orelse return); const is_decorated = c.gtk_window_get_decorated(@ptrCast(object)) == 1; // Fix any artifacting that may occur in window corners. The .ssd CSS @@ -671,6 +672,11 @@ fn gtkWindowNotifyDecorated( // for .ssd is provided by GTK and Adwaita. toggleCssClass(@ptrCast(object), "ssd", !is_decorated); toggleCssClass(@ptrCast(object), "no-border-radius", !is_decorated); + + // FIXME: This is to update the blur region offset on X11. + // Remove this when we move everything related to window appearance + // to `syncAppearance` for Ghostty 1.2. + self.winproto.syncAppearance() catch {}; } fn gtkWindowNotifyFullscreened( diff --git a/src/apprt/gtk/winproto/x11.zig b/src/apprt/gtk/winproto/x11.zig index 7a6b8b4c7..e7137a74d 100644 --- a/src/apprt/gtk/winproto/x11.zig +++ b/src/apprt/gtk/winproto/x11.zig @@ -157,7 +157,7 @@ pub const Window = struct { config: DerivedConfig, window: c.Window, gtk_window: *c.GtkWindow, - blur_region: Region, + blur_region: Region = .{}, const DerivedConfig = struct { blur: bool, @@ -190,34 +190,11 @@ pub const Window = struct { c.gdk_x11_surface_get_type(), ) == 0) return error.NotX11Surface; - const blur_region: Region = blur: { - if ((comptime !adwaita.versionAtLeast(0, 0, 0)) or - !adwaita.enabled(config)) break :blur .{}; - - // NOTE(pluiedev): CSDs are a f--king mistake. - // Please, GNOME, stop this nonsense of making a window ~30% bigger - // internally than how they really are just for your shadows and - // rounded corners and all that fluff. Please. I beg of you. - var x: f64 = 0; - var y: f64 = 0; - c.gtk_native_get_surface_transform( - @ptrCast(gtk_window), - &x, - &y, - ); - - break :blur .{ - .x = @intFromFloat(x), - .y = @intFromFloat(y), - }; - }; - return .{ .app = app, .config = DerivedConfig.init(config), .window = c.gdk_x11_surface_get_xid(surface), .gtk_window = gtk_window, - .blur_region = blur_region, }; } @@ -241,6 +218,24 @@ pub const Window = struct { } pub fn syncAppearance(self: *Window) !void { + self.blur_region = blur: { + // NOTE(pluiedev): CSDs are a f--king mistake. + // Please, GNOME, stop this nonsense of making a window ~30% bigger + // internally than how they really are just for your shadows and + // rounded corners and all that fluff. Please. I beg of you. + var x: f64 = 0; + var y: f64 = 0; + c.gtk_native_get_surface_transform( + @ptrCast(self.gtk_window), + &x, + &y, + ); + + break :blur .{ + .x = @intFromFloat(x), + .y = @intFromFloat(y), + }; + }; try self.syncBlur(); } From dda242c96e029a0f1e5c10491daa62d2ccc18503 Mon Sep 17 00:00:00 2001 From: Mitchell Hashimoto Date: Thu, 30 Jan 2025 13:58:11 -0800 Subject: [PATCH 187/365] ci: update publish job --- .github/workflows/publish-tag.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/publish-tag.yml b/.github/workflows/publish-tag.yml index 160034a52..458982140 100644 --- a/.github/workflows/publish-tag.yml +++ b/.github/workflows/publish-tag.yml @@ -55,7 +55,7 @@ jobs: - name: Download Staged Appcast run: | - curl -L https://release.files.ghostty.org/${GHOSTTY_VERSION}/appcast-staged.xml + curl -L https://release.files.ghostty.org/${GHOSTTY_VERSION}/appcast-staged.xml > appcast-staged.xml mv appcast-staged.xml appcast.xml - name: Upload Appcast From c5508e7d1922842ecd3160ea73b97da1282168b3 Mon Sep 17 00:00:00 2001 From: Mitchell Hashimoto Date: Thu, 30 Jan 2025 14:23:17 -0800 Subject: [PATCH 188/365] update version for development --- build.zig.zon | 2 +- nix/package.nix | 2 +- src/build/Config.zig | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/build.zig.zon b/build.zig.zon index 5839b090f..cf16b35ae 100644 --- a/build.zig.zon +++ b/build.zig.zon @@ -1,6 +1,6 @@ .{ .name = "ghostty", - .version = "1.1.0", + .version = "1.1.1", .paths = .{""}, .dependencies = .{ // Zig libs diff --git a/nix/package.nix b/nix/package.nix index dae87ed81..ceb6a7688 100644 --- a/nix/package.nix +++ b/nix/package.nix @@ -114,7 +114,7 @@ in stdenv.mkDerivation (finalAttrs: { pname = "ghostty"; - version = "1.1.0"; + version = "1.1.1"; inherit src; nativeBuildInputs = diff --git a/src/build/Config.zig b/src/build/Config.zig index c832b77ad..0ff0fc914 100644 --- a/src/build/Config.zig +++ b/src/build/Config.zig @@ -19,7 +19,7 @@ const GitVersion = @import("GitVersion.zig"); /// TODO: When Zig 0.14 is released, derive this from build.zig.zon directly. /// Until then this MUST match build.zig.zon and should always be the /// _next_ version to release. -const app_version: std.SemanticVersion = .{ .major = 1, .minor = 1, .patch = 0 }; +const app_version: std.SemanticVersion = .{ .major = 1, .minor = 1, .patch = 1 }; /// Standard build configuration options. optimize: std.builtin.OptimizeMode, From ac582ccf7c8fa1c3185643795ea30b29aad52004 Mon Sep 17 00:00:00 2001 From: Leah Amelia Chen Date: Fri, 31 Jan 2025 12:03:44 +0100 Subject: [PATCH 189/365] gtk(wayland): respect window-decoration=none on GNOME This is, admittedly, a very silly bug. On GNOME the SSD protocol is not available and past me just decided to always enable CSDs in that case, *even when* `window-decoration = none`. I now question my own intelligence. --- src/apprt/gtk/winproto/wayland.zig | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/apprt/gtk/winproto/wayland.zig b/src/apprt/gtk/winproto/wayland.zig index 8df3e57b3..3e239eb29 100644 --- a/src/apprt/gtk/winproto/wayland.zig +++ b/src/apprt/gtk/winproto/wayland.zig @@ -251,12 +251,13 @@ pub const Window = struct { } pub fn clientSideDecorationEnabled(self: Window) bool { - // Compositor doesn't support the SSD protocol - if (self.decoration == null) return true; - return switch (self.getDecorationMode()) { .Client => true, - .Server, .None => false, + // If we support SSDs, then we should *not* enable CSDs if we prefer SSDs. + // However, if we do not support SSDs (e.g. GNOME) then we should enable + // CSDs even if the user prefers SSDs. + .Server => if (self.app_context.kde_decoration_manager) |_| false else true, + .None => false, else => unreachable, }; } From 660d9dc6718d7a18ad157dcd64be7b7de8518701 Mon Sep 17 00:00:00 2001 From: "Jeffrey C. Ollie" Date: Fri, 31 Jan 2025 09:14:50 -0600 Subject: [PATCH 190/365] linux: fix installation path of nautilus-python extension Fixes #5468 --- src/build/GhosttyResources.zig | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/build/GhosttyResources.zig b/src/build/GhosttyResources.zig index a7ff40cbd..912308e46 100644 --- a/src/build/GhosttyResources.zig +++ b/src/build/GhosttyResources.zig @@ -209,10 +209,11 @@ pub fn init(b: *std.Build, cfg: *const Config) !GhosttyResources { "share/kio/servicemenus/com.mitchellh.ghostty.desktop", ).step); - // Right click menu action for Nautilus + // Right click menu action for Nautilus. Note that this _must_ be named + // `ghostty.py`. Using the full app id causes problems (see #5468). try steps.append(&b.addInstallFile( b.path("dist/linux/ghostty_nautilus.py"), - "share/nautilus-python/extensions/com.mitchellh.ghostty.py", + "share/nautilus-python/extensions/ghostty.py", ).step); // Various icons that our application can use, including the icon From 5100f4ff7da6eaa94aa7b01ee9f25c96f561b9ca Mon Sep 17 00:00:00 2001 From: mitchellh <1299+mitchellh@users.noreply.github.com> Date: Sun, 2 Feb 2025 00:10:42 +0000 Subject: [PATCH 191/365] deps: Update iTerm2 color schemes --- build.zig.zon | 4 ++-- nix/zigCacheHash.nix | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/build.zig.zon b/build.zig.zon index cf16b35ae..a5abdc586 100644 --- a/build.zig.zon +++ b/build.zig.zon @@ -79,8 +79,8 @@ // Other .apple_sdk = .{ .path = "./pkg/apple-sdk" }, .iterm2_themes = .{ - .url = "https://github.com/mbadolato/iTerm2-Color-Schemes/archive/0e23daf59234fc892cba949562d7bf69204594bb.tar.gz", - .hash = "12204fc99743d8232e691ac22e058519bfc6ea92de4a11c6dba59b117531c847cd6a", + .url = "https://github.com/mbadolato/iTerm2-Color-Schemes/archive/db227d159adc265818f2e898da0f70ef8d7b580e.tar.gz", + .hash = "12203d2647e5daf36a9c85b969e03f422540786ce9ea624eb4c26d204fe1f46218f3", }, }, } diff --git a/nix/zigCacheHash.nix b/nix/zigCacheHash.nix index 66b8eb8b6..975605049 100644 --- a/nix/zigCacheHash.nix +++ b/nix/zigCacheHash.nix @@ -1,3 +1,3 @@ # This file is auto-generated! check build-support/check-zig-cache-hash.sh for # more details. -"sha256-Bjy31evaKgpRX1mGwAFkai44eiiorTV1gW3VdP9Ins8=" +"sha256-I7uuv0MkaW3gWAw6NHci+II42OfM7NdtKh2Npw2pTis=" From bc156266c6a653a6d6071a73a3f1cca6131b285d Mon Sep 17 00:00:00 2001 From: rhodes-b <59537185+rhodes-b@users.noreply.github.com> Date: Sun, 2 Feb 2025 16:27:10 -0600 Subject: [PATCH 192/365] fix errno handle --- src/os/cgroup.zig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/os/cgroup.zig b/src/os/cgroup.zig index bef101acc..095c90aa3 100644 --- a/src/os/cgroup.zig +++ b/src/os/cgroup.zig @@ -130,7 +130,7 @@ pub fn cloneInto(cgroup: []const u8) !posix.pid_t { }; const rc = linux.syscall2(linux.SYS.clone3, @intFromPtr(&args), @sizeOf(@TypeOf(args))); - return switch (posix.errno(rc)) { + return switch (std.os.linux.E.init(rc)) { .SUCCESS => @as(posix.pid_t, @intCast(rc)), else => |errno| err: { log.err("unable to clone: {}", .{errno}); From fb2516fbf68a171ffd3223cc46ffb423518bed90 Mon Sep 17 00:00:00 2001 From: rhodes-b <59537185+rhodes-b@users.noreply.github.com> Date: Sun, 2 Feb 2025 16:35:20 -0600 Subject: [PATCH 193/365] comment on why to not use posix.errno --- src/os/cgroup.zig | 1 + 1 file changed, 1 insertion(+) diff --git a/src/os/cgroup.zig b/src/os/cgroup.zig index 095c90aa3..d94a4a728 100644 --- a/src/os/cgroup.zig +++ b/src/os/cgroup.zig @@ -130,6 +130,7 @@ pub fn cloneInto(cgroup: []const u8) !posix.pid_t { }; const rc = linux.syscall2(linux.SYS.clone3, @intFromPtr(&args), @sizeOf(@TypeOf(args))); + // do not use posix.errno, when linking libc it will use the libc errno which will not be set when making the syscall directly return switch (std.os.linux.E.init(rc)) { .SUCCESS => @as(posix.pid_t, @intCast(rc)), else => |errno| err: { From 1bd5ea6f7304ad004167254b9f7fb917e6c3e82a Mon Sep 17 00:00:00 2001 From: Kat <65649991+00-kat@users.noreply.github.com> Date: Mon, 3 Feb 2025 05:58:48 +0000 Subject: [PATCH 194/365] Fix a typo in the docs for `adjust-strikethrough-position` and `adjust-overline-position` --- src/config/Config.zig | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/config/Config.zig b/src/config/Config.zig index 0ed98bdea..f99c4594b 100644 --- a/src/config/Config.zig +++ b/src/config/Config.zig @@ -317,14 +317,14 @@ pub const renamed = std.StaticStringMap([]const u8).initComptime(&.{ /// See the notes about adjustments in `adjust-cell-width`. @"adjust-underline-thickness": ?MetricModifier = null, /// Distance in pixels or percentage adjustment from the top of the cell to the top of the strikethrough. -/// Increase to move strikethrough DOWN, decrease to move underline UP. +/// Increase to move strikethrough DOWN, decrease to move strikethrough UP. /// See the notes about adjustments in `adjust-cell-width`. @"adjust-strikethrough-position": ?MetricModifier = null, /// Thickness in pixels or percentage adjustment of the strikethrough. /// See the notes about adjustments in `adjust-cell-width`. @"adjust-strikethrough-thickness": ?MetricModifier = null, /// Distance in pixels or percentage adjustment from the top of the cell to the top of the overline. -/// Increase to move overline DOWN, decrease to move underline UP. +/// Increase to move overline DOWN, decrease to move overline UP. /// See the notes about adjustments in `adjust-cell-width`. @"adjust-overline-position": ?MetricModifier = null, /// Thickness in pixels or percentage adjustment of the overline. From f70ba14abd989938ba7183872a698ade67ceecf9 Mon Sep 17 00:00:00 2001 From: Mitchell Hashimoto Date: Mon, 3 Feb 2025 08:19:08 -0800 Subject: [PATCH 195/365] apprt/gtk: handle input methods that end preedit before commit Fixes #5494 When ibus/fcitx is not running (the GTK "simple" input method is active), the preedit end event triggers _before_ the commit event. For both ibus/fcitx, the opposite is true. We were relying on this ordering. This commit changes the GTK input handling to not rely on this ordering. Instead, we encode our composing state into the boolean state of whether a key event is pressed. This happens before ANY input method events are triggered. Tested dead key handling on: X11/Wayland, ibus/fcitx/none. --- CONTRIBUTING.md | 83 +++++++++++++++++++++++++++ src/apprt/gtk/Surface.zig | 114 +++++++++++++++++++++++++------------- 2 files changed, 160 insertions(+), 37 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index a7233b2c2..e4d148df8 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -78,6 +78,89 @@ pull request will be accepted with a high degree of certainty. > not open a WIP pull request to discuss a feature. Instead, use a discussion > and link to your branch. +# Developer Guide + +> [!NOTE] +> +> **The remainder of this file is dedicated to developers actively +> working on Ghostty.** If you're a user reporting an issue, you can +> ignore the rest of this document. + +## Input Stack Testing + +The input stack is the part of the codebase that starts with a +key event and ends with text encoding being sent to the pty (it +does not include _rendering_ the text, which is part of the +font or rendering stack). + +If you modify any part of the input stack, you must manually verify +all the following input cases work properly. We unfortunately do +not automate this in any way, but if we can do that one day that'd +save a LOT of grief and time. + +Note: this list may not be exhaustive, I'm still working on it. + +### Linux IME + +IME (Input Method Editors) are a common source of bugs in the input stack, +especially on Linux since there are multiple different IME systems +interacting with different windowing systems and application frameworks +all written by different organizations. + +The following matrix should be tested to ensure that all IME input works +properly: + +1. Wayland, X11 +2. ibus, fcitx, none +3. Dead key input (e.g. Spanish), CJK (e.g. Japanese), Emoji, Unicode Hex +4. ibus versions: 1.5.29, 1.5.30, 1.5.31 (each exhibit slightly different behaviors) + +> [!NOTE] +> +> This is a **work in progress**. I'm still working on this list and it +> is not complete. As I find more test cases, I will add them here. + +#### Dead Key Input + +Set your keyboard layout to "Spanish" (or another layout that uses dead keys). + +1. Launch Ghostty +2. Press `'` +3. Press `a` +4. Verify that `á` is displayed + +Note that the dead key may or may not show a preedit state visually. +For ibus and fcitx it does but for the "none" case it does not. Importantly, +the text should be correct when it is sent to the pty. + +We should also test canceling dead key input: + +1. Launch Ghostty +2. Press `'` +3. Press escape +4. Press `a` +5. Verify that `a` is displayed (no diacritic) + +#### CJK Input + +Configure fcitx or ibus with a keyboard layout like Japanese or Mozc. The +exact layout doesn't matter. + +1. Launch Ghostty +2. Press `Ctrl+Shift` to switch to "Hiragana" +3. On a US physical layout, type: `konn`, you should see `こん` in preedit. +4. Press `Enter` +5. Verify that `こん` is displayed in the terminal. + +We should also test switching input methods while preedit is active, which +should commit the text: + +1. Launch Ghostty +2. Press `Ctrl+Shift` to switch to "Hiragana" +3. On a US physical layout, type: `konn`, you should see `こん` in preedit. +4. Press `Ctrl+Shift` to switch to another layout (any) +5. Verify that `こん` is displayed in the terminal as committed text. + ## Nix Virtual Machines Several Nix virtual machine definitions are provided by the project for testing diff --git a/src/apprt/gtk/Surface.zig b/src/apprt/gtk/Surface.zig index 1ca39425b..b34ca9aa3 100644 --- a/src/apprt/gtk/Surface.zig +++ b/src/apprt/gtk/Surface.zig @@ -368,7 +368,7 @@ cursor_pos: apprt.CursorPos, inspector: ?*inspector.Inspector = null, /// Key input states. See gtkKeyPressed for detailed descriptions. -in_keyevent: bool = false, +in_keyevent: IMKeyEvent = .false, im_context: *c.GtkIMContext, im_composing: bool = false, im_buf: [128]u8 = undefined, @@ -378,6 +378,20 @@ im_len: u7 = 0, /// details on what this is. cgroup_path: ?[]const u8 = null, +/// The state of the key event while we're doing IM composition. +/// See gtkKeyPressed for detailed descriptions. +pub const IMKeyEvent = enum { + /// Not in a key event. + false, + + /// In a key event but im_composing was either true or false + /// prior to the calling IME processing. This is important to + /// work around different input methods calling commit and + /// preedit end in a different order. + composing, + not_composing, +}; + /// Configuration used for initializing the surface. We have to copy some /// data since initialization is delayed with GTK (on realize). pub const InitConfig = struct { @@ -1658,16 +1672,29 @@ pub fn keyEvent( .height = 1, }); - // Pass the event through the IM controller. This will return true - // if the input method handled the event. + // We note that we're in a keypress because we want some logic to + // depend on this. For example, we don't want to send character events + // like "a" via the input "commit" event if we're actively processing + // a keypress because we'd lose access to the keycode information. // + // We have to maintain some additional state here of whether we + // were composing because different input methods call the callbacks + // in different orders. For example, ibus calls commit THEN preedit + // end but simple calls preedit end THEN commit. + self.in_keyevent = if (self.im_composing) .composing else .not_composing; + defer self.in_keyevent = .false; + + // Pass the event through the input method which returns true if handled. // Confusingly, not all events handled by the input method result - // in this returning true so we have to maintain some local state to - // find those and in one case we simply lose information. + // in this returning true so we have to maintain some additional + // state about whether we were composing or not to determine if + // we should proceed with key encoding. + // + // Cases where the input method does not mark the event as handled: // // - If we change the input method via keypress while we have preedit // text, the input method will commit the pending text but will not - // mark it as handled. We use the `was_composing` variable to detect + // mark it as handled. We use the `.composing` state to detect // this case. // // - If we switch input methods (i.e. via ctrl+shift with fcitx), @@ -1678,19 +1705,10 @@ pub fn keyEvent( // triggered despite being technically consumed. At the time of // writing, both Kitty and Alacritty have the same behavior. I // know of no way to fix this. - const was_composing = self.im_composing; - const im_handled = filter: { - // We note that we're in a keypress because we want some logic to - // depend on this. For example, we don't want to send character events - // like "a" via the input "commit" event if we're actively processing - // a keypress because we'd lose access to the keycode information. - self.in_keyevent = true; - defer self.in_keyevent = false; - break :filter c.gtk_im_context_filter_keypress( - self.im_context, - event, - ) != 0; - }; + const im_handled = c.gtk_im_context_filter_keypress( + self.im_context, + event, + ) != 0; // log.warn("GTKIM: im_handled={} im_len={} im_composing={}", .{ // im_handled, // self.im_len, @@ -1713,7 +1731,7 @@ pub fn keyEvent( // Example: enable Japanese input method, press "konn" and then // press enter. The final enter should not be encoded and "konn" // (in hiragana) should be written as "こん". - if (was_composing) return true; + if (self.in_keyevent == .composing) return true; // Not composing and our input method buffer is empty. This could // mean that the input method reacted to this event by activating @@ -1892,7 +1910,6 @@ fn gtkInputPreeditChanged( ctx: *c.GtkIMContext, ud: ?*anyopaque, ) callconv(.C) void { - // log.warn("GTKIM: preedit change", .{}); const self = userdataSelf(ud.?); // Get our pre-edit string that we'll use to show the user. @@ -1902,6 +1919,7 @@ fn gtkInputPreeditChanged( const str = std.mem.sliceTo(buf, 0); // Update our preedit state in Ghostty core + // log.warn("GTKIM: preedit change str={s}", .{str}); self.core_surface.preeditCallback(str) catch |err| { log.err("error in preedit callback err={}", .{err}); }; @@ -1928,26 +1946,48 @@ fn gtkInputCommit( bytes: [*:0]u8, ud: ?*anyopaque, ) callconv(.C) void { - // log.warn("GTKIM: input commit", .{}); const self = userdataSelf(ud.?); const str = std.mem.sliceTo(bytes, 0); - // If we're in a keyEvent (i.e. a keyboard event) and we're not composing, - // then this is just a normal key press resulting in UTF-8 text. We - // want the keyEvent to handle this so that the UTF-8 text can be associated - // with a keyboard event. - if (!self.im_composing and self.in_keyevent) { - if (str.len > self.im_buf.len) { - log.warn("not enough buffer space for input method commit", .{}); + // log.debug("GTKIM: input commit composing={} keyevent={} str={s}", .{ + // self.im_composing, + // self.in_keyevent, + // str, + // }); + + // We need to handle commit specially if we're in a key event. + // Specifically, GTK will send us a commit event for basic key + // encodings like "a" (on a US layout keyboard). We don't want + // to treat this as IME committed text because we want to associate + // it with a key event (i.e. "a" key press). + switch (self.in_keyevent) { + // If we're not in a key event then this commit is from + // some other source (i.e. on-screen keyboard, tablet, etc.) + // and we want to commit the text to the core surface. + .false => {}, + + // If we're in a composing state and in a key event then this + // key event is resulting in a commit of multiple keypresses + // and we don't want to encode it alongside the keypress. + .composing => {}, + + // If we're not composing then this commit is just a normal + // key encoding and we want our key event to handle it so + // that Ghostty can be aware of the key event alongside + // the text. + .not_composing => { + if (str.len > self.im_buf.len) { + log.warn("not enough buffer space for input method commit", .{}); + return; + } + + // Copy our committed text to the buffer + @memcpy(self.im_buf[0..str.len], str); + self.im_len = @intCast(str.len); + + // log.debug("input commit len={}", .{self.im_len}); return; - } - - // Copy our committed text to the buffer - @memcpy(self.im_buf[0..str.len], str); - self.im_len = @intCast(str.len); - - // log.debug("input commit len={}", .{self.im_len}); - return; + }, } // If we reach this point from above it means we're composing OR From 4cd49632b23fd3505eb2d68a82aa9440957c45c1 Mon Sep 17 00:00:00 2001 From: Leah Amelia Chen Date: Sun, 2 Feb 2025 22:24:48 +0100 Subject: [PATCH 196/365] gtk(x11): support server-side decorations Remind me to never touch Xlib code ever again. --- src/apprt/gtk/winproto/x11.zig | 254 ++++++++++++++++++++++++++++----- 1 file changed, 219 insertions(+), 35 deletions(-) diff --git a/src/apprt/gtk/winproto/x11.zig b/src/apprt/gtk/winproto/x11.zig index e7137a74d..c58df6dea 100644 --- a/src/apprt/gtk/winproto/x11.zig +++ b/src/apprt/gtk/winproto/x11.zig @@ -13,7 +13,7 @@ const log = std.log.scoped(.gtk_x11); pub const App = struct { display: *c.Display, base_event_code: c_int, - kde_blur_atom: c.Atom, + atoms: Atoms, pub fn init( alloc: Allocator, @@ -95,10 +95,7 @@ pub const App = struct { return .{ .display = display, .base_event_code = base_event_code, - .kde_blur_atom = c.gdk_x11_get_xatom_by_name_for_display( - gdk_display, - "_KDE_NET_WM_BLUR_BEHIND_REGION", - ), + .atoms = Atoms.init(gdk_display), }; } @@ -154,28 +151,27 @@ pub const App = struct { pub const Window = struct { app: *App, + alloc: Allocator, config: DerivedConfig, window: c.Window, gtk_window: *c.GtkWindow, + blur_region: Region = .{}, const DerivedConfig = struct { blur: bool, - has_decoration: bool, + window_decoration: Config.WindowDecoration, pub fn init(config: *const Config) DerivedConfig { return .{ .blur = config.@"background-blur".enabled(), - .has_decoration = switch (config.@"window-decoration") { - .none => false, - .auto, .client, .server => true, - }, + .window_decoration = config.@"window-decoration", }; } }; pub fn init( - _: Allocator, + alloc: Allocator, app: *App, gtk_window: *c.GtkWindow, config: *const Config, @@ -192,6 +188,7 @@ pub const Window = struct { return .{ .app = app, + .alloc = alloc, .config = DerivedConfig.init(config), .window = c.gdk_x11_surface_get_xid(surface), .gtk_window = gtk_window, @@ -236,11 +233,19 @@ pub const Window = struct { .y = @intFromFloat(y), }; }; - try self.syncBlur(); + self.syncBlur() catch |err| { + log.err("failed to synchronize blur={}", .{err}); + }; + self.syncDecorations() catch |err| { + log.err("failed to synchronize decorations={}", .{err}); + }; } pub fn clientSideDecorationEnabled(self: Window) bool { - return self.config.has_decoration; + return switch (self.config.window_decoration) { + .auto, .client => true, + .server, .none => false, + }; } fn syncBlur(self: *Window) !void { @@ -260,33 +265,192 @@ pub const Window = struct { }); if (blur) { - _ = c.XChangeProperty( - self.app.display, - self.window, - self.app.kde_blur_atom, + try self.changeProperty( + Region, + self.app.atoms.kde_blur, c.XA_CARDINAL, - // Despite what you might think, the "32" here does NOT mean - // that the data should be in u32s. Instead, they should be - // c_longs, which on any 64-bit architecture would be obviously - // 64 bits. WTF?! - 32, - c.PropModeReplace, - // SAFETY: Region is an extern struct that has the same - // representation of 4 c_longs put next to each other. - // Therefore, reinterpretation should be safe. - // We don't have to care about endianness either since - // Xlib converts it to network byte order for us. - @ptrCast(std.mem.asBytes(&self.blur_region)), - 4, + ._32, + .{ .mode = .replace }, + &self.blur_region, ); } else { - _ = c.XDeleteProperty( - self.app.display, - self.window, - self.app.kde_blur_atom, - ); + try self.deleteProperty(self.app.atoms.kde_blur); } } + + fn syncDecorations(self: *Window) !void { + var hints: MotifWMHints = .{}; + + self.getWindowProperty( + MotifWMHints, + self.app.atoms.motif_wm_hints, + self.app.atoms.motif_wm_hints, + ._32, + .{}, + &hints, + ) catch |err| switch (err) { + // motif_wm_hints is already initialized, so this is fine + error.PropertyNotFound => {}, + + error.RequestFailed, + error.PropertyTypeMismatch, + error.PropertyFormatMismatch, + => return err, + }; + + hints.flags.decorations = true; + hints.decorations.all = switch (self.config.window_decoration) { + .server => true, + .auto, .client, .none => false, + }; + + try self.changeProperty( + MotifWMHints, + self.app.atoms.motif_wm_hints, + self.app.atoms.motif_wm_hints, + ._32, + .{ .mode = .replace }, + &hints, + ); + } + + fn getWindowProperty( + self: *Window, + comptime T: type, + name: c.Atom, + typ: c.Atom, + comptime format: PropertyFormat, + options: struct { + offset: c_long = 0, + length: c_long = std.math.maxInt(c_long), + delete: bool = false, + }, + result: *T, + ) GetWindowPropertyError!void { + // FIXME: Maybe we should switch to libxcb one day. + // Sounds like a much better idea than whatever this is + var actual_type_return: c.Atom = undefined; + var actual_format_return: c_int = undefined; + var nitems_return: c_ulong = undefined; + var bytes_after_return: c_ulong = undefined; + var prop_return: ?format.bufferType() = null; + + const code = c.XGetWindowProperty( + self.app.display, + self.window, + name, + options.offset, + options.length, + @intFromBool(options.delete), + typ, + &actual_type_return, + &actual_format_return, + &nitems_return, + &bytes_after_return, + &prop_return, + ); + if (code != c.Success) return error.RequestFailed; + + if (actual_type_return == c.None) return error.PropertyNotFound; + if (typ != actual_type_return) return error.PropertyTypeMismatch; + if (@intFromEnum(format) != actual_format_return) return error.PropertyFormatMismatch; + + const data_ptr: *T = @ptrCast(prop_return); + result.* = data_ptr.*; + _ = c.XFree(prop_return); + } + + fn changeProperty( + self: *Window, + comptime T: type, + name: c.Atom, + typ: c.Atom, + comptime format: PropertyFormat, + options: struct { + mode: PropertyChangeMode, + }, + value: *T, + ) X11Error!void { + const data: format.bufferType() = @ptrCast(value); + + const status = c.XChangeProperty( + self.app.display, + self.window, + name, + typ, + @intFromEnum(format), + @intFromEnum(options.mode), + data, + @divExact(@sizeOf(T), @sizeOf(format.elemType())), + ); + + // For some godforsaken reason Xlib alternates between + // error values (0 = success) and booleans (1 = success), and they look exactly + // the same in the signature (just `int`, since Xlib is written in C89)... + if (status == 0) return error.RequestFailed; + } + + fn deleteProperty(self: *Window, name: c.Atom) X11Error!void { + const status = c.XDeleteProperty(self.app.display, self.window, name); + if (status == 0) return error.RequestFailed; + } +}; + +const X11Error = error{ + RequestFailed, +}; + +const GetWindowPropertyError = X11Error || error{ + PropertyNotFound, + PropertyTypeMismatch, + PropertyFormatMismatch, +}; + +const Atoms = struct { + kde_blur: c.Atom, + motif_wm_hints: c.Atom, + + fn init(display: *c.GdkDisplay) Atoms { + return .{ + .kde_blur = c.gdk_x11_get_xatom_by_name_for_display( + display, + "_KDE_NET_WM_BLUR_BEHIND_REGION", + ), + .motif_wm_hints = c.gdk_x11_get_xatom_by_name_for_display( + display, + "_MOTIF_WM_HINTS", + ), + }; + } +}; + +const PropertyChangeMode = enum(c_int) { + replace = c.PropModeReplace, + prepend = c.PropModePrepend, + append = c.PropModeAppend, +}; + +const PropertyFormat = enum(c_int) { + _8 = 8, + _16 = 16, + _32 = 32, + + fn elemType(comptime self: PropertyFormat) type { + return switch (self) { + ._8 => c_char, + ._16 => c_int, + ._32 => c_long, + }; + } + + fn bufferType(comptime self: PropertyFormat) type { + // The buffer type has to be a multi-pointer to bytes + // *aligned to the element type* (very important, + // otherwise you'll read garbage!) + // + // I know this is really ugly. X11 is ugly. I consider it apropos. + return [*]align(@alignOf(self.elemType())) u8; + } }; const Region = extern struct { @@ -295,3 +459,23 @@ const Region = extern struct { width: c_long = 0, height: c_long = 0, }; + +// See Xm/MwmUtil.h, packaged with the Motif Window Manager +const MotifWMHints = extern struct { + flags: packed struct(c_ulong) { + _pad: u1 = 0, + decorations: bool = false, + + // We don't really care about the other flags + _rest: std.meta.Int(.unsigned, @bitSizeOf(c_ulong) - 2) = 0, + } = .{}, + functions: c_ulong = 0, + decorations: packed struct(c_ulong) { + all: bool = false, + + // We don't really care about the other flags + _rest: std.meta.Int(.unsigned, @bitSizeOf(c_ulong) - 1) = 0, + } = .{}, + input_mode: c_long = 0, + status: c_ulong = 0, +}; From d61ee462107dc6bc1560e4fd4cd5cfc20dcbaca4 Mon Sep 17 00:00:00 2001 From: Leah Amelia Chen Date: Mon, 3 Feb 2025 09:17:55 +0100 Subject: [PATCH 197/365] config: mention X11 support in window-decoration docs --- src/config/Config.zig | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/config/Config.zig b/src/config/Config.zig index 0ed98bdea..b39470615 100644 --- a/src/config/Config.zig +++ b/src/config/Config.zig @@ -1157,9 +1157,9 @@ keybind: Keybinds = .{}, /// * `client` - Prefer client-side decorations. /// /// * `server` - Prefer server-side decorations. This is only relevant -/// on Linux with GTK. This currently only works on Linux with Wayland -/// and the `org_kde_kwin_server_decoration` protocol available (e.g. -/// KDE Plasma, but almost any non-GNOME desktop supports this protocol). +/// on Linux with GTK, either on X11, or Wayland on a compositor that +/// supports the `org_kde_kwin_server_decoration` protocol (e.g. KDE Plasma, +/// but almost any non-GNOME desktop supports this protocol). /// /// If `server` is set but the environment doesn't support server-side /// decorations, client-side decorations will be used instead. From 8660cdaad5d2607136f2c2b6e4693cce15ef8e0e Mon Sep 17 00:00:00 2001 From: "Jeffrey C. Ollie" Date: Sun, 2 Feb 2025 12:58:42 -0600 Subject: [PATCH 198/365] core: add explicit errors to src/os/env.zig --- src/os/env.zig | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/os/env.zig b/src/os/env.zig index cf6cc0fe7..d1cbbc01f 100644 --- a/src/os/env.zig +++ b/src/os/env.zig @@ -3,13 +3,15 @@ const builtin = @import("builtin"); const Allocator = std.mem.Allocator; const posix = std.posix; +pub const Errors = Allocator.Error; + /// Append a value to an environment variable such as PATH. /// The returned value is always allocated so it must be freed. pub fn appendEnv( alloc: Allocator, current: []const u8, value: []const u8, -) ![]u8 { +) Errors![]u8 { // If there is no prior value, we return it as-is if (current.len == 0) return try alloc.dupe(u8, value); @@ -26,7 +28,7 @@ pub fn appendEnvAlways( alloc: Allocator, current: []const u8, value: []const u8, -) ![]u8 { +) Errors![]u8 { return try std.fmt.allocPrint(alloc, "{s}{c}{s}", .{ current, std.fs.path.delimiter, @@ -40,7 +42,7 @@ pub fn prependEnv( alloc: Allocator, current: []const u8, value: []const u8, -) ![]u8 { +) Errors![]u8 { // If there is no prior value, we return it as-is if (current.len == 0) return try alloc.dupe(u8, value); @@ -68,7 +70,7 @@ pub const GetEnvResult = struct { /// This will allocate on Windows but not on other platforms. The returned /// value should have deinit called to do the proper cleanup no matter what /// platform you are on. -pub fn getenv(alloc: Allocator, key: []const u8) !?GetEnvResult { +pub fn getenv(alloc: Allocator, key: []const u8) Errors!?GetEnvResult { return switch (builtin.os.tag) { // Non-Windows doesn't need to allocate else => if (posix.getenv(key)) |v| .{ .value = v } else null, From 002cce4e81c1d67fbc163e5ae4d97ac5e1237474 Mon Sep 17 00:00:00 2001 From: "Jeffrey C. Ollie" Date: Sun, 2 Feb 2025 13:16:53 -0600 Subject: [PATCH 199/365] core: handle src/os/env.zig errors on windows --- src/os/env.zig | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/os/env.zig b/src/os/env.zig index d1cbbc01f..f3611663b 100644 --- a/src/os/env.zig +++ b/src/os/env.zig @@ -80,7 +80,8 @@ pub fn getenv(alloc: Allocator, key: []const u8) Errors!?GetEnvResult { .value = v, } else |err| switch (err) { error.EnvironmentVariableNotFound => null, - else => err, + error.InvalidWtf8 => null, + else => |e| e, }, }; } From 8607d463ff3bd5e48bb85498ea329bce44c511c8 Mon Sep 17 00:00:00 2001 From: "Jeffrey C. Ollie" Date: Mon, 3 Feb 2025 14:38:00 -0600 Subject: [PATCH 200/365] core: fix puralization of src/os/env.zig Errors->Error --- src/os/env.zig | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/os/env.zig b/src/os/env.zig index f3611663b..fe2be20de 100644 --- a/src/os/env.zig +++ b/src/os/env.zig @@ -3,7 +3,7 @@ const builtin = @import("builtin"); const Allocator = std.mem.Allocator; const posix = std.posix; -pub const Errors = Allocator.Error; +pub const Error = Allocator.Error; /// Append a value to an environment variable such as PATH. /// The returned value is always allocated so it must be freed. @@ -11,7 +11,7 @@ pub fn appendEnv( alloc: Allocator, current: []const u8, value: []const u8, -) Errors![]u8 { +) Error![]u8 { // If there is no prior value, we return it as-is if (current.len == 0) return try alloc.dupe(u8, value); @@ -28,7 +28,7 @@ pub fn appendEnvAlways( alloc: Allocator, current: []const u8, value: []const u8, -) Errors![]u8 { +) Error![]u8 { return try std.fmt.allocPrint(alloc, "{s}{c}{s}", .{ current, std.fs.path.delimiter, @@ -42,7 +42,7 @@ pub fn prependEnv( alloc: Allocator, current: []const u8, value: []const u8, -) Errors![]u8 { +) Error![]u8 { // If there is no prior value, we return it as-is if (current.len == 0) return try alloc.dupe(u8, value); @@ -70,7 +70,7 @@ pub const GetEnvResult = struct { /// This will allocate on Windows but not on other platforms. The returned /// value should have deinit called to do the proper cleanup no matter what /// platform you are on. -pub fn getenv(alloc: Allocator, key: []const u8) Errors!?GetEnvResult { +pub fn getenv(alloc: Allocator, key: []const u8) Error!?GetEnvResult { return switch (builtin.os.tag) { // Non-Windows doesn't need to allocate else => if (posix.getenv(key)) |v| .{ .value = v } else null, From 7f0d22a31eec3d68ccae45ce6bcc39fd3277776b Mon Sep 17 00:00:00 2001 From: "Jeffrey C. Ollie" Date: Sun, 2 Feb 2025 13:31:00 -0600 Subject: [PATCH 201/365] core: add explicit errors to src/pty.zig --- src/pty.zig | 38 ++++++++++++++++++++++++++++---------- 1 file changed, 28 insertions(+), 10 deletions(-) diff --git a/src/pty.zig b/src/pty.zig index b6dc2e145..52b231d59 100644 --- a/src/pty.zig +++ b/src/pty.zig @@ -41,12 +41,14 @@ pub const Mode = packed struct { // a termio that doesn't use a pty. This isn't used in any user-facing // artifacts, this is just a stopgap to get compilation to work on iOS. const NullPty = struct { + pub const Errors = error{GetModeFailed}; + pub const Fd = posix.fd_t; master: Fd, slave: Fd, - pub fn open(size: winsize) !Pty { + pub fn open(size: winsize) error{}!Pty { _ = size; return .{ .master = 0, .slave = 0 }; } @@ -60,12 +62,12 @@ const NullPty = struct { return .{}; } - pub fn setSize(self: *Pty, size: winsize) !void { + pub fn setSize(self: *Pty, size: winsize) error{}!void { _ = self; _ = size; } - pub fn childPreExec(self: Pty) !void { + pub fn childPreExec(self: Pty) error{}!void { _ = self; } }; @@ -74,6 +76,15 @@ const NullPty = struct { /// of Linux syscalls. The caller is responsible for detail-oriented handling /// of the returned file handles. const PosixPty = struct { + pub const Errors = error{ + GetModeFailed, + IoctlFailed, + OpenPtyFailed, + OperationNotSupported, + ProcessGroupFailed, + SetControllingTerminalFailed, + }; + pub const Fd = posix.fd_t; // https://github.com/ziglang/zig/issues/13277 @@ -101,7 +112,9 @@ const PosixPty = struct { slave: Fd, /// Open a new PTY with the given initial size. - pub fn open(size: winsize) !Pty { + pub fn open(size: winsize) error{ + OpenptyFailed, + }!Pty { // Need to copy so that it becomes non-const. var sizeCopy = size; @@ -170,7 +183,7 @@ const PosixPty = struct { } /// Return the size of the pty. - pub fn getSize(self: Pty) !winsize { + pub fn getSize(self: Pty) error{IoctlFailed}!winsize { var ws: winsize = undefined; if (c.ioctl(self.master, TIOCGWINSZ, @intFromPtr(&ws)) < 0) return error.IoctlFailed; @@ -179,14 +192,14 @@ const PosixPty = struct { } /// Set the size of the pty. - pub fn setSize(self: *Pty, size: winsize) !void { + pub fn setSize(self: *Pty, size: winsize) error{IoctlFailed}!void { if (c.ioctl(self.master, TIOCSWINSZ, @intFromPtr(&size)) < 0) return error.IoctlFailed; } /// This should be called prior to exec in the forked child process /// in order to setup the tty properly. - pub fn childPreExec(self: Pty) !void { + pub fn childPreExec(self: Pty) error{ OperationNotSupported, ProcessGroupFailed, SetControllingTerminalFailed }!void { // Reset our signals var sa: posix.Sigaction = .{ .handler = .{ .handler = posix.SIG.DFL }, @@ -227,6 +240,11 @@ const PosixPty = struct { /// Windows PTY creation and management. const WindowsPty = struct { + pub const Errors = error{ + ResizeFailed, + Unexpected, + }; + pub const Fd = windows.HANDLE; // Process-wide counter for pipe names @@ -240,7 +258,7 @@ const WindowsPty = struct { size: winsize, /// Open a new PTY with the given initial size. - pub fn open(size: winsize) !Pty { + pub fn open(size: winsize) error{Unexpected}!Pty { var pty: Pty = undefined; var pipe_path_buf: [128]u8 = undefined; @@ -350,12 +368,12 @@ const WindowsPty = struct { } /// Return the size of the pty. - pub fn getSize(self: Pty) !winsize { + pub fn getSize(self: Pty) error{}!winsize { return self.size; } /// Set the size of the pty. - pub fn setSize(self: *Pty, size: winsize) !void { + pub fn setSize(self: *Pty, size: winsize) error{ResizeFailed}!void { const result = windows.exp.kernel32.ResizePseudoConsole( self.pseudo_console, .{ .X = @intCast(size.ws_col), .Y = @intCast(size.ws_row) }, From 3fdbd5f7ba4a7d97b249004f7e81892fbca52546 Mon Sep 17 00:00:00 2001 From: "Jeffrey C. Ollie" Date: Mon, 3 Feb 2025 15:06:35 -0600 Subject: [PATCH 202/365] core: fix up pty Zig error sets --- src/pty.zig | 66 +++++++++++++++++++++++++++++++---------------------- 1 file changed, 39 insertions(+), 27 deletions(-) diff --git a/src/pty.zig b/src/pty.zig index 52b231d59..6f97e190d 100644 --- a/src/pty.zig +++ b/src/pty.zig @@ -41,14 +41,16 @@ pub const Mode = packed struct { // a termio that doesn't use a pty. This isn't used in any user-facing // artifacts, this is just a stopgap to get compilation to work on iOS. const NullPty = struct { - pub const Errors = error{GetModeFailed}; + pub const Error = OpenError || GetModeError || SetSizeError || ChildPreExecError; pub const Fd = posix.fd_t; master: Fd, slave: Fd, - pub fn open(size: winsize) error{}!Pty { + pub const OpenError = error{}; + + pub fn open(size: winsize) OpenError!Pty { _ = size; return .{ .master = 0, .slave = 0 }; } @@ -57,17 +59,23 @@ const NullPty = struct { _ = self; } - pub fn getMode(self: Pty) error{GetModeFailed}!Mode { + pub const GetModeError = error{GetModeFailed}; + + pub fn getMode(self: Pty) GetModeError!Mode { _ = self; return .{}; } - pub fn setSize(self: *Pty, size: winsize) error{}!void { + pub const SetSizeError = error{}; + + pub fn setSize(self: *Pty, size: winsize) SetSizeError!void { _ = self; _ = size; } - pub fn childPreExec(self: Pty) error{}!void { + pub const ChildPreExecError = error{}; + + pub fn childPreExec(self: Pty) ChildPreExecError!void { _ = self; } }; @@ -76,14 +84,7 @@ const NullPty = struct { /// of Linux syscalls. The caller is responsible for detail-oriented handling /// of the returned file handles. const PosixPty = struct { - pub const Errors = error{ - GetModeFailed, - IoctlFailed, - OpenPtyFailed, - OperationNotSupported, - ProcessGroupFailed, - SetControllingTerminalFailed, - }; + pub const Error = OpenError || GetModeError || GetSizeError || SetSizeError || ChildPreExecError; pub const Fd = posix.fd_t; @@ -111,10 +112,10 @@ const PosixPty = struct { master: Fd, slave: Fd, + pub const OpenError = error{OpenptyFailed}; + /// Open a new PTY with the given initial size. - pub fn open(size: winsize) error{ - OpenptyFailed, - }!Pty { + pub fn open(size: winsize) OpenError!Pty { // Need to copy so that it becomes non-const. var sizeCopy = size; @@ -171,7 +172,9 @@ const PosixPty = struct { self.* = undefined; } - pub fn getMode(self: Pty) error{GetModeFailed}!Mode { + pub const GetModeError = error{GetModeFailed}; + + pub fn getMode(self: Pty) GetModeError!Mode { var attrs: c.termios = undefined; if (c.tcgetattr(self.master, &attrs) != 0) return error.GetModeFailed; @@ -182,8 +185,10 @@ const PosixPty = struct { }; } + pub const GetSizeError = error{IoctlFailed}; + /// Return the size of the pty. - pub fn getSize(self: Pty) error{IoctlFailed}!winsize { + pub fn getSize(self: Pty) GetSizeError!winsize { var ws: winsize = undefined; if (c.ioctl(self.master, TIOCGWINSZ, @intFromPtr(&ws)) < 0) return error.IoctlFailed; @@ -191,15 +196,19 @@ const PosixPty = struct { return ws; } + pub const SetSizeError = error{IoctlFailed}; + /// Set the size of the pty. - pub fn setSize(self: *Pty, size: winsize) error{IoctlFailed}!void { + pub fn setSize(self: *Pty, size: winsize) SetSizeError!void { if (c.ioctl(self.master, TIOCSWINSZ, @intFromPtr(&size)) < 0) return error.IoctlFailed; } + pub const ChildPreExecError = error{ OperationNotSupported, ProcessGroupFailed, SetControllingTerminalFailed }; + /// This should be called prior to exec in the forked child process /// in order to setup the tty properly. - pub fn childPreExec(self: Pty) error{ OperationNotSupported, ProcessGroupFailed, SetControllingTerminalFailed }!void { + pub fn childPreExec(self: Pty) ChildPreExecError!void { // Reset our signals var sa: posix.Sigaction = .{ .handler = .{ .handler = posix.SIG.DFL }, @@ -240,10 +249,7 @@ const PosixPty = struct { /// Windows PTY creation and management. const WindowsPty = struct { - pub const Errors = error{ - ResizeFailed, - Unexpected, - }; + pub const Error = OpenError || GetSizeError || SetSizeError; pub const Fd = windows.HANDLE; @@ -257,8 +263,10 @@ const WindowsPty = struct { pseudo_console: windows.exp.HPCON, size: winsize, + pub const OpenError = error{Unexpected}; + /// Open a new PTY with the given initial size. - pub fn open(size: winsize) error{Unexpected}!Pty { + pub fn open(size: winsize) OpenError!Pty { var pty: Pty = undefined; var pipe_path_buf: [128]u8 = undefined; @@ -367,13 +375,17 @@ const WindowsPty = struct { self.* = undefined; } + pub const GetSizeError = error{}; + /// Return the size of the pty. - pub fn getSize(self: Pty) error{}!winsize { + pub fn getSize(self: Pty) GetSizeError!winsize { return self.size; } + pub const SetSizeError = error{ResizeFailed}; + /// Set the size of the pty. - pub fn setSize(self: *Pty, size: winsize) error{ResizeFailed}!void { + pub fn setSize(self: *Pty, size: winsize) SetSizeError!void { const result = windows.exp.kernel32.ResizePseudoConsole( self.pseudo_console, .{ .X = @intCast(size.ws_col), .Y = @intCast(size.ws_row) }, From b7fa8e5947f0b6a0fda9f8c222b2ca13a3f313d2 Mon Sep 17 00:00:00 2001 From: "Jeffrey C. Ollie" Date: Sun, 2 Feb 2025 00:46:01 -0600 Subject: [PATCH 203/365] linux: ensure that group dir fd is closed The CLOEXEC flag on the fd will ensure that the directory is closed on the child, but also need to close the fd in the parent. --- src/os/cgroup.zig | 1 + 1 file changed, 1 insertion(+) diff --git a/src/os/cgroup.zig b/src/os/cgroup.zig index d94a4a728..5645e337a 100644 --- a/src/os/cgroup.zig +++ b/src/os/cgroup.zig @@ -102,6 +102,7 @@ pub fn cloneInto(cgroup: []const u8) !posix.pid_t { } }; assert(fd >= 0); + defer _ = linux.close(fd); const args: extern struct { flags: u64, From 730c6884f7d29a0833cb01b9ede44aaf71778a4d Mon Sep 17 00:00:00 2001 From: Mitchell Hashimoto Date: Mon, 3 Feb 2025 13:28:56 -0800 Subject: [PATCH 204/365] macOS: binding checks should never trigger preedit callbacks Fixes #5558 Binding checks would sometimes trigger preedit which would cause some characters to leak through. This is a bit of a band-aid. The real long term solution is noted in the TODO comment in this commit, but I wanted to avoid regressions in a patch release so I'm going to defer that to 1.2. This commit fixes the main issue for 1.1.1. --- src/apprt/embedded.zig | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/src/apprt/embedded.zig b/src/apprt/embedded.zig index 3c3723d4f..358e9f291 100644 --- a/src/apprt/embedded.zig +++ b/src/apprt/embedded.zig @@ -238,6 +238,14 @@ pub const App = struct { translate_mods, ); + // TODO(mitchellh): I think we can get rid of the above keymap + // translation code completely and defer to AppKit/Swift + // (for macOS) for handling all translations. The translation + // within libghostty is an artifact of an earlier design and + // it is buggy (see #5558). We should move closer to a GTK-style + // model of tracking composing states and preedit in the apprt + // and not in libghostty. + // If this is a dead key, then we're composing a character and // we need to set our proper preedit state if we're targeting a // surface. @@ -1652,7 +1660,12 @@ pub const CAPI = struct { event: KeyEvent, ) bool { const core_event = surface.app.coreKeyEvent( - .{ .surface = surface }, + // Note: this "app" target here looks like a bug, but it is + // intentional. coreKeyEvent uses the target only as a way to + // trigger preedit callbacks for keymap translation and we don't + // want to trigger that here. See the todo item in coreKeyEvent + // for a long term solution to this and removing target altogether. + .app, event.keyEvent(), ) catch |err| { log.warn("error processing key event err={}", .{err}); From 8d31f6ce2e8f301be871c7a41206c5198bca2dc6 Mon Sep 17 00:00:00 2001 From: Shaps Benkau Date: Fri, 31 Jan 2025 15:41:03 +0000 Subject: [PATCH 205/365] Toggling visibility is now ignored when in fullscreen mode. --- macos/Sources/App/macOS/AppDelegate.swift | 12 +++++++++++- src/input/Binding.zig | 2 ++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/macos/Sources/App/macOS/AppDelegate.swift b/macos/Sources/App/macOS/AppDelegate.swift index 4b11b68aa..c719d3ce7 100644 --- a/macos/Sources/App/macOS/AppDelegate.swift +++ b/macos/Sources/App/macOS/AppDelegate.swift @@ -709,11 +709,21 @@ class AppDelegate: NSObject, /// Toggles visibility of all Ghosty Terminal windows. When hidden, activates Ghostty as the frontmost application @IBAction func toggleVisibility(_ sender: Any) { + // Toggle visibility doesn't do anything if the focused window is native + // fullscreen. + guard let keyWindow = NSApp.keyWindow, + !keyWindow.styleMask.contains(.fullScreen) else { return } + // If we have focus, then we hide all windows. if NSApp.isActive { // We need to keep track of the windows that were visible because we only // want to bring back these windows if we remove the toggle. - self.hiddenWindows = NSApp.windows.filter { $0.isVisible }.map { Weak($0) } + // + // We also ignore fullscreen windows because they don't hide anyways. + self.hiddenWindows = NSApp.windows.filter { + $0.isVisible && + !$0.styleMask.contains(.fullScreen) + }.map { Weak($0) } NSApp.hide(nil) return } diff --git a/src/input/Binding.zig b/src/input/Binding.zig index 19c103195..90ea436af 100644 --- a/src/input/Binding.zig +++ b/src/input/Binding.zig @@ -470,6 +470,8 @@ pub const Action = union(enum) { /// Ghostty becomes focused. When hiding all windows, focus is yielded /// to the next application as determined by the OS. /// + /// Note: When the focused surface is fullscreen, this method does nothing. + /// /// This currently only works on macOS. toggle_visibility: void, From 4a95e8e48cdb3555ade20e7e3959a12856a1a6b4 Mon Sep 17 00:00:00 2001 From: Bryan Lee <38807139+liby@users.noreply.github.com> Date: Tue, 4 Feb 2025 20:50:34 +0800 Subject: [PATCH 206/365] Fix cursor character not visible when cursor color matches background --- src/renderer/shaders/cell.metal | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/renderer/shaders/cell.metal b/src/renderer/shaders/cell.metal index 3ca0f9149..5f161c6b7 100644 --- a/src/renderer/shaders/cell.metal +++ b/src/renderer/shaders/cell.metal @@ -471,16 +471,15 @@ vertex CellTextVertexOut cell_text_vertex( out.color = contrasted_color(uniforms.min_contrast, out.color, out.bg_color); } - // If this cell is the cursor cell, then we need to change the color. - if ( - in.mode != MODE_TEXT_CURSOR && - ( + // Check if current position is under cursor (including wide cursor) + bool is_cursor_pos = ( in.grid_pos.x == uniforms.cursor_pos.x || uniforms.cursor_wide && in.grid_pos.x == uniforms.cursor_pos.x + 1 - ) && - in.grid_pos.y == uniforms.cursor_pos.y - ) { + ) && in.grid_pos.y == uniforms.cursor_pos.y; + + // If this cell is the cursor cell, then we need to change the color. + if (in.mode != MODE_TEXT_CURSOR && is_cursor_pos) { out.color = load_color( uniforms.cursor_color, uniforms.use_display_p3, @@ -490,7 +489,8 @@ vertex CellTextVertexOut cell_text_vertex( // Don't bother rendering if the bg and fg colors are identical, just return // the same point which will be culled because it makes the quad zero sized. - if (all(out.color == out.bg_color)) { + // However, we should still render if this is the cursor position + if (all(out.color == out.bg_color) && !is_cursor_pos) { out.position = float4(0.0); } From 0c1f3d724dcf087a86b41a153fc470ab4d432f6e Mon Sep 17 00:00:00 2001 From: Leah Amelia Chen Date: Wed, 5 Feb 2025 09:01:15 +0100 Subject: [PATCH 207/365] gtk: remove CSD styling when CSDs aren't used Fixes #2023 --- src/apprt/gtk/Window.zig | 1 + 1 file changed, 1 insertion(+) diff --git a/src/apprt/gtk/Window.zig b/src/apprt/gtk/Window.zig index 3a72e1752..bb49165b9 100644 --- a/src/apprt/gtk/Window.zig +++ b/src/apprt/gtk/Window.zig @@ -667,6 +667,7 @@ fn gtkWindowNotifyDecorated( // class is defined in the GtkWindow documentation: // https://docs.gtk.org/gtk4/class.Window.html#css-nodes. A definition // for .ssd is provided by GTK and Adwaita. + toggleCssClass(@ptrCast(object), "csd", is_decorated); toggleCssClass(@ptrCast(object), "ssd", !is_decorated); toggleCssClass(@ptrCast(object), "no-border-radius", !is_decorated); From 47e50abe24de72205be30c0e0bdd2de27c1496a2 Mon Sep 17 00:00:00 2001 From: Kat <65649991+00-kat@users.noreply.github.com> Date: Wed, 5 Feb 2025 08:22:58 +0000 Subject: [PATCH 208/365] Add a final newline to "No crash reports!" --- src/cli/crash_report.zig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/cli/crash_report.zig b/src/cli/crash_report.zig index dd5fe99cc..ff8509797 100644 --- a/src/cli/crash_report.zig +++ b/src/cli/crash_report.zig @@ -53,7 +53,7 @@ pub fn run(alloc_gpa: Allocator) !u8 { // print a message, otherwise we do nothing. if (reports.items.len == 0) { if (std.posix.isatty(stdout.handle)) { - try stdout.writeAll("No crash reports! 👻"); + try stdout.writeAll("No crash reports! 👻\n"); } return 0; } From f660ec8bd2d08f3b0c1bbde0167241cd1cb5dd10 Mon Sep 17 00:00:00 2001 From: Ofir Levitan Date: Wed, 5 Feb 2025 16:04:53 +0200 Subject: [PATCH 209/365] GTK: disable color management --- src/apprt/gtk/App.zig | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/apprt/gtk/App.zig b/src/apprt/gtk/App.zig index df74cefb2..251cbdceb 100644 --- a/src/apprt/gtk/App.zig +++ b/src/apprt/gtk/App.zig @@ -146,6 +146,9 @@ pub fn init(core_app: *CoreApp, opts: Options) !App { var gdk_disable: struct { @"gles-api": bool = false, + /// current gtk implementation for color management is not good enough. + /// see: https://bugs.kde.org/show_bug.cgi?id=495647 + @"color-mgmt": bool = true, /// Disabling Vulkan can improve startup times by hundreds of /// milliseconds on some systems. We don't use Vulkan so we can just /// disable it. From 1d7f041f55f012afc5af27d98a828e13f29751fe Mon Sep 17 00:00:00 2001 From: Mitchell Hashimoto Date: Wed, 5 Feb 2025 10:44:38 -0800 Subject: [PATCH 210/365] macos: update Sparkle to 2.6.4 to workaround security issue https://github.com/ghostty-org/ghostty/security/dependabot/4 --- .../project.xcworkspace/xcshareddata/swiftpm/Package.resolved | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/macos/Ghostty.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved b/macos/Ghostty.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved index d380910a8..5ace476e0 100644 --- a/macos/Ghostty.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved +++ b/macos/Ghostty.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved @@ -6,8 +6,8 @@ "kind" : "remoteSourceControl", "location" : "https://github.com/sparkle-project/Sparkle", "state" : { - "revision" : "b456fd404954a9e13f55aa0c88cd5a40b8399638", - "version" : "2.6.3" + "revision" : "0ef1ee0220239b3776f433314515fd849025673f", + "version" : "2.6.4" } } ], From d87bfdff1ab1e6b39e8cac8caa613d15456cb4c4 Mon Sep 17 00:00:00 2001 From: eifr Date: Wed, 5 Feb 2025 22:48:28 +0200 Subject: [PATCH 211/365] move color-mgmt to config --- src/apprt/gtk/App.zig | 8 ++++---- src/config/Config.zig | 4 ++++ 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/src/apprt/gtk/App.zig b/src/apprt/gtk/App.zig index 251cbdceb..c9096ee01 100644 --- a/src/apprt/gtk/App.zig +++ b/src/apprt/gtk/App.zig @@ -146,14 +146,14 @@ pub fn init(core_app: *CoreApp, opts: Options) !App { var gdk_disable: struct { @"gles-api": bool = false, - /// current gtk implementation for color management is not good enough. - /// see: https://bugs.kde.org/show_bug.cgi?id=495647 - @"color-mgmt": bool = true, + @"color-mgmt": bool, /// Disabling Vulkan can improve startup times by hundreds of /// milliseconds on some systems. We don't use Vulkan so we can just /// disable it. vulkan: bool = false, - } = .{}; + } = .{ + .@"color-mgmt" = config.@"disable-gtk-color-mgmt", + }; environment: { if (version.runtimeAtLeast(4, 16, 0)) { diff --git a/src/config/Config.zig b/src/config/Config.zig index 3010b87d1..52a1f2885 100644 --- a/src/config/Config.zig +++ b/src/config/Config.zig @@ -1350,6 +1350,10 @@ keybind: Keybinds = .{}, /// Specified as either hex (`#RRGGBB` or `RRGGBB`) or a named X11 color. @"window-titlebar-foreground": ?Color = null, +/// current gtk implementation for color management is not good enough. +/// see: https://bugs.kde.org/show_bug.cgi?id=495647 +@"disable-gtk-color-mgmt": bool = false, + /// This controls when resize overlays are shown. Resize overlays are a /// transient popup that shows the size of the terminal while the surfaces are /// being resized. The possible options are: From 1ce23c079ec5d78f6b98e5a8e5aa5b115c4fc18f Mon Sep 17 00:00:00 2001 From: eifr Date: Wed, 5 Feb 2025 23:35:12 +0200 Subject: [PATCH 212/365] expand comment + rename --- src/apprt/gtk/App.zig | 4 +++- src/config/Config.zig | 15 ++++++++++++--- 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/src/apprt/gtk/App.zig b/src/apprt/gtk/App.zig index c9096ee01..4781b0ac3 100644 --- a/src/apprt/gtk/App.zig +++ b/src/apprt/gtk/App.zig @@ -146,13 +146,15 @@ pub fn init(core_app: *CoreApp, opts: Options) !App { var gdk_disable: struct { @"gles-api": bool = false, + /// current gtk implementation for color management is not good enough. + /// see: https://bugs.kde.org/show_bug.cgi?id=495647 @"color-mgmt": bool, /// Disabling Vulkan can improve startup times by hundreds of /// milliseconds on some systems. We don't use Vulkan so we can just /// disable it. vulkan: bool = false, } = .{ - .@"color-mgmt" = config.@"disable-gtk-color-mgmt", + .@"color-mgmt" = config.@"gtk-gdk-disable-color-mgmt", }; environment: { diff --git a/src/config/Config.zig b/src/config/Config.zig index 52a1f2885..6d09fc9ce 100644 --- a/src/config/Config.zig +++ b/src/config/Config.zig @@ -1350,9 +1350,18 @@ keybind: Keybinds = .{}, /// Specified as either hex (`#RRGGBB` or `RRGGBB`) or a named X11 color. @"window-titlebar-foreground": ?Color = null, -/// current gtk implementation for color management is not good enough. -/// see: https://bugs.kde.org/show_bug.cgi?id=495647 -@"disable-gtk-color-mgmt": bool = false, +/// Controls whether to disable GDK color management in GTK applications. +/// +/// By default this is set to `false`, meaning color management is enabled. +/// You may want to enable this setting (set to `true`) if you experience: +/// - Incorrect or washed out colors in your terminal +/// - Color inconsistencies between GTK applications +/// - Performance issues related to color management +/// +/// This is a workaround for known issues with GTK's color management implementation, +/// particularly affecting applications running under Wayland. +/// See: https://bugs.kde.org/show_bug.cgi?id=495647 +@"gtk-gdk-disable-color-mgmt": bool = false, /// This controls when resize overlays are shown. Resize overlays are a /// transient popup that shows the size of the terminal while the surfaces are From ae25ad4047f80896458049208653d2b5ee025944 Mon Sep 17 00:00:00 2001 From: Mitchell Hashimoto Date: Wed, 5 Feb 2025 11:23:22 -0800 Subject: [PATCH 213/365] Introduce subsystem maintainers via CODEOWNERS This commit introduces the proposed subsystem maintainer system for Ghostty. This commit doesn't assign anyone yet to the subsystems, but defines the CODEOWNERS file, creates the GitHub teams, and documents the system. --- CODEOWNERS | 149 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 149 insertions(+) create mode 100644 CODEOWNERS diff --git a/CODEOWNERS b/CODEOWNERS new file mode 100644 index 000000000..835244ebc --- /dev/null +++ b/CODEOWNERS @@ -0,0 +1,149 @@ +# This file documents the subsystem maintainers of the Ghostty project +# along with the responsibilities of a maintainer and how one can become +# a maintainer. +# +# Ghostty follows a subsystem maintainer model where distinguished +# contributors (with mutual agreement) are designated as maintainers of a +# specific subset of the project. A subsystem maintainer has more privileges +# and authority over a specific part of the project than a regular +# contributor and deference is given to them when making decisions about +# their subsystem. +# +# Ultimately Ghostty has a BDFL (Benevolent Dictator For Life) model +# currently with @mitchellh as the BDFL. The BDFL has the final say in all +# decisions and may override a maintainer's decision if necessary. I like to +# say its a BDFLFN (Benevolent Dictator For Life "For Now") model because +# long term I'd like to see the project be more community driven. But for +# now, early in its life, we're going with this model. +# +# ## Privileges +# +# - Authority to approve or reject pull requests in their subsystem. +# - Authority to moderate issues and discussions in their subsystem. +# - Authority to make roadmap and design decisions about their subsystem +# with input only from other subsystem maintainers. +# +# In all scenarios, the BDFL doesn't need to be consulted for decisions +# but may revert or override decisions if necessary. The expectation is +# that maintainers will be trusted to make the right decisions for their +# subsystem and this will be rare. +# +# ## Responsibilities +# +# Subsystem maintainership is a voluntary role and maintainers are not +# expected to dedicate any amount of time to the project. However, if a +# maintainer is inactive for a long period of time, they may be removed from +# the maintainers list to avoid bitrot or outdated information. +# +# Maintainers are expected to be exemplary members of the community and +# should be respectful, helpful, and professional in all interactions. +# This is both in regards to the community at large as well as other +# subsystem maintainers as well as @mitchellh. +# +# As technical leaders, maintainers are expected to be mindful about +# breaking changes, performance, user impact, and other technical +# considerations in their subsystem. They should be considerate of large +# changes and should be able to justify their decisions. +# +# Notably, maintainers have NO OBLIGATION to review pull requests or issues +# in their subsystem. They have full discretion to review or not review +# anything they want. This isn't a job! It is a role of trust and authority +# and the expectation is that maintainers will use their best judgement. +# +# ## Becoming a Maintainer +# +# Maintainer candidates are noticed and proposed by the community. Anyone +# may propose themselves or someone else as a maintainer. The BDFL along +# with existing maintainers will discuss and decide. +# +# Generally, we want to see consistent high quality contributions to a +# specific subsystem before considering someone as a maintainer. There isn't +# an exact number of contributions or time period required but generally +# we're looking for an order of a dozen or more contributions over a period of +# months, at least. +# +# # Subsystem List +# +# The subsystems don't fully cover the entirety of the Ghostty project but +# are created organically as experts in certain areas emerge. If you feel +# you are an expert in a certain area and would like to be a maintainer, +# please reach out to @mitchellh on Discord. +# +# (Alphabetical order) +# +# - @ghostty-org/font - All things font related including discovery, +# rasterization, shaping, coloring, etc. +# +# - @ghostty-org/gtk - Anything GTK-related in the project, primarily +# the GTK apprt. Also includes X11/Wayland integrations and general +# Linux support. +# +# - @ghostty-org/macos - The Ghostty macOS app and any macOS-specific +# features, configurations, etc. +# +# - @ghostty-org/renderer - Ghostty rendering subsystem, including the +# rendering abstractions as well as specific renderers like OpenGL +# and Metal. +# +# - @ghostty-org/shell - Ghostty shell integration, including shell +# completions, shell detection, and any other shell interactions. +# +# - @ghostty-org/terminal - The terminal emulator subsystem, including +# subprocess management and pty handling, escape sequence parsing, +# key encoding, etc. +# +# ## Outside of Ghostty +# +# Other "subsystems" exist outside of Ghostty and will not be represented +# in this CODEOWNERS file: +# +# - @ghostty-org/discord-bot - Maintainers of the Ghostty Discord bot. +# +# - @ghostty-org/website - Maintainers of the Ghostty website. + +# Font +/src/font/ @ghostty-org/font +/pkg/fontconfig/ @ghostty-org/font +/pkg/freetype/ @ghostty-org/font +/pkg/harfbuzz/ @ghostty-org/font + +# GTK +/src/apprt/gtk/ @ghostty-org/gtk +/src/os/cgroup.zig @ghostty-org/gtk +/src/os/flatpak.zig @ghostty-org/gtk +/dist/linux/ @ghostty-org/gtk + +# macOS +# +# This includes libghostty because the macOS apprt is built on top of +# libghostty and often requires or is impacted by changes to libghostty. +# macOS subsystem maintainers are expected to only work on libghostty +# insofar as it impacts the macOS apprt. +/include/ghostty.h @ghostty-org/macos +/src/apprt/embedded.zig @ghostty-org/macos +/src/os/cf_release_thread.zig @ghostty-org/macos +/src/os/macos.zig @ghostty-org/macos +/macos/ @ghostty-org/macos +/dist/macos/ @ghostty-org/macos +/pkg/apple-sdk/ @ghostty-org/macos +/pkg/macos/ @ghostty-org/macos + +# Renderer +/src/renderer.zig @ghostty-org/renderer +/src/renderer/ @ghostty-org/renderer +/pkg/glslang/ @ghostty-org/renderer +/pkg/opengl/ @ghostty-org/renderer +/pkg/spirv-cross/ @ghostty-org/renderer +/pkg/wuffs/ @ghostty-org/renderer + +# Shell +/src/shell-integration/ @ghostty-org/shell +/src/termio/shell-integration.zig @ghostty-org/shell + +# Terminal +/src/simd/ @ghostty-org/terminal +/src/terminal/ @ghostty-org/terminal +/src/terminfo/ @ghostty-org/terminal +/src/unicode/ @ghostty-org/terminal +/src/Surface.zig @ghostty-org/terminal +/src/surface_mouse.zig @ghostty-org/terminal From cbe04785724f14626ef9cfd2dadf94eb059385b9 Mon Sep 17 00:00:00 2001 From: eifr Date: Thu, 6 Feb 2025 10:19:23 +0200 Subject: [PATCH 214/365] remove config --- src/apprt/gtk/App.zig | 10 ++++++---- src/config/Config.zig | 13 ------------- 2 files changed, 6 insertions(+), 17 deletions(-) diff --git a/src/apprt/gtk/App.zig b/src/apprt/gtk/App.zig index 4781b0ac3..e8bb98914 100644 --- a/src/apprt/gtk/App.zig +++ b/src/apprt/gtk/App.zig @@ -148,16 +148,18 @@ pub fn init(core_app: *CoreApp, opts: Options) !App { @"gles-api": bool = false, /// current gtk implementation for color management is not good enough. /// see: https://bugs.kde.org/show_bug.cgi?id=495647 - @"color-mgmt": bool, + @"color-mgmt": bool = true, /// Disabling Vulkan can improve startup times by hundreds of /// milliseconds on some systems. We don't use Vulkan so we can just /// disable it. vulkan: bool = false, - } = .{ - .@"color-mgmt" = config.@"gtk-gdk-disable-color-mgmt", - }; + } = .{}; environment: { + if (version.runtimeAtLeast(4, 17, 0)) { + gdk_disable.@"color-mgmt" = false; + } + if (version.runtimeAtLeast(4, 16, 0)) { // From gtk 4.16, GDK_DEBUG is split into GDK_DEBUG and GDK_DISABLE. // For the remainder of "why" see the 4.14 comment below. diff --git a/src/config/Config.zig b/src/config/Config.zig index 6d09fc9ce..3010b87d1 100644 --- a/src/config/Config.zig +++ b/src/config/Config.zig @@ -1350,19 +1350,6 @@ keybind: Keybinds = .{}, /// Specified as either hex (`#RRGGBB` or `RRGGBB`) or a named X11 color. @"window-titlebar-foreground": ?Color = null, -/// Controls whether to disable GDK color management in GTK applications. -/// -/// By default this is set to `false`, meaning color management is enabled. -/// You may want to enable this setting (set to `true`) if you experience: -/// - Incorrect or washed out colors in your terminal -/// - Color inconsistencies between GTK applications -/// - Performance issues related to color management -/// -/// This is a workaround for known issues with GTK's color management implementation, -/// particularly affecting applications running under Wayland. -/// See: https://bugs.kde.org/show_bug.cgi?id=495647 -@"gtk-gdk-disable-color-mgmt": bool = false, - /// This controls when resize overlays are shown. Resize overlays are a /// transient popup that shows the size of the terminal while the surfaces are /// being resized. The possible options are: From 76cf58915be20ba002fd49dc1db75bf254753843 Mon Sep 17 00:00:00 2001 From: eifr Date: Thu, 6 Feb 2025 10:25:26 +0200 Subject: [PATCH 215/365] add comments --- src/apprt/gtk/App.zig | 1 + 1 file changed, 1 insertion(+) diff --git a/src/apprt/gtk/App.zig b/src/apprt/gtk/App.zig index e8bb98914..a3290f783 100644 --- a/src/apprt/gtk/App.zig +++ b/src/apprt/gtk/App.zig @@ -148,6 +148,7 @@ pub fn init(core_app: *CoreApp, opts: Options) !App { @"gles-api": bool = false, /// current gtk implementation for color management is not good enough. /// see: https://bugs.kde.org/show_bug.cgi?id=495647 + /// gtk issue: https://gitlab.gnome.org/GNOME/gtk/-/issues/6864 @"color-mgmt": bool = true, /// Disabling Vulkan can improve startup times by hundreds of /// milliseconds on some systems. We don't use Vulkan so we can just From 5d6c021e267183190815b7871c72739d96af3aab Mon Sep 17 00:00:00 2001 From: eifr Date: Fri, 7 Feb 2025 18:00:08 +0200 Subject: [PATCH 216/365] update gtk version --- src/apprt/gtk/App.zig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/apprt/gtk/App.zig b/src/apprt/gtk/App.zig index a3290f783..ed27f8394 100644 --- a/src/apprt/gtk/App.zig +++ b/src/apprt/gtk/App.zig @@ -157,7 +157,7 @@ pub fn init(core_app: *CoreApp, opts: Options) !App { } = .{}; environment: { - if (version.runtimeAtLeast(4, 17, 0)) { + if (version.runtimeAtLeast(4, 18, 0)) { gdk_disable.@"color-mgmt" = false; } From ea16890fd3388781c6cfe3b62d7222a9da620401 Mon Sep 17 00:00:00 2001 From: Qwerasd Date: Fri, 7 Feb 2025 12:19:09 -0500 Subject: [PATCH 217/365] Metal: use "Managed" resource storage mode on discrete GPUs Discrete GPUs cannot use the "shared" storage mode. This causes undefined behavior right now, and I believe it's what's causing a problem on Intel systems with discrete GPUs with "inverted" cells. This commit also sets the CPU cache mode to "write combined" for our resources since we don't read them back so Metal can optimize them further with this hint. --- src/renderer/Metal.zig | 125 +++++++++++++++++++++++++++------- src/renderer/metal/api.zig | 40 ++++++++--- src/renderer/metal/buffer.zig | 52 +++++++++++--- src/renderer/metal/image.zig | 20 +++++- 4 files changed, 193 insertions(+), 44 deletions(-) diff --git a/src/renderer/Metal.zig b/src/renderer/Metal.zig index 866f9682d..ca13f87de 100644 --- a/src/renderer/Metal.zig +++ b/src/renderer/Metal.zig @@ -182,15 +182,34 @@ pub const GPUState = struct { /// This buffer is written exactly once so we can use it globally. instance: InstanceBuffer, // MTLBuffer + /// The default storage mode to use for resources created with our device. + /// + /// This is based on whether the device is a discrete GPU or not, since + /// discrete GPUs do not have unified memory and therefore do not support + /// the "shared" storage mode, instead we have to use the "managed" mode. + default_storage_mode: mtl.MTLResourceOptions.StorageMode, + pub fn init() !GPUState { const device = try chooseDevice(); const queue = device.msgSend(objc.Object, objc.sel("newCommandQueue"), .{}); errdefer queue.release(); + // We determine whether our device is a discrete GPU based on these: + // - We're on macOS (iOS, iPadOS, etc. are guaranteed to be integrated). + // - We're not on aarch64 (Apple Silicon, therefore integrated). + // - The device reports that it does not have unified memory. + const is_discrete = + builtin.target.os.tag == .macos and + builtin.target.cpu.arch != .aarch64 and + !device.getProperty(bool, "hasUnifiedMemory"); + + const default_storage_mode: mtl.MTLResourceOptions.StorageMode = + if (is_discrete) .managed else .shared; + var instance = try InstanceBuffer.initFill(device, &.{ 0, 1, 3, // Top-left triangle 1, 2, 3, // Bottom-right triangle - }); + }, .{ .storage_mode = default_storage_mode }); errdefer instance.deinit(); var result: GPUState = .{ @@ -198,11 +217,12 @@ pub const GPUState = struct { .queue = queue, .instance = instance, .frames = undefined, + .default_storage_mode = default_storage_mode, }; // Initialize all of our frame state. for (&result.frames) |*frame| { - frame.* = try FrameState.init(result.device); + frame.* = try FrameState.init(result.device, default_storage_mode); } return result; @@ -288,18 +308,47 @@ pub const FrameState = struct { const CellBgBuffer = mtl_buffer.Buffer(mtl_shaders.CellBg); const CellTextBuffer = mtl_buffer.Buffer(mtl_shaders.CellText); - pub fn init(device: objc.Object) !FrameState { + pub fn init( + device: objc.Object, + /// Storage mode for buffers and textures. + storage_mode: mtl.MTLResourceOptions.StorageMode, + ) !FrameState { // Uniform buffer contains exactly 1 uniform struct. The // uniform data will be undefined so this must be set before // a frame is drawn. - var uniforms = try UniformBuffer.init(device, 1); + var uniforms = try UniformBuffer.init( + device, + 1, + .{ + // Indicate that the CPU writes to this resource but never reads it. + .cpu_cache_mode = .write_combined, + .storage_mode = storage_mode, + }, + ); errdefer uniforms.deinit(); // Create the buffers for our vertex data. The preallocation size // is likely too small but our first frame update will resize it. - var cells = try CellTextBuffer.init(device, 10 * 10); + var cells = try CellTextBuffer.init( + device, + 10 * 10, + .{ + // Indicate that the CPU writes to this resource but never reads it. + .cpu_cache_mode = .write_combined, + .storage_mode = storage_mode, + }, + ); errdefer cells.deinit(); - var cells_bg = try CellBgBuffer.init(device, 10 * 10); + var cells_bg = try CellBgBuffer.init( + device, + 10 * 10, + .{ + // Indicate that the CPU writes to this resource but never reads it. + .cpu_cache_mode = .write_combined, + .storage_mode = storage_mode, + }, + ); + errdefer cells_bg.deinit(); // Initialize our textures for our font atlas. @@ -307,13 +356,13 @@ pub const FrameState = struct { .data = undefined, .size = 8, .format = .grayscale, - }); + }, storage_mode); errdefer grayscale.release(); const color = try initAtlasTexture(device, &.{ .data = undefined, .size = 8, .format = .rgba, - }); + }, storage_mode); errdefer color.release(); return .{ @@ -1215,7 +1264,11 @@ pub fn updateFrame( .replace_gray_alpha, .replace_rgb, .replace_rgba, - => try kv.value_ptr.image.upload(self.alloc, self.gpu_state.device), + => try kv.value_ptr.image.upload( + self.alloc, + self.gpu_state.device, + self.gpu_state.default_storage_mode, + ), .unload_pending, .unload_replace, @@ -1283,7 +1336,12 @@ pub fn drawFrame(self: *Metal, surface: *apprt.Surface) !void { self.font_grid.lock.lockShared(); defer self.font_grid.lock.unlockShared(); frame.grayscale_modified = self.font_grid.atlas_grayscale.modified.load(.monotonic); - try syncAtlasTexture(self.gpu_state.device, &self.font_grid.atlas_grayscale, &frame.grayscale); + try syncAtlasTexture( + self.gpu_state.device, + &self.font_grid.atlas_grayscale, + &frame.grayscale, + self.gpu_state.default_storage_mode, + ); } texture: { const modified = self.font_grid.atlas_color.modified.load(.monotonic); @@ -1291,7 +1349,12 @@ pub fn drawFrame(self: *Metal, surface: *apprt.Surface) !void { self.font_grid.lock.lockShared(); defer self.font_grid.lock.unlockShared(); frame.color_modified = self.font_grid.atlas_color.modified.load(.monotonic); - try syncAtlasTexture(self.gpu_state.device, &self.font_grid.atlas_color, &frame.color); + try syncAtlasTexture( + self.gpu_state.device, + &self.font_grid.atlas_color, + &frame.color, + self.gpu_state.default_storage_mode, + ); } // Command buffer (MTLCommandBuffer) @@ -1618,7 +1681,11 @@ fn drawImagePlacement( @as(f32, @floatFromInt(p.width)), @as(f32, @floatFromInt(p.height)), }, - }}); + }}, .{ + // Indicate that the CPU writes to this resource but never reads it. + .cpu_cache_mode = .write_combined, + .storage_mode = self.gpu_state.default_storage_mode, + }); defer buf.deinit(); // Set our buffer @@ -3217,14 +3284,20 @@ fn addPreeditCell( /// Sync the atlas data to the given texture. This copies the bytes /// associated with the atlas to the given texture. If the atlas no longer /// fits into the texture, the texture will be resized. -fn syncAtlasTexture(device: objc.Object, atlas: *const font.Atlas, texture: *objc.Object) !void { +fn syncAtlasTexture( + device: objc.Object, + atlas: *const font.Atlas, + texture: *objc.Object, + /// Storage mode for the MTLTexture object + storage_mode: mtl.MTLResourceOptions.StorageMode, +) !void { const width = texture.getProperty(c_ulong, "width"); if (atlas.size > width) { // Free our old texture texture.*.release(); // Reallocate - texture.* = try initAtlasTexture(device, atlas); + texture.* = try initAtlasTexture(device, atlas, storage_mode); } texture.msgSend( @@ -3247,7 +3320,12 @@ fn syncAtlasTexture(device: objc.Object, atlas: *const font.Atlas, texture: *obj } /// Initialize a MTLTexture object for the given atlas. -fn initAtlasTexture(device: objc.Object, atlas: *const font.Atlas) !objc.Object { +fn initAtlasTexture( + device: objc.Object, + atlas: *const font.Atlas, + /// Storage mode for the MTLTexture object + storage_mode: mtl.MTLResourceOptions.StorageMode, +) !objc.Object { // Determine our pixel format const pixel_format: mtl.MTLPixelFormat = switch (atlas.format) { .grayscale => .r8unorm, @@ -3268,15 +3346,14 @@ fn initAtlasTexture(device: objc.Object, atlas: *const font.Atlas) !objc.Object desc.setProperty("width", @as(c_ulong, @intCast(atlas.size))); desc.setProperty("height", @as(c_ulong, @intCast(atlas.size))); - // Xcode tells us that this texture should be shared mode on - // aarch64. This configuration is not supported on x86_64 so - // we only set it on aarch64. - if (comptime builtin.target.cpu.arch == .aarch64) { - desc.setProperty( - "storageMode", - @as(c_ulong, mtl.MTLResourceStorageModeShared), - ); - } + desc.setProperty( + "resourceOptions", + mtl.MTLResourceOptions{ + // Indicate that the CPU writes to this resource but never reads it. + .cpu_cache_mode = .write_combined, + .storage_mode = storage_mode, + }, + ); // Initialize const id = device.msgSend( diff --git a/src/renderer/metal/api.zig b/src/renderer/metal/api.zig index 6ab42bbd6..535a0b42b 100644 --- a/src/renderer/metal/api.zig +++ b/src/renderer/metal/api.zig @@ -24,12 +24,36 @@ pub const MTLStoreAction = enum(c_ulong) { store = 1, }; -/// https://developer.apple.com/documentation/metal/mtlstoragemode?language=objc -pub const MTLStorageMode = enum(c_ulong) { - shared = 0, - managed = 1, - private = 2, - memoryless = 3, +/// https://developer.apple.com/documentation/metal/mtlresourceoptions?language=objc +pub const MTLResourceOptions = packed struct(c_ulong) { + /// https://developer.apple.com/documentation/metal/mtlcpucachemode?language=objc + cpu_cache_mode: CPUCacheMode = .default, + /// https://developer.apple.com/documentation/metal/mtlstoragemode?language=objc + storage_mode: StorageMode, + /// https://developer.apple.com/documentation/metal/mtlhazardtrackingmode?language=objc + hazard_tracking_mode: HazardTrackingMode = .default, + + _pad: @Type(.{ + .Int = .{ .signedness = .unsigned, .bits = @bitSizeOf(c_ulong) - 10 }, + }) = 0, + + pub const CPUCacheMode = enum(u4) { + default = 0, + write_combined = 1, + }; + + pub const StorageMode = enum(u4) { + shared = 0, + managed = 1, + private = 2, + memoryless = 3, + }; + + pub const HazardTrackingMode = enum(u2) { + default = 0, + untracked = 1, + tracked = 2, + }; }; /// https://developer.apple.com/documentation/metal/mtlprimitivetype?language=objc @@ -139,10 +163,6 @@ pub const MTLTextureUsage = enum(c_ulong) { pixel_format_view = 8, }; -/// https://developer.apple.com/documentation/metal/mtlresourceoptions?language=objc -/// (incomplete, we only use this mode so we just hardcode it) -pub const MTLResourceStorageModeShared: c_ulong = @intFromEnum(MTLStorageMode.shared) << 4; - pub const MTLClearColor = extern struct { red: f64, green: f64, diff --git a/src/renderer/metal/buffer.zig b/src/renderer/metal/buffer.zig index 55a207f03..4128e297b 100644 --- a/src/renderer/metal/buffer.zig +++ b/src/renderer/metal/buffer.zig @@ -2,6 +2,7 @@ const std = @import("std"); const Allocator = std.mem.Allocator; const assert = std.debug.assert; const objc = @import("objc"); +const macos = @import("macos"); const mtl = @import("api.zig"); @@ -14,35 +15,46 @@ pub fn Buffer(comptime T: type) type { return struct { const Self = @This(); + /// The resource options for this buffer. + options: mtl.MTLResourceOptions, + buffer: objc.Object, // MTLBuffer /// Initialize a buffer with the given length pre-allocated. - pub fn init(device: objc.Object, len: usize) !Self { + pub fn init( + device: objc.Object, + len: usize, + options: mtl.MTLResourceOptions, + ) !Self { const buffer = device.msgSend( objc.Object, objc.sel("newBufferWithLength:options:"), .{ @as(c_ulong, @intCast(len * @sizeOf(T))), - mtl.MTLResourceStorageModeShared, + options, }, ); - return .{ .buffer = buffer }; + return .{ .buffer = buffer, .options = options }; } /// Init the buffer filled with the given data. - pub fn initFill(device: objc.Object, data: []const T) !Self { + pub fn initFill( + device: objc.Object, + data: []const T, + options: mtl.MTLResourceOptions, + ) !Self { const buffer = device.msgSend( objc.Object, objc.sel("newBufferWithBytes:length:options:"), .{ @as(*const anyopaque, @ptrCast(data.ptr)), @as(c_ulong, @intCast(data.len * @sizeOf(T))), - mtl.MTLResourceStorageModeShared, + options, }, ); - return .{ .buffer = buffer }; + return .{ .buffer = buffer, .options = options }; } pub fn deinit(self: *Self) void { @@ -85,7 +97,7 @@ pub fn Buffer(comptime T: type) type { objc.sel("newBufferWithLength:options:"), .{ @as(c_ulong, @intCast(size * @sizeOf(T))), - mtl.MTLResourceStorageModeShared, + self.options, }, ); } @@ -106,6 +118,18 @@ pub fn Buffer(comptime T: type) type { }; @memcpy(dst, src); + + // If we're using the managed resource storage mode, then + // we need to signal Metal to synchronize the buffer data. + // + // Ref: https://developer.apple.com/documentation/metal/synchronizing-a-managed-resource-in-macos?language=objc + if (self.options.storage_mode == .managed) { + self.buffer.msgSend( + void, + "didModifyRange:", + .{macos.foundation.Range.init(0, req_bytes)}, + ); + } } /// Like Buffer.sync but takes data from an array of ArrayLists, @@ -130,7 +154,7 @@ pub fn Buffer(comptime T: type) type { objc.sel("newBufferWithLength:options:"), .{ @as(c_ulong, @intCast(size * @sizeOf(T))), - mtl.MTLResourceStorageModeShared, + self.options, }, ); } @@ -153,6 +177,18 @@ pub fn Buffer(comptime T: type) type { i += list.items.len * @sizeOf(T); } + // If we're using the managed resource storage mode, then + // we need to signal Metal to synchronize the buffer data. + // + // Ref: https://developer.apple.com/documentation/metal/synchronizing-a-managed-resource-in-macos?language=objc + if (self.options.storage_mode == .managed) { + self.buffer.msgSend( + void, + "didModifyRange:", + .{macos.foundation.Range.init(0, req_bytes)}, + ); + } + return total_len; } }; diff --git a/src/renderer/metal/image.zig b/src/renderer/metal/image.zig index 9d72cae96..835fbd672 100644 --- a/src/renderer/metal/image.zig +++ b/src/renderer/metal/image.zig @@ -358,6 +358,8 @@ pub const Image = union(enum) { self: *Image, alloc: Allocator, device: objc.Object, + /// Storage mode for the MTLTexture object + storage_mode: mtl.MTLResourceOptions.StorageMode, ) !void { // Convert our data if we have to try self.convert(alloc); @@ -366,7 +368,7 @@ pub const Image = union(enum) { const p = self.pending().?; // Create our texture - const texture = try initTexture(p, device); + const texture = try initTexture(p, device, storage_mode); errdefer texture.msgSend(void, objc.sel("release"), .{}); // Upload our data @@ -424,7 +426,12 @@ pub const Image = union(enum) { }; } - fn initTexture(p: Pending, device: objc.Object) !objc.Object { + fn initTexture( + p: Pending, + device: objc.Object, + /// Storage mode for the MTLTexture object + storage_mode: mtl.MTLResourceOptions.StorageMode, + ) !objc.Object { // Create our descriptor const desc = init: { const Class = objc.getClass("MTLTextureDescriptor").?; @@ -438,6 +445,15 @@ pub const Image = union(enum) { desc.setProperty("width", @as(c_ulong, @intCast(p.width))); desc.setProperty("height", @as(c_ulong, @intCast(p.height))); + desc.setProperty( + "resourceOptions", + mtl.MTLResourceOptions{ + // Indicate that the CPU writes to this resource but never reads it. + .cpu_cache_mode = .write_combined, + .storage_mode = storage_mode, + }, + ); + // Initialize const id = device.msgSend( ?*anyopaque, From 1947ba9c68446f3ec793906923d1d95e654ae649 Mon Sep 17 00:00:00 2001 From: "Jeffrey C. Ollie" Date: Fri, 7 Feb 2025 22:20:37 -0600 Subject: [PATCH 218/365] core: protect against crashes and hangs when themes are not files If a theme was not a file or a directory you could get a crash or a hang (depending on platform) if the theme references a directory. This patch also prevents attempts to load from other non-file sources. Fixes: #5596 --- src/cli/args.zig | 10 +++++--- src/config/theme.zig | 58 +++++++++++++++++++++++++++++++++++++++++--- 2 files changed, 62 insertions(+), 6 deletions(-) diff --git a/src/cli/args.zig b/src/cli/args.zig index 166b2daf5..7385e6a3e 100644 --- a/src/cli/args.zig +++ b/src/cli/args.zig @@ -8,6 +8,8 @@ const internal_os = @import("../os/main.zig"); const Diagnostic = diags.Diagnostic; const DiagnosticList = diags.DiagnosticList; +const log = std.log.scoped(.cli); + // TODO: // - Only `--long=value` format is accepted. Do we want to allow // `--long value`? Not currently allowed. @@ -1258,9 +1260,11 @@ pub fn LineIterator(comptime ReaderType: type) type { const buf = buf: { while (true) { // Read the full line - var entry = self.r.readUntilDelimiterOrEof(self.entry[2..], '\n') catch { - // TODO: handle errors - unreachable; + var entry = self.r.readUntilDelimiterOrEof(self.entry[2..], '\n') catch |err| switch (err) { + inline else => |e| { + log.warn("cannot read from \"{s}\": {}", .{ self.filepath, e }); + return null; + }, } orelse return null; // Increment our line counter diff --git a/src/config/theme.zig b/src/config/theme.zig index b851ec3d4..2d206e1f6 100644 --- a/src/config/theme.zig +++ b/src/config/theme.zig @@ -104,6 +104,10 @@ pub const LocationIterator = struct { /// Due to the way allocations are handled, an Arena allocator (or another /// similar allocator implementation) should be used. It may not be safe to /// free the returned allocations. +/// +/// This will never return anything other than a handle to a regular file. If +/// the theme resolves to something other than a regular file a diagnostic entry +/// will be added to the list and null will be returned. pub fn open( arena_alloc: Allocator, theme: []const u8, @@ -119,6 +123,29 @@ pub fn open( theme, diags, ) orelse return null; + const stat = file.stat() catch |err| { + try diags.append(arena_alloc, .{ + .message = try std.fmt.allocPrintZ( + arena_alloc, + "not reading theme from \"{s}\": {}", + .{ theme, err }, + ), + }); + return null; + }; + switch (stat.kind) { + .file => {}, + else => { + try diags.append(arena_alloc, .{ + .message = try std.fmt.allocPrintZ( + arena_alloc, + "not reading theme from \"{s}\": it is a {s}", + .{ theme, @tagName(stat.kind) }, + ), + }); + return null; + }, + } return .{ .path = theme, .file = file }; } @@ -140,9 +167,34 @@ pub fn open( const cwd = std.fs.cwd(); while (try it.next()) |loc| { const path = try std.fs.path.join(arena_alloc, &.{ loc.dir, theme }); - if (cwd.openFile(path, .{})) |file| return .{ - .path = path, - .file = file, + if (cwd.openFile(path, .{})) |file| { + const stat = file.stat() catch |err| { + try diags.append(arena_alloc, .{ + .message = try std.fmt.allocPrintZ( + arena_alloc, + "not reading theme from \"{s}\": {}", + .{ theme, err }, + ), + }); + return null; + }; + switch (stat.kind) { + .file => {}, + else => { + try diags.append(arena_alloc, .{ + .message = try std.fmt.allocPrintZ( + arena_alloc, + "not reading theme from \"{s}\": it is a {s}", + .{ theme, @tagName(stat.kind) }, + ), + }); + return null; + }, + } + return .{ + .path = path, + .file = file, + }; } else |err| switch (err) { // Not an error, just continue to the next location. error.FileNotFound => {}, From 28200fb9e5e0e54cbb075b9bd47357ea4f71a04a Mon Sep 17 00:00:00 2001 From: Qwerasd Date: Sun, 9 Feb 2025 17:45:00 -0500 Subject: [PATCH 219/365] fix(Metal): don't throw away glyphs when the fg and bg colors match This optimization is extremely niche and seems to be related to a strange bug experienced by Intel Mac users. Considering it costs some amount to have this extra check here even though it's false in the vast majority of cases, I feel it's pretty safe to just remove it entirely. --- src/renderer/shaders/cell.metal | 7 ------- 1 file changed, 7 deletions(-) diff --git a/src/renderer/shaders/cell.metal b/src/renderer/shaders/cell.metal index 5f161c6b7..e24ddcb1e 100644 --- a/src/renderer/shaders/cell.metal +++ b/src/renderer/shaders/cell.metal @@ -487,13 +487,6 @@ vertex CellTextVertexOut cell_text_vertex( ); } - // Don't bother rendering if the bg and fg colors are identical, just return - // the same point which will be culled because it makes the quad zero sized. - // However, we should still render if this is the cursor position - if (all(out.color == out.bg_color) && !is_cursor_pos) { - out.position = float4(0.0); - } - return out; } From 09c76d95c7d235db0953623f980a7c47bfc94568 Mon Sep 17 00:00:00 2001 From: Qwerasd Date: Sun, 9 Feb 2025 22:48:38 -0500 Subject: [PATCH 220/365] fix(terminal): handle errors in Screen.adjustCapacity Previously assumed adjusted capacities would always fit the cursor style and hyperlink, this is not necessarily the case and led to memory corruption in scenarios with large hyperlinks. --- src/terminal/Screen.zig | 68 ++++++++++++++++++++++++++++++++++------- 1 file changed, 57 insertions(+), 11 deletions(-) diff --git a/src/terminal/Screen.zig b/src/terminal/Screen.zig index a838e0e10..046ecb1b4 100644 --- a/src/terminal/Screen.zig +++ b/src/terminal/Screen.zig @@ -474,26 +474,40 @@ pub fn adjustCapacity( const new_node = try self.pages.adjustCapacity(node, adjustment); const new_page: *Page = &new_node.data; - // All additions below have unreachable catches because when - // we adjust cap we should have enough memory to fit the - // existing data. - - // Re-add the style + // Re-add the style, if the page somehow doesn't have enough + // memory to add it, we emit a warning and gracefully degrade + // to the default style for the cursor. if (self.cursor.style_id != 0) { self.cursor.style_id = new_page.styles.add( new_page.memory, self.cursor.style, - ) catch unreachable; + ) catch |err| id: { + // TODO: Should we increase the capacity further in this case? + log.err( + "(Screen.adjustCapacity) Failed to add cursor style back to page, err={}", + .{err}, + ); + + break :id style.default_id; + }; } - // Re-add the hyperlink + // Re-add the hyperlink, if the page somehow doesn't have enough + // memory to add it, we emit a warning and gracefully degrade to + // no hyperlink. if (self.cursor.hyperlink) |link| { // So we don't attempt to free any memory in the replaced page. self.cursor.hyperlink_id = 0; self.cursor.hyperlink = null; // Re-add - self.startHyperlinkOnce(link.*) catch unreachable; + self.startHyperlinkOnce(link.*) catch |err| { + // TODO: Should we increase the capacity further in this case? + log.err( + "(Screen.adjustCapacity) Failed to add cursor hyperlink back to page, err={}", + .{err}, + ); + }; // Remove our old link link.deinit(self.alloc); @@ -1003,8 +1017,9 @@ pub fn cursorCopy(self: *Screen, other: Cursor, opts: struct { /// Always use this to write to cursor.page_pin.*. /// /// This specifically handles the case when the new pin is on a different -/// page than the old AND we have a style set. In that case, we must release -/// our old style and upsert our new style since styles are stored per-page. +/// page than the old AND we have a style or hyperlink set. In that case, +/// we must release our old one and insert the new one, since styles are +/// stored per-page. fn cursorChangePin(self: *Screen, new: Pin) void { // Moving the cursor affects text run splitting (ligatures) so // we must mark the old and new page dirty. We do this as long @@ -1986,9 +2001,40 @@ pub fn cursorSetHyperlink(self: *Screen) !void { } else |err| switch (err) { // hyperlink_map is out of space, realloc the page to be larger error.HyperlinkMapOutOfMemory => { + const uri_size = if (self.cursor.hyperlink) |link| link.uri.len else 0; + + var string_bytes = page.capacity.string_bytes; + + // Attempt to allocate the space that would be required to + // insert a new copy of the cursor hyperlink uri in to the + // string alloc, since right now adjustCapacity always just + // adds an extra copy even if one already exists in the page. + // If this alloc fails then we know we also need to grow our + // string bytes. + // + // FIXME: This SUCKS + if (page.string_alloc.alloc( + u8, + page.memory, + uri_size, + )) |slice| { + // We don't bother freeing because we're + // about to free the entire page anyway. + _ = &slice; + } else |_| { + // We didn't have enough room, let's just double our + // string bytes until there's definitely enough room + // for our uri. + const before = string_bytes; + while (string_bytes - before < uri_size) string_bytes *= 2; + } + _ = try self.adjustCapacity( self.cursor.page_pin.node, - .{ .hyperlink_bytes = page.capacity.hyperlink_bytes * 2 }, + .{ + .hyperlink_bytes = page.capacity.hyperlink_bytes * 2, + .string_bytes = string_bytes, + }, ); // Retry From 03fd9a970bf1d1760aef500eda4f83c0f13f5962 Mon Sep 17 00:00:00 2001 From: Qwerasd Date: Mon, 10 Feb 2025 11:49:05 -0500 Subject: [PATCH 221/365] fix(terminal): properly invalidate over-sized OSCs The `self.complete = false` here is important so we don't accidentally dispatch, for example, a hyperlink command with an empty URI. --- src/terminal/osc.zig | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/src/terminal/osc.zig b/src/terminal/osc.zig index 10ba5b5e7..90dd079a0 100644 --- a/src/terminal/osc.zig +++ b/src/terminal/osc.zig @@ -272,6 +272,9 @@ pub const Parser = struct { // Maximum length of a single OSC command. This is the full OSC command // sequence length (excluding ESC ]). This is arbitrary, I couldn't find // any definitive resource on how long this should be. + // + // NOTE: This does mean certain OSC sequences such as OSC 8 (hyperlinks) + // won't work if their parameters are larger than fit in the buffer. const MAX_BUF = 2048; pub const State = enum { @@ -425,9 +428,23 @@ pub const Parser = struct { /// Consume the next character c and advance the parser state. pub fn next(self: *Parser, c: u8) void { - // If our buffer is full then we're invalid. + // If our buffer is full then we're invalid, so we set our state + // accordingly and indicate the sequence is incomplete so that we + // don't accidentally issue a command when ending. if (self.buf_idx >= self.buf.len) { + if (self.state != .invalid) { + log.warn( + "OSC sequence too long (> {d}), ignoring. state={}", + .{ self.buf.len, self.state }, + ); + } + self.state = .invalid; + + // We have to do this here because it will never reach the + // switch statement below, since our buf_idx will always be + // too high after this. + self.complete = false; return; } From 843c7140880f002c52d4c4a3715062b02e967990 Mon Sep 17 00:00:00 2001 From: Leah Amelia Chen Date: Fri, 31 Jan 2025 11:54:31 +0100 Subject: [PATCH 222/365] gtk: introduce Zig bindings for GTK/GObject MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit `zig-gobject` is a set of GObject bindings that allow us to write GTK-facing code in Zig instead of getting hands dirty with C. It's been tested and refined in real-life applications and several GTK contributors agree that it is a marked improvement over using the C API directly, such as allowing method call syntax and avoiding many manual `@ptrCast`s. This commit doesn't actually contain any changes to our preexisting GTK code — the migration process is intended to begin in chunks, firstly in self-contained components (e.g. the header bar, overlays, etc.), and then full-scale migration can begin when we remove non-Adwaita GTK builds for 1.2. (After all, why port code that you'll remove later either way?) --- build.zig.zon | 4 ++++ nix/devShell.nix | 3 +++ nix/package.nix | 2 ++ nix/zigCacheHash.nix | 2 +- src/build/SharedDeps.zig | 28 ++++++++++++++++++++++++++-- 5 files changed, 36 insertions(+), 3 deletions(-) diff --git a/build.zig.zon b/build.zig.zon index a5abdc586..9a4772c53 100644 --- a/build.zig.zon +++ b/build.zig.zon @@ -41,6 +41,10 @@ .url = "git+https://github.com/natecraddock/zf/?ref=main#ed99ca18b02dda052e20ba467e90b623c04690dd", .hash = "1220edc3b8d8bedbb50555947987e5e8e2f93871ca3c8e8d4cc8f1377c15b5dd35e8", }, + .gobject = .{ + .url = "https://github.com/ianprime0509/zig-gobject/releases/download/v0.2.2/bindings-gnome47.tar.zst", + .hash = "12208d70ee791d7ef7e16e1c3c9c1127b57f1ed066a24f87d57fc9f730c5dc394b9d", + }, // C libs .cimgui = .{ .path = "./pkg/cimgui" }, diff --git a/nix/devShell.nix b/nix/devShell.nix index c52afb6c0..9779dc4c6 100644 --- a/nix/devShell.nix +++ b/nix/devShell.nix @@ -30,6 +30,7 @@ glib, glslang, gtk4, + gobject-introspection, libadwaita, adwaita-icon-theme, hicolor-icon-theme, @@ -83,6 +84,7 @@ libadwaita gtk4 glib + gobject-introspection wayland ]; in @@ -157,6 +159,7 @@ in libadwaita gtk4 glib + gobject-introspection wayland wayland-scanner wayland-protocols diff --git a/nix/package.nix b/nix/package.nix index ceb6a7688..55d00b76c 100644 --- a/nix/package.nix +++ b/nix/package.nix @@ -12,6 +12,7 @@ libGL, glib, gtk4, + gobject-introspection, libadwaita, wrapGAppsHook4, gsettings-desktop-schemas, @@ -124,6 +125,7 @@ in pandoc pkg-config zig_hook + gobject-introspection wrapGAppsHook4 ] ++ lib.optionals enableWayland [ diff --git a/nix/zigCacheHash.nix b/nix/zigCacheHash.nix index 975605049..78e2d509d 100644 --- a/nix/zigCacheHash.nix +++ b/nix/zigCacheHash.nix @@ -1,3 +1,3 @@ # This file is auto-generated! check build-support/check-zig-cache-hash.sh for # more details. -"sha256-I7uuv0MkaW3gWAw6NHci+II42OfM7NdtKh2Npw2pTis=" +"sha256-+Ag900R3lDV7iEeRFGe2HWJDtquW3I9GFvHGle+U3k0=" diff --git a/src/build/SharedDeps.zig b/src/build/SharedDeps.zig index 64068658d..34666cf8a 100644 --- a/src/build/SharedDeps.zig +++ b/src/build/SharedDeps.zig @@ -430,9 +430,32 @@ pub fn add( }, .gtk => { + const gobject = b.dependency("gobject", .{ + .target = target, + .optimize = optimize, + }); + const gobject_imports = .{ + .{ "gobject", "gobject2" }, + .{ "glib", "glib2" }, + .{ "gtk", "gtk4" }, + .{ "gdk", "gdk4" }, + }; + inline for (gobject_imports) |import| { + const name, const module = import; + step.root_module.addImport(name, gobject.module(module)); + } + step.linkSystemLibrary2("gtk4", dynamic_link_opts); - if (self.config.adwaita) step.linkSystemLibrary2("libadwaita-1", dynamic_link_opts); - if (self.config.x11) step.linkSystemLibrary2("X11", dynamic_link_opts); + + if (self.config.adwaita) { + step.linkSystemLibrary2("libadwaita-1", dynamic_link_opts); + step.root_module.addImport("adw", gobject.module("adw1")); + } + + if (self.config.x11) { + step.linkSystemLibrary2("X11", dynamic_link_opts); + step.root_module.addImport("gdk_x11", gobject.module("gdkx114")); + } if (self.config.wayland) { const scanner = Scanner.create(b.dependency("zig_wayland", .{}), .{ @@ -460,6 +483,7 @@ pub fn add( scanner.generate("org_kde_kwin_server_decoration_manager", 1); step.root_module.addImport("wayland", wayland); + step.root_module.addImport("gdk_wayland", gobject.module("gdkwayland4")); step.linkSystemLibrary2("wayland-client", dynamic_link_opts); } From 1c524238c837cbd0d550a2e74af6df6e6235794a Mon Sep 17 00:00:00 2001 From: Qwerasd Date: Mon, 10 Feb 2025 13:27:26 -0500 Subject: [PATCH 223/365] test(terminal/osc): fix command longer than buffer test Ensure that the state is invalidated properly, this previously wasn't the case but was fixed in 03fd9a97 --- src/terminal/osc.zig | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/terminal/osc.zig b/src/terminal/osc.zig index 90dd079a0..faf376d13 100644 --- a/src/terminal/osc.zig +++ b/src/terminal/osc.zig @@ -1660,10 +1660,11 @@ test "OSC: longer than buffer" { var p: Parser = .{}; - const input = "a" ** (Parser.MAX_BUF + 2); + const input = "0;" ++ "a" ** (Parser.MAX_BUF + 2); for (input) |ch| p.next(ch); try testing.expect(p.end(null) == null); + try testing.expect(p.complete == false); } test "OSC: report default foreground color" { From e540a79032c4c7c691e1299b3e0a6b4fced10013 Mon Sep 17 00:00:00 2001 From: Qwerasd Date: Mon, 10 Feb 2025 14:19:26 -0500 Subject: [PATCH 224/365] test(terminal/screen): OOM handling in adjustCapacity Adds tests for the adjustCapacity changes from 09c76d95 Fixes a small oversight in that change as well (resetting cursor style). --- src/terminal/Screen.zig | 114 +++++++++++++++++++++++++++++++++++++++- 1 file changed, 112 insertions(+), 2 deletions(-) diff --git a/src/terminal/Screen.zig b/src/terminal/Screen.zig index 046ecb1b4..b11c207a5 100644 --- a/src/terminal/Screen.zig +++ b/src/terminal/Screen.zig @@ -483,11 +483,13 @@ pub fn adjustCapacity( self.cursor.style, ) catch |err| id: { // TODO: Should we increase the capacity further in this case? - log.err( + log.warn( "(Screen.adjustCapacity) Failed to add cursor style back to page, err={}", .{err}, ); + // Reset the cursor style. + self.cursor.style = .{}; break :id style.default_id; }; } @@ -503,7 +505,7 @@ pub fn adjustCapacity( // Re-add self.startHyperlinkOnce(link.*) catch |err| { // TODO: Should we increase the capacity further in this case? - log.err( + log.warn( "(Screen.adjustCapacity) Failed to add cursor hyperlink back to page, err={}", .{err}, ); @@ -2928,6 +2930,9 @@ pub fn testWriteString(self: *Screen, text: []const u8) !void { .protected = self.cursor.protected, }; + // If we have a hyperlink, add it to the cell. + if (self.cursor.hyperlink_id > 0) try self.cursorSetHyperlink(); + // If we have a ref-counted style, increase. if (self.cursor.style_id != style.default_id) { const page = self.cursor.page_pin.node.data; @@ -2946,6 +2951,9 @@ pub fn testWriteString(self: *Screen, text: []const u8) !void { .protected = self.cursor.protected, }; + // If we have a hyperlink, add it to the cell. + if (self.cursor.hyperlink_id > 0) try self.cursorSetHyperlink(); + self.cursor.page_row.wrap = true; try self.cursorDownOrScroll(); self.cursorHorizontalAbsolute(0); @@ -2961,6 +2969,9 @@ pub fn testWriteString(self: *Screen, text: []const u8) !void { .protected = self.cursor.protected, }; + // If we have a hyperlink, add it to the cell. + if (self.cursor.hyperlink_id > 0) try self.cursorSetHyperlink(); + // Write our tail self.cursorRight(1); self.cursor.page_cell.* = .{ @@ -2970,6 +2981,9 @@ pub fn testWriteString(self: *Screen, text: []const u8) !void { .protected = self.cursor.protected, }; + // If we have a hyperlink, add it to the cell. + if (self.cursor.hyperlink_id > 0) try self.cursorSetHyperlink(); + // If we have a ref-counted style, increase twice. if (self.cursor.style_id != style.default_id) { const page = self.cursor.page_pin.node.data; @@ -8805,6 +8819,102 @@ test "Screen: adjustCapacity cursor style ref count" { } } +test "Screen: adjustCapacity cursor hyperlink exceeds string alloc size" { + const testing = std.testing; + const alloc = testing.allocator; + + var s = try init(alloc, 80, 24, 0); + defer s.deinit(); + + // Start a hyperlink with a URI that just barely fits in the string alloc. + // This will ensure that the redundant copy added in `adjustCapacity` won't + // fit in the available string alloc space. + const uri = "a" ** (pagepkg.std_capacity.string_bytes - 8); + try s.startHyperlink(uri, null); + + // Write some characters with this so that the URI + // is copied to the new page when adjusting capacity. + try s.testWriteString("Hello"); + + // Adjust the capacity, right now this will cause a redundant copy of + // the URI to be added to the string alloc, but since there isn't room + // for this this will clear the cursor hyperlink. + _ = try s.adjustCapacity(s.cursor.page_pin.node, .{}); + + // The cursor hyperlink should have been cleared by the `adjustCapacity` + // call, because there isn't enough room to add the redundant URI string. + // + // This behavior will change, causing this test to fail, if any of these + // changes are made: + // + // - The string alloc is changed to intern strings. + // + // - The adjustCapacity function is changed to ensure the new + // capacity will fit the redundant copy of the hyperlink uri. + // + // - The cursor managed memory handling is reworked so that it + // doesn't reside in the pages anymore and doesn't need this + // accounting. + // + // In such a case, adjust this test accordingly. + try testing.expectEqual(null, s.cursor.hyperlink); + try testing.expectEqual(0, s.cursor.hyperlink_id); +} + +test "Screen: adjustCapacity cursor style exceeds style set capacity" { + const testing = std.testing; + const alloc = testing.allocator; + + var s = try init(alloc, 80, 24, 1000); + defer s.deinit(); + + const page = &s.cursor.page_pin.node.data; + + // We add unique styles to the page until no more will fit. + fill: for (0..255) |bg| { + for (0..255) |fg| { + const st: style.Style = .{ + .bg_color = .{ .palette = @intCast(bg) }, + .fg_color = .{ .palette = @intCast(fg) }, + }; + + s.cursor.style = st; + + // Try to insert the new style, if it doesn't fit then + // we succeeded in filling the style set, so we break. + s.cursor.style_id = page.styles.add( + page.memory, + s.cursor.style, + ) catch break :fill; + + try s.testWriteString("a"); + } + } + + // Adjust the capacity, this should cause the style set to reach the + // same state it was in to begin with, since it will clone the page + // in the same order as the styles were added to begin with, meaning + // the cursor style will not be able to be added to the set, which + // should, right now, result in the cursor style being cleared. + _ = try s.adjustCapacity(s.cursor.page_pin.node, .{}); + + // The cursor style should have been cleared by the `adjustCapacity`. + // + // This behavior will change, causing this test to fail, if either + // of these changes are made: + // + // - The adjustCapacity function is changed to ensure the + // new capacity will definitely fit the cursor style. + // + // - The cursor managed memory handling is reworked so that it + // doesn't reside in the pages anymore and doesn't need this + // accounting. + // + // In such a case, adjust this test accordingly. + try testing.expect(s.cursor.style.default()); + try testing.expectEqual(style.default_id, s.cursor.style_id); +} + test "Screen UTF8 cell map with newlines" { const testing = std.testing; const alloc = testing.allocator; From a1b682d0da53fbdc1d9e40b758ab61f744b3897d Mon Sep 17 00:00:00 2001 From: Qwerasd Date: Mon, 10 Feb 2025 15:45:53 -0500 Subject: [PATCH 225/365] fix(terminal): properly lookup hyperlinks when cloning rows across pages Before this we were doing bad things with the memory, looking at `PageEntry`s for links not actually in the page we were reading the strings from. --- src/terminal/hyperlink.zig | 14 ++++++++++++-- src/terminal/page.zig | 6 +----- src/terminal/ref_counted_set.zig | 6 ++++++ 3 files changed, 19 insertions(+), 7 deletions(-) diff --git a/src/terminal/hyperlink.zig b/src/terminal/hyperlink.zig index 1ab3c5ea7..bb9e78ca6 100644 --- a/src/terminal/hyperlink.zig +++ b/src/terminal/hyperlink.zig @@ -194,14 +194,24 @@ pub const Set = RefCountedSet( Id, size.CellCountInt, struct { + /// The page which holds the strings for items in this set. page: ?*Page = null, + /// The page which holds the strings for items + /// looked up with, e.g., `add` or `lookup`, + /// if different from the destination page. + src_page: ?*const Page = null, + pub fn hash(self: *const @This(), link: PageEntry) u64 { - return link.hash(self.page.?.memory); + return link.hash((self.src_page orelse self.page.?).memory); } pub fn eql(self: *const @This(), a: PageEntry, b: PageEntry) bool { - return a.eql(self.page.?.memory, &b, self.page.?.memory); + return a.eql( + (self.src_page orelse self.page.?).memory, + &b, + self.page.?.memory, + ); } pub fn deleted(self: *const @This(), link: PageEntry) void { diff --git a/src/terminal/page.zig b/src/terminal/page.zig index ae14b8c01..30f6658aa 100644 --- a/src/terminal/page.zig +++ b/src/terminal/page.zig @@ -821,11 +821,7 @@ pub const Page = struct { if (self.hyperlink_set.lookupContext( self.memory, other_link.*, - - // `lookupContext` uses the context for hashing, and - // that doesn't write to the page, so this constCast - // is completely safe. - .{ .page = @constCast(other) }, + .{ .page = self, .src_page = @constCast(other) }, )) |i| { self.hyperlink_set.use(self.memory, i); break :dst_id i; diff --git a/src/terminal/ref_counted_set.zig b/src/terminal/ref_counted_set.zig index 1a58a4e5b..b674295dc 100644 --- a/src/terminal/ref_counted_set.zig +++ b/src/terminal/ref_counted_set.zig @@ -38,8 +38,14 @@ const fastmem = @import("../fastmem.zig"); /// /// `Context` /// A type containing methods to define behaviors. +/// /// - `fn hash(*Context, T) u64` - Return a hash for an item. +/// /// - `fn eql(*Context, T, T) bool` - Check two items for equality. +/// The first of the two items passed in is guaranteed to be from +/// a value passed in to an `add` or `lookup` function, the second +/// is guaranteed to be a value already resident in the set. +/// /// - `fn deleted(*Context, T) void` - [OPTIONAL] Deletion callback. /// If present, called whenever an item is finally deleted. /// Useful if the item has memory that needs to be freed. From dd8c795ec605f808aaf82d8fa551844cf09178fc Mon Sep 17 00:00:00 2001 From: Qwerasd Date: Mon, 10 Feb 2025 15:48:06 -0500 Subject: [PATCH 226/365] test(terminal/screen): cursorSetHyperlink OOM handling edge case Tests handling introduced in 09c76d95 which ensures sufficient space for the cursor hyperlink uri in the string alloc when adjusting capacity. --- src/terminal/Screen.zig | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/src/terminal/Screen.zig b/src/terminal/Screen.zig index b11c207a5..98894a83d 100644 --- a/src/terminal/Screen.zig +++ b/src/terminal/Screen.zig @@ -8785,6 +8785,40 @@ test "Screen: hyperlink cursor state on resize" { } } +test "Screen: cursorSetHyperlink OOM + URI too large for string alloc" { + const testing = std.testing; + const alloc = testing.allocator; + + var s = try init(alloc, 80, 24, 0); + defer s.deinit(); + + // Start a hyperlink with a URI that just barely fits in the string alloc. + // This will ensure that additional string alloc space is needed for the + // redundant copy of the URI when the page is re-alloced. + const uri = "a" ** (pagepkg.std_capacity.string_bytes - 8); + try s.startHyperlink(uri, null); + + // Figure out how many cells should can have hyperlinks in this page, + // and write twice that number, to guarantee the capacity needs to be + // increased at some point. + const base_capacity = s.cursor.page_pin.node.data.hyperlinkCapacity(); + const base_string_bytes = s.cursor.page_pin.node.data.capacity.string_bytes; + for (0..base_capacity * 2) |_| { + try s.cursorSetHyperlink(); + if (s.cursor.x >= s.pages.cols - 1) { + try s.cursorDownOrScroll(); + s.cursorHorizontalAbsolute(0); + } else { + s.cursorRight(1); + } + } + + // Make sure the capacity really did increase. + try testing.expect(base_capacity < s.cursor.page_pin.node.data.hyperlinkCapacity()); + // And that our string_bytes increased as well. + try testing.expect(base_string_bytes < s.cursor.page_pin.node.data.capacity.string_bytes); +} + test "Screen: adjustCapacity cursor style ref count" { const testing = std.testing; const alloc = testing.allocator; From 3a8c934b1937762e00de1959d9f25a25794b4d85 Mon Sep 17 00:00:00 2001 From: "Jeffrey C. Ollie" Date: Thu, 30 Jan 2025 11:55:29 -0600 Subject: [PATCH 227/365] nix: use zig2nix to manage nix cache/deps This brings the internal package more in line with how the nixpkgs package is built. It also handles recursive dependencies better than the current system. --- .gitattributes | 1 + .github/workflows/nix.yml | 4 +- .github/workflows/update-colorschemes.yml | 8 +- .gitignore | 1 + build.zig.zon.nix | 390 ++++++++++++++++++++++ flake.lock | 62 +++- flake.nix | 12 + nix/build-support/check-zig-cache-hash.sh | 63 ---- nix/build-support/check-zig-cache.sh | 64 ++++ nix/build-support/fetch-zig-cache.sh | 39 --- nix/devShell.nix | 3 + nix/package.nix | 97 ++---- nix/zigCacheHash.nix | 3 - 13 files changed, 548 insertions(+), 199 deletions(-) create mode 100644 build.zig.zon.nix delete mode 100755 nix/build-support/check-zig-cache-hash.sh create mode 100755 nix/build-support/check-zig-cache.sh delete mode 100755 nix/build-support/fetch-zig-cache.sh delete mode 100644 nix/zigCacheHash.nix diff --git a/.gitattributes b/.gitattributes index eef19e09b..148515873 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,3 +1,4 @@ +build.zig.zon.nix linguist-generated=true vendor/** linguist-vendored website/** linguist-documentation pkg/breakpad/vendor/** linguist-vendored diff --git a/.github/workflows/nix.yml b/.github/workflows/nix.yml index 3339ee71c..ec55f2dff 100644 --- a/.github/workflows/nix.yml +++ b/.github/workflows/nix.yml @@ -50,5 +50,5 @@ jobs: name: ghostty authToken: "${{ secrets.CACHIX_AUTH_TOKEN }}" useDaemon: false # sometimes fails on short jobs - - name: Check Zig cache hash - run: nix develop -c ./nix/build-support/check-zig-cache-hash.sh + - name: Check Zig cache + run: nix develop -c ./nix/build-support/check-zig-cache.sh diff --git a/.github/workflows/update-colorschemes.yml b/.github/workflows/update-colorschemes.yml index 569ef6765..8a6c77ea5 100644 --- a/.github/workflows/update-colorschemes.yml +++ b/.github/workflows/update-colorschemes.yml @@ -48,14 +48,14 @@ jobs: run: | # Only proceed if build.zig.zon has changed if ! git diff --exit-code build.zig.zon; then - nix develop -c ./nix/build-support/check-zig-cache-hash.sh --update - nix develop -c ./nix/build-support/check-zig-cache-hash.sh + nix develop -c ./nix/build-support/check-zig-cache.sh --update + nix develop -c ./nix/build-support/check-zig-cache.sh fi # Verify the build still works. We choose an arbitrary build type # as a canary instead of testing all build types. - name: Test Build - run: nix develop -c zig build -Dapp-runtime=gtk -Dgtk-adwaita=true + run: nix build .#ghostty - name: Create pull request uses: peter-evans/create-pull-request@v7 @@ -66,7 +66,7 @@ jobs: commit-message: "deps: Update iTerm2 color schemes" add-paths: | build.zig.zon - nix/zigCacheHash.nix + build.zig.zon.nix body: | Upstream revision: https://github.com/mbadolato/iTerm2-Color-Schemes/tree/${{ steps.zig_fetch.outputs.upstream_rev }} labels: dependencies diff --git a/.gitignore b/.gitignore index db8457e1f..b37c80ebe 100644 --- a/.gitignore +++ b/.gitignore @@ -18,3 +18,4 @@ glad.zip /Box_test.ppm /Box_test_diff.ppm /ghostty.qcow2 +/build.zig.zon2json-lock diff --git a/build.zig.zon.nix b/build.zig.zon.nix new file mode 100644 index 000000000..64cb8f369 --- /dev/null +++ b/build.zig.zon.nix @@ -0,0 +1,390 @@ +# generated by zon2nix (https://github.com/Cloudef/zig2nix) +{ + lib, + linkFarm, + fetchurl, + fetchgit, + runCommandLocal, + zig, + name ? "zig-packages", +}: +with builtins; +with lib; let + unpackZigArtifact = { + name, + artifact, + }: + runCommandLocal name + { + nativeBuildInputs = [zig]; + } + '' + hash="$(zig fetch --global-cache-dir "$TMPDIR" ${artifact})" + mv "$TMPDIR/p/$hash" "$out" + chmod 755 "$out" + ''; + + fetchZig = { + name, + url, + hash, + }: let + artifact = fetchurl {inherit url hash;}; + in + unpackZigArtifact {inherit name artifact;}; + + fetchGitZig = { + name, + url, + hash, + }: let + parts = splitString "#" url; + url_base = elemAt parts 0; + url_without_query = elemAt (splitString "?" url_base) 0; + rev_base = elemAt parts 1; + rev = + if match "^[a-fA-F0-9]{40}$" rev_base != null + then rev_base + else "refs/heads/${rev_base}"; + in + fetchgit { + inherit name rev hash; + url = url_without_query; + deepClone = false; + }; + + fetchZigArtifact = { + name, + url, + hash, + }: let + parts = splitString "://" url; + proto = elemAt parts 0; + path = elemAt parts 1; + fetcher = { + "git+http" = fetchGitZig { + inherit name hash; + url = "http://${path}"; + }; + "git+https" = fetchGitZig { + inherit name hash; + url = "https://${path}"; + }; + http = fetchZig { + inherit name hash; + url = "http://${path}"; + }; + https = fetchZig { + inherit name hash; + url = "https://${path}"; + }; + }; + in + fetcher.${proto}; +in + linkFarm name [ + { + name = "1220ebf88622c4d502dc59e71347e4d28c47e033f11b59aff774ae5787565c40999c"; + path = fetchZigArtifact { + name = "libxev"; + url = "https://github.com/mitchellh/libxev/archive/31eed4e337fed7b0149319e5cdbb62b848c24fbd.tar.gz"; + hash = "sha256-VHP90NTytIZ8UZsYRKOOxN490/I6yv6ec40sP8y5MJ8="; + }; + } + { + name = "12206ed982e709e565d536ce930701a8c07edfd2cfdce428683f3f2a601d37696a62"; + path = fetchZigArtifact { + name = "mach_glfw"; + url = "https://github.com/mitchellh/mach-glfw/archive/37c2995f31abcf7e8378fba68ddcf4a3faa02de0.tar.gz"; + hash = "sha256-HhXIvWUS8/CHWY4VXPG2ZEo+we8XOn3o5rYJCQ1n8Nk="; + }; + } + { + name = "1220736fa4ba211162c7a0e46cc8fe04d95921927688bff64ab5da7420d098a7272d"; + path = fetchZigArtifact { + name = "glfw"; + url = "https://github.com/mitchellh/glfw/archive/b552c6ec47326b94015feddb36058ea567b87159.tar.gz"; + hash = "sha256-IeBVAOQmtyFqVxzuXPek1onuPwIamcOyYtxqKpPEQjU="; + }; + } + { + name = "12202adbfecdad671d585c9a5bfcbd5cdf821726779430047742ce1bf94ad67d19cb"; + path = fetchZigArtifact { + name = "xcode_frameworks"; + url = "https://github.com/mitchellh/xcode-frameworks/archive/69801c154c39d7ae6129ea1ba8fe1afe00585fc8.tar.gz"; + hash = "sha256-mP/I2coL57UJm/3+4Q8sPAgQwk8V4zM+S4VBBTrX2To="; + }; + } + { + name = "122004bfd4c519dadfb8e6281a42fc34fd1aa15aea654ea8a492839046f9894fa2cf"; + path = fetchZigArtifact { + name = "vulkan_headers"; + url = "https://github.com/mitchellh/vulkan-headers/archive/04c8a0389d5a0236a96312988017cd4ce27d8041.tar.gz"; + hash = "sha256-K+zrRudgHFukOM6En1StRYRMNYkeRk+qHTXvrXaG+FU="; + }; + } + { + name = "1220b3164434d2ec9db146a40bf3a30f490590d68fa8529776a3138074f0da2c11ca"; + path = fetchZigArtifact { + name = "wayland_headers"; + url = "https://github.com/mitchellh/wayland-headers/archive/5f991515a29f994d87b908115a2ab0b899474bd1.tar.gz"; + hash = "sha256-uFilLZinKkZt6RdVTV3lUmJpzpswDdFva22FvwU/XQI="; + }; + } + { + name = "122089c326186c84aa2fd034b16abc38f3ebf4862d9ae106dc1847ac44f557b36465"; + path = fetchZigArtifact { + name = "x11_headers"; + url = "https://github.com/mitchellh/x11-headers/archive/2ffbd62d82ff73ec929dd8de802bc95effa0ef88.tar.gz"; + hash = "sha256-EhV2bmTY/OMYN1wEul35gD0hQgS/Al262jO3pVr0O+c="; + }; + } + { + name = "12200df4ebeaed45de26cb2c9f3b6f3746d8013b604e035dae658f86f586c8c91d2f"; + path = fetchZigArtifact { + name = "vaxis"; + url = "git+https://github.com/rockorager/libvaxis/?ref=main#6d729a2dc3b934818dffe06d2ba3ce02841ed74b"; + hash = "sha256-fFf79fCy4QQFVNcN722tSMjB6FyVEzCB36oH1olk9JQ="; + }; + } + { + name = "1220dd654ef941fc76fd96f9ec6adadf83f69b9887a0d3f4ee5ac0a1a3e11be35cf5"; + path = fetchZigArtifact { + name = "zigimg"; + url = "git+https://github.com/zigimg/zigimg#3a667bdb3d7f0955a5a51c8468eac83210c1439e"; + hash = "sha256-oLf3YH3yeg4ikVO/GahMCDRMTU31AHkfSnF4rt7xTKo="; + }; + } + { + name = "122055beff332830a391e9895c044d33b15ea21063779557024b46169fb1984c6e40"; + path = fetchZigArtifact { + name = "zg"; + url = "https://codeberg.org/atman/zg/archive/v0.13.2.tar.gz"; + hash = "sha256-2x9hT7bYq9KJYWLVOf21a+QvTG/F7HWT+YK15IMRzNY="; + }; + } + { + name = "12201f0d542e7541cf492a001d4d0d0155c92f58212fbcb0d224e95edeba06b5416a"; + path = fetchZigArtifact { + name = "z2d"; + url = "git+https://github.com/vancluever/z2d?ref=v0.4.0#4638bb02a9dc41cc2fb811f092811f6a951c752a"; + hash = "sha256-YpWXn1J3JKQSCrWB25mAfzd1/T56QstEZnhPzBwxgoM="; + }; + } + { + name = "1220e17e64ef0ef561b3e4b9f3a96a2494285f2ec31c097721bf8c8677ec4415c634"; + path = fetchZigArtifact { + name = "zig_objc"; + url = "https://github.com/mitchellh/zig-objc/archive/9b8ba849b0f58fe207ecd6ab7c147af55b17556e.tar.gz"; + hash = "sha256-H+HIbh2T23uzrsg9/1/vl9Ir1HCAa2pzeTx6zktJH9Q="; + }; + } + { + name = "12205a66d423259567764fa0fc60c82be35365c21aeb76c5a7dc99698401f4f6fefc"; + path = fetchZigArtifact { + name = "zig_js"; + url = "https://github.com/mitchellh/zig-js/archive/d0b8b0a57c52fbc89f9d9fecba75ca29da7dd7d1.tar.gz"; + hash = "sha256-fyNeCVbC9UAaKJY6JhAZlT0A479M/AKYMPIWEZbDWD0="; + }; + } + { + name = "12207831bce7d4abce57b5a98e8f3635811cfefd160bca022eb91fe905d36a02cf25"; + path = fetchZigArtifact { + name = "ziglyph"; + url = "https://deps.files.ghostty.org/ziglyph-b89d43d1e3fb01b6074bc1f7fc980324b04d26a5.tar.gz"; + hash = "sha256-cse98+Ft8QUjX+P88yyYfaxJOJGQ9M7Ymw7jFxDz89k="; + }; + } + { + name = "12209ca054cb1919fa276e328967f10b253f7537c4136eb48f3332b0f7cf661cad38"; + path = fetchZigArtifact { + name = "zig_wayland"; + url = "https://codeberg.org/ifreund/zig-wayland/archive/fbfe3b4ac0b472a27b1f1a67405436c58cbee12d.tar.gz"; + hash = "sha256-RtAystqK/GRYIquTK1KfD7rRSCrfuzAvCD1Z9DE1ldc="; + }; + } + { + name = "1220edc3b8d8bedbb50555947987e5e8e2f93871ca3c8e8d4cc8f1377c15b5dd35e8"; + path = fetchZigArtifact { + name = "zf"; + url = "git+https://github.com/natecraddock/zf/?ref=main#ed99ca18b02dda052e20ba467e90b623c04690dd"; + hash = "sha256-t6QNrEJZ4GZZsYixjYvpdrYoCmNbG8TTUmGs2MFa4sU="; + }; + } + { + name = "1220c72c1697dd9008461ead702997a15d8a1c5810247f02e7983b9f74c6c6e4c087"; + path = fetchZigArtifact { + name = "vaxis"; + url = "git+https://github.com/rockorager/libvaxis/?ref=main#dc0a228a5544988d4a920cfb40be9cd28db41423"; + hash = "sha256-QWN4jOrA91KlbqmeEHHJ4HTnCC9nmfxt8DHUXJpAzLI="; + }; + } + { + name = "12208d70ee791d7ef7e16e1c3c9c1127b57f1ed066a24f87d57fc9f730c5dc394b9d"; + path = fetchZigArtifact { + name = "gobject"; + url = "https://github.com/ianprime0509/zig-gobject/releases/download/v0.2.2/bindings-gnome47.tar.zst"; + hash = "sha256-UU97kNv/bZzQPKz1djhEDLapLguvfBpFfWVb6FthtcI="; + }; + } + { + name = "12202cdac858abc52413a6c6711d5026d2d3c8e13f95ca2c327eade0736298bb021f"; + path = fetchZigArtifact { + name = "wayland"; + url = "https://deps.files.ghostty.org/wayland-9cb3d7aa9dc995ffafdbdef7ab86a949d0fb0e7d.tar.gz"; + hash = "sha256-m9G72jdG30KH2yQhNBcBJ46OnekzuX0i2uIOyczkpLk="; + }; + } + { + name = "12201a57c6ce0001aa034fa80fba3e1cd2253c560a45748f4f4dd21ff23b491cddef"; + path = fetchZigArtifact { + name = "wayland_protocols"; + url = "https://deps.files.ghostty.org/wayland-protocols-258d8f88f2c8c25a830c6316f87d23ce1a0f12d9.tar.gz"; + hash = "sha256-XO3K3egbdeYPI+XoO13SuOtO+5+Peb16NH0UiusFMPg="; + }; + } + { + name = "12207e0851c12acdeee0991e893e0132fc87bb763969a585dc16ecca33e88334c566"; + path = fetchZigArtifact { + name = "plasma_wayland_protocols"; + url = "git+https://github.com/KDE/plasma-wayland-protocols?ref=main#db525e8f9da548cffa2ac77618dd0fbe7f511b86"; + hash = "sha256-iWRv3+OfmHxmeCJ8m0ChjgZX6mwXlcFmK8P/Vt8gDj4="; + }; + } + { + name = "12203d2647e5daf36a9c85b969e03f422540786ce9ea624eb4c26d204fe1f46218f3"; + path = fetchZigArtifact { + name = "iterm2_themes"; + url = "https://github.com/mbadolato/iTerm2-Color-Schemes/archive/db227d159adc265818f2e898da0f70ef8d7b580e.tar.gz"; + hash = "sha256-Iyf7U4rpvNkPX4AOEbYSYGte5+SjRwsWD2luOn1Hz8U="; + }; + } + { + name = "1220bc6b9daceaf7c8c60f3c3998058045ba0c5c5f48ae255ff97776d9cd8bfc6402"; + path = fetchZigArtifact { + name = "imgui"; + url = "https://github.com/ocornut/imgui/archive/e391fe2e66eb1c96b1624ae8444dc64c23146ef4.tar.gz"; + hash = "sha256-oF/QHgTPEat4Hig4fGIdLkIPHmBEyOJ6JeYD6pnveGA="; + }; + } + { + name = "1220b81f6ecfb3fd222f76cf9106fecfa6554ab07ec7fdc4124b9bb063ae2adf969d"; + path = fetchZigArtifact { + name = "freetype"; + url = "https://github.com/freetype/freetype/archive/refs/tags/VER-2-13-2.tar.gz"; + hash = "sha256-QnIB9dUVFnDQXB9bRb713aHy592XHvVPD+qqf/0quQw="; + }; + } + { + name = "1220aa013f0c83da3fb64ea6d327f9173fa008d10e28bc9349eac3463457723b1c66"; + path = fetchZigArtifact { + name = "libpng"; + url = "https://github.com/glennrp/libpng/archive/refs/tags/v1.6.43.tar.gz"; + hash = "sha256-/syVtGzwXo4/yKQUdQ4LparQDYnp/fF16U/wQcrxoDo="; + }; + } + { + name = "1220fed0c74e1019b3ee29edae2051788b080cd96e90d56836eea857b0b966742efb"; + path = fetchZigArtifact { + name = "zlib"; + url = "https://github.com/madler/zlib/archive/refs/tags/v1.3.1.tar.gz"; + hash = "sha256-F+iIY/NgBnKrSRgvIXKBtvxNPHYr3jYZNeQ2qVIU0Fw="; + }; + } + { + name = "12201149afb3326c56c05bb0a577f54f76ac20deece63aa2f5cd6ff31a4fa4fcb3b7"; + path = fetchZigArtifact { + name = "fontconfig"; + url = "https://deps.files.ghostty.org/fontconfig-2.14.2.tar.gz"; + hash = "sha256-O6LdkhWHGKzsXKrxpxYEO1qgVcJ7CB2RSvPMtA3OilU="; + }; + } + { + name = "122032442d95c3b428ae8e526017fad881e7dc78eab4d558e9a58a80bfbd65a64f7d"; + path = fetchZigArtifact { + name = "libxml2"; + url = "https://github.com/GNOME/libxml2/archive/refs/tags/v2.11.5.tar.gz"; + hash = "sha256-bCgFni4+60K1tLFkieORamNGwQladP7jvGXNxdiaYhU="; + }; + } + { + name = "1220b8588f106c996af10249bfa092c6fb2f35fbacb1505ef477a0b04a7dd1063122"; + path = fetchZigArtifact { + name = "harfbuzz"; + url = "https://github.com/harfbuzz/harfbuzz/archive/refs/tags/8.4.0.tar.gz"; + hash = "sha256-nxygiYE7BZRK0c6MfgGCEwJtNdybq0gKIeuHaDg5ZVY="; + }; + } + { + name = "12205c83b8311a24b1d5ae6d21640df04f4b0726e314337c043cde1432758cbe165b"; + path = fetchZigArtifact { + name = "highway"; + url = "https://github.com/google/highway/archive/refs/tags/1.1.0.tar.gz"; + hash = "sha256-NUqLRTm1iOcLmOxwhEJz4/J0EwLEw3e8xOgbPRhm98k="; + }; + } + { + name = "1220c15e72eadd0d9085a8af134904d9a0f5dfcbed5f606ad60edc60ebeccd9706bb"; + path = fetchZigArtifact { + name = "oniguruma"; + url = "https://github.com/kkos/oniguruma/archive/refs/tags/v6.9.9.tar.gz"; + hash = "sha256-ABqhIC54RI9MC/GkjHblVodrNvFtks4yB+zP1h2Z8qA="; + }; + } + { + name = "1220446be831adcca918167647c06c7b825849fa3fba5f22da394667974537a9c77e"; + path = fetchZigArtifact { + name = "sentry"; + url = "https://github.com/getsentry/sentry-native/archive/refs/tags/0.7.8.tar.gz"; + hash = "sha256-KsZJfMjWGo0xCT5HrduMmyxFsWsHBbszSoNbZCPDGN8="; + }; + } + { + name = "12207fd37bb8251919c112dcdd8f616a491857b34a451f7e4486490077206dc2a1ea"; + path = fetchZigArtifact { + name = "breakpad"; + url = "https://github.com/getsentry/breakpad/archive/b99f444ba5f6b98cac261cbb391d8766b34a5918.tar.gz"; + hash = "sha256-bMqYlD0amQdmzvYQd8Ca/1k4Bj/heh7+EijlQSttatk="; + }; + } + { + name = "1220d4d18426ca72fc2b7e56ce47273149815501d0d2395c2a98c726b31ba931e641"; + path = fetchZigArtifact { + name = "utfcpp"; + url = "https://github.com/nemtrif/utfcpp/archive/refs/tags/v4.0.5.tar.gz"; + hash = "sha256-/8ZooxDndgfTk/PBizJxXyI9oerExNbgV5oR345rWc8="; + }; + } + { + name = "122037b39d577ec2db3fd7b2130e7b69ef6cc1807d68607a7c232c958315d381b5cd"; + path = fetchZigArtifact { + name = "wuffs"; + url = "https://github.com/google/wuffs/archive/refs/tags/v0.4.0-alpha.9.tar.gz"; + hash = "sha256-nkzSCr6W5sTG7enDBXEIhgEm574uLD41UVR2wlC+HBM="; + }; + } + { + name = "12207ff340169c7d40c570b4b6a97db614fe47e0d83b5801a932dcd44917424c8806"; + path = fetchZigArtifact { + name = "pixels"; + url = "git+https://github.com/make-github-pseudonymous-again/pixels?ref=main#d843c2714d32e15b48b8d7eeb480295af537f877"; + hash = "sha256-kXYGO0qn2PfyOYCrRA49BHIgTzdmKhI8SNO1ZKfUYEE="; + }; + } + { + name = "12201278a1a05c0ce0b6eb6026c65cd3e9247aa041b1c260324bf29cee559dd23ba1"; + path = fetchZigArtifact { + name = "glslang"; + url = "https://github.com/KhronosGroup/glslang/archive/refs/tags/14.2.0.tar.gz"; + hash = "sha256-FKLtu1Ccs+UamlPj9eQ12/WXFgS0uDPmPmB26MCpl7U="; + }; + } + { + name = "1220fb3b5586e8be67bc3feb34cbe749cf42a60d628d2953632c2f8141302748c8da"; + path = fetchZigArtifact { + name = "spirv_cross"; + url = "https://github.com/KhronosGroup/SPIRV-Cross/archive/476f384eb7d9e48613c45179e502a15ab95b6b49.tar.gz"; + hash = "sha256-tStvz8Ref6abHwahNiwVVHNETizAmZVVaxVsU7pmV+M="; + }; + } + ] diff --git a/flake.lock b/flake.lock index bf678156b..7905635b3 100644 --- a/flake.lock +++ b/flake.lock @@ -3,11 +3,11 @@ "flake-compat": { "flake": false, "locked": { - "lastModified": 1696426674, - "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", + "lastModified": 1733328505, + "narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=", "owner": "edolstra", "repo": "flake-compat", - "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", + "rev": "ff81ac966bb2cae68946d5ed5fc4994f96d0ffec", "type": "github" }, "original": { @@ -21,11 +21,11 @@ "systems": "systems" }, "locked": { - "lastModified": 1705309234, - "narHash": "sha256-uNRRNRKmJyCRC/8y1RqBkqWBLM034y4qN7EprSdmgyA=", + "lastModified": 1731533236, + "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", "owner": "numtide", "repo": "flake-utils", - "rev": "1ef2e671c3b0c19053962c07dbda38332dcebf26", + "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", "type": "github" }, "original": { @@ -36,11 +36,11 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1733423277, - "narHash": "sha256-TxabjxEgkNbCGFRHgM/b9yZWlBj60gUOUnRT/wbVQR8=", + "lastModified": 1738255539, + "narHash": "sha256-hP2eOqhIO/OILW+3moNWO4GtdJFYCqAe9yJZgvlCoDQ=", "owner": "nixos", "repo": "nixpkgs", - "rev": "e36963a147267afc055f7cf65225958633e536bf", + "rev": "c3511a3b53b482aa7547c9d1626fd7310c1de1c5", "type": "github" }, "original": { @@ -52,11 +52,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1733229606, - "narHash": "sha256-FLYY5M0rpa5C2QAE3CKLYAM6TwbKicdRK6qNrSHlNrE=", + "lastModified": 1738136902, + "narHash": "sha256-pUvLijVGARw4u793APze3j6mU1Zwdtz7hGkGGkD87qw=", "owner": "nixos", "repo": "nixpkgs", - "rev": "566e53c2ad750c84f6d31f9ccb9d00f823165550", + "rev": "9a5db3142ce450045840cc8d832b13b8a2018e0c", "type": "github" }, "original": { @@ -69,9 +69,11 @@ "root": { "inputs": { "flake-compat": "flake-compat", + "flake-utils": "flake-utils", "nixpkgs-stable": "nixpkgs-stable", "nixpkgs-unstable": "nixpkgs-unstable", - "zig": "zig" + "zig": "zig", + "zig2nix": "zig2nix" } }, "systems": { @@ -92,17 +94,19 @@ "zig": { "inputs": { "flake-compat": [], - "flake-utils": "flake-utils", + "flake-utils": [ + "flake-utils" + ], "nixpkgs": [ "nixpkgs-stable" ] }, "locked": { - "lastModified": 1717848532, - "narHash": "sha256-d+xIUvSTreHl8pAmU1fnmkfDTGQYCn2Rb/zOwByxS2M=", + "lastModified": 1738239110, + "narHash": "sha256-Y5i9mQ++dyIQr+zEPNy+KIbc5wjPmfllBrag3cHZgcE=", "owner": "mitchellh", "repo": "zig-overlay", - "rev": "02fc5cc555fc14fda40c42d7c3250efa43812b43", + "rev": "1a8fb6f3a04724519436355564b95fce5e272504", "type": "github" }, "original": { @@ -110,6 +114,30 @@ "repo": "zig-overlay", "type": "github" } + }, + "zig2nix": { + "inputs": { + "flake-utils": [ + "flake-utils" + ], + "nixpkgs": [ + "nixpkgs-stable" + ] + }, + "locked": { + "lastModified": 1738263917, + "narHash": "sha256-j/3fwe2pEOquHabP/puljOKwAZFjIE9gXZqA91sC48M=", + "owner": "jcollie", + "repo": "zig2nix", + "rev": "c311d8e77a6ee0d995f40a6e10a89a3a4ab04f9a", + "type": "github" + }, + "original": { + "owner": "jcollie", + "ref": "c311d8e77a6ee0d995f40a6e10a89a3a4ab04f9a", + "repo": "zig2nix", + "type": "github" + } } }, "root": "root", diff --git a/flake.nix b/flake.nix index 3256c7c15..cf82d392a 100644 --- a/flake.nix +++ b/flake.nix @@ -8,6 +8,7 @@ # glibc versions used by our dependencies from Nix are compatible with the # system glibc that the user is building for. nixpkgs-stable.url = "github:nixos/nixpkgs/release-24.11"; + flake-utils.url = "github:numtide/flake-utils"; # Used for shell.nix flake-compat = { @@ -19,9 +20,18 @@ url = "github:mitchellh/zig-overlay"; inputs = { nixpkgs.follows = "nixpkgs-stable"; + flake-utils.follows = "flake-utils"; flake-compat.follows = ""; }; }; + + zig2nix = { + url = "github:jcollie/zig2nix?ref=c311d8e77a6ee0d995f40a6e10a89a3a4ab04f9a"; + inputs = { + nixpkgs.follows = "nixpkgs-stable"; + flake-utils.follows = "flake-utils"; + }; + }; }; outputs = { @@ -29,6 +39,7 @@ nixpkgs-unstable, nixpkgs-stable, zig, + zig2nix, ... }: builtins.foldl' nixpkgs-stable.lib.recursiveUpdate {} ( @@ -40,6 +51,7 @@ devShell.${system} = pkgs-stable.callPackage ./nix/devShell.nix { zig = zig.packages.${system}."0.13.0"; wraptest = pkgs-stable.callPackage ./nix/wraptest.nix {}; + zig2nix = zig2nix; }; packages.${system} = let diff --git a/nix/build-support/check-zig-cache-hash.sh b/nix/build-support/check-zig-cache-hash.sh deleted file mode 100755 index 49ea29ffb..000000000 --- a/nix/build-support/check-zig-cache-hash.sh +++ /dev/null @@ -1,63 +0,0 @@ -#!/usr/bin/env bash - -# Nothing in this script should fail. -set -e - -CACHE_HASH_FILE="$(realpath "$(dirname "$0")/../zigCacheHash.nix")" - -help() { - echo "" - echo "To fix, please (manually) re-run the script from the repository root," - echo "commit, and push the update:" - echo "" - echo " ./nix/build-support/check-zig-cache-hash.sh --update" - echo " git add nix/zigCacheHash.nix" - echo " git commit -m \"nix: update Zig cache hash\"" - echo " git push" - echo "" -} - -if [ -f "${CACHE_HASH_FILE}" ]; then - OLD_CACHE_HASH="$(nix eval --raw --file "${CACHE_HASH_FILE}")" -elif [ "$1" != "--update" ]; then - echo -e "\nERROR: Zig cache hash file missing." - help - exit 1 -fi - -ZIG_GLOBAL_CACHE_DIR="$(mktemp --directory --suffix nix-zig-cache)" -export ZIG_GLOBAL_CACHE_DIR - -# This is not 100% necessary in CI but is helpful when running locally to keep -# a local workstation clean. -trap 'rm -rf "${ZIG_GLOBAL_CACHE_DIR}"' EXIT - -# Run Zig and download the cache to the temporary directory. - -sh ./nix/build-support/fetch-zig-cache.sh - -# Now, calculate the hash. -ZIG_CACHE_HASH="sha256-$(nix-hash --type sha256 --to-base64 "$(nix-hash --type sha256 "${ZIG_GLOBAL_CACHE_DIR}")")" - -if [ "${OLD_CACHE_HASH}" == "${ZIG_CACHE_HASH}" ]; then - echo -e "\nOK: Zig cache store hash unchanged." - exit 0 -elif [ "$1" != "--update" ]; then - echo -e "\nERROR: The Zig cache store hash has updated." - echo "" - echo " * Old hash: ${OLD_CACHE_HASH}" - echo " * New hash: ${ZIG_CACHE_HASH}" - help - exit 1 -else - echo -e "\nNew Zig cache store hash: ${ZIG_CACHE_HASH}" -fi - -# Write out the cache file -cat > "${CACHE_HASH_FILE}" < "$WORK_DIR/build.zig.zon.nix" +alejandra --quiet "$WORK_DIR/build.zig.zon.nix" +rm -f "$BUILD_ZIG_ZON_LOCK" + +NEW_HASH=$(sha512sum "$WORK_DIR/build.zig.zon.nix" | awk '{print $1}') + +if [ "${OLD_HASH}" == "${NEW_HASH}" ]; then + echo -e "\nOK: build.zig.zon.nix unchanged." + exit 0 +elif [ "$1" != "--update" ]; then + echo -e "\nERROR: build.zig.zon.nix needs to be updated." + echo "" + echo " * Old hash: ${OLD_HASH}" + echo " * New hash: ${NEW_HASH}" + help + exit 1 +else + mv "$WORK_DIR/build.zig.zon.nix" "$BUILD_ZIG_ZON_NIX" + echo -e "\nOK: build.zig.zon.nix updated." + exit 0 +fi + diff --git a/nix/build-support/fetch-zig-cache.sh b/nix/build-support/fetch-zig-cache.sh deleted file mode 100755 index 56b94e35d..000000000 --- a/nix/build-support/fetch-zig-cache.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/bin/sh - -set -e - -# Because Zig does not fetch recursive dependencies when you run `zig build -# --fetch` (see https://github.com/ziglang/zig/issues/20976) we need to do some -# extra work to fetch everything that we actually need to build without Internet -# access (such as when building a Nix package). -# -# An example of this happening: -# -# error: builder for '/nix/store/cx8qcwrhjmjxik2547fw99v5j6np5san-ghostty-0.1.0.drv' failed with exit code 1; -# la/build/tmp.xgHOheUF7V/p/12208cfdda4d5fdbc81b0c44b82e4d6dba2d4a86bff644a153e026fdfc80f8469133/build.zig.zon:7:20: error: unable to discover remote git server capabilities: TemporaryNameServerFailure -# > .url = "git+https://github.com/zigimg/zigimg#3a667bdb3d7f0955a5a51c8468eac83210c1439e", -# > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# > /build/tmp.xgHOheUF7V/p/12208cfdda4d5fdbc81b0c44b82e4d6dba2d4a86bff644a153e026fdfc80f8469133/build.zig.zon:16:20: error: unable to discover remote git server capabilities: TemporaryNameServerFailure -# > .url = "git+https://github.com/mitchellh/libxev#f6a672a78436d8efee1aa847a43a900ad773618b", -# > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# > -# For full logs, run 'nix log /nix/store/cx8qcwrhjmjxik2547fw99v5j6np5san-ghostty-0.1.0.drv'. -# -# To update this script, add any failing URLs with a line like this: -# -# zig fetch -# -# Periodically old URLs may need to be cleaned out. -# -# Hopefully when the Zig issue is fixed this script can be eliminated in favor -# of a plain `zig build --fetch`. - -if [ -z ${ZIG_GLOBAL_CACHE_DIR+x} ] -then - echo "must set ZIG_GLOBAL_CACHE_DIR!" - exit 1 -fi - -zig build --fetch -zig fetch git+https://github.com/zigimg/zigimg#3a667bdb3d7f0955a5a51c8468eac83210c1439e -zig fetch git+https://github.com/mitchellh/libxev#f6a672a78436d8efee1aa847a43a900ad773618b diff --git a/nix/devShell.nix b/nix/devShell.nix index 9779dc4c6..3014b34b7 100644 --- a/nix/devShell.nix +++ b/nix/devShell.nix @@ -55,6 +55,8 @@ wayland, wayland-scanner, wayland-protocols, + zig2nix, + system, }: let # See package.nix. Keep in sync. rpathLibs = @@ -102,6 +104,7 @@ in scdoc zig zip + zig2nix.packages.${system}.zon2nix # For web and wasm stuff nodejs diff --git a/nix/package.nix b/nix/package.nix index 55d00b76c..892d5e956 100644 --- a/nix/package.nix +++ b/nix/package.nix @@ -2,6 +2,7 @@ lib, stdenv, bzip2, + callPackage, expat, fontconfig, freetype, @@ -43,80 +44,34 @@ zig_hook = zig_0_13.hook.overrideAttrs { zig_default_flags = "-Dcpu=baseline -Doptimize=${optimize} --color off"; }; - - # We limit source like this to try and reduce the amount of rebuilds as possible - # thus we only provide the source that is needed for the build - # - # NOTE: as of the current moment only linux files are provided, - # since darwin support is not finished - src = lib.fileset.toSource { - root = ../.; - fileset = lib.fileset.intersection (lib.fileset.fromSource (lib.sources.cleanSource ../.)) ( - lib.fileset.unions [ - ../dist/linux - ../images - ../include - ../pkg - ../src - ../vendor - ../build.zig - ../build.zig.zon - ./build-support/fetch-zig-cache.sh - ] - ); - }; - - # This hash is the computation of the zigCache fixed-output derivation. This - # allows us to use remote package dependencies without breaking the sandbox. - # - # This will need updating whenever dependencies get updated (e.g. changes are - # made to zig.build.zon). If you see that the main build is trying to reach - # out to the internet and failing, this is likely the cause. Change this - # value back to lib.fakeHash, and re-run. The build failure should emit the - # updated hash, which of course, should be validated before updating here. - # - # (It's also possible that you might see a hash mismatch - without the - # network errors - if you don't have a previous instance of the cache - # derivation in your store already. If so, just update the value as above.) - zigCacheHash = import ./zigCacheHash.nix; - - zigCache = stdenv.mkDerivation { - inherit src; - name = "ghostty-cache"; - nativeBuildInputs = [ - git - zig_hook - ]; - - dontConfigure = true; - dontUseZigBuild = true; - dontUseZigInstall = true; - dontFixup = true; - - buildPhase = '' - runHook preBuild - - sh ./nix/build-support/fetch-zig-cache.sh - - runHook postBuild - ''; - - installPhase = '' - runHook preInstall - - cp -r --reflink=auto $ZIG_GLOBAL_CACHE_DIR $out - - runHook postInstall - ''; - - outputHashMode = "recursive"; - outputHash = zigCacheHash; - }; in stdenv.mkDerivation (finalAttrs: { pname = "ghostty"; version = "1.1.1"; - inherit src; + + # We limit source like this to try and reduce the amount of rebuilds as possible + # thus we only provide the source that is needed for the build + # + # NOTE: as of the current moment only linux files are provided, + # since darwin support is not finished + src = lib.fileset.toSource { + root = ../.; + fileset = lib.fileset.intersection (lib.fileset.fromSource (lib.sources.cleanSource ../.)) ( + lib.fileset.unions [ + ../dist/linux + ../images + ../include + ../pkg + ../src + ../vendor + ../build.zig + ../build.zig.zon + ../build.zig.zon.nix + ] + ); + }; + + deps = callPackage ../build.zig.zon.nix {name = "ghostty-cache-${finalAttrs.version}";}; nativeBuildInputs = [ @@ -166,7 +121,7 @@ in zigBuildFlags = [ "--system" - "${zigCache}/p" + "${finalAttrs.deps}" "-Dversion-string=${finalAttrs.version}-${revision}-nix" "-Dgtk-x11=${lib.boolToString enableX11}" "-Dgtk-wayland=${lib.boolToString enableWayland}" diff --git a/nix/zigCacheHash.nix b/nix/zigCacheHash.nix deleted file mode 100644 index 78e2d509d..000000000 --- a/nix/zigCacheHash.nix +++ /dev/null @@ -1,3 +0,0 @@ -# This file is auto-generated! check build-support/check-zig-cache-hash.sh for -# more details. -"sha256-+Ag900R3lDV7iEeRFGe2HWJDtquW3I9GFvHGle+U3k0=" From f986a321853cbf1d7191b08fd88959e7b67ecafe Mon Sep 17 00:00:00 2001 From: Mitchell Hashimoto Date: Tue, 11 Feb 2025 10:59:31 -0800 Subject: [PATCH 228/365] macos: toggle_visibility fullscreen check requires active app This fixes a regression from #5472. The fullscreen check must check if the app is active otherwise the guard statement fails and we can't bring the macOS app back from the background. --- macos/Sources/App/macOS/AppDelegate.swift | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/macos/Sources/App/macOS/AppDelegate.swift b/macos/Sources/App/macOS/AppDelegate.swift index c719d3ce7..c6d723a5f 100644 --- a/macos/Sources/App/macOS/AppDelegate.swift +++ b/macos/Sources/App/macOS/AppDelegate.swift @@ -709,13 +709,13 @@ class AppDelegate: NSObject, /// Toggles visibility of all Ghosty Terminal windows. When hidden, activates Ghostty as the frontmost application @IBAction func toggleVisibility(_ sender: Any) { - // Toggle visibility doesn't do anything if the focused window is native - // fullscreen. - guard let keyWindow = NSApp.keyWindow, - !keyWindow.styleMask.contains(.fullScreen) else { return } - // If we have focus, then we hide all windows. if NSApp.isActive { + // Toggle visibility doesn't do anything if the focused window is native + // fullscreen. This is only relevant if Ghostty is active. + guard let keyWindow = NSApp.keyWindow, + !keyWindow.styleMask.contains(.fullScreen) else { return } + // We need to keep track of the windows that were visible because we only // want to bring back these windows if we remove the toggle. // From c6da845f33e54d6bcae2eb5491337b06e8e10982 Mon Sep 17 00:00:00 2001 From: Mitchell Hashimoto Date: Tue, 11 Feb 2025 11:11:41 -0800 Subject: [PATCH 229/365] macos: ensure previously key window regains key on toggle_visibility Fixes #5690 When we hide the app and then show it again, the previously key window is lost. This is because we are not using unhide and are manually doing it (and we're not using unhide for good reasons commented in the source already). Modify our hidden state to include what the key window was (as a weak ref) and restore it when we show the app again. --- macos/Sources/App/macOS/AppDelegate.swift | 49 +++++++++++++++++------ 1 file changed, 36 insertions(+), 13 deletions(-) diff --git a/macos/Sources/App/macOS/AppDelegate.swift b/macos/Sources/App/macOS/AppDelegate.swift index c6d723a5f..9d300e91f 100644 --- a/macos/Sources/App/macOS/AppDelegate.swift +++ b/macos/Sources/App/macOS/AppDelegate.swift @@ -93,7 +93,7 @@ class AppDelegate: NSObject, } /// Tracks the windows that we hid for toggleVisibility. - private var hiddenWindows: [Weak] = [] + private var hiddenState: ToggleVisibilityState? = nil /// The observer for the app appearance. private var appearanceObserver: NSKeyValueObservation? = nil @@ -217,8 +217,8 @@ class AppDelegate: NSObject, } func applicationDidBecomeActive(_ notification: Notification) { - // If we're back then clear the hidden windows - self.hiddenWindows = [] + // If we're back manually then clear the hidden state because macOS handles it. + self.hiddenState = nil // First launch stuff if (!applicationHasBecomeActive) { @@ -716,14 +716,8 @@ class AppDelegate: NSObject, guard let keyWindow = NSApp.keyWindow, !keyWindow.styleMask.contains(.fullScreen) else { return } - // We need to keep track of the windows that were visible because we only - // want to bring back these windows if we remove the toggle. - // - // We also ignore fullscreen windows because they don't hide anyways. - self.hiddenWindows = NSApp.windows.filter { - $0.isVisible && - !$0.styleMask.contains(.fullScreen) - }.map { Weak($0) } + // Keep track of our hidden state to restore properly + self.hiddenState = .init() NSApp.hide(nil) return } @@ -734,8 +728,8 @@ class AppDelegate: NSObject, // Bring all windows to the front. Note: we don't use NSApp.unhide because // that will unhide ALL hidden windows. We want to only bring forward the // ones that we hid. - self.hiddenWindows.forEach { $0.value?.orderFrontRegardless() } - self.hiddenWindows = [] + hiddenState?.restore() + hiddenState = nil } private struct DerivedConfig { @@ -755,4 +749,33 @@ class AppDelegate: NSObject, self.quickTerminalPosition = config.quickTerminalPosition } } + + private struct ToggleVisibilityState { + let hiddenWindows: [Weak] + let keyWindow: Weak? + + init() { + // We need to know the key window so that we can bring focus back to the + // right window if it was hidden. + self.keyWindow = if let keyWindow = NSApp.keyWindow { + .init(keyWindow) + } else { + nil + } + + // We need to keep track of the windows that were visible because we only + // want to bring back these windows if we remove the toggle. + // + // We also ignore fullscreen windows because they don't hide anyways. + self.hiddenWindows = NSApp.windows.filter { + $0.isVisible && + !$0.styleMask.contains(.fullScreen) + }.map { Weak($0) } + } + + func restore() { + hiddenWindows.forEach { $0.value?.orderFrontRegardless() } + keyWindow?.value?.makeKey() + } + } } From b624cfe262c817591e7a7e054b66327b80fe4bd0 Mon Sep 17 00:00:00 2001 From: Qwerasd Date: Tue, 11 Feb 2025 14:20:47 -0500 Subject: [PATCH 230/365] fix(terminal): avoid Screen.reset causing use of undefined Fully reset the kitty image storage instead of using the delete handler, previously this caused a memory corruption / likely segfault due to use of undefined, since the delete handler tries to clear the tracked pins for placements, which it gets from the terminal, for which `undefined` was passed in before. --- src/terminal/Screen.zig | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/src/terminal/Screen.zig b/src/terminal/Screen.zig index 98894a83d..339599728 100644 --- a/src/terminal/Screen.zig +++ b/src/terminal/Screen.zig @@ -278,12 +278,9 @@ pub fn reset(self: *Screen) void { .page_cell = cursor_rac.cell, }; - // Clear kitty graphics - self.kitty_images.delete( - self.alloc, - undefined, // All image deletion doesn't need the terminal - .{ .all = true }, - ); + // Reset kitty graphics storage + self.kitty_images.deinit(self.alloc, self); + self.kitty_images = .{ .dirty = true }; // Reset our basic state self.saved_cursor = null; From 31273aaabc34179d236b79f58db56e46e1aa1db9 Mon Sep 17 00:00:00 2001 From: Bryan Lee <38807139+liby@users.noreply.github.com> Date: Mon, 3 Feb 2025 01:49:00 +0800 Subject: [PATCH 231/365] Remember last focused window position for next startup --- macos/Ghostty.xcodeproj/project.pbxproj | 4 +++ .../Terminal/TerminalController.swift | 21 ++++++++++-- .../Sources/Helpers/LastWindowPosition.swift | 34 +++++++++++++++++++ 3 files changed, 57 insertions(+), 2 deletions(-) create mode 100644 macos/Sources/Helpers/LastWindowPosition.swift diff --git a/macos/Ghostty.xcodeproj/project.pbxproj b/macos/Ghostty.xcodeproj/project.pbxproj index 02c8258cb..0c68da534 100644 --- a/macos/Ghostty.xcodeproj/project.pbxproj +++ b/macos/Ghostty.xcodeproj/project.pbxproj @@ -72,6 +72,7 @@ A5A2A3CA2D4445E30033CF96 /* Dock.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5A2A3C92D4445E20033CF96 /* Dock.swift */; }; A5A2A3CC2D444ABB0033CF96 /* NSApplication+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5A2A3CB2D444AB80033CF96 /* NSApplication+Extension.swift */; }; A5A6F72A2CC41B8900B232A5 /* Xcode.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5A6F7292CC41B8700B232A5 /* Xcode.swift */; }; + A5AEB1652D5BE7D000513529 /* LastWindowPosition.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5AEB1642D5BE7BF00513529 /* LastWindowPosition.swift */; }; A5B30539299BEAAB0047F10C /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = A5B30538299BEAAB0047F10C /* Assets.xcassets */; }; A5CA378C2D2A4DEB00931030 /* KeyboardLayout.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5CA378B2D2A4DE800931030 /* KeyboardLayout.swift */; }; A5CA378E2D31D6C300931030 /* Weak.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5CA378D2D31D6C100931030 /* Weak.swift */; }; @@ -168,6 +169,7 @@ A5A2A3C92D4445E20033CF96 /* Dock.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Dock.swift; sourceTree = ""; }; A5A2A3CB2D444AB80033CF96 /* NSApplication+Extension.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "NSApplication+Extension.swift"; sourceTree = ""; }; A5A6F7292CC41B8700B232A5 /* Xcode.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Xcode.swift; sourceTree = ""; }; + A5AEB1642D5BE7BF00513529 /* LastWindowPosition.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LastWindowPosition.swift; sourceTree = ""; }; A5B30531299BEAAA0047F10C /* Ghostty.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Ghostty.app; sourceTree = BUILT_PRODUCTS_DIR; }; A5B30538299BEAAB0047F10C /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; A5B3053D299BEAAB0047F10C /* Ghostty.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = Ghostty.entitlements; sourceTree = ""; }; @@ -270,6 +272,7 @@ A534263D2A7DCBB000EBB7A2 /* Helpers */ = { isa = PBXGroup; children = ( + A5AEB1642D5BE7BF00513529 /* LastWindowPosition.swift */, A5A6F7292CC41B8700B232A5 /* Xcode.swift */, A5CEAFFE29C2410700646FDA /* Backport.swift */, A5333E1B2B5A1CE3008AEFF7 /* CrossKit.swift */, @@ -623,6 +626,7 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + A5AEB1652D5BE7D000513529 /* LastWindowPosition.swift in Sources */, A59630A42AF059BB00D64628 /* Ghostty.SplitNode.swift in Sources */, A514C8D62B54A16400493A16 /* Ghostty.Config.swift in Sources */, A54B0CEB2D0CFB4C00CBEFF8 /* NSImage+Extension.swift in Sources */, diff --git a/macos/Sources/Features/Terminal/TerminalController.swift b/macos/Sources/Features/Terminal/TerminalController.swift index f24261b9b..8507cf620 100644 --- a/macos/Sources/Features/Terminal/TerminalController.swift +++ b/macos/Sources/Features/Terminal/TerminalController.swift @@ -283,9 +283,12 @@ class TerminalController: BaseTerminalController { private func setInitialWindowPosition(x: Int16?, y: Int16?, windowDecorations: Bool) { guard let window else { return } - // If we don't have both an X and Y we center. + // If we don't have an X/Y then we try to use the previously saved window pos. guard let x, let y else { - window.center() + if (!LastWindowPosition.shared.restore(window)) { + window.center() + } + return } @@ -490,6 +493,20 @@ class TerminalController: BaseTerminalController { override func windowDidMove(_ notification: Notification) { super.windowDidMove(notification) self.fixTabBar() + + // Whenever we move save our last position for the next start. + if let window { + LastWindowPosition.shared.save(window) + } + } + + func windowDidBecomeMain(_ notification: Notification) { + // Whenever we get focused, use that as our last window position for + // restart. This differs from Terminal.app but matches iTerm2 behavior + // and I think its sensible. + if let window { + LastWindowPosition.shared.save(window) + } } // Called when the window will be encoded. We handle the data encoding here in the diff --git a/macos/Sources/Helpers/LastWindowPosition.swift b/macos/Sources/Helpers/LastWindowPosition.swift new file mode 100644 index 000000000..a0dfa90dd --- /dev/null +++ b/macos/Sources/Helpers/LastWindowPosition.swift @@ -0,0 +1,34 @@ +import Cocoa + +/// Manages the persistence and restoration of window positions across app launches. +class LastWindowPosition { + static let shared = LastWindowPosition() + + private let positionKey = "NSWindowLastPosition" + + func save(_ window: NSWindow) { + let origin = window.frame.origin + let point = [origin.x, origin.y] + UserDefaults.standard.set(point, forKey: positionKey) + } + + func restore(_ window: NSWindow) -> Bool { + guard let points = UserDefaults.standard.array(forKey: positionKey) as? [Double], + points.count == 2 else { return false } + + let lastPosition = CGPoint(x: points[0], y: points[1]) + + guard let screen = window.screen ?? NSScreen.main else { return false } + let visibleFrame = screen.visibleFrame + + var newFrame = window.frame + newFrame.origin = lastPosition + if !visibleFrame.contains(newFrame.origin) { + newFrame.origin.x = max(visibleFrame.minX, min(visibleFrame.maxX - newFrame.width, newFrame.origin.x)) + newFrame.origin.y = max(visibleFrame.minY, min(visibleFrame.maxY - newFrame.height, newFrame.origin.y)) + } + + window.setFrame(newFrame, display: true) + return true + } +} From c627231b0f3911b0d47297027980d9187dd639de Mon Sep 17 00:00:00 2001 From: Bryan Lee <38807139+liby@users.noreply.github.com> Date: Sun, 9 Feb 2025 20:27:49 +0800 Subject: [PATCH 232/365] Fix confirm-close-surface not working for hidden quick terminal --- macos/Sources/App/macOS/AppDelegate.swift | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/macos/Sources/App/macOS/AppDelegate.swift b/macos/Sources/App/macOS/AppDelegate.swift index 9d300e91f..ccd890951 100644 --- a/macos/Sources/App/macOS/AppDelegate.swift +++ b/macos/Sources/App/macOS/AppDelegate.swift @@ -245,7 +245,13 @@ class AppDelegate: NSObject, // This probably isn't fully safe. The isEmpty check above is aspirational, it doesn't // quite work with SwiftUI because windows are retained on close. So instead we check // if there are any that are visible. I'm guessing this breaks under certain scenarios. - if (windows.allSatisfy { !$0.isVisible }) { return .terminateNow } + // + // NOTE(mitchellh): I don't think we need this check at all anymore. I'm keeping it + // here because I don't want to remove it in a patch release cycle but we should + // target removing it soon. + if (self.quickController == nil && windows.allSatisfy { !$0.isVisible }) { + return .terminateNow + } // If the user is shutting down, restarting, or logging out, we don't confirm quit. why: if let event = NSAppleEventManager.shared().currentAppleEvent { @@ -431,7 +437,7 @@ class AppDelegate: NSObject, // If we have a main window then we don't process any of the keys // because we let it capture and propagate. guard NSApp.mainWindow == nil else { return event } - + // If this event as-is would result in a key binding then we send it. if let app = ghostty.app, ghostty_app_key_is_binding( @@ -447,26 +453,26 @@ class AppDelegate: NSObject, return nil } } - + // If this event would be handled by our menu then we do nothing. if let mainMenu = NSApp.mainMenu, mainMenu.performKeyEquivalent(with: event) { return nil } - + // If we reach this point then we try to process the key event // through the Ghostty key mechanism. - + // Ghostty must be loaded guard let ghostty = self.ghostty.app else { return event } - + // Build our event input and call ghostty if (ghostty_app_key(ghostty, event.ghosttyKeyEvent(GHOSTTY_ACTION_PRESS))) { // The key was used so we want to stop it from going to our Mac app Ghostty.logger.debug("local key event handled event=\(event)") return nil } - + return event } From f8b547f92e4d4da665b2c2f5757b39e53c60e042 Mon Sep 17 00:00:00 2001 From: Mitchell Hashimoto Date: Tue, 11 Feb 2025 12:55:30 -0800 Subject: [PATCH 233/365] Revert "Fixed documentation generation in `list-actions --docs` command (#4974)" This reverts commit f3d0c7c2ad01968de5191ccfae09a25e5c760760, reversing changes made to 4b77a1c71e7994f6c040c4bee8a9e0b3d77b6286. --- src/build/webgen/main_actions.zig | 54 ++++++++++++++- src/cli/list_actions.zig | 16 ++++- src/input/Binding.zig | 6 +- src/input/helpgen_actions.zig | 107 ------------------------------ 4 files changed, 69 insertions(+), 114 deletions(-) delete mode 100644 src/input/helpgen_actions.zig diff --git a/src/build/webgen/main_actions.zig b/src/build/webgen/main_actions.zig index 65420d7e2..f4dffbc13 100644 --- a/src/build/webgen/main_actions.zig +++ b/src/build/webgen/main_actions.zig @@ -1,8 +1,58 @@ const std = @import("std"); const help_strings = @import("help_strings"); -const helpgen_actions = @import("../../helpgen_actions.zig"); +const KeybindAction = @import("../../input/Binding.zig").Action; pub fn main() !void { const output = std.io.getStdOut().writer(); - try helpgen_actions.generate(output, .markdown, std.heap.page_allocator); + try genKeybindActions(output); +} + +pub fn genKeybindActions(writer: anytype) !void { + // Write the header + try writer.writeAll( + \\--- + \\title: Keybinding Action Reference + \\description: Reference of all Ghostty keybinding actions. + \\editOnGithubLink: https://github.com/ghostty-org/ghostty/edit/main/src/input/Binding.zig + \\--- + \\ + \\This is a reference of all Ghostty keybinding actions. + \\ + \\ + ); + + @setEvalBranchQuota(5_000); + + var buffer = std.ArrayList(u8).init(std.heap.page_allocator); + defer buffer.deinit(); + + const fields = @typeInfo(KeybindAction).Union.fields; + inline for (fields) |field| { + if (field.name[0] == '_') continue; + + // Write previously stored doc comment below all related actions + if (@hasDecl(help_strings.KeybindAction, field.name)) { + try writer.writeAll(buffer.items); + try writer.writeAll("\n"); + + buffer.clearRetainingCapacity(); + } + + // Write the field name. + try writer.writeAll("## `"); + try writer.writeAll(field.name); + try writer.writeAll("`\n"); + + if (@hasDecl(help_strings.KeybindAction, field.name)) { + var iter = std.mem.splitScalar( + u8, + @field(help_strings.KeybindAction, field.name), + '\n', + ); + while (iter.next()) |s| { + try buffer.appendSlice(s); + try buffer.appendSlice("\n"); + } + } + } } diff --git a/src/cli/list_actions.zig b/src/cli/list_actions.zig index 429480277..6f67a92d2 100644 --- a/src/cli/list_actions.zig +++ b/src/cli/list_actions.zig @@ -2,7 +2,7 @@ const std = @import("std"); const args = @import("args.zig"); const Action = @import("action.zig").Action; const Allocator = std.mem.Allocator; -const helpgen_actions = @import("../helpgen_actions.zig"); +const help_strings = @import("help_strings"); pub const Options = struct { /// If `true`, print out documentation about the action associated with the @@ -38,7 +38,19 @@ pub fn run(alloc: Allocator) !u8 { } const stdout = std.io.getStdOut().writer(); - try helpgen_actions.generate(stdout, .plaintext, std.heap.page_allocator); + const info = @typeInfo(help_strings.KeybindAction); + inline for (info.Struct.decls) |field| { + try stdout.print("{s}", .{field.name}); + if (opts.docs) { + try stdout.print(":\n", .{}); + var iter = std.mem.splitScalar(u8, std.mem.trimRight(u8, @field(help_strings.KeybindAction, field.name), &std.ascii.whitespace), '\n'); + while (iter.next()) |line| { + try stdout.print(" {s}\n", .{line}); + } + } else { + try stdout.print("\n", .{}); + } + } return 0; } diff --git a/src/input/Binding.zig b/src/input/Binding.zig index bef2ef613..90ea436af 100644 --- a/src/input/Binding.zig +++ b/src/input/Binding.zig @@ -236,9 +236,9 @@ pub const Action = union(enum) { /// Send an `ESC` sequence. esc: []const u8, - /// Send the given text. Uses Zig string literal syntax. This is currently - /// not validated. If the text is invalid (i.e. contains an invalid escape - /// sequence), the error will currently only show up in logs. + // Send the given text. Uses Zig string literal syntax. This is currently + // not validated. If the text is invalid (i.e. contains an invalid escape + // sequence), the error will currently only show up in logs. text: []const u8, /// Send data to the pty depending on whether cursor key mode is enabled diff --git a/src/input/helpgen_actions.zig b/src/input/helpgen_actions.zig deleted file mode 100644 index 9a7612b57..000000000 --- a/src/input/helpgen_actions.zig +++ /dev/null @@ -1,107 +0,0 @@ -//! This module is a help generator for keybind actions documentation. -//! It can generate documentation in different formats (plaintext for CLI, -//! markdown for website) while maintaining consistent content. - -const std = @import("std"); -const KeybindAction = @import("Binding.zig").Action; -const help_strings = @import("help_strings"); - -/// Format options for generating keybind actions documentation -pub const Format = enum { - /// Plain text output with indentation - plaintext, - /// Markdown formatted output - markdown, - - fn formatFieldName(self: Format, writer: anytype, field_name: []const u8) !void { - switch (self) { - .plaintext => { - try writer.writeAll(field_name); - try writer.writeAll(":\n"); - }, - .markdown => { - try writer.writeAll("## `"); - try writer.writeAll(field_name); - try writer.writeAll("`\n"); - }, - } - } - - fn formatDocLine(self: Format, writer: anytype, line: []const u8) !void { - switch (self) { - .plaintext => { - try writer.appendSlice(" "); - try writer.appendSlice(line); - try writer.appendSlice("\n"); - }, - .markdown => { - try writer.appendSlice(line); - try writer.appendSlice("\n"); - }, - } - } - - fn header(self: Format) ?[]const u8 { - return switch (self) { - .plaintext => null, - .markdown => - \\--- - \\title: Keybinding Action Reference - \\description: Reference of all Ghostty keybinding actions. - \\editOnGithubLink: https://github.com/ghostty-org/ghostty/edit/main/src/input/Binding.zig - \\--- - \\ - \\This is a reference of all Ghostty keybinding actions. - \\ - \\ - , - }; - } -}; - -/// Generate keybind actions documentation with the specified format -pub fn generate( - writer: anytype, - format: Format, - page_allocator: std.mem.Allocator, -) !void { - if (format.header()) |header| { - try writer.writeAll(header); - } - - var buffer = std.ArrayList(u8).init(page_allocator); - defer buffer.deinit(); - - const fields = @typeInfo(KeybindAction).Union.fields; - inline for (fields) |field| { - if (field.name[0] == '_') continue; - - // Write previously stored doc comment below all related actions - if (@hasDecl(help_strings.KeybindAction, field.name)) { - try writer.writeAll(buffer.items); - try writer.writeAll("\n"); - - buffer.clearRetainingCapacity(); - } - - try format.formatFieldName(writer, field.name); - - if (@hasDecl(help_strings.KeybindAction, field.name)) { - var iter = std.mem.splitScalar( - u8, - @field(help_strings.KeybindAction, field.name), - '\n', - ); - while (iter.next()) |s| { - // If it is the last line and empty, then skip it. - if (iter.peek() == null and s.len == 0) continue; - try format.formatDocLine(&buffer, s); - } - } - } - - // Write any remaining buffered documentation - if (buffer.items.len > 0) { - try writer.writeAll(buffer.items); - } -} From 56ea6c406c155a48947274cd871ae274e654c957 Mon Sep 17 00:00:00 2001 From: Leah Amelia Chen Date: Sun, 9 Feb 2025 19:52:09 +0100 Subject: [PATCH 234/365] gtk(x11): set `WINDOWID` env var for subprocesses `WINDOWID` is the conventional environment variable for scripts that want to know the X11 window ID of the terminal, so that it may call tools like `xprop` or `xdotool`. We already know the window ID for window protocol handling, so we might as well throw this in for convenience. --- src/Surface.zig | 8 ++++++ src/apprt/embedded.zig | 25 ++++++++++++++++++ src/apprt/glfw.zig | 5 ++++ src/apprt/gtk/Surface.zig | 19 ++++++++++++++ src/apprt/gtk/winproto.zig | 6 +++++ src/apprt/gtk/winproto/noop.zig | 2 ++ src/apprt/gtk/winproto/wayland.zig | 5 ++++ src/apprt/gtk/winproto/x11.zig | 7 +++++ src/os/env.zig | 9 +++++++ src/os/main.zig | 1 + src/termio/Exec.zig | 42 ++++-------------------------- 11 files changed, 92 insertions(+), 37 deletions(-) diff --git a/src/Surface.zig b/src/Surface.zig index d9a985aa7..e7e8e20af 100644 --- a/src/Surface.zig +++ b/src/Surface.zig @@ -519,9 +519,17 @@ pub fn init( // This separate block ({}) is important because our errdefers must // be scoped here to be valid. { + var env_ = rt_surface.defaultTermioEnv() catch |err| env: { + // If an error occurs, we don't want to block surface startup. + log.warn("error getting env map for surface err={}", .{err}); + break :env null; + }; + errdefer if (env_) |*env| env.deinit(); + // Initialize our IO backend var io_exec = try termio.Exec.init(alloc, .{ .command = command, + .env = env_, .shell_integration = config.@"shell-integration", .shell_integration_features = config.@"shell-integration-features", .working_directory = config.@"working-directory", diff --git a/src/apprt/embedded.zig b/src/apprt/embedded.zig index 358e9f291..864e00205 100644 --- a/src/apprt/embedded.zig +++ b/src/apprt/embedded.zig @@ -12,6 +12,7 @@ const objc = @import("objc"); const apprt = @import("../apprt.zig"); const font = @import("../font/main.zig"); const input = @import("../input.zig"); +const internal_os = @import("../os/main.zig"); const renderer = @import("../renderer.zig"); const terminal = @import("../terminal/main.zig"); const CoreApp = @import("../App.zig"); @@ -1026,6 +1027,30 @@ pub const Surface = struct { }; } + pub fn defaultTermioEnv(self: *const Surface) !?std.process.EnvMap { + const alloc = self.app.core_app.alloc; + var env = try internal_os.getEnvMap(alloc); + errdefer env.deinit(); + + if (comptime builtin.target.isDarwin()) { + if (env.get("__XCODE_BUILT_PRODUCTS_DIR_PATHS") != null) { + env.remove("__XCODE_BUILT_PRODUCTS_DIR_PATHS"); + env.remove("__XPC_DYLD_LIBRARY_PATH"); + env.remove("DYLD_FRAMEWORK_PATH"); + env.remove("DYLD_INSERT_LIBRARIES"); + env.remove("DYLD_LIBRARY_PATH"); + env.remove("LD_LIBRARY_PATH"); + env.remove("SECURITYSESSIONID"); + env.remove("XPC_SERVICE_NAME"); + } + + // Remove this so that running `ghostty` within Ghostty works. + env.remove("GHOSTTY_MAC_APP"); + } + + return env; + } + /// The cursor position from the host directly is in screen coordinates but /// all our interface works in pixels. fn cursorPosToPixels(self: *const Surface, pos: apprt.CursorPos) !apprt.CursorPos { diff --git a/src/apprt/glfw.zig b/src/apprt/glfw.zig index 686a70ddb..729decc0f 100644 --- a/src/apprt/glfw.zig +++ b/src/apprt/glfw.zig @@ -874,6 +874,11 @@ pub const Surface = struct { }; } + pub fn defaultTermioEnv(self: *Surface) !?std.process.EnvMap { + _ = self; + return null; + } + fn sizeCallback(window: glfw.Window, width: i32, height: i32) void { _ = width; _ = height; diff --git a/src/apprt/gtk/Surface.zig b/src/apprt/gtk/Surface.zig index b34ca9aa3..b9f8949fb 100644 --- a/src/apprt/gtk/Surface.zig +++ b/src/apprt/gtk/Surface.zig @@ -2252,6 +2252,25 @@ fn doPaste(self: *Surface, data: [:0]const u8) void { }; } +pub fn defaultTermioEnv(self: *Surface) !?std.process.EnvMap { + const alloc = self.app.core_app.alloc; + var env = try internal_os.getEnvMap(alloc); + errdefer env.deinit(); + + // Don't leak these GTK environment variables to child processes. + env.remove("GDK_DEBUG"); + env.remove("GDK_DISABLE"); + env.remove("GSK_RENDERER"); + + if (self.container.window()) |window| { + // On some window protocols we might want to add specific + // environment variables to subprocesses, such as WINDOWID on X11. + try window.winproto.addSubprocessEnv(&env); + } + + return env; +} + /// Check a GValue to see what's type its wrapping. This is equivalent to GTK's /// `G_VALUE_HOLDS` macro but Zig's C translator does not like it. fn g_value_holds(value_: ?*c.GValue, g_type: c.GType) bool { diff --git a/src/apprt/gtk/winproto.zig b/src/apprt/gtk/winproto.zig index e6020f49e..c752ee692 100644 --- a/src/apprt/gtk/winproto.zig +++ b/src/apprt/gtk/winproto.zig @@ -131,4 +131,10 @@ pub const Window = union(Protocol) { inline else => |v| v.clientSideDecorationEnabled(), }; } + + pub fn addSubprocessEnv(self: *Window, env: *std.process.EnvMap) !void { + switch (self.*) { + inline else => |*v| try v.addSubprocessEnv(env), + } + } }; diff --git a/src/apprt/gtk/winproto/noop.zig b/src/apprt/gtk/winproto/noop.zig index 38703aecb..cb1c0e9eb 100644 --- a/src/apprt/gtk/winproto/noop.zig +++ b/src/apprt/gtk/winproto/noop.zig @@ -61,4 +61,6 @@ pub const Window = struct { _ = self; return true; } + + pub fn addSubprocessEnv(_: *Window, _: *std.process.EnvMap) !void {} }; diff --git a/src/apprt/gtk/winproto/wayland.zig b/src/apprt/gtk/winproto/wayland.zig index 3e239eb29..f2ef17d73 100644 --- a/src/apprt/gtk/winproto/wayland.zig +++ b/src/apprt/gtk/winproto/wayland.zig @@ -262,6 +262,11 @@ pub const Window = struct { }; } + pub fn addSubprocessEnv(self: *Window, env: *std.process.EnvMap) !void { + _ = self; + _ = env; + } + /// Update the blur state of the window. fn syncBlur(self: *Window) !void { const manager = self.app_context.kde_blur_manager orelse return; diff --git a/src/apprt/gtk/winproto/x11.zig b/src/apprt/gtk/winproto/x11.zig index c58df6dea..6b60b0edf 100644 --- a/src/apprt/gtk/winproto/x11.zig +++ b/src/apprt/gtk/winproto/x11.zig @@ -314,6 +314,13 @@ pub const Window = struct { ); } + pub fn addSubprocessEnv(self: *Window, env: *std.process.EnvMap) !void { + var buf: [64]u8 = undefined; + const window_id = try std.fmt.bufPrint(&buf, "{}", .{self.window}); + + try env.put("WINDOWID", window_id); + } + fn getWindowProperty( self: *Window, comptime T: type, diff --git a/src/os/env.zig b/src/os/env.zig index fe2be20de..1916053b3 100644 --- a/src/os/env.zig +++ b/src/os/env.zig @@ -2,9 +2,18 @@ const std = @import("std"); const builtin = @import("builtin"); const Allocator = std.mem.Allocator; const posix = std.posix; +const isFlatpak = @import("flatpak.zig").isFlatpak; pub const Error = Allocator.Error; +/// Get the environment map. +pub fn getEnvMap(alloc: Allocator) !std.process.EnvMap { + return if (isFlatpak()) + std.process.EnvMap.init(alloc) + else + try std.process.getEnvMap(alloc); +} + /// Append a value to an environment variable such as PATH. /// The returned value is always allocated so it must be freed. pub fn appendEnv( diff --git a/src/os/main.zig b/src/os/main.zig index df6f894f5..cb9355931 100644 --- a/src/os/main.zig +++ b/src/os/main.zig @@ -26,6 +26,7 @@ pub const shell = @import("shell.zig"); // Functions and types pub const CFReleaseThread = @import("cf_release_thread.zig"); pub const TempDir = @import("TempDir.zig"); +pub const getEnvMap = env.getEnvMap; pub const appendEnv = env.appendEnv; pub const appendEnvAlways = env.appendEnvAlways; pub const prependEnv = env.prependEnv; diff --git a/src/termio/Exec.zig b/src/termio/Exec.zig index 4428b16e1..d9730b970 100644 --- a/src/termio/Exec.zig +++ b/src/termio/Exec.zig @@ -682,6 +682,7 @@ pub const ThreadData = struct { pub const Config = struct { command: ?[]const u8 = null, + env: ?EnvMap = null, shell_integration: configpkg.Config.ShellIntegration = .detect, shell_integration_features: configpkg.Config.ShellIntegrationFeatures = .{}, working_directory: ?[]const u8 = null, @@ -721,18 +722,9 @@ const Subprocess = struct { errdefer arena.deinit(); const alloc = arena.allocator(); - // Set our env vars. For Flatpak builds running in Flatpak we don't - // inherit our environment because the login shell on the host side - // will get it. - var env = env: { - if (comptime build_config.flatpak) { - if (internal_os.isFlatpak()) { - break :env std.process.EnvMap.init(alloc); - } - } - - break :env try std.process.getEnvMap(alloc); - }; + // Get our env. If a default env isn't provided by the caller + // then we get it ourselves. + var env = cfg.env orelse try internal_os.getEnvMap(alloc); errdefer env.deinit(); // If we have a resources dir then set our env var @@ -847,35 +839,11 @@ const Subprocess = struct { try env.put("TERM_PROGRAM", "ghostty"); try env.put("TERM_PROGRAM_VERSION", build_config.version_string); - // When embedding in macOS and running via XCode, XCode injects - // a bunch of things that break our shell process. We remove those. - if (comptime builtin.target.isDarwin() and build_config.artifact == .lib) { - if (env.get("__XCODE_BUILT_PRODUCTS_DIR_PATHS") != null) { - env.remove("__XCODE_BUILT_PRODUCTS_DIR_PATHS"); - env.remove("__XPC_DYLD_LIBRARY_PATH"); - env.remove("DYLD_FRAMEWORK_PATH"); - env.remove("DYLD_INSERT_LIBRARIES"); - env.remove("DYLD_LIBRARY_PATH"); - env.remove("LD_LIBRARY_PATH"); - env.remove("SECURITYSESSIONID"); - env.remove("XPC_SERVICE_NAME"); - } - - // Remove this so that running `ghostty` within Ghostty works. - env.remove("GHOSTTY_MAC_APP"); - } - // VTE_VERSION is set by gnome-terminal and other VTE-based terminals. // We don't want our child processes to think we're running under VTE. + // This is not apprt-specific, so we do it here. env.remove("VTE_VERSION"); - // Don't leak these GTK environment variables to child processes. - if (comptime build_config.app_runtime == .gtk) { - env.remove("GDK_DEBUG"); - env.remove("GDK_DISABLE"); - env.remove("GSK_RENDERER"); - } - // Setup our shell integration, if we can. const integrated_shell: ?shell_integration.Shell, const shell_command: []const u8 = shell: { const default_shell_command = cfg.command orelse switch (builtin.os.tag) { From 1674224c1a195066e455b812a0b621b8b95d36fb Mon Sep 17 00:00:00 2001 From: Bryan Lee <38807139+liby@users.noreply.github.com> Date: Wed, 12 Feb 2025 06:29:40 +0800 Subject: [PATCH 235/365] Refactor keybinding actions reference generation --- src/build/webgen/main_actions.zig | 54 +------------- src/cli/list_actions.zig | 16 +---- src/input/Binding.zig | 6 +- src/input/helpgen_actions.zig | 113 ++++++++++++++++++++++++++++++ 4 files changed, 120 insertions(+), 69 deletions(-) create mode 100644 src/input/helpgen_actions.zig diff --git a/src/build/webgen/main_actions.zig b/src/build/webgen/main_actions.zig index f4dffbc13..5002a5bac 100644 --- a/src/build/webgen/main_actions.zig +++ b/src/build/webgen/main_actions.zig @@ -1,58 +1,8 @@ const std = @import("std"); const help_strings = @import("help_strings"); -const KeybindAction = @import("../../input/Binding.zig").Action; +const helpgen_actions = @import("../../input/helpgen_actions.zig"); pub fn main() !void { const output = std.io.getStdOut().writer(); - try genKeybindActions(output); -} - -pub fn genKeybindActions(writer: anytype) !void { - // Write the header - try writer.writeAll( - \\--- - \\title: Keybinding Action Reference - \\description: Reference of all Ghostty keybinding actions. - \\editOnGithubLink: https://github.com/ghostty-org/ghostty/edit/main/src/input/Binding.zig - \\--- - \\ - \\This is a reference of all Ghostty keybinding actions. - \\ - \\ - ); - - @setEvalBranchQuota(5_000); - - var buffer = std.ArrayList(u8).init(std.heap.page_allocator); - defer buffer.deinit(); - - const fields = @typeInfo(KeybindAction).Union.fields; - inline for (fields) |field| { - if (field.name[0] == '_') continue; - - // Write previously stored doc comment below all related actions - if (@hasDecl(help_strings.KeybindAction, field.name)) { - try writer.writeAll(buffer.items); - try writer.writeAll("\n"); - - buffer.clearRetainingCapacity(); - } - - // Write the field name. - try writer.writeAll("## `"); - try writer.writeAll(field.name); - try writer.writeAll("`\n"); - - if (@hasDecl(help_strings.KeybindAction, field.name)) { - var iter = std.mem.splitScalar( - u8, - @field(help_strings.KeybindAction, field.name), - '\n', - ); - while (iter.next()) |s| { - try buffer.appendSlice(s); - try buffer.appendSlice("\n"); - } - } - } + try helpgen_actions.generate(output, .markdown, true, std.heap.page_allocator); } diff --git a/src/cli/list_actions.zig b/src/cli/list_actions.zig index 6f67a92d2..1d17873cc 100644 --- a/src/cli/list_actions.zig +++ b/src/cli/list_actions.zig @@ -2,7 +2,7 @@ const std = @import("std"); const args = @import("args.zig"); const Action = @import("action.zig").Action; const Allocator = std.mem.Allocator; -const help_strings = @import("help_strings"); +const helpgen_actions = @import("../input/helpgen_actions.zig"); pub const Options = struct { /// If `true`, print out documentation about the action associated with the @@ -38,19 +38,7 @@ pub fn run(alloc: Allocator) !u8 { } const stdout = std.io.getStdOut().writer(); - const info = @typeInfo(help_strings.KeybindAction); - inline for (info.Struct.decls) |field| { - try stdout.print("{s}", .{field.name}); - if (opts.docs) { - try stdout.print(":\n", .{}); - var iter = std.mem.splitScalar(u8, std.mem.trimRight(u8, @field(help_strings.KeybindAction, field.name), &std.ascii.whitespace), '\n'); - while (iter.next()) |line| { - try stdout.print(" {s}\n", .{line}); - } - } else { - try stdout.print("\n", .{}); - } - } + try helpgen_actions.generate(stdout, .plaintext, opts.docs, std.heap.page_allocator); return 0; } diff --git a/src/input/Binding.zig b/src/input/Binding.zig index 90ea436af..bef2ef613 100644 --- a/src/input/Binding.zig +++ b/src/input/Binding.zig @@ -236,9 +236,9 @@ pub const Action = union(enum) { /// Send an `ESC` sequence. esc: []const u8, - // Send the given text. Uses Zig string literal syntax. This is currently - // not validated. If the text is invalid (i.e. contains an invalid escape - // sequence), the error will currently only show up in logs. + /// Send the given text. Uses Zig string literal syntax. This is currently + /// not validated. If the text is invalid (i.e. contains an invalid escape + /// sequence), the error will currently only show up in logs. text: []const u8, /// Send data to the pty depending on whether cursor key mode is enabled diff --git a/src/input/helpgen_actions.zig b/src/input/helpgen_actions.zig new file mode 100644 index 000000000..58305455b --- /dev/null +++ b/src/input/helpgen_actions.zig @@ -0,0 +1,113 @@ +//! This module is a help generator for keybind actions documentation. +//! It can generate documentation in different formats (plaintext for CLI, +//! markdown for website) while maintaining consistent content. + +const std = @import("std"); +const KeybindAction = @import("Binding.zig").Action; +const help_strings = @import("help_strings"); + +/// Format options for generating keybind actions documentation +pub const Format = enum { + /// Plain text output with indentation + plaintext, + /// Markdown formatted output + markdown, + + fn formatFieldName(self: Format, writer: anytype, field_name: []const u8) !void { + switch (self) { + .plaintext => { + try writer.writeAll(field_name); + try writer.writeAll(":\n"); + }, + .markdown => { + try writer.writeAll("## `"); + try writer.writeAll(field_name); + try writer.writeAll("`\n"); + }, + } + } + + fn formatDocLine(self: Format, writer: anytype, line: []const u8) !void { + switch (self) { + .plaintext => { + try writer.appendSlice(" "); + try writer.appendSlice(line); + try writer.appendSlice("\n"); + }, + .markdown => { + try writer.appendSlice(line); + try writer.appendSlice("\n"); + }, + } + } + + fn header(self: Format) ?[]const u8 { + return switch (self) { + .plaintext => null, + .markdown => + \\--- + \\title: Keybinding Action Reference + \\description: Reference of all Ghostty keybinding actions. + \\editOnGithubLink: https://github.com/ghostty-org/ghostty/edit/main/src/input/Binding.zig + \\--- + \\ + \\This is a reference of all Ghostty keybinding actions. + \\ + \\ + , + }; + } +}; + +/// Generate keybind actions documentation with the specified format +pub fn generate( + writer: anytype, + format: Format, + show_docs: bool, + page_allocator: std.mem.Allocator, +) !void { + if (format.header()) |header| { + try writer.writeAll(header); + } + + var buffer = std.ArrayList(u8).init(page_allocator); + defer buffer.deinit(); + + const fields = @typeInfo(KeybindAction).Union.fields; + inline for (fields) |field| { + if (field.name[0] == '_') continue; + + // Write previously stored doc comment below all related actions + if (show_docs and @hasDecl(help_strings.KeybindAction, field.name)) { + try writer.writeAll(buffer.items); + try writer.writeAll("\n"); + + buffer.clearRetainingCapacity(); + } + + if (show_docs) { + try format.formatFieldName(writer, field.name); + } else { + try writer.writeAll(field.name); + try writer.writeAll("\n"); + } + + if (show_docs and @hasDecl(help_strings.KeybindAction, field.name)) { + var iter = std.mem.splitScalar( + u8, + @field(help_strings.KeybindAction, field.name), + '\n', + ); + while (iter.next()) |s| { + // If it is the last line and empty, then skip it. + if (iter.peek() == null and s.len == 0) continue; + try format.formatDocLine(&buffer, s); + } + } + } + + // Write any remaining buffered documentation + if (buffer.items.len > 0) { + try writer.writeAll(buffer.items); + } +} From 58ab66f094b8ab2bd04d7a74cd90f7beb600764a Mon Sep 17 00:00:00 2001 From: Mitchell Hashimoto Date: Tue, 11 Feb 2025 14:06:03 -0800 Subject: [PATCH 236/365] macos: add a variety of artist-drawn alternate icons This is just a fun change to add a bunch of alternate icons. We don't want to add too many since this increases the final bundle size but we also want to have some fun. :) --- .../BlueprintImage.imageset/Contents.json | 12 +++++++++ .../macOS-AppIcon-1024px.png | Bin 0 -> 443891 bytes .../ChalkboardImage.imageset/Contents.json | 12 +++++++++ .../macOS-AppIcon-1024px.png | Bin 0 -> 590208 bytes .../Alternate Icons/Contents.json | 6 +++++ .../GlassImage.imageset/Contents.json | 12 +++++++++ .../macOS-AppIcon-1024px.png | Bin 0 -> 527199 bytes .../HolographicImage.imageset/Contents.json | 12 +++++++++ .../macOS-AppIcon-1024px.png | Bin 0 -> 602467 bytes .../MicrochipImage.imageset/Contents.json | 12 +++++++++ .../macOS-AppIcon-1024px.png | Bin 0 -> 645261 bytes .../PaperImage.imageset/Contents.json | 12 +++++++++ .../macOS-AppIcon-1024px.png | Bin 0 -> 342677 bytes .../RetroImage.imageset/Contents.json | 12 +++++++++ .../macOS-AppIcon-1024px.png | Bin 0 -> 1083552 bytes .../XrayImage.imageset/Contents.json | 12 +++++++++ .../macOS-AppIcon-1024px.png | Bin 0 -> 453961 bytes macos/Sources/App/macOS/AppDelegate.swift | 24 ++++++++++++++++++ macos/Sources/Ghostty/Package.swift | 8 ++++++ src/config/Config.zig | 11 ++++++++ 20 files changed, 145 insertions(+) create mode 100644 macos/Assets.xcassets/Alternate Icons/BlueprintImage.imageset/Contents.json create mode 100644 macos/Assets.xcassets/Alternate Icons/BlueprintImage.imageset/macOS-AppIcon-1024px.png create mode 100644 macos/Assets.xcassets/Alternate Icons/ChalkboardImage.imageset/Contents.json create mode 100644 macos/Assets.xcassets/Alternate Icons/ChalkboardImage.imageset/macOS-AppIcon-1024px.png create mode 100644 macos/Assets.xcassets/Alternate Icons/Contents.json create mode 100644 macos/Assets.xcassets/Alternate Icons/GlassImage.imageset/Contents.json create mode 100644 macos/Assets.xcassets/Alternate Icons/GlassImage.imageset/macOS-AppIcon-1024px.png create mode 100644 macos/Assets.xcassets/Alternate Icons/HolographicImage.imageset/Contents.json create mode 100644 macos/Assets.xcassets/Alternate Icons/HolographicImage.imageset/macOS-AppIcon-1024px.png create mode 100644 macos/Assets.xcassets/Alternate Icons/MicrochipImage.imageset/Contents.json create mode 100644 macos/Assets.xcassets/Alternate Icons/MicrochipImage.imageset/macOS-AppIcon-1024px.png create mode 100644 macos/Assets.xcassets/Alternate Icons/PaperImage.imageset/Contents.json create mode 100644 macos/Assets.xcassets/Alternate Icons/PaperImage.imageset/macOS-AppIcon-1024px.png create mode 100644 macos/Assets.xcassets/Alternate Icons/RetroImage.imageset/Contents.json create mode 100644 macos/Assets.xcassets/Alternate Icons/RetroImage.imageset/macOS-AppIcon-1024px.png create mode 100644 macos/Assets.xcassets/Alternate Icons/XrayImage.imageset/Contents.json create mode 100644 macos/Assets.xcassets/Alternate Icons/XrayImage.imageset/macOS-AppIcon-1024px.png diff --git a/macos/Assets.xcassets/Alternate Icons/BlueprintImage.imageset/Contents.json b/macos/Assets.xcassets/Alternate Icons/BlueprintImage.imageset/Contents.json new file mode 100644 index 000000000..1c1b9b47e --- /dev/null +++ b/macos/Assets.xcassets/Alternate Icons/BlueprintImage.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "macOS-AppIcon-1024px.png", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/macos/Assets.xcassets/Alternate Icons/BlueprintImage.imageset/macOS-AppIcon-1024px.png b/macos/Assets.xcassets/Alternate Icons/BlueprintImage.imageset/macOS-AppIcon-1024px.png new file mode 100644 index 0000000000000000000000000000000000000000..ffba7d94dc4024201b5f3ec72f37fecc80813e5e GIT binary patch literal 443891 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 X|qNPyQS;3#%X)!=;G-StY8`;;`K2)`1g4vi7 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 z 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⩔4 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 literal 0 HcmV?d00001 diff --git a/macos/Assets.xcassets/Alternate Icons/Contents.json b/macos/Assets.xcassets/Alternate Icons/Contents.json new file mode 100644 index 000000000..73c00596a --- /dev/null +++ b/macos/Assets.xcassets/Alternate Icons/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/macos/Assets.xcassets/Alternate Icons/GlassImage.imageset/Contents.json b/macos/Assets.xcassets/Alternate Icons/GlassImage.imageset/Contents.json new file mode 100644 index 000000000..1c1b9b47e --- /dev/null +++ b/macos/Assets.xcassets/Alternate Icons/GlassImage.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "macOS-AppIcon-1024px.png", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/macos/Assets.xcassets/Alternate Icons/GlassImage.imageset/macOS-AppIcon-1024px.png b/macos/Assets.xcassets/Alternate Icons/GlassImage.imageset/macOS-AppIcon-1024px.png new file mode 100644 index 0000000000000000000000000000000000000000..99d704e27b987de94624417c44708e6013bff8ec GIT binary patch literal 527199 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

    iX!-{NXglt3S`u}GW8e}GC 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 #)?c?2# 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

    RC@loEf`yO#_592J^w&7GDu~ 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 uKfGv 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 z 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%0D{`dLtVHeS|OF<-ttxun!vq;-_Fs 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

      td>1RJB(v#_MPWltME9$OVHNf-z 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

      -ZU%A52+_8dN9ghIcM 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%0A)k^e|! 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%0A~4)S{H?seE|{59xPhWf`YSzOb)|{-UBDk! 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

      y$vB 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�%of1Q1)zoB8Q)D~$=?uTF&T=qF8kWthm6{b}jZ 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ℑH_l1vfxY4A zX&-Jp`X5Z)Jp7i+?Ye;s!jS?^_+n$7VFth^wP&~O#(_HFTU`Axgk_WvhT%7+6^)sm{PeCs4BfP%f* zQ{oIPyF!O=_N4&xDKsb=fRR%k)dgRbQO>gG?)AOw)dQ0CJ@HU;XI$W! za$7;T0RTpb5Wv3GWK1}$>GeKga=U@L;TIqDERBJv#9{OgX+1Ij58?8)P`hHE>tV%pTMw{CFWj;eT*{g8b}P~gg+`o#hq>+fb42b#{4Jl})LH;uT{XURTi z&QF6<=*R`#U7RZIQG3~O7Jc2-ogXu(GtSIUzg2ek*b0}gP>sWXXll?XmS;J%&IxvW za=iG&ZzYBK!5!a)qTAfOu$RSwL)xcz@*2&{#M9AE5p{8CE_2CeoAnz4 z$Q(vn%&7DOOZhC9Hcvg!{qB)glSqu5b;ozX6tM>B1!}ES0lRNifsFN8w(PQ=3;_FZ z;}YP{E|v5}cPp>r*Wz7BR*Z%SEiAt(O!Tcr@y-Pakf{4ME-?}XrsyE4(sGcJ{t}+Y-PE1YbETfIwBC=&9v#1^Qcc#EiZ`A4Yr&75 z511uhovki%Jexc2HU0Qjt9P@({Zw;HQ0A3)a8#hj$Kaj!uc_{yRV&=6a35tdCgzP( zDmSg&B8iOkt@EwDl6FgLbphJ?Ca+wJh<#3&DMs?GY%{w&MCjZWo}GVX3&kdNeAr*hMv*&a%2IbbS(bt<9-+9KQHTU4UWh@Dsc>}km2;Wz(74XyuI z1C)#Ub?hbq7Fi8K%y%eQE0|48Ib(LeYno_*53&6J@TEPH|IZDul5E@}05Hk^lq_0K zn4*XzZ~)?PA2@3x7Bv99Oia_VBXgM0EdZ=OP=MuF;EKg$;o=}asQ+}pt*nhfK-*GY;ezDN?Ppm+9!7r_YcCF% zss}~#vfrMABAo^5R=;W)yIn#5VCzr0-6ECWa<|O5{PDdNsph`g%VgfNz^=F0_yf+? z*(fh{i^mci){4_Sju+>04l**{hMl+R*Sl$@3EdXe+R;OoompUaGwGJ8KRoe?LV%n- z_mnfoGP+MnH?sw$;B@`5C7i4;g;28ZNnBgk*q=S-2X5dLnthhn?nx(9(=#K^yLRJrarqpA8p-@?l{4=XFr;s z#YKH>{xC1Vv{iP32x?`ayVD)ZOv=rRHu1B8&;k%r<#3#So6ef++!Y#f9)&Cf_%i`N zFF)_k6ek>QK9Go+5Tf1&6n{+`=PqrK?$1{fgBG7E))CCTH3`Sa0l<9i6C|NeLLx%DuyILY zExqvRxon24NulyLLcsbS8^5bOYN!T#>GRas5PV+6o*9e(+t44FbZ~nZL%833j=kNC zA9FMyfAB1K#7I5zbE|CRQ2fNm7s$I+>EJ^`3H!TU9Nop&a>6O3WP;@>RrT7DI=^ba z+L96JWY;6CwDk1o*TupDJ~Y? z+98`}YD0;gW#4m6t*p=xA>Ub)m?RivKdKACs&vSb2L5yjbnFj`Gh0J3T~|VWXiaK! zhYX$E@%#Rm4fBy|GLV*JCE=wX!`cq!bCj^ zSM5kmqPX5CpJgX`4coo6c)V`s?dM9wF<(e)2WV2yM(=e@3@} zo;84+@LNX`&w(3$Oiy{|5#r{lTAtksTRSq1ogW}rA47eDj)2*u>$j+`q$Qmrs=ld8`X z>---&SWI%&*Gy5~J~6hK*w;CU{7jL9iYhGqX}x-nEvjOrf1qQe8=sY+fwp1$?)>oW zVXzplOTo01;7-U;lG#)N#76k^q-EDAct>JISQlpq1zSYW`UGO1AEF}FTd?TVFBEM+Vy=br|G1pE8q1imh5}SJpnq+==7GhG|Tk({#;<0FQi%7 z7-oSdbWvzYTtz$RVVv=|UKf01R1WT-$N|tjGT6fMV%WIv9OkTE+}<3_K#VBnnP{j7 zNfnQa&MQDw@rr+{-euiNz|?BXO9<3o7I+*IbyYi+W8(40lF>_6*VgW_Z{g3$XTw#; zFvL^@`MqfX%eh^eaXf|NN`X}M#(k(nu0@E;G_YZxR%l2I$Px7~jG^r#UWN@qK@L4o zdgL{I1qy!F!U0fc23DjE4a)z{jQ7&=YXBo5_xOn&odF~Gab6d&KGbg$y?6LYJdXtj zP;`nrki9Sjf!_sas<$pjx(s-yZV{hWW-`lzivZiUqWeD@)%V?83J^Q&Q*O*L_`@)! ztILRgNY14n0#QQ1pA8#CZv{KrDpq-Q@r|f4wOE-e*eWA={Nxf1jQVJzlpnEV`s1Z5 z1YlWa;zJktChr|yi|HLVuAnfpTU6|Fj6Ssf1yKB&%-@dBGk{bfq|PxH4DeYSyP_}; zjYFdWHdguuN!C6rZ{M;Wh!}@(8k1@KkpF{V`Gbe^KCA<~HW*UQ;KJdxF)} zy}wE2Wjvlz82=Rk^7c(Do8GP2+klGGIkmPv-+p0UA+_dVmnA}Gz`d7*kW!1u^1$s+ zSxYGgmklE7trI1Y+;7r$Zx|nX2+JMco{mRTW?R zWab99GNe(_z)}3Z8v7)96vnhQc{*$0XJDpuxoK+c_JN>ll^Y?1nhd?>6n39y?b@oB zh(Z0oUU%7-uBNosM1ua>Yqvq}>>&Ie@;EreC;NY7JWjL5twzWzqbX!p5%lVx3C8AK z3sEg0(v8zrzRy|u+2lV*{YI0iwx<5i`mUg2{XO;;pH6YN#CGy*%BI{mKDm}5T&uKC zGt1aAu$pSS7r+-Xmmf;WQ)BY?^){Qd9Kgnr@ylPG<0YpoKy*!oT)8dqJ?W3`ri6-5 z%3vaAshCu^d&wcsi385J7%)vV{9iR@;motmLOr#1n5_Z#PflJjF;JR+pJ=7wzbAis z8+<;Ho?T(biU}j@_|wWjkQrqP=#RG!c#W+u{&u`?{vbSkKZLM^_(+nH0EB-VR+Q1> z*Fxa(LhEW|(SX2#9gO{_^$HvaEyG%$Y66Vj#Kf6Y<#4M4qyvs6=5NTOWAku(`MK?z zP;er{U*dTYAnD_%mZ_lac2TVeG+W%F4MhZl!zItDLkZhA%F(q#+DB>C;?xaOTb~1F zynph4Qtfzf_gxnMx!p=>M%fyKkOloMeUE@!p*1STejK6lGT9Uh+2_FnW)_mpN{I{$ z>wQ_aBD^l1W#SIKD~;x>U3-n@nj}(y$SPU5?J! zV?xif5w3?+dmt#@WJz1HSee`_2T~?=N%L#E&)CNf@HX1s{s)ifmjtt(S(Zw5zf3mj zp1{P89G zT}#%e6wJQ6I-wpcprI#l|(X4b%;rb<>B0^dr+WSpL^$?dcY`L6YiTGcbVoH6?!G8ITp2+eWgO0gW94$;F4=Lao8GC3p z1_4`dF%Or{N9t#rzAO)Kt%?w;0*p{l0Voi?FCN6Alg0Ry%2(I$bqCp}j%v2KdP4sk zslsci?s9;clz4vrw`^;?KBgdc;{pb-R-Vi>8Vp4ZPPa^=$4dH zVjW9EjHpR9^vH9jG5=n6$l!rnC-c)$KduDV>%`On|hcnPl86< zULYMav2cXk)aq)B^&H7PJ5!;Edep308FoCH1(rX?LVm$>B!{7z5(^L4_hNetMMvtc zPG7%aj|Pbc-~aZnPWTA}77{D*8swt0Ts3^&my&r!^`|k#sxKS=2F>O{t1tLfi=$$` z4YN8KdU}SWQ*Z**026P^ctnv!Ra-LW!81`EN{Na6^6W$dfF%~U7;iL@lL4qGTU~~M znt>7P6TK6C2rz-6f?U~W4nI7Km0JCsJ|^CVz6S$YytBM~L}BD94c#;91^I7$_mzqd zX9+sP(jCT4@b3vW~U?{P_ediclUQz-8UNkB|Gburo`}cuQgHXnE z`F?N1f;7&jnWMO50T|T zEi@*yuq$|t`^Wu@zvL#({-uMr*0V~zdhV*7KkY_oS zzjnEYNn2Gh(RxbVubs1Lco6DwL$%=}kzOq>yUjSGUC->#V~ltY*A?8s{`~;z>HYT( zXJ=ypHDBq{>2*~ilD(!}7DVT&(~oadd?H_T8b-LfQOanosH;_xWbAf&4#Q}sU-y|C zaiV1;7CU^nrWGuo+LlH9nJjV05X11 z3Xdj;&vquG;XX#B%3G*)^_Q-@GVs%(%0dX1av6XgrXEHo&O<(I+ka7|1rV%NA`J+m z2AF2xNhbu<&ZAE&#fIkH)4&x=p%iC*NDpdNhM3dSBdh9>n@svby7{Y{Ti z1L`hGN8KE0*n2BqlgTpwZs>}MFZZ|wLk_u-l(swOFe|^EPc%Hj8Y?X3TYR@h(HHyj zFIOy@g06Gf0FKEGjS8cKb*t1hC{F+B^C_1OF*>=quiRF@Q>immcl!7qqrrfcyQFcN zO~a%CPludU{xc>39Y(}AdA~d|)7sVwEPCgl8~>30_js>pibD6wg(rC*_XhTF-aCn; zF}A2~xDjN~X7f0I@^)*;TzpdeeBXoVs#gr0hwF5u@0W&u_W$nx=yL{N>9ZdYzK`0^ z^a*F97GMu`fdU>lJS=B( zdVW^$thjbE_Q~6|jALtKNsWQS=^wTq6v|wd@^8ML3t*IG@C@BExbSgrVAbR;oAr4} zW3qm4xr*h@*0ZScnz?!Zi*Vx&CV`-iCWwf$fzBr9Jp8(Qam)|4fS0RxW7-?fjyK5r zQ7907hU@izFIK~_eY^2ZJPNETPi0G24V*}JjrOiu^!N8}$i-AvewuCAqz?fbm92HkVf(_G-~!t8r55Qd7#SB*@mT0`_rltR?8<9V8P0YpH&v1n zF)zmRXk&g~K@Ob%T*6A3hK@d1`Km=(+RGX3KNxJ+^Kq}0Fqm#c5}~q|p0f$RdYBZ- zK|{u{e-hEq4ZrjJc!@;bYSxOmtW`rQu%6y1YRE5Y=&SndGPj(nxZ0m_dKjz7?d23X z8|bCfo{Ovbo{!^wb8)SioK*D|lwP7{u41iX&53|JeU9LF63|egxjH>`I{KLj_t#pp zOF}`5`!)_rm8N)A_UhHE7Y~Bwl%GPslhb6)RJ5kA)b&snmfBagM*K<6_$54%ZE3PC~OH6g19&?FXuEQeYcI!dentg%Z2PL5+Dc0yP&jd(4G0 z1YfDZEoC2XA0LV7*x9V3Gx5h3ApI77=-q2V5LYJ}lq#@mvZH&K<_B~`lIH3RfhJ&v zVf0J+F&z*LJg5EFq}5;Qwp{YlXis;2$Kv4IE&6L$JZ1t&+i3ip1$hlka-`&V2c1b3 z%@F~HhKAe;fIxqj8pdN*FCp?i*zNM2zBPLRgBoVWItv-lNQEUmHl@IXrbDKwF|+wp zSPK{t|A7j_a6bLc5EQ)`=lR9kDl>>0|b5QQWz%q91lK+S8HntIvjI7WJq0A zaAB#vTbo>sAn7dbzco^Oxm=a*sj8z^o-*cl>$tIZz#p#h_91(;IUFNCdRZq`6=I`a zO*D^eFjke^iwC57gpL=4l;@+klT?$PgQ~yCq?FN8h>)02==QHd)Ucvwbs|qQ&*Y7N zR{#7?epv30q+7pN!M=FEj4U#D$+&;rJnz}>cyHI0{(-#H1@L8}recGZ0P{PP^-Wpu z^}eHsQuO;5YwVT%)Vz+%B%g%G(si5KqTcEPr`PZ$>G9QTgU@0HE=pagOl;2goNMMN4mQ8> z{%M}P`kI7||A`7s7NDgsTnE+rkK1rJ@kNTG9M5hN?+?th_v$z9x3o=&T?}u@+Z4sQ z1nV@E#kvV*&9TC!b>rFmEN+<2fl;k<)$gYsWp%dx%Fev<-m)?O=;!6r#;VaK7yO8x zI`X)C!uWQvnpsHK5PG)n&y<0|NLio%-Gb@>MSzyupw0`pVZ+ll_`%kNygyUso87JG z_WlyFBW}{DfjfW)cQbxd?TJmm@4X+^JG*DI@B17&9$jbZ;19Qm(!!KOJx`$lOZimT zOg8ZJJOvxYC5#YmrZ2&>qqvEWqW5uXK?p%)? zQHN`6^L~13F%xpOUNDoQLE*px1zqLm;LaVb~L_6f?l^+yQe*`v-Mq#frS=MUy>UcRVzK=7*D z1nueH-ntQ-DMy14#V1@C^}q6LKPb$UEw>AF3e{uX;a9Y=N}f6wTh(iZjFyf33N zbHb@SYsls9MSnHz#62Y6?r#bKdBm^}pJeOG!IknLgyneS^Q=p2DZ2yjRQ-N91}M9F9JH00T0-)Zx6jCzL*%>PkY3QL&)gJ*P}&JyeyPdD#b zKq-2S>>qs;Luf{;ZoETdk?)*_X1238!wS*a%563B>@q@K2P3_C$8Dm38O$IyaU28a zb+a*5^GSt<*)bVh9BrQf%|SF7f)qgx#BopkMq zTTmU-D@sJc@8WYW_%u%wf{fgg3r>P~*YFA5PabC+j!e8i6dkqSOl?V2F8wRf=UjdE z(Cmh&|5%?guIpaSeujyd)ZF4*k3$pJwx>r6roVGjMy6bYx;t^%*}*3piJ9oqm^=kp z_iQd?{BWczE`Iy!YJ2K(z@&FsL7IN}?CKd0JS;EGqMI`!E3#$n+V3S@viUdu4)*)l zqmE+S2gP(MY?}~7TC=SA3I{oQT96A>U>W)ezz4(Y{BoeA7#tM=}}|8dmOm30NJN8UV@|(^NiR^H(nmKIrXUzK2zy3lH1ra{&jS#}F(-?%G~EB$xeN z1>cFBe&^wL`G7iw)k}y9D_}gk3Cx@0A#;?ziFcI|70hJc zl0|xxewuqh@NH{fok~+3Npc;j5#faNe(H0~Qq|r5mIh1VLhvR8mp8 zBt%MDa@j>hx}+NwFi4S>Sc8ySQWOwSVhMqzYuSCz=l6a8pEGC9nVEa;bDw*kwU3fT z^YVn=?C`p*eI6T$qEvreWOhikn!)WOqLaO{51_Z{PscHiP@mi{;i4C*3>Bo~9Kkg! zMn6pgad6T#JQwc|bl``O`QmiZX}9?HyUM#k6Po0ASId_JzU!^o9aJ7=;Xa4iw$)hs zs0rNu+Y$1EZJkOcd9X(H4qy8vghmbR}KRLj9_*u2U6%ZKfUHZ^^rh5SIi@9tUpUW^5ZDHZE#7Y zjF~fGHze^CmIn&A7S-+vvhk(7-PC+OF)WkZ`5P%>I}8v>bQ8LDekn00hf zNd-*FF=PPNs$bm7tP<4p$AfQk;GIs~u5-yvcAZ0dT>Izx3MV%6HX~Md8ExS ziobDcDN3WXkV`q*!#vQ%<#30swKkfJXTB9sd78Ma$`;!ooww&l_xXmK!Qx9&((FT~Cjkzj*qR5ln4r`2^Bp9EM(+yt1h8zb6EiAZc$}`km&X z#GQP{6CoA z;0KX=1@r9)syE{@2p;p);W8v93hv0Ev!EvDe=0qS{`qO_Lt!%&=!RebZ@?-Ssn1p67Fmv5qg4 zdt#$$sSN9>fVxcGP`zWRMDiJAX?D7|qa1#J`;X?w%T$@IpLTh`r2vt{vH||oS2Y`T zq+qdEs!BGZ3Gm^Y?+Q9yMy|zLV~5vQ9u1@axls}`5E%UclG;eN&HX#?&D4u-Gyf2k zAVbaTiMTm+ll-D)9>8=fJ~vhndKto5#CU}%T`X)qP00?&d1X7|azZtLFWt?7=9E|1 zYRWAKPWx9zOgsH5o2v_iHq;%<#}+BFRFxzaUOKjzS>o#7mBwOn^g4ZVc16?wroNrK z=K!^#|5nFk(VB85snZ-G3Hj$0sl1TZB#bMzvO2D|gR#C-TB$(P(yDqBm@pzQlgDC} zEv6u(M_u_0X;Eo{m{&rpft4qDS57%x)0a!aH|(;pp zP|lBSHanhM_N+!mZBDFcv-$m&Uh3Zlh+G4oVg@GWZ0yfANQoC;f zahx;>8ho>T;{sq);8BAR4AX@H{z=D~YUi?~;IVlee7fh6M9AQqex&aKH+%XB9sC`2 z$c>3O5RVP)Y@%@5JE}fFjr{Drc5>ah^UwyP9O(clQE?M5(>+I@73#}1VuDol=A#WO zTwk7V%rxIWr`U#NNi!aK*__0^eV3N9I~}zetY!qqu=$QG6868c zvmzN%T_FXJE+C)gEJDEZ2cb791WV{Z#{AOMMJSbx?gBME0O9nY&TIYIw~Hg{TvZdH z@_ZOK&A{dF_!lO|vEVodeUcMo1PR&hI1F6usaDsI!!xotxb8e17v##nqvL)DynNe;i*HR~> zspLL}Io>jtgIv4T95G!sP2I~mGPmW;cr#W3{z~|FZMl9zF8lX4$wwnXdO-VbguHLR z_ERSFazr;P?kTkk_vdmt`RY-YB@Q z+$NiF*bS`E`5U5_H&hQ;_4*#*JL$~Ko86=-F0Q>&(cSO(Yx90P=h-A=H<%_bd=i&M zw_|^%9q882!O)p}r^SBF>Rw8Ow-h3M*8rc~zyIZBgv6%BUdq$C^z96tFs;lgmdvsG z5&W-pROWCc{!SOqHb0LR%kAar6-~luNR>H$IqW9-wYSG6`N(LldvBd8jI&bp!;e6&%P zL`tD)|E?LShTR&86rhya`jv?xofglt{lZLsfyU9ZUc9uIB$_I+B=Wd(V&*ADw$)!% zj7WkKbLvX_lE}q`iU0&IX!t|+k~3VzEWare;YxRvtvg5V^hH3k%BoXIfZzOO>M&vC zQcLD6Nx-1~Cc`RixjgP&xApha^?dPJ*T%QpU)ihh>*P^Mvi}(^_U@ExqF&Q_-!85( z(_z6On@mOWTxNPS)d}3b-@Q^zE^qg6zxG}G>-CGMA^!UTGe5|y{9^9(>=Rs%Ng;5; za5XA)_Ci$imqPRy9Tr`X6w>N0J6u|JzpH&91U1Ai{yBdF`h$vF5My?rw~`ARgqPWQ zsa)R9c%mNiG|Z;V$jqnV{_be&1WV2KzYSG-P$gBWp8V7Q8hnLe11_!vf87~4!YPWe`^mGn{L#U~b~s#5<5XV0x!G7ZXq{Z1b7%!py!*{5T}UBm^oV* z(Cl@+Un55&c!_B=kJ`vzZJLowqqIu<-`*vLF>85DOOWL`!j@{bxBNPGe@g8e?i=kJ z+dK~|2n7+6wNTUXP@5OE-K@`7(J2rt%9$F_gKtozLoW;y;<(6;7~Syf(cJyM#$W`Y zgCJF9sgp-xnEOLQaO{%O$u(7=Kmizd!+NV81jScq_8{I5d7fX$gf!{H}mTg!kv#a5Q*-I(s8ey;2~E z#34>S2X6b?)&0dgjJRBSM~*yPmamX z;&}(FTPL}sj5q%y^rm#G$@Smb$xDuTsj~~A*>N}N11bCt*Oi|pr8C>%8;8s%|K0Vf zQlqWDiG|E}!N} z23p#SG9JK>d&Oe-{~YWA&54xdi2D1MKa|Qnt>JJOZ<#OZW77L=Z72Qwgz!L=wCI-P zfRm6|rp4Mc)z8eiu!qxZL7cxyp>NtRjfGCxxuhY3YaB?hh28^?zU9PiX&lSr35T=u zvEq=Xx%12BFghsqRoZxJo$1u+Gvt+vVrBr;?LVk_y#;Pcpw~|3@j-dmqn4X9y}Ksd z+;n@V=`$Mr2SghTnMoM?J7zLlEa*I|`-15WC*muqw=i>&M{P!0xxP})jeWwB0-~k2 zW$s8!Eop>!DOZLHjtw7CSLlW?#Nvh01kCM+ zW3&@zYNd>^GkPs7nhtyQ@9yNvnV$|T*O{GevmF0eN2`}OE32V})2ELzw-MxbXwvwc z!MsgpZTZ>WkfVXRGP%%X1w@#f81 zh4V3&UsRaoB91V8=r~>zfS$dC`^#};Jhw2i67Ysz0Z9SYP`W$R81`dCp=Xz8qRgAF z4NfCS8UnyE<`4|X{q}zqDl^3Q`_-KG;Iqx<+WDXQAKel3hBT!_L<+f`Pq); zT1(U7isq8Br79JmfF{WTUyTG=V2$DV9tHL6b)v@XGGR6y_O1hYU9dlN$#Ga8b7c>1 zIsKt?FODA4oBTno-4ivXBx$`q{|iGp5}MDmFFAclLzw?XB%?UA(Z6O)?JJ}T?MhC2 zt+Lmhih@5n4pwiUg!(vdt?o;QVcZ#mQ8{vX*+`Dy--jWRGffkFqhX68+afU{M}UEe znMnr8+Ru&&5jVe%?LuMl6IVLXFFA5Mb*bS zpBnBkF30<|jA9Kz(;`7VjTjU{C`8C^-I?O7P(FACSuDlx|4vcoIVuX>h2sj?r=bGL zJm66j+G^(4d&yf)Y7ZBF!VCB>q~|&eUaB)>;{$JFqokv9XBxBxVFo5+y*fAVIJCUh zT4%WB0D%fzz$U;NJDH}GQ=`7`Mue*&1i>=pl9)_sYJv1gM@VlL$&l-9>h0Uk4}~BN z+PwC{{E#Z!SR21b)}QD67p@m)DeBI`^d+%=Q^5&76^E136T-VnX7!Ukyl|=+eFDK~ zFtq!sf#*p#CSBHhwtjhIx3gk(vSfMp<(Plz?;q#)nj1yK%H8_!hNoPwiT4#NL4R1U zK~i7aeH=IEuH5D6btXPz?>*yiShZ!Sr%*(5PNR1DKPBe;vRu07$l3Kyyzs||GET|p zamKD>`?vz~#Phk94Wj6N9}UX??4=#Y>2eclW>o0|i4oALF>zgw4!h-f%d<>blDDGU z6|~k?fCYbPuJaP|Ny+FhK2UF8A`8tXUu1stMpW90{P|)CcOu~RsY`m0|DEYS@sY#r zA}ESExlRWHJt}}8l=oKS>&G#iZ;LBM0TF$+**rCmIq8IWM-l`4jg7 z*Zq~38)i%R&|NQ!uq3~(jZYa%^vBsck#Jp&9toAA0VU4#yVWFv6|ZGj6Y66^I?ESM z+u7(}FL2mQ_3ZF`c`U92P`5nIU;*zlYsdUg3FTU|(GgZoX?U!M-mhCqbPKM-p&~{$ zzd4q>ju!Z*{z6%?DXeet~v$Ixd|_x+(x8*Yd=Ya;?xf~ z_wJo623f){om7N_GNJ~r&RS6rGlg7SU{%D)tgW&0x+H?=))S}YbJMbK%5b)DovUY?qq z;ZF=lIY&%P75U~uBA+QdYpZ)F84l?x@05M7Ve7C>ICbt%-UV>RM|aL++A2FNkl|AD z*g}<97XjK=ed9_Z8?ylhWjhi;ec0l>n>g9icB-TepRsn3yrs&5d3RcBxNj$XlUI!Z z-r`?MZZlv8uPwc-K4kmYVO;A+D{5l1)o*cj(&eQ0%^9wF)#TYW0vi|H|LMTLJxm7A zL-yoMalX8$8KDbWi_@FBFLJ6f&co5e8rMhj<{+ED1RFQPidGacBZmq-?@`k&YAyrh zblZR9j9-+bZ*SVfj;QY)$>X#37C4NpH)h*QaPB$usWHB4Wbsg!@3^-OHQ`Ddb!1Gx zS%i9uUJ-?OXnRwp@SLHtv`c$%&N#QRd(3I6NkxP8`PkfIt08KMd+Bp)#klvXS523l zybRZcj$!yfS19@wY)e)Ny{}dg_lj1|j_I7v2lI|*ql+G(eRkCt#|1{kN2Qyk*&ua} za4b<#UcD%mJ3)Qge-Bq_>zdBZxhKk{#RRWof&nfrexSyMoO1=l+sW~Cz>&#Z@+$|Q zF$9dyKAG`mggWjP5Ut^0OKumGnk_;=CFKRoTgID|na`XDrydlH@2MA=k*}V#o2Z|- zoI8*=(2~*^eIRrEO%$-zx%ti~_=>qx7(Q4CfR^I7$aVEIwA)T;59^vRk}D8Gu-V{m z|KJ*Qp{!1`PrBXaG&&%=)iFZhn3o{?M+>qrrPpWIU7`>={S8kpXza^e%2CYvK0a`D z`7SvtJGEC~<^6}OB~Rs)N&U5mw~LMaiE=M_U-vl&?QRU!UkfOYrZbb{G(;~r3LBU| zK1+SPvSHwxjBBijf(o7yO`<$H|zTLt!#ygY*trd3gJtR}G}Dw?FXpd#gaH%t;;*3i|c>Wh91 z;7En-gdKH>`byAxyMKD>KyjCk1;koYvCEIH} zJ{iUt&3z!!InX^BoQ#ox6JhMJCgH6O{#x&ye+xiO=r2k#NIsTl6L7Th$w;j=m7+3U zH!sb0_Q=uaSO2RP5d)i(cD5#exKi0mFN(EH&C$i}K5S>YP)9*c6s(NE%=m(DZ# z{fuq*t?m1N!u9gbIVyd$mh&U3iZq-yJw7~)h6P?ewO>wSI*C{{|=Wk9ZK$3QPd0v0g zqefQM@!O9u$GfxXVOX$&Wl?6CQb*)EI4}M|pCC8pX`;#hT43D(Bl-IEsMVUbj0YVU ztbUmhlTr|~-@ZAW^Hx5G3RtQh@_}zsVw6ZBFzk&Q-^rm1ggW9Y4$#FXL8oefJ6+&! zbm^@dt2*6@H6Og`!Taa;SIUcqa~e(wnYBk;u7tmQW^EQXrtasY%@Z0MBUJ4v(h*Hd@#!P#=VP*Eu~mHbkNmNVE%*pQYm$z6slG*Z9fOr|?B(f!BVtGy zCydl;(!Hy}9Mb*%;-f|Dr-}@|DW`GS{gB*h44b52sUqgu5J%#XVzZ1(ant3a1*fZ(UqY6dx)v0OIfq%1&l1=0PxA#2;1>FMyrBG@|oFI}h&Abl5jiY~sATKwolZ{mqylF}>( zFy>a3-%hB1Yd6t{+;nq4P@25N947I77yR_M59L7)%7aJ%pHSk>K06M-{&sKDV(qnZ zEpxgU19IVcu-FSm6OdlmEvH*A&oeM*ov-pm9^$ctf?il~oOl!S&gj{${NtswmEhXN z&y$Lo1RzTiMcf|$pJn!%NuR|FV9cOhsvvpCn24RISx~6EpvP`5)t93 zvs3HpEwiwYt~a!PCALpI2a1KCs`s2dbiFvdspd4({KHV#QDug2UwK#7-|;(a%9>lg z`JenkSE{ovtHeu|eBo8~eeFvZTO4;l68zZWV^h_BRV^i1SpU5E*w2)3Wbihbx9Z4Wi%n0@ta$t>5CSL_1<(@SfhIZ+k7#$`E;RIjuRW1QI z5~4sH^`oY(flH;b8t+$SOE-2~XUFkm++#O2^N*y(SB?&n()POxK4kgXLiE69$9 zC|x%!zR{82SOR1dDGTFs!?Ehry3pA!9*SNPPXp}*W~{UN{Lc6LA33Y#EQ%lfJ{;Ak z0Z#hjrj~On%Eyh@PWCt-4}DDuScBXbS*#hEYet%KNIZ;_NZ}ON4WT~9oA0-;>|8^x2CQsTZe}a2S$*Tezcf05n*uG7;zjf^8Ar|(ZhAjqd6!ULjh6%OE$V& z$n<=9d1Tu2>ISO$^%CAQz5Tfc*=9<>#!5(9dgyr)$Kd7fnlnz=j_KV{L-9XFt;?rE z7R1e>^>cSw!nYi9tbYmM*x@F^j5`kmd>My4WfEk#wAVMe@p zIHo0fv6mUrR`i+q9V{vkLXrT2K;69c^QG7R8A@w$6?9a@0UO8T7qHEqv&u%sn&br@ zr=(MaME|Zy-tLPGA`aJUo^2Js{)RKWl#B88^!CayXC?ydJz0jBTE7#lJs3Yd&s3JWJaIq=OJ>+`V#=LRY7`-e%TqFRzJvOcEvhkh-vh z>knd5YD3Byj#|P-Vb^Z9$+^b(Jm1>zURodrh-Wn{z71SHAeU#|zRULhWc*>MR91N9 z2RDT$->yqKJSk_O5^wT;@Q*xkz*kATe{ElJpX>C>Q~TZ)lL(G|wQmPqv9zyftuaW( zaoRVv*I=VTXCoZt8jn{qZgk2YN)CF!yw3MM5kc*#O=VxDG-ct z%HzurBtX)Gt6B~(-Xmm|AV_UC>D^%e!;QTRc9XlESdwVggh#selZHjT-_?80u~G8>UBL%ObKS} zfjaVzpG2hgoxuia9U~qSddMA-S_EIfvd{6&&#pW7-3Io?Lj7*ta9B5)x<5;rw@OYg zh2&LZgIZ@fqvNo<%%3&Pom$((Y;W2OW)1HMVqS@^`+E* zC=0TbMMWk3bt=U~5|pr)b6jQz`Ru7Vc^10H=njWeHpm&ihBGZb-ZxK}aT!a*-Sb~B zdOG{lYEuJ9df8-~6@g<5j*sdM4qN})OF*WYqs6}Ynpz!hdNZNPD$vjg>7iUaz)(=V zL2vb2^u`h58&yl+&6+3fIRAF-ni1&$;^AS6uF5c~g{Y`ZSu~yCpA_unOmgX@*xtarLia$lb0~?3nAzWsmEMH-1$|=<&CX zL2IGyjk1C%w=P289t$<@39u$Qd()_zDf#pD+TC~o_!ZfaA5PU@AXPd4aK*uSuX7LJ z;|>28SsL2TswwNBk zdUWa37-mPElcB9o)t}oxm&HVKQGxyI?ba)UmLurDbYYCA++jTA(Sv_B54a(#PlKgi z3*Q8}ELi(QMwwLZcy;$;phgc?3s#F(OIBaXQaM^+JgKc$>*7+H+bR9S_JIgJSY2IR zH=N1ZvWF5_&wmzY1Ovws??Zs0>VsoKmB>E-d!y{!VDQstb~H}ys7m8t!mQ36koBP= z3(pUo*fKN% zzxKl|jkc!@R5HH;wQLi4%x>L-UbhI?@IC64EBM^CC2&b+)2fWumBMJjq5nYxQ66D+ zF*vDD+Oa4mqCDx(v`M5op6Am3fyC(Q2~Dv*C9yZ`FV~OEdG_ny4{A4Tm_rT?N@1zb zyo{F7a~=-dthb|AM~MScqbJHGr#0eei~r9V5`6axgXy?^ESU+gJ!iKbD6Qc3OEM5eEr2EbVFx zw)@7|rVOTa9qFueTzU5}YJWf$5~4Vb zgb##rM$rw0dPcxkA2Q?}trtsfT`0w3_)S;lm91?K?}s)3YpK+5<@TojjrV{={mlX0 zv7UqQW#q(mqKby4Kt+^BATe z_V4-3^c_C{<7EId-i~vvx4=SuH@0JdlAu-q$2QRX3$KweXR(l`jG!dl@WSG?F!z6` z0peGfv)7>C_60M#O)WV$o=k2YW_6jCfoX&rcloe7(rZy&Gi%?$=GjTvZI0>KY)N;o zy^|M(Xp)A@FA+P>e&fxy!rnp%J?V)1)+p(B!j0SEfq8ogC-482?F@b(YMIG=X@$>2 zf2O$=?$KiQ6+X&s5Zhzg9XZOkM@jO>y}Pv-bm8K%0=7nOa*j=|F1S{~CGLjHpI`6r zf!^L4_CAi{pk6qKN`)Js`XS2n@nx;+_?O&6pdlXzA3OKUK z)vgI|N$x#sHk)QdJw2cMI`HQ=RLY#skV#zY@$ajO^$1jf@L^e2NghbAHNbqd@rm6c`;q$)JZp}WlJ-*k|X1BIOx`%YS z*Dd?IuUwal_xG~0T@9jtp_kTT=GTaRN`J=-?y;>)(ef%?C&r&nOSkMI^)`tfr_c8* zLXza<&E>MKJ{?#J2Iz{E)()}7KO;To)(d@zx(LkFhV*?Op?ZLZIl5^zdNpP>*6g83 zep?^4E*&7Rv{T;-0bZ*)GXfBqKw5wa319aJ5A|B>JFyk4cY#0{RG3HY z;|!>UxMv*eKlywh`?ATd=YP?4@!87HLW~;fi<0fg>B6mmCE1h;CruT+}GqhVq~hLMwXiHk>6}%SVZg z%(!+59^#MdK}ynML<_!Ng<_&mD~HR;5C=Gtmhw37zB(`EK5aaZ(fQ}d3k-|xmcK$F zAUx&8)tCy(h%6!3PHGh#r#oamLUQbGaWAwJliO;c%HD*e&Ni&-EPI_4c@29+ck+O( zJHHQ=yG^~yKXk<_>z9P&-QyQGF<*oTsZTdt(LX+G00hA#5>wqut9y|%0kiu^%*}hO z9F@W}8bS<3xMZeY&0V4_vFrAuc~~I1Xw|UvV=zn0u4J#W?KNXjLFw)@*rs>pP5BxHDkgv8#z!z@%mu;1CmwiFm z{dJiZSXI+9Pk;UmnRi=&ws`6ddwWot$bMV4^91a~`Fz>B>T?+%B^_;J=8|H_>C*M1 zL((Xgp7hW3KVSnVqbxb+Jtq*pi_oI%- z?lHY;(1OYc8DX}`15rLCMLZF&u1deR(iM1lz12Lp?Q+o@o$I^R1Kthy-R_K->>C%% zFI#TSb`=7w>EdZV6(-7x#3sxO2mm`0-5EOcl z+<*?$CFDb~j;~n(#*Y$75A1#r$9AN26-rp%fIb)|%JRQ8qcC1ZKuw_Dr#_}8@&hKg zOc+>D5rcwC4IZsbA$5faeN;yg-m1Ht9Ez3dhglI9@A!KUM)*EJ~3W$ zw$jW7TNElworC5HqW!^}u*>>Wk@4Sr=^dLLZI+Z}#QBh#kRQ)YByWAt{guYg8&gFZ z96Ukm!@D~lod_piE&ErvD01~~zQ4NbJ8{f}_*v`ayPcEXa59kVAJ}zndH%W(Hu&CV z)4)G$&aL1m9b%yDJ}(i~_Lx9W=O5Z2PIsh@p#`6k+0*$K5?%gko=sfB6!1Rm&+s+_ z|FrtG*hovSoXf5p=52jJPbdGSO-oII4Z?G;)8a5xx9O1_f>GG6Q=`a3TZF%-MFToZ zJQ@w?&V~;2XY#RKaYERVIWzKytLZsL+hu>&&TX|6f>q^zzTtxHi^_*4fCUX_E2uku ztLU4WJ0m~HW&R>NX)<%eJ>o_7PHwmhLn%4d@ZLk8+Ukr3e#oO{I;6Y>wL4=2O}Yer zz35vwbG#NhSr8o2T}aam;Chy9GS*b=06&;#xK&VoXn&w)+O{r`*uFPW;$LisWK(;! zG*qfS*&platP)hTCw5Dabs~FrC*a7qe_QToRPp;exwl*H8>^2<)u_wS!w;sJ7Qu7Q zedT?X{ZEF#k?JPTxBsquHFY)pA~Y^C{^fTypbZR@oj@S`R9xQ-G5nZ3mbgqxU4V?_ zLPy{yJLpS{6T``7!14v%fCe1cRM7o@zlz&MY<2ToTVyX+a9tH5N(JoKd5m7d3=93y zcxsR`7I*kAkhJ(BS{O1jb}%i?eYRIZHk6@H2h=hxjNf6%1)jBwE>ANnD3$^S(oMUc z_uL0hZa{cxff2;9E*pU?hROusSyaJaCZG;~Eed?NWG(!&JLGZTRgp$y8Z9*s`!J4Y z_FvOmGCxJ8)RB4AbLv3T>7~vZ&ps`l_FNN=g&&gSSr)?6-8{+M+1UC$dT)C6`W0lF z_CPf3CRj;SPqlnJ)^cv}a%EPQf>0t!hLSN#RW%qiJx?C1X8czD#oHdY8Tnm}pXnGt z`Z0rQS03*!PyPLrdSbqd!mNaHbX!mNQEcTX95O46yx0f%t)wRDii*`7VVaUI{T7PPLGO+A^XjD zZ)t|#;i3Bp!?=s8gS_>`CZ#%%_&zpo15e29E3>*#sw0z_#ggMQbb?zb2`FDR_%(dq zsX{>o#9zfLYTFdFhFvD;v7>}Bf;d+?uP@s>Os#mewsI-Lm@(r#f40~@x=_p8%D z1IN1Qk%!eMn2a}rO6Uy#hux3$lCTlQo%h?OpCr5!BR1?3iKX++*h>9nLv21g^Icss z+xYriq|b?^pr?n+Xe)=-E~*#p)-MnS2u0cd5tBeQBS;@N$cLKl0y>CHK9ueP=ChS1 z@H9A1FQ%~xZNnTcDz_OksDZRq2*$YPDj1#Ifg*!@H%pxFt7#;rxbbmuz8L>}g`Vh1 z0k%Sqeh2$FUjC|J$Wi=1Tj4H{X)=U^O0ZxYy+Dr?KCKM;TUgsPdsISND{(yK1#xoh zZ$Mmp5*+EB*g%Deu$!A=!i58MlB9Vr%aN-@fp>XSwR+sI#`}=ry1ENqrDZQ|X&vle8b)}fw>`}Q z(PfGUNb|mbof5uE5qqXAB7JwwR3Xm<61S6U^kET8cWI7!NE$XgU+xqGz7 zv1AP_=YrGIKf* zqYtIyxLI~_^UVb+oZ8&YfazOvJa~17<%W#uy^@WFj9cw7U60#i{y|Db0Y8vAJf0XH z5(OaG-eIpTv2d4Y8$Nb1VJvbMPX^@Sl=h^Z6>bfBJO5M0Z4n$}XX z10P3ZO2Gs)zk9a8yr93ZY61}O9D*}c{VzvWs{?EUhOX7d14njHL=~LRL}hySjrg94=v{Sg-C=6tab_@o0 z`a9A)B~yij-T9m!$DY&(EnPHE#NkqBtl5_!$bv`zFc2hNzlu!>4kb|bRfx4dj%0fS z@p0(zb%y1KES7+o+edHbN<=B4R)dKvonBdr5pKx=AH-JhBDXpbPNAH_Z<%Y_mc$nv z|3=m5bEtmOaByg2!L6T_yu!Y4s3US<{&}*0j>eEP+PGay&5d(%QkTxU!-m(CjiwkL z>ASaIVq!WE)>$&~KXVXFP+pjy-J~FK?Uxf1kCNpg$l9BQ>)|_YQiW!n%{D{(wmw{o z#gk_X2kGOl26v=Xe+#H|EffO=s~Z$srq)?32W(qwWly)x;_->5&-(+et!JqR>bs84 zMzlU$ysugEl4qS0$$L&&*{mvg-G2RuN>gF65M6UM8^^{XlTRk@ zHqsnY6X>O15o@}|pL%cfF6zJ^cH-P(4s!(G$UojMQ4{Gj<%#m`Qx6`n3mepnC z6%gvVdFx2BFiw!~>qR;MQB z)Y{HqeS7Ek;t6|WRL!=Rk&k1<*UkB$82nTcTqd;tjZb|&L|Y(8HDa>g3srM;EEYE3 zv$JMXr9oUP4F|TZv}&VNm~NU5zo}HjYPtY)Vdmp%9&4dC_;w#y?^Js9e3%X@ziz!N z5@!ZH;F!Q8=AS%xjS#^_%1t*~P)FGU6Il5M`>)B|a~0Hdp01AvGJ_`UjiOs{P!vCW zc%|*&t$^O=MU3+`TCl|x4fjML~fzt6^Oda<8joM`-`4(e=K=REFJd2vk*W@Rs z799s`4o3~#*LrOd6kZ%bF14Wknsa2X2{tEJdEB)v=ik>u*^1S!_ zIZt66vRU)hJx#@JowK_k^uYp=MvuvRnNwH|b2G-c>?vCFD=tyC@K^jfqS1kk7q~K> zW)FyUD{J^rGKU(>c~dmi#J&Hm%Mf+4PsgiM1;nrqH{+Eb*t}flNRQh~Z;!bJldd$8<*4Lt!+iGE#Gk5e`Tpcl% zzl*QHO_BFYMOI3pZZk%l6rKjE9%Y#rC-umMqvPR@5|zn3CmP7EJx+S5_W}B5>k+Gh zmxJhQ8I{|vKm_CAr6?B$WHD%skQ{mIZPbI32K_5X0ULs5;q4ytwHZI@cWeeK@ASZZ zb#fK^^UHLg!qJ*%ziH-Fv%4Vtfu09u>$pbAlc{w>-7Lx|-EigX3t*pO%0^xNDiqYE zeu$OrRaK>Z73@fmm5#b*9`!eO?P((Gb46)G#>1Q&HQK{V!Kf1b9Qjv2q<+m4!68K&?-Bq%v6(y${xmrz@FRPyM$KpNq#Y90>=epPQCL8Zqa{-uLR7w( zpIHSCsvF{APk31^Ul?F`Of~NXGZ{WpXa^#UTW^(l;>Q{qX=nYKB8Y!wn;na-bb;&= zZQLDpUZE9-X(bRW_j`U@K4h=O%AOdRnI$IxC9AEkH_Rgvxr0hogSdG7$M!n>L@9{@ zo2J=h4#GD}{^YiA)y>w@%HGF^JGl=NW@Nd>&xbnpSjoLZ9uNX7Cg!4)e;+)>uY)2Q{kFUUE& z!{j~r$Pc!WCR=vmIf8G-O(M>=E;M>;NdFV)=xv`T%xUL;xX*qr)|K-I5vhhrUW36o zzK!cGI7~SmaCHXXoNDe#cbdTlag8|7Dw zac7;5?3R};zM5}CS0`EBJE98Op5wQ;T=z3Tdi}LMDQ5#Ec5yT6iDqO2dBW|-8ua8^6Bvq8o7h#G|3KJN1DQ8-0;CQY_* z_f$OOSe&&Eomn*O_}x(K@TJ*wEyAX4eT>RWy0Yi*Rz32EdzYoqbmJOy-$GTEa8drl z(Km)--{dz!yeVPLv+b-UyFp+KSlfqh8>b;LC$>H>*H*^3a25`be65Mo6X z+3fMTbQRQ8&SP1bl_jFF<5Yj3O85K%J}QDddnJI8Nq%GC>H)l&WwQF%wb=JlRsjsm`$=JM|iJIVu!n zQi0i2-v2gE2cg(;bW}w7)S? zm*FI`Im8D}-$?YtGiTUGZdhOqP9|&QN3ZO$@eqE@-#FLBnvA>3xtqh zv>6Rdih?%E`e;^6B-wjt_fj_5h6PR<%7`ytYJ!J|=Jbnz_oadSgw=rkpy{1f=v+k6 zH17fiMGx|!SalGjiak4yJmpxFJXk`WzZSbNLKEV^*%C4)|ZlDA_%-}Z5M4kiW8U-3#0eP56rJqLa;b}#wo7+w&* zwCAkO06Me5GdSIU1U-ZGzW|q#5CnMY;`!(haNrp{Cd&s_LnH~slt5w-J@879rgj$N&r6(~Deqza_jQg{A(Rbr6 zXFgBFtS&{;bK1725(64XY@LxJu!o}B#l@fzt8qfVMB9v(EI=H)4QphR?{PC-Y`XKu z5F=CMb5T<({#s7&UVzF;ce{%y{L%FbyDib^iWETl%^t2_Dw-hz#E{Qw5Dm!OhQ1P_ zJ$T*F?IkH5^(^G_b_pt7$Y?~Q?grvmTKvP(>wRYZ1yp0^8L{23%jM6qRk`-<@0$#e z>rrSZ?EU;m@yF$^=_Bx{@QpILo*3|ZAy22Oedl~ipL+7;Sb}%*F$_w6eDY>6;oiI; zO=B`v-nt~O2^)~s6VTm;KNs{Jhd)o(PQpK|i`J$E`c_n!e-KQj#9>-=5@T9=n41^H zkG0qj9V2?yjtPF(Ux0QCBSairn18G}+o35FAF%hS&z^PSlH)_$FZK6?j;KS2x^x;i z`UK{bivd66^a)R=MN&5d$>K15eWy?{;(+(eoN}IDxukG@q4oTfXT10JKq!raN~uDY zfc=bwnX1&9M$^C04*!wqInsJ7YNJHepbhcC@28xO1dnGY;=;-0V*7VljoIb{wHtFE zwn8d$v*#sm5_7DTLk{oGH3q*w!2DTPZ_uK8OzBAa~Z*P$Yp~9Bv`1HfC49oggoE>4J6@&F8n{9 z&iXB?@B7<(f)wdeB%~3BRFs@SDMbW92}wny1f-;y5mZo+l9W`WyGvkD8l{v@>7Jou zhMDK`^Zs7XA8^i3`|RtiweHuw3JOaUKfECyPP$sPY?L&r1MK(KB8Q6@LAe*qNsX!Z zR{jLt?e|>_WCGIfX`x|uHxbm<9C%)>2}{T$%4o6wk^Z$GlmUG?Keq3HTjXUi?wj?| z={E1ZQrzh_PYSd3wm}Q!X8#-$#;Hbw|9U;7)->3!K9&NNUjGX=`fI|C8Z++C?epZF zu%9eb8QW(C(P-T_cO|zz@$w?b_n!q_N6{=SXa-d%R({~;yDY>Gn4mlA{K^;`izRP9^uVAc$Py2=xW&lN-^K5i2EIba2ug5sPLtB^-l)u2ZANUU z*Mzm7(V=#Ip~ndEoF0Z7Shf_|bJ1!h>Uce%Y@yZkJ}x@+tvcphOhv|2bJU8v5ThBz z(6x<1jC%?`ANGyfQBIq+_0O)Pm~&RODzs?q&<35ibRjz-eU|F1<8)sCO!KR0x#X86 zG=A(07F|QERkr%%_5G4@b@gW`No)dnwy+d}X}lXbP+A#pz--aahG&T4k|0+oj?P%L z!)^tZ+B2zlT&C58V?TIAB=UF084G8EL;gWdDbC*d$mT8|L|OXu;nI*Lnx`?Ui=rBq z0}F%a-KENm8kH#Bl)G2>OH)cF1~eEScJN8t1c@S*}F~R=Ccw42gO&z$P;_D z>4T_}(RW`rW-O!p=u7po!|zI%_o}%2cK9zJ`kK0@EuJnRy?Faew?@}>aZw0d*-ONk znRu~v-e2?epO_XZ*P6_}BEP?dlF62`9^uX(0N-&2HE0KXsC^y@a^lvnfB(>;)N{L% zOrYov+lPnHwF`5(XFEcjAPkO5hvH}aacUs5v9doQzr}P^tH1&HZ0UTl1B44&VF2V} z7`E$Ic&IVwzyD1zb1|)D>-#Uj<;4VAPKQg=vn#E4a`)_SpErVLdZ+=$4|3kBXStP3 zxA?xUDKGzh@DAp@pn7DNLW8ND@e8MyWB{h*rHOv|5bvQeJEfAzkGopvu?=tW71KfK2Ohk{r_sBCwBy+hgdq z5cTJQSsyRPc7kKP{rTst656?}$8>MLZ@-FFiNMaX^)zaFEUzGMOi?hy{lJ?GZL2UE zA2kT&&j{8}qlL7AFNYJpT+EfV*Qp}M1n&-f!GuVV-QKHv4o}7fFZFI{-{EMBcxOhs zZPRoz$8;Y?RQr@Er?Y=Y)MTtBI`PZd-Zwx`@mRp*(-i6QwH}u$J)Xr&!x=>{Fzggv z;p}#|YnCBpkNQ7F*k43yX8X1glP2DwCx&xJvgay zDPv6*N_KQQv8?hcSxWm`k=Bajo6HbDd?+&MJ{~8@XZ+mhhsboVAO?+1wJ;0BDcd;A zoY+SaRH~4OEe@1(^3`6P^hf#y-O_y6!}T~>QR+-(;OP8t<<_zR`47WW1nx&zEW}HQ znXgk)zwtryL5l39FC2J(ch@&}d)m^p zF(h90Jb~#@zguJdu~9o|k0+xwRcoWRxgtN-4vpP8z9+6bI@)927`oyytxw1%Ebci( z$+(gdw+qQvkg-u}hlwTaHwGVCom`aqT|9i0fJ-BLXA67?NU?p|m`!v)-PHAvIS-Yz z?5{LT^f78ke-=za6$xGE|0zQ;G;)Hw1)i__`|kklf2Vr$WLi}hB0cTa#R`hZgD?~v zWln)&MjUQxO<&hh91*1XM?&DWfworSPDwUSK#|fX%7GE`oki$7U-~)uZaC1q8rX&r3OSPK^ip!P>iR>NaymlDrNQxWESqRaK3hq3vfw=qF&#p zOx%QEx-7&PtYyx3cW%%*oPDdJ#k?Z3nUl`%qkAPtXjcsRdwMAp|6BF@6~J|$oLed@ zwBlz3!IPUp8Is!3gQ#U@+M2){hYE(z-!K1+_gEIQcK=WcwN|S+eo+TKY?JM&!5W{J z9>ySOi>bW7H_rXl0GSxcP1W~L5p$Lz((n1+GGw75BxKL*=%0o^m~aipqT!|PhHS^Y z$}Q+AjDLM3;Aa$+nd99ssf_6Q7!~;Utd$5bno}sYI7~jXp9{* z_A^P}sO)K%-_L}a9E?i>uTebPR%QE##NyX$>=UED6A42?Ba(-mHq6Mw)jLyn-mk29 znk$XZlWtGUWy6S31ZtGw=%3wwf_lcNYPm#GY!>+>AhO+aJ8_T0gyT4IiMPChr>LEm z@pxtWvwZ@TR6Wm7g>rlD1SRLdqn3#b=_0}%3DE7wwtYY@giKa~ZHpmbe%hwG5bU+4 zmuM#G2=4cx*lYY0KDqnXRLqQtueNtvq%YcB<3N>Q(pA;s;^ z`s&@~l`HY3M%yEMoqi7#-@YzsP#?u3)HMn^pVYgGPu1@9U0nO)s`{4W*;c^qM%^`{ zj)k9u5*_|}%uzpOe$aHP-Vw39Gx$@zZQp6(a5pcadEksnOAVA>okO1uHROOz(l6p$ zDr^aQxb`79-B9Y&;{lafoS^$ozkIH(dnU#4!j5P=Cs(^C$LP$%kxu2CHU|raAFdb=jPE*QfoR26SIn5|tIL+zqtxb+Tzcx~QvHil-wU2{l`;l1t0n z4nCThNDz=xx?%cIHJY8CgqzI0y5wIHlL#SSajGINoEBL>UeL5m5Qq36h=D=>6M_tH>e))KF^8dLCXh?Nu(2x>evD;1 z5c?Sp1?JqSJQv6wqxhzw(JQZ-L9W{}w|vmi1-sbKQsw=75IUb{U91)@OWL^Ro*(7f z&_y=Aif~n&xg~4#EA4PP{lG9d%H)+W%QXdQ>qEsbx4Y{LD|WBo_WQLy-^kc8L)dOj zjn&0Y#sjT`;Tt)_J!2O;lb&S;4vP$#YGycojHGB)5-3`Z?v3lT846ozm2Ws+AyjNW zb4dNQU^Wx$z139JVIFAnAgAPrYK?nOUnM}M#kl4M+hH>=k`>5$hcZC{Vdy2vA`2^fB6o7Tec?%d)ycZJi3m(3_`K zJR;Akicqn{Q4XaJH(v2C=_a!xVJCkUeKoa}W~ghe#s+$AR~3ps^(w zgkes!exh$KuJ;>#shVI$-?>%Ao9&n030^=kuaeXhSODFWA&1gOGd?hNu%X6vjGIC7 z1D+dC9jJbCVX@O$@Tg>CI-n|%bED$f$rViI(&5Ed#Zx3VE!aNI*t{1;{KhsZnikPs z`Aq0ftSvPk<(u>`@| z;LEO9^qg=L{Ka_su-Jkovu7*A>7CdYRjL=i>&;wp9dQv1RoB|v7>_#}w)Q?5C-tTg zJbw{{%}9_x&^V}|a^e$RRQiVvA@~5i&h?tKqXJpGWC~Y~x@3-s@3YTu&LrO%AlTQ6r>r0^)z7R*GG$m7I@iTJA#WX4HuTa%DKyvv}K|FNaIt zVyGF?9zP#Q(36ZhC%EprDSL+&kX{(m*9lc9O{v?vgu#+?Knazdt^=|oJJwy_xuMUTUAT2a3J?|kfD70! zPp7Z(_L_Y)B-@G~p*>x&dnq3%};j&DuIL&O!@*FtzH>kZ6!7Jg3+MtqiS@?L~F{ssbK3|)nOs30~{{1(KZyTUHk z{c3G+CynogKL10upqK{%BDT&<^=1^ zx+WituJ!v?$BUm0%Rs4yo(0zT)|t|u`OV*1ZMx4v&90B)m7HZJ30x8n<867;C7-(z z2c2~mUil1wbUYi-X3->*vdZ|bMM~O z`-COecjy6YX6tiK0_rTzul!=2lw$r|qpzM9dCHexBhrf$eEZG2`7ZHws?mGB`{5b- zg*H83WX_k0DI4c4xD#I|(z{a9njLz(rLa&kqZEAcMMS%)d}U*$pqrKu4LA<5w+jyw z#2PapKWk2{PK#OR?VeVs%Njg7yqcS#6hkzMF*z-m7x6q)Vd@Sc+r3-7$dscx&AgO# z`nSQHGQLpWOVWHcpSR6he@NGTdWGx|pS$fas z)u!@D(k~#F>+M~tvg}NM(uZ$7%~WmhI_FYlFfWVYj2#e>k#M+x9b&~i|LVvH(G4;F zz!?Sy!Sp3!|JY!=P=Gp$LRmnF{4#)jfXu8qu)AQb+ZK9b-2fJh#~g)~Hw~gHe<* z*OaWoz!UuoF9KDw(Z46Y#fZmTamlgA=%&g@U+J*b%dKpy;e^1i#l5y;FawM0419(PKD8F& zf@LjiwdjdQkJj}d$DeoD%p>7eQsBE-+7S9Se{b+xkBEu6k3mFc6c5?0S$^0qDS zg8Xf{$X7Wo!|86~y{gO3xB7g?wZ3Ywr*2e4Ir>{1MLezjO1W*O&Jvr^sLB59ondgn zjz0d=YjqqlkXiuZ+*1QLd#R!eN8xUdF7Wy1-Fm{u1ZNC(SzpN!A^o6p^QWfOy~Mi5 z$;}LxW(J(GvJl2Z2rEP%wm0NlsajN3yxt?5^x4D1svSgA0Y$%k5avfR+ClvqiV8*1 z_^UGjYM3;g2_+6njUf+8_mOm=)&%&WZqP?7en8scCGYSk13t*AviEG@^$mxi{P{b; z^G3~tmir^!8|m4fIJnP#U7vlh31I?pVtNop$UwXO2;%JEELE5Ra|wodHI7C0Rx=); z8C3uu;2d+?`5(t@MZY`)`vk>?LNT-+-#%~dr^`m4O+6;(HNW7*XRzVyho8-e^;p#q z&49Rf_d@D=!11?Yvnt3@`U=cN2quVvM!%(QOI--?DKhW*-AdMglE2M?)n@Lcp%c4Yl`V%KazT1SzZI_i^4z4=tdt8AHVK68KA z`lO``L9RMC1Q}mZ<|Vy(xO}6qnCa)w$?rNT3q4$+S4sA&0p}j*OYYthm0B7}Mfd#j z2s}B#^BSoHnpDG1WcU6)9K8#{PFvWnq-wv=1~9+t`Uw^|Rpv1LA{Hl~kAkCIy14V8% z==f0UFwO1ov?S#QMUU=@jHtgng6#L<;5F*--#l8dSV6zKY9v*3dku~)VgZwyJV3gd zo_IY3Y*)Mrh&sQ@2nMvqI~k#f1hSU742;-`K|{$Vu?ifQUAK<57Os{N#E?t*l)i5|Z!;dwvF1PYpW&yT!iiC8Ph4WM@} zvCP;Ch#R@0WjtQib#3=f=bxjSehI1c^@;r#KHV%-{xx70%G-jHzqTJ{ zZ-HnYQts}^#K)3{7PlX~oM)EbCXP;ad z$xcTOGv^%0E0Z4Pgq_K#=e9pJ{shhM9P5_EdpOw!nT~SwFR4zrHuozB#c29#h|F=_ zoyU z#Ei<>m{T4yQf{7a~N*G{i zR+md#NT-w#Jc)oSMdMqkXke`8-!j4MyH(T9VW_Cew)oGh|8rO_2ys#h@biFZK;HT< z9YGJB3q=zDBCgK{>}lFH?)51pqZ!6>47=Mk2j#~dt-e%!%jkDnQpKbRNIJLzp1g(Dp;U_kdA93@aaumLM|`vu?PRpxz#a@J}UJmJw~#jI70L z45|ovTT){DC$}W{Ud16#GcF~@f3kz5J}K^)7Z<85z_&S*t8EGdB*^Acy)6m1=-}PA z*K>04U~#v+Xps+*ohG|uIhlEAXsn!PY+f!_YF^I$M07-0_H|LyJ)SiMc-gQ#)CdRc;%V6vIDSK-s#!wXyu=|aqRiv7hc`ZI19ggUD(jDEg{R!vbA8SZ1;&f8a!+)uX1^asdhyIWvRGG()gUW>(Xm)N=pi zxyku2*4A-z-@}v)Sz6s5+K|)a3o@ZNSM}T7a*nl(hLfTKQ-K1Q$2|U9ctA8 z*qh5@z_f#VZa2t-7Gng#!cc0!I}klG;#_@VQM0_k>eON>Yv)3iU)eDDSSX*>iSiHKJ#hL=Kie8c1frdfhr+tVDs$(Z?^uOc(LzjH*0asbsymnH1r-focJS7 z>+d7yJ=L3}3T2>AJSI3Tu5GubxRB2PNg;g~B5gmLjLFz*K1!z|ELoTjrpz6A@M(Rd6=|&lcqyJ8AM^WCi{kt8Qm9Q*@A}Q7en!a-vOD1r zvr1&#oy4l$_&*c7btl6U{&#QrhL2`V{pN5#S>ux71wPH*w;v=@gHXhlV4@-F&jQEP z7N~Fq%+gBM4izhxh=tq_wmZumn>uRb0~}e1lYUb$Dl?OQuP6g6$)h(>S}tUXEUkJm zvb4$9hYV-eqlRa6f;!WjG3AlFPkeKU27h+;9|wKI9^kT>5)fo{cz3(%EEA`F_=BaDzQM(_1@@@j|NSdcjchWvIJi!od@jH4FNFpK-!b zqn#d7mnsu+eLcZh=iAo1;{z;4nYUjoR(=FAvNRv)OLp7rU9!F;&~hX4U|jVtj+h!s*)GpQHG@&ld=}Dx(ty z0UX&2L+2d5ehdA2IqET;yI~rqsnTili;(XU-!Yc3As=OPO1U7Ty%-ec-kcqAe$~uJ z=u5^=)u#8&n!HO*N)Y^N!G>4P?B^A=ugnC8(^HCF_rewmim8KQl?_8=iWhWlw31z` z$Mcs}e<|)beM<}azwI+9CA`&4P2VqmC`Jg#K`?Ij;6PJ}8m#ScGRb996>*#oVKzUD zPcQvNhykGT-}i!*wf+QYKvgOel?X4C; zs~>z{#6TU#J0MyN#m+ql$46BOWb<#e#=LS}gp^f%gpB8cOOs8_dntyR&`lXvFiAS& z;p%!vBW>eRe|i_v1qX(J4_Lodk;nd6zJQubIxoI+yGX9AhaVjKU@eu(=;zR@*aQZH z)V+QMq3oNOTjZ2G*J%^P%^*bbV>n5{^1h%xUNK%&HG!YjFH3S$qNGTJY{f4TaPO?hq}umRE_qpo*Q9w~sh|)U0vdw39H(IqJj^)92zVN2 zin;4l8YMx_P`V&fg%}lFnovu7BBH$N3-6`CQtGd@4Q^B+(s6m~{2_GdO-9=n2a00U zvKt~%xd9o*?~e>s#G5qkXrIJG%^a1gy~n|whnV{?7KPGpLK8@w*<6M<)qp`pI93Mw zC{A}f8TTqFs17P<1NYnD%+$S~Jj z(PFP&Fy}D6V*_mG>l?c^iOxMsqX*SBmI94}LVUCQLi^mKa;xJN_U50@292AX{inEJ zuSG`RXS8CBXqH&^k0{-~ubJ^0U^9QOr1x{H^?N|EbjaV{MM;xLII2GwFf(AaF}R6| z)7h6zOlNK@M?dA}axYT?IF@9w3-XwNg<451EA9#veS{&XD-8zk0ZL2Dn7sH=Z(v&I z#$}!JFurk4lRajT@)QafK-oDSK>W{9ZG0T){1GID0PAMDq6=wSYGBQr8;-s4(?V4W zH%bksOyGoJ)P()OA}6pd3{pwD%{p{Z1~zmB@B{iJD(vU94W&rjqgl7_i%GqGhK-}% zfp-0;>EZrd61YDaFpr~IoDASGi>Cs-a3&BS`U35>e4PI<&Vm}KJ}`-2gkYPeND%Vi zt{$Tl2C+TxFgh8*H_@M<`wA`Qi$McVvZ`^z(-T+Gk_mRiMnfVNT}3={N&P)#aIUI4 z7Qu2M;HG?+EYk{6Zl$laC7!nzX(YQYYC>|m-gm&lc5OG(A&m8Vv1oq*ZvNlvlCdpN zQnw?+ap!JE)42z4>8#5PGV8Qi2h+|-Fak04I>YkH705~g2hHLuJuV-F4@;fs3(hs_ z5vQ6vg*2Vj!$C94fm6|5K?rhyGl?Ndy;Yp&<36uy;U)8rdr@RJfhb?=hY4Kh;=31! zi9o=tzKHf}6_z0|tcD#yrY~{fdWD`M!B8=tkl)WwqA&x57ksqh@BN#3&l+xT=VkO; z%IGVN8WAF*u22a&2IZ{&T@Y+{I0AEuzr0<+9eBkZ2O(E_AntXueqJei`$^EX7i_I8 zIHjoZpe-s9Wjz)O%GBX?@V-euC_{V01RfEC|La?qIHRzY;vc^*V3t9_8iVH<`F>;h zDSjZ>`{rEV1oM|&d}gU*;L+#OCSD30<52as5?N^H+oMOi$}OWqXS;!VxPIRaq^;PD zNTOjUK~Hjp=w$ogKP6eV@@bUh(tZFv&r6w%XJ_>3ruU8*IxS7QR}9I|D>G|T8&?(t zQWi#<-cc`_t*9X{1HS!$H|e$0FsvsH6S#ZORu)19{CFsN_f_|i`>4s;+H&Q&{oz{z zAV=3Vm0uF$3;S7wBlgAl#=YePEAx;S+u~2!`7nbpVDtHZLzyeQ2ZV$Y27NoL@8pTA zkN-w&Lcm;S3TGl(n$F~HfC(+W<QL~gS8a60n?@3kwTAW8;mbfD8ejk3|R%tj_D`~dfPT8CB^AiWA-rGV| z>L07c4~AHQ2zZuZSy{#61LhJo_im1(x2&P$_lHrjP4MHhE9OUwhf#CexI1IKT6e@d zTcD#&_9q<2TI1obvTNoWI2QP^6P@VAuec`ZNOnQj ztHQ`081%0bDac-u-8MQd+)0iRj;Hm!A{C#g`e1K8I_}h_hOyvY=zMzca9)t1^6?g|8(_ z`GZg*WcQz21mV*Dx%Lo-oNbQL2_PuyGze9*_5CJymbkV^?0i zv)~>c_v@zWL@v*rmEpa-*(mRrsL$sfOLTA5uc@eg+UMPMi%Rp|P)b?IYA%iFZ*g;v zQM}abZ}LjgVdE22njfTl1Tr+ao|dpFs|`{)YveV-Ayx7&YG27NQ6B-izhWpyD`=YT z_H2rzE~KjvXkYXzA=O4LdHRlDp|;)!VLIT7_6cSKEds}1^P&5MhatdxAy-kSV`y{74o>X-BVKWycrYllx>HEVbkb4jW$yb zE5WJUWfaxh{9bj`%=djY@a=HIiB6JEmJ5#cT}kVl%i;t==YmL4RYo+Np?ohGFlkn1 z$kJNpz{%hkKzV!_)Rfk5DmVDsfY}2t76C98I{pSE)%&(m5&aLfpmUp?K;lB>+RYqJ z5EyLrnG@E1No|hRcs0lW8EZQ7-iM^7;Y2wWwRtbk0^6nc?D-?gdm{>nBVT2v zFXHmn5^&-zQ{+>l$t?O$mRo{6V6TG5Zlgt=oL$w+0?q$5PH~)=p4h;8+zF$2Gqu;x zw^^a~t))%*&a&guPg|EWEyqs0`Mb{DvjPV>W4hZgy5(n&}~9X~^N2JX_Q zgI1k_!oEiYMvorjLf9M)Hr00MT8-xQJ@Xb~?zWDNOFWqOtuv0Gk@k6vt|594^E&IR zCxzJsGMI!~7+xYyTOz6I-D+O^L_H)69|iG!C>Bh^In?$=MeZQxrwT*Ae$26PLl+t} zdE+MPlQgGNOeC{+&{N93Z;4Yr!)uogJ*F3xqesZ!^qM-4^si)nV7N7Fxz-<-uDf>4 zp&91MFXB_wpO|Y{m18VjtUi0qHRLEFq4U~2`!tjR1ZOu~#~OwXj1Fw1Zu+_F8Ujwe z->euEU}TvS4rj6Lh4L%4Joa1Yp1wz!!~xQ?zd9q!?XFT}j$VK>iXqN({@z17SBjui zdDF}aL1y?ZV9y33yjC|EA<)CsUG){I3si3yJS7&+8FBWiqx!T)(A$t_t@C=#{D2R} z2aNvXMjldQ&Pjd4&!@OFyt{WRHw0wb{LZgp2GB-!B|h#5=eP+Oi%~H*RM@{U5ANGu zBsHdv&YBKtLUrVvQ|TrFhfF<&V|n(VNwXbSK?>A5V3zr zVyNhuFC;Jk-uHF1pch;mL*Batj39G2?%P_d1-Sgej9g~D0+~F&RJHPI=0%i8O(VBV zi7&qIgCO8>i%XIzBW-{zPYm z_t$@0to74q9CmzEA=d;(&0p8IK2Mha;u-8yzSN>lcA&Z=&P`?Qh;*r*6*_6yB{f;z zyY0uG?Pj?#b7yp~(*tr3=}HCLDV{jOdUGwOnTuZ{x{2Hw!8khbUrM# zP3Szja`SAUSNxy2&CLr~q$K_}^i$GZg1zwP8gefHf*3lZ=hPX8{&`WhkJx@RW`s>c%JkBk zxRxD#9aG-1OoVH#9_2r~n>KKy8kOjFq2mcxZt+Q6abR@CVp?!SAImwc4M;V;%$S(~ z@l?6j3sgP3LO^rfZ7|i$55*n^Ca+#)4+d*=)a>@|?;9tkia_H^DMoS>QP>}gQa=iq<` z_{fDgNH%U(kOTg!QK=w!Z}gEj$Do5cm}?M#f|rQ8ZKt*KU6`qum`@s3E1g#p)(0-8 zH-z^6MZ&?}`$Y&U`CtDtlNDZOyXNZL`}!3%X3NUvBE}!`{4T{y)tCm3N&6iY zQvQ+^YWq=|K)L1_92;b~p3Kq_3gIYU;DO@@uMu8cl5g)JAp_f<05G8k=Wt5M`2-U! z|C+`EqPm99AI-UH-yt(?C6ZEh{gZsB!X%P0Y}+A#^xF$Ap^Tg<6$|lpi&A=gQh&}9 zXY>kfwH@Ja7#W=bSvDj_J?UAv&29Hief^cwP9*BDu{nGQ6l~w$aSc=%(JDz4Juz|P ziaP3l9WddmW&*lIGx~p!5GY%zlCeMMOUCMMbKq{Li96#zkG9OfJa+1N`p?J3eR*^C z{`2g@R!C2xBG2^3-hM!S--DOCoYGQ9!qoYfZC88+>-d~zG;V02@mFSBbN!T5%I0)(0;FiY zBKG-UKmPzP*{)j+$U!n6f`ReD-*TA5IJ)4p87zY`9;KX6+A5td2BtVtFGGPlA2X2q zPg_R|$DXWYkPZK}c@`n4+#y!XO{$+IXEJHzPv^cWC}nR{eMn0agPL>Y0!I7SyV9$3 zL2Yv!G?+(#CEG5a1%80V+yk4k3>Z@ZkOVFJ{teBdjk!tzYKy0rN&V~KE`)EaH=Qft zGB`%zFH2{0jY^xh-JMbGruu=E*&wA5FC$mB)(kN{VG^ zV8_vWZT92?7SnN-V-c%YXbCb#Zb-kztK@Zn zNn9fHO+H3BcLC|Xc^NSgiv(eN0%2j9Z_g-29kk&v-WxYWT(e={pI9;xk2aeOEMK9A zsty}i*)1md5&QJ{y`(gM9hV)^zCRyl2|KW=$`ZT#7c-*}TL@;3I29I-bX-d4IKSql zzmEc67Z1hp)S7CKmd_{n(^*>BwD<&($3wEtMEV+P;=K*ux^A3IoSdJ1Y^HKOJcIB@ z%`E$J^{GfA)T*J=|4|ZAEU02cst*!?z~*&sQLr z?#H{K=ByUj1hX60wl&o3X34YPF!Pd(QQ@uqADaKp9;u_+xx}O=zSwHM`y}X= zliu1VN79e$3~_rtzAb%^(E=ua=d$As(ueK7e^2YjA*(kb2SW!xCpPHxz z<&%Vkl|=SMQlS#>>z5EtlIAhD75A`=$^SG4MZ3< z6HuVG9vu=crp_-G%@?E2WCC)N5$_H-fpldXL>mt1N^mUH_|eMc`D+Xd;!wVSIzfEv z+>cf_n^?UI9^dSXcA*|)YE+GxmxuyO_EQ*~C(leUyXY znUfJyYUOayw_Ge5=j*R(tVnZAl_iOnnv*Vh$kTg00d4w?g7kRBc6!J?Z0FJNeaaDs z7Kiw_-N}l9+xkSjlt zxhRwL>PDyI9OqzCk!qoXc?{h8A&oCOdNz??OaSr@PlPd{y`|KdG5+u1_SJ~tkEBA2 zjv5Bvzc#yT+1k+6H2l;r(i?qYrcaBveC?{@*49wL9P3}e_HMbsqm9(6H&`jl#HQ-q z+Ss5p72jyLCKd0sH) z*%lf(D?Q=VXSSGLyP%v9wER1blS^9uc%<`!HYVBWdTxWta$usZ9zlv*EyLqSU$|Bp zsOzV}tU{zc$d}L2+FL?ui;Hli5AD!8$3Z&HTPgI`9a*@G1FAJ#42CR6@)|hh(w1U& zxb#Lj0-HhhE@s4h))mA&0hu4e!N3(DAtXtcX^pu*OJ#?Fjg4S}W=j27V8jJh5GfPS z$$;T<{pNO-VCHfX_5aU(n(z--G+~nCd%_z|Q0C@&g$Z1kTj_gO)dkrNcknbhPhbB- zZY85t{a?L7BSFq{;@KK*Q0o<6^~cqGnB~Z7c?vlvx?%(cwT}Nljl8uJ zE!b$-KGE&RwwRJjr^KPw3ovN{*0CD~MrAUPhgvorCrQd%Mn=VZQEU|WgjdCfp&3zF zs3A7DuXt-_T`3_I3k4f~5ze#fkSq5F#Rx+%S>I3lxNh&P6XJ44F^de7e zYtiOqka2$PN9i=zgjB3*+4|vPL6^c4&_(6rev;wJ;G(TfVLA;I0VV%Iz;&vO=C1K) zUuyq!5;iXPchk;qI{vr$%iR}8ooa%Ti`CJ4lUJfgNk%Fxo<&~BVQ28Iz2U>81S0x% zaIx%_;t|Uyycei2)#{d@>MVAN7cW(dZX)O0On)^!*Bw|v>}@E_S6c8B*4Iiqipy3R zZJZ+2XJA{p?x@=Ye>4wI<(;(cmAlLW7T-`|kJD)mj@Z>6Z#JsS^b4X=p+mx)lj$`4 zkg&E$jku+QtN%jCxc7Q7$3?X2LJK~^>R<9kjIK`SCGgr@wk@b%lUueP=I)gH{D)Vr z_0Q>c8)CtR*ze(L`!m{e^gz75ArjYkIMt9Nj@Axy=Lu-^jC|$1`;~NYf!9C|%I9<0 zK<^q<`sjm!h2zgsB-g^sqzmi7119yiA4xX7sfLcf{W`R-hF$sv59{Rd8zUeD0h~~^ z=64o)l&pF)dfHYgYL%?D2*Lcb?7iwdz&6rzidoN*`(TV<8-fo%Ij}(Tl;DUnbcNuU zNWNA{>UZ_N;L-`+@LZ(EB$FxXpr4Uw6YAS4N) zeo12po-qDjL>>X1TkQVG@jc=3PVU~oyBFn<)!*gnQ0yUOjP1nAfti$h)oZ}#Qir6~ z$5Np@YHpF|oW?5?cGs7Y3%-8`=}q3*bIEBgm@ zFAZZlCx7LgLC0l1A7a~F>;Q(qtlt`#!SkH(u(5k(_(J9v9r`qgSy{MxdjU=RG! z`~GUOf;x|Dp$ExkqWJ+&zJ@9_3FL1LSV>^)GI16~j#Alllu4 z$ds|{--?whZbrN@NH-{WwAaMdxj*wMp^R>QH{kg0pQ{or*SKQ`)`4FKrh7G>;H7!;o0nJkXvNVrjwDoag zzjni(&v)&cxLXm1agSMup|bXor)vU;bB=@WOJ(lEv2)`>%0RYz2)bw!buMD?hxdq& zWZP{F*EMde?e@Y)#6Y&}JLUXH<09d#(_pyuPj6=I?^C_)QLl9mvt(#?#S3odx5~rM z_|E&PPSEvhSe&!>V$xJbE+jPuA{Q6N@Ml@|s&p^nb6bYhi0?+?+!tG-C&B2C#7og0#l z>w=4kwL7`S#8mn6o-x(aw}Cuex0xQemhNm_`vLR&72NK(o|RjF`TJ{ti2+y`3XV|* zhf`(lHB?w3|50zUU+X;N=PC1V&cx>pVsNal$7C4tjmVYLRV$TaFM4Q_4aoe+l5vjv zZ1%L4gm}G5Ufty+VwpF!enyuE*HB~A5j@c6Ix8WDW5Exx!q%+N*CBFvRqR%VhdjRb z-(5`}knW4^uIjF#*-Rk{x2S_lDt`NuF`#a*PiYj_OmI=W>~XU8lo49ym}Z?p&!HqS zx)>>WpK7GJ#BRWvyj45<7VuT%FdO-PLnrrd)f?*cJPJ&St2LpYno*6h8>1ynVpV3`QhuV=urF0p6!XvtmK`V~N- zU$$Hy?`j1n|6!VYTb~>-m3_6%iJSq=i=#pbzfn&>V_U%0!O&V-{R4Uml5glA884WA zsL$VvnAJpzyf|(=@4IluQfrF&;0jlYOwC%8uguR~!a+6t6(O`UrXU|u9Q1ij#0;M2 z1(M@u|2h#UNKM7leW_@i9F%MZ&Eri2sb9u4@%>5a>HB}>QD6c7w@{~!V{lnSfx@*RuA@?zlD ziok2_H$+>`*L$lFnwJchzF*dbB9U5{GI!A%;MzH_WJ109W64L)m8Sb%$Fu5Ver-{2j2aRlAQw5ufVarp#s#Z!RE*7aEMND&jKn?aLI}ulkdP9 zod@R&vQN(c5Dk`h6!8Aj_RgtmQr?K9VREMKfne9(<9{n3=luS9_3nZj;b3g1Y34L? z@93D-@S`)K21YV{^L{DsGHCD|DX}f@q#!FqF+(sek&%(*^ibeBO}8y@9LhJK8v7x9 z6Sk~W9x{}a5HTtX2T2s0H%a_JvVJiZ?fPFkCk=2Gm6Qa9^xe$8jCrdJm?6;+E6{#HyJD=dSpC5 zalPW^#s(6gKX#D;zCw*>gurxYcdk z0DDw_vvDayQKLL3k`RT6rQb1tl`S+#-ICY9XFy3?EN+8P3)3E3zxHWl%1B{DZ$QGK zXGjB~V0+j-q))Q8n6T)~K@*c+t)~!MUj!LaEOeOk-Z(25gD18NA@1aKIb^+ zcj^85d@q;Zzwo>~pU=yE-L6*~(`T+9cOX4|T-EOjdifG=2Hc%LNu5FWu=iXhm@8fsUlm zTE+hKEsvyrQHCEY@=mFq9N&ToP27l?pLpE0w4%qUkL!klg33i`mk-vjgiVZb<#5O^ z;;*$)cVBR|urP9P1sqnyu zOO67BRKh{L4;CN++9_rSb%cBWSAP!OdEmokn;fQlK$3hAWtdNiz9>6W8L{7a@f7P@y*Ly744F?y95(57E21Be{U!mfs$oy8A5LY+2cW0aNWFuFqRj4dh4M3 z*)PWSRm@gqDVr(?zZj|{^>=ZUJR7of78JlLdvBim?!nO|Q4&arH+pcHf}7sacL z?Y!O}9>)1(R_lIfQ=R;k)53zHcjCbjzZ#oscIQcQ!!zdS?v~FguUb7VVzCi@_p_q8 z4WGTEfHJM#E`21Wk^< zb|j0E$jELW@2RBs4uk{vhb_j`I}@R0N`~^Am&asc2X?+UnXJn_l8Fp6lXgv$!Wq_$ zZ<=OTyf5x3p&OmL_``CmU^3d)a`%NPCd8&CYwg$*>CrLW8S45w=MF~MyhJz}-QGow zE3@#dQ2Tl$-Nm?}AN;YYKuI4Y>_i3pbxO%)KwnH!-8Gz zFQ;eC`M+nOdMvAXU6rtBg=+Pb2%kHwSHkF~$;_=;+^o--X;yv!5u${&3{!y-zFD&Q ztZH`L^6^;zBXBt$mchmVI6a7Or$}Wi-)cr>PJZBJLcom^ZYZ!)WCRXh47wQ_NUMhf zzJFY(RHFW^PC-5;x-i`uxBDOVcasO`K7P^{n=K3lG8gOF7ywlRlUH<^ynVp3b1?LW zGZd%4*Rcgb=Y5<1#*H^=gud!$V+?&LSN0nsM3w*AYN{nM!e%?^-W>Z_YK zbpDbNn#Z)LS)!_Dt!?D17AEs!;RHS;qLIe#?8+%-3O9VrKtX7J+VVUGW@~OA1#u3< zdkTfRJ2xZh-@R8@Rfb9d>2crQ_$;x!tE-sDb-BuG6S=HrROCd4jkf)GvCoyH3GfEH)PeHHX2Gatw4>YNsy}IoJxfpY7(3$xg4_ z_0kZLBqEb&>$Q4P(OWJE`x#Xw6~V6dk}Z2Wjp%Hg>(iXn@)z-=x4+%)O7aSySUWq#i1j(IsyIgiALA)X)n3|z)=gC zqU;Zv<;01x$FV9+Jt{4|hbVPjfQ&1K45;z6Zr!_7s7GP66QgL;<*`#JbC;FE@v)%& zd}B&v?ZL2Ooi;^X>!mgh*3&sj&ykZmpCtAw#H7O9ybt?-SquKm;;V_|U_vTrK%L|) zcP^^ZD?-dmleH~ns~n$$z0?~6vVkN48>)FKi}78P^CLy&+@swUzM|<_X-B*Lt0QN$ z326{rF3=p|tO^h^foYWJ1kWRx!(Z-6Ks}cN&5X<=1&~AB*3o5uOsx9AbqZt=$Sc*N zLr!HQM2~TpLlEn1w)77$^_vWdjGnL#-B$kZXDUJpaAO29ZV3Y3%ATT z=;rKP{kG4oF2l{;`R2-#_9{k5Ca7U%Eq7<2`AYaLuWe;i{Qf|n?c4neg@yg{0+_fe zyQ6sP3!l1rN6M>2jL_c0jPq|H41=7sF8w4XVwu!tK@$okv+H2$@)E!>Uap_(L(`-cW%MXH*-=HAsWy_ z&$_C%DqcpFbN=PuDDl*hm%CgetxHtsgZ*q?|E{Z!!Q#CJ2#kBa@!-dGOR77zsh8k2?^P4XQ;K1uDgh=rZ%zn_!R*mq1!DXkW}AyK z&dL&R4n}4DF_zC{Qo!N%8r6-UfET_C*q$;R69mbnMOrks`F8f}>LC+eW^mFE6#1HC z>UjpRwC}^e9il1wS^V%3kD=%d2|947sRu#l!63+pSE!%wjG+*DNaf}QN$?rJs1q*i z{z@Ckc_$z*j%>*;Tih?e@8o@(#P6D?+d3J86~2Ew7vMDSY?&*mbuy!^&;l$M{$(hR zY>3!&Zq_!l?EiN>h0B7WNg)UQvg%-H-*#974E=oC-IvGRrBAZM-FB9f*y%%v5`#eH z7q|{Ys-dz)n-@ zh_Gz;f`oQOO+u`nysY4!iurce_2&SwW5w6P-d{)yp_YTf&>0Db91FE&yZlu&1q|kqE1lUaMc+Dp%{x zBN5Ebk2R8}NnavK*;;hVl}Q*-ggV59`^PtltUh`De&9*20-ig5_$AbyGmV52wrZqN z6x9_<{-hh7C}Eo$7;AAO4bgaR+|6gy9eYIrLvA&gR?jH$T|^7qaWo^66RC7xO_PSu z%Bv^JhmIsQE{cynbBbg!g)*av?pzbb+;-2`a=UNky^I(dD66Z1(I~`53eoYKOpMSqCOb2ipU*~Gh z54?Ay17T`iSx$VW+&!oWu~kV1;k}Dbm-aq)B^WhgmCg%86qG`D%gHx# zGC-K%o(m}HjCjatQFY_Nl5}qlRS_4LRbt}YE_&)JhKY(_!lFyA&byto<6TG3dVi4d z;Ij<^cO$rFz{D)6{J=NZKhcMEuFH77p%#$k=aaQCul zkplwypldWkqDjN*L{1OI{`^g->EHe*6mKU5C*nWaTmyN*Ei8tJWsbRvN~t^Mp#ymL zduuVW#m_xLz*gHg1t4xSGsGU4MJfF6F1yZ^8o8dyl09^1aMRP69{qN|bopX)YAOWF z{Esj9Ai+Dq)XE%6KdVS~{Dq|Ti52?lQqn$j|ECm$XR{p+6f*CEN@_Gd3x-Dh7s0p$ zoqz9IewMojkctINzcVvT)K_1_z(-&)@ThwfQ7GJ6#Vx>PqU7c+7Nz$KrXmctb*KLV zITH;AZu$@w7<8Ur5)@4YhJ{|9--V&|Uv3(kSV)_&&j&J*p;z$wqz=n=E=zytJk=Ln z+Sj27(@MG@NoP-WAxJry&3y&E;jDG?9tpn8+ zWxS8x-O6modJ;+uFI|ZjqPvGdm+eF{YMCo&b-#OwrJp4_oKaTxR;5(zwr)FUQRIfO z`svQMlVYPu>wT2KXl0a&aG<(M)_?2PtKjkHi%U#{kF4%vNj`I2&&8lpp%uQcCwv!y z`|jS_+L_JRaZs&gESw_}QDLD?PgfcH^fD&-IC(BJg!6~I+P>kW_sAvh-w3A)%J?v5 zuy-^=Yxybe=u#*DSDCTaV`AmV2a5!)gY@M|}O3 z3(m_)Z@uSqb~ZmwOqrt&27{6hHpNMTe0$2FDT$YW{>mzK#wXD?N`i*$(zd=4)#bN6 zcfNmz#=JfrY`8Q_bRB$qQtDq4+PMg9XYEd(L(|0Fj;9L;s!mW-+2XzjmOpV7(krqe z?K2X-W@Ca&$>=-i3(+k>vLX5{HwP$}mI&tClJ#-gPyM&i6`zGNZ6{e5wzYDG7#a{io*qr{uv&j#h!_*CGO%&W3CJrw}&)6)a&G%$e z8or&bYU2#M(BOE&0;u)|CQ$&60t)P<^j@?Wyh8asEyFf?$OC9YGDW!iv6;n5?rKhrt!^CId@4t_cp}G|`uE-vK`-BnmV0j&2Rdc2Fw_jK5Ye?lipsNn@ zJo5veB6%-AvZkoC|MeRG6F#1O{N8`nhz5XQOLCCI301*`$H98g*3Nnz2SCC>&yb=x ziLy(F0qE)zCkG>rU;oVt|8FVZ3sV_f%Jct7nu9@A+{{tXyn$EgD*a7^jZ>>Q@yZG@ zPP5gaSN?R!_LWPLJxScrv^!c@fXvj8Dv^K?FN?6%-!#=ZP zIcu;+en=iGFVJ*;LYlw-c=tHD?{;sUQW6g7qKqVotHjtg&U3L67C(#6Csp+M$WZ-- zkPK)!2&91y(om{;6fZV;2f8$+Y0J`~aMCw;*IaB+X!-Cyy1gR>FYU>-X9JCt6ML%w z1)~nMr!j!2llPVOcz}6_eI1FaJ3HjVs@ulU2IcCKnWn z4zK@ycduNt*)2^j`e&H#iE|R2uvju3Z?4oSWgZRJwBTOiv@)RBOZ0ia%X(>F;`l%| zF#$}Thu&J{o)?~NY6$w!kN%2!&WK$X~uYGnj{QYHdj%#3l*c zty+Au$m%7GQ7Dg*2~<0J)18{;{$>PX{#<9<^fJSPQ7V2=O12jke-Nu>NE)$LXrmu? z!7~>jl(w(gd}sXfE_^Sj$)>TTA%=;^u-o){TDU7B^j^hmXsJ=D zNXw0jr%X62_nA0p zu&R=fFhcOtOwXs&CG(|_54j(TRRPPX*4E^&o||_3Dx}8f_zUA)TT1PmUv?Wyv_z2? zcaf}qg?QRLZq!|1t1`@t%u!yWgxb2Cw=7%9klWq~5wdOh(Cy*=(={@zj^S|g6r~v2 zrUF_{=0aaXkY8z`JPTy}%?D%y9jpQhJbj1}W7BcO-b)3b0lc<~vOK0@$-O2W(sO8G z=wPNE*)zQe8-75WQA=tswEKo)u#6sn%@_Ip{@In?S8;$vj6=#$1@6o{gUrZ8Wuj>x zV1#S@GwTf@$C8SgjRo1S9~(;o4d6r#$ZFxpSuWU(2M{ml{7V7H7uyA7WD35YAf&!9 zk21+lSQ3PA`$q5-6|$EZS)}8+OJ&05aF*K`gszH`oVW2?EZv^43J@5q__;7IzAh{7 zl;cQF*!0Q0Yw#dCi%3q9c4>L;3vGQSuiwqrBSp(3_ZecMmsMI(^BwVyslo2*!)&i) z_J#rfK9zEAwB#In!#!oYeGWL`#iqhIeVjN(YV!{YWP~&|6UH3mMT``eP3ol znS9TB@TLxZ+qUs#p*#Mw(G6aKu3sV=!qeuig4!?%boPd5Qvf1%q1L=Ai3+)HIvrwC zZ~x&>>dx=p3g^z~B%`LC=qS`+-`Pll-5g;xc(QvTGq;}P)j~UDI$+{n7Kpbt<16d` zQu1aTS2oNKBo*0hpDWSOk1z(s3!H`2{tn7r@T1yZ6pp%eyGZL5gv3%TM7EfQ3f!Ce zjO`7V@)$!@g-RJ;`t$5+hJf(}4w{*w{XVjhWKC}S&xy^_#j98)o?Sr|#@*aIW9%lXUVpP(&v?G8 z_AAcShxk`nV>J8NO8o0)g-NS)-{@z$boSv|a>L0nSq8 zjVuv`O7oq{zOduj+dWfkf&cM{v?7|+yLWz6On>}Z+2Y;vj`d3rDY6H??}C{Ku8P|Q zVnzZOktoCl^9vyu;roUxR4&!0tIn{A+n?(6gur`>@MF-aNR_!U)kGuU8q7M7 zo9~84udOv7v2c4fADN49Q4!RcuOHuq;aF$7TMn8BPc-EcCw%D?Mbg}R(G8cnOU+5i zOBt;1K22HQg=^$Z%euPqNGy9NAvMEuz2mB?LgJ9-F!Lm~B`U*=pXf-jC)bSlPG(t* z)%ox7L-GaD^Wj$dxq(Kts?_6y!GB{nxEYb5f2okbDCLgpq5I z8@K+4{M_Bb1f-ayod1i2AkOBa>D0h{)OTh82lA}8*$+(kfbEp_Vpw@aP9GAvseg^e zPp^e8_&Pi<4Z`140tc2!`IN|yiVe#($7mtL|ILw11wq2rSw1DY(=ilmHBO?p%0i!n zx!)P21Sc{|(mNNux|L>bo!P2@c?de@$1CI&8RZ*cPD&FoBEs_xMc4Y2dHdSY2!pk( z@$)&6N6Yl&Twvqu?jB-QEqrq?6wB+vUgM6E`D#8|(E_m&J=$guHi!W7#@!cG(s~No7RLRk-`2K1w zw!~}!D>--XYfH$ATyECpfB!xvsZXa~)s#5?MvsdU-<6X0|^4xGk_(A)OEi znH>LW-h@_u&IDwk?8A4h6FBV?zfvIuv5v=V2u}(pIPucBlrrs^O1lAP@3i)LY)dwC zu>J3%OJ(y%8o@y}AGH`k>20(qeKg7>GU>09oQg$I`U_kX%nKU#i6MlmY>k%@e2NrJ z9%Cal=+}x#b%oNrRUy{gyR#jaB*NJ}^74e&^F7;SSCEkB$IHTkuV4kxM*+z%FACGA zCyK3XK6+djx97Pm@TtgIXTCdIlT%Zoy(1-}{V%&~=KM$mq3)hfl44syjelyi7DRuBsR z^5NS4Xb?@_M`WN$5(YHVB%BS&wG-Ix#lg_&kfWyZWmW@PC>-Ktd*zoXnV<6|pa9%% z)XR+tZFU_>kz6-oWY$PUiGt{BLsCBTk?J=(!*1|Gk`%#di3U2=YS@r=F&kmxGW%BW zMOz^<8crq&xjh3E|#i{)CyNyZg9D5NsE9;ObhuPA(omSsEePw~vK*#d5-A{L71EGL=;fH&$Pn08} zAXgo2eGwYcTi`j?-0bTz{Sdt)cFq)q3&9LBm zWclFW&7H365XOxHevVB7CN$zr%~T^SCGLL#t#AvM)S3>;ZsWN&OsMxo{rI4G7P-!< zu5C2xjxmybAb9f7!<8={_0mTFoE*3Ze61W52w zK%_^GnbUvRF}2iQ!+yC7T_XL(Q-TUBNq^oae~O;xE*}dzh%Jbb$|szx)3LFbUA0=@F$Tt zSS%MHVI@dvVd4w^Prj%-rjxf9ZR)hAn|LX_Typ&!OqH$zlIS}6t^yv)=ME9Lk=!}k z(`Oy_C;z4Tq#%_(KLyeWg0gc#d|R1t&;r)n2*m~d{tv$3<*Z26KMpRuHShi8GC<$m+sDLd6@3K<8TE6k*K9K?YM3m2SeC&jTP#RCY0{vq&2^37HXRDVJT50#n5}ic3+uC~D ziqCvi)ZUaMp4>|RdZ<(?;!Z=%_a$T+<@{tq<1d3xmb+ntPb+^}7AbJKZY3P0w5wX} zS}z)wp^mJQYP!yas2`U~rQ)<{&@2b@Sr$!KY=cBZ%>2SJ{E~VYZ^clhggHYOy5*_} zucy-2RMRfu9(?84uDddFs=5DW%(U<;ZFtu-R}%!UTA}K)`-tJ(7yabbj$BZrr@VE5 z4m}8CzX}r-`vHR=ZIl8xHpgF!_g=Ce%0_|XFUqPkLtIz!S83oo3gPG9UP7D(J2e4e z)bHB`Jz0A;WHQ9~8UNH-K_q)pM7{$srbj=y1-DIm|Dp6UyfOfF=oSoYpR4o!YlL&G zOnI75FYKjPMz+M(^V>2q0Nd0xh}ZXvvR`aMw`(^sxbb@Ntp64dg5a496_NxW-&)D? zycTlJjVphsy_5-brbRNU?*|5fg-Quve7~i{(eTiplP@=GGc||nc1EQYrOCNmkFC?PzoG#ZNEfciNGdT8v1=aKV z16pe0g6IXp1$xz%?CPgN3u^Q2f!`Gz9EmrbsZRy-OA1+@6|!_#@F*pUl4>qZ(Ky51 zFE3ww(oSp-PkRELsP%$PKdQtaquoP_Lh?fErQydP zA9$D}4QrK=qV83|c1lNP{Dou=K?jD!+FB#Ne&JQaUkeZmXEJ&&Y2^=_7gWYob%oDy zb_a3AM%{Rp?UpQC7RY%I#D3R?&Qk#@6*i5BzIPMgEfmQ-W$n%HN42@hdCF>|MZrAb z;!wQ^Mudw!hQo*`XN6CWt$;Yzra$K7v0DBlMybQPurKQU>d`vbP!Fn~e?NGNqN*{+ z8zDRt^=D#!8D%9r7cjo70sRqLgH`|hgG`0H_1*}Ce&+b9wd5bKgf3$}tA`xmkpEDo z42pi3%Q~Hp`OA9aJk;WV#1%*Gk0&0jyRL{`8@1)57~SEXqBg?J@JS%wZ130%6zJoa zk)EOSDuN(DlMdb2@lRIrz=;`Nn8*SPx$Dq+xw>F@>8^O%jHTTt%?_; z1D}y4*Y<;fDPXc}ad8r!;WQ97DoPI2sjTyd=mcN)RxXkpl3}UW?n@(uoZk$n z?fc=KdJk<0(zG|&+O?xAT|nwJD^)Si7o2-~(Y(Zj?uk^5zvAzt<;U=Rw?*QK1d=7r!AgE^>M-moA(KOZfn6*^D^ z`qpXJS$}^H#ct!uQ%8tKwA(zJP<18-=Zo~#e3AL}tQg6Sx1X-^@x{E-Mt=KK==oHf41@clbURIvQu4M6 zbkEI{bQjvgmu#2){U2K2mWc}dvt`Tf5xi3mWVDfrfm=4Y!S?RqiFz^92NslspqD$i zy2c5FXCiC7ZZ2VfYeb;Gx~3ORaJUykyxW~nbBMwN1Nkn29?R)&Pbutw)T zY{l6(vtSQl1EKM@wB4*2+cCu{!Zs~2X0Vw&KDb77@JRNf5Dxo%m&40}=n;r_JiE2> zJ{fj-jN>K7q3%aW~g%F8u=9KRPG&P*l;9~piWTMN#ppi+IC zD|o%frZzt|e-_%iS}ye2bMzHwGFh#oYjetk*!u5-yPK|kPctWe3_OTLyND>HeTWB%lME9 zUQJ)_OxY}+tb3?=0KSk#7kVl0a!VEzwX({F(?3MF?A^bB@ZJv$~$*g>TGkN91GtF@APXK=U+LiZO z!uDu7H#}Vy7YL?C?<_DQz0;0dBS~RpUr5O?6-uouT7r%)<#6B^;1`Gt8eQ(Vv_&?0 z=VDBgcyxFUJEFd-?TySLV;$2Fd$HtESjr3 z-dEui38&bOg_Bw0Qs?f`FKwm{*g{Voy*fJKb^Ajf)L%pBiy=LaKDi2`%Snr(h2PFu zf|ww-j8DN9VMm&#yxIHwdrfn|BqC!j^UldvUcimi{YPN(rUu+BhiAEla?9!!azTc{TzyT{LqE22708K>KO1){9Js0Z?fb%3M1;Gs{yow?gYAxPu^W=YsYml4x zLmT{B2UW9yrX2I={+d_+9!hjjDN7KQ9cewU_8 z&Hc(a2#%(M5MvU%5BZUn9~ty0PwzjyW3P6X9~l0Pk&sY_4(TUPDYoPO&{j1}yh8fE z+Ri&KTX{4s@y71+0nN*MIup6RZZXF!GpKLfL0tZ1M`CS`?`iiQbqClgj4L{0W>UV! zhri*o(Q~8JJ_tOwHYHtRF)+5~fvjzwpFGg~NA;<34gM!s!&Kkq{ufMha8TdPY9sNe z=3Chiv@DEpVHVGJ*+b)L{gT2jHcUuEu!Ec*`hzn~I#5hrv?g1`< zbp2BENlMgl2~t(<=@7sI;Hd)WZRxk7AWWWr3toD@{BH~*4@Y9ocLF^b zZ%4BLU2?cFShKHmuN^SE->2r45ES8yRGEvwyE6b9DH<7G03-52hHlL-mwoIz61EY9 zqN9QMwl$`%Y8p+7FM|$E+qwjX^-*ZgoFkq(%XsY)@#{yk%BWfa>v+&$uU&&6JJZ@C z159B(N>X7gwy|dh^HKqk;ih^|h}Gc+s7~{U;df=8J}3szz0KFzz4=@?lrn$W211IG z(gU2JyZ(<0MrA>`?tXek{{GRa%_=?QJ>ds7U5q53P8f_YpOBeJOe|d?kP$CxG>3Bj zvta@n9aP1(MQf5wWs`PrwZ5XE?0!ZhD~WrsZ#r`9Cf*RY>sygTDN5qAu77q`+(O<* zlC@GaTRiQsd(#h&NEstP@rU-#gR(&?e5aM z1;@4U=Sl*fX6yZ}%eGuFjS*-1v)u=!__Ma(Mib2!0!( zWW#<1`|3F)E$4cRB$%)%mqh;|{VC>rJNJ22G^v=iWO#yC1}0e&yW4WoFnIB zX`hdn6hY8HU}@B^YASQdf2u_mDlv>tVav~HAe?a!pZU{%8d(BpZ6xV zes-@_)bVM;v0(x;9Rop(aD{2n^j>8$waW-*} zNi1@UM=B$(<-`u~LqXtsdKv>R2wVf=ytUat)cUz9U6D+Q7O7~dVxTdQ1mol5_hBm5 zRKU66$mFiQ8vi9VdUORVS+jfibX(5mbXvd{PvvKZhV5jzzs#G(%l(|c}~|0I^WanJEtW{&7XE8SBsM5rVymb z=q{|_3qg^FfEHRV7>9VtS3Hztv}0s_ml5PqHLx|F7l`uLBS7i9VKMD()F)j%bVi~v z%1u!sk|fT<3z$e3M2*u~MfpY*SL-4ptX>sv1@}Vdx$6--SNAZ54>iH)qru4()ilJH z$Pg~(_VN>Bgo#A6Ka-F4c5?Xe!-#i;1nfPj23j=isclUY`Rk6eW=xXgr+|7)jR2gOdV5w|$+IJ$Kg0{41e5NoQ8aHpV-23DH zgs=B*SfacEAZ)hP=U&v+X1ehzPxP&Ad}^=pqBGYWJ~=_3Pba;GdbQe;;IS~GQc3bfd|LQ)g7uw>5o(jS-n@W9qLy zcPSIrvn$|v_vJgB{Y)2;4}DEdv-@VFs&X$zkdp}_YVbbSY~GA?lY#o{BbUHeUQP*^ zkfN#JTj=+@gK0I|AvIkIx=w{nCC8quyqZ|G-#YYCrrUY;Ua{vA?VFD|hZA&Az}ZcQ zUp;H)*XkL8IH6k{5@N`YEF!!8cW)2-a=E?R*R0jH;cqamMzL8ILw0zF0j!17gOQU8 zkB|CR)h$X#&4ov^>AN?fwrlbQtVsbJleKLJe>_ISF1m5c#Nk!rVd$+`@JEfK zRJ7mJY%1MDOacT04yCZ$At0}`pt_)W!V55Vv=UuKJ}p3tAofrd5r8xUBwLoK*et^X zgp6CYi&Vz{JMlcu*lJ$OkK=j{(BTx&e^Gy%_Je^t>y|g%{A3zuG$Q$9Icsa(qlgWc zAoPmhLH6yAd8TOaj1JV5l@w{y#tz%x4QEy114V-tn7Tkbu8!-Y30T>}BHN??YH#6SeTFy!y2)_ z1HUsU(du&Wuk zMg-I<4|kEBAJqx&B?3^Ls!LrpWwx#)#zS9r6p|2xn*H7_67@{#0YvkAHX@;3G#gp= zhmQV@g+FqS@#GQa&0@O6ch+`!pn4oTN&VsVW~D-Qi-gn9er0Y6vX(#3Pzu`kqO!jm z`i%lBwNGrVJ2aI|jpg$F)7=kY^HzQ8G)c_G3t^9*U-$2CU2;e^dHE!)C%AT}^^w{o zXRA<;=NqRe*;TcYx?UFiM7qGkWD4PG2en5OWN-Q(gv_ozw-{!{25!&5$LbTiB@^np z57W11?Sr$~KlGklr4-fVfv`-k%vE{5O9u3S#bXG=6Tk!ZfJ(X!7kEZ5U#aB(y%#rn zB(gaY$Zd`ZUssy8;SG{D)^v9OzIdBkvp$_rYwkb^q&uZMIg&hu81U3k71X3RmRlS* zqY=r#mc1C{#TBHq6LFhsYeAd&)nq?zI#HTvw6?>KC9k>Ibloj~ zGT;7^20P>sug*&*gus{Xw3&x`0lM>ZOR{G<=XX3)z#n`xH(~yP{KcG@2mEwEr5%nO zihOm6XClJiba+8-X^bEE@FWGrcPteoD!mQ;-DT_h_r;aof0o9d4$3-j&c76nr9)A7Z*3rM@l!(WfQSi1(jhuf_<67H4(Xc zR}*<(XxwjR_KPH~9dnDB0fm(w2OZ~t)>IwuxY|J@zvlit@(Gi|3-rAqN| z**v;(P+|kxl)J4rY>?UE3R0sHx9ba+0h-cl7GD1^5oseuf5%yboqH6CWzLkTd{BQMkC(Y?Gzt1Lkiwe4br1M zt^oSVF_Pt+dFVIybUe1aY8nCiIN5~pQ7#(b+y6k!e6cV60K((a4hPG|+a{x>xObtP zVob~r=dB<;8VUhNR^$}#1d&j(w~u)t3(VJF_1p%5+jsKi6TL6jC@Js*6s3YOY9k+? z3OxGQl*&^Tns;5NLF6l#ds5IF--Wv4@H8jgfeBTPp$eTj*)v4eFDFuBINjgoI|C0z z)@gYm8ZBQpVzrUuqu=@arA89&&OOryZ~Sq`^=+P3#&o}_)4Js`$Cq3TV5EHW16`A~)4%(}zRl(cJAQO(TwRzS!tVNd!ofv1?m2h) zqV@DX4==UV=K#(HdLFNyCN2y7Q1KosdNbiS%j9Pddp&GCN+{DPo}2ejd5cddQTk0wUE*X%*4{3B~> z1ICV);kBSMj_nl6X`vf|odmzxZf-;iv4fJ^i5lHydyumm7SjE73>914xU z6?nZHAi>^kpb36W=C#tD(k)8}q6?H}CUQ{>DP%BE5M2C|nK}kZFzaxm3Ei_2RY-nuQ z@M)g#H|eLM$FJ>u-(X&RRJe1R7`(E*Rl43*VLHiuBK5TOeXF<9zz3#NEhUwwb`+eLUM8wbHbg8(|AYkMSp%u*PftsLU_Zi98gfVn-0hTLlP$8z`5Pn9gl z>5o-agO@&BxLiyDtn*En^vR?>7dah0*{kRI-8X$`SFb0Eu5$^Ea7pl@68&Ssf+Qw! z+$WC`M{f>lG#4sSjlO)87FKcverwjm|5NCbH?NmfCyP*-gEJoZGZx#^&HFc#_Vl1E zpSdp(>@FGKA!A9~;4Vxp`?xvxSu5wt^a~QgUC*IXNtyaoHt6Rj>t2OI_dnBe?3drP z#B@Sipjc3DXb8hzg=>lDhV{gCZaU)8s$Ei8i+z>m=g*_UjYNI zZO8Cq`Xh~x;maL}-f!V7z9k3aK|ReB9I8!26g@h9-f!z8`;BXT+#Z#Lw)$>Z^Mgpp zy^(q{sYrK@P|#3_A0J+mDBOR%I+W(RsB_TcnN(OXhI&SLAzl>TxQ5N!p%276~%>D!5Tdg;D3*bp4| zADq0iYDS%T%w?j^R+~a65qnlpy+m+5@vcCRQ1&o+Qj*%{oKBj%aV5#%yDTk3gEt?A z3LSK;?dzI93(L?!5u&|UQV*iS4LdF1o_Y-^#{;eGVdzIiH?6A%{d!Q8kRLe2&==A{ zk*jzmq2``vRumW?KTA}@$&vRY$jiv@m0LB-`0eEqmIQVCUVuMCzm?Aqjr{`F4}X16 zWI>*b(|mBhU&=MYhzt^5gn(y}en=st0S{^t@#N16^4|YtyfeWc_bRUr@+*Y*57bvb zFsZ_ZKG^y(s%_M0HPAYH8xz{T+t1z;7YlA(K!NbVKNc5a+GJoJ4=66|mxLGF~~HXS?vN z|MH13(lRz}yLZi(va&^ZH%*OJyUV<{R_Och?ObWJ^7uxQ)=kX5^5{0fNB(u>msMg* zqPUSY-TUsTBgZs7=ea@ORAxyHYLB)+1_B+iMw{*1ySR_Gb*U=oV&>w=P_ewx^wEepSTb|s~)hDx_u^+UbtpyuEOVO~-ht9k(*z3hsC+?+NzRUDziS(znX2Z9O zJ^?Fth6@iKr}25MSm9g6{VQ#FA*KUf$2;Uxkjnw(cBMW>v?|vuR_+>KL-U{fIw}c| z>@Gj<4;@%vGI5)LlGJk#5|2z@d%;MoD&c1I85M@)rJ(z@B-DCt~9S?bGCp)wReXWy4H$!%z)%U+M@i5(ZPiqiD zDfUeZ!+!7Dmv?FHI%ReD@rkQa5i0@770$_a!F`GkH4B%I-$vFF>#^lJTz1oEzjw?r zv)SceO9Qx;DsUH@o7M zc)=fz0?+913CCPhJKc^vvJVT!3O2QEJ|WWNwm3*N(USr)<6B=iTZM=Qe~#kF1wlk@ zW!q-V&9&5Lrc-Y|I7h>7dq!k+g4=^dAWTexEH=KmOS!w-n$6&2)E5#9rp|r3&cph< zBn4=a4+)WhJ*EO5-%xJYN5TP3s;)`bKNRS*A%gzJ=`9RDsMG&nC6-EsJS)&jBr4{t zbg_H#CsE{3?IltI3wd_Vvbg^5=bCsp(#D(YeU2h3g$g-g9jd1aGAF*zf9LrDgq|6Z zUHXQ2HT({B()fT>@UGmO4w*v_re%1)dVIgtcMpu?WTEJM5@K*k%XhQ6!cr=|ymix< z;`C(3fvkm`5KW&UlSc=sTt&T+PK4r1AmmZtJ>GPejLDeeSuAAlm?6Uf?-g=GFw121 z@-5*%zgRmT>6M3W#gNQ!za||>`+5Q=pOz(}P_}1RPPwriv}XsBql))WR@93VKh6*@ z-PW4tevuk}6r?3}xJKKT70zq%`QocCD_)B87s_7ZD(%!$cu!a7ZD1=&K3Q}sR{7m>O3bb!#ZCHqTjPk%C4 zu#k}Ym`Rzdh-*(l?q$b(e_1IJsLw!V zY3xMm{Qr1*3$G}+?|u8sFq9x5-JQ}%=b%VPDX64?bhiQ$Ghor(ZP48zFoQ~Whm?{M z4jn_xZ#|#ydf$KI?6dE6?d!e{%KbwM=l4X-vOV5cBUr(fIQ%?$%3kWXY|$%+C3XLI z=&8#7z&qzq#N|5mCU2x@d3q@ZCUGCbK77Ha8*F@Wc^NcyY1oX|Q(E^fb&DGwOUB1L zD^0Sx;Jf|Xzk_fF+p#9<%9J?ZJU}uaoFn8W> z8U;pc!xH&AZxLeh9NTf@2Z!l<-0)LazGxZCMv$P5MS;#qy(uEnsqIoxIRy)G!d7_+ zEPvytIBUrpVeCxlH=#4XKDm9Vz0GBESo8XZsPb=vPhVB4#`U*SW$Fp#YKPMT`-`Qq zjn8_jhyjey`l4$T;dMYXr9UqqnA!tcZ2;w(dIrDLcT_-sd042q_l18$lfKYTO z)6sotRr?IQ{ta1~#{E4KQ~MOBel5L&lFDfkxG)WX6>}#Xzs2!FBCMfmP!N5;4TzD<;*Q6#hqxisBUSZipnw zk?eYz|A*ymJ-r3xCkI-$`XRG3%sC>b`jGp{-H1w>(EKYkuwwdi<-Q^yV3L=9OU?=y zl=9-=oq*!OlT=Ef z{kV^iTcKv^akh=vl+pTSCodu{$9&trWo_#OBwYN2@fb{AE^k@_s3yP%c-?vimo z#uFa#kQ<2;c`y7nwY;~M=Df<}=Arq|!zt>VVs_dcFM34=U`!+NV8!C=!;UyjHi4=q z3=Y}>edL~1z&;lzNXP-GkBQ6LhWPwedZcW^Qi8Ij$&hQx@vdVh2yVY!n)s8QT=Uq0 z$4@YTr4e%eQfp~>O8OU^KM&^|66gOUx;K376mz&6Ic;$L-(10Yxa&T3p`Iw)1Tw9%w$%5)Y@s(?(dK z$m2okUPU6}1fmQp#c#_UJIJKXj9@IqW>Olqk|>s$3Z1ueVv}Jtxc;maUinq0Fw(O* zm?IGSIF+$8y(@2^LvCKQ?SZBIY0ERH@BDFA(gG^VYVabC#J@>TtnsLK4bMQKi0nHK z3tRPHz0XT;smxe}r&jeH)@uf{$tq3`C!!%n%Y>ckee zBf;#!+fHmO=4{3<(^bV9hK3yLk^os77`pNfg#Eg~dcU+_b2X>uk0j8AzzH4ZJcaSX z6GVQ3a3l*0%K5hk6aLQMfLkCP28I0jJ?~QW0<~RQcGFiq6xlcU{}sWZ*Y>4m%#Tpx z0hEw@dZ3w>rDuC-%911ePW9D|%Hf|VQRn}34^}7iL6W!GsQ^#)GX71?Sh4rup)+1^0nelFcmQg((f5T{51>gO038)yV;ERjPRsnU zcXiWFb~6+vf%-eIaJ981+wXNC`-sviXg~j3Gu2co?#QE}dR;}tOkeduaZAQRIw_b6#hrplg z@}A08s`oa8NAraA@$BalB@#QCe3XHZ!Wl!GDza_$LfPzj?CQ}V>fZ$YvEl*~#4+f7 zzqs3b5bd5KLm`eUZQ^(rJTBWUmwjoMvU+ZAnkjM1f(eSu?z#A(uXix$4UxiRb6_%7 zj}5m!x}2~ATZGh3AZDFw8#So?EP!6{sYTA^Oic&X=-!VnckxbE?8HDt{ag{*Ym?=u zk=&7&SrwRiL<8!#p?1h}*|Ere{H-goR*R(~`T(b5x_m(pvFrYqD5EV*_VaRe!BDhI za1p5lS$Of&+&6sj%k_9CPq6f7+l?Klq;ibNq|HfC|IqbhQ462V=k7>VcF6sZmR!od zJkq;}-x*^p&u2C*&AOB9xw^-WA7016(|txn=Vo7yIEcrNV%UMbP%c$&&Q=H~7=>^E zF={&~2=*p~p_>MqeLaf^A-f)w;8({7<;<9;FD|9pWlgbn3Q`n-B#w=R*)^UR_?~Xv zX67l9+PrpPhFHY=0mI}@E`R!g|NdF@G@|Xt<9@eig#Lf(NI~}luZ#U(92?O>r+lU< zF|tL?f(^&lCdxRGhvRu)ZDs15zvCRXscm!(y>d1Ne^B|-`@Vc3iIYPt8iLnp( zt)I&WXtKyF%YFHgm13WTY95+DxlCG)J5mrHeYA=_dtPt_9qlEIr|!hH80R;wWzILk zxq617IPaW1gk6SYvUaW@C9^m=wX}dGgOHCBM#qX`T_f`K>!h^%p}y?{Yf@h3{eduC za*kv;Nk7?vS0%0EJQ6OEx=wU+ouMpz*QO@7(K_@)eZKI+eUR}J!QGt{?)DV(SsmJS zt>c`Z?9F!O*z5!O%6~wN9h>r*M()JZ` zo9xrq-9m@fkt7#Uu*~2CoHeH1ny01m1T~N$C-*9km~Ut>BZ!y0jysZ4Ao45y!$``v zY6;1jkzdseD7yx=vU{~itqXmtD!F#)@II`*y|$7CAFi!r(a76B#7KX{ks*DYt1PRI zKGCH)`H88b>Lo*)%I>3eLcjWUhyf zJ{E@r)BgFO{I`tU7~$9^(UWbcZ(-g+fUVN4^|BOsAVl}8O0TxYySwFK1C^V}Wv+Of zyil-T<1216Zir*rG0(=sj)ZQ3#fdLb+QDXbh)2b&hR<2L)f?I^*22fVhNhIyuI*|4 zSo|Q411_noW&@9;q-9399D4D=LyAK-?|dQfm_iP+PjOk-8^;OED;33l*KTxwnlAm& zk{4U$d_Cmc1T<5tuBwu}0&8#e($<(l-~)j3?HBHMpxOU`Q$k)9B&=#{F$N-A#X{F^ zf?gajp9!#qBFvLIxlJL!1&IA@>Nu(R@xjGjIL5?u@nhh%B`yu22PB2ur0X(p(J5fd zHcsi(cqf7{H~(H|@z`(cBD=iRl$=zbM+<3j6IwPF8Iq$)eEPYr5#aplXoSIa{_D@u zXJz#7G!sBGsb$f8XY~U>$_No#;s6V`tTI5ecdgWUjJ?bG@a?_OpsmxB1R(aI$p(UC zLeC2Rdif!PXaTzN?n0KyM=^MiSL=v}^>Qisf?DQf`itHGk8iNh^wL2rxb-aQs}P{T zrc>XM2>u*21YrS*t4XwTud(OM&<;tlF4$082Q1at+3VNQMe@O$_@pc$_u&y zk$pByU&%4+o!Q6g2@EDjn6Q-IXv4otnQbn=#^vaCE8HSAB|J-z+LaeF@js+q?-hon zJcvPtEQFS6W?tnabBjq2`@vpL^-b1QvTP`-QEuW_W*?hmNv+)d@n|UONSw1dN#?mc z6!$6dtB_D}QmtoY18IM5u?gZ=B%;apKZEKoEqY_OVY zNRoJC7E(B&pG?0q73=iH8Rcl@bg#AW;KP~IQkDJSR!TCD=V$C4wc8`#S&*mSj|8-b z^}iZ6ZAx@sD5PI928(svvr)%8d_ZfC5t;M<5Vc6T{85c1slLihGulPr<_bHZASAmu z9E8FT{e)KGcKlH-r}cIj*`vt#%u=eEhP-t^2o+H<{+It**Axgn-y(8b0s> z@pK7H32cjrl2jl|!?Y|MPt4*k^zj$;UDNjIbq*+eCGQ<+tWc~@tZQtUNUc1Qna9G& z9Ibq&US`cQGV?`p@T`^w5`T@Wp| zVkq#?r?k|^n7J7roqqc}(}#JyL+6Q`DvrG@&y7tK8d+K6paqh!~YzK~2x(c)Ud@oGnT7GQS)8+9y&wIoD%)^9f17>&L4m zX`wupm#2{w;mKJ?7abAc=8%BYO4VBu7@=+tS)>Iu7Pf$8KN| zL;l(`M^m!jAx!Ai{X_OdX2NW5mYcp3VLv?GlLK}=HzO1L8%PLIqhj9K#J#8FJbQT^ z8jF4dc6bXr3cb5*kBj72f^N?x4AaCq7}0k$p#n#*a1=u-+#94A3vNkH_J|%wpEV8T zdbz_tD$B_=iP9en+YSy7FUL0YX!}E=8)=A;Mh@+{!yZ*-hAFp^C5robMyx`jCJ!4+ zu9^k*b+*;ac(xxc^PECVpt7D8tT_J>t-v_>d^T01^0@3`(Oli7TA0=QTiAO&{89hj z58CezyR$LORs<6Yn>nebg2b`WIIc&6B0s(a~L zKC6@a6I7q}`0NI#WJsqWoqXm%F5M*?0dF-IYd*a$?OL?|F z$nSTKcIH~Zkr;jle0W(+-3?vg``{vN%-B$0N`8Vx-Be|Q^!oaPVFk=p+Lod(=b+Q< zT{0l_!V_;L=-;flCG?o$7M884#YgZj!yFVGaS*Uw#nXp#LgEP<$3sZn$1h7EWBABt zU>YX}5%WArCSO?2K2^Pzj)HimY51|+{ASihr9VVcfz_&dhL?mm{Sij(U0$2jGhssZ z9~x8>Qb%1L7V{gX2_r#&1k_AMGS?{KuMIbrHMv%`thDb7Zr&04MzjH>(>;jG?o@lB z(1;W?h3@7Ft6g5-uJ_}rh%`@Xd@Tr30+mD#A36)I0!%XzDdJgnn{Rsa4eSpcsm3Hd znSb+$dHW$k#Wt8=dOK`WJI4W;{%>icYvcT}DS zi^4d{@Nng>ctuY4q+nAxIOE9ug!hWr>*ye0hx$U zfd;pZ6I+JZ3n$N)^Ph+SqKd0<5fPjv;3{n*W~cd5TOC9%$v=b}U{eZC3Q6a~uN=yN zECgvD9wd916yx^(2{$007W#|{kuRP2GFIdWmn3&M_7c^gH*6c!o|ti%#& z;LN>$UazMDJN0L@fE29<24#t@NQDI#wj)x=3ag@?CLUHIh zyC?}_ZqqUV%&r}ca7X3$`8s{Z|oVa^yQoH{l3zE&TalN-b6zrIk(TRekLiD8`xa1!Z5I>z~BvsBioZw6;{|qSIQZ#IXWN@B-l#i#_;rktavw>HktS zst)+QuSwvM%`kd1&h+#+leTZ$f(aoFUSyIYvL%N+phBLOAFr2gfJrsw>MSBm-?ASD zms5@2wcX_-2Z>In!9slj)uNt1?()_Ql2u<{@`Jqj*u&mbV5lGPGh{v$&UkUQb!5?? zyXj}E4TOe4KBwpQd`!QNay;Rre#+DXZrG^n<#cR~?o1E$$R@7723Z;>vkz|k+>SRcF`a^;~4Zs>EZpti&Qg9rzOe~H5H@fN(P?{o2P~2 zXJ6v1UT|pxgvUaGT6!r9b#MQ7_~8`seNDDo zKbdB=%3Z2!D7u|ZkTv6EQ#h$&45LGz(MxZAJ*SzP&_f%K#{sIL?*aVDyS85CTiilg zN~x0#8_?<>ohq~-0u&SfGospU%@yla1qn?NsQ09?Lb<{qey)yLbe&z6lQrp~X96tz z!n5ioiU=f8e9@r=R^}#XX+A;&sH%WTzys=>4A|PdCNs4{= z{WjRw|47nty_i@z*65t4XBLoGkL!tLaS1;E{n6Bc8Vabm?tnS`e4~B+?KzD{myCe8 z!@KL;*%IICWpl$kfdj!-r;95Mk|}(CUX0f-_}535t?3hWFt|Enhj(pHawtK5^i2n( zv(2vFBQnzivoP7$QA!i<#H@i1$}N90OqZ9fMeeH*NcTUtWE(BE$l?WTN%iJQm|daJ zWzrjnE0Nsz70H!RMvB7_G8Wer{B>QUv_faIZbKz=Sl?p4&VbE{_zT080+RMzl+d{x z4!Zd?%r;vB-wXtB`VQK1A;OxI<~ zPOBeXZgCeUj(+md3hFK{vC&ey?4bIsx^rbnf#;+_J z<9uO6fUTow{!^?z>)g|w?+*|?iP|E-5G5f49h@=*sC4gqz4^~ryaSQXBw&vxsU_Qm z`L8=f%-t4=r8+CMEFCF(F;>{D@2+0|yK05&1!urhi$hvsBoEw|u-NB!1T8;Kx2butl>L!%I(XfMJzvpOd2h65VP*q2E~3bt z5Wq==kLE~xD1DEW>Z9hgSK8ips>=v$$^wL!HKUMpd!oH{Ke^{|uXRG`U_?<4GEo89 z+y0&YQNL z`?w!$H%M1KQegY4{=l21GV$Weh4S;x3;!$2@6@JFIuO8t_xO33Nw^By;P*-jZbEG6 zwYJM8433+@r69`E-r5c>`me@RJpfkL4;;QPSO`K!=hz|VmSd_uE2!onfhEHhJBm<% z+_QP{Bo#^x*>6HzHjxI6LBYN#9a6D(-R;HQB*F~fSYA_H&YI3c2_D#gm-2j&6w0ig z7Ro{b_(1f*`wN!f>37x3?vfmJe__bb&4bHmn3!%{7|_dEc2>5b_1s#$CK`cdbzWIA zhUCrOcs`D>IZ#Q;ixs@UwIOVyGM>5VWs?YRKFt zbME@>tC4^iHk+&?tY;pZAy#oIYe$W-Lzm$y%ac_S=Wu1ZO~Z-2PEISD$nlF<$=jMH z5|3Gag_a0YoS6zDfsb*Bd_0rjq~+eR}-n(;hFeiKNY{V+l27mXT#m$y{Gjy@Bvrr} z#G13}mtx-tdBm>f7yM?25Pel=&<>6bJ|PrRspVy@?h-foZOayT8t@@@wf6IB22l}e zJy3flHFi^2U^(rKVe>>J9@N74W3;zzUi4hePQQviRa=TD_ilpLd+UhkF{hO%+8_^C zvY^{jsl4nODVUPT*SV(;6dc-YbD!uS9f|W@rqVd*49yHbGj};i&|XM4vxmbp)$Y!u z{42s8WLHxn1s!zsd?;6R*$8_q=bWcsO1m2~L675>6vr691(pi0>i%KfKPHI6)yq+W zS^z(aV~$XaF#ih!P9gMNNkqVQ**)P#yC;yCp1u>c=0XGpaS81$1SaM%AR!L}5`i?V zpxWU+Tn(-myD-uiF8n9BnfI+O`o9=$o#$tmz&%`Gs&td2n^W&NO>prH?gU{6wK{Fx zsSGrr1u*DW!_JKe0Md(MObY%~6wk?Vr=MznF=D-Nc7dut#{tT$-ClWL2oUo3p4!@3&j+l<*7|xQ48d(E-2eY@f z_TDBSlYobB!e&3uAshnANpA%F-VltWiW%T-KT?D9Qff|;j|^bCYKU$QveM=dFkG8a ziLy6k@166JjkP;h4ipAZ3Z71~{jyqZerm6=vEJ;342&VAN#YJge&{~u3S}o^I{qm3 zP2T;Mof`)Vf`EoRc|zB|UCR}fCZ6>)h;4`^Wcc{n8Slo<;7b``3avQJV#5^1QtYY$ z|6qpn$@UEXgq3U*)7KZfGOkP*(UdEr0)c^i%WJg&t5h@2`A5qlOCMK6k(@hki!TVT z(lq%(@el8wTo}wb;>J9fsa!u_ld$i*X%-J(OY{syK#FjN-pQ}R!$P^(UagoLOY z$}Sq6=Db|;-xZCIkTDcS$=(IyAH-klRD8EX7TogvkLpj7nI~tDkV}=9hMTXeWBN3C zxeoQ*>yTawzApmHlB@E9T(rv$mh^J!E`tz=dn6Z>#z|*5H;x98-duS4C6=} z@>IOTo{#<+LErPF4$4P_DF$!d?GraQpx+ty&)V!t8T8;jNpmD-pJ9!qs(W}g>Y&|E z7J8(^+r66OTfai)DPsKT>15f)0KKdXC76V~`kq=7vO5zcgttYTE6oZA(Tj3ZjO`A$ z()3-)}+xxEAQYBy?R4>_KVpAMibfARNp zUz^Gx`OO~4hJ*B+9J>pYG{p1w_xIBU+G&rcp9$c^hA{Rt%!UQ{pkK2>o)`b+F^$VHXH9xvwtNLa$pPC zelnx&|CcOrc{!_o#@@;6R9lcn^C)k?!bXcDsrz$*8Uc=idl6oHN-{t7##&>=(tfy> zGowCOM&UIbWo6OA3-rhB7N-2)3hT3^<5y`N8hXd7djke)FmPc91^LewbM>B4n(^rJ zt(Qlh#=*&qhio6ZdOTrb>SJx_N{4AiWg^Dk^}OxP#Fcuf**8h0$`L+dCpX~Ayj~r# z7$=(!GYr*B#KJ|YVr_Iepy2Tu@A$pN?!iY;I4v-SX$9ux2}*Em3R_L@hlq-izz3Hf z;~28Wj1AqLr2iTrcVMoOHhjy8JK@Asy5Ij+wI@n5h^2IU-cdA8-j8n1=EB6Iym;G6 zHYuJVhEX%CE_0>iiRCPNB^ik1ZK>(#G1g<@cC!{TZ)HXWPXDQZDdN3~NZ4p|UT9Tf zcmF)~z%rVB_LvMO^QVty*09K+fxQ>p@RTU>cMk`% za0T*4i^;;3dJ4qx-Om?79tHChihdJoCAs6xNSh_n)Q*86A7ampVO8G-I%n~26CqD2 zL%;ZCm|x7+yD?R~d=AdV1)+nD1iGQ`u4HZ101TbE$ZO=z^l+FOg1m}gjvO>g^$3g$ zeZ~#GUZ+J>T;USh(^6CCMZo4ro`$rBx`s*Gf$HRqgHAjZZO=SmZyi43sWoA>CO4q2 z&vpqp{=yde@<#Z-L1O2WPk!`Ys)cQGmV2~;)ypf{N^m2!fi-*ACO z1_-=${;GkD5n{z_riOEP%+~7DUT}NQ&hi6Wx?7BroXfy>$uTu5=I*(bZ-uVbiz})& zOVYxf8H*jy%QF&x8%l?`77-!0HW$lUf;#l_+21z(V`s`2aI47Brxc6V+%$A&B|Det z)F}@fM!}VBISPgN*Zq1o5K|*^p>d5__pG0(20%vBnOYwwpmB6GCu#U@oCa)*U-M0n z>vtb#gzEmi?nkaGO?bXI-Ynj&HTC>$t4-TKcgu51S;1L6i!I$g>eWcxpk2Js5DM*H z(uSplnmOiaFMp7iv8o$2Fk?iZxA$535}9R%jYBT+TOXLsT562)|84(TLqM;VsQ#5; zS=zbBJEMdv_{?2Iat?~b5vBKQTQxb{C;feAAM;%R>0Z$jOjKA(Rpqv8AN&Ln>sMBD zeuw?|O|}Wy`R2;k{0q?;!;p^p4;S*|zdDW1HlZ-psG+6`jNyw#CQkbB&AwkY%(IvB z`-P(F)?a4nIMX?{($EU_8&n_hAdgkQ14c>K#E)1F^OS;%1dX3nL3G%ZZxhWM$3+x5 zHx-i>rQ1BFl#+vcgT%-N0N*x)!F>Y-rXDuF?puD4YU;E*%Z8G|Xe%=G5(e*>FBL0& z5SqMZ6n)649wy3{f{KOH{H2IMAG^Q04(OVGGfC`5Rz?peK2R#)q8#%<{|Xj+U)T!o(z@{&;x7*}s5{BpZ&kC^Ut zGh~(7USc2uYZ^`9{0&uCq9|T-9~!qH=FNA==goiUm}=)@JCDW5#Uih8HPY-H9$bNz zi0hLve89kBqO=-Hx{?BRd6+2-iMhf7T%1^4^&osaakB;ro&y|IJIgF{mkL~4;%0IH zy+v$l%a7SQTv7oLd=5o#7J`kae9J=l-8$h{yV-0oHJ<!(#w@KJ%e8- zB?WDk^J;CWI-B+a$g3KN-IZXV&|R#Xh|ZDGRf~ZSB;q4yHxozvb55U~oo?UD?Ns?r zR9G{%$;NRXs`FavTpJr*7Xz>3CI#%UeB!nT83jslpmpnBC2mg9ET3{8v#~~WCJ=8f z6ORqJ6HQpRqSRRbNBx~jKbdT7CL*OhYs6nNIChVVWQ^z;1?NF9z>OvT7QBp3lJJks zM9fn%(kCoN01JiisP8H()5kJavk2Ym4#7bt3LznXE@r$q* zhyU(e9SP&x8k$w|eDL0;C4{>XQcOlbJe@ht8H_f{qy>f~VQ|TZgl#h^x;+vR>~tW3 zXi=w>;mluo4IhRCHloU_ol`ah=o0x65rcUn#8{2HjpHdp+&{Ybh71^*63%GVaOTQU zsJ1vRLT}bgTb7MV9`O&#vsNiRW2kCTjw3D#BGcxs7J^8UuN`o2Mlg5IzVMd2#rOuV zLa%>A7Ju-_bURtx%$+7j+DrcA)BWIS?gWQ7(y9#WWN?M23M)+Zlr_0Q0%r>0rtLDR z8D8Zlt+Fha*-Zi!uaSzpbV#pX7z)rUquuL60UEIrp9Q>ia_ibm7M&)EXsF>oW-^_w zuXXE4#WMDlljuB5q87rhW>dKc$ubQ7qG8VgEL;6IHx$T85_VM1SG`~n#O&k-q0lPC zb4(1(F6Or0L`W(=J&N*gx2TeV61?4!hFO^KvD!vZ0~AfAuQ=8SMk$e2bU(y?g7fs0 zAt7C3(}|A(*OoY=>mM@qj&jD`jh7e{4pl()QV$OT-~0|m4&Q=|#$*VZK^;*+dID^h z*BC?yUVo(YYjV+{1-QtVi%K~acPD`SD9EencldmFApn8{bCICBBAO&G?4fO z`gHgyfY3cI67bNy(q{Qv=r;E`^>riu4No*DObyMu&lVKzawMEqVqr{2WD_=Y=CBum zyfuBxapd0lj8aBDe~L^PE^!V~ve1r~On%ny3{h3h#1Y*T1Sb$QslA)LqXLz8H2!)q z!g$!~VZvjaD!F~1fkW%?Qtu?+c|qYwE}4} zW`Li3{$Zcn{Y%D63CO6SLPk*C1F&yCrC_5Mr)pZJQ*(4u3y-kM@XAtVM73)IC*+QK z-Peq`ccxXHibpN38Bf^pzMr6$wevN%GoKMuM}ElzVqbVOC-;7p4XeQ<*wi?gVidWN z8?|rHS;HlZ_F)!Q>3;d-I;?X-JGZ(eH=g(j9Ps$q5mP_{Mp8BBc(i`$K>2ymlSxao zUUXVENX@y{vp7udWt%2Q6oT|mKd%M;3dVr>6$zl0<^8KBRunzuQI!HcF4zO3^SxdYV272NdCWx0Q3Mx(8Koag4z% zqDyH<{+RYNTL?Q8l)>%*(noVpxBz+dg}J@vYK@}jT{b>I@LZhY(f}Dn3-k1v9K`XN z;YnNJU70{VXM=DbF?nvc7snlA7Od@`Hko0Uk~Q8+P5WJG+^z#+r)LoiQ3T(%sNUCf zuZp_aM6HAh0&dW0FLuwSwkA1k#OI~L6>gyX(`5h*$GR_??##84&W^ELU1FUXeRj8k zO~;zJdffZI___;!9PpLSp+j!8KN_G;$$bmZ3P#TTMF&|bt-_TJBhq}~EW&(GU!3)r zuNppk{pYr%h{#5*ONmOsAM701@^ABcS%yYfP{!HL6rK8hIE`NtsE`@D_&y%vtPPc_ z=ULJpyO~P0zKjZ(680*PFlKS9@Evh%YvbrJ5-qtJTu>%6Y6WnR+;557m5~-DnHzu$ zArb44F#~=V(Gh-8w~NfCPTSKe8zGkGXKe;~Lj$Q@M?r`~I`C9&pZ}dt4%X;pkl>^S z$Fr%o;mU(6G_j0nWcsd<5 z6d0TG5llkfCzpC1M=t@Dj*m-GUPHov%U`tpTYp*dO^h!En=|iNd3HZoqDbiFLmE6h zd(P^e@t%O#sk*}k=WnL=4F}uN<&W#5ZR=aTYcbh)Z&E?>g^I*za{}mfp>pv1cDSLq zfiruuYkZ>)6zgVhRIsyQLxGJ@bh}|if*IdD4Bb1^lLI?Xy#p;|W^4{A71kh|e?26^ z1qS=6<$R_FAkjH`(sefRTB1skRvMZ*V;@dIpXBM_zw%)crLO=~r>?-shu6%G8 z?^L6AL^-O)U*qf`@Nx-!QM&&b2^Ak&9j$}SvP-e5|L7AKI=|pU!BF?^wV>%O3Kv@#iFbQ();X(v>A z`4xt&x5Rmyq$vE@0H<#kaeHFW6{Ie|Ld>)7!SsmhcwK27MP!Yj zQm_}#S?!c^iSsi2q|-N8jzdT?&O?1?YXx`1Yc=^+@P+68$XeQAU4(}U?!k9haNh6^ z)_r|NNmsVAt;3hRrzU=1Y89~qObd^IW2|ml>&pGnlK!AauX=xuT$A18{dMdwA&j+A zmh-aL7b)8|@6q8u!2U6QBhx>edAP=>tIx0Sv+H^Pzmotb)V~Isj@x!34a8Fd->K|o zE-BU`8v5nbYinIMTl<5az4oZGtmK<_X?wn$>s=M>AsC>2gu!fLKBPvR#jW#V#{D>+ zv23;<=Zw;~5FA|GK2W$0Sj=9eIud*7i8!fKE~_+Z9Ey9Lq#^=LyU?iBn!V${3nKR) zU9YS@a1Cbm&w0HI1DH^)Hbhp=`q|7u99j2i+ArTGZ*Vh3HhLAv(joRmel2L2@46_5 zB@*Xz_jr+I!RlYH>l+a09}`l+b9L&t5GxRylwG9U`#=P&bt1yRwp_vMhb95J-<*_c zQ-hH{EsI^g-U*waSwP`rj3k4>E3* z$;aZvCg4KR$9?h2xfx~vdbq4HQ%TO^L9!S|iNxN&Xz;OVyB zn#`Ik-qkPq5#7$ZE+QxwBv+DhWr~IN0MSXbdIE#~ygNyZ+!5+sis2OuacGlrOoa&H z%lf~VCyfoGhnPJ;CI+*x{Ip?wk0ZP>#D6510w6S@-m5{9%)+-Go{ z7NafAc^E>(Paor3`N^=W9)RShZ-9bZgLs5w3r?>jC-}gBYyOQ)HM5Y-#9q_#jfQ*z z6f)kjMv%V_1my)cSH=H@#;hXt(D8)t(}#1Fe(?h3>tjQFh^-wU;1B}gI*%xiv`X&< zY}-9UT8p6tE1SO)BcDX!jhef;)XnENi;XfaC@nC`%Z@Y7I{b2po@$>X82Y8NgE;$| z;m7dp@;1|&N4nU?48atePD3|BYMBvX;}B>~A4sNBQ-KWTC4(7&6n*~Ju8Dn&ohiq2 z910_eNSY-6nH1h%OPwl7Z(y!OFUv33AWT$&v=%1|LgqE1)l<3@$;dcQOX%&jq&O~i z;wx>q_xC@q2t}cz=GyJkL>hOls7#nRD)CbD7SZzKH{}xwJKI$7WYm)&b)mr13w=A$ zTg`2T1l*wC+z*ONH`oqVvyTTA=4t3)4AiT`VkOTHkD_lEbs#@7X@DR+{KozL)A_E> zxYhk=G;booP|Q*pH~Yp@XyP3!Lv@z7VBbMeOQl8)=Ced+z4f%UiPwV%PzT%x@qA&* zxUmo)H~ov?d77td?>u+bL!wTVsX9?WXP7U{+Q2n%F;{?H0Nvw*fBr|}BQxE(D1^5_ z2X0GQV}^U#cH6B_70wI#0oPfVQUX9To5SECuZ4@LA!1G-UC|^~&&F+7+o~*J5JhL_ z&_#7xq$i}FZ**6I7MP3fb5%c7DU4-*e7FA%@J`vWK714CC-@WYh8ub%NNI=7ZvU7R zV0tsQ^LuUYpOb8vr;QG;DB;HT5t0h zHSOHha^x4p|LL&HC`d9I2N;lqD zf;EF5h3p#1R0(zq)Kn~fTkE6d&O#1zijTKpWC>JEZpu4EBknGNEkR1A=RQcx) z4vRYU81k-;e*f)X>khT5Gv+=arFNf_pO($OC%&hZLY0f|kDj zU)g%HYItY3s(>jVDmDtc#@d`fVB(0{-#_sndW?|jVV%z#(XjM;lvW>a#|NrM6VXdi zT9H+yo&^V&(Ao2VFpo1sQg6QGlhlo@WB8NI>0^Jc?xD~VABZ~JUutnTXo0*O$i(?D;in#S z@r=Z(%Pk>FYb)n8D2m^(1yORH7ggHKL2&8h-gzCbhJV1~hR?))lXZ>|C!5F4$RzTG z>4dQ9=&*42?2KSy_8x2kbU)MY%JV$|88;{FS1K)M?Z!gM5lPP#HG^IS1Rm`7xLo^} z4k~m}U1TVdX&JXW9Heqx{y7**dlj5=e6uYY^mcO76S87*{;F259UHk_mn5 ziY0~?v`^^ao>vit2j+}Tmn7{6L5TNePE>ie;g_dv`4?}fKg~4s#H2aM5{M1%mE6S~ zrhCep`>4JWb!%zTcDi}7y3upqxW4(Y6EQUk4LT-;TPlMLpgGkS~LtuV4?#iO&su_4zm;uGM)L`^WC*^S50|n1NTHMh? zBrn_c6iL`TvEnoNpNf|6D1<(9&n(*bZrp-8yf~I&nV`?yK}tGZXQn{5mg5a$WE^T> zk5x>y%xt3vd%S~-UBUe1v_aN~Hrs5uy0M-{wl}}rI+XNVoKz;ibaR=@I&bQwJXy7L zz2{Z=qhFUBzB;pWk|VA!x}LZ5aHLq|$K@r%a)QD+CKX_?bqqg(a~n>BgNAiCmq~n5 z4(~QSn|k^0!9~c1Ndw-7V8UIm=-z9kQ=Y~PrVnyoM`>f-XRcmO$KGR1^VC{NPkNX4 zO;PV*!#Y*I?hZ=Z2IS zwT|cUeKD6c+$?UlcN=)lUYi7!?AcUIDF_YGL#o|-sr7jgl^syIdb0C0bIX)Bx7hhJ zOkqeNuz&Fpz*Rqb|2sceHDFZt6g7b3v}GZ#pRU~>J-7pqL3e;L&yl$p2@FK`<1&yN z1EE77{|{A|q5`X_8}2RZsheABro;e>)FW6engWw|yl5Uf?2f*-K@BSQ*lxKfvBfY)8!nIvA~r7!kPnRNpT`K9LCTwI2St;>uNauI zgdj4QOB$)bA!Z$dI}eOeu`UC~Xw(zDYpysC=a`%6!JlMI_grbgs&r^{W*>bIFKEG- z)e_s0mI0kX*UuU6UfKT%P3JoM)3k6FX51cN*+udMdiQ9lB?m921Km zaRP)8otyLN^}q%;L*?$eSBi^&J_ZC%Y53i)Zb+M@YXul8Q4XPzni&QAnuJD zDccFmuXqLrC-gwN#@&l9dQ{kselv~gv5#Z74c{j}F(4bX+ zqy_G&@A2ckG6xjhF=mR4BLdhwOA@&Ui<9+r*q?P_)t5|kug9*w2@WxDDqQ6KD%;!_ z*-m;kBFr+;%sr%{HB#Vqf6X&m+RXX#Yb!1w@6C)ef#=WYVdFYet` zzW;h=@GWj-5j|;8q~jpJ9<`Uf=H_fU__pEdB92D2CU#1c--R1|Wnop>o2eD9cfc#o z;)K9ae^6MqRo)rrHV#XyWZ`c`^2fcwmBevBy8@%SFyEU$2hU3#SyXEGBVYCYd^=&v zmb)4cF21GZe(_pfUNzW0D`8DX2zHxnEE|)@BepM1A!;^F{X^;hRuXndxr^S+D60Kw zd4EQAlk`>am0M5fEQ?F1K2W zRK==6eGkJZ4i6eGnS)AYKPIR_lGqGmz~HHexDg10nzExq_crueWoH?U8J%x4 zGF00;eQkL21s^QPT8k9DZG?hb#e(s{f#PQ)m+eA0x~69^klJ*P)1U*kzGy$yLQw&{ zofjW!09e>Tea1bY{|S&QR6)21V$ZWhKO7xQ(vr+o`CXO|+n*D}wdFi!<*JuA0 z{XUP)JOXjbSbkOMt#_QDnkb)Z{NNF=EXfk3xabLtIumaWI_%@CjvvZ_>;Wnvy zEhy#$^*FlQq?*)EiGby;Q8aEaQ+nUBE}&Y9Xlq%?H4{OyVJ-Bp*N;yOb69}WQ9v6Y zbqIc_%sJwrGD5F|e6j$2kD3q#uo1E1>5k)P}PZ zMo)Zx>*`*B_D-@S4oH6sN&C0M>#0?ph|V723ZEgy<0jt5k~=>7e>9zkKh^*L{-0;y z2w8>fm65$S#|R-r8Cj?7Y?AF9QjzSvwUm{SS;nbkkL>NpEV4I;*YEcJer~@%;<`N_ z*Y&tRuIG1)XOmcxV=-LRnmxQ{C{=BPnKeQ$0($J#k9dvqAZ69Nq2#uOxZt|>?qp!T zm2T-)^i}W9CDLgFClv2`SkZteikBkuz_2sg;gq}Js7~5H)RYuLz2Z*hJ{C)6K2a+a zWbc_*yDy!{H?U!1W#CA?Y~I)^k3)Ba>78D75!*Y@0^8wxsT4)QMztyX;mxR(K{)Ox z**js|?o^bUbPeZC3MunPVx=Ks#!72RlmEaU?fZ_~)RjNp$!8vVE=`X`FnEkUkt!?^ zauX~ztfl~~V4#*avy7Qf1d~HNs(Ob5+dichYPqoon$R6~qB%SK?4G~6CG1TS00OI$ zrOhsCbYK!*$UFkm8uesN^+`xR=yD}=804<2>TL;e+KkE>1!2u?c!g-CH@IPc>bbox z5$aY|KZ@*`*@Q5{3VnkJ*iYx5p3Ky=h=ml$e2-l6_kLu`{*|^I;Dl5KN_pocK83tmBKaq@Xpcg76)>?P!U-bKwluE#s$8Js)=(R37leiLD7c~R@l?w0^_z?a$E|( z(Zk~Ddp*=esMWVZJ~2pqoW+?6EodV>{!NXYIGsCcIr5_UHDfY7ged@jpwrgP)_dvN zA|93M7)X;^Wgi;Ks=30M_o`p}gXXjy=0qC$K1E5sZ*Vm`i z4!RENZl-@e!r&bD1W48GE^S}32G(b-T{V!?g<7TkN48P_Z9EE3K!L9pIYsBKgmluT zAL&m{BB+iNglnE-o2sY|b;9c=Gwsu(Cm+)Hv*)B9)|DgLskb5lCb@dgfc z^(IVfTP>{n?YR){HQE@R4=>M#TfZ64_#|MWAMSHosdZmvh8lB8*gJXbCWY}@W! zLw$FwUYS)H%D(UZB1npmr}6N=EyIWdmIEyEi;?&1H3F^>Emb^Cc7@HCg`UGcg8J`iv3>7%j>!n zqZCE|aDQ~c(iu+!U0?x^0gRk!AOyX?H_MS|z;O6s6%#S!>Z88FRDk`NVynoo@K-IK21T zdtxvT0knKLw`Mlo%M^9v!d^^Ylyez!`WOG0|E_Lj!glu{&*kRZlP1sJ&M~j+`Z(Q^ z)K2e%gzq8dGp5UzF&@$u@Q-~in{=oT1;*IroeK9jd?xd(h6R@f&e}}#)xrCgJNFU> znT6Esc+smN?RcDXpMQU6Mhs!nCxp+J83}w@{0=81Qr2x}R$j8DY-wZb-+ElAxg)_Y zVf*P`dC~_4k75^x?{Vedw#sVf2N}?(C3nV&Vu9YSglxijZ(#)xUx0xm&8H!cX2iPc zEdSmUI@8W#{>ez56*7>o(mCI`(7DvPBJj5w3XfCr{x+i4cy+Z2K)k6*?sp8|ybE1Q z(z*ZK3QsS5=a?U!ZIxXu{p)|ZNIqb)Jj|L5B7_~CA3a8g26Mu$pb`zq$O|oi-de78 zDfBzgsKeKmhFbCPi~!}!gKB`;evmiNbOqx|-kKTAF7B@?hUmooLE_TktnNB4Hq9Y3 z8Sax_ZuPb@j&6;gyr^beo}P-VTm7IO_}bpehHRICTuvWEWyxm>W0H03W?q_+!tf-V zIRYJX(q`9M-D-YY2Q=Bk=Ko3}bBw6#ieT=HRK#5A`MnfZM&5jz0SPkq0*>gF7#ZAY zHAznJ=k);u_hUdu`g2g(~x_@;`rdfr}!*1VyS-#4)t9am!r(_|YT zbl!;MgqTvlF83M_x!Knm?_+zE)}CTwx1|TK>{mO{)Vtl96nYV)CJi0n<0PurWhR#e z6T%e#r~_@4>be0q2yRx|QZQ^MouNaHPZANfepM-5z7Li<^ld#`Nac-@BS>^%on*E!^|fha8Op4xSEM z0feyngATQes)Li&0!_gAmZx-)6wlxhntn74^@ppbSCNc$Op%2EqQdisbne`6-25`N z@-}+CoyAMp)xTzNh!=_GnEP+YQ-O&${ge9Kmstbh;tf8$dHb!JmJA315`+O;4)Q_a zGVw-)%0E^u4P_nvel}Gv*f|pBQ2F3j1ZddnSGx9!DHWsn)9lf&5{kg&gw+tephPu9 z<;{mOaLf$pG8IFvqvuDqkB)tYJiz^Lx;o+lVdpl5Qype*@fz!GTCvg$7y!g;$8j_k zE=EWmBlqVdPLVjU-L+VTKu;`a0nRIEfPvw8Md6&;zK8#E`j;p%^v7gG5L}cn@S9O| zTdXp7*se`ZWmS+SskW|LC=v^#HOP9>9vp5(exfK7Pc5mB}-!cj2h<{zK5nZx-d!VSu@t5C?Mg^v88dlue@Rg1#k;Y%D zLfo#`1y!u(IXupC=O|2mm|vy2wdXp}@)!P{-Jus$f>%Rrn!~8w%b0#qv+&sBgn$tC zO*meuRM_sD+<78CZJCP^z`GQpnbm6b3-28rt>xIlp&_Da#c_*Y%Ti80)X}saI!rPj z7|;E6j|!F(PP|Q4ECfi`+$QBzDE3IO1UQPHPL;5iMTK*L4!!yujbE4dW*rn9m2m^G z)qGk+kKkNUXW0){`r6zt#|Fo_-2^C9dW+RP?0gQUkNcr^l)6Dp$SwnuSQ4NSq$S$M zdnx+s+l~7zUk2o8g`fe?qI0Yz;qfdrEw{$*Yo{`b_P``J3w`m5p_Z1HUcrrat<6$> zF`Fh&uLJ*urGeK58f%vRp0wG}o`MRCLd0q`62B&t0)Don6YfnLpqAYv$vKCKf9qFo z!bg^@ltfokGf+_t^{NjqrL4+femg~-nIVpq92*zxYe=4Gf6{!O($v9Vg4xd!Dd$R| zN}@=jPNGj@eBo*7tPVP+g!HI3S=)bJF*mh>{~BuO%6)3iiFHc3@XRLKnv;I41vD^k z==_N1DNpR%6R)0?4@L!_;D`6B!(y1Crx%*pN0HgbCePU#? zcEc|M{v(Rc1AbOl7z__FSY6t-!+}Cmb%2xuCxk0Xj}1=b^Q7!j$U#+DB1t!*E=hgm z^MI;bo*Fj)+l%-COw_I9&{Qoj5^-MQ@pr1bjZRqjXQbL#$${nu5Gj>QXgGwXipS=u zhMk6L`+G0sYMy%%aE%#f=Q&-_FY47Pz6U%Et;Lhujj$BT3w}b{6Oo8d!5$b+heHRhxHi=RhU0;YUX`qbRr{SVWHO7` z@mEylSets{{3yk5%|^$Y-={7l&j#kz$itUcyGuC7e~%2_wy@94=`g5s`4uwSPT#ru zz8RrqY($Iie07cUnG$|K>!kaX4ko^#4uZTaK`JhM^edm+6?oWBCXmm6U_pA>5&eGE zAgtPa13h>FgGzoN4Tt1+|C&?F-{`|4Uzw_{1B0nDoOkCU2k-nx6pnlVBtc7XjK0T-CT(^-{SpcAy&-GOdHygRSaxcGgbE!PWc{MM=0pKn zs3Dk7*2uC7NobH6>4l!D>Y;JPscZ(l_gyWM7$n#pi%@yrbKSpoKx*_wW&+cAmOeQH z*>M6=coF4a_0Xig$*6TwsHa-KmFaao%#9@pG$(&q(@`N|bu^$O7iW72=QQ^&i$r3q z;HS-`td61AAp^LU8+V+3P}6N@D40(7B|{PjH9ze<&NF2YsEJs&_*!AuBtH-s!>xnF zef49v(dgGK9)7aJDl_TT>7cRn?OTY`{ipR=xyLr2nQYQo$XW+$IB_dptv{{xoyTiz zZkxxI`))vw?BJE!Pefb~)=eB|04+e`wO9C#4JTa;vZSgb%ause=q4r;7yoVKsPX}sAw`$Zc z<}69V2larg;p4%

      sYHSh$;N|L5YKzr!pNT&X?q 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

      ;xT!Lfh&@CdmO$)Tntx>Rum`8O7w2V3?iJa;7$! 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≥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 z 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
    1. *F-WEhQ$0y-9?p^-kLQj{`F^-ev0M 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�I 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

    2. (_(Y4u3;dRJ1n$bz=QTg{ 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

      eW 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%0D)JV9DGlQN*er?GWY0*E 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⁢jk&2EV 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

      mvx}y_-lkEeiLnom)GF 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
      KIs4l#gA!hK%mBv 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

      o~RbWN*XESpErJhUO+f7w<*DA^9&aU%6YU9D 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�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ōM#)6;-84NAqJ4KBD8jjDE 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�nT93;K054Zw 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 C_$sCV literal 0 HcmV?d00001 diff --git a/macos/Sources/App/macOS/AppDelegate.swift b/macos/Sources/App/macOS/AppDelegate.swift index ccd890951..09a86de1f 100644 --- a/macos/Sources/App/macOS/AppDelegate.swift +++ b/macos/Sources/App/macOS/AppDelegate.swift @@ -563,6 +563,30 @@ class AppDelegate: NSObject, self.appIcon = nil break + case .blueprint: + self.appIcon = NSImage(named: "BlueprintImage")! + + case .chalkboard: + self.appIcon = NSImage(named: "ChalkboardImage")! + + case .glass: + self.appIcon = NSImage(named: "GlassImage")! + + case .holographic: + self.appIcon = NSImage(named: "HolographicImage")! + + case .microchip: + self.appIcon = NSImage(named: "MicrochipImage")! + + case .paper: + self.appIcon = NSImage(named: "PaperImage")! + + case .retro: + self.appIcon = NSImage(named: "RetroImage")! + + case .xray: + self.appIcon = NSImage(named: "XrayImage")! + case .customStyle: guard let ghostColor = config.macosIconGhostColor else { break } guard let screenColors = config.macosIconScreenColor else { break } diff --git a/macos/Sources/Ghostty/Package.swift b/macos/Sources/Ghostty/Package.swift index 71fac4a99..18ef3f3a7 100644 --- a/macos/Sources/Ghostty/Package.swift +++ b/macos/Sources/Ghostty/Package.swift @@ -198,6 +198,14 @@ extension Ghostty { /// macos-icon enum MacOSIcon: String { case official + case blueprint + case chalkboard + case glass + case holographic + case microchip + case paper + case retro + case xray case customStyle = "custom-style" } diff --git a/src/config/Config.zig b/src/config/Config.zig index 3010b87d1..802c77e2e 100644 --- a/src/config/Config.zig +++ b/src/config/Config.zig @@ -1972,6 +1972,9 @@ keybind: Keybinds = .{}, /// Valid values: /// /// * `official` - Use the official Ghostty icon. +/// * `blueprint`, `chalkboard`, `microchip`, `glass`, `holographic`, +/// `paper`, `retro`, `xray` - Official variants of the Ghostty icon +/// hand-created by artists (no AI). /// * `custom-style` - Use the official Ghostty icon but with custom /// styles applied to various layers. The custom styles must be /// specified using the additional `macos-icon`-prefixed configurations. @@ -5719,6 +5722,14 @@ pub const MacTitlebarProxyIcon = enum { /// format at all. pub const MacAppIcon = enum { official, + blueprint, + chalkboard, + microchip, + glass, + holographic, + paper, + retro, + xray, @"custom-style", }; From 4ad749607aaafdba457aa21e5a5645c19976b341 Mon Sep 17 00:00:00 2001 From: "Jeffrey C. Ollie" Date: Sat, 8 Feb 2025 15:56:29 -0600 Subject: [PATCH 237/365] core: performAction now returns a bool This is to facilitate the `performable:` prefix on keybinds that are implemented using app runtime actions. --- src/App.zig | 24 +++++------ src/Surface.zig | 92 +++++++++++++++++++++--------------------- src/apprt/embedded.zig | 19 +++++---- src/apprt/glfw.zig | 7 +++- src/apprt/gtk/App.zig | 7 +++- 5 files changed, 79 insertions(+), 70 deletions(-) diff --git a/src/App.zig b/src/App.zig index a6b54db23..15859d115 100644 --- a/src/App.zig +++ b/src/App.zig @@ -161,7 +161,7 @@ pub fn updateConfig(self: *App, rt_app: *apprt.App, config: *const Config) !void const applied: *const configpkg.Config = if (applied_) |*c| c else config; // Notify the apprt that the app has changed configuration. - try rt_app.performAction( + _ = try rt_app.performAction( .app, .config_change, .{ .config = applied }, @@ -180,7 +180,7 @@ pub fn addSurface( // Since we have non-zero surfaces, we can cancel the quit timer. // It is up to the apprt if there is a quit timer at all and if it // should be canceled. - rt_surface.app.performAction( + _ = rt_surface.app.performAction( .app, .quit_timer, .stop, @@ -214,7 +214,7 @@ pub fn deleteSurface(self: *App, rt_surface: *apprt.Surface) void { // If we have no surfaces, we can start the quit timer. It is up to the // apprt to determine if this is necessary. - if (self.surfaces.items.len == 0) rt_surface.app.performAction( + if (self.surfaces.items.len == 0) _ = rt_surface.app.performAction( .app, .quit_timer, .start, @@ -294,7 +294,7 @@ pub fn newWindow(self: *App, rt_app: *apprt.App, msg: Message.NewWindow) !void { break :target .app; }; - try rt_app.performAction( + _ = try rt_app.performAction( target, .new_window, {}, @@ -419,7 +419,7 @@ pub fn colorSchemeEvent( // Request our configuration be reloaded because the new scheme may // impact the colors of the app. - try rt_app.performAction( + _ = try rt_app.performAction( .app, .reload_config, .{ .soft = true }, @@ -437,13 +437,13 @@ pub fn performAction( switch (action) { .unbind => unreachable, .ignore => {}, - .quit => try rt_app.performAction(.app, .quit, {}), - .new_window => try self.newWindow(rt_app, .{ .parent = null }), - .open_config => try rt_app.performAction(.app, .open_config, {}), - .reload_config => try rt_app.performAction(.app, .reload_config, .{}), - .close_all_windows => try rt_app.performAction(.app, .close_all_windows, {}), - .toggle_quick_terminal => try rt_app.performAction(.app, .toggle_quick_terminal, {}), - .toggle_visibility => try rt_app.performAction(.app, .toggle_visibility, {}), + .quit => _ = try rt_app.performAction(.app, .quit, {}), + .new_window => _ = try self.newWindow(rt_app, .{ .parent = null }), + .open_config => _ = try rt_app.performAction(.app, .open_config, {}), + .reload_config => _ = try rt_app.performAction(.app, .reload_config, .{}), + .close_all_windows => _ = try rt_app.performAction(.app, .close_all_windows, {}), + .toggle_quick_terminal => _ = try rt_app.performAction(.app, .toggle_quick_terminal, {}), + .toggle_visibility => _ = try rt_app.performAction(.app, .toggle_visibility, {}), } } diff --git a/src/Surface.zig b/src/Surface.zig index e7e8e20af..13436f9ff 100644 --- a/src/Surface.zig +++ b/src/Surface.zig @@ -569,7 +569,7 @@ pub fn init( errdefer self.io.deinit(); // Report initial cell size on surface creation - try rt_app.performAction( + _ = try rt_app.performAction( .{ .surface = self }, .cell_size, .{ .width = size.cell.width, .height = size.cell.height }, @@ -581,7 +581,7 @@ pub fn init( const min_window_width_cells: u32 = 10; const min_window_height_cells: u32 = 4; - try rt_app.performAction( + _ = try rt_app.performAction( .{ .surface = self }, .size_limit, .{ @@ -645,7 +645,7 @@ pub fn init( size.padding.top + size.padding.bottom; - rt_app.performAction( + _ = rt_app.performAction( .{ .surface = self }, .initial_size, .{ .width = final_width, .height = final_height }, @@ -657,7 +657,7 @@ pub fn init( } if (config.title) |title| { - try rt_app.performAction( + _ = try rt_app.performAction( .{ .surface = self }, .set_title, .{ .title = title }, @@ -678,7 +678,7 @@ pub fn init( break :xdg; }; defer alloc.free(title); - try rt_app.performAction( + _ = try rt_app.performAction( .{ .surface = self }, .set_title, .{ .title = title }, @@ -831,7 +831,7 @@ pub fn handleMessage(self: *Surface, msg: Message) !void { // We know that our title should end in 0. const slice = std.mem.sliceTo(@as([*:0]const u8, @ptrCast(v)), 0); log.debug("changing title \"{s}\"", .{slice}); - try self.rt_app.performAction( + _ = try self.rt_app.performAction( .{ .surface = self }, .set_title, .{ .title = slice }, @@ -867,7 +867,7 @@ pub fn handleMessage(self: *Surface, msg: Message) !void { .color_change => |change| { // Notify our apprt, but don't send a mode 2031 DSR report // because VT sequences were used to change the color. - try self.rt_app.performAction( + _ = try self.rt_app.performAction( .{ .surface = self }, .color_change, .{ @@ -886,7 +886,7 @@ pub fn handleMessage(self: *Surface, msg: Message) !void { .set_mouse_shape => |shape| { log.debug("changing mouse shape: {}", .{shape}); - try self.rt_app.performAction( + _ = try self.rt_app.performAction( .{ .surface = self }, .mouse_shape, shape, @@ -918,7 +918,7 @@ pub fn handleMessage(self: *Surface, msg: Message) !void { const str = try self.alloc.dupeZ(u8, w.slice()); defer self.alloc.free(str); - try self.rt_app.performAction( + _ = try self.rt_app.performAction( .{ .surface = self }, .pwd, .{ .pwd = str }, @@ -969,7 +969,7 @@ fn passwordInput(self: *Surface, v: bool) !void { } // Notify our apprt so it can do whatever it wants. - self.rt_app.performAction( + _ = self.rt_app.performAction( .{ .surface = self }, .secure_input, if (v) .on else .off, @@ -1058,7 +1058,7 @@ fn mouseRefreshLinks( self.renderer_state.mouse.point = pos_vp; self.mouse.over_link = true; self.renderer_state.terminal.screen.dirty.hyperlink_hover = true; - try self.rt_app.performAction( + _ = try self.rt_app.performAction( .{ .surface = self }, .mouse_shape, .pointer, @@ -1071,7 +1071,7 @@ fn mouseRefreshLinks( .trim = false, }); defer self.alloc.free(str); - try self.rt_app.performAction( + _ = try self.rt_app.performAction( .{ .surface = self }, .mouse_over_link, .{ .url = str }, @@ -1085,7 +1085,7 @@ fn mouseRefreshLinks( log.warn("failed to get URI for OSC8 hyperlink", .{}); break :link; }; - try self.rt_app.performAction( + _ = try self.rt_app.performAction( .{ .surface = self }, .mouse_over_link, .{ .url = uri }, @@ -1095,12 +1095,12 @@ fn mouseRefreshLinks( try self.queueRender(); } else if (over_link) { - try self.rt_app.performAction( + _ = try self.rt_app.performAction( .{ .surface = self }, .mouse_shape, self.io.terminal.mouse_shape, ); - try self.rt_app.performAction( + _ = try self.rt_app.performAction( .{ .surface = self }, .mouse_over_link, .{ .url = "" }, @@ -1112,7 +1112,7 @@ fn mouseRefreshLinks( /// Called when our renderer health state changes. fn updateRendererHealth(self: *Surface, health: renderer.Health) void { log.warn("renderer health status change status={}", .{health}); - self.rt_app.performAction( + _ = self.rt_app.performAction( .{ .surface = self }, .renderer_health, health, @@ -1124,7 +1124,7 @@ fn updateRendererHealth(self: *Surface, health: renderer.Health) void { /// This should be called anytime `config_conditional_state` changes /// so that the apprt can reload the configuration. fn notifyConfigConditionalState(self: *Surface) void { - self.rt_app.performAction( + _ = self.rt_app.performAction( .{ .surface = self }, .reload_config, .{ .soft = true }, @@ -1204,14 +1204,14 @@ pub fn updateConfig( // If we have a title set then we update our window to have the // newly configured title. - if (config.title) |title| try self.rt_app.performAction( + if (config.title) |title| _ = try self.rt_app.performAction( .{ .surface = self }, .set_title, .{ .title = title }, ); // Notify the window - try self.rt_app.performAction( + _ = try self.rt_app.performAction( .{ .surface = self }, .config_change, .{ .config = config }, @@ -1478,7 +1478,7 @@ fn setCellSize(self: *Surface, size: renderer.CellSize) !void { self.io.queueMessage(.{ .resize = self.size }, .unlocked); // Notify the window - try self.rt_app.performAction( + _ = try self.rt_app.performAction( .{ .surface = self }, .cell_size, .{ .width = size.width, .height = size.height }, @@ -1774,12 +1774,12 @@ pub fn keyCallback( }; } else if (self.io.terminal.flags.mouse_event != .none and !self.mouse.mods.shift) { // If we have mouse reports on and we don't have shift pressed, we reset state - try self.rt_app.performAction( + _ = try self.rt_app.performAction( .{ .surface = self }, .mouse_shape, self.io.terminal.mouse_shape, ); - try self.rt_app.performAction( + _ = try self.rt_app.performAction( .{ .surface = self }, .mouse_over_link, .{ .url = "" }, @@ -1797,7 +1797,7 @@ pub fn keyCallback( .mods = self.mouse.mods, .over_link = self.mouse.over_link, .hidden = self.mouse.hidden, - }).keyToMouseShape()) |shape| try self.rt_app.performAction( + }).keyToMouseShape()) |shape| _ = try self.rt_app.performAction( .{ .surface = self }, .mouse_shape, shape, @@ -1922,7 +1922,7 @@ fn maybeHandleBinding( } // Start or continue our key sequence - self.rt_app.performAction( + _ = self.rt_app.performAction( .{ .surface = self }, .key_sequence, .{ .trigger = entry.key_ptr.* }, @@ -2031,7 +2031,7 @@ fn endKeySequence( mem: KeySequenceMemory, ) void { // Notify apprt key sequence ended - self.rt_app.performAction( + _ = self.rt_app.performAction( .{ .surface = self }, .key_sequence, .end, @@ -3367,12 +3367,12 @@ pub fn cursorPosCallback( self.mouse.link_point = null; if (self.mouse.over_link) { self.mouse.over_link = false; - try self.rt_app.performAction( + _ = try self.rt_app.performAction( .{ .surface = self }, .mouse_shape, self.io.terminal.mouse_shape, ); - try self.rt_app.performAction( + _ = try self.rt_app.performAction( .{ .surface = self }, .mouse_over_link, .{ .url = "" }, @@ -3798,7 +3798,7 @@ fn scrollToBottom(self: *Surface) !void { fn hideMouse(self: *Surface) void { if (self.mouse.hidden) return; self.mouse.hidden = true; - self.rt_app.performAction( + _ = self.rt_app.performAction( .{ .surface = self }, .mouse_visibility, .hidden, @@ -3810,7 +3810,7 @@ fn hideMouse(self: *Surface) void { fn showMouse(self: *Surface) void { if (!self.mouse.hidden) return; self.mouse.hidden = false; - self.rt_app.performAction( + _ = self.rt_app.performAction( .{ .surface = self }, .mouse_visibility, .visible, @@ -4101,13 +4101,13 @@ pub fn performBindingAction(self: *Surface, action: input.Binding.Action) !bool v, ), - .new_tab => try self.rt_app.performAction( + .new_tab => return try self.rt_app.performAction( .{ .surface = self }, .new_tab, {}, ), - .close_tab => try self.rt_app.performAction( + .close_tab => return try self.rt_app.performAction( .{ .surface = self }, .close_tab, {}, @@ -4117,7 +4117,7 @@ pub fn performBindingAction(self: *Surface, action: input.Binding.Action) !bool .next_tab, .last_tab, .goto_tab, - => |v, tag| try self.rt_app.performAction( + => |v, tag| return try self.rt_app.performAction( .{ .surface = self }, .goto_tab, switch (tag) { @@ -4129,13 +4129,13 @@ pub fn performBindingAction(self: *Surface, action: input.Binding.Action) !bool }, ), - .move_tab => |position| try self.rt_app.performAction( + .move_tab => |position| return try self.rt_app.performAction( .{ .surface = self }, .move_tab, .{ .amount = position }, ), - .new_split => |direction| try self.rt_app.performAction( + .new_split => |direction| return try self.rt_app.performAction( .{ .surface = self }, .new_split, switch (direction) { @@ -4150,7 +4150,7 @@ pub fn performBindingAction(self: *Surface, action: input.Binding.Action) !bool }, ), - .goto_split => |direction| try self.rt_app.performAction( + .goto_split => |direction| return try self.rt_app.performAction( .{ .surface = self }, .goto_split, switch (direction) { @@ -4161,7 +4161,7 @@ pub fn performBindingAction(self: *Surface, action: input.Binding.Action) !bool }, ), - .resize_split => |value| try self.rt_app.performAction( + .resize_split => |value| return try self.rt_app.performAction( .{ .surface = self }, .resize_split, .{ @@ -4175,25 +4175,25 @@ pub fn performBindingAction(self: *Surface, action: input.Binding.Action) !bool }, ), - .equalize_splits => try self.rt_app.performAction( + .equalize_splits => return try self.rt_app.performAction( .{ .surface = self }, .equalize_splits, {}, ), - .toggle_split_zoom => try self.rt_app.performAction( + .toggle_split_zoom => return try self.rt_app.performAction( .{ .surface = self }, .toggle_split_zoom, {}, ), - .toggle_maximize => try self.rt_app.performAction( + .toggle_maximize => return try self.rt_app.performAction( .{ .surface = self }, .toggle_maximize, {}, ), - .toggle_fullscreen => try self.rt_app.performAction( + .toggle_fullscreen => return try self.rt_app.performAction( .{ .surface = self }, .toggle_fullscreen, switch (self.config.macos_non_native_fullscreen) { @@ -4203,19 +4203,19 @@ pub fn performBindingAction(self: *Surface, action: input.Binding.Action) !bool }, ), - .toggle_window_decorations => try self.rt_app.performAction( + .toggle_window_decorations => return try self.rt_app.performAction( .{ .surface = self }, .toggle_window_decorations, {}, ), - .toggle_tab_overview => try self.rt_app.performAction( + .toggle_tab_overview => return try self.rt_app.performAction( .{ .surface = self }, .toggle_tab_overview, {}, ), - .toggle_secure_input => try self.rt_app.performAction( + .toggle_secure_input => return try self.rt_app.performAction( .{ .surface = self }, .secure_input, .toggle, @@ -4229,7 +4229,7 @@ pub fn performBindingAction(self: *Surface, action: input.Binding.Action) !bool } }, - .inspector => |mode| try self.rt_app.performAction( + .inspector => |mode| return try self.rt_app.performAction( .{ .surface = self }, .inspector, switch (mode) { @@ -4676,7 +4676,7 @@ fn showDesktopNotification(self: *Surface, title: [:0]const u8, body: [:0]const self.app.last_notification_time = now; self.app.last_notification_digest = new_digest; - try self.rt_app.performAction( + _ = try self.rt_app.performAction( .{ .surface = self }, .desktop_notification, .{ @@ -4696,7 +4696,7 @@ fn crashThreadState(self: *Surface) crash.sentry.ThreadState { /// Tell the surface to present itself to the user. This may involve raising the /// window and switching tabs. fn presentSurface(self: *Surface) !void { - try self.rt_app.performAction( + _ = try self.rt_app.performAction( .{ .surface = self }, .present_terminal, {}, diff --git a/src/apprt/embedded.zig b/src/apprt/embedded.zig index 864e00205..3174f161e 100644 --- a/src/apprt/embedded.zig +++ b/src/apprt/embedded.zig @@ -478,13 +478,14 @@ pub const App = struct { surface.queueInspectorRender(); } - /// Perform a given action. + /// Perform a given action. Returns `true` if the action was able to be + /// performed, `false` otherwise. pub fn performAction( self: *App, target: apprt.Target, comptime action: apprt.Action.Key, value: apprt.Action.Value(action), - ) !void { + ) !bool { // Special case certain actions before they are sent to the // embedded apprt. self.performPreAction(target, action, value); @@ -499,6 +500,8 @@ pub const App = struct { target.cval(), @unionInit(apprt.Action, @tagName(action), value).cval(), ); + + return true; } fn performPreAction( @@ -1006,7 +1009,7 @@ pub const Surface = struct { } fn queueInspectorRender(self: *Surface) void { - self.app.performAction( + _ = self.app.performAction( .{ .surface = &self.core_surface }, .render_inspector, {}, @@ -1457,7 +1460,7 @@ pub const CAPI = struct { /// Open the configuration. export fn ghostty_app_open_config(v: *App) void { - v.performAction(.app, .open_config, {}) catch |err| { + _ = v.performAction(.app, .open_config, {}) catch |err| { log.err("error reloading config err={}", .{err}); return; }; @@ -1800,7 +1803,7 @@ pub const CAPI = struct { /// Request that the surface split in the given direction. export fn ghostty_surface_split(ptr: *Surface, direction: apprt.action.SplitDirection) void { - ptr.app.performAction( + _ = ptr.app.performAction( .{ .surface = &ptr.core_surface }, .new_split, direction, @@ -1815,7 +1818,7 @@ pub const CAPI = struct { ptr: *Surface, direction: apprt.action.GotoSplit, ) void { - ptr.app.performAction( + _ = ptr.app.performAction( .{ .surface = &ptr.core_surface }, .goto_split, direction, @@ -1834,7 +1837,7 @@ pub const CAPI = struct { direction: apprt.action.ResizeSplit.Direction, amount: u16, ) void { - ptr.app.performAction( + _ = ptr.app.performAction( .{ .surface = &ptr.core_surface }, .resize_split, .{ .direction = direction, .amount = amount }, @@ -1846,7 +1849,7 @@ pub const CAPI = struct { /// Equalize the size of all splits in the current window. export fn ghostty_surface_split_equalize(ptr: *Surface) void { - ptr.app.performAction( + _ = ptr.app.performAction( .{ .surface = &ptr.core_surface }, .equalize_splits, {}, diff --git a/src/apprt/glfw.zig b/src/apprt/glfw.zig index 729decc0f..bcb7ee5ba 100644 --- a/src/apprt/glfw.zig +++ b/src/apprt/glfw.zig @@ -147,13 +147,14 @@ pub const App = struct { glfw.postEmptyEvent(); } - /// Perform a given action. + /// Perform a given action. Returns `true` if the action was able to be + /// performed, `false` otherwise. pub fn performAction( self: *App, target: apprt.Target, comptime action: apprt.Action.Key, value: apprt.Action.Value(action), - ) !void { + ) !bool { switch (action) { .quit => self.quit = true, @@ -240,6 +241,8 @@ pub const App = struct { .toggle_maximize, => log.info("unimplemented action={}", .{action}), } + + return true; } /// Reload the configuration. This should return the new configuration. diff --git a/src/apprt/gtk/App.zig b/src/apprt/gtk/App.zig index ed27f8394..85ec80f47 100644 --- a/src/apprt/gtk/App.zig +++ b/src/apprt/gtk/App.zig @@ -507,13 +507,14 @@ pub fn terminate(self: *App) void { self.config.deinit(); } -/// Perform a given action. +/// Perform a given action. Returns `true` if the action was able to be +/// performed, `false` otherwise. pub fn performAction( self: *App, target: apprt.Target, comptime action: apprt.Action.Key, value: apprt.Action.Value(action), -) !void { +) !bool { switch (action) { .quit => self.quit(), .new_window => _ = try self.newWindow(switch (target) { @@ -561,6 +562,8 @@ pub fn performAction( .color_change, => log.warn("unimplemented action={}", .{action}), } + + return true; } fn newTab(_: *App, target: apprt.Target) !void { From 57e7565b7f05f466621d33487da382d0b8c7809e Mon Sep 17 00:00:00 2001 From: "Jeffrey C. Ollie" Date: Sat, 8 Feb 2025 16:23:23 -0600 Subject: [PATCH 238/365] gtk: make goto_split a performable action --- src/apprt/gtk/App.zig | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/src/apprt/gtk/App.zig b/src/apprt/gtk/App.zig index 85ec80f47..e7974495a 100644 --- a/src/apprt/gtk/App.zig +++ b/src/apprt/gtk/App.zig @@ -531,7 +531,7 @@ pub fn performAction( .new_split => try self.newSplit(target, value), .resize_split => self.resizeSplit(target, value), .equalize_splits => self.equalizeSplits(target), - .goto_split => self.gotoSplit(target, value), + .goto_split => return self.gotoSplit(target, value), .open_config => try configpkg.edit.open(self.core_app.alloc), .config_change => self.configChange(target, value.config), .reload_config => try self.reloadConfig(target, value), @@ -671,18 +671,24 @@ fn gotoSplit( _: *const App, target: apprt.Target, direction: apprt.action.GotoSplit, -) void { +) bool { switch (target) { - .app => {}, + .app => { + return false; + }, .surface => |v| { - const s = v.rt_surface.container.split() orelse return; + const s = v.rt_surface.container.split() orelse return false; const map = s.directionMap(switch (v.rt_surface.container) { .split_tl => .top_left, .split_br => .bottom_right, .none, .tab_ => unreachable, }); - const surface_ = map.get(direction) orelse return; - if (surface_) |surface| surface.grabFocus(); + const surface_ = map.get(direction) orelse return false; + if (surface_) |surface| { + surface.grabFocus(); + return true; + } + return false; }, } } From 69fd438370fb7d92ed7b2ccfc940b471b437494c Mon Sep 17 00:00:00 2001 From: "Jeffrey C. Ollie" Date: Sat, 8 Feb 2025 17:30:27 -0600 Subject: [PATCH 239/365] gtk: make previous_tab, next_tab, last_tab, and goto_tab performable --- src/apprt/gtk/App.zig | 14 ++++++++------ src/apprt/gtk/Surface.zig | 2 +- src/apprt/gtk/Window.zig | 29 ++++++++++++++++------------- src/apprt/gtk/notebook.zig | 23 ++++++++++++++--------- 4 files changed, 39 insertions(+), 29 deletions(-) diff --git a/src/apprt/gtk/App.zig b/src/apprt/gtk/App.zig index e7974495a..41bc755c2 100644 --- a/src/apprt/gtk/App.zig +++ b/src/apprt/gtk/App.zig @@ -526,7 +526,7 @@ pub fn performAction( .new_tab => try self.newTab(target), .close_tab => try self.closeTab(target), - .goto_tab => self.gotoTab(target, value), + .goto_tab => return self.gotoTab(target, value), .move_tab => self.moveTab(target, value), .new_split => try self.newSplit(target, value), .resize_split => self.resizeSplit(target, value), @@ -600,24 +600,26 @@ fn closeTab(_: *App, target: apprt.Target) !void { } } -fn gotoTab(_: *App, target: apprt.Target, tab: apprt.action.GotoTab) void { +fn gotoTab(_: *App, target: apprt.Target, tab: apprt.action.GotoTab) bool { switch (target) { - .app => {}, + .app => { + return false; + }, .surface => |v| { const window = v.rt_surface.container.window() orelse { log.info( "gotoTab invalid for container={s}", .{@tagName(v.rt_surface.container)}, ); - return; + return false; }; - switch (tab) { + return switch (tab) { .previous => window.gotoPreviousTab(v.rt_surface), .next => window.gotoNextTab(v.rt_surface), .last => window.gotoLastTab(), else => window.gotoTab(@intCast(@intFromEnum(tab))), - } + }; }, } } diff --git a/src/apprt/gtk/Surface.zig b/src/apprt/gtk/Surface.zig index b9f8949fb..37ffb26cb 100644 --- a/src/apprt/gtk/Surface.zig +++ b/src/apprt/gtk/Surface.zig @@ -2124,7 +2124,7 @@ pub fn present(self: *Surface) void { if (self.container.window()) |window| { if (self.container.tab()) |tab| { if (window.notebook.getTabPosition(tab)) |position| - window.notebook.gotoNthTab(position); + _ = window.notebook.gotoNthTab(position); } c.gtk_window_present(window.window); } diff --git a/src/apprt/gtk/Window.zig b/src/apprt/gtk/Window.zig index bb49165b9..3daeffe76 100644 --- a/src/apprt/gtk/Window.zig +++ b/src/apprt/gtk/Window.zig @@ -506,23 +506,25 @@ pub fn closeTab(self: *Window, tab: *Tab) void { } /// Go to the previous tab for a surface. -pub fn gotoPreviousTab(self: *Window, surface: *Surface) void { +pub fn gotoPreviousTab(self: *Window, surface: *Surface) bool { const tab = surface.container.tab() orelse { log.info("surface is not attached to a tab bar, cannot navigate", .{}); - return; + return false; }; - self.notebook.gotoPreviousTab(tab); + if (!self.notebook.gotoPreviousTab(tab)) return false; self.focusCurrentTab(); + return true; } /// Go to the next tab for a surface. -pub fn gotoNextTab(self: *Window, surface: *Surface) void { +pub fn gotoNextTab(self: *Window, surface: *Surface) bool { const tab = surface.container.tab() orelse { log.info("surface is not attached to a tab bar, cannot navigate", .{}); - return; + return false; }; - self.notebook.gotoNextTab(tab); + if (!self.notebook.gotoNextTab(tab)) return false; self.focusCurrentTab(); + return true; } /// Move the current tab for a surface. @@ -535,19 +537,20 @@ pub fn moveTab(self: *Window, surface: *Surface, position: c_int) void { } /// Go to the last tab for a surface. -pub fn gotoLastTab(self: *Window) void { +pub fn gotoLastTab(self: *Window) bool { const max = self.notebook.nPages(); - self.gotoTab(@intCast(max)); + return self.gotoTab(@intCast(max)); } /// Go to the specific tab index. -pub fn gotoTab(self: *Window, n: usize) void { - if (n == 0) return; +pub fn gotoTab(self: *Window, n: usize) bool { + if (n == 0) return false; const max = self.notebook.nPages(); - if (max == 0) return; - const page_idx = std.math.cast(c_int, n - 1) orelse return; - self.notebook.gotoNthTab(@min(page_idx, max - 1)); + if (max == 0) return false; + const page_idx = std.math.cast(c_int, n - 1) orelse return false; + if (!self.notebook.gotoNthTab(@min(page_idx, max - 1))) return false; self.focusCurrentTab(); + return true; } /// Toggle tab overview (if present) diff --git a/src/apprt/gtk/notebook.zig b/src/apprt/gtk/notebook.zig index 4676c2529..548f2acaf 100644 --- a/src/apprt/gtk/notebook.zig +++ b/src/apprt/gtk/notebook.zig @@ -59,11 +59,14 @@ pub const Notebook = union(enum) { }; } - pub fn gotoNthTab(self: *Notebook, position: c_int) void { + pub fn gotoNthTab(self: *Notebook, position: c_int) bool { + const current_page_ = self.currentPage(); + if (current_page_) |current_page| if (current_page == position) return false; switch (self.*) { .adw => |*adw| adw.gotoNthTab(position), .gtk => |*gtk| gtk.gotoNthTab(position), } + return true; } pub fn getTabPosition(self: *Notebook, tab: *Tab) ?c_int { @@ -73,8 +76,8 @@ pub const Notebook = union(enum) { }; } - pub fn gotoPreviousTab(self: *Notebook, tab: *Tab) void { - const page_idx = self.getTabPosition(tab) orelse return; + pub fn gotoPreviousTab(self: *Notebook, tab: *Tab) bool { + const page_idx = self.getTabPosition(tab) orelse return false; // The next index is the previous or we wrap around. const next_idx = if (page_idx > 0) page_idx - 1 else next_idx: { @@ -83,19 +86,21 @@ pub const Notebook = union(enum) { }; // Do nothing if we have one tab - if (next_idx == page_idx) return; + if (next_idx == page_idx) return false; - self.gotoNthTab(next_idx); + return self.gotoNthTab(next_idx); } - pub fn gotoNextTab(self: *Notebook, tab: *Tab) void { - const page_idx = self.getTabPosition(tab) orelse return; + pub fn gotoNextTab(self: *Notebook, tab: *Tab) bool { + const page_idx = self.getTabPosition(tab) orelse return false; const max = self.nPages() -| 1; const next_idx = if (page_idx < max) page_idx + 1 else 0; - if (next_idx == page_idx) return; - self.gotoNthTab(next_idx); + // Do nothing if we have one tab + if (next_idx == page_idx) return false; + + return self.gotoNthTab(next_idx); } pub fn moveTab(self: *Notebook, tab: *Tab, position: c_int) void { From cbf562ecb339abe16466e8a21900a821ab3917fe Mon Sep 17 00:00:00 2001 From: Mitchell Hashimoto Date: Tue, 11 Feb 2025 16:38:12 -0800 Subject: [PATCH 240/365] apprt/embedded: make performAction return the performable state --- include/ghostty.h | 2 +- macos/Sources/Ghostty/Ghostty.App.swift | 11 ++++++++--- src/apprt/embedded.zig | 6 ++---- 3 files changed, 11 insertions(+), 8 deletions(-) diff --git a/include/ghostty.h b/include/ghostty.h index 246fb9ed3..99276cf23 100644 --- a/include/ghostty.h +++ b/include/ghostty.h @@ -644,7 +644,7 @@ typedef void (*ghostty_runtime_write_clipboard_cb)(void*, ghostty_clipboard_e, bool); typedef void (*ghostty_runtime_close_surface_cb)(void*, bool); -typedef void (*ghostty_runtime_action_cb)(ghostty_app_t, +typedef bool (*ghostty_runtime_action_cb)(ghostty_app_t, ghostty_target_s, ghostty_action_s); diff --git a/macos/Sources/Ghostty/Ghostty.App.swift b/macos/Sources/Ghostty/Ghostty.App.swift index 43c0f245a..a6b35f8cf 100644 --- a/macos/Sources/Ghostty/Ghostty.App.swift +++ b/macos/Sources/Ghostty/Ghostty.App.swift @@ -423,7 +423,7 @@ extension Ghostty { // MARK: Actions (macOS) - static func action(_ app: ghostty_app_t, target: ghostty_target_s, action: ghostty_action_s) { + static func action(_ app: ghostty_app_t, target: ghostty_target_s, action: ghostty_action_s) -> Bool { // Make sure it a target we understand so all our action handlers can assert switch (target.tag) { case GHOSTTY_TARGET_APP, GHOSTTY_TARGET_SURFACE: @@ -431,7 +431,7 @@ extension Ghostty { default: Ghostty.logger.warning("unknown action target=\(target.tag.rawValue)") - return + return false } // Action dispatch @@ -541,10 +541,15 @@ extension Ghostty { fallthrough case GHOSTTY_ACTION_QUIT_TIMER: Ghostty.logger.info("known but unimplemented action action=\(action.tag.rawValue)") - + return false default: Ghostty.logger.warning("unknown action action=\(action.tag.rawValue)") + return false } + + // If we reached here then we assume performed since all unknown actions + // are captured in the switch and return false. + return true } private static func quit(_ app: ghostty_app_t) { diff --git a/src/apprt/embedded.zig b/src/apprt/embedded.zig index 3174f161e..02bbda0d9 100644 --- a/src/apprt/embedded.zig +++ b/src/apprt/embedded.zig @@ -46,7 +46,7 @@ pub const App = struct { wakeup: *const fn (AppUD) callconv(.C) void, /// Callback called to handle an action. - action: *const fn (*App, apprt.Target.C, apprt.Action.C) callconv(.C) void, + action: *const fn (*App, apprt.Target.C, apprt.Action.C) callconv(.C) bool, /// Read the clipboard value. The return value must be preserved /// by the host until the next call. If there is no valid clipboard @@ -495,13 +495,11 @@ pub const App = struct { action, value, }); - self.opts.action( + return self.opts.action( self, target.cval(), @unionInit(apprt.Action, @tagName(action), value).cval(), ); - - return true; } fn performPreAction( From 927cb4e6225f6fbe9a7de4b7a0c9aa0e68e26481 Mon Sep 17 00:00:00 2001 From: Mitchell Hashimoto Date: Tue, 11 Feb 2025 16:52:25 -0800 Subject: [PATCH 241/365] apprt/gtk: some stylistic changes --- src/apprt/gtk/App.zig | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/src/apprt/gtk/App.zig b/src/apprt/gtk/App.zig index 41bc755c2..f9a3ab160 100644 --- a/src/apprt/gtk/App.zig +++ b/src/apprt/gtk/App.zig @@ -560,9 +560,14 @@ pub fn performAction( .render_inspector, .renderer_health, .color_change, - => log.warn("unimplemented action={}", .{action}), + => { + log.warn("unimplemented action={}", .{action}); + return false; + }, } + // We can assume it was handled because all unknown/unimplemented actions + // are caught above. return true; } @@ -602,9 +607,7 @@ fn closeTab(_: *App, target: apprt.Target) !void { fn gotoTab(_: *App, target: apprt.Target, tab: apprt.action.GotoTab) bool { switch (target) { - .app => { - return false; - }, + .app => return false, .surface => |v| { const window = v.rt_surface.container.window() orelse { log.info( @@ -675,9 +678,7 @@ fn gotoSplit( direction: apprt.action.GotoSplit, ) bool { switch (target) { - .app => { - return false; - }, + .app => return false, .surface => |v| { const s = v.rt_surface.container.split() orelse return false; const map = s.directionMap(switch (v.rt_surface.container) { From f26c96d51b4f8add3ccd61fc48d6226dade437dd Mon Sep 17 00:00:00 2001 From: Mitchell Hashimoto Date: Tue, 11 Feb 2025 16:52:58 -0800 Subject: [PATCH 242/365] apprt/glfw: return false for unimplemented actions --- src/apprt/glfw.zig | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/apprt/glfw.zig b/src/apprt/glfw.zig index bcb7ee5ba..cb034cd86 100644 --- a/src/apprt/glfw.zig +++ b/src/apprt/glfw.zig @@ -239,7 +239,10 @@ pub const App = struct { .pwd, .config_change, .toggle_maximize, - => log.info("unimplemented action={}", .{action}), + => { + log.info("unimplemented action={}", .{action}); + return false; + }, } return true; From bf5351ed416b12575d377fe0bd5628df515cb71e Mon Sep 17 00:00:00 2001 From: azhn Date: Wed, 12 Feb 2025 19:01:04 +1100 Subject: [PATCH 243/365] gtk: Point right-click context menu exactly at cursor to improve behaviour at edges and closeness to cursor --- src/apprt/gtk/Surface.zig | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/apprt/gtk/Surface.zig b/src/apprt/gtk/Surface.zig index 37ffb26cb..99f0bfceb 100644 --- a/src/apprt/gtk/Surface.zig +++ b/src/apprt/gtk/Surface.zig @@ -1284,8 +1284,8 @@ fn showContextMenu(self: *Surface, x: f32, y: f32) void { const rect: c.GdkRectangle = .{ .x = @intFromFloat(point.x), .y = @intFromFloat(point.y), - .width = 1, - .height = 1, + .width = 0, + .height = 0, }; c.gtk_popover_set_pointing_to(@ptrCast(@alignCast(window.context_menu)), &rect); From c061d06aa1f5afca593223ed30ed2a62c5fba6f0 Mon Sep 17 00:00:00 2001 From: azhn Date: Wed, 12 Feb 2025 19:50:32 +1100 Subject: [PATCH 244/365] Revert "gtk: Point right-click context menu exactly at cursor to improve behaviour at edges and closeness to cursor" This reverts commit bf5351ed416b12575d377fe0bd5628df515cb71e. --- src/apprt/gtk/Surface.zig | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/apprt/gtk/Surface.zig b/src/apprt/gtk/Surface.zig index 99f0bfceb..37ffb26cb 100644 --- a/src/apprt/gtk/Surface.zig +++ b/src/apprt/gtk/Surface.zig @@ -1284,8 +1284,8 @@ fn showContextMenu(self: *Surface, x: f32, y: f32) void { const rect: c.GdkRectangle = .{ .x = @intFromFloat(point.x), .y = @intFromFloat(point.y), - .width = 0, - .height = 0, + .width = 1, + .height = 1, }; c.gtk_popover_set_pointing_to(@ptrCast(@alignCast(window.context_menu)), &rect); From b1ae7eea2fdfad7282b1040ea729decc991bc09d Mon Sep 17 00:00:00 2001 From: azhn Date: Wed, 12 Feb 2025 22:46:00 +1100 Subject: [PATCH 245/365] gtk: fix context menu computed location --- src/apprt/gtk/Surface.zig | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/apprt/gtk/Surface.zig b/src/apprt/gtk/Surface.zig index 37ffb26cb..c4b7717cc 100644 --- a/src/apprt/gtk/Surface.zig +++ b/src/apprt/gtk/Surface.zig @@ -1270,10 +1270,12 @@ fn showContextMenu(self: *Surface, x: f32, y: f32) void { return; }; + // Convert surface coordinate into coordinate space of the + // context menu's parent var point: c.graphene_point_t = .{ .x = x, .y = y }; if (c.gtk_widget_compute_point( self.primaryWidget(), - @ptrCast(window.window), + c.gtk_widget_get_parent(@ptrCast(window.context_menu)), &c.GRAPHENE_POINT_INIT(point.x, point.y), @ptrCast(&point), ) == 0) { From 9bac6ecbffac3fbae624e0f5e7daec30ac0e9a98 Mon Sep 17 00:00:00 2001 From: "Jeffrey C. Ollie" Date: Wed, 12 Feb 2025 07:54:50 -0600 Subject: [PATCH 246/365] macOS: fix iOS build breakage from #5644 --- macos/Sources/Ghostty/Ghostty.App.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/macos/Sources/Ghostty/Ghostty.App.swift b/macos/Sources/Ghostty/Ghostty.App.swift index a6b35f8cf..ea9a77567 100644 --- a/macos/Sources/Ghostty/Ghostty.App.swift +++ b/macos/Sources/Ghostty/Ghostty.App.swift @@ -257,7 +257,7 @@ extension Ghostty { // MARK: Ghostty Callbacks (iOS) static func wakeup(_ userdata: UnsafeMutableRawPointer?) {} - static func action(_ app: ghostty_app_t, target: ghostty_target_s, action: ghostty_action_s) {} + static func action(_ app: ghostty_app_t, target: ghostty_target_s, action: ghostty_action_s) -> Bool { return false } static func readClipboard( _ userdata: UnsafeMutableRawPointer?, location: ghostty_clipboard_e, From 1e3cd895166227128125213d04aa58d325908d7d Mon Sep 17 00:00:00 2001 From: "Jeffrey C. Ollie" Date: Tue, 11 Feb 2025 21:28:37 -0600 Subject: [PATCH 247/365] macOS: use Nix to get Zig deps --- .github/workflows/test.yml | 56 +++++++++++++++++++++++--------------- flake.nix | 1 + 2 files changed, 35 insertions(+), 22 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 0f32162a9..2082d7286 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -202,10 +202,14 @@ jobs: - name: XCode Select run: sudo xcode-select -s /Applications/Xcode_16.0.app + - name: get the Zig deps + id: deps + run: nix build -L .#deps && echo "deps=$(readlink ./result)" >> $GITHUB_OUTPUT + # GhosttyKit is the framework that is built from Zig for our native # Mac app to access. - name: Build GhosttyKit - run: nix develop -c zig build + run: nix develop -c zig build --system ${{ steps.deps.outputs.deps }} # The native app is built with native XCode tooling. This also does # codesigning. IMPORTANT: this must NOT run in a Nix environment. @@ -238,35 +242,39 @@ jobs: - name: XCode Select run: sudo xcode-select -s /Applications/Xcode_16.0.app + - name: get the Zig deps + id: deps + run: nix build -L .#deps && echo "deps=$(readlink ./result)" >> $GITHUB_OUTPUT + - name: Test All run: | # OpenGL - nix develop -c zig build test -Dapp-runtime=glfw -Drenderer=opengl -Dfont-backend=freetype - nix develop -c zig build test -Dapp-runtime=glfw -Drenderer=opengl -Dfont-backend=coretext - nix develop -c zig build test -Dapp-runtime=glfw -Drenderer=opengl -Dfont-backend=coretext_freetype - nix develop -c zig build test -Dapp-runtime=glfw -Drenderer=opengl -Dfont-backend=coretext_harfbuzz - nix develop -c zig build test -Dapp-runtime=glfw -Drenderer=opengl -Dfont-backend=coretext_noshape + nix develop -c zig build test --system ${{ steps.deps.outputs.deps }} -Dapp-runtime=glfw -Drenderer=opengl -Dfont-backend=freetype + nix develop -c zig build test --system ${{ steps.deps.outputs.deps }} -Dapp-runtime=glfw -Drenderer=opengl -Dfont-backend=coretext + nix develop -c zig build test --system ${{ steps.deps.outputs.deps }} -Dapp-runtime=glfw -Drenderer=opengl -Dfont-backend=coretext_freetype + nix develop -c zig build test --system ${{ steps.deps.outputs.deps }} -Dapp-runtime=glfw -Drenderer=opengl -Dfont-backend=coretext_harfbuzz + nix develop -c zig build test --system ${{ steps.deps.outputs.deps }} -Dapp-runtime=glfw -Drenderer=opengl -Dfont-backend=coretext_noshape # Metal - nix develop -c zig build test -Dapp-runtime=glfw -Drenderer=metal -Dfont-backend=freetype - nix develop -c zig build test -Dapp-runtime=glfw -Drenderer=metal -Dfont-backend=coretext - nix develop -c zig build test -Dapp-runtime=glfw -Drenderer=metal -Dfont-backend=coretext_freetype - nix develop -c zig build test -Dapp-runtime=glfw -Drenderer=metal -Dfont-backend=coretext_harfbuzz - nix develop -c zig build test -Dapp-runtime=glfw -Drenderer=metal -Dfont-backend=coretext_noshape + nix develop -c zig build test --system ${{ steps.deps.outputs.deps }} -Dapp-runtime=glfw -Drenderer=metal -Dfont-backend=freetype + nix develop -c zig build test --system ${{ steps.deps.outputs.deps }} -Dapp-runtime=glfw -Drenderer=metal -Dfont-backend=coretext + nix develop -c zig build test --system ${{ steps.deps.outputs.deps }} -Dapp-runtime=glfw -Drenderer=metal -Dfont-backend=coretext_freetype + nix develop -c zig build test --system ${{ steps.deps.outputs.deps }} -Dapp-runtime=glfw -Drenderer=metal -Dfont-backend=coretext_harfbuzz + nix develop -c zig build test --system ${{ steps.deps.outputs.deps }} -Dapp-runtime=glfw -Drenderer=metal -Dfont-backend=coretext_noshape - name: Build All run: | - nix develop -c zig build -Dapp-runtime=glfw -Drenderer=opengl -Dfont-backend=freetype - nix develop -c zig build -Dapp-runtime=glfw -Drenderer=opengl -Dfont-backend=coretext - nix develop -c zig build -Dapp-runtime=glfw -Drenderer=opengl -Dfont-backend=coretext_freetype - nix develop -c zig build -Dapp-runtime=glfw -Drenderer=opengl -Dfont-backend=coretext_harfbuzz - nix develop -c zig build -Dapp-runtime=glfw -Drenderer=opengl -Dfont-backend=coretext_noshape + nix develop -c zig build --system ${{ steps.deps.outputs.deps }} -Dapp-runtime=glfw -Drenderer=opengl -Dfont-backend=freetype + nix develop -c zig build --system ${{ steps.deps.outputs.deps }} -Dapp-runtime=glfw -Drenderer=opengl -Dfont-backend=coretext + nix develop -c zig build --system ${{ steps.deps.outputs.deps }} -Dapp-runtime=glfw -Drenderer=opengl -Dfont-backend=coretext_freetype + nix develop -c zig build --system ${{ steps.deps.outputs.deps }} -Dapp-runtime=glfw -Drenderer=opengl -Dfont-backend=coretext_harfbuzz + nix develop -c zig build --system ${{ steps.deps.outputs.deps }} -Dapp-runtime=glfw -Drenderer=opengl -Dfont-backend=coretext_noshape - nix develop -c zig build -Dapp-runtime=glfw -Drenderer=metal -Dfont-backend=freetype - nix develop -c zig build -Dapp-runtime=glfw -Drenderer=metal -Dfont-backend=coretext - nix develop -c zig build -Dapp-runtime=glfw -Drenderer=metal -Dfont-backend=coretext_freetype - nix develop -c zig build -Dapp-runtime=glfw -Drenderer=metal -Dfont-backend=coretext_harfbuzz - nix develop -c zig build -Dapp-runtime=glfw -Drenderer=metal -Dfont-backend=coretext_noshape + nix develop -c zig build --system ${{ steps.deps.outputs.deps }} -Dapp-runtime=glfw -Drenderer=metal -Dfont-backend=freetype + nix develop -c zig build --system ${{ steps.deps.outputs.deps }} -Dapp-runtime=glfw -Drenderer=metal -Dfont-backend=coretext + nix develop -c zig build --system ${{ steps.deps.outputs.deps }} -Dapp-runtime=glfw -Drenderer=metal -Dfont-backend=coretext_freetype + nix develop -c zig build --system ${{ steps.deps.outputs.deps }} -Dapp-runtime=glfw -Drenderer=metal -Dfont-backend=coretext_harfbuzz + nix develop -c zig build --system ${{ steps.deps.outputs.deps }} -Dapp-runtime=glfw -Drenderer=metal -Dfont-backend=coretext_noshape build-windows: runs-on: windows-2022 @@ -471,8 +479,12 @@ jobs: - name: XCode Select run: sudo xcode-select -s /Applications/Xcode_16.0.app + - name: get the Zig deps + id: deps + run: nix build -L .#deps && echo "deps=$(readlink ./result)" >> $GITHUB_OUTPUT + - name: test - run: nix develop -c zig build test + run: nix develop -c zig build test --system ${{ steps.deps.outputs.deps }} prettier: if: github.repository == 'ghostty-org/ghostty' diff --git a/flake.nix b/flake.nix index cf82d392a..df0eeb759 100644 --- a/flake.nix +++ b/flake.nix @@ -61,6 +61,7 @@ revision = self.shortRev or self.dirtyShortRev or "dirty"; }; in rec { + deps = pkgs-stable.callPackage ./build.zig.zon.nix {}; ghostty-debug = pkgs-stable.callPackage ./nix/package.nix (mkArgs "Debug"); ghostty-releasesafe = pkgs-stable.callPackage ./nix/package.nix (mkArgs "ReleaseSafe"); ghostty-releasefast = pkgs-stable.callPackage ./nix/package.nix (mkArgs "ReleaseFast"); From 9ea29dc5085a060c18d0288d2c72d391d5279269 Mon Sep 17 00:00:00 2001 From: Mitchell Hashimoto Date: Wed, 12 Feb 2025 08:47:10 -0800 Subject: [PATCH 248/365] termio: free envmap when able, fix memory leak Caused by #5650 I actually don't understand how this didn't happen before or why we didn't notice it but it seems like the envmap was never freed. In the latest debug builds prior to this build GPA reports the leak. We should free the envmap when the subprocess is deinitialized. But also we can free the env map as soon as we start the subprocess which saves some small amount of memory at runtime. Additionally, we should only be freeing the envmap on error if we created it. --- src/termio/Exec.zig | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/src/termio/Exec.zig b/src/termio/Exec.zig index d9730b970..caef2229d 100644 --- a/src/termio/Exec.zig +++ b/src/termio/Exec.zig @@ -704,7 +704,7 @@ const Subprocess = struct { arena: std.heap.ArenaAllocator, cwd: ?[]const u8, - env: EnvMap, + env: ?EnvMap, args: [][]const u8, grid_size: renderer.GridSize, screen_size: renderer.ScreenSize, @@ -725,7 +725,7 @@ const Subprocess = struct { // Get our env. If a default env isn't provided by the caller // then we get it ourselves. var env = cfg.env orelse try internal_os.getEnvMap(alloc); - errdefer env.deinit(); + errdefer if (cfg.env == null) env.deinit(); // If we have a resources dir then set our env var if (cfg.resources_dir) |dir| { @@ -1054,6 +1054,7 @@ const Subprocess = struct { pub fn deinit(self: *Subprocess) void { self.stop(); if (self.pty) |*pty| pty.deinit(); + if (self.env) |*env| env.deinit(); self.arena.deinit(); self.* = undefined; } @@ -1136,7 +1137,7 @@ const Subprocess = struct { var cmd: Command = .{ .path = self.args[0], .args = self.args, - .env = &self.env, + .env = if (self.env) |*env| env else null, .cwd = cwd, .stdin = if (builtin.os.tag == .windows) null else .{ .handle = pty.slave }, .stdout = if (builtin.os.tag == .windows) null else .{ .handle = pty.slave }, @@ -1170,6 +1171,12 @@ const Subprocess = struct { _ = posix.close(pty.slave); } + // Successful start we can clear out some memory. + if (self.env) |*env| { + env.deinit(); + self.env = null; + } + self.command = cmd; return switch (builtin.os.tag) { .windows => .{ From 749bac3d72b3bf46405a39b699f3d6043f55c605 Mon Sep 17 00:00:00 2001 From: "Jeffrey C. Ollie" Date: Wed, 12 Feb 2025 11:14:38 -0600 Subject: [PATCH 249/365] gtk: use the standard path for including Adwaita header file As pointed out by @tristan957 the standard path for including the Adwaita header file is simply "adwaita.h". While it may have been necessary in the past to use a non-standard include path, that no longer appears to be the case. --- src/apprt/gtk/c.zig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/apprt/gtk/c.zig b/src/apprt/gtk/c.zig index 4dc8ea57f..5bd32edfe 100644 --- a/src/apprt/gtk/c.zig +++ b/src/apprt/gtk/c.zig @@ -4,7 +4,7 @@ const build_options = @import("build_options"); pub const c = @cImport({ @cInclude("gtk/gtk.h"); if (build_options.adwaita) { - @cInclude("libadwaita-1/adwaita.h"); + @cInclude("adwaita.h"); } if (build_options.x11) { From 7dac9e02b343c8ed514c94339bf299d9ca2956bc Mon Sep 17 00:00:00 2001 From: Mitchell Hashimoto Date: Wed, 12 Feb 2025 10:16:33 -0800 Subject: [PATCH 250/365] terminal: reflow the saved cursor if we have one Fixes #5718 When a terminal is resized with text reflow (i.e. soft-wrapped text), the cursor is generally reflowed with it. For example, imagine a terminal window 5-columns wide and you type the following without pressing enter. The cursor is on the X. ``` OOOOO OOX ``` If you resize the window now to 8 or more columns, this happens, as expected: ``` OOOOOOOX ``` As expected, the cursor remains on the "X". This behaves like any other text input... Terminals also provide an escape sequence to [save the cursor (ESC 7 aka DECSC)](https://ghostty.org/docs/vt/esc/decsc). This includes, amongst other things, the cursor position. The cursor can be restored with [DECRC](https://ghostty.org/docs/vt/esc/decrc). The behavior of the position of the _saved cursor_ in the context of text reflow is unspecified and varies wildly between terminals Ghostty does this right now (as do many other terminals): ``` OOOOOOOO X ``` This commit changes the behavior so that we reflow the saved cursor. --- src/terminal/Screen.zig | 42 ++++++++++++++++++++ src/terminal/Terminal.zig | 81 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 123 insertions(+) diff --git a/src/terminal/Screen.zig b/src/terminal/Screen.zig index 339599728..273e1aebe 100644 --- a/src/terminal/Screen.zig +++ b/src/terminal/Screen.zig @@ -1590,6 +1590,18 @@ fn resizeInternal( self.cursor.hyperlink = null; } + // We need to insert a tracked pin for our saved cursor so we can + // modify its X/Y for reflow. + const saved_cursor_pin: ?*Pin = saved_cursor: { + const sc = self.saved_cursor orelse break :saved_cursor null; + const pin = self.pages.pin(.{ .active = .{ + .x = sc.x, + .y = sc.y, + } }) orelse break :saved_cursor null; + break :saved_cursor try self.pages.trackPin(pin); + }; + defer if (saved_cursor_pin) |p| self.pages.untrackPin(p); + // Perform the resize operation. try self.pages.resize(.{ .rows = rows, @@ -1609,6 +1621,36 @@ fn resizeInternal( // state is correct. self.cursorReload(); + // If we reflowed a saved cursor, update it. + if (saved_cursor_pin) |p| { + // This should never fail because a non-null saved_cursor_pin + // implies a non-null saved_cursor. + const sc = &self.saved_cursor.?; + if (self.pages.pointFromPin(.active, p.*)) |pt| { + sc.x = @intCast(pt.active.x); + sc.y = @intCast(pt.active.y); + + // If we had pending wrap set and we're no longer at the end of + // the line, we unset the pending wrap and move the cursor to + // reflect the correct next position. + if (sc.pending_wrap and sc.x != cols - 1) { + sc.pending_wrap = false; + sc.x += 1; + } + } else { + // I think this can happen if the screen is resized to be + // less rows or less cols and our saved cursor moves outside + // the active area. In this case, there isn't anything really + // reasonable we can do so we just move the cursor to the + // top-left. It may be reasonable to also move the cursor to + // match the primary cursor. Any behavior is fine since this is + // totally unspecified. + sc.x = 0; + sc.y = 0; + sc.pending_wrap = false; + } + } + // Fix up our hyperlink if we had one. if (hyperlink_) |link| { self.startHyperlink(link.uri, switch (link.id) { diff --git a/src/terminal/Terminal.zig b/src/terminal/Terminal.zig index 65476108d..bec0a24a2 100644 --- a/src/terminal/Terminal.zig +++ b/src/terminal/Terminal.zig @@ -10708,6 +10708,87 @@ test "Terminal: resize with high unique style per cell with wrapping" { try t.resize(alloc, 60, 30); } +test "Terminal: resize with reflow and saved cursor" { + const alloc = testing.allocator; + var t = try init(alloc, .{ .cols = 2, .rows = 3 }); + defer t.deinit(alloc); + try t.printString("1A2B"); + t.setCursorPos(2, 2); + { + const list_cell = t.screen.pages.getCell(.{ .active = .{ + .x = t.screen.cursor.x, + .y = t.screen.cursor.y, + } }).?; + const cell = list_cell.cell; + try testing.expectEqual(@as(u32, 'B'), cell.content.codepoint); + } + + { + const str = try t.plainString(testing.allocator); + defer testing.allocator.free(str); + try testing.expectEqualStrings("1A\n2B", str); + } + + t.saveCursor(); + try t.resize(alloc, 5, 3); + try t.restoreCursor(); + + { + const str = try t.plainString(testing.allocator); + defer testing.allocator.free(str); + try testing.expectEqualStrings("1A2B", str); + } + + // Verify our cursor is still in the same place + { + const list_cell = t.screen.pages.getCell(.{ .active = .{ + .x = t.screen.cursor.x, + .y = t.screen.cursor.y, + } }).?; + const cell = list_cell.cell; + try testing.expectEqual(@as(u32, 'B'), cell.content.codepoint); + } +} + +test "Terminal: resize with reflow and saved cursor pending wrap" { + const alloc = testing.allocator; + var t = try init(alloc, .{ .cols = 2, .rows = 3 }); + defer t.deinit(alloc); + try t.printString("1A2B"); + { + const list_cell = t.screen.pages.getCell(.{ .active = .{ + .x = t.screen.cursor.x, + .y = t.screen.cursor.y, + } }).?; + const cell = list_cell.cell; + try testing.expectEqual(@as(u32, 'B'), cell.content.codepoint); + } + + { + const str = try t.plainString(testing.allocator); + defer testing.allocator.free(str); + try testing.expectEqualStrings("1A\n2B", str); + } + + t.saveCursor(); + try t.resize(alloc, 5, 3); + try t.restoreCursor(); + + { + const str = try t.plainString(testing.allocator); + defer testing.allocator.free(str); + try testing.expectEqualStrings("1A2B", str); + } + + // Pending wrap should be reset + try t.print('X'); + { + const str = try t.plainString(testing.allocator); + defer testing.allocator.free(str); + try testing.expectEqualStrings("1A2BX", str); + } +} + test "Terminal: DECCOLM without DEC mode 40" { const alloc = testing.allocator; var t = try init(alloc, .{ .rows = 5, .cols = 5 }); From f63242f7fb755b44df17ddef518089ca713f2778 Mon Sep 17 00:00:00 2001 From: "Jeffrey C. Ollie" Date: Wed, 12 Feb 2025 14:14:37 -0600 Subject: [PATCH 251/365] gtk: add support for using GTK Builder UI files and Blueprints Adds buildtime and comptime checks to make sure that Blueprints/UI files are availble and correctly formed. Will also compile Blueprints to UI files so that they are available to GTK code. --- nix/devShell.nix | 2 + nix/package.nix | 2 + src/apprt/gtk/Builder.zig | 61 ++++++++++++++++++++++++++ src/apprt/gtk/builder_check.zig | 39 +++++++++++++++++ src/apprt/gtk/gresource.zig | 78 +++++++++++++++++++++++---------- src/build/SharedDeps.zig | 44 ++++++++++++++++++- 6 files changed, 200 insertions(+), 26 deletions(-) create mode 100644 src/apprt/gtk/Builder.zig create mode 100644 src/apprt/gtk/builder_check.zig diff --git a/nix/devShell.nix b/nix/devShell.nix index 3014b34b7..b3dccef25 100644 --- a/nix/devShell.nix +++ b/nix/devShell.nix @@ -32,6 +32,7 @@ gtk4, gobject-introspection, libadwaita, + blueprint-compiler, adwaita-icon-theme, hicolor-icon-theme, harfbuzz, @@ -159,6 +160,7 @@ in libXrandr # Only needed for GTK builds + blueprint-compiler libadwaita gtk4 glib diff --git a/nix/package.nix b/nix/package.nix index 892d5e956..29d5aea29 100644 --- a/nix/package.nix +++ b/nix/package.nix @@ -15,6 +15,7 @@ gtk4, gobject-introspection, libadwaita, + blueprint-compiler, wrapGAppsHook4, gsettings-desktop-schemas, git, @@ -82,6 +83,7 @@ in zig_hook gobject-introspection wrapGAppsHook4 + blueprint-compiler ] ++ lib.optionals enableWayland [ wayland-scanner diff --git a/src/apprt/gtk/Builder.zig b/src/apprt/gtk/Builder.zig new file mode 100644 index 000000000..bd2e6beaf --- /dev/null +++ b/src/apprt/gtk/Builder.zig @@ -0,0 +1,61 @@ +/// Wrapper around GTK's builder APIs that perform some comptime checks. +const Builder = @This(); + +const std = @import("std"); + +const gtk = @import("gtk"); +const gobject = @import("gobject"); + +resource_name: [:0]const u8, + +pub fn init(comptime name: []const u8, comptime kind: enum { blp, ui }) Builder { + comptime { + switch (kind) { + .blp => { + // Use @embedFile to make sure that the file exists at compile + // time. Zig _should_ discard the data so that it doesn't end + // up in the final executable. At runtime we will load the data + // from a GResource. + _ = @embedFile("ui/" ++ name ++ ".blp"); + + // Check to make sure that our file is listed as a + // `blueprint_file` in `gresource.zig`. If it isn't Ghostty + // could crash at runtime when we try and load a nonexistent + // GResource. + const gresource = @import("gresource.zig"); + for (gresource.blueprint_files) |blueprint_file| { + if (std.mem.eql(u8, blueprint_file, name)) break; + } else @compileError("missing blueprint file '" ++ name ++ "' in gresource.zig"); + }, + .ui => { + // Use @embedFile to make sure that the file exists at compile + // time. Zig _should_ discard the data so that it doesn't end + // up in the final executable. At runtime we will load the data + // from a GResource. + _ = @embedFile("ui/" ++ name ++ ".ui"); + + // Check to make sure that our file is listed as a `ui_file` in + // `gresource.zig`. If it isn't Ghostty could crash at runtime + // when we try and load a nonexistent GResource. + const gresource = @import("gresource.zig"); + for (gresource.ui_files) |ui_file| { + if (std.mem.eql(u8, ui_file, name)) break; + } else @compileError("missing ui file '" ++ name ++ "' in gresource.zig"); + }, + } + } + + return .{ + .resource_name = "/com/mitchellh/ghostty/ui/" ++ name ++ ".ui", + }; +} + +pub fn setWidgetClassTemplate(self: *const Builder, class: *gtk.WidgetClass) void { + class.setTemplateFromResource(self.resource_name); +} + +pub fn getObject(self: *const Builder, name: [:0]const u8) ?gobject.Object { + const builder = gtk.Builder.newFromResource(self.resource_name); + defer builder.unref(); + return builder.getObject(name); +} diff --git a/src/apprt/gtk/builder_check.zig b/src/apprt/gtk/builder_check.zig new file mode 100644 index 000000000..153dfb0eb --- /dev/null +++ b/src/apprt/gtk/builder_check.zig @@ -0,0 +1,39 @@ +const std = @import("std"); +const build_options = @import("build_options"); + +const gtk = @import("gtk"); +const adw = if (build_options.adwaita) @import("adw") else void; + +pub fn main() !void { + var gpa = std.heap.GeneralPurposeAllocator(.{}){}; + const alloc = gpa.allocator(); + + const filename = filename: { + var it = try std.process.argsWithAllocator(alloc); + defer it.deinit(); + + _ = it.next() orelse return error.NoFilename; + break :filename try alloc.dupeZ(u8, it.next() orelse return error.NoFilename); + }; + defer alloc.free(filename); + + const data = try std.fs.cwd().readFileAlloc(alloc, filename, std.math.maxInt(u16)); + defer alloc.free(data); + + if ((comptime !build_options.adwaita) and std.mem.indexOf(u8, data, "lib=\"Adw\"") != null) { + std.debug.print("{s}: skipping builder check because Adwaita is not enabled!\n", .{filename}); + return; + } + + if (gtk.initCheck() == 0) { + std.debug.print("{s}: skipping builder check because we can't connect to display!\n", .{filename}); + return; + } + + if (comptime build_options.adwaita) { + adw.init(); + } + + const builder = gtk.Builder.newFromString(data.ptr, @intCast(data.len)); + defer builder.unref(); +} diff --git a/src/apprt/gtk/gresource.zig b/src/apprt/gtk/gresource.zig index 327680993..050605b00 100644 --- a/src/apprt/gtk/gresource.zig +++ b/src/apprt/gtk/gresource.zig @@ -53,29 +53,33 @@ const icons = [_]struct { }, }; -pub const gresource_xml = comptimeGenerateGResourceXML(); +pub const ui_files = [_][]const u8{}; +pub const blueprint_files = [_][]const u8{}; -fn comptimeGenerateGResourceXML() []const u8 { - comptime { - @setEvalBranchQuota(13000); - var counter = std.io.countingWriter(std.io.null_writer); - try writeGResourceXML(&counter.writer()); +pub fn main() !void { + var gpa = std.heap.GeneralPurposeAllocator(.{}){}; + const alloc = gpa.allocator(); - var buf: [counter.bytes_written]u8 = undefined; - var stream = std.io.fixedBufferStream(&buf); - try writeGResourceXML(stream.writer()); - const final = buf; - return final[0..stream.getWritten().len]; + var extra_ui_files = std.ArrayList([]const u8).init(alloc); + defer { + for (extra_ui_files.items) |item| alloc.free(item); + extra_ui_files.deinit(); } -} -fn writeGResourceXML(writer: anytype) !void { + var it = try std.process.argsWithAllocator(alloc); + defer it.deinit(); + + while (it.next()) |filename| { + if (std.mem.eql(u8, std.fs.path.extension(filename), ".ui")) { + try extra_ui_files.append(try alloc.dupe(u8, filename)); + } + } + + const writer = std.io.getStdOut().writer(); + try writer.writeAll( \\ \\ - \\ - ); - try writer.writeAll( \\ \\ ); @@ -87,9 +91,6 @@ fn writeGResourceXML(writer: anytype) !void { } try writer.writeAll( \\ - \\ - ); - try writer.writeAll( \\ \\ ); @@ -99,6 +100,23 @@ fn writeGResourceXML(writer: anytype) !void { .{ icon.alias, icon.source }, ); } + try writer.writeAll( + \\ + \\ + \\ + ); + for (ui_files) |ui_file| { + try writer.print( + " src/apprt/gtk/ui/{0s}.ui\n", + .{ui_file}, + ); + } + for (extra_ui_files.items) |ui_file| { + try writer.print( + " {s}\n", + .{ std.fs.path.basename(ui_file), ui_file }, + ); + } try writer.writeAll( \\ \\ @@ -107,12 +125,24 @@ fn writeGResourceXML(writer: anytype) !void { } pub const dependencies = deps: { - var deps: [css_files.len + icons.len][]const u8 = undefined; - for (css_files, 0..) |css_file, i| { - deps[i] = std.fmt.comptimePrint("src/apprt/gtk/{s}", .{css_file}); + const total = css_files.len + icons.len + ui_files.len + blueprint_files.len; + var deps: [total][]const u8 = undefined; + var index: usize = 0; + for (css_files) |css_file| { + deps[index] = std.fmt.comptimePrint("src/apprt/gtk/{s}", .{css_file}); + index += 1; } - for (icons, css_files.len..) |icon, i| { - deps[i] = std.fmt.comptimePrint("images/icons/icon_{s}.png", .{icon.source}); + for (icons) |icon| { + deps[index] = std.fmt.comptimePrint("images/icons/icon_{s}.png", .{icon.source}); + index += 1; + } + for (ui_files) |ui_file| { + deps[index] = std.fmt.comptimePrint("src/apprt/gtk/ui/{s}.ui", .{ui_file}); + index += 1; + } + for (blueprint_files) |blueprint_file| { + deps[index] = std.fmt.comptimePrint("src/apprt/gtk/ui/{s}.blp", .{blueprint_file}); + index += 1; } break :deps deps; }; diff --git a/src/build/SharedDeps.zig b/src/build/SharedDeps.zig index 34666cf8a..f00b79f01 100644 --- a/src/build/SharedDeps.zig +++ b/src/build/SharedDeps.zig @@ -490,8 +490,48 @@ pub fn add( { const gresource = @import("../apprt/gtk/gresource.zig"); - const wf = b.addWriteFiles(); - const gresource_xml = wf.add("gresource.xml", gresource.gresource_xml); + const gresource_xml = gresource_xml: { + const generate_gresource_xml = b.addExecutable(.{ + .name = "generate_gresource_xml", + .root_source_file = b.path("src/apprt/gtk/gresource.zig"), + .target = b.host, + }); + + const generate = b.addRunArtifact(generate_gresource_xml); + + for (gresource.blueprint_files) |blueprint_file| { + const blueprint_compiler = b.addSystemCommand(&.{ + "blueprint-compiler", + "compile", + "--output", + }); + const ui_file = blueprint_compiler.addOutputFileArg(b.fmt("{s}.ui", .{blueprint_file})); + blueprint_compiler.addFileArg(b.path(b.fmt("src/apprt/gtk/ui/{s}.blp", .{blueprint_file}))); + generate.addFileArg(ui_file); + } + + break :gresource_xml generate.captureStdOut(); + }; + + { + const gtk_builder_check = b.addExecutable(.{ + .name = "gtk_builder_check", + .root_source_file = b.path("src/apprt/gtk/builder_check.zig"), + .target = b.host, + }); + gtk_builder_check.root_module.addOptions("build_options", self.options); + gtk_builder_check.linkSystemLibrary2("gtk4", dynamic_link_opts); + if (self.config.adwaita) gtk_builder_check.linkSystemLibrary2("libadwaita-1", dynamic_link_opts); + gtk_builder_check.linkLibC(); + + for (gresource.dependencies) |pathname| { + const extension = std.fs.path.extension(pathname); + if (!std.mem.eql(u8, extension, ".ui")) continue; + const check = b.addRunArtifact(gtk_builder_check); + check.addFileArg(b.path(pathname)); + step.step.dependOn(&check.step); + } + } const generate_resources_c = b.addSystemCommand(&.{ "glib-compile-resources", From e396c8538aa3197be3c2f2f3c4780dcad20f3bb0 Mon Sep 17 00:00:00 2001 From: "Jeffrey C. Ollie" Date: Wed, 12 Feb 2025 22:08:33 -0600 Subject: [PATCH 252/365] gtk: fix ui/blueprint builder --- src/apprt/gtk/Builder.zig | 17 ++++++++++++++--- src/apprt/gtk/builder_check.zig | 2 +- src/build/SharedDeps.zig | 6 +++--- 3 files changed, 18 insertions(+), 7 deletions(-) diff --git a/src/apprt/gtk/Builder.zig b/src/apprt/gtk/Builder.zig index bd2e6beaf..ffacd3adf 100644 --- a/src/apprt/gtk/Builder.zig +++ b/src/apprt/gtk/Builder.zig @@ -7,6 +7,7 @@ const gtk = @import("gtk"); const gobject = @import("gobject"); resource_name: [:0]const u8, +builder: ?*gtk.Builder, pub fn init(comptime name: []const u8, comptime kind: enum { blp, ui }) Builder { comptime { @@ -47,6 +48,7 @@ pub fn init(comptime name: []const u8, comptime kind: enum { blp, ui }) Builder return .{ .resource_name = "/com/mitchellh/ghostty/ui/" ++ name ++ ".ui", + .builder = null, }; } @@ -54,8 +56,17 @@ pub fn setWidgetClassTemplate(self: *const Builder, class: *gtk.WidgetClass) voi class.setTemplateFromResource(self.resource_name); } -pub fn getObject(self: *const Builder, name: [:0]const u8) ?gobject.Object { - const builder = gtk.Builder.newFromResource(self.resource_name); - defer builder.unref(); +pub fn getObject(self: *Builder, name: [:0]const u8) ?*gobject.Object { + const builder = builder: { + if (self.builder) |builder| break :builder builder; + const builder = gtk.Builder.newFromResource(self.resource_name); + self.builder = builder; + break :builder builder; + }; + return builder.getObject(name); } + +pub fn deinit(self: *const Builder) void { + if (self.builder) |builder| builder.unref(); +} diff --git a/src/apprt/gtk/builder_check.zig b/src/apprt/gtk/builder_check.zig index 153dfb0eb..f042c89a9 100644 --- a/src/apprt/gtk/builder_check.zig +++ b/src/apprt/gtk/builder_check.zig @@ -17,7 +17,7 @@ pub fn main() !void { }; defer alloc.free(filename); - const data = try std.fs.cwd().readFileAlloc(alloc, filename, std.math.maxInt(u16)); + const data = try std.fs.cwd().readFileAllocOptions(alloc, filename, std.math.maxInt(u16), null, 1, 0); defer alloc.free(data); if ((comptime !build_options.adwaita) and std.mem.indexOf(u8, data, "lib=\"Adw\"") != null) { diff --git a/src/build/SharedDeps.zig b/src/build/SharedDeps.zig index f00b79f01..0a1d6f904 100644 --- a/src/build/SharedDeps.zig +++ b/src/build/SharedDeps.zig @@ -436,6 +436,7 @@ pub fn add( }); const gobject_imports = .{ .{ "gobject", "gobject2" }, + .{ "gio", "gio2" }, .{ "glib", "glib2" }, .{ "gtk", "gtk4" }, .{ "gdk", "gdk4" }, @@ -520,9 +521,8 @@ pub fn add( .target = b.host, }); gtk_builder_check.root_module.addOptions("build_options", self.options); - gtk_builder_check.linkSystemLibrary2("gtk4", dynamic_link_opts); - if (self.config.adwaita) gtk_builder_check.linkSystemLibrary2("libadwaita-1", dynamic_link_opts); - gtk_builder_check.linkLibC(); + gtk_builder_check.root_module.addImport("gtk", gobject.module("gtk4")); + if (self.config.adwaita) gtk_builder_check.root_module.addImport("adw", gobject.module("adw1")); for (gresource.dependencies) |pathname| { const extension = std.fs.path.extension(pathname); From f72fd32bf0a72cc0a8ebf9d05f2e02fa728a3048 Mon Sep 17 00:00:00 2001 From: Bryan Lee <38807139+liby@users.noreply.github.com> Date: Thu, 13 Feb 2025 13:26:24 +0800 Subject: [PATCH 253/365] Eliminate tab content flickering during tab movement on macOS --- .../Features/Terminal/TerminalController.swift | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/macos/Sources/Features/Terminal/TerminalController.swift b/macos/Sources/Features/Terminal/TerminalController.swift index 8507cf620..8118103d6 100644 --- a/macos/Sources/Features/Terminal/TerminalController.swift +++ b/macos/Sources/Features/Terminal/TerminalController.swift @@ -709,13 +709,21 @@ class TerminalController: BaseTerminalController { // If our index is the same we do nothing guard finalIndex != selectedIndex else { return } - // Get our parent - let parent = tabbedWindows[finalIndex] + // Get our target window + let targetWindow = tabbedWindows[finalIndex] - // Move our current selected window to the proper index + // Begin a group of window operations to minimize visual updates + NSAnimationContext.beginGrouping() + NSAnimationContext.current.duration = 0 + + // Remove and re-add the window in the correct position tabGroup.removeWindow(selectedWindow) - parent.addTabbedWindow(selectedWindow, ordered: action.amount < 0 ? .below : .above) - selectedWindow.makeKeyAndOrderFront(nil) + targetWindow.addTabbedWindow(selectedWindow, ordered: action.amount < 0 ? .below : .above) + + // Ensure our window remains selected + selectedWindow.makeKey() + + NSAnimationContext.endGrouping() } @objc private func onGotoTab(notification: SwiftUI.Notification) { From 74f222abec1c12e3c094b8cc5cd3fa41623ec973 Mon Sep 17 00:00:00 2001 From: "Jeffrey C. Ollie" Date: Thu, 13 Feb 2025 10:35:38 -0600 Subject: [PATCH 254/365] macOS: update additional references to Sparkle 2.6.3->2.6.4 --- .github/workflows/release-pr.yml | 2 +- .github/workflows/release-tag.yml | 4 ++-- .github/workflows/release-tip.yml | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/release-pr.yml b/.github/workflows/release-pr.yml index e647c9720..ced497997 100644 --- a/.github/workflows/release-pr.yml +++ b/.github/workflows/release-pr.yml @@ -68,7 +68,7 @@ jobs: # Setup Sparkle - name: Setup Sparkle env: - SPARKLE_VERSION: 2.6.3 + SPARKLE_VERSION: 2.6.4 run: | mkdir -p .action/sparkle cd .action/sparkle diff --git a/.github/workflows/release-tag.yml b/.github/workflows/release-tag.yml index 0767152f5..1789576a8 100644 --- a/.github/workflows/release-tag.yml +++ b/.github/workflows/release-tag.yml @@ -136,7 +136,7 @@ jobs: - name: Setup Sparkle env: - SPARKLE_VERSION: 2.6.3 + SPARKLE_VERSION: 2.6.4 run: | mkdir -p .action/sparkle cd .action/sparkle @@ -298,7 +298,7 @@ jobs: - name: Setup Sparkle env: - SPARKLE_VERSION: 2.6.3 + SPARKLE_VERSION: 2.6.4 run: | mkdir -p .action/sparkle cd .action/sparkle diff --git a/.github/workflows/release-tip.yml b/.github/workflows/release-tip.yml index e239dda4f..a031f3ad1 100644 --- a/.github/workflows/release-tip.yml +++ b/.github/workflows/release-tip.yml @@ -164,7 +164,7 @@ jobs: # Setup Sparkle - name: Setup Sparkle env: - SPARKLE_VERSION: 2.6.3 + SPARKLE_VERSION: 2.6.4 run: | mkdir -p .action/sparkle cd .action/sparkle From 8b2f9acfb45bc27f3e41d5eb8c33dee733088c90 Mon Sep 17 00:00:00 2001 From: nick black Date: Thu, 30 Jan 2025 09:13:30 -0500 Subject: [PATCH 255/365] Implement draw_octant() and yQuads() for U16.0 --- src/font/sprite/Box.zig | 95 ++++++++++++- src/font/sprite/Face.zig | 2 + src/font/sprite/octants.txt | 234 +++++++++++++++++++++++++++++++ src/font/sprite/testdata/Box.ppm | Bin 1048593 -> 1048593 bytes 4 files changed, 330 insertions(+), 1 deletion(-) create mode 100644 src/font/sprite/octants.txt diff --git a/src/font/sprite/Box.zig b/src/font/sprite/Box.zig index ba7caa26a..2cd3d929b 100644 --- a/src/font/sprite/Box.zig +++ b/src/font/sprite/Box.zig @@ -184,6 +184,10 @@ const SmoothMosaic = packed struct(u10) { } }; +// Octant range, inclusive +const octant_min = 0x1cd00; +const octant_max = 0x1cde5; + // Utility names for common fractions const one_eighth: f64 = 0.125; const one_quarter: f64 = 0.25; @@ -581,6 +585,8 @@ fn draw(self: Box, alloc: Allocator, canvas: *font.sprite.Canvas, cp: u32) !void 0x1fb00...0x1fb3b => self.draw_sextant(canvas, cp), + octant_min...octant_max => self.draw_octant(canvas, cp), + // '🬼' 0x1fb3c => try self.draw_smooth_mosaic(canvas, SmoothMosaic.from( \\... @@ -2484,6 +2490,65 @@ fn draw_sextant(self: Box, canvas: *font.sprite.Canvas, cp: u32) void { if (sex.br) self.rect(canvas, x_halfs[1], y_thirds[1], self.metrics.cell_width, self.metrics.cell_height); } +fn draw_octant(self: Box, canvas: *font.sprite.Canvas, cp: u32) void { + assert(cp >= octant_min and cp <= octant_max); + + // Octant representation. We use the funny numeric string keys + // so its easier to parse the actual name used in the Symbols for + // Legacy Computing spec. + const Octant = packed struct(u8) { + @"1": bool = false, + @"2": bool = false, + @"3": bool = false, + @"4": bool = false, + @"5": bool = false, + @"6": bool = false, + @"7": bool = false, + @"8": bool = false, + }; + + // Parse the octant data. This is all done at comptime so this is + // static data that is embedded in the binary. + const octants_len = octant_max - octant_min + 1; + const octants: [octants_len]Octant = comptime octants: { + @setEvalBranchQuota(10_000); + + var result: [octants_len]Octant = .{.{}} ** octants_len; + var i: usize = 0; + + const data = @embedFile("octants.txt"); + var it = std.mem.splitScalar(u8, data, '\n'); + while (it.next()) |line| { + // Skip comments + if (line.len == 0 or line[0] == '#') continue; + + const current = &result[i]; + i += 1; + + // Octants are in the format "BLOCK OCTANT-1235". The numbers + // at the end are keys into our packed struct. Since we're + // at comptime we can metaprogram it all. + const idx = std.mem.indexOfScalar(u8, line, '-').?; + for (line[idx + 1 ..]) |c| @field(current, &.{c}) = true; + } + + assert(i == octants_len); + break :octants result; + }; + + const x_halfs = self.xHalfs(); + const y_quads = self.yQuads(); + const oct = octants[cp - octant_min]; + if (oct.@"1") self.rect(canvas, 0, 0, x_halfs[0], y_quads[0]); + if (oct.@"2") self.rect(canvas, x_halfs[1], 0, self.metrics.cell_width, y_quads[0]); + if (oct.@"3") self.rect(canvas, 0, y_quads[0], x_halfs[0], y_quads[1]); + if (oct.@"4") self.rect(canvas, x_halfs[1], y_quads[0], self.metrics.cell_width, y_quads[1]); + if (oct.@"5") self.rect(canvas, 0, y_quads[1], x_halfs[0], y_quads[2]); + if (oct.@"6") self.rect(canvas, x_halfs[1], y_quads[1], self.metrics.cell_width, y_quads[2]); + if (oct.@"7") self.rect(canvas, 0, y_quads[2], x_halfs[0], self.metrics.cell_height); + if (oct.@"8") self.rect(canvas, x_halfs[1], y_quads[2], self.metrics.cell_width, self.metrics.cell_height); +} + fn xHalfs(self: Box) [2]u32 { return .{ @as(u32, @intFromFloat(@round(@as(f64, @floatFromInt(self.metrics.cell_width)) / 2))), @@ -2500,6 +2565,21 @@ fn yThirds(self: Box) [2]u32 { }; } +// assume octants might be striped across multiple rows of cells. to maximize +// distance between excess pixellines, we want (1) an arbitrary region (there +// will be a pattern of 1'-3-1'-3-1'-3 no matter what), (2) discontiguous +// regions (0 and 2 or 1 and 3), and (3) an arbitrary three regions (there will +// be a pattern of 3-1-3-1-3-1 no matter what). +fn yQuads(self: Box) [3]u32 { + return switch (@mod(self.metrics.cell_height, 4)) { + 0 => .{ self.metrics.cell_height / 4, 2 * self.metrics.cell_height / 4, 3 * self.metrics.cell_height / 4 }, + 1 => .{ self.metrics.cell_height / 4, 2 * self.metrics.cell_height / 4 + 1, 3 * self.metrics.cell_height / 4 }, + 2 => .{ self.metrics.cell_height / 4 + 1, 2 * self.metrics.cell_height / 4, 3 * self.metrics.cell_height / 4 + 1 }, + 3 => .{ self.metrics.cell_height / 4 + 1, 2 * self.metrics.cell_height / 4 + 1, 3 * self.metrics.cell_height / 4 }, + else => unreachable, + }; +} + fn draw_smooth_mosaic( self: Box, canvas: *font.sprite.Canvas, @@ -3064,7 +3144,7 @@ fn testRenderAll(self: Box, alloc: Allocator, atlas: *font.Atlas) !void { ); } - // Symbols for Legacy Computing Supplement. + // Symbols for Legacy Computing Supplement: Quadrants // 𜰡 𜰢 𜰣 𜰤 𜰥 𜰦 𜰧 𜰨 𜰩 𜰪 𜰫 𜰬 𜰭 𜰮 𜰯 cp = 0x1cc21; while (cp <= 0x1cc2f) : (cp += 1) { @@ -3077,6 +3157,19 @@ fn testRenderAll(self: Box, alloc: Allocator, atlas: *font.Atlas) !void { else => {}, } } + + // Symbols for Legacy Computing Supplement: Octants + cp = 0x1CD00; + while (cp <= 0x1CDE5) : (cp += 1) { + switch (cp) { + 0x1CD00...0x1CDE5 => _ = try self.renderGlyph( + alloc, + atlas, + cp, + ), + else => {}, + } + } } test "render all sprites" { diff --git a/src/font/sprite/Face.zig b/src/font/sprite/Face.zig index cebf44429..f15423ada 100644 --- a/src/font/sprite/Face.zig +++ b/src/font/sprite/Face.zig @@ -236,6 +236,8 @@ const Kind = enum { // (Geometric Shapes) // 🯠 🯡 🯢 🯣 🯤 🯥 🯦 🯧 🯨 🯩 🯪 🯫 🯬 🯭 🯮 🯯 0x1FBCE...0x1FBEF, + // (Octants) + 0x1CD00...0x1CDE5, => .box, // Branch drawing character set, used for drawing git-like diff --git a/src/font/sprite/octants.txt b/src/font/sprite/octants.txt new file mode 100644 index 000000000..db79aa2c6 --- /dev/null +++ b/src/font/sprite/octants.txt @@ -0,0 +1,234 @@ +# This is the list of all the octants for the Symbols for Legacy +# Computing block. It is used at comptime to generate the lookup +# table for drawing them since we weren't able to discern a +# mathematical pattern for them. +BLOCK OCTANT-3 +BLOCK OCTANT-23 +BLOCK OCTANT-123 +BLOCK OCTANT-4 +BLOCK OCTANT-14 +BLOCK OCTANT-124 +BLOCK OCTANT-34 +BLOCK OCTANT-134 +BLOCK OCTANT-234 +BLOCK OCTANT-5 +BLOCK OCTANT-15 +BLOCK OCTANT-25 +BLOCK OCTANT-125 +BLOCK OCTANT-135 +BLOCK OCTANT-235 +BLOCK OCTANT-1235 +BLOCK OCTANT-45 +BLOCK OCTANT-145 +BLOCK OCTANT-245 +BLOCK OCTANT-1245 +BLOCK OCTANT-345 +BLOCK OCTANT-1345 +BLOCK OCTANT-2345 +BLOCK OCTANT-12345 +BLOCK OCTANT-6 +BLOCK OCTANT-16 +BLOCK OCTANT-26 +BLOCK OCTANT-126 +BLOCK OCTANT-36 +BLOCK OCTANT-136 +BLOCK OCTANT-236 +BLOCK OCTANT-1236 +BLOCK OCTANT-146 +BLOCK OCTANT-246 +BLOCK OCTANT-1246 +BLOCK OCTANT-346 +BLOCK OCTANT-1346 +BLOCK OCTANT-2346 +BLOCK OCTANT-12346 +BLOCK OCTANT-56 +BLOCK OCTANT-156 +BLOCK OCTANT-256 +BLOCK OCTANT-1256 +BLOCK OCTANT-356 +BLOCK OCTANT-1356 +BLOCK OCTANT-2356 +BLOCK OCTANT-12356 +BLOCK OCTANT-456 +BLOCK OCTANT-1456 +BLOCK OCTANT-2456 +BLOCK OCTANT-12456 +BLOCK OCTANT-3456 +BLOCK OCTANT-13456 +BLOCK OCTANT-23456 +BLOCK OCTANT-17 +BLOCK OCTANT-27 +BLOCK OCTANT-127 +BLOCK OCTANT-37 +BLOCK OCTANT-137 +BLOCK OCTANT-237 +BLOCK OCTANT-1237 +BLOCK OCTANT-47 +BLOCK OCTANT-147 +BLOCK OCTANT-247 +BLOCK OCTANT-1247 +BLOCK OCTANT-347 +BLOCK OCTANT-1347 +BLOCK OCTANT-2347 +BLOCK OCTANT-12347 +BLOCK OCTANT-157 +BLOCK OCTANT-257 +BLOCK OCTANT-1257 +BLOCK OCTANT-357 +BLOCK OCTANT-2357 +BLOCK OCTANT-12357 +BLOCK OCTANT-457 +BLOCK OCTANT-1457 +BLOCK OCTANT-12457 +BLOCK OCTANT-3457 +BLOCK OCTANT-13457 +BLOCK OCTANT-23457 +BLOCK OCTANT-67 +BLOCK OCTANT-167 +BLOCK OCTANT-267 +BLOCK OCTANT-1267 +BLOCK OCTANT-367 +BLOCK OCTANT-1367 +BLOCK OCTANT-2367 +BLOCK OCTANT-12367 +BLOCK OCTANT-467 +BLOCK OCTANT-1467 +BLOCK OCTANT-2467 +BLOCK OCTANT-12467 +BLOCK OCTANT-3467 +BLOCK OCTANT-13467 +BLOCK OCTANT-23467 +BLOCK OCTANT-123467 +BLOCK OCTANT-567 +BLOCK OCTANT-1567 +BLOCK OCTANT-2567 +BLOCK OCTANT-12567 +BLOCK OCTANT-3567 +BLOCK OCTANT-13567 +BLOCK OCTANT-23567 +BLOCK OCTANT-123567 +BLOCK OCTANT-4567 +BLOCK OCTANT-14567 +BLOCK OCTANT-24567 +BLOCK OCTANT-124567 +BLOCK OCTANT-34567 +BLOCK OCTANT-134567 +BLOCK OCTANT-234567 +BLOCK OCTANT-1234567 +BLOCK OCTANT-18 +BLOCK OCTANT-28 +BLOCK OCTANT-128 +BLOCK OCTANT-38 +BLOCK OCTANT-138 +BLOCK OCTANT-238 +BLOCK OCTANT-1238 +BLOCK OCTANT-48 +BLOCK OCTANT-148 +BLOCK OCTANT-248 +BLOCK OCTANT-1248 +BLOCK OCTANT-348 +BLOCK OCTANT-1348 +BLOCK OCTANT-2348 +BLOCK OCTANT-12348 +BLOCK OCTANT-58 +BLOCK OCTANT-158 +BLOCK OCTANT-258 +BLOCK OCTANT-1258 +BLOCK OCTANT-358 +BLOCK OCTANT-1358 +BLOCK OCTANT-2358 +BLOCK OCTANT-12358 +BLOCK OCTANT-458 +BLOCK OCTANT-1458 +BLOCK OCTANT-2458 +BLOCK OCTANT-12458 +BLOCK OCTANT-3458 +BLOCK OCTANT-13458 +BLOCK OCTANT-23458 +BLOCK OCTANT-123458 +BLOCK OCTANT-168 +BLOCK OCTANT-268 +BLOCK OCTANT-1268 +BLOCK OCTANT-368 +BLOCK OCTANT-2368 +BLOCK OCTANT-12368 +BLOCK OCTANT-468 +BLOCK OCTANT-1468 +BLOCK OCTANT-12468 +BLOCK OCTANT-3468 +BLOCK OCTANT-13468 +BLOCK OCTANT-23468 +BLOCK OCTANT-568 +BLOCK OCTANT-1568 +BLOCK OCTANT-2568 +BLOCK OCTANT-12568 +BLOCK OCTANT-3568 +BLOCK OCTANT-13568 +BLOCK OCTANT-23568 +BLOCK OCTANT-123568 +BLOCK OCTANT-4568 +BLOCK OCTANT-14568 +BLOCK OCTANT-24568 +BLOCK OCTANT-124568 +BLOCK OCTANT-34568 +BLOCK OCTANT-134568 +BLOCK OCTANT-234568 +BLOCK OCTANT-1234568 +BLOCK OCTANT-178 +BLOCK OCTANT-278 +BLOCK OCTANT-1278 +BLOCK OCTANT-378 +BLOCK OCTANT-1378 +BLOCK OCTANT-2378 +BLOCK OCTANT-12378 +BLOCK OCTANT-478 +BLOCK OCTANT-1478 +BLOCK OCTANT-2478 +BLOCK OCTANT-12478 +BLOCK OCTANT-3478 +BLOCK OCTANT-13478 +BLOCK OCTANT-23478 +BLOCK OCTANT-123478 +BLOCK OCTANT-578 +BLOCK OCTANT-1578 +BLOCK OCTANT-2578 +BLOCK OCTANT-12578 +BLOCK OCTANT-3578 +BLOCK OCTANT-13578 +BLOCK OCTANT-23578 +BLOCK OCTANT-123578 +BLOCK OCTANT-4578 +BLOCK OCTANT-14578 +BLOCK OCTANT-24578 +BLOCK OCTANT-124578 +BLOCK OCTANT-34578 +BLOCK OCTANT-134578 +BLOCK OCTANT-234578 +BLOCK OCTANT-1234578 +BLOCK OCTANT-678 +BLOCK OCTANT-1678 +BLOCK OCTANT-2678 +BLOCK OCTANT-12678 +BLOCK OCTANT-3678 +BLOCK OCTANT-13678 +BLOCK OCTANT-23678 +BLOCK OCTANT-123678 +BLOCK OCTANT-4678 +BLOCK OCTANT-14678 +BLOCK OCTANT-24678 +BLOCK OCTANT-124678 +BLOCK OCTANT-34678 +BLOCK OCTANT-134678 +BLOCK OCTANT-234678 +BLOCK OCTANT-1234678 +BLOCK OCTANT-15678 +BLOCK OCTANT-25678 +BLOCK OCTANT-125678 +BLOCK OCTANT-35678 +BLOCK OCTANT-235678 +BLOCK OCTANT-1235678 +BLOCK OCTANT-45678 +BLOCK OCTANT-145678 +BLOCK OCTANT-1245678 +BLOCK OCTANT-1345678 +BLOCK OCTANT-2345678 diff --git a/src/font/sprite/testdata/Box.ppm b/src/font/sprite/testdata/Box.ppm index 36519a1e95fe6c28c0644e58953c5246624f52c1..0feb3ebe49e45f69c4e877b1a086a56822f4af20 100644 GIT binary patch delta 22334 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 N3;w@cV{DV_{{X{W delta 8711 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 From 5919c57527d8a5a22c912d5b2bf1cdaa64d7d1ef Mon Sep 17 00:00:00 2001 From: Mitchell Hashimoto Date: Thu, 13 Feb 2025 09:14:43 -0800 Subject: [PATCH 256/365] build: replace codeberg dep with self-hosted mirror The content hashes match so if users don't trust us they can grab from upstream. --- build.zig.zon | 2 +- build.zig.zon.nix | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/build.zig.zon b/build.zig.zon index 9a4772c53..a633a9fb8 100644 --- a/build.zig.zon +++ b/build.zig.zon @@ -34,7 +34,7 @@ .hash = "12207831bce7d4abce57b5a98e8f3635811cfefd160bca022eb91fe905d36a02cf25", }, .zig_wayland = .{ - .url = "https://codeberg.org/ifreund/zig-wayland/archive/fbfe3b4ac0b472a27b1f1a67405436c58cbee12d.tar.gz", + .url = "https://deps.files.ghostty.org/zig-wayland-fbfe3b4ac0b472a27b1f1a67405436c58cbee12d.tar.gz", .hash = "12209ca054cb1919fa276e328967f10b253f7537c4136eb48f3332b0f7cf661cad38", }, .zf = .{ diff --git a/build.zig.zon.nix b/build.zig.zon.nix index 64cb8f369..0edada825 100644 --- a/build.zig.zon.nix +++ b/build.zig.zon.nix @@ -199,7 +199,7 @@ in name = "12209ca054cb1919fa276e328967f10b253f7537c4136eb48f3332b0f7cf661cad38"; path = fetchZigArtifact { name = "zig_wayland"; - url = "https://codeberg.org/ifreund/zig-wayland/archive/fbfe3b4ac0b472a27b1f1a67405436c58cbee12d.tar.gz"; + url = "https://deps.files.ghostty.org/zig-wayland-fbfe3b4ac0b472a27b1f1a67405436c58cbee12d.tar.gz"; hash = "sha256-RtAystqK/GRYIquTK1KfD7rRSCrfuzAvCD1Z9DE1ldc="; }; } From 3104b217581a9e580155216a260b1a79135b701a Mon Sep 17 00:00:00 2001 From: Mitchell Hashimoto Date: Thu, 13 Feb 2025 09:40:56 -0800 Subject: [PATCH 257/365] macos: don't remove ctrl modifier for text input Fixes #5448 We previously removed the ctrl modifier for text commit (IME-style) to workaround a libghostty quirk (as noted in the comment in the diff). But this broke other keyboard layouts. This commit attempts to clean this up slightly -- but not completely -- by removing that hack, and only modifying the ctrl behavior for the UCKeyTranslate call. Long term, I plan to remove UCKeyTranslate completely, as noted in the todo comment already written just below this diff. This fixes the aforementioned issue and hopefully doesn't regress any other behavior. I tested the following: 1. Dvorak Ctrl characters 2. Ergo-L Ctrl characters 3. US standard Ctrl characters 4. Japanese IME input Ctrl input to modify IME state --- .../Sources/Ghostty/SurfaceView_AppKit.swift | 24 ++----------------- src/apprt/embedded.zig | 18 +++++++------- 2 files changed, 12 insertions(+), 30 deletions(-) diff --git a/macos/Sources/Ghostty/SurfaceView_AppKit.swift b/macos/Sources/Ghostty/SurfaceView_AppKit.swift index f5cb93580..0adc11fa4 100644 --- a/macos/Sources/Ghostty/SurfaceView_AppKit.swift +++ b/macos/Sources/Ghostty/SurfaceView_AppKit.swift @@ -849,28 +849,8 @@ extension Ghostty { var handled: Bool = false if let list = keyTextAccumulator, list.count > 0 { handled = true - - // This is a hack. libghostty on macOS treats ctrl input as not having - // text because some keyboard layouts generate bogus characters for - // ctrl+key. libghostty can't tell this is from an IM keyboard giving - // us direct values. So, we just remove control. - var modifierFlags = event.modifierFlags - modifierFlags.remove(.control) - if let keyTextEvent = NSEvent.keyEvent( - with: .keyDown, - location: event.locationInWindow, - modifierFlags: modifierFlags, - timestamp: event.timestamp, - windowNumber: event.windowNumber, - context: nil, - characters: event.characters ?? "", - charactersIgnoringModifiers: event.charactersIgnoringModifiers ?? "", - isARepeat: event.isARepeat, - keyCode: event.keyCode - ) { - for text in list { - _ = keyAction(action, event: keyTextEvent, text: text) - } + for text in list { + _ = keyAction(action, event: event, text: text) } } diff --git a/src/apprt/embedded.zig b/src/apprt/embedded.zig index 02bbda0d9..4b9066355 100644 --- a/src/apprt/embedded.zig +++ b/src/apprt/embedded.zig @@ -182,14 +182,9 @@ pub const App = struct { if (strip) translate_mods.alt = false; } - // On macOS we strip ctrl because UCKeyTranslate - // converts to the masked values (i.e. ctrl+c becomes 3) - // and we don't want that behavior. - // - // We also strip super because its not used for translation - // on macos and it results in a bad translation. + // We strip super on macOS because its not used for translation + // it results in a bad translation. if (comptime builtin.target.isDarwin()) { - translate_mods.ctrl = false; translate_mods.super = false; } @@ -236,7 +231,14 @@ pub const App = struct { .surface => |surface| &surface.keymap_state, }, @intCast(keycode), - translate_mods, + if (comptime builtin.target.isDarwin()) mods: { + // On macOS we strip ctrl because UCKeyTranslate + // converts to the masked values (i.e. ctrl+c becomes 3) + // and we don't want that behavior. + var v = translate_mods; + v.ctrl = false; + break :mods v; + } else translate_mods, ); // TODO(mitchellh): I think we can get rid of the above keymap From 5105c52ef7208a3145b6d436cc3938adca30a371 Mon Sep 17 00:00:00 2001 From: Mitchell Hashimoto Date: Thu, 13 Feb 2025 10:11:02 -0800 Subject: [PATCH 258/365] macos: make goto_split, goto_tab, and move_tab performable Fixes #5552 This makes the mentioned actions performable. This isn't perfect, but it does so in a way that resolves the user issue in #5552. This commit returns an action is NOT performed if it doesn't have splits or tabs (respectiely for the actions), but also reports its ALWAYS performed if it does. This latter logic isn't accurate: we should only return performable if it was actually done. So for example, goto_split:top should do nothing if we're already at the top. But, we report it as performed today. This is good enough to resolve the issue and fix the core problem faced for 1.1.0. --- macos/Sources/Ghostty/Ghostty.App.swift | 54 +++++++++++++------ macos/Sources/Ghostty/Ghostty.SplitNode.swift | 34 +++++++++--- 2 files changed, 65 insertions(+), 23 deletions(-) diff --git a/macos/Sources/Ghostty/Ghostty.App.swift b/macos/Sources/Ghostty/Ghostty.App.swift index ea9a77567..968debd09 100644 --- a/macos/Sources/Ghostty/Ghostty.App.swift +++ b/macos/Sources/Ghostty/Ghostty.App.swift @@ -455,13 +455,13 @@ extension Ghostty { toggleFullscreen(app, target: target, mode: action.action.toggle_fullscreen) case GHOSTTY_ACTION_MOVE_TAB: - moveTab(app, target: target, move: action.action.move_tab) + return moveTab(app, target: target, move: action.action.move_tab) case GHOSTTY_ACTION_GOTO_TAB: - gotoTab(app, target: target, tab: action.action.goto_tab) + return gotoTab(app, target: target, tab: action.action.goto_tab) case GHOSTTY_ACTION_GOTO_SPLIT: - gotoSplit(app, target: target, direction: action.action.goto_split) + return gotoSplit(app, target: target, direction: action.action.goto_split) case GHOSTTY_ACTION_RESIZE_SPLIT: resizeSplit(app, target: target, resize: action.action.resize_split) @@ -721,15 +721,19 @@ extension Ghostty { private static func moveTab( _ app: ghostty_app_t, target: ghostty_target_s, - move: ghostty_action_move_tab_s) { + move: ghostty_action_move_tab_s) -> Bool { switch (target.tag) { case GHOSTTY_TARGET_APP: Ghostty.logger.warning("move tab does nothing with an app target") - return + return false case GHOSTTY_TARGET_SURFACE: - guard let surface = target.target.surface else { return } - guard let surfaceView = self.surfaceView(from: surface) else { return } + guard let surface = target.target.surface else { return false } + guard let surfaceView = self.surfaceView(from: surface) else { return false } + + // See gotoTab for notes on this check. + guard (surfaceView.window?.tabGroup?.windows.count ?? 0) > 1 else { return false } + NotificationCenter.default.post( name: .ghosttyMoveTab, object: surfaceView, @@ -741,20 +745,27 @@ extension Ghostty { default: assertionFailure() } + + return true } private static func gotoTab( _ app: ghostty_app_t, target: ghostty_target_s, - tab: ghostty_action_goto_tab_e) { + tab: ghostty_action_goto_tab_e) -> Bool { switch (target.tag) { case GHOSTTY_TARGET_APP: Ghostty.logger.warning("goto tab does nothing with an app target") - return + return false case GHOSTTY_TARGET_SURFACE: - guard let surface = target.target.surface else { return } - guard let surfaceView = self.surfaceView(from: surface) else { return } + guard let surface = target.target.surface else { return false } + guard let surfaceView = self.surfaceView(from: surface) else { return false } + + // Similar to goto_split (see comment there) about our performability, + // we should make this more accurate later. + guard (surfaceView.window?.tabGroup?.windows.count ?? 0) > 1 else { return false } + NotificationCenter.default.post( name: Notification.ghosttyGotoTab, object: surfaceView, @@ -766,20 +777,31 @@ extension Ghostty { default: assertionFailure() } + + return true } private static func gotoSplit( _ app: ghostty_app_t, target: ghostty_target_s, - direction: ghostty_action_goto_split_e) { + direction: ghostty_action_goto_split_e) -> Bool { switch (target.tag) { case GHOSTTY_TARGET_APP: Ghostty.logger.warning("goto split does nothing with an app target") - return + return false case GHOSTTY_TARGET_SURFACE: - guard let surface = target.target.surface else { return } - guard let surfaceView = self.surfaceView(from: surface) else { return } + guard let surface = target.target.surface else { return false } + guard let surfaceView = self.surfaceView(from: surface) else { return false } + guard let controller = surfaceView.window?.windowController as? BaseTerminalController else { return false } + + // For now, we return false if the window has no splits and we return + // true if the window has ANY splits. This isn't strictly correct because + // we should only be returning true if we actually performed the action, + // but this handles the most common case of caring about goto_split performability + // which is the no-split case. + guard controller.surfaceTree?.isSplit ?? false else { return false } + NotificationCenter.default.post( name: Notification.ghosttyFocusSplit, object: surfaceView, @@ -791,6 +813,8 @@ extension Ghostty { default: assertionFailure() } + + return true } private static func resizeSplit( diff --git a/macos/Sources/Ghostty/Ghostty.SplitNode.swift b/macos/Sources/Ghostty/Ghostty.SplitNode.swift index 899825d37..95c019b1f 100644 --- a/macos/Sources/Ghostty/Ghostty.SplitNode.swift +++ b/macos/Sources/Ghostty/Ghostty.SplitNode.swift @@ -38,6 +38,15 @@ extension Ghostty { } } + /// Returns true if the tree is split. + var isSplit: Bool { + return if case .leaf = self { + false + } else { + true + } + } + func topLeft() -> SurfaceView { switch (self) { case .leaf(let leaf): @@ -120,14 +129,7 @@ extension Ghostty { /// Returns true if the split tree contains the given view. func contains(view: SurfaceView) -> Bool { - switch (self) { - case .leaf(let leaf): - return leaf.surface == view - - case .split(let container): - return container.topLeft.contains(view: view) || - container.bottomRight.contains(view: view) - } + return leaf(for: view) != nil } /// Find a surface view by UUID. @@ -164,6 +166,22 @@ extension Ghostty { } } + /// Return the node for the given view if its in the tree. + func leaf(for view: SurfaceView) -> Leaf? { + switch (self) { + case .leaf(let leaf): + if leaf.surface == view { + return leaf + } else { + return nil + } + + case .split(let container): + return container.topLeft.leaf(for: view) ?? + container.bottomRight.leaf(for: view) + } + } + // MARK: - Sequence func makeIterator() -> IndexingIterator<[Leaf]> { From 1fea8028a3b303cce50dd7173ccace683cf0b877 Mon Sep 17 00:00:00 2001 From: Mitchell Hashimoto Date: Thu, 13 Feb 2025 12:24:34 -0800 Subject: [PATCH 259/365] apprt: require envmap for exec-based termio Supercedes #5726 --- src/Surface.zig | 9 +++++---- src/apprt/embedded.zig | 2 +- src/apprt/glfw.zig | 5 ++--- src/apprt/gtk/Surface.zig | 2 +- src/termio/Exec.zig | 5 ++--- 5 files changed, 11 insertions(+), 12 deletions(-) diff --git a/src/Surface.zig b/src/Surface.zig index 13436f9ff..3bee52196 100644 --- a/src/Surface.zig +++ b/src/Surface.zig @@ -519,17 +519,18 @@ pub fn init( // This separate block ({}) is important because our errdefers must // be scoped here to be valid. { - var env_ = rt_surface.defaultTermioEnv() catch |err| env: { + var env = rt_surface.defaultTermioEnv() catch |err| env: { // If an error occurs, we don't want to block surface startup. log.warn("error getting env map for surface err={}", .{err}); - break :env null; + break :env internal_os.getEnvMap(alloc) catch + std.process.EnvMap.init(alloc); }; - errdefer if (env_) |*env| env.deinit(); + errdefer env.deinit(); // Initialize our IO backend var io_exec = try termio.Exec.init(alloc, .{ .command = command, - .env = env_, + .env = env, .shell_integration = config.@"shell-integration", .shell_integration_features = config.@"shell-integration-features", .working_directory = config.@"working-directory", diff --git a/src/apprt/embedded.zig b/src/apprt/embedded.zig index 4b9066355..ffcf7fdbe 100644 --- a/src/apprt/embedded.zig +++ b/src/apprt/embedded.zig @@ -1030,7 +1030,7 @@ pub const Surface = struct { }; } - pub fn defaultTermioEnv(self: *const Surface) !?std.process.EnvMap { + pub fn defaultTermioEnv(self: *const Surface) !std.process.EnvMap { const alloc = self.app.core_app.alloc; var env = try internal_os.getEnvMap(alloc); errdefer env.deinit(); diff --git a/src/apprt/glfw.zig b/src/apprt/glfw.zig index cb034cd86..39c6e058c 100644 --- a/src/apprt/glfw.zig +++ b/src/apprt/glfw.zig @@ -880,9 +880,8 @@ pub const Surface = struct { }; } - pub fn defaultTermioEnv(self: *Surface) !?std.process.EnvMap { - _ = self; - return null; + pub fn defaultTermioEnv(self: *Surface) !std.process.EnvMap { + return try internal_os.getEnvMap(self.app.app.alloc); } fn sizeCallback(window: glfw.Window, width: i32, height: i32) void { diff --git a/src/apprt/gtk/Surface.zig b/src/apprt/gtk/Surface.zig index c4b7717cc..6c39677d5 100644 --- a/src/apprt/gtk/Surface.zig +++ b/src/apprt/gtk/Surface.zig @@ -2254,7 +2254,7 @@ fn doPaste(self: *Surface, data: [:0]const u8) void { }; } -pub fn defaultTermioEnv(self: *Surface) !?std.process.EnvMap { +pub fn defaultTermioEnv(self: *Surface) !std.process.EnvMap { const alloc = self.app.core_app.alloc; var env = try internal_os.getEnvMap(alloc); errdefer env.deinit(); diff --git a/src/termio/Exec.zig b/src/termio/Exec.zig index caef2229d..864f2e21c 100644 --- a/src/termio/Exec.zig +++ b/src/termio/Exec.zig @@ -682,7 +682,7 @@ pub const ThreadData = struct { pub const Config = struct { command: ?[]const u8 = null, - env: ?EnvMap = null, + env: EnvMap, shell_integration: configpkg.Config.ShellIntegration = .detect, shell_integration_features: configpkg.Config.ShellIntegrationFeatures = .{}, working_directory: ?[]const u8 = null, @@ -724,8 +724,7 @@ const Subprocess = struct { // Get our env. If a default env isn't provided by the caller // then we get it ourselves. - var env = cfg.env orelse try internal_os.getEnvMap(alloc); - errdefer if (cfg.env == null) env.deinit(); + var env = cfg.env; // If we have a resources dir then set our env var if (cfg.resources_dir) |dir| { From 710ea1c8d9a1005a9f7f03fe98297b13a21b8e44 Mon Sep 17 00:00:00 2001 From: Mitchell Hashimoto Date: Thu, 13 Feb 2025 13:02:01 -0800 Subject: [PATCH 260/365] up all the metadata to 1.1.2 --- build.zig.zon | 2 +- nix/package.nix | 2 +- src/build/Config.zig | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/build.zig.zon b/build.zig.zon index a633a9fb8..7d157372a 100644 --- a/build.zig.zon +++ b/build.zig.zon @@ -1,6 +1,6 @@ .{ .name = "ghostty", - .version = "1.1.1", + .version = "1.1.2", .paths = .{""}, .dependencies = .{ // Zig libs diff --git a/nix/package.nix b/nix/package.nix index 29d5aea29..b4ed3738a 100644 --- a/nix/package.nix +++ b/nix/package.nix @@ -48,7 +48,7 @@ in stdenv.mkDerivation (finalAttrs: { pname = "ghostty"; - version = "1.1.1"; + version = "1.1.2"; # We limit source like this to try and reduce the amount of rebuilds as possible # thus we only provide the source that is needed for the build diff --git a/src/build/Config.zig b/src/build/Config.zig index 0ff0fc914..140fddbc1 100644 --- a/src/build/Config.zig +++ b/src/build/Config.zig @@ -19,7 +19,7 @@ const GitVersion = @import("GitVersion.zig"); /// TODO: When Zig 0.14 is released, derive this from build.zig.zon directly. /// Until then this MUST match build.zig.zon and should always be the /// _next_ version to release. -const app_version: std.SemanticVersion = .{ .major = 1, .minor = 1, .patch = 1 }; +const app_version: std.SemanticVersion = .{ .major = 1, .minor = 1, .patch = 2 }; /// Standard build configuration options. optimize: std.builtin.OptimizeMode, From 9978ea3b9c0312fe4a27bf818d8fc988441bcaba Mon Sep 17 00:00:00 2001 From: Mitchell Hashimoto Date: Thu, 13 Feb 2025 14:20:13 -0800 Subject: [PATCH 261/365] Revert "macos: don't remove ctrl modifier for text input" This reverts commit 3104b217581a9e580155216a260b1a79135b701a. --- .../Sources/Ghostty/SurfaceView_AppKit.swift | 24 +++++++++++++++++-- src/apprt/embedded.zig | 18 +++++++------- 2 files changed, 30 insertions(+), 12 deletions(-) diff --git a/macos/Sources/Ghostty/SurfaceView_AppKit.swift b/macos/Sources/Ghostty/SurfaceView_AppKit.swift index 0adc11fa4..f5cb93580 100644 --- a/macos/Sources/Ghostty/SurfaceView_AppKit.swift +++ b/macos/Sources/Ghostty/SurfaceView_AppKit.swift @@ -849,8 +849,28 @@ extension Ghostty { var handled: Bool = false if let list = keyTextAccumulator, list.count > 0 { handled = true - for text in list { - _ = keyAction(action, event: event, text: text) + + // This is a hack. libghostty on macOS treats ctrl input as not having + // text because some keyboard layouts generate bogus characters for + // ctrl+key. libghostty can't tell this is from an IM keyboard giving + // us direct values. So, we just remove control. + var modifierFlags = event.modifierFlags + modifierFlags.remove(.control) + if let keyTextEvent = NSEvent.keyEvent( + with: .keyDown, + location: event.locationInWindow, + modifierFlags: modifierFlags, + timestamp: event.timestamp, + windowNumber: event.windowNumber, + context: nil, + characters: event.characters ?? "", + charactersIgnoringModifiers: event.charactersIgnoringModifiers ?? "", + isARepeat: event.isARepeat, + keyCode: event.keyCode + ) { + for text in list { + _ = keyAction(action, event: keyTextEvent, text: text) + } } } diff --git a/src/apprt/embedded.zig b/src/apprt/embedded.zig index ffcf7fdbe..c4e69f917 100644 --- a/src/apprt/embedded.zig +++ b/src/apprt/embedded.zig @@ -182,9 +182,14 @@ pub const App = struct { if (strip) translate_mods.alt = false; } - // We strip super on macOS because its not used for translation - // it results in a bad translation. + // On macOS we strip ctrl because UCKeyTranslate + // converts to the masked values (i.e. ctrl+c becomes 3) + // and we don't want that behavior. + // + // We also strip super because its not used for translation + // on macos and it results in a bad translation. if (comptime builtin.target.isDarwin()) { + translate_mods.ctrl = false; translate_mods.super = false; } @@ -231,14 +236,7 @@ pub const App = struct { .surface => |surface| &surface.keymap_state, }, @intCast(keycode), - if (comptime builtin.target.isDarwin()) mods: { - // On macOS we strip ctrl because UCKeyTranslate - // converts to the masked values (i.e. ctrl+c becomes 3) - // and we don't want that behavior. - var v = translate_mods; - v.ctrl = false; - break :mods v; - } else translate_mods, + translate_mods, ); // TODO(mitchellh): I think we can get rid of the above keymap From b44b1086d355fc269dde5979bc69e85cdf1990b2 Mon Sep 17 00:00:00 2001 From: Mitchell Hashimoto Date: Thu, 13 Feb 2025 14:45:31 -0800 Subject: [PATCH 262/365] apprt/embedded: proper consumed modifier state for ctrl keys --- .../Sources/Ghostty/SurfaceView_AppKit.swift | 24 ++---------------- src/apprt/embedded.zig | 20 +++++---------- src/input/KeymapDarwin.zig | 25 ++++++++++++++++--- src/input/KeymapNoop.zig | 5 ++-- 4 files changed, 32 insertions(+), 42 deletions(-) diff --git a/macos/Sources/Ghostty/SurfaceView_AppKit.swift b/macos/Sources/Ghostty/SurfaceView_AppKit.swift index f5cb93580..0adc11fa4 100644 --- a/macos/Sources/Ghostty/SurfaceView_AppKit.swift +++ b/macos/Sources/Ghostty/SurfaceView_AppKit.swift @@ -849,28 +849,8 @@ extension Ghostty { var handled: Bool = false if let list = keyTextAccumulator, list.count > 0 { handled = true - - // This is a hack. libghostty on macOS treats ctrl input as not having - // text because some keyboard layouts generate bogus characters for - // ctrl+key. libghostty can't tell this is from an IM keyboard giving - // us direct values. So, we just remove control. - var modifierFlags = event.modifierFlags - modifierFlags.remove(.control) - if let keyTextEvent = NSEvent.keyEvent( - with: .keyDown, - location: event.locationInWindow, - modifierFlags: modifierFlags, - timestamp: event.timestamp, - windowNumber: event.windowNumber, - context: nil, - characters: event.characters ?? "", - charactersIgnoringModifiers: event.charactersIgnoringModifiers ?? "", - isARepeat: event.isARepeat, - keyCode: event.keyCode - ) { - for text in list { - _ = keyAction(action, event: keyTextEvent, text: text) - } + for text in list { + _ = keyAction(action, event: event, text: text) } } diff --git a/src/apprt/embedded.zig b/src/apprt/embedded.zig index c4e69f917..18674bc38 100644 --- a/src/apprt/embedded.zig +++ b/src/apprt/embedded.zig @@ -182,14 +182,9 @@ pub const App = struct { if (strip) translate_mods.alt = false; } - // On macOS we strip ctrl because UCKeyTranslate - // converts to the masked values (i.e. ctrl+c becomes 3) - // and we don't want that behavior. - // - // We also strip super because its not used for translation - // on macos and it results in a bad translation. + // We strip super on macOS because its not used for translation + // it results in a bad translation. if (comptime builtin.target.isDarwin()) { - translate_mods.ctrl = false; translate_mods.super = false; } @@ -229,6 +224,7 @@ pub const App = struct { const result: input.Keymap.Translation = if (event_text) |text| .{ .text = text, .composing = event.composing, + .mods = translate_mods, } else try self.keymap.translate( &buf, switch (target) { @@ -273,16 +269,12 @@ pub const App = struct { // then we clear the text. We handle non-printables in the // key encoder manual (such as tab, ctrl+c, etc.) if (result.text.len == 1 and result.text[0] < 0x20) { - break :translate .{ .composing = false, .text = "" }; + break :translate .{}; } } break :translate result; - } else .{ .composing = false, .text = "" }; - - // UCKeyTranslate always consumes all mods, so if we have any output - // then we've consumed our translate mods. - const consumed_mods: input.Mods = if (result.text.len > 0) translate_mods else .{}; + } else .{}; // We need to always do a translation with no modifiers at all in // order to get the "unshifted_codepoint" for the key event. @@ -354,7 +346,7 @@ pub const App = struct { .key = key, .physical_key = physical_key, .mods = mods, - .consumed_mods = consumed_mods, + .consumed_mods = result.mods, .composing = result.composing, .utf8 = result.text, .unshifted_codepoint = unshifted_codepoint, diff --git a/src/input/KeymapDarwin.zig b/src/input/KeymapDarwin.zig index 3d81b0f4b..154f648a6 100644 --- a/src/input/KeymapDarwin.zig +++ b/src/input/KeymapDarwin.zig @@ -50,10 +50,13 @@ pub const State = struct { pub const Translation = struct { /// The translation result. If this is a dead key state, then this will /// be pre-edit text that can be displayed but will ultimately be replaced. - text: []const u8, + text: []const u8 = "", /// Whether the text is still composing, i.e. this is a dead key state. - composing: bool, + composing: bool = false, + + /// The mods that were consumed to produce this translation + mods: Mods = .{}, }; pub fn init() !Keymap { @@ -122,8 +125,18 @@ pub fn translate( out: []u8, state: *State, code: u16, - mods: Mods, + input_mods: Mods, ) !Translation { + // On macOS we strip ctrl because UCKeyTranslate + // converts to the masked values (i.e. ctrl+c becomes 3) + // and we don't want that behavior in Ghostty ever. This makes + // this file not a general-purpose keymap implementation. + const mods: Mods = mods: { + var v = input_mods; + v.ctrl = false; + break :mods v; + }; + // Get the keycode for the space key, using comptime. const code_space: u16 = comptime space: for (codes) |entry| { if (std.mem.eql(u8, entry.code, "Space")) @@ -183,7 +196,11 @@ pub fn translate( // Convert the utf16 to utf8 const len = try std.unicode.utf16leToUtf8(out, char[0..char_count]); - return .{ .text = out[0..len], .composing = composing }; + return .{ + .text = out[0..len], + .composing = composing, + .mods = mods, + }; } /// Map to the modifiers format used by the UCKeyTranslate function. diff --git a/src/input/KeymapNoop.zig b/src/input/KeymapNoop.zig index 414c52954..b6a9d57b9 100644 --- a/src/input/KeymapNoop.zig +++ b/src/input/KeymapNoop.zig @@ -6,8 +6,9 @@ const Mods = @import("key.zig").Mods; pub const State = struct {}; pub const Translation = struct { - text: []const u8, - composing: bool, + text: []const u8 = "", + composing: bool = false, + mods: Mods = .{}, }; pub fn init() !KeymapNoop { From 52a5069decb6d698df347e4b46d5f26ebe639ebb Mon Sep 17 00:00:00 2001 From: Mitchell Hashimoto Date: Thu, 13 Feb 2025 15:31:07 -0800 Subject: [PATCH 263/365] up versions for development --- build.zig.zon | 2 +- nix/package.nix | 2 +- src/build/Config.zig | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/build.zig.zon b/build.zig.zon index 7d157372a..06155d83e 100644 --- a/build.zig.zon +++ b/build.zig.zon @@ -1,6 +1,6 @@ .{ .name = "ghostty", - .version = "1.1.2", + .version = "1.1.3", .paths = .{""}, .dependencies = .{ // Zig libs diff --git a/nix/package.nix b/nix/package.nix index b4ed3738a..45f189cf5 100644 --- a/nix/package.nix +++ b/nix/package.nix @@ -48,7 +48,7 @@ in stdenv.mkDerivation (finalAttrs: { pname = "ghostty"; - version = "1.1.2"; + version = "1.1.3"; # We limit source like this to try and reduce the amount of rebuilds as possible # thus we only provide the source that is needed for the build diff --git a/src/build/Config.zig b/src/build/Config.zig index 140fddbc1..7c8605c73 100644 --- a/src/build/Config.zig +++ b/src/build/Config.zig @@ -19,7 +19,7 @@ const GitVersion = @import("GitVersion.zig"); /// TODO: When Zig 0.14 is released, derive this from build.zig.zon directly. /// Until then this MUST match build.zig.zon and should always be the /// _next_ version to release. -const app_version: std.SemanticVersion = .{ .major = 1, .minor = 1, .patch = 2 }; +const app_version: std.SemanticVersion = .{ .major = 1, .minor = 1, .patch = 3 }; /// Standard build configuration options. optimize: std.builtin.OptimizeMode, From ac7aa757bdf26425daac4e4aa2387e859347bd53 Mon Sep 17 00:00:00 2001 From: Mitchell Hashimoto Date: Thu, 13 Feb 2025 20:25:03 -0800 Subject: [PATCH 264/365] macos: add `padded-notch` option for `macos-non-native-fullscreen` Finishes #378 Supercedes #4159 This adds a new enum value for `macos-non-native-fullscreen`: `padded-notch`. This value will add padding to the top of the window to account for the notch on applicable devices while still hiding the menu. This value is preferred over "visible-menu" by some people because for screens without a notch, the window will take up the full height. The plan in the future is that we may color the padded area when a notch is present. In this commit it appears as transparent. --- include/ghostty.h | 1 + .../Sources/Features/Terminal/TerminalManager.swift | 2 +- macos/Sources/Ghostty/FullscreenMode+Extension.swift | 3 +++ macos/Sources/Ghostty/Ghostty.Config.swift | 2 ++ macos/Sources/Helpers/Fullscreen.swift | 12 ++++++++++++ src/Surface.zig | 1 + src/apprt/action.zig | 1 + src/config/Config.zig | 8 +++++++- 8 files changed, 28 insertions(+), 2 deletions(-) diff --git a/include/ghostty.h b/include/ghostty.h index 99276cf23..c71831efe 100644 --- a/include/ghostty.h +++ b/include/ghostty.h @@ -412,6 +412,7 @@ typedef enum { GHOSTTY_FULLSCREEN_NATIVE, GHOSTTY_FULLSCREEN_NON_NATIVE, GHOSTTY_FULLSCREEN_NON_NATIVE_VISIBLE_MENU, + GHOSTTY_FULLSCREEN_NON_NATIVE_PADDED_NOTCH, } ghostty_action_fullscreen_e; // apprt.action.SecureInput diff --git a/macos/Sources/Features/Terminal/TerminalManager.swift b/macos/Sources/Features/Terminal/TerminalManager.swift index 42e35b90e..2db29aec9 100644 --- a/macos/Sources/Features/Terminal/TerminalManager.swift +++ b/macos/Sources/Features/Terminal/TerminalManager.swift @@ -86,7 +86,7 @@ class TerminalManager { // fullscreen for the logic later in this method. c.toggleFullscreen(mode: .native) - case .nonNative, .nonNativeVisibleMenu: + case .nonNative, .nonNativeVisibleMenu, .nonNativePaddedNotch: // If we're non-native then we have to do it on a later loop // so that the content view is setup. DispatchQueue.main.async { diff --git a/macos/Sources/Ghostty/FullscreenMode+Extension.swift b/macos/Sources/Ghostty/FullscreenMode+Extension.swift index fffd8e84b..0c0bba908 100644 --- a/macos/Sources/Ghostty/FullscreenMode+Extension.swift +++ b/macos/Sources/Ghostty/FullscreenMode+Extension.swift @@ -13,6 +13,9 @@ extension FullscreenMode { case GHOSTTY_FULLSCREEN_NON_NATIVE_VISIBLE_MENU: .nonNativeVisibleMenu + case GHOSTTY_FULLSCREEN_NON_NATIVE_PADDED_NOTCH: + .nonNativePaddedNotch + default: nil } diff --git a/macos/Sources/Ghostty/Ghostty.Config.swift b/macos/Sources/Ghostty/Ghostty.Config.swift index 9c8042c63..22d66a1a8 100644 --- a/macos/Sources/Ghostty/Ghostty.Config.swift +++ b/macos/Sources/Ghostty/Ghostty.Config.swift @@ -216,6 +216,8 @@ extension Ghostty { .nonNative case "visible-menu": .nonNativeVisibleMenu + case "padded-notch": + .nonNativePaddedNotch default: defaultValue } diff --git a/macos/Sources/Helpers/Fullscreen.swift b/macos/Sources/Helpers/Fullscreen.swift index 320eca013..59865fc9e 100644 --- a/macos/Sources/Helpers/Fullscreen.swift +++ b/macos/Sources/Helpers/Fullscreen.swift @@ -6,6 +6,7 @@ enum FullscreenMode { case native case nonNative case nonNativeVisibleMenu + case nonNativePaddedNotch /// Initializes the fullscreen style implementation for the mode. This will not toggle any /// fullscreen properties. This may fail if the window isn't configured properly for a given @@ -20,6 +21,9 @@ enum FullscreenMode { case .nonNativeVisibleMenu: return NonNativeFullscreenVisibleMenu(window) + + case .nonNativePaddedNotch: + return NonNativeFullscreenPaddedNotch(window) } } } @@ -141,6 +145,7 @@ class NonNativeFullscreen: FullscreenBase, FullscreenStyle { struct Properties { var hideMenu: Bool = true + var paddedNotch: Bool = false } private var savedState: SavedState? @@ -278,6 +283,9 @@ class NonNativeFullscreen: FullscreenBase, FullscreenStyle { // put an #available check, but it was in a bug fix release so I think // if a bug is reported to Ghostty we can just advise the user to // update. + } else if (properties.paddedNotch) { + // We are hiding the menu, we may need to avoid the notch. + frame.size.height -= screen.safeAreaInsets.top } return frame @@ -349,3 +357,7 @@ class NonNativeFullscreen: FullscreenBase, FullscreenStyle { class NonNativeFullscreenVisibleMenu: NonNativeFullscreen { override var properties: Properties { Properties(hideMenu: false) } } + +class NonNativeFullscreenPaddedNotch: NonNativeFullscreen { + override var properties: Properties { Properties(paddedNotch: true) } +} diff --git a/src/Surface.zig b/src/Surface.zig index 3bee52196..4f340ee41 100644 --- a/src/Surface.zig +++ b/src/Surface.zig @@ -4201,6 +4201,7 @@ pub fn performBindingAction(self: *Surface, action: input.Binding.Action) !bool .false => .native, .true => .macos_non_native, .@"visible-menu" => .macos_non_native_visible_menu, + .@"padded-notch" => .macos_non_native_padded_notch, }, ), diff --git a/src/apprt/action.zig b/src/apprt/action.zig index fe2039e52..78f55c8a5 100644 --- a/src/apprt/action.zig +++ b/src/apprt/action.zig @@ -385,6 +385,7 @@ pub const Fullscreen = enum(c_int) { /// window. This is much faster to enter and exit than the native mode. macos_non_native, macos_non_native_visible_menu, + macos_non_native_padded_notch, }; pub const SecureInput = enum(c_int) { diff --git a/src/config/Config.zig b/src/config/Config.zig index 802c77e2e..d191de53a 100644 --- a/src/config/Config.zig +++ b/src/config/Config.zig @@ -1819,9 +1819,14 @@ keybind: Keybinds = .{}, /// /// Allowable values are: /// -/// * `visible-menu` - Use non-native macOS fullscreen, keep the menu bar visible /// * `true` - Use non-native macOS fullscreen, hide the menu bar /// * `false` - Use native macOS fullscreen +/// * `visible-menu` - Use non-native macOS fullscreen, keep the menu bar +/// visible +/// * `padded-notch` - Use non-native macOS fullscreen, hide the menu bar, +/// but ensure the window is not obscured by the notch on applicable +/// devices. The area around the notch will remain transparent currently, +/// but in the future we may fill it with the window background color. /// /// Changing this option at runtime works, but will only apply to the next /// time the window is made fullscreen. If a window is already fullscreen, @@ -4095,6 +4100,7 @@ pub const NonNativeFullscreen = enum(c_int) { false, true, @"visible-menu", + @"padded-notch", }; /// Valid values for macos-option-as-alt. From cdd287c88b6af7a2a362286376209c95ec0ffcea Mon Sep 17 00:00:00 2001 From: Mitchell Hashimoto Date: Fri, 14 Feb 2025 07:23:10 -0800 Subject: [PATCH 265/365] Add back `fetch-zig-cache.sh` for packaging See the comment on more details, which also covers when and how we can remove this. --- nix/build-support/fetch-zig-cache.sh | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100755 nix/build-support/fetch-zig-cache.sh diff --git a/nix/build-support/fetch-zig-cache.sh b/nix/build-support/fetch-zig-cache.sh new file mode 100755 index 000000000..cb6b52a1c --- /dev/null +++ b/nix/build-support/fetch-zig-cache.sh @@ -0,0 +1,26 @@ +#!/bin/sh + +# NOTE THIS IS A TEMPORARY SCRIPT TO SUPPORT PACKAGE MAINTAINERS. +# Since #5439[1], we've been moving away from this and using an alternate +# nix-based approach to cache our dependencies. #5733 aims to make this more +# readily consumable by people who don't have Nix installed so that Nix +# is not a hard dependency. +# +# Further, a future Zig version will hopefully fix the issue where +# `zig build --fetch` doesn't fetch transitive dependencies[3]. When that +# is resolved, we won't need any special machinery for the general use case +# at all and packagers can just use `zig build --fetch`. +# +# [1]: https://github.com/ghostty-org/ghostty/pull/5439 +# [2]: https://github.com/ghostty-org/ghostty/pull/5733 +# [3]: https://github.com/ziglang/zig/issues/20976 + +if [ -z ${ZIG_GLOBAL_CACHE_DIR+x} ] +then + echo "must set ZIG_GLOBAL_CACHE_DIR!" + exit 1 +fi + +zig build --fetch +zig fetch git+https://github.com/zigimg/zigimg#3a667bdb3d7f0955a5a51c8468eac83210c1439e +zig fetch git+https://github.com/mitchellh/libxev#f6a672a78436d8efee1aa847a43a900ad773618b From f32ad5216b610a663cbfcdc39310424b8306151a Mon Sep 17 00:00:00 2001 From: "Jeffrey C. Ollie" Date: Fri, 14 Feb 2025 10:08:40 -0600 Subject: [PATCH 266/365] build: generate a build.zig.zon.txt file for easy zig fetch scripting This fixes a regression in 1.1.1/1.1.2 where our PACKAGING docs mention using `fetch-zig-cache.sh` but it was removed. This commit adds it back, generating its contents from the build.zig.zon file (via zon2nix which we use for our Nix packaging). For packagers, there are no dependency changes: you still need Zig and POSIX sh. For release time, Ghostty has a new dependency on `jq` but otherwise the release process is the same. The check-zig-cache.sh script is updated to generate the new build.zig.zon.txt file. --- .gitattributes | 2 + .gitignore | 1 - PACKAGING.md | 14 +- build.zig.zon | 8 +- build.zig.zon.nix | 22 +-- build.zig.zon.txt | 38 ++++++ build.zig.zon2json-lock | 192 +++++++++++++++++++++++++++ nix/build-support/check-zig-cache.sh | 22 ++- nix/build-support/fetch-zig-cache.sh | 25 ++-- nix/devShell.nix | 2 + pkg/wuffs/build.zig.zon | 2 +- 11 files changed, 288 insertions(+), 40 deletions(-) create mode 100644 build.zig.zon.txt create mode 100644 build.zig.zon2json-lock diff --git a/.gitattributes b/.gitattributes index 148515873..e6f3c2789 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,4 +1,6 @@ build.zig.zon.nix linguist-generated=true +build.zig.zon.txt linguist-generated=true +build.zig.zon2json-lock linguist-generated=true vendor/** linguist-vendored website/** linguist-documentation pkg/breakpad/vendor/** linguist-vendored diff --git a/.gitignore b/.gitignore index b37c80ebe..db8457e1f 100644 --- a/.gitignore +++ b/.gitignore @@ -18,4 +18,3 @@ glad.zip /Box_test.ppm /Box_test_diff.ppm /ghostty.qcow2 -/build.zig.zon2json-lock diff --git a/PACKAGING.md b/PACKAGING.md index 82c7c5673..6a4c01b6f 100644 --- a/PACKAGING.md +++ b/PACKAGING.md @@ -23,13 +23,6 @@ https://release.files.ghostty.org/VERSION/ghostty-VERSION.tar.gz https://release.files.ghostty.org/VERSION/ghostty-VERSION.tar.gz.minisig ``` -> [!NOTE] -> -> **Version 1.0.0 the filename is `ghostty-source.tar.gz`.** Future -> versions will use the `ghostty-VERSION.tar.gz` format since it is more -> typical for source tarballs. But for version 1.0.0, the filename is -> `ghostty-source.tar.gz`. - Signature files are signed with [minisign](https://jedisct1.github.io/minisign/) using the following public key: @@ -88,6 +81,13 @@ for system packages which separate a build and install step, since the install step can then be done with a `mv` or `cp` command (from `/tmp/ghostty` to wherever the package manager expects it). +> [!NOTE] +> +> **Version 1.1.1 and 1.1.2 are missing `fetch-zig-cache.sh`.** This was +> an oversight on the release process. You can use the script from version +> 1.1.0 to fetch the Zig cache for these versions. Future versions will +> restore the script. + ### Build Options Ghostty uses the Zig build system. You can see all available build options by diff --git a/build.zig.zon b/build.zig.zon index 06155d83e..6930e992c 100644 --- a/build.zig.zon +++ b/build.zig.zon @@ -14,11 +14,11 @@ .lazy = true, }, .vaxis = .{ - .url = "git+https://github.com/rockorager/libvaxis/?ref=main#6d729a2dc3b934818dffe06d2ba3ce02841ed74b", + .url = "https://github.com/rockorager/libvaxis/archive/6d729a2dc3b934818dffe06d2ba3ce02841ed74b.tar.gz", .hash = "12200df4ebeaed45de26cb2c9f3b6f3746d8013b604e035dae658f86f586c8c91d2f", }, .z2d = .{ - .url = "git+https://github.com/vancluever/z2d?ref=v0.4.0#4638bb02a9dc41cc2fb811f092811f6a951c752a", + .url = "https://github.com/vancluever/z2d/archive/4638bb02a9dc41cc2fb811f092811f6a951c752a.tar.gz", .hash = "12201f0d542e7541cf492a001d4d0d0155c92f58212fbcb0d224e95edeba06b5416a", }, .zig_objc = .{ @@ -38,7 +38,7 @@ .hash = "12209ca054cb1919fa276e328967f10b253f7537c4136eb48f3332b0f7cf661cad38", }, .zf = .{ - .url = "git+https://github.com/natecraddock/zf/?ref=main#ed99ca18b02dda052e20ba467e90b623c04690dd", + .url = "https://github.com/natecraddock/zf/archive/ed99ca18b02dda052e20ba467e90b623c04690dd.tar.gz", .hash = "1220edc3b8d8bedbb50555947987e5e8e2f93871ca3c8e8d4cc8f1377c15b5dd35e8", }, .gobject = .{ @@ -76,7 +76,7 @@ .hash = "12201a57c6ce0001aa034fa80fba3e1cd2253c560a45748f4f4dd21ff23b491cddef", }, .plasma_wayland_protocols = .{ - .url = "git+https://github.com/KDE/plasma-wayland-protocols?ref=main#db525e8f9da548cffa2ac77618dd0fbe7f511b86", + .url = "https://github.com/KDE/plasma-wayland-protocols/archive/db525e8f9da548cffa2ac77618dd0fbe7f511b86.tar.gz", .hash = "12207e0851c12acdeee0991e893e0132fc87bb763969a585dc16ecca33e88334c566", }, diff --git a/build.zig.zon.nix b/build.zig.zon.nix index 0edada825..4ffc264be 100644 --- a/build.zig.zon.nix +++ b/build.zig.zon.nix @@ -143,8 +143,8 @@ in name = "12200df4ebeaed45de26cb2c9f3b6f3746d8013b604e035dae658f86f586c8c91d2f"; path = fetchZigArtifact { name = "vaxis"; - url = "git+https://github.com/rockorager/libvaxis/?ref=main#6d729a2dc3b934818dffe06d2ba3ce02841ed74b"; - hash = "sha256-fFf79fCy4QQFVNcN722tSMjB6FyVEzCB36oH1olk9JQ="; + url = "https://github.com/rockorager/libvaxis/archive/6d729a2dc3b934818dffe06d2ba3ce02841ed74b.tar.gz"; + hash = "sha256-OCNs6Gl2ruq5dBm4uIxs93hoXw/+n+x1+bIDfQGDx3s="; }; } { @@ -167,8 +167,8 @@ in name = "12201f0d542e7541cf492a001d4d0d0155c92f58212fbcb0d224e95edeba06b5416a"; path = fetchZigArtifact { name = "z2d"; - url = "git+https://github.com/vancluever/z2d?ref=v0.4.0#4638bb02a9dc41cc2fb811f092811f6a951c752a"; - hash = "sha256-YpWXn1J3JKQSCrWB25mAfzd1/T56QstEZnhPzBwxgoM="; + url = "https://github.com/vancluever/z2d/archive/4638bb02a9dc41cc2fb811f092811f6a951c752a.tar.gz"; + hash = "sha256-P0UJ54RO/vVyDa+UkBl+QEOjzoMMEFSOTexQP/uBXfc="; }; } { @@ -207,8 +207,8 @@ in name = "1220edc3b8d8bedbb50555947987e5e8e2f93871ca3c8e8d4cc8f1377c15b5dd35e8"; path = fetchZigArtifact { name = "zf"; - url = "git+https://github.com/natecraddock/zf/?ref=main#ed99ca18b02dda052e20ba467e90b623c04690dd"; - hash = "sha256-t6QNrEJZ4GZZsYixjYvpdrYoCmNbG8TTUmGs2MFa4sU="; + url = "https://github.com/natecraddock/zf/archive/ed99ca18b02dda052e20ba467e90b623c04690dd.tar.gz"; + hash = "sha256-/oLryY3VQfjbtQi+UP+n6FJTVA/YxIetjO+6Ovrh6/E="; }; } { @@ -232,7 +232,7 @@ in path = fetchZigArtifact { name = "wayland"; url = "https://deps.files.ghostty.org/wayland-9cb3d7aa9dc995ffafdbdef7ab86a949d0fb0e7d.tar.gz"; - hash = "sha256-m9G72jdG30KH2yQhNBcBJ46OnekzuX0i2uIOyczkpLk="; + hash = "sha256-6kGR1o5DdnflHzqs3ieCmBAUTpMdOXoyfcYDXiw5xQ0="; }; } { @@ -247,8 +247,8 @@ in name = "12207e0851c12acdeee0991e893e0132fc87bb763969a585dc16ecca33e88334c566"; path = fetchZigArtifact { name = "plasma_wayland_protocols"; - url = "git+https://github.com/KDE/plasma-wayland-protocols?ref=main#db525e8f9da548cffa2ac77618dd0fbe7f511b86"; - hash = "sha256-iWRv3+OfmHxmeCJ8m0ChjgZX6mwXlcFmK8P/Vt8gDj4="; + url = "https://github.com/KDE/plasma-wayland-protocols/archive/db525e8f9da548cffa2ac77618dd0fbe7f511b86.tar.gz"; + hash = "sha256-XFi6IUrNjmvKNCbcCLAixGqN2Zeymhs+KLrfccIN9EE="; }; } { @@ -367,8 +367,8 @@ in name = "12207ff340169c7d40c570b4b6a97db614fe47e0d83b5801a932dcd44917424c8806"; path = fetchZigArtifact { name = "pixels"; - url = "git+https://github.com/make-github-pseudonymous-again/pixels?ref=main#d843c2714d32e15b48b8d7eeb480295af537f877"; - hash = "sha256-kXYGO0qn2PfyOYCrRA49BHIgTzdmKhI8SNO1ZKfUYEE="; + url = "https://github.com/make-github-pseudonymous-again/pixels/archive/d843c2714d32e15b48b8d7eeb480295af537f877.tar.gz"; + hash = "sha256-Veg7FtCRCCUCvxSb9FfzH0IJLFmCZQ4/+657SIcb8Ro="; }; } { diff --git a/build.zig.zon.txt b/build.zig.zon.txt new file mode 100644 index 000000000..4808ba6c4 --- /dev/null +++ b/build.zig.zon.txt @@ -0,0 +1,38 @@ +git+https://github.com/rockorager/libvaxis/?ref=main#dc0a228a5544988d4a920cfb40be9cd28db41423 +git+https://github.com/zigimg/zigimg#3a667bdb3d7f0955a5a51c8468eac83210c1439e +https://codeberg.org/atman/zg/archive/v0.13.2.tar.gz +https://deps.files.ghostty.org/fontconfig-2.14.2.tar.gz +https://deps.files.ghostty.org/wayland-9cb3d7aa9dc995ffafdbdef7ab86a949d0fb0e7d.tar.gz +https://deps.files.ghostty.org/wayland-protocols-258d8f88f2c8c25a830c6316f87d23ce1a0f12d9.tar.gz +https://deps.files.ghostty.org/zig-wayland-fbfe3b4ac0b472a27b1f1a67405436c58cbee12d.tar.gz +https://deps.files.ghostty.org/ziglyph-b89d43d1e3fb01b6074bc1f7fc980324b04d26a5.tar.gz +https://github.com/GNOME/libxml2/archive/refs/tags/v2.11.5.tar.gz +https://github.com/KDE/plasma-wayland-protocols/archive/db525e8f9da548cffa2ac77618dd0fbe7f511b86.tar.gz +https://github.com/KhronosGroup/SPIRV-Cross/archive/476f384eb7d9e48613c45179e502a15ab95b6b49.tar.gz +https://github.com/KhronosGroup/glslang/archive/refs/tags/14.2.0.tar.gz +https://github.com/freetype/freetype/archive/refs/tags/VER-2-13-2.tar.gz +https://github.com/getsentry/breakpad/archive/b99f444ba5f6b98cac261cbb391d8766b34a5918.tar.gz +https://github.com/getsentry/sentry-native/archive/refs/tags/0.7.8.tar.gz +https://github.com/glennrp/libpng/archive/refs/tags/v1.6.43.tar.gz +https://github.com/google/highway/archive/refs/tags/1.1.0.tar.gz +https://github.com/google/wuffs/archive/refs/tags/v0.4.0-alpha.9.tar.gz +https://github.com/harfbuzz/harfbuzz/archive/refs/tags/8.4.0.tar.gz +https://github.com/ianprime0509/zig-gobject/releases/download/v0.2.2/bindings-gnome47.tar.zst +https://github.com/kkos/oniguruma/archive/refs/tags/v6.9.9.tar.gz +https://github.com/madler/zlib/archive/refs/tags/v1.3.1.tar.gz +https://github.com/make-github-pseudonymous-again/pixels/archive/d843c2714d32e15b48b8d7eeb480295af537f877.tar.gz +https://github.com/mbadolato/iTerm2-Color-Schemes/archive/db227d159adc265818f2e898da0f70ef8d7b580e.tar.gz +https://github.com/mitchellh/glfw/archive/b552c6ec47326b94015feddb36058ea567b87159.tar.gz +https://github.com/mitchellh/libxev/archive/31eed4e337fed7b0149319e5cdbb62b848c24fbd.tar.gz +https://github.com/mitchellh/mach-glfw/archive/37c2995f31abcf7e8378fba68ddcf4a3faa02de0.tar.gz +https://github.com/mitchellh/vulkan-headers/archive/04c8a0389d5a0236a96312988017cd4ce27d8041.tar.gz +https://github.com/mitchellh/wayland-headers/archive/5f991515a29f994d87b908115a2ab0b899474bd1.tar.gz +https://github.com/mitchellh/x11-headers/archive/2ffbd62d82ff73ec929dd8de802bc95effa0ef88.tar.gz +https://github.com/mitchellh/xcode-frameworks/archive/69801c154c39d7ae6129ea1ba8fe1afe00585fc8.tar.gz +https://github.com/mitchellh/zig-js/archive/d0b8b0a57c52fbc89f9d9fecba75ca29da7dd7d1.tar.gz +https://github.com/mitchellh/zig-objc/archive/9b8ba849b0f58fe207ecd6ab7c147af55b17556e.tar.gz +https://github.com/natecraddock/zf/archive/ed99ca18b02dda052e20ba467e90b623c04690dd.tar.gz +https://github.com/nemtrif/utfcpp/archive/refs/tags/v4.0.5.tar.gz +https://github.com/ocornut/imgui/archive/e391fe2e66eb1c96b1624ae8444dc64c23146ef4.tar.gz +https://github.com/rockorager/libvaxis/archive/6d729a2dc3b934818dffe06d2ba3ce02841ed74b.tar.gz +https://github.com/vancluever/z2d/archive/4638bb02a9dc41cc2fb811f092811f6a951c752a.tar.gz diff --git a/build.zig.zon2json-lock b/build.zig.zon2json-lock new file mode 100644 index 000000000..c4ad47795 --- /dev/null +++ b/build.zig.zon2json-lock @@ -0,0 +1,192 @@ +{ + "1220ebf88622c4d502dc59e71347e4d28c47e033f11b59aff774ae5787565c40999c": { + "name": "libxev", + "url": "https://github.com/mitchellh/libxev/archive/31eed4e337fed7b0149319e5cdbb62b848c24fbd.tar.gz", + "hash": "sha256-VHP90NTytIZ8UZsYRKOOxN490/I6yv6ec40sP8y5MJ8=" + }, + "12206ed982e709e565d536ce930701a8c07edfd2cfdce428683f3f2a601d37696a62": { + "name": "mach_glfw", + "url": "https://github.com/mitchellh/mach-glfw/archive/37c2995f31abcf7e8378fba68ddcf4a3faa02de0.tar.gz", + "hash": "sha256-HhXIvWUS8/CHWY4VXPG2ZEo+we8XOn3o5rYJCQ1n8Nk=" + }, + "1220736fa4ba211162c7a0e46cc8fe04d95921927688bff64ab5da7420d098a7272d": { + "name": "glfw", + "url": "https://github.com/mitchellh/glfw/archive/b552c6ec47326b94015feddb36058ea567b87159.tar.gz", + "hash": "sha256-IeBVAOQmtyFqVxzuXPek1onuPwIamcOyYtxqKpPEQjU=" + }, + "12202adbfecdad671d585c9a5bfcbd5cdf821726779430047742ce1bf94ad67d19cb": { + "name": "xcode_frameworks", + "url": "https://github.com/mitchellh/xcode-frameworks/archive/69801c154c39d7ae6129ea1ba8fe1afe00585fc8.tar.gz", + "hash": "sha256-mP/I2coL57UJm/3+4Q8sPAgQwk8V4zM+S4VBBTrX2To=" + }, + "122004bfd4c519dadfb8e6281a42fc34fd1aa15aea654ea8a492839046f9894fa2cf": { + "name": "vulkan_headers", + "url": "https://github.com/mitchellh/vulkan-headers/archive/04c8a0389d5a0236a96312988017cd4ce27d8041.tar.gz", + "hash": "sha256-K+zrRudgHFukOM6En1StRYRMNYkeRk+qHTXvrXaG+FU=" + }, + "1220b3164434d2ec9db146a40bf3a30f490590d68fa8529776a3138074f0da2c11ca": { + "name": "wayland_headers", + "url": "https://github.com/mitchellh/wayland-headers/archive/5f991515a29f994d87b908115a2ab0b899474bd1.tar.gz", + "hash": "sha256-uFilLZinKkZt6RdVTV3lUmJpzpswDdFva22FvwU/XQI=" + }, + "122089c326186c84aa2fd034b16abc38f3ebf4862d9ae106dc1847ac44f557b36465": { + "name": "x11_headers", + "url": "https://github.com/mitchellh/x11-headers/archive/2ffbd62d82ff73ec929dd8de802bc95effa0ef88.tar.gz", + "hash": "sha256-EhV2bmTY/OMYN1wEul35gD0hQgS/Al262jO3pVr0O+c=" + }, + "12200df4ebeaed45de26cb2c9f3b6f3746d8013b604e035dae658f86f586c8c91d2f": { + "name": "vaxis", + "url": "https://github.com/rockorager/libvaxis/archive/6d729a2dc3b934818dffe06d2ba3ce02841ed74b.tar.gz", + "hash": "sha256-OCNs6Gl2ruq5dBm4uIxs93hoXw/+n+x1+bIDfQGDx3s=" + }, + "1220dd654ef941fc76fd96f9ec6adadf83f69b9887a0d3f4ee5ac0a1a3e11be35cf5": { + "name": "zigimg", + "url": "git+https://github.com/zigimg/zigimg#3a667bdb3d7f0955a5a51c8468eac83210c1439e", + "hash": "sha256-oLf3YH3yeg4ikVO/GahMCDRMTU31AHkfSnF4rt7xTKo=" + }, + "122055beff332830a391e9895c044d33b15ea21063779557024b46169fb1984c6e40": { + "name": "zg", + "url": "https://codeberg.org/atman/zg/archive/v0.13.2.tar.gz", + "hash": "sha256-2x9hT7bYq9KJYWLVOf21a+QvTG/F7HWT+YK15IMRzNY=" + }, + "12201f0d542e7541cf492a001d4d0d0155c92f58212fbcb0d224e95edeba06b5416a": { + "name": "z2d", + "url": "https://github.com/vancluever/z2d/archive/4638bb02a9dc41cc2fb811f092811f6a951c752a.tar.gz", + "hash": "sha256-P0UJ54RO/vVyDa+UkBl+QEOjzoMMEFSOTexQP/uBXfc=" + }, + "1220e17e64ef0ef561b3e4b9f3a96a2494285f2ec31c097721bf8c8677ec4415c634": { + "name": "zig_objc", + "url": "https://github.com/mitchellh/zig-objc/archive/9b8ba849b0f58fe207ecd6ab7c147af55b17556e.tar.gz", + "hash": "sha256-H+HIbh2T23uzrsg9/1/vl9Ir1HCAa2pzeTx6zktJH9Q=" + }, + "12205a66d423259567764fa0fc60c82be35365c21aeb76c5a7dc99698401f4f6fefc": { + "name": "zig_js", + "url": "https://github.com/mitchellh/zig-js/archive/d0b8b0a57c52fbc89f9d9fecba75ca29da7dd7d1.tar.gz", + "hash": "sha256-fyNeCVbC9UAaKJY6JhAZlT0A479M/AKYMPIWEZbDWD0=" + }, + "12207831bce7d4abce57b5a98e8f3635811cfefd160bca022eb91fe905d36a02cf25": { + "name": "ziglyph", + "url": "https://deps.files.ghostty.org/ziglyph-b89d43d1e3fb01b6074bc1f7fc980324b04d26a5.tar.gz", + "hash": "sha256-cse98+Ft8QUjX+P88yyYfaxJOJGQ9M7Ymw7jFxDz89k=" + }, + "12209ca054cb1919fa276e328967f10b253f7537c4136eb48f3332b0f7cf661cad38": { + "name": "zig_wayland", + "url": "https://deps.files.ghostty.org/zig-wayland-fbfe3b4ac0b472a27b1f1a67405436c58cbee12d.tar.gz", + "hash": "sha256-RtAystqK/GRYIquTK1KfD7rRSCrfuzAvCD1Z9DE1ldc=" + }, + "1220edc3b8d8bedbb50555947987e5e8e2f93871ca3c8e8d4cc8f1377c15b5dd35e8": { + "name": "zf", + "url": "https://github.com/natecraddock/zf/archive/ed99ca18b02dda052e20ba467e90b623c04690dd.tar.gz", + "hash": "sha256-/oLryY3VQfjbtQi+UP+n6FJTVA/YxIetjO+6Ovrh6/E=" + }, + "1220c72c1697dd9008461ead702997a15d8a1c5810247f02e7983b9f74c6c6e4c087": { + "name": "vaxis", + "url": "git+https://github.com/rockorager/libvaxis/?ref=main#dc0a228a5544988d4a920cfb40be9cd28db41423", + "hash": "sha256-QWN4jOrA91KlbqmeEHHJ4HTnCC9nmfxt8DHUXJpAzLI=" + }, + "12208d70ee791d7ef7e16e1c3c9c1127b57f1ed066a24f87d57fc9f730c5dc394b9d": { + "name": "gobject", + "url": "https://github.com/ianprime0509/zig-gobject/releases/download/v0.2.2/bindings-gnome47.tar.zst", + "hash": "sha256-UU97kNv/bZzQPKz1djhEDLapLguvfBpFfWVb6FthtcI=" + }, + "12202cdac858abc52413a6c6711d5026d2d3c8e13f95ca2c327eade0736298bb021f": { + "name": "wayland", + "url": "https://deps.files.ghostty.org/wayland-9cb3d7aa9dc995ffafdbdef7ab86a949d0fb0e7d.tar.gz", + "hash": "sha256-6kGR1o5DdnflHzqs3ieCmBAUTpMdOXoyfcYDXiw5xQ0=" + }, + "12201a57c6ce0001aa034fa80fba3e1cd2253c560a45748f4f4dd21ff23b491cddef": { + "name": "wayland_protocols", + "url": "https://deps.files.ghostty.org/wayland-protocols-258d8f88f2c8c25a830c6316f87d23ce1a0f12d9.tar.gz", + "hash": "sha256-XO3K3egbdeYPI+XoO13SuOtO+5+Peb16NH0UiusFMPg=" + }, + "12207e0851c12acdeee0991e893e0132fc87bb763969a585dc16ecca33e88334c566": { + "name": "plasma_wayland_protocols", + "url": "https://github.com/KDE/plasma-wayland-protocols/archive/db525e8f9da548cffa2ac77618dd0fbe7f511b86.tar.gz", + "hash": "sha256-XFi6IUrNjmvKNCbcCLAixGqN2Zeymhs+KLrfccIN9EE=" + }, + "12203d2647e5daf36a9c85b969e03f422540786ce9ea624eb4c26d204fe1f46218f3": { + "name": "iterm2_themes", + "url": "https://github.com/mbadolato/iTerm2-Color-Schemes/archive/db227d159adc265818f2e898da0f70ef8d7b580e.tar.gz", + "hash": "sha256-Iyf7U4rpvNkPX4AOEbYSYGte5+SjRwsWD2luOn1Hz8U=" + }, + "1220bc6b9daceaf7c8c60f3c3998058045ba0c5c5f48ae255ff97776d9cd8bfc6402": { + "name": "imgui", + "url": "https://github.com/ocornut/imgui/archive/e391fe2e66eb1c96b1624ae8444dc64c23146ef4.tar.gz", + "hash": "sha256-oF/QHgTPEat4Hig4fGIdLkIPHmBEyOJ6JeYD6pnveGA=" + }, + "1220b81f6ecfb3fd222f76cf9106fecfa6554ab07ec7fdc4124b9bb063ae2adf969d": { + "name": "freetype", + "url": "https://github.com/freetype/freetype/archive/refs/tags/VER-2-13-2.tar.gz", + "hash": "sha256-QnIB9dUVFnDQXB9bRb713aHy592XHvVPD+qqf/0quQw=" + }, + "1220aa013f0c83da3fb64ea6d327f9173fa008d10e28bc9349eac3463457723b1c66": { + "name": "libpng", + "url": "https://github.com/glennrp/libpng/archive/refs/tags/v1.6.43.tar.gz", + "hash": "sha256-/syVtGzwXo4/yKQUdQ4LparQDYnp/fF16U/wQcrxoDo=" + }, + "1220fed0c74e1019b3ee29edae2051788b080cd96e90d56836eea857b0b966742efb": { + "name": "zlib", + "url": "https://github.com/madler/zlib/archive/refs/tags/v1.3.1.tar.gz", + "hash": "sha256-F+iIY/NgBnKrSRgvIXKBtvxNPHYr3jYZNeQ2qVIU0Fw=" + }, + "12201149afb3326c56c05bb0a577f54f76ac20deece63aa2f5cd6ff31a4fa4fcb3b7": { + "name": "fontconfig", + "url": "https://deps.files.ghostty.org/fontconfig-2.14.2.tar.gz", + "hash": "sha256-O6LdkhWHGKzsXKrxpxYEO1qgVcJ7CB2RSvPMtA3OilU=" + }, + "122032442d95c3b428ae8e526017fad881e7dc78eab4d558e9a58a80bfbd65a64f7d": { + "name": "libxml2", + "url": "https://github.com/GNOME/libxml2/archive/refs/tags/v2.11.5.tar.gz", + "hash": "sha256-bCgFni4+60K1tLFkieORamNGwQladP7jvGXNxdiaYhU=" + }, + "1220b8588f106c996af10249bfa092c6fb2f35fbacb1505ef477a0b04a7dd1063122": { + "name": "harfbuzz", + "url": "https://github.com/harfbuzz/harfbuzz/archive/refs/tags/8.4.0.tar.gz", + "hash": "sha256-nxygiYE7BZRK0c6MfgGCEwJtNdybq0gKIeuHaDg5ZVY=" + }, + "12205c83b8311a24b1d5ae6d21640df04f4b0726e314337c043cde1432758cbe165b": { + "name": "highway", + "url": "https://github.com/google/highway/archive/refs/tags/1.1.0.tar.gz", + "hash": "sha256-NUqLRTm1iOcLmOxwhEJz4/J0EwLEw3e8xOgbPRhm98k=" + }, + "1220c15e72eadd0d9085a8af134904d9a0f5dfcbed5f606ad60edc60ebeccd9706bb": { + "name": "oniguruma", + "url": "https://github.com/kkos/oniguruma/archive/refs/tags/v6.9.9.tar.gz", + "hash": "sha256-ABqhIC54RI9MC/GkjHblVodrNvFtks4yB+zP1h2Z8qA=" + }, + "1220446be831adcca918167647c06c7b825849fa3fba5f22da394667974537a9c77e": { + "name": "sentry", + "url": "https://github.com/getsentry/sentry-native/archive/refs/tags/0.7.8.tar.gz", + "hash": "sha256-KsZJfMjWGo0xCT5HrduMmyxFsWsHBbszSoNbZCPDGN8=" + }, + "12207fd37bb8251919c112dcdd8f616a491857b34a451f7e4486490077206dc2a1ea": { + "name": "breakpad", + "url": "https://github.com/getsentry/breakpad/archive/b99f444ba5f6b98cac261cbb391d8766b34a5918.tar.gz", + "hash": "sha256-bMqYlD0amQdmzvYQd8Ca/1k4Bj/heh7+EijlQSttatk=" + }, + "1220d4d18426ca72fc2b7e56ce47273149815501d0d2395c2a98c726b31ba931e641": { + "name": "utfcpp", + "url": "https://github.com/nemtrif/utfcpp/archive/refs/tags/v4.0.5.tar.gz", + "hash": "sha256-/8ZooxDndgfTk/PBizJxXyI9oerExNbgV5oR345rWc8=" + }, + "122037b39d577ec2db3fd7b2130e7b69ef6cc1807d68607a7c232c958315d381b5cd": { + "name": "wuffs", + "url": "https://github.com/google/wuffs/archive/refs/tags/v0.4.0-alpha.9.tar.gz", + "hash": "sha256-nkzSCr6W5sTG7enDBXEIhgEm574uLD41UVR2wlC+HBM=" + }, + "12207ff340169c7d40c570b4b6a97db614fe47e0d83b5801a932dcd44917424c8806": { + "name": "pixels", + "url": "https://github.com/make-github-pseudonymous-again/pixels/archive/d843c2714d32e15b48b8d7eeb480295af537f877.tar.gz", + "hash": "sha256-Veg7FtCRCCUCvxSb9FfzH0IJLFmCZQ4/+657SIcb8Ro=" + }, + "12201278a1a05c0ce0b6eb6026c65cd3e9247aa041b1c260324bf29cee559dd23ba1": { + "name": "glslang", + "url": "https://github.com/KhronosGroup/glslang/archive/refs/tags/14.2.0.tar.gz", + "hash": "sha256-FKLtu1Ccs+UamlPj9eQ12/WXFgS0uDPmPmB26MCpl7U=" + }, + "1220fb3b5586e8be67bc3feb34cbe749cf42a60d628d2953632c2f8141302748c8da": { + "name": "spirv_cross", + "url": "https://github.com/KhronosGroup/SPIRV-Cross/archive/476f384eb7d9e48613c45179e502a15ab95b6b49.tar.gz", + "hash": "sha256-tStvz8Ref6abHwahNiwVVHNETizAmZVVaxVsU7pmV+M=" + } +} diff --git a/nix/build-support/check-zig-cache.sh b/nix/build-support/check-zig-cache.sh index 3f724dacf..bbe1a3eb9 100755 --- a/nix/build-support/check-zig-cache.sh +++ b/nix/build-support/check-zig-cache.sh @@ -1,4 +1,16 @@ #!/usr/bin/env bash +# +# This script checks if the build.zig.zon.nix file is up-to-date. +# If the `--update` flag is passed, it will update all necessary +# files to be up to date. +# +# The files owned by this are: +# +# - build.zig.zon.nix +# - build.zig.zon.txt +# - build.zig.zon2json-lock +# +# All of these are auto-generated and should not be edited manually. # Nothing in this script should fail. set -e @@ -27,9 +39,11 @@ help() { echo "" } -BUILD_ZIG_ZON="$(realpath "$(dirname "$0")/../../build.zig.zon")" -BUILD_ZIG_ZON_LOCK="$(realpath "$(dirname "$0")/../../build.zig.zon2json-lock")" -BUILD_ZIG_ZON_NIX="$(realpath "$(dirname "$0")/../../build.zig.zon.nix")" +ROOT="$(realpath "$(dirname "$0")/../../")" +BUILD_ZIG_ZON="$ROOT/build.zig.zon" +BUILD_ZIG_ZON_LOCK="$ROOT/build.zig.zon2json-lock" +BUILD_ZIG_ZON_NIX="$ROOT/build.zig.zon.nix" +BUILD_ZIG_ZON_TXT="$ROOT/build.zig.zon.txt" if [ -f "${BUILD_ZIG_ZON_NIX}" ]; then OLD_HASH=$(sha512sum "${BUILD_ZIG_ZON_NIX}" | awk '{print $1}') @@ -42,7 +56,6 @@ fi rm -f "$BUILD_ZIG_ZON_LOCK" zon2nix "$BUILD_ZIG_ZON" > "$WORK_DIR/build.zig.zon.nix" alejandra --quiet "$WORK_DIR/build.zig.zon.nix" -rm -f "$BUILD_ZIG_ZON_LOCK" NEW_HASH=$(sha512sum "$WORK_DIR/build.zig.zon.nix" | awk '{print $1}') @@ -57,6 +70,7 @@ elif [ "$1" != "--update" ]; then help exit 1 else + jq -r '.[] .url' "$BUILD_ZIG_ZON_LOCK" | sort > "$BUILD_ZIG_ZON_TXT" mv "$WORK_DIR/build.zig.zon.nix" "$BUILD_ZIG_ZON_NIX" echo -e "\nOK: build.zig.zon.nix updated." exit 0 diff --git a/nix/build-support/fetch-zig-cache.sh b/nix/build-support/fetch-zig-cache.sh index cb6b52a1c..8ff00cad0 100755 --- a/nix/build-support/fetch-zig-cache.sh +++ b/nix/build-support/fetch-zig-cache.sh @@ -1,19 +1,13 @@ #!/bin/sh # NOTE THIS IS A TEMPORARY SCRIPT TO SUPPORT PACKAGE MAINTAINERS. -# Since #5439[1], we've been moving away from this and using an alternate -# nix-based approach to cache our dependencies. #5733 aims to make this more -# readily consumable by people who don't have Nix installed so that Nix -# is not a hard dependency. # -# Further, a future Zig version will hopefully fix the issue where -# `zig build --fetch` doesn't fetch transitive dependencies[3]. When that +# A future Zig version will hopefully fix the issue where +# `zig build --fetch` doesn't fetch transitive dependencies[1]. When that # is resolved, we won't need any special machinery for the general use case # at all and packagers can just use `zig build --fetch`. # -# [1]: https://github.com/ghostty-org/ghostty/pull/5439 -# [2]: https://github.com/ghostty-org/ghostty/pull/5733 -# [3]: https://github.com/ziglang/zig/issues/20976 +# [1]: https://github.com/ziglang/zig/issues/20976 if [ -z ${ZIG_GLOBAL_CACHE_DIR+x} ] then @@ -21,6 +15,13 @@ then exit 1 fi -zig build --fetch -zig fetch git+https://github.com/zigimg/zigimg#3a667bdb3d7f0955a5a51c8468eac83210c1439e -zig fetch git+https://github.com/mitchellh/libxev#f6a672a78436d8efee1aa847a43a900ad773618b +# Go through each line of our build.zig.zon.txt and fetch it. +SCRIPT_PATH="$(CDPATH= cd -- "$(dirname -- "$0")" && pwd)" +ZON_TXT_FILE="$SCRIPT_PATH/../../build.zig.zon.txt" +while IFS= read -r url; do + echo "Fetching: $url" + zig fetch "$url" >/dev/null 2>&1 || { + echo "Failed to fetch: $url" >&2 + exit 1 + } +done < "$ZON_TXT_FILE" diff --git a/nix/devShell.nix b/nix/devShell.nix index b3dccef25..7cfef64c2 100644 --- a/nix/devShell.nix +++ b/nix/devShell.nix @@ -49,6 +49,7 @@ simdutf, zlib, alejandra, + jq, minisign, pandoc, hyperfine, @@ -97,6 +98,7 @@ in packages = [ # For builds + jq llvmPackages_latest.llvm minisign ncurses diff --git a/pkg/wuffs/build.zig.zon b/pkg/wuffs/build.zig.zon index d84d6957e..dc35b22cd 100644 --- a/pkg/wuffs/build.zig.zon +++ b/pkg/wuffs/build.zig.zon @@ -8,7 +8,7 @@ }, .pixels = .{ - .url = "git+https://github.com/make-github-pseudonymous-again/pixels?ref=main#d843c2714d32e15b48b8d7eeb480295af537f877", + .url = "https://github.com/make-github-pseudonymous-again/pixels/archive/d843c2714d32e15b48b8d7eeb480295af537f877.tar.gz", .hash = "12207ff340169c7d40c570b4b6a97db614fe47e0d83b5801a932dcd44917424c8806", }, From 8231ebb7705e4e7f21aa42e498f8487a5e4ad6f0 Mon Sep 17 00:00:00 2001 From: Mitchell Hashimoto Date: Fri, 14 Feb 2025 09:38:27 -0800 Subject: [PATCH 267/365] build: mirror most of our direct dependencies This adds a new script `update-mirror.sh` which generates the proper blob format for R2 (or any blob storage) to mirror all of our dependencies. It doesn't automate updating build.zig.zon but on an ongoing basis this should be easy to do manually, and we can strive to automate it in the future. I omitted iTerm2 color themes because we auto-update that via CI and updating all of the machinery to send it to our mirror and so on is a pain. Additionally, this doesn't mirror transitive dependencies because Zig doesn't have a way to fetch those from a mirror instead (unless you pre-generate a full cache like packagers but that's not practical for day to day development). It's hugely beneficial just to get most of our dependencies mirrored. --- build.zig.zon | 28 +++++++++++++------ build.zig.zon.nix | 44 +++++++++++++++--------------- build.zig.zon.txt | 44 +++++++++++++++--------------- build.zig.zon2json-lock | 44 +++++++++++++++--------------- nix/build-support/update-mirror.sh | 30 ++++++++++++++++++++ pkg/cimgui/build.zig.zon | 3 +- pkg/freetype/build.zig.zon | 3 +- pkg/glslang/build.zig.zon | 3 +- pkg/harfbuzz/build.zig.zon | 3 +- pkg/highway/build.zig.zon | 3 +- pkg/libpng/build.zig.zon | 3 +- pkg/oniguruma/build.zig.zon | 3 +- pkg/sentry/build.zig.zon | 3 +- pkg/spirv-cross/build.zig.zon | 3 +- pkg/utfcpp/build.zig.zon | 3 +- pkg/wuffs/build.zig.zon | 6 ++-- pkg/zlib/build.zig.zon | 3 +- 17 files changed, 141 insertions(+), 88 deletions(-) create mode 100755 nix/build-support/update-mirror.sh diff --git a/build.zig.zon b/build.zig.zon index 6930e992c..4e989f836 100644 --- a/build.zig.zon +++ b/build.zig.zon @@ -4,29 +4,36 @@ .paths = .{""}, .dependencies = .{ // Zig libs + .libxev = .{ - .url = "https://github.com/mitchellh/libxev/archive/31eed4e337fed7b0149319e5cdbb62b848c24fbd.tar.gz", + // mitchellh/libxev + .url = "https://deps.files.ghostty.org/libxev-1220ebf88622c4d502dc59e71347e4d28c47e033f11b59aff774ae5787565c40999c.tar.gz", .hash = "1220ebf88622c4d502dc59e71347e4d28c47e033f11b59aff774ae5787565c40999c", }, .mach_glfw = .{ - .url = "https://github.com/mitchellh/mach-glfw/archive/37c2995f31abcf7e8378fba68ddcf4a3faa02de0.tar.gz", + // mitchellh/mach-glfw + .url = "https://deps.files.ghostty.org/mach_glfw-12206ed982e709e565d536ce930701a8c07edfd2cfdce428683f3f2a601d37696a62.tar.gz", .hash = "12206ed982e709e565d536ce930701a8c07edfd2cfdce428683f3f2a601d37696a62", .lazy = true, }, .vaxis = .{ - .url = "https://github.com/rockorager/libvaxis/archive/6d729a2dc3b934818dffe06d2ba3ce02841ed74b.tar.gz", + // rockorager/libvaxis + .url = "https://deps.files.ghostty.org/vaxis-12200df4ebeaed45de26cb2c9f3b6f3746d8013b604e035dae658f86f586c8c91d2f.tar.gz", .hash = "12200df4ebeaed45de26cb2c9f3b6f3746d8013b604e035dae658f86f586c8c91d2f", }, .z2d = .{ - .url = "https://github.com/vancluever/z2d/archive/4638bb02a9dc41cc2fb811f092811f6a951c752a.tar.gz", + // vancluever/z2d + .url = "https://deps.files.ghostty.org/z2d-12201f0d542e7541cf492a001d4d0d0155c92f58212fbcb0d224e95edeba06b5416a.tar.gz", .hash = "12201f0d542e7541cf492a001d4d0d0155c92f58212fbcb0d224e95edeba06b5416a", }, .zig_objc = .{ - .url = "https://github.com/mitchellh/zig-objc/archive/9b8ba849b0f58fe207ecd6ab7c147af55b17556e.tar.gz", + // mitchellh/zig-objc + .url = "https://deps.files.ghostty.org/zig_objc-1220e17e64ef0ef561b3e4b9f3a96a2494285f2ec31c097721bf8c8677ec4415c634.tar.gz", .hash = "1220e17e64ef0ef561b3e4b9f3a96a2494285f2ec31c097721bf8c8677ec4415c634", }, .zig_js = .{ - .url = "https://github.com/mitchellh/zig-js/archive/d0b8b0a57c52fbc89f9d9fecba75ca29da7dd7d1.tar.gz", + // mitchellh/zig-js + .url = "https://deps.files.ghostty.org/zig_js-12205a66d423259567764fa0fc60c82be35365c21aeb76c5a7dc99698401f4f6fefc.tar.gz", .hash = "12205a66d423259567764fa0fc60c82be35365c21aeb76c5a7dc99698401f4f6fefc", }, .ziglyph = .{ @@ -34,15 +41,18 @@ .hash = "12207831bce7d4abce57b5a98e8f3635811cfefd160bca022eb91fe905d36a02cf25", }, .zig_wayland = .{ + // codeberg ifreund/zig-wayland .url = "https://deps.files.ghostty.org/zig-wayland-fbfe3b4ac0b472a27b1f1a67405436c58cbee12d.tar.gz", .hash = "12209ca054cb1919fa276e328967f10b253f7537c4136eb48f3332b0f7cf661cad38", }, .zf = .{ - .url = "https://github.com/natecraddock/zf/archive/ed99ca18b02dda052e20ba467e90b623c04690dd.tar.gz", + // natecraddock/zf + .url = "https://deps.files.ghostty.org/zf-1220edc3b8d8bedbb50555947987e5e8e2f93871ca3c8e8d4cc8f1377c15b5dd35e8.tar.gz", .hash = "1220edc3b8d8bedbb50555947987e5e8e2f93871ca3c8e8d4cc8f1377c15b5dd35e8", }, .gobject = .{ - .url = "https://github.com/ianprime0509/zig-gobject/releases/download/v0.2.2/bindings-gnome47.tar.zst", + // ianprime0509/zig-gobject + .url = "https://deps.files.ghostty.org/gobject-12208d70ee791d7ef7e16e1c3c9c1127b57f1ed066a24f87d57fc9f730c5dc394b9d.tar.zst", .hash = "12208d70ee791d7ef7e16e1c3c9c1127b57f1ed066a24f87d57fc9f730c5dc394b9d", }, @@ -76,7 +86,7 @@ .hash = "12201a57c6ce0001aa034fa80fba3e1cd2253c560a45748f4f4dd21ff23b491cddef", }, .plasma_wayland_protocols = .{ - .url = "https://github.com/KDE/plasma-wayland-protocols/archive/db525e8f9da548cffa2ac77618dd0fbe7f511b86.tar.gz", + .url = "https://deps.files.ghostty.org/plasma_wayland_protocols-12207e0851c12acdeee0991e893e0132fc87bb763969a585dc16ecca33e88334c566.tar.gz", .hash = "12207e0851c12acdeee0991e893e0132fc87bb763969a585dc16ecca33e88334c566", }, diff --git a/build.zig.zon.nix b/build.zig.zon.nix index 4ffc264be..865c741e7 100644 --- a/build.zig.zon.nix +++ b/build.zig.zon.nix @@ -87,7 +87,7 @@ in name = "1220ebf88622c4d502dc59e71347e4d28c47e033f11b59aff774ae5787565c40999c"; path = fetchZigArtifact { name = "libxev"; - url = "https://github.com/mitchellh/libxev/archive/31eed4e337fed7b0149319e5cdbb62b848c24fbd.tar.gz"; + url = "https://deps.files.ghostty.org/libxev-1220ebf88622c4d502dc59e71347e4d28c47e033f11b59aff774ae5787565c40999c.tar.gz"; hash = "sha256-VHP90NTytIZ8UZsYRKOOxN490/I6yv6ec40sP8y5MJ8="; }; } @@ -95,7 +95,7 @@ in name = "12206ed982e709e565d536ce930701a8c07edfd2cfdce428683f3f2a601d37696a62"; path = fetchZigArtifact { name = "mach_glfw"; - url = "https://github.com/mitchellh/mach-glfw/archive/37c2995f31abcf7e8378fba68ddcf4a3faa02de0.tar.gz"; + url = "https://deps.files.ghostty.org/mach_glfw-12206ed982e709e565d536ce930701a8c07edfd2cfdce428683f3f2a601d37696a62.tar.gz"; hash = "sha256-HhXIvWUS8/CHWY4VXPG2ZEo+we8XOn3o5rYJCQ1n8Nk="; }; } @@ -143,7 +143,7 @@ in name = "12200df4ebeaed45de26cb2c9f3b6f3746d8013b604e035dae658f86f586c8c91d2f"; path = fetchZigArtifact { name = "vaxis"; - url = "https://github.com/rockorager/libvaxis/archive/6d729a2dc3b934818dffe06d2ba3ce02841ed74b.tar.gz"; + url = "https://deps.files.ghostty.org/vaxis-12200df4ebeaed45de26cb2c9f3b6f3746d8013b604e035dae658f86f586c8c91d2f.tar.gz"; hash = "sha256-OCNs6Gl2ruq5dBm4uIxs93hoXw/+n+x1+bIDfQGDx3s="; }; } @@ -167,7 +167,7 @@ in name = "12201f0d542e7541cf492a001d4d0d0155c92f58212fbcb0d224e95edeba06b5416a"; path = fetchZigArtifact { name = "z2d"; - url = "https://github.com/vancluever/z2d/archive/4638bb02a9dc41cc2fb811f092811f6a951c752a.tar.gz"; + url = "https://deps.files.ghostty.org/z2d-12201f0d542e7541cf492a001d4d0d0155c92f58212fbcb0d224e95edeba06b5416a.tar.gz"; hash = "sha256-P0UJ54RO/vVyDa+UkBl+QEOjzoMMEFSOTexQP/uBXfc="; }; } @@ -175,7 +175,7 @@ in name = "1220e17e64ef0ef561b3e4b9f3a96a2494285f2ec31c097721bf8c8677ec4415c634"; path = fetchZigArtifact { name = "zig_objc"; - url = "https://github.com/mitchellh/zig-objc/archive/9b8ba849b0f58fe207ecd6ab7c147af55b17556e.tar.gz"; + url = "https://deps.files.ghostty.org/zig_objc-1220e17e64ef0ef561b3e4b9f3a96a2494285f2ec31c097721bf8c8677ec4415c634.tar.gz"; hash = "sha256-H+HIbh2T23uzrsg9/1/vl9Ir1HCAa2pzeTx6zktJH9Q="; }; } @@ -183,7 +183,7 @@ in name = "12205a66d423259567764fa0fc60c82be35365c21aeb76c5a7dc99698401f4f6fefc"; path = fetchZigArtifact { name = "zig_js"; - url = "https://github.com/mitchellh/zig-js/archive/d0b8b0a57c52fbc89f9d9fecba75ca29da7dd7d1.tar.gz"; + url = "https://deps.files.ghostty.org/zig_js-12205a66d423259567764fa0fc60c82be35365c21aeb76c5a7dc99698401f4f6fefc.tar.gz"; hash = "sha256-fyNeCVbC9UAaKJY6JhAZlT0A479M/AKYMPIWEZbDWD0="; }; } @@ -207,7 +207,7 @@ in name = "1220edc3b8d8bedbb50555947987e5e8e2f93871ca3c8e8d4cc8f1377c15b5dd35e8"; path = fetchZigArtifact { name = "zf"; - url = "https://github.com/natecraddock/zf/archive/ed99ca18b02dda052e20ba467e90b623c04690dd.tar.gz"; + url = "https://deps.files.ghostty.org/zf-1220edc3b8d8bedbb50555947987e5e8e2f93871ca3c8e8d4cc8f1377c15b5dd35e8.tar.gz"; hash = "sha256-/oLryY3VQfjbtQi+UP+n6FJTVA/YxIetjO+6Ovrh6/E="; }; } @@ -223,7 +223,7 @@ in name = "12208d70ee791d7ef7e16e1c3c9c1127b57f1ed066a24f87d57fc9f730c5dc394b9d"; path = fetchZigArtifact { name = "gobject"; - url = "https://github.com/ianprime0509/zig-gobject/releases/download/v0.2.2/bindings-gnome47.tar.zst"; + url = "https://deps.files.ghostty.org/gobject-12208d70ee791d7ef7e16e1c3c9c1127b57f1ed066a24f87d57fc9f730c5dc394b9d.tar.zst"; hash = "sha256-UU97kNv/bZzQPKz1djhEDLapLguvfBpFfWVb6FthtcI="; }; } @@ -247,7 +247,7 @@ in name = "12207e0851c12acdeee0991e893e0132fc87bb763969a585dc16ecca33e88334c566"; path = fetchZigArtifact { name = "plasma_wayland_protocols"; - url = "https://github.com/KDE/plasma-wayland-protocols/archive/db525e8f9da548cffa2ac77618dd0fbe7f511b86.tar.gz"; + url = "https://deps.files.ghostty.org/plasma_wayland_protocols-12207e0851c12acdeee0991e893e0132fc87bb763969a585dc16ecca33e88334c566.tar.gz"; hash = "sha256-XFi6IUrNjmvKNCbcCLAixGqN2Zeymhs+KLrfccIN9EE="; }; } @@ -263,7 +263,7 @@ in name = "1220bc6b9daceaf7c8c60f3c3998058045ba0c5c5f48ae255ff97776d9cd8bfc6402"; path = fetchZigArtifact { name = "imgui"; - url = "https://github.com/ocornut/imgui/archive/e391fe2e66eb1c96b1624ae8444dc64c23146ef4.tar.gz"; + url = "https://deps.files.ghostty.org/imgui-1220bc6b9daceaf7c8c60f3c3998058045ba0c5c5f48ae255ff97776d9cd8bfc6402.tar.gz"; hash = "sha256-oF/QHgTPEat4Hig4fGIdLkIPHmBEyOJ6JeYD6pnveGA="; }; } @@ -271,7 +271,7 @@ in name = "1220b81f6ecfb3fd222f76cf9106fecfa6554ab07ec7fdc4124b9bb063ae2adf969d"; path = fetchZigArtifact { name = "freetype"; - url = "https://github.com/freetype/freetype/archive/refs/tags/VER-2-13-2.tar.gz"; + url = "https://deps.files.ghostty.org/freetype-1220b81f6ecfb3fd222f76cf9106fecfa6554ab07ec7fdc4124b9bb063ae2adf969d.tar.gz"; hash = "sha256-QnIB9dUVFnDQXB9bRb713aHy592XHvVPD+qqf/0quQw="; }; } @@ -279,7 +279,7 @@ in name = "1220aa013f0c83da3fb64ea6d327f9173fa008d10e28bc9349eac3463457723b1c66"; path = fetchZigArtifact { name = "libpng"; - url = "https://github.com/glennrp/libpng/archive/refs/tags/v1.6.43.tar.gz"; + url = "https://deps.files.ghostty.org/libpng-1220aa013f0c83da3fb64ea6d327f9173fa008d10e28bc9349eac3463457723b1c66.tar.gz"; hash = "sha256-/syVtGzwXo4/yKQUdQ4LparQDYnp/fF16U/wQcrxoDo="; }; } @@ -287,7 +287,7 @@ in name = "1220fed0c74e1019b3ee29edae2051788b080cd96e90d56836eea857b0b966742efb"; path = fetchZigArtifact { name = "zlib"; - url = "https://github.com/madler/zlib/archive/refs/tags/v1.3.1.tar.gz"; + url = "https://deps.files.ghostty.org/zlib-1220fed0c74e1019b3ee29edae2051788b080cd96e90d56836eea857b0b966742efb.tar.gz"; hash = "sha256-F+iIY/NgBnKrSRgvIXKBtvxNPHYr3jYZNeQ2qVIU0Fw="; }; } @@ -311,7 +311,7 @@ in name = "1220b8588f106c996af10249bfa092c6fb2f35fbacb1505ef477a0b04a7dd1063122"; path = fetchZigArtifact { name = "harfbuzz"; - url = "https://github.com/harfbuzz/harfbuzz/archive/refs/tags/8.4.0.tar.gz"; + url = "https://deps.files.ghostty.org/harfbuzz-1220b8588f106c996af10249bfa092c6fb2f35fbacb1505ef477a0b04a7dd1063122.tar.gz"; hash = "sha256-nxygiYE7BZRK0c6MfgGCEwJtNdybq0gKIeuHaDg5ZVY="; }; } @@ -319,7 +319,7 @@ in name = "12205c83b8311a24b1d5ae6d21640df04f4b0726e314337c043cde1432758cbe165b"; path = fetchZigArtifact { name = "highway"; - url = "https://github.com/google/highway/archive/refs/tags/1.1.0.tar.gz"; + url = "https://deps.files.ghostty.org/highway-12205c83b8311a24b1d5ae6d21640df04f4b0726e314337c043cde1432758cbe165b.tar.gz"; hash = "sha256-NUqLRTm1iOcLmOxwhEJz4/J0EwLEw3e8xOgbPRhm98k="; }; } @@ -327,7 +327,7 @@ in name = "1220c15e72eadd0d9085a8af134904d9a0f5dfcbed5f606ad60edc60ebeccd9706bb"; path = fetchZigArtifact { name = "oniguruma"; - url = "https://github.com/kkos/oniguruma/archive/refs/tags/v6.9.9.tar.gz"; + url = "https://deps.files.ghostty.org/oniguruma-1220c15e72eadd0d9085a8af134904d9a0f5dfcbed5f606ad60edc60ebeccd9706bb.tar.gz"; hash = "sha256-ABqhIC54RI9MC/GkjHblVodrNvFtks4yB+zP1h2Z8qA="; }; } @@ -335,7 +335,7 @@ in name = "1220446be831adcca918167647c06c7b825849fa3fba5f22da394667974537a9c77e"; path = fetchZigArtifact { name = "sentry"; - url = "https://github.com/getsentry/sentry-native/archive/refs/tags/0.7.8.tar.gz"; + url = "https://deps.files.ghostty.org/sentry-1220446be831adcca918167647c06c7b825849fa3fba5f22da394667974537a9c77e.tar.gz"; hash = "sha256-KsZJfMjWGo0xCT5HrduMmyxFsWsHBbszSoNbZCPDGN8="; }; } @@ -351,7 +351,7 @@ in name = "1220d4d18426ca72fc2b7e56ce47273149815501d0d2395c2a98c726b31ba931e641"; path = fetchZigArtifact { name = "utfcpp"; - url = "https://github.com/nemtrif/utfcpp/archive/refs/tags/v4.0.5.tar.gz"; + url = "https://deps.files.ghostty.org/utfcpp-1220d4d18426ca72fc2b7e56ce47273149815501d0d2395c2a98c726b31ba931e641.tar.gz"; hash = "sha256-/8ZooxDndgfTk/PBizJxXyI9oerExNbgV5oR345rWc8="; }; } @@ -359,7 +359,7 @@ in name = "122037b39d577ec2db3fd7b2130e7b69ef6cc1807d68607a7c232c958315d381b5cd"; path = fetchZigArtifact { name = "wuffs"; - url = "https://github.com/google/wuffs/archive/refs/tags/v0.4.0-alpha.9.tar.gz"; + url = "https://deps.files.ghostty.org/wuffs-122037b39d577ec2db3fd7b2130e7b69ef6cc1807d68607a7c232c958315d381b5cd.tar.gz"; hash = "sha256-nkzSCr6W5sTG7enDBXEIhgEm574uLD41UVR2wlC+HBM="; }; } @@ -367,7 +367,7 @@ in name = "12207ff340169c7d40c570b4b6a97db614fe47e0d83b5801a932dcd44917424c8806"; path = fetchZigArtifact { name = "pixels"; - url = "https://github.com/make-github-pseudonymous-again/pixels/archive/d843c2714d32e15b48b8d7eeb480295af537f877.tar.gz"; + url = "https://deps.files.ghostty.org/pixels-12207ff340169c7d40c570b4b6a97db614fe47e0d83b5801a932dcd44917424c8806.tar.gz"; hash = "sha256-Veg7FtCRCCUCvxSb9FfzH0IJLFmCZQ4/+657SIcb8Ro="; }; } @@ -375,7 +375,7 @@ in name = "12201278a1a05c0ce0b6eb6026c65cd3e9247aa041b1c260324bf29cee559dd23ba1"; path = fetchZigArtifact { name = "glslang"; - url = "https://github.com/KhronosGroup/glslang/archive/refs/tags/14.2.0.tar.gz"; + url = "https://deps.files.ghostty.org/glslang-12201278a1a05c0ce0b6eb6026c65cd3e9247aa041b1c260324bf29cee559dd23ba1.tar.gz"; hash = "sha256-FKLtu1Ccs+UamlPj9eQ12/WXFgS0uDPmPmB26MCpl7U="; }; } @@ -383,7 +383,7 @@ in name = "1220fb3b5586e8be67bc3feb34cbe749cf42a60d628d2953632c2f8141302748c8da"; path = fetchZigArtifact { name = "spirv_cross"; - url = "https://github.com/KhronosGroup/SPIRV-Cross/archive/476f384eb7d9e48613c45179e502a15ab95b6b49.tar.gz"; + url = "https://deps.files.ghostty.org/spirv_cross-1220fb3b5586e8be67bc3feb34cbe749cf42a60d628d2953632c2f8141302748c8da.tar.gz"; hash = "sha256-tStvz8Ref6abHwahNiwVVHNETizAmZVVaxVsU7pmV+M="; }; } diff --git a/build.zig.zon.txt b/build.zig.zon.txt index 4808ba6c4..4cb3b5c3e 100644 --- a/build.zig.zon.txt +++ b/build.zig.zon.txt @@ -2,37 +2,37 @@ git+https://github.com/rockorager/libvaxis/?ref=main#dc0a228a5544988d4a920cfb40b git+https://github.com/zigimg/zigimg#3a667bdb3d7f0955a5a51c8468eac83210c1439e https://codeberg.org/atman/zg/archive/v0.13.2.tar.gz https://deps.files.ghostty.org/fontconfig-2.14.2.tar.gz +https://deps.files.ghostty.org/freetype-1220b81f6ecfb3fd222f76cf9106fecfa6554ab07ec7fdc4124b9bb063ae2adf969d.tar.gz +https://deps.files.ghostty.org/glslang-12201278a1a05c0ce0b6eb6026c65cd3e9247aa041b1c260324bf29cee559dd23ba1.tar.gz +https://deps.files.ghostty.org/gobject-12208d70ee791d7ef7e16e1c3c9c1127b57f1ed066a24f87d57fc9f730c5dc394b9d.tar.zst +https://deps.files.ghostty.org/harfbuzz-1220b8588f106c996af10249bfa092c6fb2f35fbacb1505ef477a0b04a7dd1063122.tar.gz +https://deps.files.ghostty.org/highway-12205c83b8311a24b1d5ae6d21640df04f4b0726e314337c043cde1432758cbe165b.tar.gz +https://deps.files.ghostty.org/imgui-1220bc6b9daceaf7c8c60f3c3998058045ba0c5c5f48ae255ff97776d9cd8bfc6402.tar.gz +https://deps.files.ghostty.org/libpng-1220aa013f0c83da3fb64ea6d327f9173fa008d10e28bc9349eac3463457723b1c66.tar.gz +https://deps.files.ghostty.org/libxev-1220ebf88622c4d502dc59e71347e4d28c47e033f11b59aff774ae5787565c40999c.tar.gz +https://deps.files.ghostty.org/mach_glfw-12206ed982e709e565d536ce930701a8c07edfd2cfdce428683f3f2a601d37696a62.tar.gz +https://deps.files.ghostty.org/oniguruma-1220c15e72eadd0d9085a8af134904d9a0f5dfcbed5f606ad60edc60ebeccd9706bb.tar.gz +https://deps.files.ghostty.org/pixels-12207ff340169c7d40c570b4b6a97db614fe47e0d83b5801a932dcd44917424c8806.tar.gz +https://deps.files.ghostty.org/plasma_wayland_protocols-12207e0851c12acdeee0991e893e0132fc87bb763969a585dc16ecca33e88334c566.tar.gz +https://deps.files.ghostty.org/sentry-1220446be831adcca918167647c06c7b825849fa3fba5f22da394667974537a9c77e.tar.gz +https://deps.files.ghostty.org/spirv_cross-1220fb3b5586e8be67bc3feb34cbe749cf42a60d628d2953632c2f8141302748c8da.tar.gz +https://deps.files.ghostty.org/utfcpp-1220d4d18426ca72fc2b7e56ce47273149815501d0d2395c2a98c726b31ba931e641.tar.gz +https://deps.files.ghostty.org/vaxis-12200df4ebeaed45de26cb2c9f3b6f3746d8013b604e035dae658f86f586c8c91d2f.tar.gz https://deps.files.ghostty.org/wayland-9cb3d7aa9dc995ffafdbdef7ab86a949d0fb0e7d.tar.gz https://deps.files.ghostty.org/wayland-protocols-258d8f88f2c8c25a830c6316f87d23ce1a0f12d9.tar.gz +https://deps.files.ghostty.org/wuffs-122037b39d577ec2db3fd7b2130e7b69ef6cc1807d68607a7c232c958315d381b5cd.tar.gz +https://deps.files.ghostty.org/z2d-12201f0d542e7541cf492a001d4d0d0155c92f58212fbcb0d224e95edeba06b5416a.tar.gz +https://deps.files.ghostty.org/zf-1220edc3b8d8bedbb50555947987e5e8e2f93871ca3c8e8d4cc8f1377c15b5dd35e8.tar.gz https://deps.files.ghostty.org/zig-wayland-fbfe3b4ac0b472a27b1f1a67405436c58cbee12d.tar.gz +https://deps.files.ghostty.org/zig_js-12205a66d423259567764fa0fc60c82be35365c21aeb76c5a7dc99698401f4f6fefc.tar.gz +https://deps.files.ghostty.org/zig_objc-1220e17e64ef0ef561b3e4b9f3a96a2494285f2ec31c097721bf8c8677ec4415c634.tar.gz https://deps.files.ghostty.org/ziglyph-b89d43d1e3fb01b6074bc1f7fc980324b04d26a5.tar.gz +https://deps.files.ghostty.org/zlib-1220fed0c74e1019b3ee29edae2051788b080cd96e90d56836eea857b0b966742efb.tar.gz https://github.com/GNOME/libxml2/archive/refs/tags/v2.11.5.tar.gz -https://github.com/KDE/plasma-wayland-protocols/archive/db525e8f9da548cffa2ac77618dd0fbe7f511b86.tar.gz -https://github.com/KhronosGroup/SPIRV-Cross/archive/476f384eb7d9e48613c45179e502a15ab95b6b49.tar.gz -https://github.com/KhronosGroup/glslang/archive/refs/tags/14.2.0.tar.gz -https://github.com/freetype/freetype/archive/refs/tags/VER-2-13-2.tar.gz https://github.com/getsentry/breakpad/archive/b99f444ba5f6b98cac261cbb391d8766b34a5918.tar.gz -https://github.com/getsentry/sentry-native/archive/refs/tags/0.7.8.tar.gz -https://github.com/glennrp/libpng/archive/refs/tags/v1.6.43.tar.gz -https://github.com/google/highway/archive/refs/tags/1.1.0.tar.gz -https://github.com/google/wuffs/archive/refs/tags/v0.4.0-alpha.9.tar.gz -https://github.com/harfbuzz/harfbuzz/archive/refs/tags/8.4.0.tar.gz -https://github.com/ianprime0509/zig-gobject/releases/download/v0.2.2/bindings-gnome47.tar.zst -https://github.com/kkos/oniguruma/archive/refs/tags/v6.9.9.tar.gz -https://github.com/madler/zlib/archive/refs/tags/v1.3.1.tar.gz -https://github.com/make-github-pseudonymous-again/pixels/archive/d843c2714d32e15b48b8d7eeb480295af537f877.tar.gz https://github.com/mbadolato/iTerm2-Color-Schemes/archive/db227d159adc265818f2e898da0f70ef8d7b580e.tar.gz https://github.com/mitchellh/glfw/archive/b552c6ec47326b94015feddb36058ea567b87159.tar.gz -https://github.com/mitchellh/libxev/archive/31eed4e337fed7b0149319e5cdbb62b848c24fbd.tar.gz -https://github.com/mitchellh/mach-glfw/archive/37c2995f31abcf7e8378fba68ddcf4a3faa02de0.tar.gz https://github.com/mitchellh/vulkan-headers/archive/04c8a0389d5a0236a96312988017cd4ce27d8041.tar.gz https://github.com/mitchellh/wayland-headers/archive/5f991515a29f994d87b908115a2ab0b899474bd1.tar.gz https://github.com/mitchellh/x11-headers/archive/2ffbd62d82ff73ec929dd8de802bc95effa0ef88.tar.gz https://github.com/mitchellh/xcode-frameworks/archive/69801c154c39d7ae6129ea1ba8fe1afe00585fc8.tar.gz -https://github.com/mitchellh/zig-js/archive/d0b8b0a57c52fbc89f9d9fecba75ca29da7dd7d1.tar.gz -https://github.com/mitchellh/zig-objc/archive/9b8ba849b0f58fe207ecd6ab7c147af55b17556e.tar.gz -https://github.com/natecraddock/zf/archive/ed99ca18b02dda052e20ba467e90b623c04690dd.tar.gz -https://github.com/nemtrif/utfcpp/archive/refs/tags/v4.0.5.tar.gz -https://github.com/ocornut/imgui/archive/e391fe2e66eb1c96b1624ae8444dc64c23146ef4.tar.gz -https://github.com/rockorager/libvaxis/archive/6d729a2dc3b934818dffe06d2ba3ce02841ed74b.tar.gz -https://github.com/vancluever/z2d/archive/4638bb02a9dc41cc2fb811f092811f6a951c752a.tar.gz diff --git a/build.zig.zon2json-lock b/build.zig.zon2json-lock index c4ad47795..53d7ce111 100644 --- a/build.zig.zon2json-lock +++ b/build.zig.zon2json-lock @@ -1,12 +1,12 @@ { "1220ebf88622c4d502dc59e71347e4d28c47e033f11b59aff774ae5787565c40999c": { "name": "libxev", - "url": "https://github.com/mitchellh/libxev/archive/31eed4e337fed7b0149319e5cdbb62b848c24fbd.tar.gz", + "url": "https://deps.files.ghostty.org/libxev-1220ebf88622c4d502dc59e71347e4d28c47e033f11b59aff774ae5787565c40999c.tar.gz", "hash": "sha256-VHP90NTytIZ8UZsYRKOOxN490/I6yv6ec40sP8y5MJ8=" }, "12206ed982e709e565d536ce930701a8c07edfd2cfdce428683f3f2a601d37696a62": { "name": "mach_glfw", - "url": "https://github.com/mitchellh/mach-glfw/archive/37c2995f31abcf7e8378fba68ddcf4a3faa02de0.tar.gz", + "url": "https://deps.files.ghostty.org/mach_glfw-12206ed982e709e565d536ce930701a8c07edfd2cfdce428683f3f2a601d37696a62.tar.gz", "hash": "sha256-HhXIvWUS8/CHWY4VXPG2ZEo+we8XOn3o5rYJCQ1n8Nk=" }, "1220736fa4ba211162c7a0e46cc8fe04d95921927688bff64ab5da7420d098a7272d": { @@ -36,7 +36,7 @@ }, "12200df4ebeaed45de26cb2c9f3b6f3746d8013b604e035dae658f86f586c8c91d2f": { "name": "vaxis", - "url": "https://github.com/rockorager/libvaxis/archive/6d729a2dc3b934818dffe06d2ba3ce02841ed74b.tar.gz", + "url": "https://deps.files.ghostty.org/vaxis-12200df4ebeaed45de26cb2c9f3b6f3746d8013b604e035dae658f86f586c8c91d2f.tar.gz", "hash": "sha256-OCNs6Gl2ruq5dBm4uIxs93hoXw/+n+x1+bIDfQGDx3s=" }, "1220dd654ef941fc76fd96f9ec6adadf83f69b9887a0d3f4ee5ac0a1a3e11be35cf5": { @@ -51,17 +51,17 @@ }, "12201f0d542e7541cf492a001d4d0d0155c92f58212fbcb0d224e95edeba06b5416a": { "name": "z2d", - "url": "https://github.com/vancluever/z2d/archive/4638bb02a9dc41cc2fb811f092811f6a951c752a.tar.gz", + "url": "https://deps.files.ghostty.org/z2d-12201f0d542e7541cf492a001d4d0d0155c92f58212fbcb0d224e95edeba06b5416a.tar.gz", "hash": "sha256-P0UJ54RO/vVyDa+UkBl+QEOjzoMMEFSOTexQP/uBXfc=" }, "1220e17e64ef0ef561b3e4b9f3a96a2494285f2ec31c097721bf8c8677ec4415c634": { "name": "zig_objc", - "url": "https://github.com/mitchellh/zig-objc/archive/9b8ba849b0f58fe207ecd6ab7c147af55b17556e.tar.gz", + "url": "https://deps.files.ghostty.org/zig_objc-1220e17e64ef0ef561b3e4b9f3a96a2494285f2ec31c097721bf8c8677ec4415c634.tar.gz", "hash": "sha256-H+HIbh2T23uzrsg9/1/vl9Ir1HCAa2pzeTx6zktJH9Q=" }, "12205a66d423259567764fa0fc60c82be35365c21aeb76c5a7dc99698401f4f6fefc": { "name": "zig_js", - "url": "https://github.com/mitchellh/zig-js/archive/d0b8b0a57c52fbc89f9d9fecba75ca29da7dd7d1.tar.gz", + "url": "https://deps.files.ghostty.org/zig_js-12205a66d423259567764fa0fc60c82be35365c21aeb76c5a7dc99698401f4f6fefc.tar.gz", "hash": "sha256-fyNeCVbC9UAaKJY6JhAZlT0A479M/AKYMPIWEZbDWD0=" }, "12207831bce7d4abce57b5a98e8f3635811cfefd160bca022eb91fe905d36a02cf25": { @@ -76,7 +76,7 @@ }, "1220edc3b8d8bedbb50555947987e5e8e2f93871ca3c8e8d4cc8f1377c15b5dd35e8": { "name": "zf", - "url": "https://github.com/natecraddock/zf/archive/ed99ca18b02dda052e20ba467e90b623c04690dd.tar.gz", + "url": "https://deps.files.ghostty.org/zf-1220edc3b8d8bedbb50555947987e5e8e2f93871ca3c8e8d4cc8f1377c15b5dd35e8.tar.gz", "hash": "sha256-/oLryY3VQfjbtQi+UP+n6FJTVA/YxIetjO+6Ovrh6/E=" }, "1220c72c1697dd9008461ead702997a15d8a1c5810247f02e7983b9f74c6c6e4c087": { @@ -86,7 +86,7 @@ }, "12208d70ee791d7ef7e16e1c3c9c1127b57f1ed066a24f87d57fc9f730c5dc394b9d": { "name": "gobject", - "url": "https://github.com/ianprime0509/zig-gobject/releases/download/v0.2.2/bindings-gnome47.tar.zst", + "url": "https://deps.files.ghostty.org/gobject-12208d70ee791d7ef7e16e1c3c9c1127b57f1ed066a24f87d57fc9f730c5dc394b9d.tar.zst", "hash": "sha256-UU97kNv/bZzQPKz1djhEDLapLguvfBpFfWVb6FthtcI=" }, "12202cdac858abc52413a6c6711d5026d2d3c8e13f95ca2c327eade0736298bb021f": { @@ -101,7 +101,7 @@ }, "12207e0851c12acdeee0991e893e0132fc87bb763969a585dc16ecca33e88334c566": { "name": "plasma_wayland_protocols", - "url": "https://github.com/KDE/plasma-wayland-protocols/archive/db525e8f9da548cffa2ac77618dd0fbe7f511b86.tar.gz", + "url": "https://deps.files.ghostty.org/plasma_wayland_protocols-12207e0851c12acdeee0991e893e0132fc87bb763969a585dc16ecca33e88334c566.tar.gz", "hash": "sha256-XFi6IUrNjmvKNCbcCLAixGqN2Zeymhs+KLrfccIN9EE=" }, "12203d2647e5daf36a9c85b969e03f422540786ce9ea624eb4c26d204fe1f46218f3": { @@ -111,22 +111,22 @@ }, "1220bc6b9daceaf7c8c60f3c3998058045ba0c5c5f48ae255ff97776d9cd8bfc6402": { "name": "imgui", - "url": "https://github.com/ocornut/imgui/archive/e391fe2e66eb1c96b1624ae8444dc64c23146ef4.tar.gz", + "url": "https://deps.files.ghostty.org/imgui-1220bc6b9daceaf7c8c60f3c3998058045ba0c5c5f48ae255ff97776d9cd8bfc6402.tar.gz", "hash": "sha256-oF/QHgTPEat4Hig4fGIdLkIPHmBEyOJ6JeYD6pnveGA=" }, "1220b81f6ecfb3fd222f76cf9106fecfa6554ab07ec7fdc4124b9bb063ae2adf969d": { "name": "freetype", - "url": "https://github.com/freetype/freetype/archive/refs/tags/VER-2-13-2.tar.gz", + "url": "https://deps.files.ghostty.org/freetype-1220b81f6ecfb3fd222f76cf9106fecfa6554ab07ec7fdc4124b9bb063ae2adf969d.tar.gz", "hash": "sha256-QnIB9dUVFnDQXB9bRb713aHy592XHvVPD+qqf/0quQw=" }, "1220aa013f0c83da3fb64ea6d327f9173fa008d10e28bc9349eac3463457723b1c66": { "name": "libpng", - "url": "https://github.com/glennrp/libpng/archive/refs/tags/v1.6.43.tar.gz", + "url": "https://deps.files.ghostty.org/libpng-1220aa013f0c83da3fb64ea6d327f9173fa008d10e28bc9349eac3463457723b1c66.tar.gz", "hash": "sha256-/syVtGzwXo4/yKQUdQ4LparQDYnp/fF16U/wQcrxoDo=" }, "1220fed0c74e1019b3ee29edae2051788b080cd96e90d56836eea857b0b966742efb": { "name": "zlib", - "url": "https://github.com/madler/zlib/archive/refs/tags/v1.3.1.tar.gz", + "url": "https://deps.files.ghostty.org/zlib-1220fed0c74e1019b3ee29edae2051788b080cd96e90d56836eea857b0b966742efb.tar.gz", "hash": "sha256-F+iIY/NgBnKrSRgvIXKBtvxNPHYr3jYZNeQ2qVIU0Fw=" }, "12201149afb3326c56c05bb0a577f54f76ac20deece63aa2f5cd6ff31a4fa4fcb3b7": { @@ -141,22 +141,22 @@ }, "1220b8588f106c996af10249bfa092c6fb2f35fbacb1505ef477a0b04a7dd1063122": { "name": "harfbuzz", - "url": "https://github.com/harfbuzz/harfbuzz/archive/refs/tags/8.4.0.tar.gz", + "url": "https://deps.files.ghostty.org/harfbuzz-1220b8588f106c996af10249bfa092c6fb2f35fbacb1505ef477a0b04a7dd1063122.tar.gz", "hash": "sha256-nxygiYE7BZRK0c6MfgGCEwJtNdybq0gKIeuHaDg5ZVY=" }, "12205c83b8311a24b1d5ae6d21640df04f4b0726e314337c043cde1432758cbe165b": { "name": "highway", - "url": "https://github.com/google/highway/archive/refs/tags/1.1.0.tar.gz", + "url": "https://deps.files.ghostty.org/highway-12205c83b8311a24b1d5ae6d21640df04f4b0726e314337c043cde1432758cbe165b.tar.gz", "hash": "sha256-NUqLRTm1iOcLmOxwhEJz4/J0EwLEw3e8xOgbPRhm98k=" }, "1220c15e72eadd0d9085a8af134904d9a0f5dfcbed5f606ad60edc60ebeccd9706bb": { "name": "oniguruma", - "url": "https://github.com/kkos/oniguruma/archive/refs/tags/v6.9.9.tar.gz", + "url": "https://deps.files.ghostty.org/oniguruma-1220c15e72eadd0d9085a8af134904d9a0f5dfcbed5f606ad60edc60ebeccd9706bb.tar.gz", "hash": "sha256-ABqhIC54RI9MC/GkjHblVodrNvFtks4yB+zP1h2Z8qA=" }, "1220446be831adcca918167647c06c7b825849fa3fba5f22da394667974537a9c77e": { "name": "sentry", - "url": "https://github.com/getsentry/sentry-native/archive/refs/tags/0.7.8.tar.gz", + "url": "https://deps.files.ghostty.org/sentry-1220446be831adcca918167647c06c7b825849fa3fba5f22da394667974537a9c77e.tar.gz", "hash": "sha256-KsZJfMjWGo0xCT5HrduMmyxFsWsHBbszSoNbZCPDGN8=" }, "12207fd37bb8251919c112dcdd8f616a491857b34a451f7e4486490077206dc2a1ea": { @@ -166,27 +166,27 @@ }, "1220d4d18426ca72fc2b7e56ce47273149815501d0d2395c2a98c726b31ba931e641": { "name": "utfcpp", - "url": "https://github.com/nemtrif/utfcpp/archive/refs/tags/v4.0.5.tar.gz", + "url": "https://deps.files.ghostty.org/utfcpp-1220d4d18426ca72fc2b7e56ce47273149815501d0d2395c2a98c726b31ba931e641.tar.gz", "hash": "sha256-/8ZooxDndgfTk/PBizJxXyI9oerExNbgV5oR345rWc8=" }, "122037b39d577ec2db3fd7b2130e7b69ef6cc1807d68607a7c232c958315d381b5cd": { "name": "wuffs", - "url": "https://github.com/google/wuffs/archive/refs/tags/v0.4.0-alpha.9.tar.gz", + "url": "https://deps.files.ghostty.org/wuffs-122037b39d577ec2db3fd7b2130e7b69ef6cc1807d68607a7c232c958315d381b5cd.tar.gz", "hash": "sha256-nkzSCr6W5sTG7enDBXEIhgEm574uLD41UVR2wlC+HBM=" }, "12207ff340169c7d40c570b4b6a97db614fe47e0d83b5801a932dcd44917424c8806": { "name": "pixels", - "url": "https://github.com/make-github-pseudonymous-again/pixels/archive/d843c2714d32e15b48b8d7eeb480295af537f877.tar.gz", + "url": "https://deps.files.ghostty.org/pixels-12207ff340169c7d40c570b4b6a97db614fe47e0d83b5801a932dcd44917424c8806.tar.gz", "hash": "sha256-Veg7FtCRCCUCvxSb9FfzH0IJLFmCZQ4/+657SIcb8Ro=" }, "12201278a1a05c0ce0b6eb6026c65cd3e9247aa041b1c260324bf29cee559dd23ba1": { "name": "glslang", - "url": "https://github.com/KhronosGroup/glslang/archive/refs/tags/14.2.0.tar.gz", + "url": "https://deps.files.ghostty.org/glslang-12201278a1a05c0ce0b6eb6026c65cd3e9247aa041b1c260324bf29cee559dd23ba1.tar.gz", "hash": "sha256-FKLtu1Ccs+UamlPj9eQ12/WXFgS0uDPmPmB26MCpl7U=" }, "1220fb3b5586e8be67bc3feb34cbe749cf42a60d628d2953632c2f8141302748c8da": { "name": "spirv_cross", - "url": "https://github.com/KhronosGroup/SPIRV-Cross/archive/476f384eb7d9e48613c45179e502a15ab95b6b49.tar.gz", + "url": "https://deps.files.ghostty.org/spirv_cross-1220fb3b5586e8be67bc3feb34cbe749cf42a60d628d2953632c2f8141302748c8da.tar.gz", "hash": "sha256-tStvz8Ref6abHwahNiwVVHNETizAmZVVaxVsU7pmV+M=" } } diff --git a/nix/build-support/update-mirror.sh b/nix/build-support/update-mirror.sh new file mode 100755 index 000000000..35fd841e2 --- /dev/null +++ b/nix/build-support/update-mirror.sh @@ -0,0 +1,30 @@ +#!/bin/sh +# +# This script generates a directory that can be uploaded to blob +# storage to mirror our dependencies. The dependencies are unmodified +# so their checksum and content hashes will match. + +set -e # Exit immediately if a command exits with a non-zero status + +SCRIPT_PATH="$(CDPATH= cd -- "$(dirname -- "$0")" && pwd)" +INPUT_FILE="$SCRIPT_PATH/../../build.zig.zon2json-lock" +OUTPUT_DIR="blob" + +# Ensure the output directory exists +mkdir -p "$OUTPUT_DIR" + +# Use jq to iterate over the JSON and download files +jq -r 'to_entries[] | "\(.key) \(.value.name) \(.value.url)"' "$INPUT_FILE" | while read -r key name url; do + # Skip URLs that don't start with http(s). They aren't necessary for + # our mirror. + if ! echo "$url" | grep -Eq "^https?://"; then + continue + fi + + # Extract the file extension from the URL + extension=$(echo "$url" | grep -oE '\.[a-z0-9]+(\.[a-z0-9]+)?$') + + filename="${name}-${key}${extension}" + echo "$url -> $filename" + curl -L -o "$OUTPUT_DIR/$filename" "$url" +done diff --git a/pkg/cimgui/build.zig.zon b/pkg/cimgui/build.zig.zon index 2f2c9cfa0..d5d90b132 100644 --- a/pkg/cimgui/build.zig.zon +++ b/pkg/cimgui/build.zig.zon @@ -6,7 +6,8 @@ // This should be kept in sync with the submodule in the cimgui source // code in ./vendor/ to be safe that they're compatible. .imgui = .{ - .url = "https://github.com/ocornut/imgui/archive/e391fe2e66eb1c96b1624ae8444dc64c23146ef4.tar.gz", + // ocornut/imgui + .url = "https://deps.files.ghostty.org/imgui-1220bc6b9daceaf7c8c60f3c3998058045ba0c5c5f48ae255ff97776d9cd8bfc6402.tar.gz", .hash = "1220bc6b9daceaf7c8c60f3c3998058045ba0c5c5f48ae255ff97776d9cd8bfc6402", }, diff --git a/pkg/freetype/build.zig.zon b/pkg/freetype/build.zig.zon index 5c6538fd5..581666dd9 100644 --- a/pkg/freetype/build.zig.zon +++ b/pkg/freetype/build.zig.zon @@ -3,8 +3,9 @@ .version = "2.13.2", .paths = .{""}, .dependencies = .{ + // freetype/freetype .freetype = .{ - .url = "https://github.com/freetype/freetype/archive/refs/tags/VER-2-13-2.tar.gz", + .url = "https://deps.files.ghostty.org/freetype-1220b81f6ecfb3fd222f76cf9106fecfa6554ab07ec7fdc4124b9bb063ae2adf969d.tar.gz", .hash = "1220b81f6ecfb3fd222f76cf9106fecfa6554ab07ec7fdc4124b9bb063ae2adf969d", }, diff --git a/pkg/glslang/build.zig.zon b/pkg/glslang/build.zig.zon index f80552d4f..091276502 100644 --- a/pkg/glslang/build.zig.zon +++ b/pkg/glslang/build.zig.zon @@ -3,8 +3,9 @@ .version = "14.2.0", .paths = .{""}, .dependencies = .{ + // KhronosGroup/glslang .glslang = .{ - .url = "https://github.com/KhronosGroup/glslang/archive/refs/tags/14.2.0.tar.gz", + .url = "https://deps.files.ghostty.org/glslang-12201278a1a05c0ce0b6eb6026c65cd3e9247aa041b1c260324bf29cee559dd23ba1.tar.gz", .hash = "12201278a1a05c0ce0b6eb6026c65cd3e9247aa041b1c260324bf29cee559dd23ba1", }, diff --git a/pkg/harfbuzz/build.zig.zon b/pkg/harfbuzz/build.zig.zon index dc036f09d..41f2b4e4f 100644 --- a/pkg/harfbuzz/build.zig.zon +++ b/pkg/harfbuzz/build.zig.zon @@ -3,8 +3,9 @@ .version = "8.4.0", .paths = .{""}, .dependencies = .{ + // harfbuzz/harfbuzz .harfbuzz = .{ - .url = "https://github.com/harfbuzz/harfbuzz/archive/refs/tags/8.4.0.tar.gz", + .url = "https://deps.files.ghostty.org/harfbuzz-1220b8588f106c996af10249bfa092c6fb2f35fbacb1505ef477a0b04a7dd1063122.tar.gz", .hash = "1220b8588f106c996af10249bfa092c6fb2f35fbacb1505ef477a0b04a7dd1063122", }, diff --git a/pkg/highway/build.zig.zon b/pkg/highway/build.zig.zon index c8bc405f8..da631f93d 100644 --- a/pkg/highway/build.zig.zon +++ b/pkg/highway/build.zig.zon @@ -3,8 +3,9 @@ .version = "1.1.0", .paths = .{""}, .dependencies = .{ + // google/highway .highway = .{ - .url = "https://github.com/google/highway/archive/refs/tags/1.1.0.tar.gz", + .url = "https://deps.files.ghostty.org/highway-12205c83b8311a24b1d5ae6d21640df04f4b0726e314337c043cde1432758cbe165b.tar.gz", .hash = "12205c83b8311a24b1d5ae6d21640df04f4b0726e314337c043cde1432758cbe165b", }, diff --git a/pkg/libpng/build.zig.zon b/pkg/libpng/build.zig.zon index dc9bd3712..be37d8c09 100644 --- a/pkg/libpng/build.zig.zon +++ b/pkg/libpng/build.zig.zon @@ -3,8 +3,9 @@ .version = "1.6.43", .paths = .{""}, .dependencies = .{ + // glennrp/libpng .libpng = .{ - .url = "https://github.com/glennrp/libpng/archive/refs/tags/v1.6.43.tar.gz", + .url = "https://deps.files.ghostty.org/libpng-1220aa013f0c83da3fb64ea6d327f9173fa008d10e28bc9349eac3463457723b1c66.tar.gz", .hash = "1220aa013f0c83da3fb64ea6d327f9173fa008d10e28bc9349eac3463457723b1c66", }, diff --git a/pkg/oniguruma/build.zig.zon b/pkg/oniguruma/build.zig.zon index 2120f77ae..b1ba96dc8 100644 --- a/pkg/oniguruma/build.zig.zon +++ b/pkg/oniguruma/build.zig.zon @@ -3,8 +3,9 @@ .version = "6.9.9", .paths = .{""}, .dependencies = .{ + // kkos/oniguruma .oniguruma = .{ - .url = "https://github.com/kkos/oniguruma/archive/refs/tags/v6.9.9.tar.gz", + .url = "https://deps.files.ghostty.org/oniguruma-1220c15e72eadd0d9085a8af134904d9a0f5dfcbed5f606ad60edc60ebeccd9706bb.tar.gz", .hash = "1220c15e72eadd0d9085a8af134904d9a0f5dfcbed5f606ad60edc60ebeccd9706bb", }, diff --git a/pkg/sentry/build.zig.zon b/pkg/sentry/build.zig.zon index 385cd69d8..8d1162cb4 100644 --- a/pkg/sentry/build.zig.zon +++ b/pkg/sentry/build.zig.zon @@ -3,8 +3,9 @@ .version = "0.7.8", .paths = .{""}, .dependencies = .{ + // getsentry/sentry-native .sentry = .{ - .url = "https://github.com/getsentry/sentry-native/archive/refs/tags/0.7.8.tar.gz", + .url = "https://deps.files.ghostty.org/sentry-1220446be831adcca918167647c06c7b825849fa3fba5f22da394667974537a9c77e.tar.gz", .hash = "1220446be831adcca918167647c06c7b825849fa3fba5f22da394667974537a9c77e", }, diff --git a/pkg/spirv-cross/build.zig.zon b/pkg/spirv-cross/build.zig.zon index 39fcac529..dedf5e964 100644 --- a/pkg/spirv-cross/build.zig.zon +++ b/pkg/spirv-cross/build.zig.zon @@ -3,8 +3,9 @@ .version = "13.1.1", .paths = .{""}, .dependencies = .{ + // KhronosGroup/SPIRV-Cross .spirv_cross = .{ - .url = "https://github.com/KhronosGroup/SPIRV-Cross/archive/476f384eb7d9e48613c45179e502a15ab95b6b49.tar.gz", + .url = "https://deps.files.ghostty.org/spirv_cross-1220fb3b5586e8be67bc3feb34cbe749cf42a60d628d2953632c2f8141302748c8da.tar.gz", .hash = "1220fb3b5586e8be67bc3feb34cbe749cf42a60d628d2953632c2f8141302748c8da", }, diff --git a/pkg/utfcpp/build.zig.zon b/pkg/utfcpp/build.zig.zon index e56d77f19..795a02749 100644 --- a/pkg/utfcpp/build.zig.zon +++ b/pkg/utfcpp/build.zig.zon @@ -3,8 +3,9 @@ .version = "4.0.5", .paths = .{""}, .dependencies = .{ + // nemtrif/utfcpp .utfcpp = .{ - .url = "https://github.com/nemtrif/utfcpp/archive/refs/tags/v4.0.5.tar.gz", + .url = "https://deps.files.ghostty.org/utfcpp-1220d4d18426ca72fc2b7e56ce47273149815501d0d2395c2a98c726b31ba931e641.tar.gz", .hash = "1220d4d18426ca72fc2b7e56ce47273149815501d0d2395c2a98c726b31ba931e641", }, diff --git a/pkg/wuffs/build.zig.zon b/pkg/wuffs/build.zig.zon index dc35b22cd..caa28f1c6 100644 --- a/pkg/wuffs/build.zig.zon +++ b/pkg/wuffs/build.zig.zon @@ -2,13 +2,15 @@ .name = "wuffs", .version = "0.0.0", .dependencies = .{ + // google/wuffs .wuffs = .{ - .url = "https://github.com/google/wuffs/archive/refs/tags/v0.4.0-alpha.9.tar.gz", + .url = "https://deps.files.ghostty.org/wuffs-122037b39d577ec2db3fd7b2130e7b69ef6cc1807d68607a7c232c958315d381b5cd.tar.gz", .hash = "122037b39d577ec2db3fd7b2130e7b69ef6cc1807d68607a7c232c958315d381b5cd", }, + // make-github-pseudonymous-again/pixels .pixels = .{ - .url = "https://github.com/make-github-pseudonymous-again/pixels/archive/d843c2714d32e15b48b8d7eeb480295af537f877.tar.gz", + .url = "https://deps.files.ghostty.org/pixels-12207ff340169c7d40c570b4b6a97db614fe47e0d83b5801a932dcd44917424c8806.tar.gz", .hash = "12207ff340169c7d40c570b4b6a97db614fe47e0d83b5801a932dcd44917424c8806", }, diff --git a/pkg/zlib/build.zig.zon b/pkg/zlib/build.zig.zon index 94aa184de..43176352a 100644 --- a/pkg/zlib/build.zig.zon +++ b/pkg/zlib/build.zig.zon @@ -3,8 +3,9 @@ .version = "1.3.1", .paths = .{""}, .dependencies = .{ + // madler/zlib .zlib = .{ - .url = "https://github.com/madler/zlib/archive/refs/tags/v1.3.1.tar.gz", + .url = "https://deps.files.ghostty.org/zlib-1220fed0c74e1019b3ee29edae2051788b080cd96e90d56836eea857b0b966742efb.tar.gz", .hash = "1220fed0c74e1019b3ee29edae2051788b080cd96e90d56836eea857b0b966742efb", }, From a581955b9b7622f07e94b1736d2a26511a12e0fa Mon Sep 17 00:00:00 2001 From: Aswin M Prabhu Date: Wed, 1 Jan 2025 01:01:42 +0530 Subject: [PATCH 268/365] Add tab title rename feature to macos --- include/ghostty.h | 1 + macos/Sources/App/macOS/AppDelegate.swift | 2 + macos/Sources/App/macOS/MainMenu.xib | 8 +++ macos/Sources/Ghostty/Ghostty.App.swift | 23 ++++++++ .../Sources/Ghostty/SurfaceView_AppKit.swift | 55 +++++++++++++++++++ src/Surface.zig | 6 ++ src/apprt/action.zig | 7 ++- src/apprt/glfw.zig | 1 + src/apprt/gtk/App.zig | 1 + src/input/Binding.zig | 5 ++ 10 files changed, 108 insertions(+), 1 deletion(-) diff --git a/include/ghostty.h b/include/ghostty.h index c71831efe..86de4266d 100644 --- a/include/ghostty.h +++ b/include/ghostty.h @@ -586,6 +586,7 @@ typedef enum { GHOSTTY_ACTION_RENDER_INSPECTOR, GHOSTTY_ACTION_DESKTOP_NOTIFICATION, GHOSTTY_ACTION_SET_TITLE, + GHOSTTY_ACTION_PROMPT_TITLE, GHOSTTY_ACTION_PWD, GHOSTTY_ACTION_MOUSE_SHAPE, GHOSTTY_ACTION_MOUSE_VISIBILITY, diff --git a/macos/Sources/App/macOS/AppDelegate.swift b/macos/Sources/App/macOS/AppDelegate.swift index 09a86de1f..dc3a03e9d 100644 --- a/macos/Sources/App/macOS/AppDelegate.swift +++ b/macos/Sources/App/macOS/AppDelegate.swift @@ -52,6 +52,7 @@ class AppDelegate: NSObject, @IBOutlet private var menuIncreaseFontSize: NSMenuItem? @IBOutlet private var menuDecreaseFontSize: NSMenuItem? @IBOutlet private var menuResetFontSize: NSMenuItem? + @IBOutlet private var menuChangeTitle: NSMenuItem? @IBOutlet private var menuQuickTerminal: NSMenuItem? @IBOutlet private var menuTerminalInspector: NSMenuItem? @@ -384,6 +385,7 @@ class AppDelegate: NSObject, syncMenuShortcut(config, action: "increase_font_size:1", menuItem: self.menuIncreaseFontSize) syncMenuShortcut(config, action: "decrease_font_size:1", menuItem: self.menuDecreaseFontSize) syncMenuShortcut(config, action: "reset_font_size", menuItem: self.menuResetFontSize) + syncMenuShortcut(config, action: "change_title_prompt", menuItem: self.menuChangeTitle) syncMenuShortcut(config, action: "toggle_quick_terminal", menuItem: self.menuQuickTerminal) syncMenuShortcut(config, action: "toggle_visibility", menuItem: self.menuToggleVisibility) syncMenuShortcut(config, action: "inspector:toggle", menuItem: self.menuTerminalInspector) diff --git a/macos/Sources/App/macOS/MainMenu.xib b/macos/Sources/App/macOS/MainMenu.xib index 4a01d5c62..22211cabe 100644 --- a/macos/Sources/App/macOS/MainMenu.xib +++ b/macos/Sources/App/macOS/MainMenu.xib @@ -14,6 +14,7 @@ + @@ -232,6 +233,13 @@ + + + + + + + diff --git a/macos/Sources/Ghostty/Ghostty.App.swift b/macos/Sources/Ghostty/Ghostty.App.swift index 968debd09..ba249e3d1 100644 --- a/macos/Sources/Ghostty/Ghostty.App.swift +++ b/macos/Sources/Ghostty/Ghostty.App.swift @@ -484,6 +484,9 @@ extension Ghostty { case GHOSTTY_ACTION_SET_TITLE: setTitle(app, target: target, v: action.action.set_title) + case GHOSTTY_ACTION_PROMPT_TITLE: + return promptTitle(app, target: target) + case GHOSTTY_ACTION_PWD: pwdChanged(app, target: target, v: action.action.pwd) @@ -1007,6 +1010,26 @@ extension Ghostty { } } + private static func promptTitle( + _ app: ghostty_app_t, + target: ghostty_target_s) -> Bool { + switch (target.tag) { + case GHOSTTY_TARGET_APP: + Ghostty.logger.warning("set title prompt does nothing with an app target") + return false + + case GHOSTTY_TARGET_SURFACE: + guard let surface = target.target.surface else { return false } + guard let surfaceView = self.surfaceView(from: surface) else { return false } + surfaceView.promptTitle() + + default: + assertionFailure() + } + + return true + } + private static func pwdChanged( _ app: ghostty_app_t, target: ghostty_target_s, diff --git a/macos/Sources/Ghostty/SurfaceView_AppKit.swift b/macos/Sources/Ghostty/SurfaceView_AppKit.swift index 0adc11fa4..daa2ccfde 100644 --- a/macos/Sources/Ghostty/SurfaceView_AppKit.swift +++ b/macos/Sources/Ghostty/SurfaceView_AppKit.swift @@ -124,6 +124,11 @@ extension Ghostty { // A timer to fallback to ghost emoji if no title is set within the grace period private var titleFallbackTimer: Timer? + // This is the title from the terminal. This is nil if we're currently using + // the terminal title as the main title property. If the title is set manually + // by the user, this is set to the prior value (which may be empty, but non-nil). + private var titleFromTerminal: String? + /// Event monitor (see individual events for why) private var eventMonitor: Any? = nil @@ -380,6 +385,45 @@ extension Ghostty { NSCursor.setHiddenUntilMouseMoves(!visible) } + /// Set the title by prompting the user. + func promptTitle() { + // Create an alert dialog + let alert = NSAlert() + alert.messageText = "Change Terminal Title" + alert.informativeText = "Leave blank to restore the default." + alert.alertStyle = .informational + + // Add a text field to the alert + let textField = NSTextField(frame: NSRect(x: 0, y: 0, width: 250, height: 24)) + textField.stringValue = title + alert.accessoryView = textField + + // Add buttons + alert.addButton(withTitle: "OK") + alert.addButton(withTitle: "Cancel") + + let response = alert.runModal() + + // Check if the user clicked "OK" + if response == .alertFirstButtonReturn { + // Get the input text + let newTitle = textField.stringValue + + if newTitle.isEmpty { + // Empty means that user wants the title to be set automatically + // We also need to reload the config for the "title" property to be + // used again by this tab. + let prevTitle = titleFromTerminal ?? "👻" + titleFromTerminal = nil + setTitle(prevTitle) + } else { + // Set the title and prevent it from being changed automatically + titleFromTerminal = title + title = newTitle + } + } + } + func setTitle(_ title: String) { // This fixes an issue where very quick changes to the title could // cause an unpleasant flickering. We set a timer so that we can @@ -390,6 +434,11 @@ extension Ghostty { withTimeInterval: 0.075, repeats: false ) { [weak self] _ in + // Set the title if it wasn't manually set. + guard self?.titleFromTerminal == nil else { + self?.titleFromTerminal = title + return + } self?.title = title } } @@ -1117,6 +1166,8 @@ extension Ghostty { menu.addItem(.separator()) menu.addItem(withTitle: "Reset Terminal", action: #selector(resetTerminal(_:)), keyEquivalent: "") menu.addItem(withTitle: "Toggle Terminal Inspector", action: #selector(toggleTerminalInspector(_:)), keyEquivalent: "") + menu.addItem(.separator()) + menu.addItem(withTitle: "Change Title...", action: #selector(changeTitle(_:)), keyEquivalent: "") return menu } @@ -1189,6 +1240,10 @@ extension Ghostty { AppDelegate.logger.warning("action failed action=\(action)") } } + + @IBAction func changeTitle(_ sender: Any) { + promptTitle() + } /// Show a user notification and associate it with this surface func showUserNotification(title: String, body: String) { diff --git a/src/Surface.zig b/src/Surface.zig index 4f340ee41..b81a45ecb 100644 --- a/src/Surface.zig +++ b/src/Surface.zig @@ -4024,6 +4024,12 @@ pub fn performBindingAction(self: *Surface, action: input.Binding.Action) !bool try self.setFontSize(size); }, + .prompt_surface_title => return try self.rt_app.performAction( + .{ .surface = self }, + .prompt_title, + {}, + ), + .clear_screen => { // This is a duplicate of some of the logic in termio.clearScreen // but we need to do this here so we can know the answer before diff --git a/src/apprt/action.zig b/src/apprt/action.zig index 78f55c8a5..20b86707e 100644 --- a/src/apprt/action.zig +++ b/src/apprt/action.zig @@ -158,9 +158,13 @@ pub const Action = union(Key) { /// Show a desktop notification. desktop_notification: DesktopNotification, - /// Set the title of the target. + /// Set the title of the target to the requested value. set_title: SetTitle, + /// Set the title of the target to a prompted value. It is up to + /// the apprt to prompt. + prompt_title, + /// The current working directory has changed for the target terminal. pwd: Pwd, @@ -254,6 +258,7 @@ pub const Action = union(Key) { render_inspector, desktop_notification, set_title, + prompt_title, pwd, mouse_shape, mouse_visibility, diff --git a/src/apprt/glfw.zig b/src/apprt/glfw.zig index 39c6e058c..531269ee1 100644 --- a/src/apprt/glfw.zig +++ b/src/apprt/glfw.zig @@ -239,6 +239,7 @@ pub const App = struct { .pwd, .config_change, .toggle_maximize, + .prompt_title, => { log.info("unimplemented action={}", .{action}); return false; diff --git a/src/apprt/gtk/App.zig b/src/apprt/gtk/App.zig index f9a3ab160..985ce92b3 100644 --- a/src/apprt/gtk/App.zig +++ b/src/apprt/gtk/App.zig @@ -560,6 +560,7 @@ pub fn performAction( .render_inspector, .renderer_health, .color_change, + .prompt_title, => { log.warn("unimplemented action={}", .{action}); return false; diff --git a/src/input/Binding.zig b/src/input/Binding.zig index bef2ef613..f91967293 100644 --- a/src/input/Binding.zig +++ b/src/input/Binding.zig @@ -348,6 +348,10 @@ pub const Action = union(enum) { /// This only works with libadwaita enabled currently. toggle_tab_overview: void, + /// Change the title of the current focused surface via a prompt. + /// This only works on macOS currently. + prompt_surface_title: void, + /// Create a new split in the given direction. /// /// Arguments: @@ -748,6 +752,7 @@ pub const Action = union(enum) { .increase_font_size, .decrease_font_size, .reset_font_size, + .prompt_surface_title, .clear_screen, .select_all, .scroll_to_top, From 2da7d77febd9d3ee505ed7c8912740cca1cf1f88 Mon Sep 17 00:00:00 2001 From: Aaron Ruan Date: Fri, 10 Jan 2025 21:44:53 +0800 Subject: [PATCH 269/365] add save instruction to +list-themes Signed-off-by: Aaron Ruan --- src/cli/list_themes.zig | 56 ++++++++++++++++++++++++++++++++++++++++- 1 file changed, 55 insertions(+), 1 deletion(-) diff --git a/src/cli/list_themes.zig b/src/cli/list_themes.zig index f7ee10ce6..8ebac4487 100644 --- a/src/cli/list_themes.zig +++ b/src/cli/list_themes.zig @@ -192,6 +192,7 @@ const Preview = struct { normal, help, search, + save, }, color_scheme: vaxis.Color.Scheme, text_input: vaxis.widgets.TextInput, @@ -377,6 +378,8 @@ const Preview = struct { self.mode = .help; if (key.matches('/', .{})) self.mode = .search; + if (key.matchesAny(&.{ vaxis.Key.enter, vaxis.Key.kp_enter }, .{})) + self.mode = .save; if (key.matchesAny(&.{ 'x', '/' }, .{ .ctrl = true })) { self.text_input.buf.clearRetainingCapacity(); try self.updateFiltered(); @@ -431,6 +434,12 @@ const Preview = struct { try self.text_input.update(.{ .key_press = key }); try self.updateFiltered(); }, + .save => { + if (key.matches('q', .{})) + self.should_quit = true; + if (key.matchesAny(&.{ vaxis.Key.escape, vaxis.Key.enter, vaxis.Key.kp_enter }, .{})) + self.mode = .normal; + }, } }, .color_scheme => |color_scheme| self.color_scheme = color_scheme, @@ -674,7 +683,7 @@ const Preview = struct { .{ .keys = "End", .help = "Go to the end of the list." }, .{ .keys = "/", .help = "Start search." }, .{ .keys = "^X, ^/", .help = "Clear search." }, - .{ .keys = "⏎", .help = "Close search window." }, + .{ .keys = "⏎", .help = "Save theme or close search window." }, }; for (key_help, 0..) |help, captured_i| { @@ -725,6 +734,51 @@ const Preview = struct { child.fill(.{ .style = self.ui_standard() }); self.text_input.drawWithStyle(child, self.ui_standard()); }, + .save => { + const theme = self.themes[self.filtered.items[self.current]]; + + const width = 90; + const height = 12; + const child = win.child( + .{ + .x_off = win.width / 2 -| width / 2, + .y_off = win.height / 2 -| height / 2, + .width = width, + .height = height, + .border = .{ + .where = .all, + .style = self.ui_standard(), + }, + }, + ); + + child.fill(.{ .style = self.ui_standard() }); + + const save_instructions = [_][]const u8{ + "To apply this theme, add the following line to your Ghostty configuration:", + "", + try std.fmt.allocPrint(alloc, "theme = {s}", .{theme.theme}), + "", + "Save the configuration file and then reload it to apply the new theme.", + "For more details on configuration and themes, visit the Ghostty documentation:", + "", + "https://ghostty.org/docs/config/reference", + }; + + for (save_instructions, 0..) |instruction, captured_i| { + const i: u16 = @intCast(captured_i); + _ = child.printSegment( + .{ + .text = instruction, + .style = self.ui_standard(), + }, + .{ + .row_offset = i + 1, + .col_offset = 2, + }, + ); + } + }, } } From a0f243691ae3eaa245b01b88be94677c88556259 Mon Sep 17 00:00:00 2001 From: Damien Mehala Date: Sun, 12 Jan 2025 19:31:44 +0100 Subject: [PATCH 270/365] feat: add `bring_all_to_front` keybinding Resolves #4704. --- macos/Sources/App/macOS/AppDelegate.swift | 9 +++++++++ macos/Sources/App/macOS/MainMenu.xib | 14 ++++++++------ 2 files changed, 17 insertions(+), 6 deletions(-) diff --git a/macos/Sources/App/macOS/AppDelegate.swift b/macos/Sources/App/macOS/AppDelegate.swift index dc3a03e9d..d54170579 100644 --- a/macos/Sources/App/macOS/AppDelegate.swift +++ b/macos/Sources/App/macOS/AppDelegate.swift @@ -41,6 +41,7 @@ class AppDelegate: NSObject, @IBOutlet private var menuToggleVisibility: NSMenuItem? @IBOutlet private var menuToggleFullScreen: NSMenuItem? + @IBOutlet private var menuBringAllToFront: NSMenuItem? @IBOutlet private var menuZoomSplit: NSMenuItem? @IBOutlet private var menuPreviousSplit: NSMenuItem? @IBOutlet private var menuNextSplit: NSMenuItem? @@ -763,6 +764,14 @@ class AppDelegate: NSObject, hiddenState?.restore() hiddenState = nil } + + @IBAction func bringAllToFront(_ sender: Any) { + if !NSApp.isActive { + NSApp.activate(ignoringOtherApps: true) + } + + NSApplication.shared.arrangeInFront(sender) + } private struct DerivedConfig { let initialWindow: Bool diff --git a/macos/Sources/App/macOS/MainMenu.xib b/macos/Sources/App/macOS/MainMenu.xib index 22211cabe..05364212f 100644 --- a/macos/Sources/App/macOS/MainMenu.xib +++ b/macos/Sources/App/macOS/MainMenu.xib @@ -14,6 +14,7 @@ + @@ -278,12 +279,6 @@ - - - - - - @@ -378,6 +373,13 @@ + + + + + + + From 9cb297202ba7ee85534ed33f6cfc5681996aa5b0 Mon Sep 17 00:00:00 2001 From: Tim Culverhouse Date: Wed, 8 Jan 2025 20:58:50 -0600 Subject: [PATCH 271/365] cli: add +boo command Add a `+boo` command to show the animation from the website. The data for the frames is compressed during the build process. This build step was added to the SharedDeps object because it is used in both libghostty and in binaries. The compression is done as follows: - All files are concatenated together using \x01 as a combining byte - The files are compressed to a cached build file - A zig file is written to stdout which `@embedFile`s the compressed file and exposes it to the importer - A new anonymous module "framedata" is added in the SharedDeps object Any file can import framedata and access the compressed bytes via `framedata.compressed`. In the `boo` command, we decompress the file and split it into frames for use in the animation. The overall addition to the binary size is 348k. --- build.zig.zon | 4 +- build.zig.zon.nix | 6 +- build.zig.zon.txt | 2 +- build.zig.zon2json-lock | 6 +- nix/zigCacheHash.nix | 3 + src/build/GhosttyFrameData.zig | 37 ++++ src/build/SharedDeps.zig | 4 + src/build/framegen/frames/frame_001.txt | 41 ++++ src/build/framegen/frames/frame_002.txt | 41 ++++ src/build/framegen/frames/frame_003.txt | 41 ++++ src/build/framegen/frames/frame_004.txt | 41 ++++ src/build/framegen/frames/frame_005.txt | 41 ++++ src/build/framegen/frames/frame_006.txt | 41 ++++ src/build/framegen/frames/frame_007.txt | 41 ++++ src/build/framegen/frames/frame_008.txt | 41 ++++ src/build/framegen/frames/frame_009.txt | 41 ++++ src/build/framegen/frames/frame_010.txt | 41 ++++ src/build/framegen/frames/frame_011.txt | 41 ++++ src/build/framegen/frames/frame_012.txt | 41 ++++ src/build/framegen/frames/frame_013.txt | 41 ++++ src/build/framegen/frames/frame_014.txt | 41 ++++ src/build/framegen/frames/frame_015.txt | 41 ++++ src/build/framegen/frames/frame_016.txt | 41 ++++ src/build/framegen/frames/frame_017.txt | 41 ++++ src/build/framegen/frames/frame_018.txt | 41 ++++ src/build/framegen/frames/frame_019.txt | 41 ++++ src/build/framegen/frames/frame_020.txt | 41 ++++ src/build/framegen/frames/frame_021.txt | 41 ++++ src/build/framegen/frames/frame_022.txt | 41 ++++ src/build/framegen/frames/frame_023.txt | 41 ++++ src/build/framegen/frames/frame_024.txt | 41 ++++ src/build/framegen/frames/frame_025.txt | 41 ++++ src/build/framegen/frames/frame_026.txt | 41 ++++ src/build/framegen/frames/frame_027.txt | 41 ++++ src/build/framegen/frames/frame_028.txt | 41 ++++ src/build/framegen/frames/frame_029.txt | 41 ++++ src/build/framegen/frames/frame_030.txt | 41 ++++ src/build/framegen/frames/frame_031.txt | 41 ++++ src/build/framegen/frames/frame_032.txt | 41 ++++ src/build/framegen/frames/frame_033.txt | 41 ++++ src/build/framegen/frames/frame_034.txt | 41 ++++ src/build/framegen/frames/frame_035.txt | 41 ++++ src/build/framegen/frames/frame_036.txt | 41 ++++ src/build/framegen/frames/frame_037.txt | 41 ++++ src/build/framegen/frames/frame_038.txt | 41 ++++ src/build/framegen/frames/frame_039.txt | 41 ++++ src/build/framegen/frames/frame_040.txt | 41 ++++ src/build/framegen/frames/frame_041.txt | 41 ++++ src/build/framegen/frames/frame_042.txt | 41 ++++ src/build/framegen/frames/frame_043.txt | 41 ++++ src/build/framegen/frames/frame_044.txt | 41 ++++ src/build/framegen/frames/frame_045.txt | 41 ++++ src/build/framegen/frames/frame_046.txt | 41 ++++ src/build/framegen/frames/frame_047.txt | 41 ++++ src/build/framegen/frames/frame_048.txt | 41 ++++ src/build/framegen/frames/frame_049.txt | 41 ++++ src/build/framegen/frames/frame_050.txt | 41 ++++ src/build/framegen/frames/frame_051.txt | 41 ++++ src/build/framegen/frames/frame_052.txt | 41 ++++ src/build/framegen/frames/frame_053.txt | 41 ++++ src/build/framegen/frames/frame_054.txt | 41 ++++ src/build/framegen/frames/frame_055.txt | 41 ++++ src/build/framegen/frames/frame_056.txt | 41 ++++ src/build/framegen/frames/frame_057.txt | 41 ++++ src/build/framegen/frames/frame_058.txt | 41 ++++ src/build/framegen/frames/frame_059.txt | 41 ++++ src/build/framegen/frames/frame_060.txt | 41 ++++ src/build/framegen/frames/frame_061.txt | 41 ++++ src/build/framegen/frames/frame_062.txt | 41 ++++ src/build/framegen/frames/frame_063.txt | 41 ++++ src/build/framegen/frames/frame_064.txt | 41 ++++ src/build/framegen/frames/frame_065.txt | 41 ++++ src/build/framegen/frames/frame_066.txt | 41 ++++ src/build/framegen/frames/frame_067.txt | 41 ++++ src/build/framegen/frames/frame_068.txt | 41 ++++ src/build/framegen/frames/frame_069.txt | 41 ++++ src/build/framegen/frames/frame_070.txt | 41 ++++ src/build/framegen/frames/frame_071.txt | 41 ++++ src/build/framegen/frames/frame_072.txt | 41 ++++ src/build/framegen/frames/frame_073.txt | 41 ++++ src/build/framegen/frames/frame_074.txt | 41 ++++ src/build/framegen/frames/frame_075.txt | 41 ++++ src/build/framegen/frames/frame_076.txt | 41 ++++ src/build/framegen/frames/frame_077.txt | 41 ++++ src/build/framegen/frames/frame_078.txt | 41 ++++ src/build/framegen/frames/frame_079.txt | 41 ++++ src/build/framegen/frames/frame_080.txt | 41 ++++ src/build/framegen/frames/frame_081.txt | 41 ++++ src/build/framegen/frames/frame_082.txt | 41 ++++ src/build/framegen/frames/frame_083.txt | 41 ++++ src/build/framegen/frames/frame_084.txt | 41 ++++ src/build/framegen/frames/frame_085.txt | 41 ++++ src/build/framegen/frames/frame_086.txt | 41 ++++ src/build/framegen/frames/frame_087.txt | 41 ++++ src/build/framegen/frames/frame_088.txt | 41 ++++ src/build/framegen/frames/frame_089.txt | 41 ++++ src/build/framegen/frames/frame_090.txt | 41 ++++ src/build/framegen/frames/frame_091.txt | 41 ++++ src/build/framegen/frames/frame_092.txt | 41 ++++ src/build/framegen/frames/frame_093.txt | 41 ++++ src/build/framegen/frames/frame_094.txt | 41 ++++ src/build/framegen/frames/frame_095.txt | 41 ++++ src/build/framegen/frames/frame_096.txt | 41 ++++ src/build/framegen/frames/frame_097.txt | 41 ++++ src/build/framegen/frames/frame_098.txt | 41 ++++ src/build/framegen/frames/frame_099.txt | 41 ++++ src/build/framegen/frames/frame_100.txt | 41 ++++ src/build/framegen/frames/frame_101.txt | 41 ++++ src/build/framegen/frames/frame_102.txt | 41 ++++ src/build/framegen/frames/frame_103.txt | 41 ++++ src/build/framegen/frames/frame_104.txt | 41 ++++ src/build/framegen/frames/frame_105.txt | 41 ++++ src/build/framegen/frames/frame_106.txt | 41 ++++ src/build/framegen/frames/frame_107.txt | 41 ++++ src/build/framegen/frames/frame_108.txt | 41 ++++ src/build/framegen/frames/frame_109.txt | 41 ++++ src/build/framegen/frames/frame_110.txt | 41 ++++ src/build/framegen/frames/frame_111.txt | 41 ++++ src/build/framegen/frames/frame_112.txt | 41 ++++ src/build/framegen/frames/frame_113.txt | 41 ++++ src/build/framegen/frames/frame_114.txt | 41 ++++ src/build/framegen/frames/frame_115.txt | 41 ++++ src/build/framegen/frames/frame_116.txt | 41 ++++ src/build/framegen/frames/frame_117.txt | 41 ++++ src/build/framegen/frames/frame_118.txt | 41 ++++ src/build/framegen/frames/frame_119.txt | 41 ++++ src/build/framegen/frames/frame_120.txt | 41 ++++ src/build/framegen/frames/frame_121.txt | 41 ++++ src/build/framegen/frames/frame_122.txt | 41 ++++ src/build/framegen/frames/frame_123.txt | 41 ++++ src/build/framegen/frames/frame_124.txt | 41 ++++ src/build/framegen/frames/frame_125.txt | 41 ++++ src/build/framegen/frames/frame_126.txt | 41 ++++ src/build/framegen/frames/frame_127.txt | 41 ++++ src/build/framegen/frames/frame_128.txt | 41 ++++ src/build/framegen/frames/frame_129.txt | 41 ++++ src/build/framegen/frames/frame_130.txt | 41 ++++ src/build/framegen/frames/frame_131.txt | 41 ++++ src/build/framegen/frames/frame_132.txt | 41 ++++ src/build/framegen/frames/frame_133.txt | 41 ++++ src/build/framegen/frames/frame_134.txt | 41 ++++ src/build/framegen/frames/frame_135.txt | 41 ++++ src/build/framegen/frames/frame_136.txt | 41 ++++ src/build/framegen/frames/frame_137.txt | 41 ++++ src/build/framegen/frames/frame_138.txt | 41 ++++ src/build/framegen/frames/frame_139.txt | 41 ++++ src/build/framegen/frames/frame_140.txt | 41 ++++ src/build/framegen/frames/frame_141.txt | 41 ++++ src/build/framegen/frames/frame_142.txt | 41 ++++ src/build/framegen/frames/frame_143.txt | 41 ++++ src/build/framegen/frames/frame_144.txt | 41 ++++ src/build/framegen/frames/frame_145.txt | 41 ++++ src/build/framegen/frames/frame_146.txt | 41 ++++ src/build/framegen/frames/frame_147.txt | 41 ++++ src/build/framegen/frames/frame_148.txt | 41 ++++ src/build/framegen/frames/frame_149.txt | 41 ++++ src/build/framegen/frames/frame_150.txt | 41 ++++ src/build/framegen/frames/frame_151.txt | 41 ++++ src/build/framegen/frames/frame_152.txt | 41 ++++ src/build/framegen/frames/frame_153.txt | 41 ++++ src/build/framegen/frames/frame_154.txt | 41 ++++ src/build/framegen/frames/frame_155.txt | 41 ++++ src/build/framegen/frames/frame_156.txt | 41 ++++ src/build/framegen/frames/frame_157.txt | 41 ++++ src/build/framegen/frames/frame_158.txt | 41 ++++ src/build/framegen/frames/frame_159.txt | 41 ++++ src/build/framegen/frames/frame_160.txt | 41 ++++ src/build/framegen/frames/frame_161.txt | 41 ++++ src/build/framegen/frames/frame_162.txt | 41 ++++ src/build/framegen/frames/frame_163.txt | 41 ++++ src/build/framegen/frames/frame_164.txt | 41 ++++ src/build/framegen/frames/frame_165.txt | 41 ++++ src/build/framegen/frames/frame_166.txt | 41 ++++ src/build/framegen/frames/frame_167.txt | 41 ++++ src/build/framegen/frames/frame_168.txt | 41 ++++ src/build/framegen/frames/frame_169.txt | 41 ++++ src/build/framegen/frames/frame_170.txt | 41 ++++ src/build/framegen/frames/frame_171.txt | 41 ++++ src/build/framegen/frames/frame_172.txt | 41 ++++ src/build/framegen/frames/frame_173.txt | 41 ++++ src/build/framegen/frames/frame_174.txt | 41 ++++ src/build/framegen/frames/frame_175.txt | 41 ++++ src/build/framegen/frames/frame_176.txt | 41 ++++ src/build/framegen/frames/frame_177.txt | 41 ++++ src/build/framegen/frames/frame_178.txt | 41 ++++ src/build/framegen/frames/frame_179.txt | 41 ++++ src/build/framegen/frames/frame_180.txt | 41 ++++ src/build/framegen/frames/frame_181.txt | 41 ++++ src/build/framegen/frames/frame_182.txt | 41 ++++ src/build/framegen/frames/frame_183.txt | 41 ++++ src/build/framegen/frames/frame_184.txt | 41 ++++ src/build/framegen/frames/frame_185.txt | 41 ++++ src/build/framegen/frames/frame_186.txt | 41 ++++ src/build/framegen/frames/frame_187.txt | 41 ++++ src/build/framegen/frames/frame_188.txt | 41 ++++ src/build/framegen/frames/frame_189.txt | 41 ++++ src/build/framegen/frames/frame_190.txt | 41 ++++ src/build/framegen/frames/frame_191.txt | 41 ++++ src/build/framegen/frames/frame_192.txt | 41 ++++ src/build/framegen/frames/frame_193.txt | 41 ++++ src/build/framegen/frames/frame_194.txt | 41 ++++ src/build/framegen/frames/frame_195.txt | 41 ++++ src/build/framegen/frames/frame_196.txt | 41 ++++ src/build/framegen/frames/frame_197.txt | 41 ++++ src/build/framegen/frames/frame_198.txt | 41 ++++ src/build/framegen/frames/frame_199.txt | 41 ++++ src/build/framegen/frames/frame_200.txt | 41 ++++ src/build/framegen/frames/frame_201.txt | 41 ++++ src/build/framegen/frames/frame_202.txt | 41 ++++ src/build/framegen/frames/frame_203.txt | 41 ++++ src/build/framegen/frames/frame_204.txt | 41 ++++ src/build/framegen/frames/frame_205.txt | 41 ++++ src/build/framegen/frames/frame_206.txt | 41 ++++ src/build/framegen/frames/frame_207.txt | 41 ++++ src/build/framegen/frames/frame_208.txt | 41 ++++ src/build/framegen/frames/frame_209.txt | 41 ++++ src/build/framegen/frames/frame_210.txt | 41 ++++ src/build/framegen/frames/frame_211.txt | 41 ++++ src/build/framegen/frames/frame_212.txt | 41 ++++ src/build/framegen/frames/frame_213.txt | 41 ++++ src/build/framegen/frames/frame_214.txt | 41 ++++ src/build/framegen/frames/frame_215.txt | 41 ++++ src/build/framegen/frames/frame_216.txt | 41 ++++ src/build/framegen/frames/frame_217.txt | 41 ++++ src/build/framegen/frames/frame_218.txt | 41 ++++ src/build/framegen/frames/frame_219.txt | 41 ++++ src/build/framegen/frames/frame_220.txt | 41 ++++ src/build/framegen/frames/frame_221.txt | 41 ++++ src/build/framegen/frames/frame_222.txt | 41 ++++ src/build/framegen/frames/frame_223.txt | 41 ++++ src/build/framegen/frames/frame_224.txt | 41 ++++ src/build/framegen/frames/frame_225.txt | 41 ++++ src/build/framegen/frames/frame_226.txt | 41 ++++ src/build/framegen/frames/frame_227.txt | 41 ++++ src/build/framegen/frames/frame_228.txt | 41 ++++ src/build/framegen/frames/frame_229.txt | 41 ++++ src/build/framegen/frames/frame_230.txt | 41 ++++ src/build/framegen/frames/frame_231.txt | 41 ++++ src/build/framegen/frames/frame_232.txt | 41 ++++ src/build/framegen/frames/frame_233.txt | 41 ++++ src/build/framegen/frames/frame_234.txt | 41 ++++ src/build/framegen/frames/frame_235.txt | 41 ++++ src/build/framegen/main.zig | 271 ++++++++++++++++++++++++ src/build/main.zig | 1 + src/cli/action.zig | 6 + src/cli/boo.zig | 227 ++++++++++++++++++++ typos.toml | 1 + 247 files changed, 10194 insertions(+), 9 deletions(-) create mode 100644 nix/zigCacheHash.nix create mode 100644 src/build/GhosttyFrameData.zig create mode 100644 src/build/framegen/frames/frame_001.txt create mode 100644 src/build/framegen/frames/frame_002.txt create mode 100644 src/build/framegen/frames/frame_003.txt create mode 100644 src/build/framegen/frames/frame_004.txt create mode 100644 src/build/framegen/frames/frame_005.txt create mode 100644 src/build/framegen/frames/frame_006.txt create mode 100644 src/build/framegen/frames/frame_007.txt create mode 100644 src/build/framegen/frames/frame_008.txt create mode 100644 src/build/framegen/frames/frame_009.txt create mode 100644 src/build/framegen/frames/frame_010.txt create mode 100644 src/build/framegen/frames/frame_011.txt create mode 100644 src/build/framegen/frames/frame_012.txt create mode 100644 src/build/framegen/frames/frame_013.txt create mode 100644 src/build/framegen/frames/frame_014.txt create mode 100644 src/build/framegen/frames/frame_015.txt create mode 100644 src/build/framegen/frames/frame_016.txt create mode 100644 src/build/framegen/frames/frame_017.txt create mode 100644 src/build/framegen/frames/frame_018.txt create mode 100644 src/build/framegen/frames/frame_019.txt create mode 100644 src/build/framegen/frames/frame_020.txt create mode 100644 src/build/framegen/frames/frame_021.txt create mode 100644 src/build/framegen/frames/frame_022.txt create mode 100644 src/build/framegen/frames/frame_023.txt create mode 100644 src/build/framegen/frames/frame_024.txt create mode 100644 src/build/framegen/frames/frame_025.txt create mode 100644 src/build/framegen/frames/frame_026.txt create mode 100644 src/build/framegen/frames/frame_027.txt create mode 100644 src/build/framegen/frames/frame_028.txt create mode 100644 src/build/framegen/frames/frame_029.txt create mode 100644 src/build/framegen/frames/frame_030.txt create mode 100644 src/build/framegen/frames/frame_031.txt create mode 100644 src/build/framegen/frames/frame_032.txt create mode 100644 src/build/framegen/frames/frame_033.txt create mode 100644 src/build/framegen/frames/frame_034.txt create mode 100644 src/build/framegen/frames/frame_035.txt create mode 100644 src/build/framegen/frames/frame_036.txt create mode 100644 src/build/framegen/frames/frame_037.txt create mode 100644 src/build/framegen/frames/frame_038.txt create mode 100644 src/build/framegen/frames/frame_039.txt create mode 100644 src/build/framegen/frames/frame_040.txt create mode 100644 src/build/framegen/frames/frame_041.txt create mode 100644 src/build/framegen/frames/frame_042.txt create mode 100644 src/build/framegen/frames/frame_043.txt create mode 100644 src/build/framegen/frames/frame_044.txt create mode 100644 src/build/framegen/frames/frame_045.txt create mode 100644 src/build/framegen/frames/frame_046.txt create mode 100644 src/build/framegen/frames/frame_047.txt create mode 100644 src/build/framegen/frames/frame_048.txt create mode 100644 src/build/framegen/frames/frame_049.txt create mode 100644 src/build/framegen/frames/frame_050.txt create mode 100644 src/build/framegen/frames/frame_051.txt create mode 100644 src/build/framegen/frames/frame_052.txt create mode 100644 src/build/framegen/frames/frame_053.txt create mode 100644 src/build/framegen/frames/frame_054.txt create mode 100644 src/build/framegen/frames/frame_055.txt create mode 100644 src/build/framegen/frames/frame_056.txt create mode 100644 src/build/framegen/frames/frame_057.txt create mode 100644 src/build/framegen/frames/frame_058.txt create mode 100644 src/build/framegen/frames/frame_059.txt create mode 100644 src/build/framegen/frames/frame_060.txt create mode 100644 src/build/framegen/frames/frame_061.txt create mode 100644 src/build/framegen/frames/frame_062.txt create mode 100644 src/build/framegen/frames/frame_063.txt create mode 100644 src/build/framegen/frames/frame_064.txt create mode 100644 src/build/framegen/frames/frame_065.txt create mode 100644 src/build/framegen/frames/frame_066.txt create mode 100644 src/build/framegen/frames/frame_067.txt create mode 100644 src/build/framegen/frames/frame_068.txt create mode 100644 src/build/framegen/frames/frame_069.txt create mode 100644 src/build/framegen/frames/frame_070.txt create mode 100644 src/build/framegen/frames/frame_071.txt create mode 100644 src/build/framegen/frames/frame_072.txt create mode 100644 src/build/framegen/frames/frame_073.txt create mode 100644 src/build/framegen/frames/frame_074.txt create mode 100644 src/build/framegen/frames/frame_075.txt create mode 100644 src/build/framegen/frames/frame_076.txt create mode 100644 src/build/framegen/frames/frame_077.txt create mode 100644 src/build/framegen/frames/frame_078.txt create mode 100644 src/build/framegen/frames/frame_079.txt create mode 100644 src/build/framegen/frames/frame_080.txt create mode 100644 src/build/framegen/frames/frame_081.txt create mode 100644 src/build/framegen/frames/frame_082.txt create mode 100644 src/build/framegen/frames/frame_083.txt create mode 100644 src/build/framegen/frames/frame_084.txt create mode 100644 src/build/framegen/frames/frame_085.txt create mode 100644 src/build/framegen/frames/frame_086.txt create mode 100644 src/build/framegen/frames/frame_087.txt create mode 100644 src/build/framegen/frames/frame_088.txt create mode 100644 src/build/framegen/frames/frame_089.txt create mode 100644 src/build/framegen/frames/frame_090.txt create mode 100644 src/build/framegen/frames/frame_091.txt create mode 100644 src/build/framegen/frames/frame_092.txt create mode 100644 src/build/framegen/frames/frame_093.txt create mode 100644 src/build/framegen/frames/frame_094.txt create mode 100644 src/build/framegen/frames/frame_095.txt create mode 100644 src/build/framegen/frames/frame_096.txt create mode 100644 src/build/framegen/frames/frame_097.txt create mode 100644 src/build/framegen/frames/frame_098.txt create mode 100644 src/build/framegen/frames/frame_099.txt create mode 100644 src/build/framegen/frames/frame_100.txt create mode 100644 src/build/framegen/frames/frame_101.txt create mode 100644 src/build/framegen/frames/frame_102.txt create mode 100644 src/build/framegen/frames/frame_103.txt create mode 100644 src/build/framegen/frames/frame_104.txt create mode 100644 src/build/framegen/frames/frame_105.txt create mode 100644 src/build/framegen/frames/frame_106.txt create mode 100644 src/build/framegen/frames/frame_107.txt create mode 100644 src/build/framegen/frames/frame_108.txt create mode 100644 src/build/framegen/frames/frame_109.txt create mode 100644 src/build/framegen/frames/frame_110.txt create mode 100644 src/build/framegen/frames/frame_111.txt create mode 100644 src/build/framegen/frames/frame_112.txt create mode 100644 src/build/framegen/frames/frame_113.txt create mode 100644 src/build/framegen/frames/frame_114.txt create mode 100644 src/build/framegen/frames/frame_115.txt create mode 100644 src/build/framegen/frames/frame_116.txt create mode 100644 src/build/framegen/frames/frame_117.txt create mode 100644 src/build/framegen/frames/frame_118.txt create mode 100644 src/build/framegen/frames/frame_119.txt create mode 100644 src/build/framegen/frames/frame_120.txt create mode 100644 src/build/framegen/frames/frame_121.txt create mode 100644 src/build/framegen/frames/frame_122.txt create mode 100644 src/build/framegen/frames/frame_123.txt create mode 100644 src/build/framegen/frames/frame_124.txt create mode 100644 src/build/framegen/frames/frame_125.txt create mode 100644 src/build/framegen/frames/frame_126.txt create mode 100644 src/build/framegen/frames/frame_127.txt create mode 100644 src/build/framegen/frames/frame_128.txt create mode 100644 src/build/framegen/frames/frame_129.txt create mode 100644 src/build/framegen/frames/frame_130.txt create mode 100644 src/build/framegen/frames/frame_131.txt create mode 100644 src/build/framegen/frames/frame_132.txt create mode 100644 src/build/framegen/frames/frame_133.txt create mode 100644 src/build/framegen/frames/frame_134.txt create mode 100644 src/build/framegen/frames/frame_135.txt create mode 100644 src/build/framegen/frames/frame_136.txt create mode 100644 src/build/framegen/frames/frame_137.txt create mode 100644 src/build/framegen/frames/frame_138.txt create mode 100644 src/build/framegen/frames/frame_139.txt create mode 100644 src/build/framegen/frames/frame_140.txt create mode 100644 src/build/framegen/frames/frame_141.txt create mode 100644 src/build/framegen/frames/frame_142.txt create mode 100644 src/build/framegen/frames/frame_143.txt create mode 100644 src/build/framegen/frames/frame_144.txt create mode 100644 src/build/framegen/frames/frame_145.txt create mode 100644 src/build/framegen/frames/frame_146.txt create mode 100644 src/build/framegen/frames/frame_147.txt create mode 100644 src/build/framegen/frames/frame_148.txt create mode 100644 src/build/framegen/frames/frame_149.txt create mode 100644 src/build/framegen/frames/frame_150.txt create mode 100644 src/build/framegen/frames/frame_151.txt create mode 100644 src/build/framegen/frames/frame_152.txt create mode 100644 src/build/framegen/frames/frame_153.txt create mode 100644 src/build/framegen/frames/frame_154.txt create mode 100644 src/build/framegen/frames/frame_155.txt create mode 100644 src/build/framegen/frames/frame_156.txt create mode 100644 src/build/framegen/frames/frame_157.txt create mode 100644 src/build/framegen/frames/frame_158.txt create mode 100644 src/build/framegen/frames/frame_159.txt create mode 100644 src/build/framegen/frames/frame_160.txt create mode 100644 src/build/framegen/frames/frame_161.txt create mode 100644 src/build/framegen/frames/frame_162.txt create mode 100644 src/build/framegen/frames/frame_163.txt create mode 100644 src/build/framegen/frames/frame_164.txt create mode 100644 src/build/framegen/frames/frame_165.txt create mode 100644 src/build/framegen/frames/frame_166.txt create mode 100644 src/build/framegen/frames/frame_167.txt create mode 100644 src/build/framegen/frames/frame_168.txt create mode 100644 src/build/framegen/frames/frame_169.txt create mode 100644 src/build/framegen/frames/frame_170.txt create mode 100644 src/build/framegen/frames/frame_171.txt create mode 100644 src/build/framegen/frames/frame_172.txt create mode 100644 src/build/framegen/frames/frame_173.txt create mode 100644 src/build/framegen/frames/frame_174.txt create mode 100644 src/build/framegen/frames/frame_175.txt create mode 100644 src/build/framegen/frames/frame_176.txt create mode 100644 src/build/framegen/frames/frame_177.txt create mode 100644 src/build/framegen/frames/frame_178.txt create mode 100644 src/build/framegen/frames/frame_179.txt create mode 100644 src/build/framegen/frames/frame_180.txt create mode 100644 src/build/framegen/frames/frame_181.txt create mode 100644 src/build/framegen/frames/frame_182.txt create mode 100644 src/build/framegen/frames/frame_183.txt create mode 100644 src/build/framegen/frames/frame_184.txt create mode 100644 src/build/framegen/frames/frame_185.txt create mode 100644 src/build/framegen/frames/frame_186.txt create mode 100644 src/build/framegen/frames/frame_187.txt create mode 100644 src/build/framegen/frames/frame_188.txt create mode 100644 src/build/framegen/frames/frame_189.txt create mode 100644 src/build/framegen/frames/frame_190.txt create mode 100644 src/build/framegen/frames/frame_191.txt create mode 100644 src/build/framegen/frames/frame_192.txt create mode 100644 src/build/framegen/frames/frame_193.txt create mode 100644 src/build/framegen/frames/frame_194.txt create mode 100644 src/build/framegen/frames/frame_195.txt create mode 100644 src/build/framegen/frames/frame_196.txt create mode 100644 src/build/framegen/frames/frame_197.txt create mode 100644 src/build/framegen/frames/frame_198.txt create mode 100644 src/build/framegen/frames/frame_199.txt create mode 100644 src/build/framegen/frames/frame_200.txt create mode 100644 src/build/framegen/frames/frame_201.txt create mode 100644 src/build/framegen/frames/frame_202.txt create mode 100644 src/build/framegen/frames/frame_203.txt create mode 100644 src/build/framegen/frames/frame_204.txt create mode 100644 src/build/framegen/frames/frame_205.txt create mode 100644 src/build/framegen/frames/frame_206.txt create mode 100644 src/build/framegen/frames/frame_207.txt create mode 100644 src/build/framegen/frames/frame_208.txt create mode 100644 src/build/framegen/frames/frame_209.txt create mode 100644 src/build/framegen/frames/frame_210.txt create mode 100644 src/build/framegen/frames/frame_211.txt create mode 100644 src/build/framegen/frames/frame_212.txt create mode 100644 src/build/framegen/frames/frame_213.txt create mode 100644 src/build/framegen/frames/frame_214.txt create mode 100644 src/build/framegen/frames/frame_215.txt create mode 100644 src/build/framegen/frames/frame_216.txt create mode 100644 src/build/framegen/frames/frame_217.txt create mode 100644 src/build/framegen/frames/frame_218.txt create mode 100644 src/build/framegen/frames/frame_219.txt create mode 100644 src/build/framegen/frames/frame_220.txt create mode 100644 src/build/framegen/frames/frame_221.txt create mode 100644 src/build/framegen/frames/frame_222.txt create mode 100644 src/build/framegen/frames/frame_223.txt create mode 100644 src/build/framegen/frames/frame_224.txt create mode 100644 src/build/framegen/frames/frame_225.txt create mode 100644 src/build/framegen/frames/frame_226.txt create mode 100644 src/build/framegen/frames/frame_227.txt create mode 100644 src/build/framegen/frames/frame_228.txt create mode 100644 src/build/framegen/frames/frame_229.txt create mode 100644 src/build/framegen/frames/frame_230.txt create mode 100644 src/build/framegen/frames/frame_231.txt create mode 100644 src/build/framegen/frames/frame_232.txt create mode 100644 src/build/framegen/frames/frame_233.txt create mode 100644 src/build/framegen/frames/frame_234.txt create mode 100644 src/build/framegen/frames/frame_235.txt create mode 100644 src/build/framegen/main.zig create mode 100644 src/cli/boo.zig diff --git a/build.zig.zon b/build.zig.zon index 4e989f836..ad4a14376 100644 --- a/build.zig.zon +++ b/build.zig.zon @@ -18,8 +18,8 @@ }, .vaxis = .{ // rockorager/libvaxis - .url = "https://deps.files.ghostty.org/vaxis-12200df4ebeaed45de26cb2c9f3b6f3746d8013b604e035dae658f86f586c8c91d2f.tar.gz", - .hash = "12200df4ebeaed45de26cb2c9f3b6f3746d8013b604e035dae658f86f586c8c91d2f", + .url = "git+https://github.com/rockorager/libvaxis#2237a7059eae99e9f132dd5acd1555e49d6c7d93", + .hash = "1220f5aec880d4f430cc1597ede88f1530da69e39a4986080e976b0c7b919c2ebfeb", }, .z2d = .{ // vancluever/z2d diff --git a/build.zig.zon.nix b/build.zig.zon.nix index 865c741e7..b010be44b 100644 --- a/build.zig.zon.nix +++ b/build.zig.zon.nix @@ -140,11 +140,11 @@ in }; } { - name = "12200df4ebeaed45de26cb2c9f3b6f3746d8013b604e035dae658f86f586c8c91d2f"; + name = "1220f5aec880d4f430cc1597ede88f1530da69e39a4986080e976b0c7b919c2ebfeb"; path = fetchZigArtifact { name = "vaxis"; - url = "https://deps.files.ghostty.org/vaxis-12200df4ebeaed45de26cb2c9f3b6f3746d8013b604e035dae658f86f586c8c91d2f.tar.gz"; - hash = "sha256-OCNs6Gl2ruq5dBm4uIxs93hoXw/+n+x1+bIDfQGDx3s="; + url = "git+https://github.com/rockorager/libvaxis#2237a7059eae99e9f132dd5acd1555e49d6c7d93"; + hash = "sha256-ZzLNJOsXzyBhkdUhbET30RoU2T9xKYsBUQz2NAjK/G8="; }; } { diff --git a/build.zig.zon.txt b/build.zig.zon.txt index 4cb3b5c3e..297226f2f 100644 --- a/build.zig.zon.txt +++ b/build.zig.zon.txt @@ -1,3 +1,4 @@ +git+https://github.com/rockorager/libvaxis#2237a7059eae99e9f132dd5acd1555e49d6c7d93 git+https://github.com/rockorager/libvaxis/?ref=main#dc0a228a5544988d4a920cfb40be9cd28db41423 git+https://github.com/zigimg/zigimg#3a667bdb3d7f0955a5a51c8468eac83210c1439e https://codeberg.org/atman/zg/archive/v0.13.2.tar.gz @@ -17,7 +18,6 @@ https://deps.files.ghostty.org/plasma_wayland_protocols-12207e0851c12acdeee0991e https://deps.files.ghostty.org/sentry-1220446be831adcca918167647c06c7b825849fa3fba5f22da394667974537a9c77e.tar.gz https://deps.files.ghostty.org/spirv_cross-1220fb3b5586e8be67bc3feb34cbe749cf42a60d628d2953632c2f8141302748c8da.tar.gz https://deps.files.ghostty.org/utfcpp-1220d4d18426ca72fc2b7e56ce47273149815501d0d2395c2a98c726b31ba931e641.tar.gz -https://deps.files.ghostty.org/vaxis-12200df4ebeaed45de26cb2c9f3b6f3746d8013b604e035dae658f86f586c8c91d2f.tar.gz https://deps.files.ghostty.org/wayland-9cb3d7aa9dc995ffafdbdef7ab86a949d0fb0e7d.tar.gz https://deps.files.ghostty.org/wayland-protocols-258d8f88f2c8c25a830c6316f87d23ce1a0f12d9.tar.gz https://deps.files.ghostty.org/wuffs-122037b39d577ec2db3fd7b2130e7b69ef6cc1807d68607a7c232c958315d381b5cd.tar.gz diff --git a/build.zig.zon2json-lock b/build.zig.zon2json-lock index 53d7ce111..26ccc690a 100644 --- a/build.zig.zon2json-lock +++ b/build.zig.zon2json-lock @@ -34,10 +34,10 @@ "url": "https://github.com/mitchellh/x11-headers/archive/2ffbd62d82ff73ec929dd8de802bc95effa0ef88.tar.gz", "hash": "sha256-EhV2bmTY/OMYN1wEul35gD0hQgS/Al262jO3pVr0O+c=" }, - "12200df4ebeaed45de26cb2c9f3b6f3746d8013b604e035dae658f86f586c8c91d2f": { + "1220f5aec880d4f430cc1597ede88f1530da69e39a4986080e976b0c7b919c2ebfeb": { "name": "vaxis", - "url": "https://deps.files.ghostty.org/vaxis-12200df4ebeaed45de26cb2c9f3b6f3746d8013b604e035dae658f86f586c8c91d2f.tar.gz", - "hash": "sha256-OCNs6Gl2ruq5dBm4uIxs93hoXw/+n+x1+bIDfQGDx3s=" + "url": "git+https://github.com/rockorager/libvaxis#2237a7059eae99e9f132dd5acd1555e49d6c7d93", + "hash": "sha256-ZzLNJOsXzyBhkdUhbET30RoU2T9xKYsBUQz2NAjK/G8=" }, "1220dd654ef941fc76fd96f9ec6adadf83f69b9887a0d3f4ee5ac0a1a3e11be35cf5": { "name": "zigimg", diff --git a/nix/zigCacheHash.nix b/nix/zigCacheHash.nix new file mode 100644 index 000000000..12f855e5f --- /dev/null +++ b/nix/zigCacheHash.nix @@ -0,0 +1,3 @@ +# This file is auto-generated! check build-support/check-zig-cache-hash.sh for +# more details. +"sha256-S8kS+gO17dl9LJGKL1+kgDUre+vPTmdTvXzgc585Fl8=" diff --git a/src/build/GhosttyFrameData.zig b/src/build/GhosttyFrameData.zig new file mode 100644 index 000000000..7c22115b3 --- /dev/null +++ b/src/build/GhosttyFrameData.zig @@ -0,0 +1,37 @@ +//! GhosttyFrameData generates a compressed file and zig module which contains (and exposes) the +//! Ghostty animation frames for use in `ghostty +boo` +const GhosttyFrameData = @This(); + +const std = @import("std"); +const Config = @import("Config.zig"); +const SharedDeps = @import("SharedDeps.zig"); + +/// The exe. +exe: *std.Build.Step.Compile, + +/// The output path for the compressed framedata zig file +output: std.Build.LazyPath, + +pub fn init(b: *std.Build) !GhosttyFrameData { + const exe = b.addExecutable(.{ + .name = "framegen", + .root_source_file = b.path("src/build/framegen/main.zig"), + .target = b.host, + }); + + const run = b.addRunArtifact(exe); + + _ = run.addOutputFileArg("framedata.compressed"); + return .{ + .exe = exe, + .output = run.captureStdOut(), + }; +} + +/// Add the "framedata" import. +pub fn addImport(self: *const GhosttyFrameData, step: *std.Build.Step.Compile) void { + self.output.addStepDependencies(&step.step); + step.root_module.addAnonymousImport("framedata", .{ + .root_source_file = self.output, + }); +} diff --git a/src/build/SharedDeps.zig b/src/build/SharedDeps.zig index 0a1d6f904..7d0b64c5b 100644 --- a/src/build/SharedDeps.zig +++ b/src/build/SharedDeps.zig @@ -6,6 +6,7 @@ const Config = @import("Config.zig"); const HelpStrings = @import("HelpStrings.zig"); const MetallibStep = @import("MetallibStep.zig"); const UnicodeTables = @import("UnicodeTables.zig"); +const GhosttyFrameData = @import("GhosttyFrameData.zig"); config: *const Config, @@ -13,6 +14,7 @@ options: *std.Build.Step.Options, help_strings: HelpStrings, metallib: ?*MetallibStep, unicode_tables: UnicodeTables, +framedata: GhosttyFrameData, /// Used to keep track of a list of file sources. pub const LazyPathList = std.ArrayList(std.Build.LazyPath); @@ -22,6 +24,7 @@ pub fn init(b: *std.Build, cfg: *const Config) !SharedDeps { .config = cfg, .help_strings = try HelpStrings.init(b, cfg), .unicode_tables = try UnicodeTables.init(b), + .framedata = try GhosttyFrameData.init(b), // Setup by retarget .options = undefined, @@ -563,6 +566,7 @@ pub fn add( self.help_strings.addImport(step); self.unicode_tables.addImport(step); + self.framedata.addImport(step); return static_libs; } diff --git a/src/build/framegen/frames/frame_001.txt b/src/build/framegen/frames/frame_001.txt new file mode 100644 index 000000000..416e87931 --- /dev/null +++ b/src/build/framegen/frames/frame_001.txt @@ -0,0 +1,41 @@ + + + +++==*%%%%%%%%%%%%*==+++ + ++****++ ++****++ + ++**++ ++**++ + xx**+= o+*%$@@@@@@$%*+o =+**xx + xx**oo ·=$@@@@@@@$$$$$$$$@@@@@@@$=· oo**xx + xx** x$@@@$$$$$$$$$$$$$$$$$$$$$$$$@@@$x **xx + ox** ·$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$· **xo + ==+~ ~@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@~ ~+== + x+++ $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ +++x + == ·@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@· == + ox++ ~@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ ++xo + +++~ @$$$$$@@@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ ~+++ + == $$$$$@@%%%%%%$$$$$$$@@@@@$$$@@@@@@@@@@@@@@@@@@@@$$$$$$ == + == @$$$$* $$$$% =$$$$$@ == + == ·$$$$@ x@$@ @$$$$$· == + == ·@$$$$% ·$$$$% *$$$$$@· == + == ·@$$$$@@$%%$$$$$$@@@@@@@@$$$$@@@@@@@@@@@@@@@@@@@@$$$$$@· == + == ·@$$$$$$$@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ == + == @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ == + ==x· $@@$$$$$$$$$@@@@@@@@@@$$$$$$$$@@@@@@@@@@$$$$$$$$$@@$ ·+== + ++++ =@@@@@@@@@* x$@@@@@@@@$x *@@@@@@@@@= ++++ + xx==++ ++==oo + ++===+ ++%%+o o+%%++ +===++ + ++=====%+=++++*=*========***++++***========*=*++++=+%=====++ + xx++==******====++ ++==********==++ ++====******==++xx + ++++ ++++ ++++ + diff --git a/src/build/framegen/frames/frame_002.txt b/src/build/framegen/frames/frame_002.txt new file mode 100644 index 000000000..e74134e3e --- /dev/null +++ b/src/build/framegen/frames/frame_002.txt @@ -0,0 +1,41 @@ + + ++++++++++++ + ++==*%%%**=++++++=**%%%*==++ + ++**=* *=**++ + x+**+= =+**+x + ++== o=%@@@@@@@@@@@@@@@@%=o ==++ + ===+ +$@@@@@$$$$$$$$$$$$$$$$@@@@@$+ +=== + ++=+ =@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$@@@@= +=++ + ++== $@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$ ==++ + ** $@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$ ** + +++o +@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@+ o+++ + == %@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% == + xx++ %@$$$$@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% ++xx + ==+· x@$$$@@%=*%$$@@@@@@@@@@@$$$$$@@@@@@@@@@@@@@@@@@$$$$$@x ·+== + == @$$$$% ~$@$$$@= x@$$$$$@ == + == $$$$@* %$$@· @$$$$$ == + == ·@$$$@* $$$$+ $$$$$@· == + == ·@$$$$$~ ~ox+=%@@$$$@@*==============*$@$$$$$@· == + == ·@$$$$$@@@@@@@@@@@@@@@@@$$$$$$$@@@@@@@@@@@@@@@@$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + == $@$$$$$$$$$$$$$$@@@@$$$$$$$$$$$$$$@@@@$$$$$$$$$$$$$$@$ == + ==+o +@@@$$$$$$$@@@$***%@@@@$$$$$$@@@@%***$@@@$$$$$$$@@@+ o+== + ++== ·=$@@@@@$*~ +%@@@@@@%+ ~*$@@@@@$=· ==++ + ===+ +=== + ++====x+ *=**== ==**=* +x====++ + ++=====**%******=========**%****%**=========******%**=====++ + ++++========++xx ++++========++++ xx++========++++ + + diff --git a/src/build/framegen/frames/frame_003.txt b/src/build/framegen/frames/frame_003.txt new file mode 100644 index 000000000..6da88ffbf --- /dev/null +++ b/src/build/framegen/frames/frame_003.txt @@ -0,0 +1,41 @@ + + ++====****====++ + ==***%==xo ox==%***== + ===*++ ++*=== + ++**x+ ·oxx++xxo· +x**++ + ===+ o=$@@@@@@@@@@@@@@@@@@$=o +=== + **+x o%@@@@$$$$$$$$$$$$$$$$$$$$@@@@%o x+** + ==+o ~$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@$~ o+== + ++++ +@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@+ ++++ + ox== o@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@o ==xo + ==+~ %@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% ~+== + ox== @@$$$@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ ==xo + +++x @$$$$@+ ·+*$@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ x+++ + ==+ *@$$$@ o=%@@@@$$$$@@@@@@@@@@@@@@@@@@@@$$$$@* +== + == @$$$$$o %$$$$$ *$$$$$@ == + == $$$$$$@@=· @$$@ @$$$$$ == + == ·@$$$$$x %$$$$% =$$$$$@· == + == ·@$$$$@ ·x*$@@@$$$$@@@@@@@@@@@@@@@@@@@@$$$$$@· == + == ·@$$$$$@x o=%@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + == %@$$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$$@% == + ==+x ~$@@@@$$$$@@@@%+xx=$@@@@$$$$@@@@$=xx+*@@@@$$$$@@@@$~ x+== + ++== x*$@@@$*x ·=%$@@$%=· x*$@@@$*x ==++ + ==== =+== + x+====+= x+*===+= ======+x =+====xx + ++====*%%%%***====++====*%*%%*%*====++=====**%%%%*====++ + xx++++====++++ ++++====++++ ++++====++++xx + + diff --git a/src/build/framegen/frames/frame_004.txt b/src/build/framegen/frames/frame_004.txt new file mode 100644 index 000000000..5ad3a8112 --- /dev/null +++ b/src/build/framegen/frames/frame_004.txt @@ -0,0 +1,41 @@ + + ++==************==++ + ++***%=*x~ ~x*=%***++ + ++**+= ==**++ + ==== ~x=*%%%%%%*=x~ ==== + xx**++ o*$@@@@@@@@@@@@@@@@@@@@$*o ++**xo + oo**o~ *@@@@$$$$$$$$$$$$$$$$$$$$$$@@@@* ~o**oo + **o· =@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@= ·o** + ==+x %@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@% x+== + xx== *@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@* ==xx + ==x· @@$$@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ ·x== + xx== @$$$@% x%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ ==xx + +++o @$$$@* ~=@@@@$$$$$$$$$@@@@@@@@@@@@@@@@$$$$$$@ o+++ + == %$$$$$% +$@@$$$$@@%**************%@@$$$$$% == + == @$$$$$@@%+ $$$$$+ ~@$$$$@ == + == $$$$$$$@@@@= *@$$@· @$$$$$ == + == ~@$$$$$@= %@$$$$@+ o$$$$$$@~ == + == ·@$$$$@= ~*@@@@$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$@· == + == ·@$$$$$$ x%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$@@@$@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + == +@@$$$$$$$$$$$@@@@@@@$$$$$$$$$$$$@@@@@@@$$$$$$$$$$$@@+ == + ==++ *@@@@@@@@@@@%x ~=@@@@@@@@@@@@=~ x%@@@@@@@@@@@* ++== + x+==x· o=***=x ~+****+~ x=***=o ·x==xx + ====xo xx x+ ox==== + ======+x =+=*====++ ++====*=+= x+====== + ++==***%********++++==************==++++********%***==++ + ++++++++++ +x++++++++xx ++++++++++ + + diff --git a/src/build/framegen/frames/frame_005.txt b/src/build/framegen/frames/frame_005.txt new file mode 100644 index 000000000..e93b295d5 --- /dev/null +++ b/src/build/framegen/frames/frame_005.txt @@ -0,0 +1,41 @@ + + +==*****%%%%*****==+ + ++***%=+ +=%***++ + ++**+= =+**++ + **== ·x=*%$$$$$$%*=x· ==** + xx**xx x%@@@@@@@@@$$$$@@@@@@@@@%x xx**xx + xx** ~%@@@@$$$$$$$$$$$$$$$$$$$$$$@@@@%~ **xx + **o· %@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@% ·o** + ==+o $@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$ o+== + ++++ %@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% +++x + == @@$$@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ == + xx== @$$$$o o*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ ==xx + +++o @$$$@% o*@@@@$$$$$$$$@@@@@@@@@@@@@@@@@$$$$$@ o+++ + == $$$$$$$o o*@$$$$$@@=+++++++++++++++$@$$$$$$ == + == @$$$$$$@@$=· $$$$@x @$$$$@ == + == $$$$$$$@@@$= $$$$@~ @$$$$$ == + == ·@$$$$$@* x@@$$$$@*~ ~=@$$$$$@· == + == ·@$$$$@% x%@@@$$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$@· == + == ·@$$$$$$ x%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$@@%$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + == ~@@$$$$$$$$$$$@@@@@@@@$$$$$$$$$$@@@@@@@@$$$$$$$$$$$@@~ == + ++++ +@@@@@@@@@@@*~ x$@@@@@@@@@@$x ·*@@@@@@@@@@@+ ++++ + xx==+~ x+=+x· o+==+o ·x+=+x ~+==xo + ++==+x == == x+==++ + ++====++ ox=+==**==+= =+=***==+*+x ++====++ + x+==**********==++++++************++++++==**********==++ + ++++++xx xx++++xx ++++++++ + + diff --git a/src/build/framegen/frames/frame_006.txt b/src/build/framegen/frames/frame_006.txt new file mode 100644 index 000000000..f9ad60520 --- /dev/null +++ b/src/build/framegen/frames/frame_006.txt @@ -0,0 +1,41 @@ + + +++==*%%*%%%%%%*%%*===++ + ++**=*++ ++*=**++ + ++**=+ +=**++ + xx**+= ~+*%$$@@@@$$%*+~ =+**+x + xx**ox +$@@@@@@@@$$$$$$@@@@@@@@$+ xo**xx + x+** x$@@@@$$$$$$$$$$$$$$$$$$$$$$@@@@$x **+x + oo** ·$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@$· **oo + ==+~ ·@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@· ~+== + ++++ %@$$$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% ++++ + == @@$$@$%$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ == + ox++ ~@$$$$ x%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ ++xo + +++~ @$$$@% +$@@@$$$$$$$@@@@@@@@@@@@@@@@@@$$$$$@ ~+++ + == $$$$$$@% =@$$$$$@%xooooooooooooooo*@$$$$$$ == + == @$$$$$$@@@$+ $$$$@o @$$$$@ == + == ·$$$$$$$@@@%+ $$$$@o @$$$$$· == + == ·@$$$$$$* =@@$$$$@$xoooooooooooooox*@$$$$$@· == + == ·@$$$$@% +$@@@$$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$@· == + == ·@$$$$$$ x$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$@@%$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + ==x· @@@$$$$$$$$$@@@@@@@@@$$$$$$$$$$@@@@@@@@@$$$$$$$$$@@@ ·x== + ++++ ~%@@@@@@@@@$x ·*@@@@@@@@@@*· x$@@@@@@@@@%~ ++++ + xx==+x ooo· ~oo~ ·oo~ x+==xo + x+==++ +%% %%+o ++==+x + ++=*==+*xx ++*=**==**+*++ ++*+**==**=*++o~ xx*+==**++ + ++==********=+xx ++==********==++ xx++********==++ + + + diff --git a/src/build/framegen/frames/frame_007.txt b/src/build/framegen/frames/frame_007.txt new file mode 100644 index 000000000..782560082 --- /dev/null +++ b/src/build/framegen/frames/frame_007.txt @@ -0,0 +1,41 @@ + + ++++=**%**%%%%**%**=++++ + ==****++ ++*=**== + ++**=+ +=**++ + x+**+= ~+*%$$$@@$$$%*+~ =+**+x + ++**ox +$@@@@@@@@$$$$$$@@@@@@@@$+ xo**++ + x+** x$@@@@$$$$$$$$$$$$$$$$$$$$$$@@@@$x **+x + xx** $@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@$ **xx + ==+~ ·@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@· ~+== + x+++ %@$$$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% +++x + == @@$$@$%%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ == + xx++ ~@$$$$ o%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ +++x + +++~ @$$$@$ +$@@@$$$$$$$@@@@@@@@@@@@@@@@@@$$$$$@ ~+++ + == $$$$$$@%· =@$$$$$@%xooooooooooooooo*@$$$$$$ == + == @$$$$$$@@@$=· $$$$@o @$$$$@ == + == ·$$$$$$$@@@$+ $$$$@o @$$$$$· == + == ·@$$$$$$% =@$$$$$@$+xxxxxxxxxxxxxxx%@$$$$$@· == + == ·@$$$$@% +$@@@$$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$@· == + == ·@$$$$$$ x%@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$@@%$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + ==x· @@@$$$$$$$$$@@@@@@@@@$$$$$$$$$$@@@@@@@@@$$$$$$$$$@@@ ·+== + ++++ ·%@@@@@@@@@%o =$@@@@@@@@$= ~%@@@@@@@@@%· ++++ + ==+x ··· ·· ·· x+== + ++=*++ ++%% %*++ ++*=++ + ++==**=*++ooxx+=*=**==**=*=+xxxx+=%=**==**=*=+xxxx++*=**==+x + +++=******==++xx ++++********++++ xx++==******++++ + + + diff --git a/src/build/framegen/frames/frame_008.txt b/src/build/framegen/frames/frame_008.txt new file mode 100644 index 000000000..3e4706fdd --- /dev/null +++ b/src/build/framegen/frames/frame_008.txt @@ -0,0 +1,41 @@ + + ++++==**%%%%%%%%**==++++ + +=***%== ==%***=+ + ++**+= =+**++ + x+**=+ ·o+*%$$$$$$%*+o· +=**+x + x+**xx x%@@@@@@@@@$$$$@@@@@@@@@%x xx**+x + x+**~ ~%@@@@$$$$$$$$$$$$$$$$$$$$$$@@@@%~ ~**+x + ox**o· %@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@% ·o**xo + ==+o $@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$ o+== + x+++ %@$$$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% +++x + ==x @@$$@@%$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ x== + x++= @$$$$ x%@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ =+xx + +++o @$$$@% +$@@@$$$$$$$$@@@@@@@@@@@@@@@@@$$$$$@ o+++ + == $$$$$$@% ·*@$$$$$@$+xxxxxxxxxxxxxxx%@$$$$$% == + == @$$$$$$@@@%+ $$$$@o @$$$$@ == + == $$$$$$$@@@$*· $$$$@~ @$$$$$ == + == ·@$$$$$@%· +@$$$$$@%x~~~~~~~~~~~~~~o*@$$$$$@· == + == ·@$$$$$$ x%@@@$$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$@· == + == ·@$$$$$$ o%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$@$*%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ == + == @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ == + ==x· $@@$$$$$$$$$@@@@@@@@@@$$$$$$$$@@@@@@@@@@$$$$$$$$$@@$ ·+== + +++= =@@@@@@@@@*· x%@@@@@@@@%x *@@@@@@@@@* =+++ + ==++ +=== + xx=*=+ ++%%+x x+%%++ +=**xx + ++**=*=+++++==*=**++**=%==++++==%=**++**=***+++++=*=**++ + xx++==**==++++ ++========++ ++++======++xx + + + diff --git a/src/build/framegen/frames/frame_009.txt b/src/build/framegen/frames/frame_009.txt new file mode 100644 index 000000000..00e5a6170 --- /dev/null +++ b/src/build/framegen/frames/frame_009.txt @@ -0,0 +1,41 @@ + + ++++==***%%%%%%***==++++ + +=****=*o~ ~o*=%***=+ + ++**=* *=**++ + x+**== ~x=*%%%%%%*=x~ ==**+x + ++**++ o*$@@@@@@@@@@@@@@@@@@@@$*o ++**++ + x+**o~ *@@@@$$$$$$$$$$$$$$$$$$$$$$@@@@* ~o**+x + xx**o· =@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@= ·o**xx + ==+o %@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@% o+== + x+++ *@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@* +++x + ==x· @@$$@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ ·x== + x+== @$$$$~ ·*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ ==+x + +++o @$$$@% ~*@@@@$$$$$$$$@@@@@@@@@@@@@@@@$$$$$$@ o+++ + == %$$$$$$+ o%@$$$$$@@=++++++++++++++=$@$$$$$% == + == @$$$$$$@@$*~ $$$$@x @$$$$@ == + == $$$$$$$$@@@%~ $$$$@~ @$$$$$ == + == ~@$$$$$@$~ x@$$$$$@*~ ·+@$$$$$@~ == + == ·@$$$$$$ o*@@@$$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$@· == + == ·@$$$$$$ ~*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$@$**@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ == + == @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ == + ==+· %@@$$$$$$$$$@@@@$$@@@@$$$$$$$$@@@@$$@@@@$$$$$$$$$@@$ ·+== + x+== =$@@@@@@@@* o%@@@@@@@@%o *$@@@@@@@$= ==+x + ==++ ++== + ===+ +=%%++ ++%%== +=== + ++**=%==++++****==++**=***++++***=**++==****++++==%***++ + ++======++++ +++======++x ++++=====+++ + + + diff --git a/src/build/framegen/frames/frame_010.txt b/src/build/framegen/frames/frame_010.txt new file mode 100644 index 000000000..bdfaa69d9 --- /dev/null +++ b/src/build/framegen/frames/frame_010.txt @@ -0,0 +1,41 @@ + + xx++==************==++xx + ++***%*%++ ++%*%***++ + ++**=*+x x+*=**++ + xx====x ·ox+====+xo· x====xx + x+**++ x%@@@@@@@@@@@@@@@@@@@@%x ++**++ + xx**+o +$@@@@$$$$$$$$$$$$$$$$$$$$@@@@$+ o+**xx + oo**+~ x$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@$x ~+**oo + ==++ =@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@= ++== + ++== x@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@x ==++ + ==+· $@$$@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ ·+== + ox== @@$$@* ·=@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ ==xx + +++x @$$$$$ ·=@@@@$$$$$$$$$$@@@@@@@@@@@@@@@$$$$$$@ x+++ + == *$$$$$$ ~*@@$$$$$@@$%%%%%%%%%%%%%%$@@$$$$$* == + == @$$$$$$@@*· $$$$$= o$$$$$@ == + == $$$$$$$$@@@@x $$$$@ @$$$$$ == + == ~@$$$$$@@+ %$$$$$@x ~$$$$$$@~ == + == ·@$$$$$$ +$@@@$$$$$$@@@@@@@@@@@@@@@@@@@$$$$$@· == + == ·@$$$$$$ x$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$@*x+%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$· == + == @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ == + ==+· %@@@$$$$$$$$@@@@$$@@@@$$$$$$$$@@@@$$$@@@$$$$$$$$@@@% ~+== + xx== +$@@@@@@@$= ~%@@@@@@@@%~ =$@@@@@@@$+ ==xx + ===+ +=== + ==== ==%%++ ++%%== ==== + ++**=***++==%***==++***%**++++**%***++==***%==++**%=**++ + ++++==++++ x+++====+++x ++++==+++x + + + diff --git a/src/build/framegen/frames/frame_011.txt b/src/build/framegen/frames/frame_011.txt new file mode 100644 index 000000000..e3170d533 --- /dev/null +++ b/src/build/framegen/frames/frame_011.txt @@ -0,0 +1,41 @@ + + ++++==********==++++ + ++*****%**+x x+**%*****++ + ++**=*++ ++*=**++ + ====++ ~ooxxoo~ ++==== + xx**++ ~+%@@@@@@@@@@@@@@@@@@%+~ ++**xx + ++**++ ~*@@@@@$$$$$$$$$$$$$$$$$$@@@@@*~ ++**+x + ==+x ·%@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@%· x+== + ==++ x@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@x ++== + xx== ~@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@~ ==xx + ==+~ %@$$$@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% ~+== + xx== @@$$@$o +$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ ==xx + +++x $$$$$$ +$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ x+++ + ==+ =@$$$$$ +$@@$$$$$@@@@@@@@@@@@@@@@@@@@$$$$@= +== + == @$$$$$$@%o x$$$$$% =$$$$$@ == + == $$$$$$$$@@@@= $@$$@ @$$$$$ == + == ~@$$$$$@@*~ +$$$$$% *$$$$$@~ == + == ·@$$$$$$ ·*@@@$$$$$@@@@@@@@@@@@@@@@@@@@$$$$$@· == + == ·@$$$$$$ =$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$@@x·~=@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$· == + == @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$$$$$$$$$$$$$$$@@ == + ==+· %@@@$$$$$$$$@@@$$$@@@@$$$$$$$$@@@@$$$@@@$$$$$$$$@@@% ~+== + xx== +$@@@@@@@$= ~*@@@@@@@@*~ =$@@@@@@@$+ ==xx + ===+ +=== + ====o ==%%++ ++%%=+ ==== + ++**=***=+==%***++++==***%====%***==++++***%====***=**++ + xx++++++++ ++====++ ++++++++xx + + + diff --git a/src/build/framegen/frames/frame_012.txt b/src/build/framegen/frames/frame_012.txt new file mode 100644 index 000000000..90a65ed52 --- /dev/null +++ b/src/build/framegen/frames/frame_012.txt @@ -0,0 +1,41 @@ + + ++++++========++++++ + ++==***%*%**==++++==**%*%***==++ + ++==**=*xo ox*=**==++ + ++**+= =+**++ + xx==*= ·+*$@@@@@@@@@@@@@@$*+· =*==xx + xx===+ o%@@@@@$$$$$$$$$$$$$$$$@@@@@%o +===xx + ==++ x$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$@@@$x +=== + ++=+ %@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@% +=++ + xx== %@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@% ==xx + ==+x x@@$$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@x x+== + xx== %@$$$@%**$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% ==xx + ++++ %@$$$$ =@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% ++++ + ==+· o@$$$$$ ·=@@@@$$$$$$@@@@@@@@@@@@@@@@@@$$$$$@o ·+== + == @$$$$$@$~ ~$@$$$$@+ x@$$$$$@ == + == $$$$$$$$@@@%o $$$$@· @$$$$$ == + == ·@$$$$$$@@%x $$$$$+ ~$$$$$@· == + == ·@$$$$$$~ +$@$$$$$@@%***************@@$$$$$@· == + == ·@$$$$@% +$@@@$$$$$$$$$@@@@@@@@@@@@@@@@$$$$$$$@· == + == ·@$$$$$$= x$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$· == + == @@$$$$$$$$$$$$$$$@$$$$$$$$$$$$$$$$$$@$$$$$$$$$$$$$$$@@ == + ==+~ %@@@$$$$$$$$@@@$$$@@@@$$$$$$$$@@@@$$$@@@@$$$$$$$@@@% ~+== + x+== +%@@@@@@@$+ ~*@@@@@@@@*~ +$@@@@@@@%+ ==+x + ++=+ +=++ + ++==o ==%%++ ++%%== o==++ + ++***%**====%***++++==***%====%***==++++***%====**%***++ + ++++++++ ++++++++ x+++++++ + + + diff --git a/src/build/framegen/frames/frame_013.txt b/src/build/framegen/frames/frame_013.txt new file mode 100644 index 000000000..b2b6a980c --- /dev/null +++ b/src/build/framegen/frames/frame_013.txt @@ -0,0 +1,41 @@ + + ++++++++====++++++++ + ++++*******%********%*******++++ + +x==**=*=+ +=*=**==xx + ++**== ==**++ + ====++ ·x*%@@@@@@@@@@@@%*x· ++==== + ===+ +$@@@@@@$$$$$$$$$$$$@@@@@@$+ +=== + ===+ ·%@@@@$$$$$$$$$$$$$$$$$$$$$$$$@@@@%· +=== + ++== +@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@+ ==++ + xx==o· =@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@= ·o==xo + ==++ @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ ++== + ox== +@$$$@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ ==xo + ++++ =@$$$$~ ·=@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= ++++ + ==+· ·@$$$$$ ~*@@@@$$$$$$$$@@@@@@@@@@@@@@@@@$$$$$@· ·+== + == @$$$$$$+ ~*@$$$$$@$+xxxxxxxxxxxxxx+%@$$$$$@ == + == @$$$$$$@@@*o $$$$@x @$$$$@ == + == ·@$$$$$$@@@$= $$$$@~ @$$$$@· == + == ·@$$$$$@* +@$$$$$@%o~~~~~~~~~~~~~~o*@$$$$$@· == + == ·@$$$$$$ +$@@@$$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$@· == + == ·@$$$$$$ x$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$@@$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$· == + == @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$$$$$$$$$$$$$$$@@ == + ==+· %@@@$$$$$$$$@@@$$$@@@@$$$$$$$$@@@@$$$@@@$$$$$$$$@@@% ~+== + xx== +$@@@@@@@$= ~%@@@@@@@@%~ =$@@@@@@@$+ ==xx + ++=+ +=++ + ++==o ==%%++ ++%%== o==++ + ++***%**====%***++++==***%====%***==++++***%====**%***++ + ++++++++ ++++++++ ++++++++ + + + diff --git a/src/build/framegen/frames/frame_014.txt b/src/build/framegen/frames/frame_014.txt new file mode 100644 index 000000000..96194979c --- /dev/null +++ b/src/build/framegen/frames/frame_014.txt @@ -0,0 +1,41 @@ + + xx++++++++++++xx + ++==*****%*%%%%%%*%*****==++ + ++*****%=+ +=%*****++ + ++====+* *+====++ + ++==+= ·x+*%%$$$$%%*+x· =+==++ + ====xx x%@@@@@@@@@$$$$@@@@@@@@@%x xx==== + ++==o~ ~%@@@@$$$$$$$$$$$$$$$$$$$$$$@@@@%~ ~~==+= + ++==o· *@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@* ·o==++ + xx==+o $@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$ o+==xx + ++++ %@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@% ++++ + ox==x @@$$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ x==xo + ++++ @$$$@$x ·+$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ ++++ + ==+o @$$$$$ +$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ o+== + == $$$$$$$ =$@@$$$$$@@@@@@@@@@@@@@@@@@@@$$$$$$ == + == @$$$$$$@%o x$$$$$% *$$$$$@ == + == $$$$$$$$@@@@+ $$$$@ @$$$$$ == + == ·@$$$$$$@%o x$$$$$% *$$$$$@· == + == ·@$$$$$$ =$@@$$$$$@@@@@@@@@@@@@@@@@@@@$$$$$@· == + == ·@$$$$$$ +$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$@$x ·+$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$· == + == @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ == + ==+· %@@$$$$$$$$$@@@@$$@@@@$$$$$$$$@@@@$$@@@@$$$$$$$$$@@% ·+== + xx== +$@@@@@@@$= o%@@@@@@@@%o =$@@@@@@@$+ ==xx + ++=+ +=++ + ++== ==%%++ ++%%== ==++ + x+=*=***++==%***++xx==*%**====**%*==xx++***%==++***=*=+x + ++++++++ ++++++++ ++++++++ + + + diff --git a/src/build/framegen/frames/frame_015.txt b/src/build/framegen/frames/frame_015.txt new file mode 100644 index 000000000..33cf5ec65 --- /dev/null +++ b/src/build/framegen/frames/frame_015.txt @@ -0,0 +1,41 @@ + + ++++++++++++ + xx++==****************==++xx + ++==**=***++o o++***=**==++ + x+=====*+x x+*=====+x + ++====ox ·ox++==++xo· xo====++ + ++==++ x*$@@@@@@@@@@@@@@@@@@$*x ++==++ + ++==+x x$@@@@$$$$$$$$$$$$$$$$$$$$@@@@$x x+==++ + ++==+o x@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@@x o+==++ + ===+ =@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@= +=== + ++== x@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@x ==++ + ==+· $@$$$$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ ·+== + ++== @@$$$@$**@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ ==++ + +++x @$$$$$ ~*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ x+++ + == *$$$$@$ ~*@@@$$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$* == + == @$$$$$@$~ o$$$$$$@= x@$$$$$@ == + == $$$$$$$$@@@%~ $$$$@· @$$$$$ == + == ~@$$$$$$@@$x $$$$$+ ·@$$$$@~ == + == ·@$$$$$$o x$@$$$$$@@*==============*$@$$$$$@· == + == ·@$$$$@% x%@@@@$$$$$$$$@@@@@@@@@@@@@@@@$$$$$$$@· == + == ·@$$$$$$+ x%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ == + == @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ == + ==+· $@@$$$$$$$$$@@@@$@@@@@$$$$$$$$@@@@@$@@@@$$$$$$$$$@@$ ·+== + xx== =$@@@@@@@@* o%@@@@@@@@%o *@@@@@@@@$= ==xo + ++=+ +=++ + ++== ==%%++ ++%%== ==++ + x+**=%==++++%***=+x+==*%**++++**%*==+++=***%++++=*%=**+x + ++++++++ ++++++++ ++++++++ + + + diff --git a/src/build/framegen/frames/frame_016.txt b/src/build/framegen/frames/frame_016.txt new file mode 100644 index 000000000..50eea7832 --- /dev/null +++ b/src/build/framegen/frames/frame_016.txt @@ -0,0 +1,41 @@ + + xxxx + ++++==************==++++ + xx++==****%%=*++++++++*=%*****==++xx + ++=====*+~ ~+*=====++ + ++====+= =+====++ + ++===+ ·+*$@@@@@@@@@@@@@@$*+· +===++ + ++===+ o%@@@@@$$$$$$$$$$$$$$$$@@@@@%o +===++ + xx===+ x@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$@@@@x +===xx + ==++ %@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@% ++== + ++== %@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@% ==++ + ==+x x@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@x x+== + xx== %@$$$@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% ==++ + ++++ %@$$$$* ~*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% ++++ + ==x· o@$$$$$ ~*@@@@$$$$$$$$$$@@@@@@@@@@@@@@$$$$$$$@o ·x== + == @$$$$$$ ~*@@$$$$$@@$%%%%%%%%%%%%%%$@@$$$$$@ == + == $$$$$$$@@= $$$$$* x$$$$$$ == + == ·@$$$$$$$@@@@x $$$$@ @$$$$@· == + == ·@$$$$$@@+ *$$$$$$o ·$$$$$$@· == + == ·@$$$$$$ x$@@@$$$$$$@@@@@@@@@@@@@@@@@@@$$$$$@· == + == ·@$$$$$$ x%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$@@*x+%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + ==x· @@@$$$$$$$$$@@@@@@@@@$$$$$$$$$$@@@@@@@@@$$$$$$$$$@@@ ·+== + xx== *@@@@@@@@@%~ +$@@@@@@@@$+ ~%@@@@@@@@@* ==xx + ===+ +=== + ===+ ++%% %%++ +=== + ++***%++++++**%*=+++===*==++x+==*===++++*%**++x+++%***++ + x+++====++ ++==++++ ++====+++x + + + diff --git a/src/build/framegen/frames/frame_017.txt b/src/build/framegen/frames/frame_017.txt new file mode 100644 index 000000000..e05674a72 --- /dev/null +++ b/src/build/framegen/frames/frame_017.txt @@ -0,0 +1,41 @@ + + + ++++++============++++++ + ++==**==*%*%********%*%*==**==++ + ++=====*== ==*=====++ + ++======+x x+======+x + ++====++ o=%$@@@@@@@@@@$%=o ++====++ + ++==== x%@@@@@@$$$$$$$$$$$$@@@@@@%x ====+x + xx===+ *@@@@$$$$$$$$$$$$$$$$$$$$$$$$@@@@* +===xx + ==== +@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@+ ==== + x+==x· +@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@+ ·x==++ + ==++ @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ ++== + xx== x@$$$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x ==xo + ++++ +@$$$@@=ox%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ ++++ + ==+~ @$$$$$ o%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ ~+== + == $$$$$$$ x%@@@$$$$$$@@@@@@@@@@@@@@@@@@@$$$$$$ == + == @$$$$$@@+ *$$$$$$~ %$$$$$@ == + == ·@$$$$$$$@@@@+ $@$$@ @$$$$@· == + == ·@$$$$$$@$= ~$$$$$* x$$$$$@· == + == ·@$$$$$$ o%@@$$$$$@@@$$$$$$$$$$$$$$$@@$$$$$@· == + == ·@$$$$$$ o*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$@% ~*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + ==x· @@@$$$$$$$$$@@@@@@@@@$$$$$$$$$$@@@@@@@@@$$$$$$$$$@@@ ·+== + ++++ ~%@@@@@@@@@%o =@@@@@@@@@@= o%@@@@@@@@@%~ ++xx + ==+x ~~~ ·~~· ~~· x+== + ==++ x+%% %%++ +=== + ++**=%++ooox==*===++**=%++xoox++%=**++===*==xooo++%=**++ + ++++==++++ ++++====++++ ++++==++++ + + + diff --git a/src/build/framegen/frames/frame_018.txt b/src/build/framegen/frames/frame_018.txt new file mode 100644 index 000000000..5e92ec0e0 --- /dev/null +++ b/src/build/framegen/frames/frame_018.txt @@ -0,0 +1,41 @@ + + + ++++++++++++++++++++ + xx++==****=**%%%%%%**=****==+++x + x+++====*%==o~ ~o==%*====+++x + ++====+= =+====++ + ====++ o+=*%%%%%%*=+o ++==== + ====xx o*$@@@@@@@@@@@@@@@@@@@@$*o xx==== + ====o· ·*@@@@$$$$$$$$$$$$$$$$$$$$$$@@@@*· ·o==== + ++==o· *@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@* ·o==++ + xx==+o $@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$ o+==xx + ==++ *@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@* ++== + xx==x· @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ ·x==xo + ++++ @$$$$@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ ++++ + ==+o @$$$$$~ =$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ o+== + == %$$$$@% ·*@@@@$$$$$$$$@@@@@@@@@@@@@@@@@$$$$$$% == + == @$$$$$$= ~*@$$$$$@$+xxxxxxxxxxxxxxx%@$$$$$@ == + == $$$$$$$@@@*o $$$$@o @$$$$$ == + == ·@$$$$$$@@@$+ $$$$@~ @$$$$@· == + == ·@$$$$$@* +@$$$$$@%o~~~~~~~~~~~~~~o*@$$$$$@· == + == ·@$$$$@% +$@@@$$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$@· == + == ·@$$$$$$ +%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$@@$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + == ·@@$$$$$$$$$$$@@@@@@@@$$$$$$$$$$@@@@@@@@$$$$$$$$$$$@@· x== + ++++ x$@@@@@@@@@@= o%@@@@@@@@@@%o =@@@@@@@@@@$x ++++ + ==+o ox++o ~x++x~ o++xo o+== + **+x ** ** x+** + ++**+=o~ ++*+**==**+*xo ox*+**++**+*++ ~o=+**++ + ++==****++++ ++==****==++ ++++=***==++ + + + diff --git a/src/build/framegen/frames/frame_019.txt b/src/build/framegen/frames/frame_019.txt new file mode 100644 index 000000000..f528dc876 --- /dev/null +++ b/src/build/framegen/frames/frame_019.txt @@ -0,0 +1,41 @@ + + + ++++++++++++++++ + ++++==****************==++++ + ++===****%++~~ ~~++%****===++ + ++=====*+x x+*=====++ + ++====xx ·ox+====+xo· xx====++ + ====++ x%$@@@@@@@@@@@@@@@@@@$%x ++==== + ++==+o x$@@@@$$$$$$$$$$$$$$$$$$$$@@@@$x o+==++ + ++==+o x$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$x o+==++ + ox==++ =@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@= ++==xo + +++= x@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@x =+++ + ox==+· $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ ·+==xo + ++== @@$$$@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ ==++ + ==+x @$$$$@= +$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ x+== + == *$$$$$$ =$@@@$$$$$$$$$@@@@@@@@@@@@@@@@$$$$$$$* == + == @$$$$$$· =@@$$$$$@@%**************%@@$$$$$@ == + == $$$$$$$@@*o $$$$$= ~@$$$$$ == + == ~@$$$$$$$@@@@o $$$$@ @$$$$@~ == + == ·@$$$$$@$o ·%$$$$$@+ o$$$$$$@· == + == ·@$$$$$$ =$@@@$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$@· == + == ·@$$$$$$ =$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$@%==$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + == o@@$$$$$$$$$$$@@@@@@@$$$$$$$$$$$$@@@@@@@$$$$$$$$$$$@@o == + ++++ =@@@@@@@@@@@%o +$@@@@@@@@@@$+ o%@@@@@@@@@@@= ++++ + **x~ ~+===+o x====x o+===+~ ~+** + **xx ++ ++ xx** + ==**++ ~o*+**==**+= =+**==**+*o~ ++==== + +==*****=+++ ++=******=++ +++==****==+ + + + diff --git a/src/build/framegen/frames/frame_020.txt b/src/build/framegen/frames/frame_020.txt new file mode 100644 index 000000000..02720e639 --- /dev/null +++ b/src/build/framegen/frames/frame_020.txt @@ -0,0 +1,41 @@ + + + ++++++++ + ++++==************==++++ + ++++****=***=+xo~~~~ox+=%**=****++++ + xx++===*+= =+*===++xx + ++====++ ·~~~~· ++====++ + ++===+ x*$@@@@@@@@@@@@@@@@$*x +===++ + ++==++ =@@@@@$$$$$$$$$$$$$$$$$$@@@@@= ++==++ + x+===+ *@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@* ++==+x + ==++ ~$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$~ ++== + ++== @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ ==++ + ==+o *@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* o+== + ++== $@$$$@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ ==++ + +++x $@$$$@$o x$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ x+++ + ==x· +@$$$$$ +$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ ·x== + == @$$$$$$ +$@@$$$$$@@@@@@@@@@@@@@@@@@@@$$$$$@ == + == $$$$$$@@%x x$$$$$% =$$$$$$ == + == ~@$$$$$$$@@@@= $@$$@ @$$$$@· == + == ·@$$$$$@@*~ +$$$$$% *$$$$$@· == + == ·@$$$$$$ ·=@@@$$$$$@@@@@@@@@@@@@@@@@@@@$$$$$@· == + == ·@$$$$$$ ·=$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$@@x·~=$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + == *@@$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$@@* == + +++x $@@@@$$$@@@@@*x~o+%@@@@@$$@@@@@%+o~o=$@@@@$$@@@@@$ x+++ + **o ~=%$$$%=o +*$$$$*+ o=%$$$%=~ o** + xx**o~ ~~**xx + xx**+* ++=***=*+x x+*=****++ *+**xx + ++==*%%%%%**== x+++*%%%%%%*+++x ++**%%%%%*==++ + + + diff --git a/src/build/framegen/frames/frame_021.txt b/src/build/framegen/frames/frame_021.txt new file mode 100644 index 000000000..e7305fbc6 --- /dev/null +++ b/src/build/framegen/frames/frame_021.txt @@ -0,0 +1,41 @@ + + + + ++++====********====++++ + ++==**=**%**++++++++**%**=**==++ + ++=*=*=* ~ *=*===++ + ++====+= =+====+x + ++===+ ~+%$@@@@@@@@@@@@@@$%+· +===+x + ++==++ x$@@@@@$$$$$$$$$$$$$$$$@@@@@%x +===+x + xx==++ +@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$@@@@+ +===xo + ==++ $@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@% ++== + ++== $@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@% ==++ + ==+o +@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@x x+== + xx== %@$$$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* ==xx + ++++ %@$$$@@+~o*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* ++++ + ==x· +@$$$$% ~*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@o ·+== + == @$$$$$$ ~*@@@$$$$$@@@@@@@@@@@@@@@@@@@@$$$$$@ == + == $$$$$$@@*· =$$$$$$ %$$$$$$ == + == ~@$$$$$$$@@@@+ $$$$@ @$$$$@ == + == ~@$$$$$@@%x o$$$$$* =$$$$$@ == + == ~@$$$$$$ +$@@$$$$$@@@@@@@@@@@@@@@@@@@@$$$$$@ == + == ~@$$$$@% x%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + == ~@$$$$$@$~ x$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + == ~@$$$$$$@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + == ~@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + == ~@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + == ~@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + == ~@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + == ~@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + == ~@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + == ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + == %@$$$$$$$$$$$$$@@@@@$$$$$$$$$$$$$$@@@@@$$$$$$$$$$$$$@% == + +++o o@@@@$$$$$@@@@%*+=*$@@@$$$$$$@@@@*=+=%@@@@$$$$$@@@@o o+++ + o ** +%@@@@@%= o*$@@@@$*o +%@@@@@%+ ** + ++** **++ + x+**+= x****== ==**=*xo =+**++ + ++**%%%%%%%*==++ ++==%%%%%%%*==++ x+==*%%%%%%%**=+ + + + diff --git a/src/build/framegen/frames/frame_022.txt b/src/build/framegen/frames/frame_022.txt new file mode 100644 index 000000000..943c44325 --- /dev/null +++ b/src/build/framegen/frames/frame_022.txt @@ -0,0 +1,41 @@ + + + + ++++++========++++++ + ++==*****%*%********%%%*****+++x + ++==***%++ ++*=**==+x + ==**+= *+**++ + ox====oo o=%$@@@@@@@@@@@@$%+~ xx==== + xx===+ ~*@@@@@@$$$$$$$$$$$$$@@@@@@$+ ==== + ===+ x$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$@@@* ++== + ==++ %@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@+ ==++ + ++== %@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@+ ·x==xx + ==+o +@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ ++++ + xx== %@$$$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@o ==xo + +++x $@$$$@@*+=$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@o ++xx + ==x =@$$$$% +$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ o+++ + == @$$$$@* +$@@@$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$% == + == o$$$$$$@$o ·$$$$$$$o o$$$$$$@ == + == +@$$$$$$$@@@@o @$$$@ @$$$$$ == + == =@$$$$$$@@=· ~@$$$@+ +@$$$$@ == + == +@$$$$$$ ~*@@$$$$$@@$%%%%%%%%%%%%%%$@@$$$$$@ == + == +@$$$$@* ~*@@@@$$$$$$$$$@@@@@@@@@@@@@@@@$$$$$$$@ == + == +@$$$$$@= ·*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + == +@$$$$$$@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + == +@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + == +@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + == +@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + == x@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + == x@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + == x@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + == x@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + == o$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ == + == @@$$$$$$$$$$$$$$$@$$$$$$$$$$$$$$$$$@@$$$$$$$$$$$$$$$@@ == + ==+· %@@@$$$$$$$$@@@$$$@@@@$$$$$$$$@@@@$$$@@@$$$$$$$$@@@% ~+== + xx== +$@@@@@@@$= ~*@@@@@@@@*~ +$@@@@@@@$+ ==xx + ++=+ +=++ + ++**oo ==%%=+ ++%%== oo=*++ + x+==*%=*===**=**++++++*%**====**%*++++++******==*=%*==+x + ++++++ x+++++++ ++++++ + + diff --git a/src/build/framegen/frames/frame_023.txt b/src/build/framegen/frames/frame_023.txt new file mode 100644 index 000000000..673dd9482 --- /dev/null +++ b/src/build/framegen/frames/frame_023.txt @@ -0,0 +1,41 @@ + + + + x+++++++==++++++++ + ++++*******%%%**%%%*%*%****=++ + xx==**=*++ ==****++ + ++**+= ++*=**++ + xx====oo ~+*$$@@@@@@@@@@$%=o +x*=++ + x+===+ ·=@@@@@@@$$$$$$$$$$$$@@@@@@%o ~==== + ===+ o$@@@$$$$$$$$$$$$$$$$$$$$$$$$$@@@@= ==++ + ==++ %@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$~ ==++ + ++== %@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@~ ~+== + ==+o +@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% ++++ + xx== $@$$$$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ ·x== + +++x @@$$$@@%=*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ ==xx + == %@$$$$* ~*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ x+++ + == @$$$$@= o*@@@$$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$+ ·+== + ox== =$$$$$$@%· o@$$$$$@o +@$$$$$$ == + ox++ %@$$$$$$$@@@%· @$$$@ @$$$$@ == + ox++ %@$$$$$@@@*~ ~@$$$@~ +@$$$$@ == + ox++ %@$$$$$$ ·=@@$$$$$@@***************%@@$$$$$@ == + ox++ %@$$$$@+ =$@@@$$$$$$$$$@@@@@@@@@@@@@@@@$$$$$$$@ == + ox++ %@$$$$$$x =$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + ox++ %@$$$$$$@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + ox++ *@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + ox== *@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + ox== *@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + ox== =@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + ox== =@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + ox== =@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + ox== +@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + == +$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + ==x @@@$$$$$$$$$@@@@@@@@@$$$$$$$$$$@@@@@@@@@$$$$$$$$$@@$ ·+== + ++++ ·*@@@@@@@@@%o +@@@@@@@@@@= ~%@@@@@@@@@* ==+x + ===x ·~· ~~ ·~· ++== + ==++ x+%% %%+x ++== + ++**=*++xoox==*===++===%==xoox==%=**+++=*%=*+xox++*=**++ + +++++==+++ +++==+++ ++====++++ + + diff --git a/src/build/framegen/frames/frame_024.txt b/src/build/framegen/frames/frame_024.txt new file mode 100644 index 000000000..2339b7811 --- /dev/null +++ b/src/build/framegen/frames/frame_024.txt @@ -0,0 +1,41 @@ + + + + x+++++++++++++ + ++==***%%%%%%%%%%*%*****+++x + ++***%== o+*=****++ + ++**=* ++====+x + ====xx x=%$@@@@@@@@@$%=x ++**++ + ===+ =$@@@@@@@$$$$$$$$$@@@@@@@$+ xx*=++ + ==++ o$@@@$$$$$$$$$$$$$$$$$$$$$$$$$@@@%~ ~o==++ + ===+ %@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@* ~x==xo + ++== $@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@% ++== + ==+~ *@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@x ==+x + x+++ @@$$$$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% o+== + ==+~ @$$$$@@%%$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ ==xo + == @$$$$$= +$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* ++++ + ox== x@$$$$@~ +$@@@$$$$$$$@@@@@@@@@@@@@@@@@@$$$$$@ o+++ + xx++ $$$$$$$@= =@$$$$$@x ~*@$$$$$= ·+== + ++++ @$$$$$$$@@@@+ @$$$@ x@$$$@% x== + ++++ @$$$$$$@@@*x o@$$$$ =@$$$@% == + ++++ @$$$$$$% =@@$$$$$@$===============*@@$$$$@% == + xx++ @$$$$$@~ +$@@@$$$$$$$$@@@@@@@@@@@@@@@@@$$$$$$@$ == + xx++ @$$$$$$$ +$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ == + xx++ @$$$$$$@@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ == + xx++ @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ == + xx++ @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ == + xx++ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + xx++ $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + xx++ %@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + xx++ %@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + ox++ *@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + ox== *$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ == + == o@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + == =@@$$$$$$$$$$$@@@@@@@$$$$$$$$$$$$@@@@@@@$$$$$$$$$$$@@ ·+== + +++x *@@@@@@@@@@@%o +$@@@@@@@@@@@=· ~*@@@@@@@@@@@= +++x + **x· ~+=**+o x=**=x· ~+=*=+~ ~+== + oo**xx ++ ++ o+** + ==**++ =+**==**+= ++**==**==x· ++==== + +==*%%**===+ ++=***%%*=++ ++===*%%*==+ + + diff --git a/src/build/framegen/frames/frame_025.txt b/src/build/framegen/frames/frame_025.txt new file mode 100644 index 000000000..9667d9db3 --- /dev/null +++ b/src/build/framegen/frames/frame_025.txt @@ -0,0 +1,41 @@ + + + + xx++++++++++ + ++==*****%%$%%%%%%%*****++xx + ++*****= x+%***==++ + ++**=* ==**== + ====xx o=%$$@@@@@@@$%*+o ==**xx + ===+ +$@@@@@@@$$$$$$$$$@@@@@@@%x x+**+x + ==++ o$@@@$$$$$$$$$$$$$$$$$$$$$$$$@@@@* o+**xx + ===+ %@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@+ o+== + ++== $@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@= +=++ + ==x· %@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@· ==xx + ++++ @@$$$$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= x+++ + ==+· @$$$$@@$%$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* ** + == @$$$$$= =$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x =+xx + xx++ *$$$$$@· =@@@@$$$$$$$@@@@@@@@@@@@@@@@@@$$$$$@ x+++ + ++++ @$$$$$$@x ·*@$$$$$@+· o%@$$$$$~ ~+++ + xx+x $$$$$$$$@@@$x ·@$$$$ +@$$$@= ·+++ + xx+x @$$$$$$@@@%x o@$$$$ *@$$$@= ·+== + xxxx @$$$$$$$ +$@$$$$$@%+++++++++++++++=@@$$$$@= ·+== + +++x @$$$$$@· +$@@@$$$$$$$$@@@@@@@@@@@@@@@@@$$$$$$@= ·+== + +++x @$$$$$$% x$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* ·+== + ++++ @$$$$$$@@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* ·+== + xx++ @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% x== + xx++ @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% x== + xx++ @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ == + xx++ @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ == + xx++ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + ox++ $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + ox++ %@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + ox++ %$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ == + ox== =@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + == $@$$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$@@x x== + +++o ~$@@@@$$$@@@@@*x~o+*@@@@@$$$@@@@%+o~o=$@@@@$$$@@@@% ++++ + ** ~+%$$$$*o x*$$$$%+· ~=%$$$%+~ ·o** + x+**~~ ~o**xx + x+**==o~ ++*=**=*++ oo==****++ =+**xx + ++==*%%%%%%*==xx xx==*%%%%%%*==++ +=*%%%%%%*==++ + + diff --git a/src/build/framegen/frames/frame_026.txt b/src/build/framegen/frames/frame_026.txt new file mode 100644 index 000000000..555811488 --- /dev/null +++ b/src/build/framegen/frames/frame_026.txt @@ -0,0 +1,41 @@ + + + + ++++++++ + ++++****%%%%%%%%%%%***==++ + ++**=*=* ++*=**++ + ++**=*x *=**++ + ++**xx o+*%$$@@@@@$$%=x· +=== + ===+ +$@@@@@@@$$$$$$$$@@@@@@@@*o ++**xx + ===+ x$@@@$$$$$$$$$$$$$$$$$$$$$$$$@@@@= o+** + ===+ %@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$o x=== + ++== ·@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@o ++++ + =*o· %@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ ** + ++++ @@$$$$$@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@o ++++ + ==x· ~@$$$$@@$%$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x == + ox== @$$$$$* ·=@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ ==xx + xx++ $$$$$$@· ·=@@@@$$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$ ++++ + +++x @$$$$$$$x ~*@$$$$$@+~~~~~~~~~~~~~~~o$@$$$$@ o+++ + +++o $$$$$$$$@@@%o ·@$$$$ +@$$$@~ ~+++ + +++o @$$$$$$$@@$+ ~@$$$$ =@$$$@o ~+++ + +++o @$$$$$$$· +$@$$$$$@*+xxxxxxxxxxxxxx=@@$$$$@o ~+++ + +++o @$$$$$@~ x%@@@@$$$$$$$@@@@@@@@@@@@@@@@@$$$$$$@o ~+++ + +++o @$$$$$$% o%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x ·+++ + +++x @$$$$$$@@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ ·+++ + +++x @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ ·+++ + xx+x @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= ·+== + ++++ @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* ·+== + xx++ @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% x== + xx++ @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ == + xx++ @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ == + ox++ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + ox++ %@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ == + ox++ %$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + == @@$$$$$$$$$$$$$$@@@@$$$$$$$$$$$$$$$@@@$$$$$$$$$$$$$$@* == + ==x· *@@@$$$$$$$@@@@%**%@@@@$$$$$$$@@@$%**$@@@$$$$$$$@@@x x+++ + xx== =$@@@@@@$+ o%@@@@@@@*· =$@@@@@$=· *= + ++== ==++ + ++**++ ==%%== ++%%** +x**++ + ++***%%%%%%***++ ++***%*%%%%***=+ x+==*%*%%%%***=+ + xxxx xxxx xx + diff --git a/src/build/framegen/frames/frame_027.txt b/src/build/framegen/frames/frame_027.txt new file mode 100644 index 000000000..d0b208088 --- /dev/null +++ b/src/build/framegen/frames/frame_027.txt @@ -0,0 +1,41 @@ + + + + +++x + xx++=***%%%%%%%%%%****++++ + ++***%=* ==%***++ + ++**=*x =+**++ + ++**xx o+*%$$@@@@$$$%=x· =*== + ===+ +$@@@@@@@@$$$$$$$@@@@@@@@*~ ++** + ==++ x$@@@$$$$$$$$$$$$$$$$$$$$$$$$@@@@+ x+*= + ===+ ·%@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$~ ++== + ++== ~@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@~ ==++ + ** $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ o*= + ++++ ~@@$$$$$@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@· ++++ + == o@$$$$@@$$$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ ·x== + ox== @$$$$$% =$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == o + xx++ $$$$$$@o ·=@@@@$$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$ ++xx + +++o @$$$$$$$x ~*@$$$$$@=~~~~~~~~~~~~~~~o$@$$$$@ x+++ + +++~ ~@$$$$$$$@@@%o @$$$@ x@$$$$ o+++ + +++~ ~@$$$$$$$@@$=· @$$$@ +@$$$@ o+++ + +++~ ·@$$$$$$$~ x%@$$$$$@%+xxxxxxxxxxxxxx+$@$$$$@· ~+++ + +++~ ·@$$$$$@x o%@@@@$$$$$$$@@@@@@@@@@@@@@@@@$$$$$$@~ ~+++ + +++o @$$$$$$$ o%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ ~+++ + +++o @$$$$$$@@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@o ~+++ + +++o @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x ·+++ + +++x @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ ·+++ + xx+x @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= ·+++ + +++x @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* ·+== + xx++ @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% == + xx++ @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ == + ox++ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + xx++ $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ == + ox++ %$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% == + ==x $@@@$$$$$$$$@@@@$$@@@@$$$$$$$$$@@@@$$@@@@$$$$$$$@@@= o+++ + x+== o%@@@@@@@@%o =@@@@@@@@$+ o%@@@@@@@$x ==xx + ++=+ +=++ + ++**++ ++%%*= %%%= x~=*++ + x+++*%*%====%*%*==xx++**=%*===***===++++***%**==*=%*==xx + ++++++++ xx++=+++ ++=+++ + diff --git a/src/build/framegen/frames/frame_028.txt b/src/build/framegen/frames/frame_028.txt new file mode 100644 index 000000000..aec5d18e8 --- /dev/null +++ b/src/build/framegen/frames/frame_028.txt @@ -0,0 +1,41 @@ + + + + + ++=***%%%%%%%%%%****++++ + ++***%=* · ==****++ + ++**=*x *=**+x + ++**xo o+*%$$@@@@$$%%=x ===+ + ===+ ·=$@@@@@@@@$$$$$$$@@@@@@@@=~ ++== + ==+x x$@@@$$$$$$$$$$$$$$$$$$$$$$$$@@@$+ x+== + ==++ ·$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$· +=++ + ++== o@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@· ==+x + ** $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% ·x== + ++++ o@$$$$$$@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ ++x+ + == +@$$$$@@@$$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ ·+== + ox== @$$$$$$ +$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + ++++ @$$$$$@= +$@@@$$$$$$$@@@@@@@@@@@@@@@@@@$$$$$% ++xx + +++o $$$$$$$@= =@$$$$$@*o~~~~~~~~~~~~~~o*@$$$$@ x+++ + +++~ x@$$$$$$$@@@$x @$$$@ @$$$$ o+++ + +++~ x@$$$$$$$@@$*~ @$$$@ ~@$$$@ o+++ + +++~ o@$$$$$$$x o*@$$$$$@%+xxxxxxxxxxxxxx+%@$$$$@ o+++ + +++~ o@$$$$$@* ~*@@@@$$$$$$$@@@@@@@@@@@@@@@@@@$$$$$@ o+++ + +++~ ~@$$$$$$$· ·*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ o+++ + +++~ ·@$$$$$$$@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· ~+++ + +++o @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ ~+++ + +++o @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x ~+++ + +++x @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ ·+++ + xx+x @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= ·+== + ++++ @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* ·+== + xx++ @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% == + xx++ @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ == + xx++ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ == + ox++ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + ox== o@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ == + == o@@@$$$$$$$$$$@@@@@@@@@$$$$$$$$$$@@@@@@@@$$$$$$$$$@@$ ~+++ + ++=+ +@@@@@@@@@@*~ ~%@@@@@@@@@$x +@@@@@@@@@* ==xo + ==+o ~~~ ·~~ ~~ +=== + ==== **++ =**= +=== + ++===*=+o~··++*=**++++*%=*x~··x+*=**++++**=*+x··++*=**++ + ++======++ +=++====++ ++======++ + diff --git a/src/build/framegen/frames/frame_029.txt b/src/build/framegen/frames/frame_029.txt new file mode 100644 index 000000000..a57630273 --- /dev/null +++ b/src/build/framegen/frames/frame_029.txt @@ -0,0 +1,41 @@ + + + + + ++=**%%%%%%%%%%%%*==+++x + ++==*%=* · ==****=+ + ++**=* *=**++ + ++**xo o=*%$$@@@@@$$%=x ==++ + ===+ ·=$@@@@@@@$$$$$$$$@@@@@@@@=~ ++== + ==+x +$@@@$$$$$$$$$$$$$$$$$$$$$$$$@@@$+ ++== + ===+ ~$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$· +=++ + ++=+ o@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@· ==++ + ** @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% ·x== + ++++ x@$$$$$$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ ++xx + == +@$$$$$@@$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ ·x== + ox== ~@$$$$$$ x%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + ++++ @$$$$$$$ +$@@@$$$$$$$@@@@@@@@@@@@@@@@@@$$$$$* ++xx + +++~ $$$$$$$@* +@$$$$$@%o~~~~~~~~~~~~~~~=@$$$$@ ++++ + +++· x@$$$$$$$@@@$= $$$$@o @$$$$ x+++ + +++· x@$$$$$$$@@@*o $$$$@x @$$$@ x+++ + +++· x@$$$$$$$= ~*@$$$$$@$+xxxxxxxxxxxxxx+%@$$$$@ o+++ + +++~ x@$$$$$@$ ·*@@@@$$$$$$$$@@@@@@@@@@@@@@@@@$$$$$@ o+++ + +++~ o@$$$$$$$x =$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ o+++ + +++~ ~@$$$$$$$@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ o+++ + +++~ ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ ~+++ + +++o @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@o ~+++ + +++o @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x ·+++ + +++x @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= ·+++ + +++x @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* ·+== + xx++ @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% == + xx++ @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ == + xx++ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ == + ox++ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ == + ~x== x@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + =* +@@@$$$$$$$$$$$@@@@@@@@$$$$$$$$$$@@@@@@@@$$$$$$$$$$@@ ·+++ + ++++ =@@@@@@@@@@@+ o$@@@@@@@@@@*~ =@@@@@@@@@$o =++x + **x~ ox+xo ~x++x· oxx~ x+== + **+= ==++ ++== ++** + ==**=*+x ·o*+**++===*++ =+*===++**+*~· ·o==**++ + ++++****==++ ++==**=+++ ++==**==++ + diff --git a/src/build/framegen/frames/frame_030.txt b/src/build/framegen/frames/frame_030.txt new file mode 100644 index 000000000..7a9f0d7b9 --- /dev/null +++ b/src/build/framegen/frames/frame_030.txt @@ -0,0 +1,41 @@ + + + + + ++=**%%%%%%%%%%*%*===+xx + ++===*== +=%***++ + x+**=* =+**+x + ++*= ·x=%$$@@@@@@$$%=x· ==++ + ==++ ~*@@@@@@@@$$$$$$$$@@@@@@@@*~ ++== + ==+x +@@@@$$$$$$$$$$$$$$$$$$$$$$$$@@@@+ x+== + ===x o$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$· +=++ + ++++ x@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@· ==xx + ** @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% ·x== + ++++ +@$$$$$$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ ++xx + == =@$$$$$@@$%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ ·x== + ox== o@$$$$$$x ~*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + xx+x @$$$$$$@ ~*@@@@$$$$$$$@@@@@@@@@@@@@@@@@$$$$$* ++xx + +++~ ~$$$$$$$$$~ o$@$$$$@$x···············x@@$$$@ ++xx + +++· +@$$$$$$$$@@@%o +@$$@% %$$$$ x+++ + +++· +@$$$$$$$@@@%x =@$$$% %$$$@ x+++ + +++· +@$$$$$$$% =@@$$$$@@*+++++++++++++++*@@$$$@ x+++ + +++· x@$$$$$$@ =$@@@$$$$$$$$@@@@@@@@@@@@@@@@@$$$$$@ o+++ + +++~ x@$$$$$$$* +$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ o+++ + +++~ o@$$$$$$$@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ o+++ + +++~ ~@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· ~+++ + +++o @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ ~+++ + +++o @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x ~+++ + +++x @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ ·+++ + ++xx @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* ·+== + xx++ @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% +== + xx++ @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ == + xx++ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ == + xx++ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ == + ox== =@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + == *@@@$$$$$$$$$$$$@@@@@@@$$$$$$$$$$$@@@@@@@$$$$$$$$$$@@ ·x== + +++x ~=@@@@@@@@@@@$x ·x$@@@@@@@@@@@=~ ~*@@@@@@@@@@+ ++++ + **o· ~+***=x x=***+~ ~+**+~ ~+== + xx**x+ +o ++ xx** + ++**=*x· o+=+**===*++ ·x=+**====++ ++==== + +++==*%%*===++ ++===*%%**=+=+ +==***==++ + diff --git a/src/build/framegen/frames/frame_031.txt b/src/build/framegen/frames/frame_031.txt new file mode 100644 index 000000000..f7615a100 --- /dev/null +++ b/src/build/framegen/frames/frame_031.txt @@ -0,0 +1,41 @@ + + + + + ++=**%*%%%$$%%%*%*==++++ + ++***%++ ++%***++ + x+**=* =+**++ + ++== ~+*%$@@@@@@@@$%*+~ ==++ + =*++ o*@@@@@@@$$$$$$$$$$@@@@@@@*o ++== + **+x =@@@@$$$$$$$$$$$$$$$$$$$$$$$$@@@@= x+== + ==+x x@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$~ +=++ + ++++ +@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@~ ==+x + ** @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% ·x== + +++x =@$$$$$$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ ++xx + == *@$$$$$@@$%$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ ·+== + ox== x@$$$$$$= +$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + +++x @$$$$$$@~ +$@@@$$$$$$$@@@@@@@@@@@@@@@@@@$$$$* ++xx + +++~ ~$$$$$$$$@+ =@$$$$$@+ ~%@$$$@ ++xx + +++· +@$$$$$$$$@@@$+ @$$$@ x@$$$ x+++ + +++· +@$$$$$$$@@@%x o@$$$@ =@$$@ x+++ + +++· +@$$$$$$$$ +$@$$$$$@%=++++++++++++++*@@$$$@ x+++ + +++· +@$$$$$$@o +$@@@$$$$$$$$@@@@@@@@@@@@@@@@@$$$$$@ x+++ + +++· x@$$$$$$$$ x$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ o+++ + +++~ o@$$$$$$$$@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ o+++ + +++~ ~@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ o+++ + +++o @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ ~+++ + +++o @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@o ~+++ + +++x @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ ·+++ + ++xx @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* ·+== + xx++ @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% x== + xx++ @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ == + xx++ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ == + xx++ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ == + ox== =@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + == %@@@$$$$$$$$$$$$@@@@@@@$$$$$$$$$$$@@@@@@@$$$$$$$$$$@@ ·+== + +++o o=@@@@@@@@@@@@*o· ~+$@@@@@@@@@@@$+~ o*@@@@@@@@@@* ++xx + **o ~=%%%%=o x*%%%*+ o=%%*x ~+** + x+**x+ x~ xx ox**xo + ==**== ==****=*+o =+****==++ x+==== + ++==*%%%%**=++ ++==**%%%*===+ ++=*%%**==++ + diff --git a/src/build/framegen/frames/frame_032.txt b/src/build/framegen/frames/frame_032.txt new file mode 100644 index 000000000..0f9edba55 --- /dev/null +++ b/src/build/framegen/frames/frame_032.txt @@ -0,0 +1,41 @@ + + + + ++ + xx++=*%%%%%%%%%%%%%***==++ + ++***%++ o+****++ + ++**=* =+**++ + ==== o=%$@@@@@@@@@@$%=x +=== + **++ x%@@@@@@@$$$$$$$$$$$@@@@@@%x ++** + **+o *@@@@$$$$$$$$$$$$$$$$$$$$$$$$@@@@* o+** + ==+o +@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@o x=++ + ++=+ =@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@x ==+x + ** ~@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ == + +++x *@$$$$$$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· ++++ + == %@$$$$$$@$**$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· ·x== + ox+= +@$$$$$$$ =$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + +++x @$$$$$$$$ ·=@@@@$$$$$$@@@@@@@@@@@@@@@@@@$$$$* ++xx + +++~ o$$$$$$$$$$o ~$@$$$$@= o@$$$@ ++++ + +++· +@$$$$$$$$$@@@$o %@$$@o @$$$ x+++ + +++· +@$$$$$$$$@@%+ $$$$$= @$$@ x+++ + +++· +@$$$$$$$$x x%@@$$$$@@%==============*$@$$$@ x+++ + +++· +@$$$$$$$$ x%@@@@$$$$$$$$@@@@@@@@@@@@@@@@$$$$$@ x+++ + +++· x@$$$$$$$$* o%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ o+++ + +++~ o@$$$$$$$$@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ o+++ + +++~ ~@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ o+++ + +++o @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ ~+++ + +++o @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x ~+++ + +++x @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ ·+++ + ++xx @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* ·+== + xx++ @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% +== + ++++ @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ == + xx++ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + xx++ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ == + ox== *@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + == $@@@$$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$@@@@@@$$$$$$$$$$@@~ ·x== + +++o ·o=@@@@@@$@@@@@@=o~o+%@@@@@@@@@@@@%x~~o=@@@@@@@@@@% ++xx + ** ~=%$$$%=~ x*$$$%*x o=%$%+· ·x** + ++**~o ~o**xx + ++****=* ++==**=*+x xx*=****++ =+**xx + ++==*%%%%%**++ ++++*%%%%%%*+++x ++**%%%*==++ + diff --git a/src/build/framegen/frames/frame_033.txt b/src/build/framegen/frames/frame_033.txt new file mode 100644 index 000000000..6155425b4 --- /dev/null +++ b/src/build/framegen/frames/frame_033.txt @@ -0,0 +1,41 @@ + + + + ++++++ + ++==*%%%%%%*****%%%*%**=++ + +=***%+o · *=**=+ + ++**+= ++**++ + ==++ ·x*$$@@@@@@@@@@@$%+~ +=== + **+x +$@@@@@@$$$$$$$$$$$$@@@@@@@= x+** + **+o ·%@@@$$$$$$$$$$$$$$$$$$$$$$$$$$@@@%· ~x** + ==+o =@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@+ x+== + ++=+ =@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@+ ++++ + =* ~@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ ** + +++x *@$$$$$$$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x ++++ + == *@$$$$$$@@*=%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x == + ox== x@$$$$$$$x o*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + ++++ @$$$$$$$@· o%@@@$$$$$$@@@@@@@@@@@@@@@@@@@$$$$ ++xx + +++~ ·$$$$$$$$$@* x@$$$$$%· =@$$@ xx++ + +++~ x@$$$$$$$$$@@@@* @$$$$ +@$$ o+++ + +++~ x@$$$$$$$$@@$+ =@$$$$ %$$@ o+++ + +++~ o@$$$$$$$$* o%@@$$$$$@@%**************$@@$$@ o+++ + +++~ o@$$$$$$$@· o%@@@@$$$$$$$$$@@@@@@@@@@@@@@@@$$$$@ o+++ + +++~ ~@$$$$$$$$$o ~*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ o+++ + +++~ ·@$$$$$$$$$@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· ~+++ + +++o @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ ~+++ + +++o @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x ~+++ + +++x @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ ·+++ + xx+x @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= ·+== + ++++ @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* ·+== + xx++ @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% == + xx++ @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ == + xx++ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + xx++ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ == + ox== *@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + == $@@@$$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$$@@@@@$$$$$$$$$$@@o +== + +++o ~o=$@@@@$$$@@@@@%+oo+%@@@@@$$$@@@@@=xoo=$@@@@@@@@@$ ++++ + o ** ·=%$$$$%+ x*$$$$%=~ ~=%$%=~ ·o** + x+**·~ ·~**+x + ++****==x ox*=***=+x ==****+= =+**++ + ++==*%%%%%%*==++ ==*%%%%%%*==++ ++**%%%*==++ + diff --git a/src/build/framegen/frames/frame_034.txt b/src/build/framegen/frames/frame_034.txt new file mode 100644 index 000000000..690b7d83d --- /dev/null +++ b/src/build/framegen/frames/frame_034.txt @@ -0,0 +1,41 @@ + + + + +++++++++++ + ++=**%%%**==++==**%*%***++ + +=**=* =+*===+x + ++**++ xx==== + ==== o=%$@@@@@@@@@@@@@$%+~ ++**xo + **+x ·=@@@@@@$$$$$$$$$$$$$$$@@@@@$x ~**+x + **+o ~%@@@$$$$$$$$$$$$$$$$$$$$$$$$$$@@@@= **xx + ==+o =@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$ ·x** + ++=+ =@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$ x+++ + ** ·@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= ==xo + ++++ +@$$$$$$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ o+++ + == +@$$$$$$$@%xo=$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ == + == @$$$$$$$@ =$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= ++xx + ++++ $$$$$$$$$@ ·=@@@$$$$$$@@@@@@@@@@@@@@@@@@@$$@ x+++ + ++xx @$$$$$$$$$@%~ o$$$$$$+ +$$$~ ~+++ + +++x @$$$$$$$$$$@@@@% o@$$@% *@@+ ·+++ + +++x @$$$$$$$$$@@*~ %$$$$$ $$@+ ·+++ + +++x @$$$$$$$$@x ·=@@@$$$$$@@$$$$$$$$$$$$$$$@@$$@+ ·+++ + +++x @$$$$$$$$@ =$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ ·+++ + +++x @$$$$$$$$$@x =$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= ·+++ + xxxx @$$$$$$$$$$@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= ·+== + +++x @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* ·+== + ++++ @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* ·x== + xx++ @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% == + xx++ @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ == + xx++ @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ == + xx++ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + xx++ $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + ox++ %@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + ox+= *$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ == + ox== =@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + == $@@@@$$$$$$$$$$$$$@@@@@$$$$$$$$$$$$$@@@@@@$$$$$$$$$$@+ == + +++o ox+*@@@@@$$$@@@@@*+xx=$@@@@$$$$@@@@$=xx+%@@@@@@@@@$ ++++ + ox** x%$$@$$*x ~=%$@@$%=· x%$$*o ** + ++** **xx + xx*****=xx ==****+= ++****+= =+**+x + xx++***%%%%**=++ ++**%%%%%%**++ ++=**%%*==++ + diff --git a/src/build/framegen/frames/frame_035.txt b/src/build/framegen/frames/frame_035.txt new file mode 100644 index 000000000..32f4209a7 --- /dev/null +++ b/src/build/framegen/frames/frame_035.txt @@ -0,0 +1,41 @@ + + + + ++++++++++++++ + ++=**%*%==xxxxxx++**%*%*==++ + +=**=* ~+*=**++ + ++**++ ==**xx + ===+ +%$@@@@@@@@@@@@@@@$%+ ox**++ + **+x ~*@@@@@$$$$$$$$$$$$$$$$$@@@@@*~ ==++ + **x~ o$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@%~ ==++ + ==+x =@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@+ **xx + ++=+ +@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@x ~+== + == @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ +++x + ++++ o@$$$$$$$$@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ ·x== + ==+· ~@$$$$$$$$@+ ·+$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ ==xo + == @$$$$$$$$$ =$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ ++++ + ox== =$$$$$$$$$$ =$@@$$$$$@@@@@@@@@@@@@@@@@@@@$@~ ~+++ + xx++ @$$$$$$$$$$@%o x$$$$$$ =$@* ·+== + xx++ @$$$$$$$$$$$@@@@= %@$$@~ @@$ == + xx++ @$$$$$$$$$$@%x o$$$$$% +$@$ == + xx++ @$$$$$$$$$$ +$@@$$$$$@@@@@@@@@@@@@@@@@@@@$@$ == + xx++ @$$$$$$$$$$ +%@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ == + xx++ @$$$$$$$$$$@x x$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ == + xx++ @$$$$$$$$$$$@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ == + xx++ @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ == + xx++ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + xx++ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + xx++ $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + xx++ %@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + ox++ %@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + ox== *@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + ox== =@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + ox== =$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ == + == x@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + == $@@@@$$$$$$$$$$$$$$@@@@@$$$$$$$$$$$$$@@@@@$$$$$$$$$$@= == + +++o oxx=$@@@@$$$$@@@@$=xx+%@@@@$$$$@@@@@*+xx*@@@@@@@@@@· x+++ + o ** ~=$$@@$%=· +%$@@@$*x ~*$$*x ** + ++** **+x + xx******++ =+****+= +x==**== =+**++ + +=**%%%%%%**++ ++***%%%%***+++x ++==*%%**=++ + diff --git a/src/build/framegen/frames/frame_036.txt b/src/build/framegen/frames/frame_036.txt new file mode 100644 index 000000000..9545578f3 --- /dev/null +++ b/src/build/framegen/frames/frame_036.txt @@ -0,0 +1,41 @@ + + + + ++++==****==++++ + x==***%==oo x+==%***=+ + xx===*++ ++**== + ++**x+ ·oxx++xxo· ++**++ + **++ o*$@@@@@@@@@@@@@@@@@@$=~ +=== + **+x o%@@@@@$$$$$$$$$$$$$$$$$$@@@@@%~ x+== + =*+o o$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@%· x+== + ++=+ =@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@o +=++ + xx== x@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@· *=o~ + ==+· $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* o+++ + ox== @@$$$$$$$$@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ == + +++o @$$$$$$$$$$~ +$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ ++++ + == %$$$$$$$$$@ =$@@@$$$$$$$$$$@@@@@@@@@@@@@@$$$@x ·+== + == @$$$$$$$$$$o =@@@$$$$@@@$$$$$$$$$$$$$$$@@$@ == + == o$$$$$$$$$$$@@*~ %$$$$$ $$ == + == x@$$$$$$$$$$$@@@@* +@$$@* %@ == + == x@$$$$$$$$$$@*· +@$$$$@= =$@ == + == x@$$$$$$$$$@ ~*@@@$$$$$$@@@@@@@@@@@@@@@@@@@$@ == + == x@$$$$$$$$$@ ~*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + == x@$$$$$$$$$$@%xx*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + == x@$$$$$$$$$$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + == x@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + == x@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + == o@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + == o@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + == o@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + == o@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + == o@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + == o@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + == o$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + == %@@@@@$$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$$@@@@@$$$$$$$$$@% == + +++o ~+x+*@@@@@$$$$@@@@%=xx=$@@@@$$$$@@@@@*xx+*@@@@@@@@@o x+++ + ** o*$@@@$%+ =%$@@$$*o x*$%x ** + x+** **+x + xx******+= x=***==x ==**==++ =+**++ + ++==*%%%%*%*==xx ++==*%*%%%%*==++ ++**%**=++ + diff --git a/src/build/framegen/frames/frame_037.txt b/src/build/framegen/frames/frame_037.txt new file mode 100644 index 000000000..1e29736ef --- /dev/null +++ b/src/build/framegen/frames/frame_037.txt @@ -0,0 +1,41 @@ + + + + ++++=***%%%%***=++++ + ++==*%*%+x x+**%*==++ + x+**=*+o *=**++ + ++**x ~x==*****=+o· *=== + **++ +%@@@@@@@@@@@@@@@@@@@@$=~ ++**xx + **+x x$@@@@$$$$$$$$$$$$$$$$$$$$@@@@@* ~o**xx + ==+o o$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@* ·x** + ++=+ +@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$ o+== + xx== o@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@% ++++ + +++o %@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ == + == $@$$$$$$$$@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@o ++xx + ++++ $@$$$$$$$$$* o%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ ·+++ + +++· o@$$$$$$$$$@ o%@@@@$$$$$$$$@@@@@@@@@@@@@@@@$$@ == + == $$$$$$$$$$$$+ x%@@$$$$@@%*=============*$@$· == + == @$$$$$$$$$$$@@$+ %$$$$% $= ==xx + == @$$$$$$$$$$$$@@@$x =@$$@= $* ==xo + == @$$$$$$$$$$$@x %@$$$$@*· ~$@= ==xo + == @$$$$$$$$$$@ =$@@@$$$$$$@@@@@@@@@@@@@@@@@@@@= ==xo + == @$$$$$$$$$$@ +$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= ==xo + == @$$$$$$$$$$$@$**$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= ==xo + == @$$$$$$$$$$$$$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= ==xo + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= ==xo + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= ==xo + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ ==xo + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ ==xo + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ ==xo + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x == + == $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$x == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ == + == *@@@@@@$$$$$$$$$$$$$@@@@@$$$$$$$$$$$$$@@@@@@$$$$$$$$@% == + +++x ~=xx+%@@@@$$$$@@@@@*+xx*@@@@@$$$$@@@@%=xx+%@@@@@@@@o o+++ + ** +%$@@$$*o o*$$@@$%+ +%%x ** + x+** **++ + ++**==****xo ==****++ =+****+= =+**++ + ++ x+==*%*%%%%*==++ ==**%%%%%%**=+ +=**%***++ + diff --git a/src/build/framegen/frames/frame_038.txt b/src/build/framegen/frames/frame_038.txt new file mode 100644 index 000000000..01d7bdf81 --- /dev/null +++ b/src/build/framegen/frames/frame_038.txt @@ -0,0 +1,41 @@ + + + + x+++==*%%%%%%%%%%%%*==++ + ++***%++ ox**%*==+x + x+**+= x+*=== + ==== ·x=*%$@@@@@$$%*+~ x+**++ + **++ o*@@@@@@@@$$$$$$$@@@@@@@@%+ ==++ + **+o =@@@@$$$$$$$$$$$$$$$$$$$$$$$@@@@%o +=++ + ==+x o@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@* +=++ + ++++ x@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$ ==+x + ** @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@* ·x== + ++++ x@$$$$$$$$$$$@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ +++x + == +@$$$$$$$$$@@@$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ ·+== + ox== @$$$$$$$$$$$ +$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + ++++ @$$$$$$$$$$@= =$@@@$$$$$$$@@@@@@@@@@@@@@@@@@% ++xx + +++o $$$$$$$$$$$$@= =@$$$$$@*o~~~~~~~~~~~~~~o%@ x+xx + +++~ o@$$$$$$$$$$$$@@@%x @$$$@ ~ o+++ + +++~ x@$$$$$$$$$$$$@@$*~ @$$$@ x o+++ + +++· x@$$$$$$$$$$$$o o%@$$$$$@%xxxxxxxxxxxxxxx+$@ o+++ + +++· x@$$$$$$$$$$@+ o*@@@@$$$$$$$@@@@@@@@@@@@@@@@@@$ o+++ + +++· +@$$$$$$$$$$$$ ~*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ x+++ + +++· +@$$$$$$$$$$$@@@$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ x+++ + +++· =@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ x+++ + +++· =@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ xxxx + ==+· *@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ x+++ + ==x %@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ ++++ + == %@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ ++xx + == $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ ++xx + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ ++xx + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ ++xx + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% ++++ + == $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$* ++xx + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= ==xo + == x@@@@@@@$$$$$$$$$$$$$@@@@@$$$$$$$$$$$$$@@@@@@$$$$$$$@$ == + ++++ *+oox*@@@@@$$$@@@@@*xox=$@@@@$$$@@@@@%+oo+%@@@@@@@x o+++ + **o· x%$$@$%*o ~=%$$$$%+ +*x **xo + xx**~· **++ + xx**+=****+= ++****== x+******xo =+**+x + ++ +=***%%%%%**== ++==*%*%%%%*==+x x+==***=++ + diff --git a/src/build/framegen/frames/frame_039.txt b/src/build/framegen/frames/frame_039.txt new file mode 100644 index 000000000..cea0cf6e2 --- /dev/null +++ b/src/build/framegen/frames/frame_039.txt @@ -0,0 +1,41 @@ + + + ++++++ + +++=**%$%%******%%$%%*=+++ + ++***%+o x+%=**++ + ++**+= ==**++ + ===+ ·x*%$@@@@@@@@@@$%*x ==== + **+x +$@@@@@@$$$$$$$$$$$$@@@@@@$+ ++** + ==+o *@@@@$$$$$$$$$$$$$$$$$$$$$$$$@@@@%~ ~+** + ++=+ o@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@= ~+== + xx== o@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@* ++++ + ==x· $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@x ==xo + xx++ @@$$$$$$$$$$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% o+++ + ==x· @$$$$$$$$$$@@%=*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ == + == @$$$$$$$$$$$$ ·=$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$* ++xx + ox== +$$$$$$$$$$$@% ·*@@@@$$$$$$@@@@@@@@@@@@@@@@@@ o+++ + xx++ $$$$$$$$$$$$$@$o ~$$$$$$@+ x= ·+== + xx++ @$$$$$$$$$$$$$$@@@$o $$$$@ x== + xx++ @$$$$$$$$$$$$$@@%o $$$$$+ · x== + xx++ @$$$$$$$$$$$$$ =@@$$$$$@@%**************%@$ x== + ++++ @$$$$$$$$$$$@% +$@@@$$$$$$$$$@@@@@@@@@@@@@@@@$* ·x== + +++x @$$$$$$$$$$$$$+ +$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* ·+== + ++xx @$$$$$$$$$$$$$@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= ·+== + +++x @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= ·+++ + +++x @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ ·+++ + +++o @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@o ~+++ + +++~ ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ ~+++ + +++~ o@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ o+++ + +++· +@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ x+++ + ==+· *@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ xx++ + ==x %@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ ++xx + == $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ ++xx + == $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ ++xx + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% ++xo + ==+· ~@@@@@@@@$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$$@@@@@@$$$$$$@$ == + ++++ %*xoox%@@@@@$$@@@@@$+oox=@@@@@$$$@@@@@*xoo+%@@@@@@x ~+== + **+· +%$$$$%+ o=%$$$%=o +o **xo + xx**o~ **++ + xx**+=****==+o ~x==**==++ ==****++ =+**+x + ++xx x+==*%%%%%%*==++ x+++**%%%%%*==++ ++****++ + diff --git a/src/build/framegen/frames/frame_040.txt b/src/build/framegen/frames/frame_040.txt new file mode 100644 index 000000000..e8bfe577f --- /dev/null +++ b/src/build/framegen/frames/frame_040.txt @@ -0,0 +1,41 @@ + + + ++++======++++ + +=***%=*++++xx++++**%*%*==+x + xx==**++ o+****++ + ++**x+ · *=** + ===+ ·+*$@@@@@@@@@@@@@@@$*+· xx**++ + **+x ·*@@@@@$$$$$$$$$$$$$$$$$@@@@@%o =*++ + ==+x %@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@@x +=++ + ++=+ o@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@% ==++ + ox=* @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@% ** + +++o =@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@+ x+++ + == $@$$$$$$$$$$$@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% == + ++++ %@$$$$$$$$$$$@$o ~=@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ ++++ + ==x· o@$$$$$$$$$$$@* ·*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$+ ·+== + == @$$$$$$$$$$$$$% ~*@@@$$$$$@@@@@@@@@@@@@@@@@@ == + == $$$$$$$$$$$$$$@@*~ =$$$$$* == + == @$$$$$$$$$$$$$$$@@@@x @$$$@ == + == @$$$$$$$$$$$$$@@*~ =$$$$$* == + == @$$$$$$$$$$$$$* ~=@@@$$$$$@@@@@@@@@@@@@@@@@@o == + == ·@$$$$$$$$$$$$@= ·=@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$· == + == ~@$$$$$$$$$$$$$@%~ ~=$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + == x@$$$$$$$$$$$$$$@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + == +@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + ox== =@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + ox++ %@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + ox++ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + xx++ @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ == + +++x @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* ·x== + +++o @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x ·+++ + +++~ ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· ~+++ + +++· +@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ x+++ + ==+· *@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ x+++ + ==x %$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ ++xx + +++~ @@$@@@@@@$$$$$$$$$$$$@@@@@@@$$$$$$$$$$$$@@@@@@$$$$$@@ == x + ++++ =@*o··~+@@@@@@@@@@@@$+~·~x%@@@@@@@@@@@@*o··o=@@@@@x ~+== + ==x~ ~=%%$%*+ x*%$%%=~ · **xx + x+**x~ oo **++ + x+**+===****+= *=****==xo ++==**==++ =+**++ + ++++ ++****%%%***++ ++==**%%%***+++x ++==**++ + diff --git a/src/build/framegen/frames/frame_041.txt b/src/build/framegen/frames/frame_041.txt new file mode 100644 index 000000000..aa4c74898 --- /dev/null +++ b/src/build/framegen/frames/frame_041.txt @@ -0,0 +1,41 @@ + + + x+++==******===+++ + ++==****++xo ·~++**%***++ + ++****+x ==%*++ + ++*=ox ~ox+++xx~ ++**++ + **++ o*$@@@@@@@@@@@@@@@@@@%=~ ==== + =*+x o%@@@@$$$$$$$$$$$$$$$$$$$@@@@@%o x+** + ==+x ·%@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@$o ~+** + ++=+ ~@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@* x+== + ** $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@= +=++ + ++++ x@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ ** + == +@$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x ++++ + xx== o@$$$$$$$$$$$$$% ·=@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$@o ·+== + +++x @$$$$$$$$$$$$$$ ·=@@@@$$$$$$$$$$@@@@@@@@@@@@$@ == + +++· +$$$$$$$$$$$$$$$· ~*@@$$$$$@@@%%%%%%%%%%%%%%= ==xo + == %@$$$$$$$$$$$$$$@@=~ $$$$$% ++xx + == $$$$$$$$$$$$$$$$$@@@@= *@$$@x ++xx + == $$$$$$$$$$$$$$$$@= =@$$$$$x ++xx + == $$$$$$$$$$$$$$$$ o%@@@$$$$$$@@@@@@@@@@@@@@@@@ ++xx + == @$$$$$$$$$$$$$$$ o%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$ ++xx + == @$$$$$$$$$$$$$$$@*x+%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ ++xx + == @$$$$$$$$$$$$$$$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% ++xo + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* ==xo + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ ==xo + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@o == + == o@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + ox== =@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + xx++ $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + xx++ @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ == + xx+x @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= ·+++ + +++o @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ ~+++ + +++· x$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ o+++ + ==+· =@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ ++++ + +++o @@$$@@@@@@$$$$$$$$$$$$@@@@@@@$$$$$$$$$$$$@@@@@@$$$$@@ ==xo + xx== x@@+~ ·x$@@@@@@@@@@@*o o*@@@@@@@@@@@$+~ ·+$@@$o ~+== + ==+o +*%%*=o o=*%%*x *=+x + ox**+o ++ x+ o~**++ + xx**===+****==+= ++*=****+= o+*=****==++*=**++ + ++++xx x+==********==+x ++********==++ ++==++ + diff --git a/src/build/framegen/frames/frame_042.txt b/src/build/framegen/frames/frame_042.txt new file mode 100644 index 000000000..96715cf2b --- /dev/null +++ b/src/build/framegen/frames/frame_042.txt @@ -0,0 +1,41 @@ + + + xx===***%%%%%%%%***=++ + ++**=%=+ ·o==%*==++ + ++**+= *=**++ + ==== o+=*%$$$$%*=+o =+** + **++ ~=$@@@@@@@@@@@@@@@@@@@@@%+ o**++ + ==+x +$@@@$$$$$$$$$$$$$$$$$$$$$$@@@@$+ ==++ + ++++ ·$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@+ ==++ + xx== $@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@* *=xo + ==+· %@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@* ·x== + xx== @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ ++++ + +++~ @$$$$$$$$$$$$$$@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$@o == + == @$$$$$$$$$$$$$$$= =$@@@$$$$$$$$$$$$$$$$$$$$$$$$@ ==xo + ox== x@$$$$$$$$$$$$$$@ =$@@@$$$$$$$$@@@@@@@@@@@@@@ ++x+ + xx++ $$$$$$$$$$$$$$$$$* =@@$$$$@@*+++++++++++++ ~+++ + ++++ @$$$$$$$$$$$$$$$$@@@*x *@$$$% ·+== + +++x @$$$$$$$$$$$$$$$$$@@@*o =@$$$* ·+== + ++xx @$$$$$$$$$$$$$$$$$~ o$@$$$$@$x············· ·+== + xx+x @$$$$$$$$$$$$$$$@ o*@@@@$$$$$$$@@@@@@@@@@@@@@* ·+++ + +++x @$$$$$$$$$$$$$$$$~ o*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$+ ·+++ + +++o @$$$$$$$$$$$$$$$$@@%%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x ·+++ + +++o ·@$$$$$$$$$$$$$$$$$$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ ~+++ + +++~ o@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ o+++ + +++· =@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ x+xx + == %@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ ++++ + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ ++xo + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= ==xo + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ == + ox== =@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + xx++ $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + xx++ @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% == + +++o $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$+ ·+++ + +++~ @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ x+++ + ++++ *@@$$@@@@@@@$$$$$$$$$$$@@@@@@@@$$$$$$$$$$$@@@@@@@$@@@ ==xx + ox== %@@=~ x$@@@@@@@@@@%x ~*@@@@@@@@@@@=· x$$~ ~+== + ==++ o+==x~ ~x+=+o *=xx + ox**++ == == == xo**++ + xx==**+=*=****==+= ·x*=******+=x~ *=******+===**++ + x++=++ ++==********++xx xx++********++++ ++++ + diff --git a/src/build/framegen/frames/frame_043.txt b/src/build/framegen/frames/frame_043.txt new file mode 100644 index 000000000..849ab3794 --- /dev/null +++ b/src/build/framegen/frames/frame_043.txt @@ -0,0 +1,41 @@ + + + ++==***%*%%%%%%%%%**=+++ + ++**=*+x o+**%*== + ++**+= x+**=+ + ===+ o+*%$@@@@@@@$%=+~ ++**+x + =*=x o*@@@@@@@$$$$$$$$$@@@@@@@%+ +=++ + ==+x +@@@@$$$$$$$$$$$$$$$$$$$$$$$@@@@$x x+== + ++=+ $@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@$o x+== + xx== $@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@+ +=++ + ==+~ =@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@o *=xo + ox== $@$$$$$$$$$$$$$$$$@$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% ~+== + +++x $@$$$$$$$$$$$$$$@@@%$@@@$$$$$$$$$$$$$$$$$$$$$$$$$@@ == + ==x =@$$$$$$$$$$$$$$$% +$@@@@$$$$$$$$$$$$$$$$$$$$$$$ ++++ + == @$$$$$$$$$$$$$$$@= +$@@@$$$$$$$@@@@@@@@@@@@@= ·x== + == o$$$$$$$$$$$$$$$$$@= =@$$$$$@*~···········~ == + ox== =@$$$$$$$$$$$$$$$$$@@@$+ @$$$@ == + ox== *@$$$$$$$$$$$$$$$$$@@$=~ @$$$@· == + ox== *@$$$$$$$$$$$$$$$$$o o%@$$$$$@$+xxxxxxxxxxx+ == + ox++ %@$$$$$$$$$$$$$$$@= o%@@@@$$$$$$$@@@@@@@@@@@@@@ == + xx++ %@$$$$$$$$$$$$$$$$$ o*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$ == + xx++ $@$$$$$$$$$$$$$$$$@@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + xx++ @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ == + ++++ @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% x== + +++x @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ ·+++ + +++~ ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· ~+++ + +++· =@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ x+++ + == $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ ++xx + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% ++xx + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@o == + ox== =@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + xx++ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ == + xx+x $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$% ·x== + +++x @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ o+++ + ++++ o@@$$$@@@@@@@@$$$$$$$$$$@@@@@@@@$$$$$$$$$$$@@@@@@@@@$ ==xx + xx== =@@@+ =@@@@@@@@@@%o x$@@@@@@@@@@+ ·= ~x== + ===+ ~xxo ·oxo· ·o**xx + ===+ =*=+ +=*= x+== xx**++ + ==**=**=**==**=*+= ·o=+*=****===*x~ +=*=**==***=**++ + ++++++++ ++==******==++ ++==******==++ x+++ + diff --git a/src/build/framegen/frames/frame_044.txt b/src/build/framegen/frames/frame_044.txt new file mode 100644 index 000000000..5ebc901a3 --- /dev/null +++ b/src/build/framegen/frames/frame_044.txt @@ -0,0 +1,41 @@ + + xx++++++ + ++***%*%*%****%%%%$%**== + x+==**+= x+%%%*++ + ++**x+ =***++ + ===+ ~+%$@@@@@@@@@@@@$*+· *=== + ===+ +$@@@@@$$$$$$$$$$$$$@@@@@@$=· xx**xx + ===+ =@@@@$$$$$$$$$$$$$$$$$$$$$$$$$@@@$+ **+x + ++== %@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$o **xo + ** %@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@+ ·x** + ++++ ·@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@~ ++++ + == x@$$$$$$$$$$$$$$$$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$@* == + xx== ~@$$$$$$$$$$$$$$$$$@$=+%@@@@$$$$$$$$$$$$$$$$$$$$$$@$ x+++ + +++x @$$$$$$$$$$$$$$$$$@ x%@@@@$$$$$$$$$$$$$$$$$$$$* == + ==+· +$$$$$$$$$$$$$$$$$$@ x%@@@$$$$$$@@@@@@@@@@@@ == + == $$$$$$$$$$$$$$$$$$$$@= =@$$$$@* ==xo + == @$$$$$$$$$$$$$$$$$$$$@@@@= +@$$@* ++xx + == @$$$$$$$$$$$$$$$$$$$@@%x %$$$$$ ++xx + == @$$$$$$$$$$$$$$$$$$$x +$@@$$$$@@$%%%%%%%%%%* ++xx + == @$$$$$$$$$$$$$$$$$$@ x$@@@@$$$$$$$$$@@@@@@@@@@% ++xo + == @$$$$$$$$$$$$$$$$$$$% +%@@@@$$$$$$$$$$$$$$$$$$$$$$$= ==xo + == @$$$$$$$$$$$$$$$$$$$@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$@+ ==xo + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@o == + == o@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + x+== *@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + xx++ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + +++x @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* ·+== + +++o ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ ~+++ + ==+· *@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ x+xx + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ ++++ + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x == + ox== +@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ == + xx++ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + ++++ @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ ~+++ + xx+= $@@$$$@@@@@@@@@@$$$$$$$$$@@@@@@@@@$$$$$$$$$@@@@@@@@% ++xx + ox==x· ·%@@@%o ~%@@@@@@@@$+ =@@@@@@@@@*~ o+== + +++= ~x**xo + ====~o **== =*** +=%%x+++**++ + ++**===*%=**====**=*++++==*=**====**=*==++++%**=**==**==++ + ++++==++++ ++++****==++++ x+++==***=+++x xx + diff --git a/src/build/framegen/frames/frame_045.txt b/src/build/framegen/frames/frame_045.txt new file mode 100644 index 000000000..5ad22dd68 --- /dev/null +++ b/src/build/framegen/frames/frame_045.txt @@ -0,0 +1,41 @@ + + xx++++++++xx + x+==***%****======%%%%%%==++ + xx=**=++ **%*++ + ++**xx x+%*++ + ===+ x*$@@@@@@@@@@@@@@$*+· ++**+x + ===+ =$@@@@@$$$$$$$$$$$$$$$@@@@@$+ **++ + ++=+ =@@@$$$$$$$$$$$$$$$$$$$$$$$$$$@@@@%~ ==++ + x+== %@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@* ==++ + ==x· *@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$ **xo + x+++ @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@% ·+== + ==+· @$$$$$$$$$$$$$$$$$$$@@@@$$$$$$$$$$$$$$$$$$$$$$$@@ ++xx + == @$$$$$$$$$$$$$$$$$$$@=ox*@@@@$$$$$$$$$$$$$$$$$$$$$@ ·+== + xx++ %$$$$$$$$$$$$$$$$$$$$ o*@@@@$$$$$$$$$$$$$$$$$$@ == + +++o @$$$$$$$$$$$$$$$$$$$$ o%@@@$$$$$$@@@@@@@@@@@ ++++ + +++· x$$$$$$$$$$$$$$$$$$$$$@= =@$$$$$o ++++ + +++· =@$$$$$$$$$$$$$$$$$$$$$@@@@= %@$$@o x+++ + +++· =@$$$$$$$$$$$$$$$$$$$$@$= $$$$$% x+++ + ==+· =@$$$$$$$$$$$$$$$$$$$$ o%@@$$$$$@@@$$$$$$$$$ xx++ + ==+· *@$$$$$$$$$$$$$$$$$$@$ o*@@@@$$$$$$$$$$$$$$$$$$@ x+++ + ==x %@$$$$$$$$$$$$$$$$$$$$% o*@@@@$$$$$$$$$$$$$$$$$$$$$$$ ++++ + == $@$$$$$$$$$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$@ ++xx + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ ++xx + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* ==xo + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@o == + == +@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + xx++ $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + ++++ @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* ·+== + +++~ ~@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ ~+++ + ==x %@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ ++++ + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* =+xo + == ~@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$· == + xx++ %$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + xx++ *@$$$$$$$$$$$@@$$$$$$$$$$$$$$$$@@$$$$$$$$$$$$$$$$@@@@@ ~+== + ++== *@@@$$$@@@@$%%@@@@$$$$$$$$@@@@%%$@@@$$$$$$$$@@@@$%$* =+xx + ==+~ +$@@@%o ~*@@@@@@@$= +$@@@@@@@*o o+== + ++==o x+*=xx + ====x+ ++%%== ox***= ****+=**++ + ++**=*=****=**++==**=%****%*%***++==**=*=***%%%***======+x + ++++++++ ++++======++ x+++======++++ + diff --git a/src/build/framegen/frames/frame_046.txt b/src/build/framegen/frames/frame_046.txt new file mode 100644 index 000000000..be7984158 --- /dev/null +++ b/src/build/framegen/frames/frame_046.txt @@ -0,0 +1,41 @@ + + ++++====++++xx + x+==***%=*=+xooox+==%%%*%*== + xx**==+x x+%*==+x + ++**ox ···· %=== + ===+ ·+%@@@@@@@@@@@@@@@@$%+· x**++ + ==++ *@@@@@$$$$$$$$$$$$$$$$$@@@@@%+ +=== + ++=+ =@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@@* ++== + ox== *@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@+ x+== + ==+~ x@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@* +=++ + ox== %@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@x *= + +++o $@$$$$$$$$$$$$$$$$$$$$@@@@@$$$$$$$$$$$$$$$$$$$$$@% o+++ + == %@$$$$$$$$$$$$$$$$$$$$@$o ·=$@@@$$$$$$$$$$$$$$$$$$@$ == + == @$$$$$$$$$$$$$$$$$$$$@% =$@@@$$$$$$$$$$$$$$$$% ++x+ + x+++ %$$$$$$$$$$$$$$$$$$$$$$$ =$@@$$$$$@@@@@@@@@ o+++ + xx++ @$$$$$$$$$$$$$$$$$$$$$$@@%o x$$$$$% ·+++ + ++++ @$$$$$$$$$$$$$$$$$$$$$$$$@@@@+ $$$$@ ·x== + ++++ @$$$$$$$$$$$$$$$$$$$$$$@@%o x$$$$$% ·x== + +++x @$$$$$$$$$$$$$$$$$$$$$$$ =$@@$$$$$@@@@@@@@@% ·+== + xx+x @$$$$$$$$$$$$$$$$$$$$$@% =@@@@$$$$$$$$$$$$$$$$$= ·+== + +++x @$$$$$$$$$$$$$$$$$$$$$$@$o ~=$@@@$$$$$$$$$$$$$$$$$$$$@+ ·+++ + +++o @$$$$$$$$$$$$$$$$$$$$$$$@@@@@$$$$$$$$$$$$$$$$$$$$$$$$@~ ~+++ + +++~ x@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ o+++ + ==+· *@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ x+++ + == $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ ++xx + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* ==xo + == ~@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ == + xx++ %@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + +++x @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* ·x== + +++~ o@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ ox++ + == $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ ++xx + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$= ==xo + ox== x$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + xx== @$$$$$$$$$$$$@@@@@$$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$$@@@ ·+== + ox== @@@@$$$@@@@@*+x+*@@@@$$$$$@@@@%=+x=$@@@@$$$$@@@@@*x ==++ + ==++ x%$@@$=o x%$@@@$%x ~=$@@@@$=~ ++== + ++==+o x+==+x + ++==++ ++****++ ++*=*=++ x*=**==xx + ++==*****%%%%***++++*****%%%%**=**++++==***%*%%*****==++ + ++++++++++ xx++++++++++xx ++++++++++++ + diff --git a/src/build/framegen/frames/frame_047.txt b/src/build/framegen/frames/frame_047.txt new file mode 100644 index 000000000..8dfb79787 --- /dev/null +++ b/src/build/framegen/frames/frame_047.txt @@ -0,0 +1,41 @@ + + ++++========++++ + ++==**=*==+x~····~x+**%%%%*=+x + ++**==xx ·x%*%*++ + ++==~o ~~ooo~· *=**+x + ===+ ~=$@@@@@@@@@@@@@@@@@$*x *==+ + ===+ *@@@@@$$$$$$$$$$$$$$$$$$@@@@@*· ++** + ++=+ +@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@$o ox** + ox== =@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@% ~+*= + ==+o ~@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$ x+++ + ox== =@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@% ==+x + ++++ *@$$$$$$$$$$$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$$$$$$$@@ ·+== + ==x· x@$$$$$$$$$$$$$$$$$$$$$$$%~ x%@@@@$$$$$$$$$$$$$$$$@ ==xo + == @$$$$$$$$$$$$$$$$$$$$$$$$ x%@@@@$$$$$$$$$$$$$@ x+++ + o == x$$$$$$$$$$$$$$$$$$$$$$$$$ x%@@$$$$$@@@$$$$= ·+== + ox++ %@$$$$$$$$$$$$$$$$$$$$$$$$@$+ ·$$$$$% == + ox++ $@$$$$$$$$$$$$$$$$$$$$$$$$$@@@@= %@$$@o == + ox++ $@$$$$$$$$$$$$$$$$$$$$$$$$@*~ +@$$$$$~ == + xx++ $$$$$$$$$$$$$$$$$$$$$$$$$$ ~*@@@$$$$$$@@@@@@@ == + xx++ $$$$$$$$$$$$$$$$$$$$$$$$$$ ~*@@@@$$$$$$$$$$$$$$$$ == + xx++ @$$$$$$$$$$$$$$$$$$$$$$$$$@+~o=@@@@$$$$$$$$$$$$$$$$$$@$ == + ++++ @$$$$$$$$$$$$$$$$$$$$$$$$$$@@@@$$$$$$$$$$$$$$$$$$$$$$@* ·+== + +++x @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ ·+++ + +++~ ~@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ o+++ + +++· =@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ x+xx + == $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ ++xo + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ ==xo + o == +@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + x+++ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ == + +++o @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$o ~+++ + ==x· *@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ +++x + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$% ++xo + == ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + ox== @@$$$$$$$$$$$$@@@@@@@$$$$$$$$$$$$@@@@@@$$$$$$$$$$$@@$ ~+== + ox== +$@@@@@@@@@@@%+~ o*@@@@@@@@@@@@=o ~+$@@@@@@@@@@%· ==++ + ==++ ~+*%%%=x x=%%%*+~ ~+*%%=x +=== + ++==++ xo xx +===xx + ++====++ ======++ox =+**====++ =+====+x + ++++=***********==++++==**=**%******++++==**=*********++ + ++++++++++ ++++++++++ ++++++++++ + diff --git a/src/build/framegen/frames/frame_048.txt b/src/build/framegen/frames/frame_048.txt new file mode 100644 index 000000000..74a3df818 --- /dev/null +++ b/src/build/framegen/frames/frame_048.txt @@ -0,0 +1,41 @@ + + ++======**====++ + ++****=*++o~ ·~++%*$%**++ + x+**+= **%*++ + ==== ~oxxxxxo~ ++**++ + ===+ o*$@@@@@@@@@@@@@@@@@@%=~ ==== + ===+ *@@@@$$$$$$$$$$$$$$$$$$$@@@@@%x xx**xo + ++== +@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@@= **xx + ** =@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@x ** + +++x @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@+ ·+== + =* x@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ ++++ + ++++ x@$$$$$$$$$$$$$$$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$$$$@+ ** + +++~ @$$$$$$$$$$$$$$$$$$$$$$$$$$$x +$@@@@$$$$$$$$$$$$@= ++xx + == $$$$$$$$$$$$$$$$$$$$$$$$$$$@· x$@@@@$$$$$$$$$@~ ·+++ + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$* x$@@$$$$$@@$$ == + == ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$x +$$$$$o == + == o@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@$o @$$$@ == + == o@$$$$$$$$$$$$$$$$$$$$$$$$$$$@$o ·$$$$$$% == + == x@$$$$$$$$$$$$$$$$$$$$$$$$$$@x =$@@@$$$$$@@@@ == + xx== +@$$$$$$$$$$$$$$$$$$$$$$$$$$@x =$@@@$$$$$$$$$$$$$ == + xx== *@$$$$$$$$$$$$$$$$$$$$$$$$$$$@$+x=$@@@$$$$$$$$$$$$$$$$@ == + xx++ $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@@$$$$$$$$$$$$$$$$$$$$@ == + xx++ @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ == + ++xx @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* ·+== + +++o @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ ~+++ + ==+· *@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ x+xx + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ ++xo + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$o == + xx++ %$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + +x+x @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* ·+== + +++· +@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ x+++ + == $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ ++xx + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ == + ox== *@@@@@@$$$$$$$$$$@@@@@@@@@$$$$$$$$$$@@@@@@@@$$$$$$@@% ~+== + ==+~ +@@@@@@@@@@%x ~%@@@@@@@@@@= =@@@@@$+ ==++ + ==== ~ooo ·ooo~ +=== + xx==++·~+==+ +=** o+** xo==== + ++==========+= ~ ~x==*=======+=xo ++%=======+=++==*===== + x+++++++==**********==++++====********==++++++==****==++ + ++++++++ xx+++++xxx ++ + diff --git a/src/build/framegen/frames/frame_049.txt b/src/build/framegen/frames/frame_049.txt new file mode 100644 index 000000000..a8e97f28d --- /dev/null +++ b/src/build/framegen/frames/frame_049.txt @@ -0,0 +1,41 @@ + + ++====*****=**=+++ + ++***%==++ ··x+**$%**++ + ++**+= =*%*++ + ==== ·ox+++++xo· x+**++ + ===+ x*@@@@@@@@@@@@@@@@@@@$=o *+== + ===+ ·*@@@@$$$$$$$$$$$$$$$$$$$$@@@@$= xx**xx + ++== +@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@% **+x + ** +@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@+ **xo + ++++ @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@= ·x** + ** o@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@o ++++ + xx++ ~@$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$$@* == + +++o @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$% +$@@@$$$$$$$$$$@% +++x + == %$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ +$@@@@$$$$$$@+ ·+== + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$x +$@@$$$$$@ == + == $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@%o %$$$$$ == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@@* o@$$@% == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@=· +@$$$$@* == + == ~@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ o%@@@$$$$$$@~ == + == o@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ o*@@@@$$$$$$$$$$ == + o == +@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@%++*@@@@$$$$$$$$$$$$$@ == + x+== *@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@@$$$$$$$$$$$$$$$$$@ == + xx++ $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + ++++ @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% == + +++o @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x ·+++ + +++· +@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ x+++ + == $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ +++x + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$+ == o + ox== *@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + ++++ @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$% ·x== + +++~ x@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ o+++ + == $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ ++xx + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ == + == ~@@@@@@@@@@$$$$$$$$$@@@@@@@@@@$$$$$$$$@@@@@@@@@@$@@@+ o+== + ==+x o =@@@@@@@@@*· o$@@@@@@@@$x *@*~ ==xx + +++=x· ==+= + oo====xo x+%%+x %%=+ %*%* ++==== + ++============+==*++++*=%*=======*+=++++==**=========*%=*=++ + ++==++xx++====******==++ ++====******==++xx++====++++ + ++++ ++++ + diff --git a/src/build/framegen/frames/frame_050.txt b/src/build/framegen/frames/frame_050.txt new file mode 100644 index 000000000..3151bf440 --- /dev/null +++ b/src/build/framegen/frames/frame_050.txt @@ -0,0 +1,41 @@ + + ++===*******===+++ + ++****=*+x o+**%**=++ + ++**++ +=$*== + ==== ~o++===++o~ o+%*++ + ==++ x%@@@@@@@@@@@@@@@@@@@$*x =+** + ===+ ~%@@@@$$$$$$$$$$$$$$$$$$$$@@@@$= o**+x + ++== =@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@%· **xx + ** =@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@= **xo + ++++ @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@* ·o** + == x@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@o x+++ + xx++ o@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@@@@$$$$$$$$@% *= + +++~ @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$* +$@@@$$$$$@$ +++x + == %$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ +$@@@$$@= ·x== + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ +$@$@ == + == $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@%o $$· == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@@+ *@o == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ *@@~ == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ +$@@@$@· == + == o@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ +$@@@@$$$$@ == + == +@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@%+=$@@@@$$$$$$$$@ == + ox== *@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@@$$$$$$$$$$$$@ == + xx++ $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + xx++ @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% == + +++x @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x ·+++ + +++· +@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ x+++ + == $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ +++x + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$+ ==xo + ox== *@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + ++++ @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$% x== + +++~ o@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ o+++ + == $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ ++xx + == @@$$$$$$$$$@@@@$$$$$$$$$$$$$$@@@@$$$$$$$$$$$$$$@@@@@@% == + ==x· $@@@$@@@@$***%@@@$$$$$$$@@@@%***@@@@$$$$$$@@@@$***%· x+== + ==++ +$@%+ =$@@@@@$*o x%@@@@@@%+ ·x==xx + +++++x xx==++ + ==+=++ ==**=+ +=%**= x+***==+==++ + =======*%**==========*****%**==========*******%**=======++ + ++++====++ ++++========++xx xx++========++++ + + diff --git a/src/build/framegen/frames/frame_051.txt b/src/build/framegen/frames/frame_051.txt new file mode 100644 index 000000000..bdf577d22 --- /dev/null +++ b/src/build/framegen/frames/frame_051.txt @@ -0,0 +1,41 @@ + + x++===*******===+++ + ++**=*==+x o+**%**=++ + ++**+= ==%*++ + ===+ ~x+=====+x~ x=**++ + **+x +%@@@@@@@@@@@@@@@@@@@$*x =+== + ===x o$@@@@$$$$$$$$$$$$$$$$$$$$@@@@$= ox**xx + ++=+ %@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@* **xx + oo== %@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@+ ** + ==+o o@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@+ ·+== + == *@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ ++++ + ++++ *@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@@@@$$$$@+ == + ==x· ~@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x ·=@@@@$@= ++xx + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* ·=@@@~ ~+++ + == $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ ·* == + == +@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@*~ == + ox== +@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@$x == + ox== +@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$o == + ox== =@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% =$@ == + ox== *@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$% =@@@@$$ == + ox++ %@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@*+=$@@@$$$$$@ == + ox++ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@$$$$$$$$$$ == + xx++ @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% == + +++x @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ ·+++ + +++~ o@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ o+++ + ==x %@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ ++++ + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$% +++x + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + xx++ %@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + +++x @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$= ·+++ + +++· =@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ x+++ + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% ++xx + == $@$$$$$$$$$$$$$@@@@@$$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$@@= ** + ==+· =@@@@$$$$@@@@@*+xx=$@@@@$$$$@@@@%=xx+%@@@@$$$$@@@@* ++++ + ==++ +%$@@@%=o o*$@@@$*+ +%$@@$*+ o+==xo + ++++++ ++==++ + ====*=x+ ++**==++ x+*===++ x+====++ + ++=====***%%***=**+++======*%%%*****==++====*%*%%**=**==++ + ++++====++++xx +++++===++++++ ++++++==++++++ + + diff --git a/src/build/framegen/frames/frame_052.txt b/src/build/framegen/frames/frame_052.txt new file mode 100644 index 000000000..22bc6aea2 --- /dev/null +++ b/src/build/framegen/frames/frame_052.txt @@ -0,0 +1,41 @@ + + ++++===*******===+++ + +=***%==x~ o+**$%*=++ + +=**++ **%*++ + x+**++ ·ox+====+xo~ ==**+x + xx**xo o*@@@@@@@@@@@@@@@@@@@@%=~ ==++ + xx**x· *@@@@$$$$$$$$$$$$$$$$$$$$@@@@@%o ++*= + ==+o x@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@$x o+** + ++++ x@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@% ~+== + ** $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@% ++++ + xx++ @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ == + ==+· @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@@@ o+++ + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$· x == + ox++ *$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ ++xx + ++++ @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$* x+++ + +++x $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$=· ~+++ + +++o @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@@*· ·+++ + +++o @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@*· ·+++ + +++o @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ ~+++ + +++o @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x ~+++ + +++~ ~@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@=+*@@~ o+++ + +++· x@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@$$ o+++ + ==+· *@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ x+++ + == $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ ++xx + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% ++xx + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x == + o == +@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + xx++ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ == + +++x @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ ·+++ + +++· +@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ x+++ + == $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ ++xx + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == $@$$$@@@@@@@$$$$$$$$$$$@@@@@@@$$$$$$$$$$$$@@@@@@@$@@@ ·x== + ==+· x@@@*o o%@@@@@@@@@@@%x· ~=@@@@@@@@@@@@=~ x%@$~ ==++ + ==++ x=***=o o+***=+· ++== + x+===+ ++ ox ~x +===xx + ++====x+==*====+++ ++*=====++ x+*=*===++*+====xx + ++==****++++==************++++++=*******%***==++++==**++ + ++ ++++++++++xx ++++++++++++ + + diff --git a/src/build/framegen/frames/frame_053.txt b/src/build/framegen/frames/frame_053.txt new file mode 100644 index 000000000..a49bc03a1 --- /dev/null +++ b/src/build/framegen/frames/frame_053.txt @@ -0,0 +1,41 @@ + + ++++==*********==+xx + x+==**=*+=o~ ··++%*%%*=++ + ==**++ %***++ + x+**++ ~o++====+x~ *+** x + ++** +%@@@@@@@@@@@@@@@@@@@@*x **++ + ++=* o%@@@@$$$$$$$$$$$$$$$$$$$$@@@@$= +=++ + ox**o %@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@* +=++ + ==+o %@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@x +=++ + xx== =@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@o ==xx + ==+~ $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ ·x== + == $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ ++xx + xx++ %@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ ·+== + +++~ @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* == + ==x· *$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ ==xo + == $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ ++xx + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ ++xx + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$o ++xx + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% ++xx + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$% ++xx + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@= ++xo + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$* ==xo + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x == + == ~@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + ox== =@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + ++++ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + ++++ @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% x== + +++o @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@o ~+++ + +++· =@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ x+xx + == $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ ++xo + == $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$+ == o + == ~@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ == + ox== $@$$$$$$$$$@@@@@@@$$$$$$$$$$$@@@@@@@@$$$$$$$$$$$@@@@% ~+== + ==x· o$@@@@@@@$+ +@@@@@@@@@@@%o o%@@@@@@@@@@$+ ==xx + ==++ ·x+o ·x+=+x· o+==+o +=== + xx===+ == ++ o+=++=== + ++====+=xo ~x*===**==+=xo ++****==+=+x ++*=**==== + xx++=*********++++++=***********++++++==**********==++xx + ++xx++ xx++++xx xx++++++ + + diff --git a/src/build/framegen/frames/frame_054.txt b/src/build/framegen/frames/frame_054.txt new file mode 100644 index 000000000..ffc240ee7 --- /dev/null +++ b/src/build/framegen/frames/frame_054.txt @@ -0,0 +1,41 @@ + + ++====******====++ + x+==**=*++o· ~x==%*%*== + ++**=*+x ++%=== + ++**xx ~x++==++o~ o+**++ + ===+ o*$@@@@@@@@@@@@@@@@@@@*x =+** + ===+ ·*@@@@$$$$$$$$$$$$$$$$$$$$@@@@$= oo**xx + ++=+ *@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@* **xx + xx== %@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@o ·~** + ==+~ +@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@~ o+== + xx== $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ ==xx + +++o @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ ·x== + == $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + ox== ~@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ +++x + ++++ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ ~+++ + xx++ @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= ·+== + ++++ @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* ·x== + ++++ @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* ·x== + +++x @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* ·+== + ++xx @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= ·+== + +++x @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ ·+++ + +++o @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x ·+++ + +++o @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ ~+++ + +++~ o@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ o+++ + +++· =@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ x+++ + ==x %@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ ++xx + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ ++xo + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* ==xo + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ == + xx== +@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ == + xx++ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + xx++ @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x ·x== + xx== @@@@@@@@$$$$$$$$$$@@@@@@@@@$$$$$$$$$$@@@@@@@@$$$$@@@~ ++++ + ox==x =@@@@@@@@@@%~ ~%@@@@@@@@@$+ =@@@@%~ ·x== + ==++ ~oo~ ·ooo· ==++ + xx===+ %% %% **=+ +x==++ + ox====**====+*+x ++*=**===*=*++ xx**==**=*==+=+=*=**++ + ++xx ++==********==++ ++==********==++ ++++****++xx + + + diff --git a/src/build/framegen/frames/frame_055.txt b/src/build/framegen/frames/frame_055.txt new file mode 100644 index 000000000..f233e3ef0 --- /dev/null +++ b/src/build/framegen/frames/frame_055.txt @@ -0,0 +1,41 @@ + + ++=====*****====++ + ++***%=*=+o· x+**%%**=+ + ++**+* ==**=+ + ==== ·~ox+++xo~ ++**++ + xx**++ +%@@@@@@@@@@@@@@@@@@@%+· =*== + ox**xo +$@@@@$$$$$$$$$$$$$$$$$$$@@@@@*~ ++*= + =*+o o$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@$~ x+== + ++++ +@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@+ ++++ + ox== ·@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@x ==xx + +++o =@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ ·x== + == %@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· ++xx + +x++ =@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ ·+== + +++o @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + ==+ *$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$x ==xo + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% ++xo + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ ++xx + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ ++xx + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ ++xo + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% ++xo + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% ++xo + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* ==xo + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= ==xo + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ ==xo + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@o == + == o@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + ox== +@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + ox++ %@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + ox++ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ == + +x++ @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% x== + +++x $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$+ ·+++ + +++o @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ x+++ + ++++ ·@@$$@@@@@@@@@$$$$$$$$$@@@@@@@@@$$$$$$$$$$@@@@@@@@@@% ==++ + xx== x$$= ~%@@@@@@@@@%~ =@@@@@@@@@$+ o= o+== + ==++ ·· ·· ·x==xx + ox===+ %*+x %%=+ **** ++**++ + x==**=**=**==**+*++xxxx++%***==**=*=*xxoo++%=***=======**++ + xx++++xx xx++********++xx ++==******==++ ++++ + + + diff --git a/src/build/framegen/frames/frame_056.txt b/src/build/framegen/frames/frame_056.txt new file mode 100644 index 000000000..60a529915 --- /dev/null +++ b/src/build/framegen/frames/frame_056.txt @@ -0,0 +1,41 @@ + + ++++====**====++++ + ++***%=*==o~ · o+*=%%%*==++ + ++**== x+%***++ + ++**++ ~ooooo~· **== + ++**o o=$@@@@@@@@@@@@@@@@@@*x ++**++ + ++== o%@@@@$$$$$$$$$$$$$$$$$$$@@@@@= **++ + ++== ~$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@* **++ + ox=* +@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@o ·o** + ==+o ~@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ x+== + xx== %@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* ==xx + ==+o @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ ~+== + == $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ == + xx== +@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* ++xx + xx++ @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ x+++ + +++o $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$· ~+++ + +++o @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@o ~+++ + +++o @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@o ~+++ + +++o @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@o ~+++ + +++o @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ ~+++ + +++o @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ ~+++ + +++~ ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ ~+++ + +++~ ~@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ o+++ + +++~ o@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ o+++ + +++~ x@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ o+++ + +++· +@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ o+++ + +++· =@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ x+++ + ==+· *@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ x+++ + ==+ %@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ ++xx + == $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ ++xx + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ ++xx + == *@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x ==xo + +++x =@@$$$$$$$@@@@@@@@@$$$$$$$$$@@@@@@@@@@$$$$$$$$@@@@@$~ == + xx== +$@@@@@$+ =@@@@@@@@@*· o%@@@@@@@@$+ ++++ + ===+ x+== + ===+ **%% ++%%+x x+%%=+**xx + ++**+*++++*=**====**=*=+++++***=**++**=*==++++==%=**++=+ + xx++=====+xx xx++======++++ ++========++ + + + diff --git a/src/build/framegen/frames/frame_057.txt b/src/build/framegen/frames/frame_057.txt new file mode 100644 index 000000000..ce6e787a8 --- /dev/null +++ b/src/build/framegen/frames/frame_057.txt @@ -0,0 +1,41 @@ + + xx+++===========++xx + ++++***%=*==xx~~~~ox==******+++x + xx==**== ++**==xx + ++**++ ·~~~~· ++**++ + ==== x*$@@@@@@@@@@@@@@@@@*+ ==*= + ===+ =$@@@@$$$$$$$$$$$$$$$$$$@@@@@*· ++** + ===+ =@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@%· x+== + ++=+ $@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@x +=++ + xx== $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@~ ==xx + +++x +@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% ·+== + == %@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ ==xx + xx++ *@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ o+++ + ==+· ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$% == + == $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$o == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ ==xo + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ ==xo + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ ==xo + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ ==xo + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ ==xo + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ ==xo + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ == + =* @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@o == + == $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$x == + == @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + ==+~ %@@@$$$$$$$$@@@@$$@@@@$$$$$$$$$@@@@$$@@@@$$$$$$$$@@$ ·x== + ++== o%@@@@@@@@%o *@@@@@@@@$= x%@@@@@@@$= ++++ + ===+ +=== + ====xx ++%%=+ %%== +=== + ++**=*==++++=**=**++=*****++++==%=**++==***%++++==%***++ + ++=======+++ ++++=====+++ xx++++==++++ + + + diff --git a/src/build/framegen/frames/frame_058.txt b/src/build/framegen/frames/frame_058.txt new file mode 100644 index 000000000..76dd6000d --- /dev/null +++ b/src/build/framegen/frames/frame_058.txt @@ -0,0 +1,41 @@ + + xx++++++====++++++ + ++==**%%*%**==++++==**%*****++ + ++***%== x+*=**++ + ==**++ ==**++ + xx**++ x*$@@@@@@@@@@@@@@@%=o x+**++ + ++**xx ~*@@@@@$$$$$$$$$$$$$$$$@@@@@$+ ~==++ + xx**o~ x$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$@@@@= ==++ + =*+~ *@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$ ·x*=xx + ++++ %@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ x+== + x+== x@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@+ ==xx + +++x %@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% x+++ + == %@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% == + xx++ x@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@o ==xx + +++x @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ ++++ + +++o $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ x+++ + +++~ @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ o+++ + +++~ %$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ o+++ + +++~ x@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ o+++ + +++~ ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ o+++ + +++~ ~@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ o+++ + +++~ ~@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· ~+++ + +++o ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ ~+++ + +++o @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@o ~+++ + +++o @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@o ~+++ + +++x @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x ·+++ + xx+x @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= ·+++ + +++x @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* ·+== + xx++ @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% x== + xx++ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ == + xx++ @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + ox== o@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= == + == $$$$@@@@$$$$$$$$@@@$$$@@@@$$$$$$$$@@@@$$$@@@$$$$@@@+ x+++ + ++++ +$@@@@@@@$= ~%@@@@@@@@%~ =$@@@%o ==+x + ==++ +=++ + ===+=*%% ==%%++ ++%%*= x~==== + ++++++**=%**++==%***==++==*%**++++**%***++==***%***=**++ + x+++==++++ ++++++==+++x +++++x + + + diff --git a/src/build/framegen/frames/frame_059.txt b/src/build/framegen/frames/frame_059.txt new file mode 100644 index 000000000..c2adc0c02 --- /dev/null +++ b/src/build/framegen/frames/frame_059.txt @@ -0,0 +1,41 @@ + + xx++++++++++++++++ + ++==***%%%************%***==++ + ++***%== =+****++ + xx====++ ++====xx + ++**++ x=%@@@@@@@@@@@@@$%+o +=**xx + ++**oo o%@@@@@@$$$$$$$$$$$$$$@@@@@$= x+*=+x + ++== +@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$@@@* x+==xx + x+== ~$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@o ++== + ==+~ ~@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ ==+x + ++++ $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* ~+== + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ ==+x + ++++ ~@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ x+++ + +++o @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$* == + == @@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + == ·$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$x == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= ==xo + == o$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= ==xo + == $%%%$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= ==xo + == @@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= ==xo + == $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* ==xo + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* ++xo + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% ++xx + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ ++xx + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ ++xx + == $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ ++xx + ==x %@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ ++++ + ==+· =@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ x+++ + +++~ x@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ o+++ + +++o ·$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ ~+++ + +++x @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$+ ·+++ + xx++ *@$$$$@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$$$$$$$$$@ ~+++ + == x@@@$$$@@@@$$$$$$$$@@@$$$@@@@$$$$$$$$@@@@$$$@@@@$@@@· ++++ + ++++ +$@@@@@@@$= ~*@@@@@@@@%~ +$@%~ == + ==+x ==++ + ===+o ==%%+o ==%%++ ++%%== xo=*++ + ++**++++***%**====%***==++==***%====**%***++++**%%%***++ + ++++==++ ++++++++++ ++xx + + + diff --git a/src/build/framegen/frames/frame_060.txt b/src/build/framegen/frames/frame_060.txt new file mode 100644 index 000000000..f28078a15 --- /dev/null +++ b/src/build/framegen/frames/frame_060.txt @@ -0,0 +1,41 @@ + + ++++++++++++++ + ++++****%%%%%%%%%%%%%*****++xx + ++***%**+x +=*=**==+x + x+**=*++ ==**++ + ++**+= ·x=%$@@@@@@@@@$%=o xx==== + ==== o*@@@@@@@$$$$$$$$$$$@@@@@@%x ==== + ==*= =@@@@$$$$$$$$$$$$$$$$$$$$$$$$@@@@= ==++ + ++== +@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$~ ==++ + ox== =@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ o+== + ==+o x@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* =+++ + x+== %@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ ~+== + ==+o @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ ==xx + == $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$% ++++ + xx== x@@@@@@@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ o+++ + xx++ ~%@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$= ·+== + ++++ x@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% == + xx++ =$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ == + xx++ ============*@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ == + xx++ @@@@@@@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ == + xx++ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ == + xx++ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + ++++ %@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + xx== *@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + xx== =@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + == o@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@o == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= ==xo + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ +++x + == $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ ++xx + ==+· *$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ x+xx + +++x @@$$$$$$@@$$$$$$$$$$$$$$$$$@$$$$$$$$$$$$$$$$$@@$$$$$$@ x+xx + ox== =@@@@@@$$@@@@$$$$$$$$@@@@$$$@@@@$$$$$$$$@@@$$$@@@@@$ ==xo + +++x ~*· =$@@@@@@@%x o%@@@@@@@@* = ·x== + **+o ==++ + ==+= ++%$=* %%** **%% xo**++ + ++****==++++***%====***=**++++***%**==**%=**++++****==xx + ++++++++ ++++++++ + + + diff --git a/src/build/framegen/frames/frame_061.txt b/src/build/framegen/frames/frame_061.txt new file mode 100644 index 000000000..c33681cc0 --- /dev/null +++ b/src/build/framegen/frames/frame_061.txt @@ -0,0 +1,41 @@ + + ++++++++++++++ + ++++*****%*%%%%%%*%%****==++ + ++=****%++ x+*===**++ + x+==**=* =+====++ + ++**+= ~x=*%$$@@@$$%=+~ ++==++ + ====oo =%@@@@@@@@$$$$$$@@@@@@@@%+ ox==++ + ==*= +$@@@@$$$$$$$$$$$$$$$$$$$$$$@@@@%· ·x==++ + ++== x@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@+ o+==xx + x+== *@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@= +=== + ==+~ +@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ ==xx + ++++ @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ ++++ + ==+· @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ == + ox== @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ ==xx + xx++ %@@@@@@@@@@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ ++++ + ++xx *ooooooooooooooo=@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ o+++ + +++o $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@o ~+++ + +++o %$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@o ~+++ + +++o =ooooooooooooooo=@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x ~+++ + +++o @@@@@@@@@@@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x ·+++ + +++x $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ ·+++ + xx+x @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= ·+== + ++++ @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* ·+== + xx++ @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ == + xx++ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + ox++ %@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + ox== +@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + == ~@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ ==xo + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% ++xx + == $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ ++xx + +++o @@$$$$$$$$@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$$$$@@ ++++ + ox== *@@@$@@@$$$@@@@$$$$$$$$@@@@$$@@@@@$$$$$$$@@@@$$$@@@$ ==xo + ==+x o%$= ~%@@@@@@@@%~ =$@@@@@@@$+ ·+== + **+o ==xx + ==+= ++%%=+ ++%**= %%*% oo**++ + ++***%**++xx+=***%====*=**==++++***%====***=**++++**==+x + ++++++++ ++++++ + + + diff --git a/src/build/framegen/frames/frame_062.txt b/src/build/framegen/frames/frame_062.txt new file mode 100644 index 000000000..b8e23ebe0 --- /dev/null +++ b/src/build/framegen/frames/frame_062.txt @@ -0,0 +1,41 @@ + + xx++++++++ + xx++==*******%%*******==++++ + ++==**=***++ · ++==*=**==++ + ++==**=%+o ox=+====++ + ++**== ~ox+====++o· xo+===++ + ++==++ ·+%@@@@@@@@@@@@@@@@@@@@*x +===++ + ====~ *@@@@@$$$$$$$$$$$$$$$$$$$$@@@@%~ ++==++ + ++== *@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@* ++==xo + ++==o· o@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$ ==++ + ==+x ·@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@* ·x==xx + ++== %@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ ++++ + ==+~ @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ ·x== + ox== @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ ==xo + ++++ *$$$$@@@@@@@@@@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$* ++++ + +++x @$$@@%**************%@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ x+++ + +++~ ·$$$* ·$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ o+++ + +++~ ~@$@~ @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ o+++ + +++~ ~@$$@+ ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· ~+++ + +++o @$$$@@@@@@@@@@@@@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ ~+++ + +++o @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@o ~+++ + +++o @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x ·+++ + xx+x @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= ·+++ + ++++ @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* ·+== + xx++ @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ == + ox++ $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + ox== *@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + == o@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x == + == $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% ++xx + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ ++xx + +++~ @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ ++xx + ox== %@@@$$$@@@@$$@@@@$$$$$$$$@@@@$$@@@@@$$$$$$$$@@@@$$@$ ==xo + ==+o x%@@@%~ ·*@@@@@@@@$+ x%@@@@@@@@*· ·+== + **xo ==xx + ==+= ++%%*= %%** **%%+o**++ + ++***%*=%*==++++***%==++***=**++++***%==++==%***++x++++x + ++ ++++++++ ++++++ + + + diff --git a/src/build/framegen/frames/frame_063.txt b/src/build/framegen/frames/frame_063.txt new file mode 100644 index 000000000..e3eb943d4 --- /dev/null +++ b/src/build/framegen/frames/frame_063.txt @@ -0,0 +1,41 @@ + + xxxxxxxx + ++++==**************==++++ + ++++*****%==++xx oo++==%*==**==++ + ++**=*== ++======xx + ++===*++ ~oooo~ ++====++ + ++==+= ~+%@@@@@@@@@@@@@@@@@$*x +===++ + ++==xx o%@@@@@$$$$$$$$$$$$$$$$$$@@@@$+ +===++ + ++==o~ x@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@+ +=== + xx==+~ %@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@* ==++ + ==++ %@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@+ ~+==xo + ++== +@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ ++++ + ==+o %@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ ~+== + == %@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ ==xo + xx++ x@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$* ++xx + ++++ @$$$$$@@@@@@@@@@@@@@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$@ x+++ + +++o +$$$$$= *$$$$$$$$$$$$$$$$$$$$$$$$$$$$ o+++ + +++o @$$$@ @$$$$$$$$$$$$$$$$$$$$$$$$$$@~ ~+++ + +++o %$$$$$% ·$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ ~+++ + +++o @$$$$$@@@@@@@@@@@@@@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$@o ~+++ + +++o $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x ·+++ + +++x @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ ·+++ + +++x @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* ·+== + xx++ @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% x== + xx++ @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ == + ox++ %@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + ox== =@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + == ~@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ ==xo + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% ++xx + == $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ ++xx + +++~ @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ ++xx + xx== %@@@$$$$$@@@@$@@@@@$$$$$$$$@@@@$@@@@@$$$$$$$$$@@@@$$ ==xo + ==+o +$@@@@$+ +$@@@@@@@@%~ ~%@@@@@@@@$+ ·x== + **+o ==xx + **++ +=%%+o ++%%== *%=+=*++ + ++***%==****++++==*%**++++*=**==++++***%++++==*=**++++xx + ++++ ++++++++ ++++++++ + + + diff --git a/src/build/framegen/frames/frame_064.txt b/src/build/framegen/frames/frame_064.txt new file mode 100644 index 000000000..9fd11f4cb --- /dev/null +++ b/src/build/framegen/frames/frame_064.txt @@ -0,0 +1,41 @@ + + + xx++++==********====++++ + ++==****%%****++++==**%**=====++++ + ++==***%++ x+*+====++ + xx====== =+====++ + ++====x+ o=%$@@@@@@@@@@@@$%=o xo====++ + ++===+ ~*$@@@@@$$$$$$$$$$$$$$@@@@@$= +===++ + x+==++ x$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$@@@% ==== + ===+ %@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@x ==++ + ++== $@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@~ ~+==xx + ox==x· %@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% ++++ + ++++ @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ ·+== + ==+· @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ ==xx + ox== @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$% ++++ + xx++ +@@@$$$$$$@@@@@@@@@@@@@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$@ o+++ + xx++ +@$$$$@= *@$$$$$$$$$$$$$$$$$$$$$$$$= ·+== + ++++ x@$$@* %@$$$$$$$$$$$$$$$$$$$$$$@% ·x== + xx++ %$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$@% x== + xx++ +$@@$$$$$@@$$$$$$$$$$$$$$$@@$$$$$$$$$$$$$$$$$$$$$$$$@% x== + xx++ @@$$$$$$$$$$@@@@@@@@@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$@$ == + xx++ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ == + xx++ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + ox++ %@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + xx== *@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + == +@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ ==xo + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% ++xo + == $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ ++xx + ==+· %$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ x+++ + +++o @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ xxxx + ox== %@@$$$$$$$$@@@@@@@@@$$$$$$$$$@@@@@@@@@@$$$$$$$$$@@@@ ++xx + ==+o =$@@@@@@@* *@@@@@@@@@%o x%@@@@@@@@@= ** + **x~ ==++ + **+= +=%% %%=x *+**++ + ++***%++++*=**==++===%==++x+==*=**++++*%**++++++*=**++++ + ++++==++ ++====++ ++++==++++ + + + diff --git a/src/build/framegen/frames/frame_065.txt b/src/build/framegen/frames/frame_065.txt new file mode 100644 index 000000000..b1ee24c5b --- /dev/null +++ b/src/build/framegen/frames/frame_065.txt @@ -0,0 +1,41 @@ + + + xx++++==========++++xx + ++++==**=*%%%%******%*%*======++++ + ++==**=**%+o ++*=====++ + ++===*+= ======++ + ====++ ·x=%$@@@@@@@@@$%=x +x====++ + x+====oo ·=$@@@@@@@$$$$$$$$$@@@@@@@%+ +===++ + ==== +@@@@$$$$$$$$$$$$$$$$$$$$$$$$@@@@* +===xx + ++== ~$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@x ==== + ++==x· o@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@x ·+==+x + ==++ @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ ++== + ox== +@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· ==xo + ++++ =@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· ++++ + ==+· x@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ o+== + == +%@@@$$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$* x== + == =@$$$$$@+ ~*@$$$$$$$$$$$$$$$$$$$$$$@ == + == @$$$@ o@$$$$$$$$$$$$$$$$$$$$$$ == + == ~@$$$@ +$$$$$$$$$$$$$$$$$$$$$$@ == + == +$@$$$$$@$=++++++++++++++*@@$$$$$$$$$$$$$$$$$$$$$$@ == + == $@@@$$$$$$$$$@@@@@@@@@@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$@ == + == x@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + == ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= ==xo + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% ++xx + == $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ ++xx + ==x %@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ ++xx + +++· =@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ x+++ + +++~ o$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ o+++ + +x+x @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ o+++ + ox== %@@$$$$$$$$$@@@@@@@@@$$$$$$$$$$@@@@@@@@@$$$$$$$$$@@@o ++++ + +++o =@@@@@@@@@$x =@@@@@@@@@@* o%@@@@@@@@@%o *= + **x· ~~ ~~· ·~~ +=++ + **++ **** +=%% ~==++ + ++**=*+xoo++*+**++++**=*+x~~ox=+**==++**=*++ooox++*=**++ + ++======++ ++====++++ ++++====++ + + + diff --git a/src/build/framegen/frames/frame_066.txt b/src/build/framegen/frames/frame_066.txt new file mode 100644 index 000000000..8b97f549e --- /dev/null +++ b/src/build/framegen/frames/frame_066.txt @@ -0,0 +1,41 @@ + + + ++++++++++++++++++ + ++++==*******%%%%***==**====++ + ++=====**%++ x+****====++ + ++====+=++ +x======+x + ++====++ ~x=**%%%%**=+~ +x====++ + ++===+ o*$@@@@@@@@@@@@@@@@@@@@$*o +===++ + ++==++ ·*@@@@$$$$$$$$$$$$$$$$$$$$$$@@@@* +===+x + xx===+ *@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@= ++== + ==++ $@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@* ==++ + ++==o %@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@+ ~+==xo + ==++ ~@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ ==++ + ox== x@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ o+== + ++== o@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ ==xo + +++x o*@@@@$$$$$$$$@@@@@@@@@@@@@@@@@$$$$$$$$$$$$$$$$$$$$@o ==xx + +++~ o%@$$$$$@@=++++++++++++++=$@$$$$$$$$$$$$$$$$$$$$$ ++++ + +++· $$$$@+ @$$$$$$$$$$$$$$$$$$$@ ++++ + ==+· $$$$@~ @$$$$$$$$$$$$$$$$$$$@ x+++ + ==+· x@@$$$$@*~ ·+@$$$$$$$$$$$$$$$$$$$$@ xx++ + ==+· o%@@@$$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$$$$$$$$$$$$$$$$@ x+xx + +++· x@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ x+++ + +++· =$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ x+++ + +++· x@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ o+++ + +++~ o@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ o+++ + +++~ ~@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ ~+++ + +++o @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ ~+++ + +++o @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x ·+++ + xx+x @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= ·+++ + ++++ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* ·+== + xx++ @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$% == + xx++ %@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% == + == *@@@$$$$$$$$$$$@@@@@@@@$$$$$$$$$$@@@@@@@@$$$$$$$$$@@$ o+++ + +++x =@@@@@@@@@@@+ o%@@@@@@@@@@%~ ·=@@@@@@@@@%· ==xx + **x· ox++o ~x++x~ o+x~ x+== + **++ ==+x x+=+ ++== + ++**=%++ ·o=+**++===*++ ++*===+=**==o· ~x*+**++ + x++==**===++ +++=***=+++x ++=***==++ + + + diff --git a/src/build/framegen/frames/frame_067.txt b/src/build/framegen/frames/frame_067.txt new file mode 100644 index 000000000..f8d68716d --- /dev/null +++ b/src/build/framegen/frames/frame_067.txt @@ -0,0 +1,41 @@ + + + ++++++++++++++xx + ++====****************==++++ + ++++=====*=*+x ~o==***=====++ + ++====== ++=+====+x + xx====+= ~x+=====+o~ ++====++ + xx====ox o*$@@@@@@@@@@@@@@@@@@@%+· +===++ + ox==== o%@@@@@$$$$$$$$$$$$$$$$$$$@@@@@= +===++ + ==== ·%@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@= +===xo + ++==o x@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@% ==++ + ==+x ·@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@= ·x==xo + ++== *@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ ++++ + ==+o $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ ·+== + ox== @@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ ==++ + xx+= ·*@@@@$$$$$$$$$@@@@@@@@@@@@@@@@$$$$$$$$$$$$$$$$$$$$$ ++++ + xx++ ~*@@$$$$$@@%%%%%%%%%%%%%%%%@@$$$$$$$$$$$$$$$$$$@ o+++ + +++x ~@$$$@x +$$$$$$$$$$$$$$$$$$$x ·+++ + +++x @$$$@ @$$$$$$$$$$$$$$$$$@+ ·+++ + +++x ~$$$$$$@o x@$$$$$$$$$$$$$$$$$$@+ ·+++ + +++x =@@@@$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$$$$$$$$$$$$$$@+ ·+++ + +++x =$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= ·+++ + xx+x @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= ·+++ + +++x $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= ·+== + +++x @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* ·+== + ++++ @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* x== + xx++ @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% == + xx++ @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ == + xx++ @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ == + ox++ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + xx++ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ == + ox== =@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + == *@@@@$$$$$$$$$$$@@@@@@@$$$$$$$$$$$$@@@@@@@$$$$$$$$$@@ ·+== + +++x ~*@@@@@@@@@@@%o +$@@@@@@@@@@$+ o*@@@@@@@@@+ ++xx + **o· ~+===+o x====x ~+=+· o+== + x+**x++x ++ ++ x+** + ++==*=++ ~o*+**==**+= ++**==**+*x~ ++**=+ + ++=****===++ ++=******=++ +++==**==+ + + + diff --git a/src/build/framegen/frames/frame_068.txt b/src/build/framegen/frames/frame_068.txt new file mode 100644 index 000000000..829d8f6a3 --- /dev/null +++ b/src/build/framegen/frames/frame_068.txt @@ -0,0 +1,41 @@ + + + ++++xx++ + ++++====************==++++ + ++==**===%**++xo~~~~xx+=%*%****=+++x + ++======+= *=*===++ + ++====++ ·~~~· =+====xx + ++==++ ·+%$@@@@@@@@@@@@@@@@$=o +===++ + ++==+x o*@@@@@$$$$$$$$$$$$$$$$$@@@@@$x +===+x + ++==+o ~$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@@+ +===xo + ox==+x =@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@% ++== + ++++ +@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@* ·o==+x + xx==x· @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ ++== + ++++ @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x ==xo + ==+· @@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@o ++x+ + == x%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ o+++ + xx== +$@@$$$$$@@@@@@@@@@@@@@@@@@@@$$$$$$$$$$$$$$$$$= ·+== + xx++ ~$$$$$$ +$$$$$$$$$$$$$$$$$$ == + ++++ @* *@$$@o @$$$$$$$$$$$$$$$$@ == + ++++ x$$$$$$· =$$$$$$$$$$$$$$$$$@ == + ++++ =$@@$$$$$$@@@@@@@@@@@@@@@@@@@$$$$$$$$$$$$$$$$$@ == + ++++ =$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + ++++ +$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + xx++ $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + xx++ %$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + xx++ %@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + ox++ *@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + ox== *@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + ox== *@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + ox== =@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + ox== =$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ == + == x@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + == %@@@@@$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$$@@@@@@$$$$$$$$@@+ == + +++o oo+%@@@@@$$@@@@@%+o~o=$@@@@$$$@@@@@*x~o+%@@@@@@@@% ++++ + ** x*%$$$*+ ~=%$$$%=o +*%=~ ·o** + xx**· ·o**++ + xx******+= =+****=* ++=***=*+x =+**xx + ++==%%%%%%==++ ++==*%%%%%**=+ x+==*%%*==++ + + + diff --git a/src/build/framegen/frames/frame_069.txt b/src/build/framegen/frames/frame_069.txt new file mode 100644 index 000000000..2868c56cd --- /dev/null +++ b/src/build/framegen/frames/frame_069.txt @@ -0,0 +1,41 @@ + + + + ++++==**********====++++ + xx++==****%%**++++++++**%**=**==++ + ++**=*=* ~x*=====++ + xx====+= ++====++ + ++===+ ~=%$@@@@@@@@@@@@@@$%+· o=*==++ + x+==++ +$@@@@@$$$$$$$$$$$$$$$$@@@@@%o +===xx + ox===+ =@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@$x +===xx + ==++ ·$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@* ++== + ++== @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@* ==xx + ==+~ *@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@~ ++== + ++== $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ ==xo + ==+x $@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ ++++ + == +$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ ~+== + == +$@@$$$$$$@@@@@@@@@@@@@@@@@@@$$$$$$$$$$$$$$$$$ == + == ~$$$$$$+ x$$$$$$$$$$$$$$$$@ == + == %@%· ~@$$@% =@$$$$$$$$$$$$$$$ == + == %$$$$$~ $$$$$$$$$$$$$$$$@ == + == ~*@@@$$$$$@@@@@@@@@@@@@@@@@@@$$$$$$$$$$$$$$$$@ == + == ~*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + == ~=@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + == *@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + == +$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + == +@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + == +@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + == x@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + == x@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + == x@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + == x$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ == + == o@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + == $@@@@@$$$$$$$$$$$$$$@@@@@$$$$$$$$$$$$$@@@@@$$$$$$$$$@% == + +++o x*+=*@@@@$$$$$$@@@$*=+=%@@@@$$$$$@@@@%=+=*@@@@$@@@@o x+++ + ~o** o*$@@@@$*o +%@@@@@%+ x*$%+ ** + ++** **++ + ++**==**== ==****xo =+****++ ++**++ + +x ++==%%%%%%%*==++ x+==*%%%%%%%**=+ +=*%%%**=+ + + + diff --git a/src/build/framegen/frames/frame_070.txt b/src/build/framegen/frames/frame_070.txt new file mode 100644 index 000000000..67de5408d --- /dev/null +++ b/src/build/framegen/frames/frame_070.txt @@ -0,0 +1,41 @@ + + + + ++++++========++++++ + ++==*****%%%********%*%*****==++ + ++==**=*++ ++*=**==++ + ++**+= =+**++ + xx====ox ~+%$@@@@@@@@@@@@$%=~ xo====xx + xx===+ ·=@@@@@@$$$$$$$$$$$$$$@@@@@@=· +===++ + ===+ ~%@@@$$$$$$$$$$$$$$$$$$$$$$$$$$@@@%~ +=== + ++== =@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@* ==++ + ++==o =@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@* ==+x + ==++ ·@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@~ x+== + xx== =@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= ==xo + ++++ ~$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* ++++ + ==+· x%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@o ·+== + == x%@@@$$$$$$@@@@@@@@@@@@@@@@@@@$$$$$$$$$$$$$$@ == + == *@$$$$@+ ·%$$$$$$$$$$$$$$$ == + == ·@@@+ %@$$@x $$$$$$$$$$$$$$@~ == + == ·*o $$$$$* ·$$$$$$$$$$$$$$@~ == + == =@@$$$$$@@$%%%%%%%%%%%%%%%@@$$$$$$$$$$$$$$@~ == + == =$@@@$$$$$$$$$$@@@@@@@@@@@@@@@$$$$$$$$$$$$$$$$@~ == + == +$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ == + == ~@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ == + == $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ == + == ·$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ == + == @@$$@@$$$$$$$$$$$$$$$$$@$$$$$$$$$$$$$$$$$@@$$$$$$$$$@@ == + ==+~ %@@$$@@@@$$$$$$$$@@@@$$$@@@@$$$$$$$$@@@@$$@@@@$$@@@% ·+== + xx== =@@@@@@@@%x x%@@@@@@@@= *@@$+ ==xx + ++=+ +=++ + ++==x+**%* **%%+x +=%%=+ oo==++ + ++==++x+**=%=*==**%***++x+==*%*%====****+++++=*****===++ + ++++++ ++++++++ ++ + + diff --git a/src/build/framegen/frames/frame_071.txt b/src/build/framegen/frames/frame_071.txt new file mode 100644 index 000000000..42ed54523 --- /dev/null +++ b/src/build/framegen/frames/frame_071.txt @@ -0,0 +1,41 @@ + + + + +++++++===+++++++x + xx++*****%*%*%%%*%%*%*******++xx + xx++***%== +=*=**==++ + ++**+=+x *=**++ + ====x+ x=%$@@@@@@@@@@$%*x· xx==== + ==== x%@@@@@@$$$$$$$$$$$$@@@@@@$+ +=== + ==== *@@@@$$$$$$$$$$$$$$$$$$$$$$$$$@@@%~ +=== + ++== x@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@= ==++ + xx==x· x@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@* ==+x + ++++ @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@o x+== + == o@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* ==xx + xx++ %$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* ++++ + +++o =$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x ·x== + == =$@@@$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$$$$$$$$$@ == + == x ·%@$$$$@= o$$$$$$$$$$$$$$$~ == + == @@@$x %@$$@x $$$$$$$$$$$$$@+ == + == @%x $$$$$* $$$$$$$$$$$$$@+ == + =* +$@@$$$$@@%***************@@$$$$$$$$$$$$$@+ == + =* x%@@@@$$$$$$$$@@@@@@@@@@@@@@@@$$$$$$$$$$$$$$$@+ == + == x$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x == + == @@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x == + == $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@o == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@o == + == $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$o == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + ==x· $@@@@@@@@$$$$$$$$$$@@@@@@@@@$$$$$$$$$@@@@@@@@@$$$@@@ ·x== + xx== =@@@@@@@@@@= o%@@@@@@@@@%~ =@@@%· ++xx + ==++ ·· ·~· x+== + ==++ x+%% %%+x **=+ +=== + ++**==++===%==xoox==%===++==*%==+xoo++*=**+++=**=**=**++ + +++==+++ +++===++++ ++++ + + diff --git a/src/build/framegen/frames/frame_072.txt b/src/build/framegen/frames/frame_072.txt new file mode 100644 index 000000000..95a4a2af4 --- /dev/null +++ b/src/build/framegen/frames/frame_072.txt @@ -0,0 +1,41 @@ + + + + +++++++++++++x + ++==*****%*%%%%%%%%*****==++ + ++***%=*x~ *=*=**++ + x+**==++ xx=+**++ + ++**++ ~+*%$@@@@@@@@$$%=o +x**=+ + ++==oo ~*@@@@@@@$$$$$$$$$$@@@@@@@%x =*== + ++== +$@@@$$$$$$$$$$$$$$$$$$$$$$$$@@@@* +=== + x+==o $@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@= ==++ + ==+o @@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@= ==xx + ++++ %@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@o x+== + ==x· @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* ==xx + xx== $%$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% x+++ + +++x =$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= == + ==+· =$@@@$$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$$$$$$$@ == + == @x ·*@$$$$@$o o$@$$$$$$$$$$$$x ==xo + == $@@@$x o@$$$$ *@$$$$$$$$$$@* ==xo + == @@@*o =@$$$$ %$$$$$$$$$$$@* ==xo + == % ·=@@$$$$@@%===============*@@$$$$$$$$$$$@* ==xo + == ·=$@@@$$$$$$$$@@@@@@@@@@@@@@@@@$$$$$$$$$$$$$@* ==xo + == % =$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* ==xo + == @@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* ==xo + == $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= ==xo + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= ==xo + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= ==xo + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= ==xo + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ ==xo + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ ==xo + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x == + == $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$x == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + ==x ~@@@@@@@@@$$$$$$$$$$$$@@@@@@@$$$$$$$$$$$@@@@@@@$$$$@@+ == + x+++ =%o +$@@@@@@@@@@@+· o*@@@@@@@@@@@*o ·+$@@@* ++++ + =*+~ x=**=x· o+=*=+o ·x** + **+x x+ +x ++ ox**xo + ====*===**+*+x x+*=**===*++ *+**==**++++*=== + +x xx===*%%*===++ x +==*%%*=*=++ ++=+ x + + diff --git a/src/build/framegen/frames/frame_073.txt b/src/build/framegen/frames/frame_073.txt new file mode 100644 index 000000000..d2d6c6d72 --- /dev/null +++ b/src/build/framegen/frames/frame_073.txt @@ -0,0 +1,41 @@ + + + + x+++++++++++ + ++++****%%%%%%%%$%%%****++++ + ++****=*+x *=*=**++ + xx==**++ ++*=**++ + ++**++ x=%$$@@@@@@@$%*+~ ++**++ + ++**oo =$@@@@@@@$$$$$$$$$@@@@@@@%x =*== + ++==o· o$@@@$$$$$$$$$$$$$$$$$$$$$$$$@@@@* +=== + x+=*o· %@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@+ ==++ + ==+x $@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@= ==xx + ++== *@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@o x+== + ==+· @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% ==xx + xx== @%%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ x+++ + ++++ o ~*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* == + ==x· x o*@@@@$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$$$$$$$@ == + == $$~ o$@$$$$@$o ·x@$$$$$$$$$$$$= ==xx + == @$@@@*~ *@$$@= $$$$$$$$$$$@% ++xx + == @@@@*o %$$$$* $$$$$$$$$$$@% ++xo + == @= ~*@@$$$$@@*+++++++++++++++%@$$$$$$$$$$$@% ++xx + == @ ·*@@@@$$$$$$$$@@@@@@@@@@@@@@@@@$$$$$$$$$$$$@% ++xx + == @+ ·=$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% ++xo + == @@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% ++xo + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* ++xo + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* ==xo + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* ==xo + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* ==xo + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= ==xo + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= ==xo + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ ==xo + == $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$+ == o + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@o == + == +@@$$@@@@@$$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$@@@@@@$$$$$@% == + ++++ %@$=o~o=$@@@@$$$@@@@@*x~~x*@@@@@$$$@@@@$+o~o=$@@@$~ x+++ + **o· ~+%$$$%*o x*$$$$%+· · ** + x+**o~ ~**+x + xx**+==+****== ++*=**=*x+ oo==****++ =+**+x + ++=+ ++==*%%%%%%*== xx+=*%%%%%%**=++ ++==++ + + diff --git a/src/build/framegen/frames/frame_074.txt b/src/build/framegen/frames/frame_074.txt new file mode 100644 index 000000000..bb794eea4 --- /dev/null +++ b/src/build/framegen/frames/frame_074.txt @@ -0,0 +1,41 @@ + + + + xx+++++x + ++==***%*%%%%%%%%%****+++x + x+==***%++ ~x%*****++ + ++**++ ++*=**xx + xx**++ o+*%$$@@@@@$$%*x~ +x**++ + x+**xx +$@@@@@@@@$$$$$$$@@@@@@@@%x =*++ + x+**o~ ~%@@@@$$$$$$$$$$$$$$$$$$$$$$$@@@@* +=++ + o **+~ *@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@+ ==++ + ==+x %@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@= ==xx + x+== +@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@o o+== + ==+~ $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% ==xo + ox== @@%$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ x+++ + ++++ $o o*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* == + +++~ ·@ o%@@@$$$$$$$$@@@@@@@@@@@@@@@@@$$$$$$$$$$$@ == + == %$$· x$@$$$$@$x~~~~~~~~~~~~~~~+@$$$$$$$$$$$* =+xo + == @$$@@@*~ *@$$@* $$$$$$$$$$$$ ++xx + == @$@@@*x *$$$$* $$$$$$$$$$$$ ++xo + == @$* =@@$$$$@@=xxxxxxxxxxxxxx+*@$$$$$$$$$$@$ ++xx + == @@ =$@@@$$$$$$$$@@@@@@@@@@@@@@@@@$$$$$$$$$$$@$ ++xx + == @$+ +$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ ++xo + == @$@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ ++xo + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% ++xo + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% ++xo + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% ++xo + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* ++xo + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* =+xo + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= ==xo + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= ==xo + == $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ ==xo + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$+ == + == %@$$$$$@@@$$$$$$$$$$$$$$$@@@@$$$$$$$$$$$$$$$@@@$$$$$@@ == + +++o +@@@@$**%$@@@$$$$$$$@@@@%**%@@@@$$$$$$$@@@$**%@@@@@* ~+== + ox** ~ ~*@@@@@@@%o +$@@@@@@$= oo ==xx + ++== ==++ + ++**o+ ++%%** ++%%**xx **%%++ +x**++ + +=**++ ++***%*%%%%*%*++ xx==*%*%%%%*%*==++ +=**=+ + xx ++ + diff --git a/src/build/framegen/frames/frame_075.txt b/src/build/framegen/frames/frame_075.txt new file mode 100644 index 000000000..497f7840c --- /dev/null +++ b/src/build/framegen/frames/frame_075.txt @@ -0,0 +1,41 @@ + + + + x+++ + ++==***%%%%%%%%%%***==++ + ++**=*++ ~x%*%*==+x + ++**== ++*===+x + xx**== ~+*%$$@@@@@$$%=x· ++**++ + xx**+x x%@@@@@@@@$$$$$$$@@@@@@@@%o ==++ + xx**x~ ·*@@@@$$$$$$$$$$$$$$$$$$$$$$$@@@@* +*++ + **x~ =@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@+ ==++ + ==++ *@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@* *=xx + xx== x@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@x o+== + ==+~ %@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% ==xo + == @@$$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ x+++ + ++++ %$ +$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% == + +++~ @* +$@@@$$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$$$$$@ == + ==+ *$@= =@$$$$$@*o~~~~~~~~~~~~~~o*@$$$$$$$$$$* +++x + == $$$@@@$+ @$$$@ @$$$$$$$$$$ ++xx + == @$$@@$*~ @$$$@ ~@$$$$$$$$$$ ++xx + == @$$x o%@$$$$$@%+xxxxxxxxxxxxxx+$@$$$$$$$$$$$ ++xx + == @@= ~*@@@@$$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$$$$$$$ ++xx + == @$$ ~*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ ++xx + == @$$@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ ++xx + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ ++xo + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ ++xo + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% ++xo + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% ++xo + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* ++xo + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* ==xo + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= ==xo + == $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= ==xo + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$+ ==xo + == $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ == + +++~ *@@@@@@$$@@@@$$$$$$$$@@@@@$@@@@$$$$$$$$$@@@@$$@@@@@$ ·x== + oo== x* ·*@@@@@@@@$x +$@@@@@@@@= ~+ ==+x + ++=+ +=++ + ++==o **** =*%%x ++%$++ ==++ + x+==****+x++***%**==**%***++++==**=*====%***=+xx++**==xx + ++++++ +++++++x + diff --git a/src/build/framegen/frames/frame_076.txt b/src/build/framegen/frames/frame_076.txt new file mode 100644 index 000000000..517a5a5b3 --- /dev/null +++ b/src/build/framegen/frames/frame_076.txt @@ -0,0 +1,41 @@ + + + + + ++==***%%%%%%%%*%***==++ + +=****++ o+*=%*==xx + ++**+= ++*=== + **+= ~+*%$$@@@@@$$%=x~ ++**++ + xx**+x x%@@@@@@@@$$$$$$$@@@@@@@@%x ==++ + ox**x~ *@@@@$$$$$$$$$$$$$$$$$$$$$$$@@@@* =*++ + =*+~ =@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@= ==++ + ++++ *@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@* *=oo + xx== x@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@x o+== + =++o %@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ ==xo + == $@@$$$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ o+++ + xx++ *@% =$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ == + +++o @$o ·=@@@@$$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$$$$@· == + ==+· *$$$x ~*@$$$$$@=~~~~~~~~~~~~~~~o%@$$$$$$$$$% ++xx + == $$$$@@@%o @$$$@ x@$$$$$$$$@ ++xx + == $$$$@@$=· @$$$@ +@$$$$$$$$@ ++xx + == $$$$~ x%@$$$$$@*+xxxxxxxxxxxxxx+$@$$$$$$$$$@ ++xx + == $$@o o%@@@@$$$$$$$@@@@@@@@@@@@@@@@@$$$$$$$$$$$@ ++xx + == $$$% o%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ ++xx + == @$$@@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ ++xx + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ ++xx + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ ++xx + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ ++xo + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% ++xo + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% ++xx + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* ++xo + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* ==xo + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= ==xo + == $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$= ==xo + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + ==+· $@@$@@@@@@@@@$$$$$$$$$$@@@@@@@@@$$$$$$$$$@@@@@@@@@@@· == + x+== ·%@$x =@@@@@@@@@@= o$@@@@@@@@@$o =o ++xx + ===+ ·~~· ~o~ x+== + ===+ ++%% %%+x **=+ ++== + ++**=**===++**=*=+~·~o+=%=**++===*==o~··x+%=**++++****++ + ++ x++=====++xx ++======++ + diff --git a/src/build/framegen/frames/frame_077.txt b/src/build/framegen/frames/frame_077.txt new file mode 100644 index 000000000..4ead3508d --- /dev/null +++ b/src/build/framegen/frames/frame_077.txt @@ -0,0 +1,41 @@ + + + + + +++==**%%%%%%%%*%%**=+++ + ++****++ ·x**%*==xx + ++**+= +x*=== + ==+= ~+*%$$@@@@@$$%*+~ +x**++ + xx**+x x%@@@@@@@@$$$$$$$@@@@@@@@%x ==++ + **x~ *@@@@$$$$$$$$$$$$$$$$$$$$$$$@@@@* +*++ + ==+~ =@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@= ==++ + ++++ *@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@* **oo + xx== o@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@+ o+== + +++o %@$$@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ ==xo + == $@@@$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ o+++ + ++++ *@$~ o%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ == + +++o @$@ x%@@@$$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$$$$@~ == + ==+· =$$$% x@@$$$$@$x~~~~~~~~~~~~~~~=@$$$$$$$$$% ++xo + == $@$$@@@$=· %$$$@+ @$$$$$$$$@ ++xx + == $@$$@@@*o %$$$@= $$$$$$$$$@ ++xx + == $@$$= ·=@@$$$$@@=xxxxxxxxxxxxxx+*@$$$$$$$$$@ ++xx + == $$$$ =$@@@$$$$$$$$@@@@@@@@@@@@@@@@@$$$$$$$$$$@ ++xx + == $$$$x =$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ ++xx + == $$$$@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ ++xx + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ ++xx + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ ++xx + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ ++xo + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ ++xo + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% ++xx + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* ++xx + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* ==xo + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= ==xo + == $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$= ==xo + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + ==+· @@$$$@@@@@@@@$$$$$$$$$$$@@@@@@@@$$$$$$$$$$@@@@@@@@@@x == + x+++ x$@@%o +@@@@@@@@@@@+ o%@@@@@@@@@@%o =+ ++++ + ==+x ox+xo ~x++x· ~+** + **++ == ==++ ++== ++** + ++**==*=**==**=*++ ·o*+**++===*++ ++*===++****=+ + ++++ ++++****==++ +==***==++ + diff --git a/src/build/framegen/frames/frame_078.txt b/src/build/framegen/frames/frame_078.txt new file mode 100644 index 000000000..4a7f7ab72 --- /dev/null +++ b/src/build/framegen/frames/frame_078.txt @@ -0,0 +1,41 @@ + + + + + +++===*%*%%%%%%%%%%*=+=+ + ++**=*++ ·o**%*==xx + ++**+= +x*=== + ==== o+*%$@@@@@@@$%*+o +x**++ + xx**+x +%@@@@@@@$$$$$$$$$@@@@@@@%x ==++ + **x~ ·%@@@@$$$$$$$$$$$$$$$$$$$$$$$@@@@%~ +=++ + =*+~ =@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@* ==++ + ++++ *@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@% **oo + ox== x@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@= ~+== + +++o %@$$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ ==xo + == $@$@$%$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ o+++ + xx++ *@$% +$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ == + +++o @$@= +$@@@$$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$$$@o ==xo + ==+· =$$$@= =@$$$$$@=~··············~*@$$$$$$$$$ ++xo + == %@$$$@@@$+ @$$$@ ·@$$$$$$$@ ++xx + == $@$$$@@$= @$$$@ o@$$$$$$$@ ++xx + == $@$$$~ x%@$$$$$@$+++++++++++++++=$@$$$$$$$$@ ++xx + == $@$@+ o%@@@@$$$$$$$@@@@@@@@@@@@@@@@@$$$$$$$$$$@ ++xx + == $$$$$ o%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ ++xx + == $$$$$@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ ++xx + == $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ ++xx + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ ++xx + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ ++xo + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ ++xo + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% ++xo + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% ++xo + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* ==xo + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= ==xo + == $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$= ==xo + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ == + ==x· ~@@$$$$@@@@@@@$$$$$$$$$$$$@@@@@@@$$$$$$$$$$$@@@@@@@@@= == + xx++ =@@@@$x ·x$@@@@@@@@@@@=~ o*@@@@@@@@@@@%x ·+* x+++ + **x~ x=***+~ ~+***=o ·o** + **+x o++ ++ ++ oo**xo + ====++x+*===**==+o ·x*=**====++ =+**==*===== + ++=+++ ++===*%%*==+++ ++==*%%**=++ xx + diff --git a/src/build/framegen/frames/frame_079.txt b/src/build/framegen/frames/frame_079.txt new file mode 100644 index 000000000..98c847b44 --- /dev/null +++ b/src/build/framegen/frames/frame_079.txt @@ -0,0 +1,41 @@ + + + + + ++==**%%%%%%%%%%$%%**=++ + ++****+o ==%*==xx + ++**+= ox*=== + =*== o=%$$@@@@@@@$$%=o xx**++ + xx**+x +$@@@@@@@$$$$$$$$$@@@@@@@$+ =*++ + **o~ ~%@@@$$$$$$$$$$$$$$$$$$$$$$$$@@@@%o +=++ + **x~ *@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@* ==++ + ++=+ *@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@% **xx + xx== x@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@= ~+== + +++o %@$$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ ==xo + == $@$@@%%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ ~+++ + xx++ *@$@· ~*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ == + +++o @$$@ ~*@@@$$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$$$@o ==xo + ==+· =$$$$$~ o$@$$$$@%~ x@$$$$$$$$$ ++xx + == %@$$$$@@@%o %@$$@+ $$$$$$$$@ ++xx + == $@$$$@@$=~ %$$$@* $$$$$$$$@ ++++ + == $@$$$= o*@@$$$$@@*++++++++++++++=%@$$$$$$$$@ ++xx + == $@$$$ ~*@@@@$$$$$$$$@@@@@@@@@@@@@@@@@$$$$$$$$$@ ++xx + == $@$$$+ ~*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ ++xx + == $$$$$@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ ++xo + == $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ ++xo + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ ++xo + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ ++xo + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ ++xo + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% ++xo + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% ++xo + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* =+xo + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= ==xo + == $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$= ==xo + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@o == + == o@@$$$$$@@@@@@@$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$@@@@@@@@* == + ++++ *@@@@@*x· ~x%@@@@@@@@@@@$+~ o=@@@@@@@@@@@@*o· ~+* x+++ + **x· o x*%%%*+· ~=%%%%=o ·o** + ox**xo oo xx xx oo**xx + ===*+x *+****=*+x =+****==++ ++==*****=== + ++====++ ++==**%%%**=++ ++=**%%%*==+x ++ + diff --git a/src/build/framegen/frames/frame_080.txt b/src/build/framegen/frames/frame_080.txt new file mode 100644 index 000000000..b8e4d0139 --- /dev/null +++ b/src/build/framegen/frames/frame_080.txt @@ -0,0 +1,41 @@ + + + + ++ + +==**%*%%$%%%%%%%%%*==++ + +=**=*x· +=%***++ + ++**++ *=**+x + **++ ~+*$$@@@@@@@@@$$*+~ ox**++ + xx**oo ~=@@@@@@@$$$$$$$$$$$@@@@@@@=~ +=++ + xx**o· x$@@@$$$$$$$$$$$$$$$$$$$$$$$$$@@@$x +==+ + **x· %@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@% ++++ + +++x %@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$ ==xx + xx== =@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* ·+== + =++~ $@$$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ ==xx + == @@$@@%*%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ ~+++ + xx++ %$$$= o%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + +++o @$$@x x%@@@$$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$$@x ==xo + ==+· =$$$$@* +@$$$$$@o =@$$$$$$$$ ++xx + == %@$$$$@@@@* @$$$@ o@$$$$$$@ ++xx + == $@$$$@@@*~ o@$$$@ =$$$$$$$@ ++++ + == $@$$$% ·=@@$$$$$@$*==============%@@$$$$$$$@ ++xx + == $@$$@~ ·=$@@@$$$$$$$$$@@@@@@@@@@@@@@@@$$$$$$$$$@ ++xx + == $@$$$$~ =$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ ++xx + == $$$$$$@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ ++xx + == $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ ++xx + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ ++xx + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ ++xx + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ ++xx + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% ++xo + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% ++xo + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* =+xo + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= ==xo + == $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$= ==xo + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x == + == +@@$$$$$$@@@@@@$$$$$$$$$$$$$@@@@@$$$$$$$$$$$$$@@@@@@@% == + ++++ %@@@@@@*x~~x*@@@@@@$@@@@@$+o~o+$@@@@@$@@@@@@*x~~x*~ o+++ + **o· ·+x o*%$$$%+· ·+%$$$%*o ** + xx**o~ ~**++ + xx**+= x+=****=++ ~x==****+= =+****==**++ + ++==**==xx xx==**%%%%%*==++ ++**%%%%%*==++ ++ + diff --git a/src/build/framegen/frames/frame_081.txt b/src/build/framegen/frames/frame_081.txt new file mode 100644 index 000000000..aed9c8aaa --- /dev/null +++ b/src/build/framegen/frames/frame_081.txt @@ -0,0 +1,41 @@ + + + + ++++++++ + ++==*%*%%%****%%$%%%**++xx + xx==**=* ++%***++ + ++**++ ==**++ + xx**++ o=%$@@@@@@@@@@@$%=o ==++ + xx**oo o%@@@@@@$$$$$$$$$$$$$@@@@@@%o +=== + x+** +@@@@$$$$$$$$$$$$$$$$$$$$$$$$$@@@@+ ++== + **o· $@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$· +=++ + +++x $@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@· ==xx + xx== *@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% ·x== + ==+~ @@$$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ ==xo + == @$$@@%==$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ ~+++ + xx++ %$$$$ =$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + +++~ @$$@% =@@@@$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$$$x ==xo + ==x· *$$$$@$o ~$$$$$$@x o@$$$$$$$$ ++xx + == %@$$$$$@@@$o $$$$@ @$$$$$$@ ++xx + == $@$$$$@@*~ $$$$@+ o@$$$$$$@ ++++ + == $@$$$$ ·=@@$$$$$@@%**************%@@$$$$$$$@ ++xx + == $@$$@% =$@@@$$$$$$$$$@@@@@@@@@@@@@@@@$$$$$$$$$@ ++xx + == $@$$$$+ =$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ ++xx + == $$$$$$@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ ++xx + == $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ ++xx + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ ++xx + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ ++xx + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ ++xx + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% ++xo + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% ++xo + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* ==xo + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= ==xo + == $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$= ==xo + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x == + == +@@$$$$$$$@@@@@$$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$$@@@@@@$ == + ++++ $@@@@@@$=xox=@@@@@$$$@@@@@*xoo+%@@@@@$$$@@@@$=oox*o o+++ + **x· ~==· ~=%$$$$*x +%$$$$%=· ** + x+**~· **+x + xx**+= ==****++ ==****+= =+****==**++ + ++==**==++ ++**%%%%%*==++ +=***%%%%%**++ ++ + diff --git a/src/build/framegen/frames/frame_082.txt b/src/build/framegen/frames/frame_082.txt new file mode 100644 index 000000000..ba491c1f5 --- /dev/null +++ b/src/build/framegen/frames/frame_082.txt @@ -0,0 +1,41 @@ + + + + xx++++++++++ + ++==***%%%*=++++==**%*%*==++ + ++**=*++ · *=**++ + ===* ==**++ + ++**x+ o=%$@@@@@@@@@@@@@$%=~ ==== + ++** +$@@@@@$$$$$$$$$$$$$$$@@@@@$+ ++*= + xx** *@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@* x+== + o ** o@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@x ++++ + ==+o ~@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@x ==+x + x+== %@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ ·x== + ==x· @@$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ ++xx + == @$$$@%xo=$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ ·+== + ++++ $$$$@ ·=@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + +++~ ·@$$$@ ·=@@@$$$$$$@@@@@@@@@@@@@@@@@@@$$$$$$$+ ==xo + ==+· *$$$$$@*~ x$$$$$$+ =$$$$$$$$ ++xx + == $@$$$$$@@@@* +@$$@* %@$$$$$@ ++xx + == $@$$$$@@=· %$$$$$ ·$$$$$$$@ ++xx + == $@$$$$~ ~*@@@$$$$$@@$$$$$$$$$$$$$$$@@$$$$$$$@ ++xx + == $@$$$@ ·*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ ++xx + == $$$$$$$o ·=@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ ++xx + == $$$$$$$@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ ++xx + == $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ ++xx + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ ++xx + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ ++xx + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ ++xx + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% ++xo + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% ++xo + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* ==xo + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= ==xo + == $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$= ==xo + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x == + == =@$$$$$$$$@@@@@@$$$$$$$$$$$$$@@@@@$$$$$$$$$$$$$@@@@@@$ == + +++x $@@@@@@@%+xx=%@@@@$$$$@@@@@*xox*@@@@@$$$$@@@@%+xx=x o+++ + ** o*%+ +%$@@$%=~ o*$$@@$%+ ** o + x+**~ **+x + xx**+= =+****++ ++****== x+****==**++ + ++==*%**++ ++**%%%%$%**=+ ++==*%%%%*%*==++ ++ + diff --git a/src/build/framegen/frames/frame_083.txt b/src/build/framegen/frames/frame_083.txt new file mode 100644 index 000000000..d730b375f --- /dev/null +++ b/src/build/framegen/frames/frame_083.txt @@ -0,0 +1,41 @@ + + + + ++++++++++=++x + ++==*%*%**++xxxxxx==%*%**=++ + +=**=*+~ *=**=+ + x+**== ++**++ + ++**xo ·+%$@@@@@@@@@@@@@@@$%x ==== + ++*= ~*@@@@@$$$$$$$$$$$$$$$$$@@@@@*~ x+** + ++== ~$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@%~ ~+** + xx** +@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@= x+== + ==x· x@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@+ +=++ + x+++ @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ ** + ==x· @$$$@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ ++++ + ox== @$$$@*~ o%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· ·+== + xx++ @$$$@~ o%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + +++~ o$$$$$x x%@@@$$$$$@@@@@@@@@@@@@@@@@@@$$$$$$$= ==xo + ==x %@$$$$@$+ %$$$$$+ ~$$$$$$$$ ++xx + == $@$$$$$$@@@$~ @$$@$ +@$$$$$@ ++xx + == $@$$$$@@= %$$$$$x ·$$$$$$$@ ++xx + == $@$$$@x o*@@@$$$$$@@@@@@@@@@@@@@@@@@@$$$$$$$@ ++xx + == $$$$$@ o*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ ++xx + == $$$$$$@=· ~*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ ++xx + == $$$$$$$@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ ++xx + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ ++xx + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ ++xx + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ ++xx + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ ++xx + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% ++xo + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* ++xo + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* ==xo + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= ==xo + == $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$= ==xo + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x == + == =@$$$$$$$$$@@@@@$$$$$$$$$$$$$@@@@@$$$$$$$$$$$$$$@@@@@$ == + +++x ·$@@@@@@@$=xx+%@@@@@$$$@@@@@%+xx=$@@@@$$$$@@@@$=xx=x o+++ + ** o*%=~ x%$@@@$%x ~=%$@@$%=~ **xo + ++** **++ + x+**+= =+****== xx****== ==**==**+x + ++=**%**=+ ++***%%%%*%*++xx ++==*%%%%*%*==++ xx + diff --git a/src/build/framegen/frames/frame_084.txt b/src/build/framegen/frames/frame_084.txt new file mode 100644 index 000000000..1fd3352b9 --- /dev/null +++ b/src/build/framegen/frames/frame_084.txt @@ -0,0 +1,41 @@ + + + + ++++===***==++++ + +=***%**+x~· oo==%%%*++++ + +=**== x+*=**++ + ++**++ ~ox+++xo~ ===+ + ++== +%@@@@@@@@@@@@@@@@@@$%x ++**xx + ===+ =@@@@@$$$$$$$$$$$$$$$$$$$@@@@@+ oo**xx + ++=+ =@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@= ·o** + x+== $@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@% ~+== + ** %@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@% +=++ + ++++ ~@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@~ ** + == x@$$$@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ ++++ + ox== ~@$$$@= o%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x ·x== + +++x @$$$@+ o%@@@@$$$$$$$$$$@@@@@@@@@@@@@@$$$$$$$$@ == + +++· +$$$$$% x%@@$$$$$@@$$$$$$$$$$$$$$$$@@$$$$$$= ==xo + == $@$$$$@@$+ x@$$$$x =$$$$$$$ ++xx + == $$$$$$$$@@@$o @$$$@ @$$$$$@ ++xx + == $$$$$$@$x ·$$$$$$$· o$$$$$$$@ ++xx + == $$$$$@= +$@@@$$$$$@@@@@@@@@@@@@@@@@@@$$$$$$$@ ++xx + == $$$$$$= +$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ ++xx + == @$$$$$@@=x+$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ ++xx + == @$$$$$$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ ++xx + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ ++xx + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ ++xx + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ ++xx + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% ++xx + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% ++xo + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* =+xo + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* ==xo + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= ==xo + == $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$+ ==xo + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x == + == =@$$$$$$$$$@@@@@$$$$$$$$$$$$$$@@@@@$$$$$$$$$$$$$@@@@@$ == + +++x ·@@@@@@@@@%+xx=$@@@@$$$$@@@@$=xx+%@@@@$$$$$@@@@%+x+o o+++ + ** o*$%x ~=%$@@$%=~ +%$@@@$%x **xo + ++** **++ + ++**+= xx****** ==****xo ==******+x + ++***%%*++xx ++==*%%%%*%**=++ ++==*%*%%%%***++ + diff --git a/src/build/framegen/frames/frame_085.txt b/src/build/framegen/frames/frame_085.txt new file mode 100644 index 000000000..4e074e65b --- /dev/null +++ b/src/build/framegen/frames/frame_085.txt @@ -0,0 +1,41 @@ + + + + ++++****%%%%***=++++ + ++==***%+x ox**%*==++ + xx===*+x *=**++ + ++**x+ ~x+=*****=+o· ==*= + ===+ x%$@@@@@@@@@@@@@@@@@@@$*o +x**+x + ==+x o%@@@@$$$$$$$$$$$$$$$$$$$$$@@@@%~ **xx + ===+ ·%@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@% **xx + ++++ o@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@~ ·x** + ** @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ ++++ + +++x +@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x *= + =* *@$$$@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* ++++ + xx++ +@$$$$x +$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ == + +++o @$$$@* +$@@@$$$$$$$$$@@@@@@@@@@@@@@@@$$$$$$$@ == + ==+· =$$$$$$· +$@$$$$$@@*==============*@@$$$$$$= ==xo + == $@$$$$$@@*x $$$$@x o@$$$$@$ ++xx + == $$$$$$$$@@@%~ $$$$@ @$$$$$$ ++xx + == @$$$$$@%· o$$$$$$@+ +@$$$$$$$ ++xx + == @$$$$@* ~*@@@$$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$$$ ++xx + == @$$$$$% ~*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ ++xx + == @$$$$$@@%*%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ ++xx + == @$$$$$$$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ ++xx + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ ++xx + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ ++xx + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% ++xx + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% ++xx + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* ++xo + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* ==xo + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= ==xo + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= ==xo + == $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$+ ==xo + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x == + == =@$$$$$$$$$@@@@@@$$$$$$$$$$$$$@@@@@$$$$$$$$$$$$$@@@@@$ == + +++x ·$@@@@@@@@$=xx+%@@@@$$$$@@@@@*+xx*@@@@@$$$$@@@@%=xxo o+++ + ** o*$%+ +%$@@$$*o o*$$@@$%+ ** o + ++** **++ + x+**+= ~x=*****xo ==***=++ =+******+x + ++==*%%*==xx x+==*%*%%%%*==++ ==**%$%%%%**=+ + diff --git a/src/build/framegen/frames/frame_086.txt b/src/build/framegen/frames/frame_086.txt new file mode 100644 index 000000000..d1ca5713f --- /dev/null +++ b/src/build/framegen/frames/frame_086.txt @@ -0,0 +1,41 @@ + + + + x+++==*%%$%%%%%%%**===++ + +=****++ ox****== + ++**+= ++**++ + ==== ~+*%$$@@@@@$%*=x· ++**+x + xx**xx +%@@@@@@@@$$$$$$$@@@@@@@@*o **++ + ox**o~ ~%@@@@$$$$$$$$$$$$$$$$$$$$$$$@@@@= ==++ + **+~ *@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@+ ==xx + ++=x %@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@= ** + xx== +@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@o x+++ + ==+~ $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* == + == @@$$$@@$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ x+++ + +x++ $$$$$$ x$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* == + +++~ ·@$$$@$ +$@@@$$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$@ == + == %$$$$$@* +@@$$$$@%x~~~~~~~~~~~~~~o=@$$$$$$= ==+x + == @$$$$$$@@@$+ $$$$@o @$$$$@$ ++xx + == @$$$$$$@@@*o $$$$@x @$$$$@$ ++xx + == @$$$$$@= ~*@$$$$$@$+xxxxxxxxxxxxxxx%@$$$$$@$ ++xx + == @$$$$@$ ·=@@@@$$$$$$$$@@@@@@@@@@@@@@@@@$$$$$$@$ ++xx + == @$$$$$$~ ·=$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ ++xx + == @$$$$$$@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ ++xx + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% ++xx + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% ++++ + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% ++xx + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% ++xo + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* ++xo + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* ==xo + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= ==xo + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= ==xo + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ ==xo + == $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$+ == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@o == + == =@$$$$$$$$$$@@@@@$$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$$@@@@% == + +++x $@@@@@@@@@=xox=@@@@@$$$@@@@@%+oo+%@@@@@$$$@@@@$=xo~ o+++ + ** o*$%=~ o*%$$$$%x +%$$$$%=~ ** o + ++**~ **+x + x+**+= *=***=++ =+****+= =+******++ + ++==*%%*==++ ==**%%%%%***++ ++***%%%%%**++ + diff --git a/src/build/framegen/frames/frame_087.txt b/src/build/framegen/frames/frame_087.txt new file mode 100644 index 000000000..cfec2a698 --- /dev/null +++ b/src/build/framegen/frames/frame_087.txt @@ -0,0 +1,41 @@ + + + ++++ + ++=**%*%*%******%%%*==++ + xx==*%== +=*=**++ + ++*=x+ ==**xx + xx**++ o=%$@@@@@@@@@@@%*+~ xx**++ + ++**~ o%@@@@@@$$$$$$$$$$$$@@@@@@$=· =*++ + x+** =@@@@$$$$$$$$$$$$$$$$$$$$$$$$$@@@$o +=++ + ** ~$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@* ==++ + ==+~ ~@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@% ** + x+== %@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@+ o+== + ==x· @@$$$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ ==xo + ox== @$$$$@$=*$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ x+++ + +++x @$$$$$ =$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% == + ==+· +$$$$$$ =$@@@$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$@ == + == $$$$$$$$o ·%@$$$$@= o$$$$$$$= ==xo + == @$$$$$$$@@@$o $@$$@o @$$$$@% ++xx + == @$$$$$$@@%x $$$$$= @$$$$@% ++xx + == @$$$$$$~ +$@$$$$$@@%**************%@@$$$$$@% ++xx + == @$$$$$$ +$@@@$$$$$$$$$@@@@@@@@@@@@@@@@$$$$$$$@% ++xo + == @$$$$$$= x%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% ++xo + == @$$$$$$@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% ++xo + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% ++xo + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* ++xo + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* ==xo + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* ==xo + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= ==xo + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= ==xo + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= ==xo + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ ==xo + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ == + == $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$x == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ == + == =@@$$$$$$$$$@@@@@@$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$$@@@@% == + +++x $@@@@@@@@@*xoo+$@@@@@$$@@@@@%+oox*@@@@@$$$@@@@@=xo· o+++ + **o· ~=%%=o +%$$$$%+ o*%$$$%=~ ** o + x+**~· ~**+x + ++**+= ==****++ =+****+= ++******++ + ++==*%%**=++ ++***%%%%***++ ++***%%%%%**++ + diff --git a/src/build/framegen/frames/frame_088.txt b/src/build/framegen/frames/frame_088.txt new file mode 100644 index 000000000..237b9c931 --- /dev/null +++ b/src/build/framegen/frames/frame_088.txt @@ -0,0 +1,41 @@ + + + ++++====++++++ + ++==*%**==++++++++==**%*==++ + ++**=* ==**++ + ++**+= · ++**++ + ++== ~=%@@@@@@@@@@@@@@@@$*x ==== + ++=+ x$@@@@@$$$$$$$$$$$$$$$$@@@@@$= ++== + ++=+ +@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@* x+== + x+== %@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@o +=++ + ** %@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@~ ==xo + ++++ o@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% ·+== + =* =@$$$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ ==xx + xx++ +@$$$$@x ·+$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ o+++ + +++~ @$$$$$ +$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$% == + == $$$$$$$ =$@@$$$$$@@@@@@@@@@@@@@@@@@@@$$$$$@ == + == @$$$$$$@%o x$$$$$$ =$$$$$$+ == o + == $$$$$$$$@@@@= %@$$@~ @$$$$@= ==xx + == @$$$$$$@%o o$$$$$$ =$$$$$@= ==xo + == @$$$$$$ +$@@$$$$$@@@@@@@@@@@@@@@@@@@@$$$$$@= ==xo + == @$$$$$$ +$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= ==xo + == @$$$$$$@x +$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= ==xo + == @$$$$$$$@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= ==xo + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= ==xo + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= ==xo + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ ==xo + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ ==xo + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ ==xo + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@o == + == $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$x == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + == +@@$$$$$$$$$@@@@@@$$$$$$$$$$$$@@@@@@@$$$$$$$$$$$$@@@@* == + ++++ %@@@@@@@@@*o··o=@@@@@@@@@@@@%x~·~x%@@@@@@@@@@@@=o~ x+++ + **x· +*%=o ~=%%$%*x x*%$%%=~ ·o** + x+**o~ o oo**++ + ++**+=xo =+****== *+****==+x ++==****++ + ++==******++ ++****%%%***++ ++==**%%%***==+x + diff --git a/src/build/framegen/frames/frame_089.txt b/src/build/framegen/frames/frame_089.txt new file mode 100644 index 000000000..b3622446f --- /dev/null +++ b/src/build/framegen/frames/frame_089.txt @@ -0,0 +1,41 @@ + + + ++++==****==++++ + ==***%==++ ox==%***== x + ==**++ ++*===xx + ++**++ ·oxx++xxo~ +x**=+ + ===+ ~=$@@@@@@@@@@@@@@@@@@$*o ++** + ==+x ~%@@@@@$$$$$$$$$$$$$$$$$$$@@@@$x x+** + ==+x ·%@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@$o o+== + ++=+ o@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@= +=++ + ox=* ·@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@x ==xo + +++o *@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ ·+== + == $@$$$@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ ==xx + x+++ $@$$$@% ~=@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ o+++ + ==+· x@$$$$$ ~*@@@@$$$$$$$$$$@@@@@@@@@@@@@@@$$$$$$$$ == + == @$$$$$$ ~*@@$$$$$@@$%%%%%%%%%%%%%%$@@$$$$$@ == + == $$$$$$$@@=· $$$$$* o$$$$$$o == + == @$$$$$$$@@@@+ $$$$@· @$$$$@x == + =* @$$$$$$@+ *@$$$$$o %$$$$$@x == + =* @$$$$$$ x%@@@$$$$$$@@@@@@@@@@@@@@@@@@@$$$$$@x == + == @$$$$$$ x%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x == + == @$$$$$$@*x+%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x == + == @$$$$$$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@o == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@o == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@o == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@o == + == $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$o == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + == x@@$$$$$$$$$@@@@@@@$$$$$$$$$$$@@@@@@@$$$$$$$$$$$$@@@@+ == + ++++ *@@@@@@@@@=o ·x%@@@@@@@@@@@%x· ~=@@@@@@@@@@@@=~ ++++ + **x· o=*+~ x=%%%=x ~+*%%*+~ ·x** + x+**xo xo ++ ++oo**+x + ++**=*xx *=****==+x *+****==++ ++==****++ + ++==******++ ++==********++xx ++==********==++ + diff --git a/src/build/framegen/frames/frame_090.txt b/src/build/framegen/frames/frame_090.txt new file mode 100644 index 000000000..e781e1e31 --- /dev/null +++ b/src/build/framegen/frames/frame_090.txt @@ -0,0 +1,41 @@ + + + +++=**%%%%%%%%**=+++ + ++***%==o· ·x==%***++ + ++**+* *+**++ + ==== o+=*%$$$$%*=+o ==== + xx**xx o*@@@@@@@@@@@@@@@@@@@@@@*x xx**+x + xx**o~ ·%@@@@$$$$$$$$$$$$$$$$$$$$$$@@@@%~ ~o**xx + **x· *@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@* ·o** + ==+o %@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$ o+== + xx== *@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@% ++++ + ==x· @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ == + xx== @$$$$@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ =++x + ++xo @$$$$$o ~*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ o+++ + == %$$$$@$ ~*@@@@$$$$$$$$@@@@@@@@@@@@@@@@@$$$$$$$ == + == @$$$$$$+ ~*@$$$$$@$=+++++++++++++++%@$$$$$@ == + == $$$$$$$@@@=~ $$$$$x @$$$$$~ == + == @$$$$$$@@@@= $$$$@~ @$$$$@~ == + == @$$$$$@% +@$$$$$@%~··············~=@$$$$$@~ == + == @$$$$@$ x%@@@$$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$@~ == + == @$$$$$$ x%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ == + == @$$$$$$@@%%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ == + == @$$$$$$$$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ == + == ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + == ~@@$$$$$$$$$@@@@@@@$$$$$$$$$$$@@@@@@@@$$$$$$$$$$$@@@@o == + ++++ +@@@@@@@@@+· +$@@@@@@@@@@%o ~*@@@@@@@@@@@+ ++++ + **+~ x+o o+=+x~ ~x+=+o ~x** + xx**+x == == ++++**+x + xx**==+= x+==*****=+* ~x*=******=*x~ =+==**==xx + ++==******++ ++==********+++x xx++********==+x + diff --git a/src/build/framegen/frames/frame_091.txt b/src/build/framegen/frames/frame_091.txt new file mode 100644 index 000000000..425fbf020 --- /dev/null +++ b/src/build/framegen/frames/frame_091.txt @@ -0,0 +1,41 @@ + + + ++==**%%*%%%%%%*%%**==++ + ==***%xx xx%***== + ++**++ ++**++ + ++**++ x=*$$@@@@@@$$*=x ++**+x + ++**~o ~*$@@@@@@@$$$$$$$$@@@@@@@$*~ oo**++ + ++** +$@@@$$$$$$$$$$$$$$$$$$$$$$$$@@@$+ **++ + xx** ~$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$~ **xx + ==+~ ~@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@~ ~+== + ++++ $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ ++++ + == ~@$$$$$@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ == + x+++ o@$$$$@@%$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@o +++x + +++~ @$$$$$ x%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ ~+++ + == $$$$$$$ x$@@@$$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$$ == + == @$$$$$@* +@$$$$$@%o··············~=@$$$$$@ == + == $$$$$$$@@@$= $$$$@~ @$$$$$· == + == ·@$$$$$$@@$*o $$$$@x @$$$$@~ == + == ·@$$$$$$+ ~*@$$$$$@$=xxxxxxxxxxxxxx+%@$$$$$@~ == + == ·@$$$$$$ ~*@@@@$$$$$$$$@@@@@@@@@@@@@@@@@$$$$$$@~ == + == ·@$$$$$$o ·=@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ == + == ·@$$$$$$@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + ==x· @@$$$$$$$$$@@@@@@@@$$$$$$$$$$@@@@@@@@$$$$$$$$$$$@@@@ x== + ++++ o$@@@@@@@@+ ~*@@@@@@@@@@*~ +@@@@@@@@@@$x ++++ + ==+o ·o~ ~oo~ ~oxo· o+== + xx**+x == == ==++**+x + x+==**+*x~ ++*=**==**+*+x x+*=**==**=*++ ~x*=****==xx + x+++****==++ ++++********++++ ++==******=++x + diff --git a/src/build/framegen/frames/frame_092.txt b/src/build/framegen/frames/frame_092.txt new file mode 100644 index 000000000..040799032 --- /dev/null +++ b/src/build/framegen/frames/frame_092.txt @@ -0,0 +1,41 @@ + + xx++++xx + ===*%%%%*%****%*%%%%*=== + ++**=%++ ++%=**++ + ===* **== + x+**+x ~+*$@@@@@@@@@@@@$*+~ x+**+x + ++== =$@@@@@$$$$$$$$$$$$$$@@@@@$= ==++ + ++*= ~%@@@$$$$$$$$$$$$$$$$$$$$$$$$$$@@@%~ =*++ + x+== =@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@= ==+x + =*o =@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@= o*= + ++++ ·@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@· ++++ + == =@$$$$$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= == + x+++ =@$$$$@$**@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= ++xx + +++· ·@$$$$$ ~*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· ·+++ + == @$$$$@$ ~*@@@@$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$@ == + == $$$$$$@%~ ~$$$$$$@= x@$$$$$$ == + == ·@$$$$$$$@@@%~ $$$$@· @$$$$@· == + == ·@$$$$$$@@%x $$$$$+ ·@$$$$@· == + == ·@$$$$$$~ +$@$$$$$@@%***************$@$$$$$@· == + == ·@$$$$@% x$@@@@$$$$$$$$@@@@@@@@@@@@@@@@$$$$$$$@· == + == ·@$$$$$@= +$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ == + == @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ == + ==+· $@@$$$$$$$@@@@@@@@@@$$$$$$$$$@@@@@@@@@$$$$$$$$$@@@@$ ·+== + ++++ =@@@@@@@%o ~%@@@@@@@@@+ +@@@@@@@@@%~ ++++ + ===+ +=== + x+=*=+ ++%%++ %%=+ =*====xx + ==**=*==++*=*=**==**=*=*++++=**=**===*=**%++++==%***==++xx + ++++==**==++ ++==****==++++ ++++****==++++ + diff --git a/src/build/framegen/frames/frame_093.txt b/src/build/framegen/frames/frame_093.txt new file mode 100644 index 000000000..06e4f4dbe --- /dev/null +++ b/src/build/framegen/frames/frame_093.txt @@ -0,0 +1,41 @@ + + xx++++++++xx + x+==*%*%*%========%*%*%*==+x + ++**=*+x x+*=**++ + xx**=* ==**xx + ++**o x*$@@@@@@@@@@@@@@$*x o**++ + ++=+ o*@@@@@$$$$$$$$$$$$$$$$@@@@@*o +=++ + ++=+ x$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$@@@$x +=++ + x+== *@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@* ==+x + ** %@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@% ** + +++x x@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@x x+++ + =* *@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* *= + ++++ *@$$$$@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* ++++ + ==+· o@$$$$@* o*@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@o ·+== + == @$$$$@* =$@@@@$$$$$$$$@@@@@@@@@@@@@@@@@$$$$$$@ == + == $$$$$$% o*@@$$$$@@*++==========++=$@$$$$$$ == + == ·@$$$$$@@$+· $$$$$x $$$$$@· == + == ·@$$$$$$@@@*o %$$$@~ @$$$$@· == + == ·@$$$$$$~ o$@$$$$@*~ ·+@$$$$$@· == + == ·@$$$$@= +$@@@$$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$@· == + == ·@$$$$$$o o*@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$· == + == @@$$$$$$$$$$$$$@@$$$$$$$$$$$$$$$$@@@$$$$$$$$$$$$$$$$@@ *= + ==+~ *@@@$$$$$$@@@@%%$@@@@$$$$$$$@@@@$%%@@@@$$$$$$$$@@@@* ~+== + ++== o%@@@@@@= x$@@@@@@@%x ~*@@@@@@@@= ==++ + ===+ +=== + ox====o+ ++%%== x+%%** *=====xo + ++**=**%***=*=**++==***%****%**=**++==**=*=***%**=**==++ + x+++====++++ ++++======++xx ++++======++++ + diff --git a/src/build/framegen/frames/frame_094.txt b/src/build/framegen/frames/frame_094.txt new file mode 100644 index 000000000..bd9522ac3 --- /dev/null +++ b/src/build/framegen/frames/frame_094.txt @@ -0,0 +1,41 @@ + + xx++++====++++xx + ++==*%**==++oooo++==**%*==++ + ++**=* *=**++ + ++**+= ···· =+**++ + ++== x=$@@@@@@@@@@@@@@@@$=x ==++ + ==++ =$@@@@$$$$$$$$$$$$$$$$$$@@@@$= ++== + ===+ *@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@* +=== + ++=+ ·$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$· +=++ + ox** $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ ** o + +++o =@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= o+++ + == $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ == + ++++ $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ ++++ + ==+· +@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ ·+== + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + == $$$$$$@@@@@@@@@@@@@@@@@@$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$ == + == ·@$$$$@= ·*@$$$$@x =@$$$$@· == + == ·@$$$@ ~@$$@ @$$$@· == + == ·@$$$$x +$$$@ x$$$$@· == + == ·@$$$$@@*==============*@@$$$$@$=++++==========*@@$$$$@· == + == ·@$$$$$$@@@@@@@@@@@@@@@@$$$$$$$$@@@@@@@@@@@@@@@@$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + == %@$$$$$$$$$$$$@@@@@$$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$$@@% == + ==+o ~@@@@$$$$@@@@*+x+*@@@@$$$$$@@@@%=xx=$@@@@$$$$@@@@@*~ o+== + xx== x*$@@$*o o*$@@@@%+ ·=%@@@@$*o ==xx + ==== ~·++== + ====+= =+*==*++ ++****++ ++=*==== + ++*****%**%***==++++**=***%%%*****++++***%%%%%***=**++++ + ++++++++++ ++++++++++++ ++++++++++++ + diff --git a/src/build/framegen/frames/frame_095.txt b/src/build/framegen/frames/frame_095.txt new file mode 100644 index 000000000..b566afe9c --- /dev/null +++ b/src/build/framegen/frames/frame_095.txt @@ -0,0 +1,41 @@ + + ++============++ + ++**%%=*++o~····~o++*=%%**++ + +=**== ==**=+ + ++**++ ·~~oo~~· ++**++ + ===+ +%@@@@@@@@@@@@@@@@@@%+ +=== + ===+ ·*@@@@@$$$$$$$$$$$$$$$$$$@@@@@*· ++== + ===x %@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@% x=== + ++=+ o@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@o +=++ + xx== @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ ==xo + ==+~ *@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* ~+== + == $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ == + +++x $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ x+++ + ==x· =@$$$$@@@@@@@@@$$$$$$$$$$$$$$$@@@@@@@@@$$$$$$$$$$$$$@= ·x== + == @$$$$$% +%@@@@@$$$$$$$$$$% ·+%@@@@@$$$$$$$$$@ == + == $$$$$@o +%@@@$$$$$$@ +%@@@$$$$$$$ == + == ·@$$$$$$~ o$$$$$$$$ o$$$$$$@· == + == ·@$$$$$$@@@%~ x@$$$$$@@@@*· +@$$$$@· == + == ·@$$$$$@+ $$$$$$$$x $$$$$$@· == + == ·@$$$$@o ·+$@@@$$$$$@ ~+$@@@$$$$$@· == + == ·@$$$$$* ~=$@@@@@$$$$$$$$$= ~=$@@@@@$$$$$$$$@· == + == ·@$$$$$@@$%$@@@@@$$$$$$$$$$$$$$@@$%$@@@@$$$$$$$$$$$$$$@· == + == ·@$$$$$$$@@@$$$$$$$$$$$$$$$$$$$$$@@$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + == +@@$$$$$$$$$$@@@@@@@$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$@@@+ == + ==+x %@@@@@@@@@@%x· ·x*@@@@@@@@@@@@=~ ~+$@@@@@@@@@@@%x x+== + ++==o· x*%%=x o=%%%*+~ ~+*%%%=x ·x==++ + ====oo ox xo==== + ====+=+x ++======+= ======+= ~ ++*===== + ++==*******=**==++++************==++++==*****%******++++ + ++++++++++ +++++++++x ++++++++++ + diff --git a/src/build/framegen/frames/frame_096.txt b/src/build/framegen/frames/frame_096.txt new file mode 100644 index 000000000..aff846aa1 --- /dev/null +++ b/src/build/framegen/frames/frame_096.txt @@ -0,0 +1,41 @@ + + ++====****====++ + +=***%==+o o+==%***=+ + ===*++ ++*=== + ++**x+ ·ooxxxxoo· +x**++ + ===+ o=$@@@@@@@@@@@@@@@@@@$=o +=== + **++ o%@@@@$$$$$$$$$$$$$$$$$$$$@@@@%o ++** + ==+x ~$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@$~ x+== + ++++ +@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@+ ++++ + ox== ~@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@~ ==xo + ==+~ %@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% ~+== + ox== @@$$$$$@@$$$$$$$$$$$$$$$$$$$$$$@@$$$$$$$$$$$$$$$@@ ==xo + +++x @$$$$$@@%%@@@@$$$$$$$$$$$$$$$@@$%%@@@@$$$$$$$$$$$$$@ x+++ + ==+ =@$$$$$ x%@@@@$$$$$$$$$$$$ x$@@@$$$$$$$$$$@= +== + == @$$$$@$ +$@@@$$$$$$$@% +$@@@$$$$$$$@ == + == $$$$$$@% =@$$$$$$$@* *@$$$$$$$ == + == ·@$$$$$$@@@$= $$$$$$$$@@@$+ $$$$$$@· == + == ·@$$$$$$@@@$+ $$$$$$$$@@@$+ $$$$$$@· == + == ·@$$$$$@% =@$$$$$$$@* *@$$$$$$@· == + == ·@$$$$$% +$@@@$$$$$$$@% +$@@@$$$$$$$@· == + == ·@$$$$$$ x%@@@$$$$$$$$$$$$$ x%@@@$$$$$$$$$$$@· == + == ·@$$$$$$@$%%@@@@$$$$$$$$$$$$$$$@@$%%@@@@$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$@@$$$$$$$$$$$$$$$$$$$$$$@@$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + ==x· @@@$$$$$$$$$@@@@@@@@$$$$$$$$$$@@@@@@@@$$$$$$$$$$$@@@ ·x== + ++++ o$@@@@@@@@$+ ·*@@@@@@@@@@*· x$@@@@@@@@@$x ++++ + xx==+x ·oo~ ~oo~ ~ooo~ o+==+x + ++==+x ===+ +=** x++==++ + ++====+=+x x+*+*=====+===o~ ~o=+*+=====*==+x ++*=====++ + ++++==********==++++==**********==++++++=*********==++++ + ++++++ xxxx++xxxx ++++++++ + diff --git a/src/build/framegen/frames/frame_097.txt b/src/build/framegen/frames/frame_097.txt new file mode 100644 index 000000000..316e49293 --- /dev/null +++ b/src/build/framegen/frames/frame_097.txt @@ -0,0 +1,41 @@ + + ++====****====++ + xx+=***%==x~ ~x==%***=+xx + x+===*++ ++*===+x + ++**+x ~ox++++xo~ x+**++ + ==++ x*$@@@@@@@@@@@@@@@@@@$*x ++== + **+x x%@@@@$$$$$$$$$$$$$$$$$$$$@@@@%x x+** + ==+o o$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@$o o+== + ++++ +@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@+ ++++ + xx== o@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@o ==xx + ==+· $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ ·+== + x+== @@$$$$@@@@$$$$$$$$$$$$$$$$$$$$@@@@$$$$$$$$$$$$$$@@ ==+x + +++x @$$$$@@=xx%@@@@$$$$$$$$$$$$$$@@=x+%@@@$$$$$$$$$$$$$@ x+++ + ==x *$$$$$$ x$@@@$$$$$$$$$$$% +$@@@$$$$$$$$$$* x== + == @$$$$$$ =$@@@$$$$$$$% =$@@@$$$$$$@ == + == $$$$$$@@+ ~$$$$$$$$@@+ ~$$$$$$$$ == + == ~@$$$$$$$@@@@+ $$$$$$$$$@@@@+ $$$$$$@~ == + == ·@$$$$$$@@$+ $$$$$$$$@@$+ $$$$$$@· == + == ·@$$$$$$x +$@$$$$$$$$o =$@$$$$$$@· == + == ·@$$$$@$ x$@@@$$$$$$$$@% x$@@@$$$$$$$$@· == + == ·@$$$$$$o ~*@@@@$$$$$$$$$$$$$~ o%@@@@$$$$$$$$$$$@· == + == ·@$$$$$$@@@@@@@$$$$$$$$$$$$$$$$$@@@@@@@$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ == + == @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ == + ==x· $@@$$$$$$$$@@@@@@@@@@$$$$$$$$$@@@@@@@@@$$$$$$$$$@@@$ ·x== + ++++ =@@@@@@@@*~ o%@@@@@@@@$+ =@@@@@@@@@*· ++++ + ox==++ ++==xx + ++===+ **%* =*%% +++===++ + ++=====%+=++==*==========*==++==***========%+=++++*=*+====++ + xx++==******==++xxx+++==******==+++x+x++==******====++ + xx++xx xx++xx xx++++ + diff --git a/src/build/framegen/frames/frame_098.txt b/src/build/framegen/frames/frame_098.txt new file mode 100644 index 000000000..7eb1d4acf --- /dev/null +++ b/src/build/framegen/frames/frame_098.txt @@ -0,0 +1,41 @@ + + xx++==********==++xx + x+==*%**=+~· ·~+=**%*==+x + x+=*=*+x x+*=*=+x + ++**xo ·ox+====+xo· ox**++ + **++ x*@@@@@@@@@@@@@@@@@@@@*x ++** + **+o x$@@@@$$$$$$$$$$$$$$$$$$$$@@@@$x x+** + ==+o x$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@$x o+== + ++++ =@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@= ++++ + xx== x@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@x ==xx + ==+· $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ ·+== + ox== @@$$$$@@@@$$$$$$$$$$$$$$$$$$$$@@@@$$$$$$$$$$$$$$@@ ==xo + +++x @$$$$@@+·~=@@@@$$$$$$$$$$$$$$@@x·~=@@@@$$$$$$$$$$$$@ x+++ + == *$$$$$$ ·=@@@@$$$$$$$$$@% ~*@@@@$$$$$$$$$* == + == @$$$$$$ ~*@@@$$$$$$$% ~*@@@$$$$$$@ == + == $$$$$$$@*~ =$$$$$$$@@*· =$$$$$$$ == + == ~@$$$$$$$@@@@+ $$$$$$$$$@@@@+ $$$$$$@~ == + == ·@$$$$$$@$x o$$$$$$$@@$x x$$$$$$@· == + == ·@$$$$$$ +$@@$$$$$$$$ +$@@$$$$$$@· == + == ·@$$$$@$ x$@@@@$$$$$$$$@% x$@@@@$$$$$$$$@· == + == ·@$$$$$@$~ x%@@@@$$$$$$$$$$$$$@%· x%@@@@$$$$$$$$$$$$@· == + == ·@$$$$$$@@@@@@$$$$$$$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == $@$$$$$$$$$$$$$@@@@$$$$$$$$$$$$$$@@@@@$$$$$$$$$$$$$$@$ == + ==+o +@@@$$$$$$@@@@%**%@@@@$$$$$$@@@@$***%@@@@$$$$$$@@@@+ o+== + ++== ·=$@@@@@%x o*@@@@@@$= =$@@@@@@*x ==++ + ===+ +=== + ++====x+ x+****+x ****++ =+====++ + ++=====**%****%==========********==========**%****%*======++ + ++++======++++ ++++========++ ++++========++xx + + diff --git a/src/build/framegen/frames/frame_099.txt b/src/build/framegen/frames/frame_099.txt new file mode 100644 index 000000000..624e9eea2 --- /dev/null +++ b/src/build/framegen/frames/frame_099.txt @@ -0,0 +1,41 @@ + + +++===********===+++ + ++==*%**++~· ·~++**%*==+x + xx**=%+x x+%=**xx + ++*=x ~ox+====+xo~ x=*++ + **++ x%@@@@@@@@@@@@@@@@@@@@%x ++** + **+o +$@@@@$$$$$$$$$$$$$$$$$$$$@@@@$+ o+** + =*+o x$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$x ~+*= + ++++ =@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@= ++++ + xx== x@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@x ==xo + ==+· $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ ·+== + ox== @$$$$@@@@@@$$$$$$$$$$$$$$$$$$@@@@@$$$$$$$$$$$$$$$@ ==xo + +++x @$$$$@$o +$@@@$$$$$$$$$$$$$$@$o +$@@@$$$$$$$$$$$$@ x+++ + == *$$$$$$ +$@@@$$$$$$$$$@% +$@@@$$$$$$$$$* == + == @$$$$$$ +$@@$$$$$$$$ =$@@$$$$$$@ == + == $$$$$$$@%o x$$$$$$$@@%o +$$$$$$$ == + == ·@$$$$$$$@@@@+ $$$$$$$$$@@@@x $$$$$$@· == + == ·@$$$$$$@*~ +$$$$$$$@@*~ =$$$$$$@· == + == ·@$$$$$$ ·=$@@$$$$$$$% ~*@@@$$$$$$@· == + == ·@$$$$$$ =@@@@$$$$$$$$$@% ·=@@@@$$$$$$$$$@· == + == ·@$$$$$@@x·~=$@@@$$$$$$$$$$$$$$@$x·~=@@@@$$$$$$$$$$$$$@· == + == ·@$$$$$$$@@@@$$$$$$$$$$$$$$$$$$$$@@@@$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + == *@$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$$@@@@@$$$$$$$$$$$$$@@% == + ==+x ~$@@@@$$$@@@@$=xx+%@@@@$$$$@@@@@*+xx=$@@@@$$$$@@@@%~ x+== + ++== o*$@@$%=· +*$@@@$*x ~=%@@@$%+ ==++ + ==== ~·++== + xx====+= ++**=*+= x+====+= x=+====xx + ++====*%%%***=====++====%%%%%**=====++====*%*%%*%*====++ + xx++++===+++++ xx++++====++++ xx++++====++++ + + diff --git a/src/build/framegen/frames/frame_100.txt b/src/build/framegen/frames/frame_100.txt new file mode 100644 index 000000000..c66e0879c --- /dev/null +++ b/src/build/framegen/frames/frame_100.txt @@ -0,0 +1,41 @@ + + +++===********===+++ + ++==*%**++~· ·~++**%*==+x + xx**=%+x x+%=**xx + ++*=x ~ox+====+xo~ x==++ + **++ +%@@@@@@@@@@@@@@@@@@@@%+ ++** + **+o +$@@@@$$$$$$$$$$$$$$$$$$$$@@@@$+ o+** + ==+~ x$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$x ~+*= + ++++ =@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@= ++++ + xx== x@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@x ==xo + ==+· $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ ·+== + ox== @$$$$@@@@@@$$$$$$$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$$$@ ==xo + +++x @$$$$$%· o*@@@@$$$$$$$$$$$$$@% o%@@@@$$$$$$$$$$$@ x+++ + == *$$$$@$ o%@@@@$$$$$$$$@% x%@@@@$$$$$$$$* == + == @$$$$$$ x%@@$$$$$$$$ x%@@$$$$$$@ == + == $$$$$$$@$+ ~$$$$$$$@@$x o$$$$$$$ == + == ~@$$$$$$$@@@@+ $$$$$$$$$@@@@x $$$$$$@~ == + == ·@$$$$$@@= *$$$$$$$@@+ *$$$$$$@· == + == ·@$$$$$$ o%@@@$$$$$$$% o%@@@$$$$$$@· == + == ·@$$$$$$ o*@@@@$$$$$$$$$$% o%@@@@$$$$$$$$$@· == + == ·@$$$$$@@=ox*@@@@$$$$$$$$$$$$$$@@=ox*@@@@$$$$$$$$$$$$$@· == + == ·@$$$$$$$@@@@$$$$$$$$$$$$$$$$$$$$@@@@$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + == x@@$$$$$$$$$$$@@@@@@@$$$$$$$$$$$@@@@@@@$$$$$$$$$$$$@@+ == + ==++ *@@@@@@@@@@@=~ x%@@@@@@@@@@@%x ~=@@@@@@@@@@@@= ++== + xx==x· o=***+~ x=***=x ~+****+~ ·x==++ + ====xo +o xx xx==== + ======+x o=+=====*+x =+=*====++ ++====== + ++==***%******==++++==***%********++++==************==++ + ++++++++++ ++++++++++ ++++++++++++ + + diff --git a/src/build/framegen/frames/frame_101.txt b/src/build/framegen/frames/frame_101.txt new file mode 100644 index 000000000..63dc3de2c --- /dev/null +++ b/src/build/framegen/frames/frame_101.txt @@ -0,0 +1,41 @@ + + xx+===********===+xx + ++==*%**++~· ·~++**%*==+x + xx**=*+x x+*=**xx + ++*=xo ·ox+====+xo· ox=*++ + **++ x%@@@@@@@@@@@@@@@@@@@@%x ++** + **+o +$@@@@$$$$$$$$$$$$$$$$$$$$@@@@$+ o+** + =*+o x$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@$x o+*= + ++++ =@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@= ++++ + xx== x@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@x ==xo + ==+· $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ ·+== + ox== @@$$$@@@@@@$$$$$$$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$$@@ ==xo + +++x @$$$$$% ~*@@@@$$$$$$$$$$$$$@* o*@@@@$$$$$$$$$$$@ x+++ + == *$$$$@% o*@@@@$$$$$$$$@% o%@@@@$$$$$$$$* == + == @$$$$$$ o%@@$$$$$$$$ o%@@$$$$$$@ == + == $$$$$$$@$+ ·$$$$$$$$@$+ ~$$$$$$$ == + == ·@$$$$$$$@@@@+ $$$$$$$$$@@@@x $$$$$$@· == + == ·@$$$$$@@+ *$$$$$$$@@+ %$$$$$$@· == + == ·@$$$$$$ x%@@@$$$$$$$% x%@@@$$$$$$@· == + == ·@$$$$$$ o%@@@@$$$$$$$$$$% x%@@@@$$$$$$$$$@· == + == ·@$$$$$@@=xx%@@@@$$$$$$$$$$$$$$@@=x+%@@@@$$$$$$$$$$$$$@· == + == ·@$$$$$$$@@@@$$$$$$$$$$$$$$$$$$$$@@@@$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + == ~@@$$$$$$$$$$$@@@@@@@$$$$$$$$$$$@@@@@@@@$$$$$$$$$$@@@o == + ++++ +@@@@@@@@@@$+ ·=@@@@@@@@@@@*~ o%@@@@@@@@@@$x ++++ + ox==+~ x+=+o x+=+x· o+==+o ~+==+x + ++==+x ++ == ++==++ + ++====++ x+*+==**==++ ox=+==***=+* =+==**++ + ++==**********==++xx++**********==++++++************++++ + ++++++xx ++++++xx xx++++xx + + diff --git a/src/build/framegen/frames/frame_102.txt b/src/build/framegen/frames/frame_102.txt new file mode 100644 index 000000000..a53995bec --- /dev/null +++ b/src/build/framegen/frames/frame_102.txt @@ -0,0 +1,41 @@ + + xx+===********===+xx + +++=****+=o· ·o==****=++x + x+=*=*+x x+*=*=+x + ++**+x ~x++==++x~ x+**++ + **++ x*@@@@@@@@@@@@@@@@@@@@*x ++** + **xx x%@@@@$$$$$$$$$$$$$$$$$$$$@@@@%x xx** + ==+o o$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@$o o+== + ++++ +@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@+ ++++ + xx== x@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@x ==xx + ==+· $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ ·+== + ox== @@$$$@@@@@@$$$$$$$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$$@@ ==xo + +++x @$$$$@% ~*@@@@$$$$$$$$$$$$$@* ~*@@@@$$$$$$$$$$$@ x+++ + == *$$$$@$ ~*@@@@$$$$$$$$@% o*@@@@$$$$$$$$* == + == @$$$$$$ o%@@$$$$$$$$ o%@@$$$$$$@ == + == $$$$$$$@$=· ·$$$$$$$$@$+ ~$$$$$$$ == + == ~@$$$$$$$@@@@+ $$$$$$$$$@@@@x $$$$$$@~ == + == ·@$$$$$@@+ *$$$$$$$@@+ %$$$$$$@· == + == ·@$$$$$$ x%@@@$$$$$$$% x$@@@$$$$$$@· == + == ·@$$$$$$ x%@@@@$$$$$$$$$$% x%@@@@$$$$$$$$$@· == + == ·@$$$$$@@=x+%@@@@$$$$$$$$$$$$$$@@=x+%@@@@$$$$$$$$$$$$$@· == + == ·@$$$$$$$@@@@$$$$$$$$$$$$$$$$$$$$@@@@$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + ==x· @@@$$$$$$$$$@@@@@@@@@$$$$$$$$$$@@@@@@@@$$$$$$$$$$@@@ ·x== + ++++ ~%@@@@@@@@@%~ o%@@@@@@@@@$+ =@@@@@@@@@@%~ ++++ + ox==+x oo~ ~oo· ~oo~ x+==xo + x+==++ ++** %% ++==++ + ++=*==+*xx ~x++*=**=*===*+x ++*=**==**+*++ x+*===*=++ + ++==********++xx ++==********==++ ++==********==++ + + + diff --git a/src/build/framegen/frames/frame_103.txt b/src/build/framegen/frames/frame_103.txt new file mode 100644 index 000000000..04ce9a005 --- /dev/null +++ b/src/build/framegen/frames/frame_103.txt @@ -0,0 +1,41 @@ + + x++====******====++x + ++==***%==xo ox==%***==+x + xx=*=*++ ++*=*=xx + ++**++ ~ox++++xo~ ++**++ + **++ o*$@@@@@@@@@@@@@@@@@@$*o ++** + **+x o%@@@@$$$$$$$$$$$$$$$$$$$$@@@@%o x+** + ==+o ~$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@$~ o+== + ++++ +@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@+ ++++ + xx== o@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@o ==xo + ==+~ $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ ~+== + ox== @@$$$@@@@@@$$$$$$$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$$@@ ==xo + +++x @$$$$$% ~*@@@@$$$$$$$$$$$$$@* o*@@@@$$$$$$$$$$$@ x+++ + ==+ *@$$$@% o*@@@@$$$$$$$$@% o%@@@@$$$$$$$@* x== + == @$$$$$$ o%@@$$$$$$$$ o%@@$$$$$$@ == + == $$$$$$$@$= ·$$$$$$$$@$+ ~$$$$$$$ == + == ·@$$$$$$$@@@@+ $$$$$$$$$@@@@x $$$$$$@· == + == ·@$$$$$@@+ *$$$$$$$@@+ %$$$$$$@· == + == ·@$$$$$$ x%@@@$$$$$$$% x$@@@$$$$$$@· == + == ·@$$$$$$ o%@@@@$$$$$$$$$$% x%@@@@$$$$$$$$$@· == + == ·@$$$$$@@=xx%@@@@$$$$$$$$$$$$$$@@=x+%@@@@$$$$$$$$$$$$$@· == + == ·@$$$$$$$@@@@$$$$$$$$$$$$$$$$$$$$@@@@$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + ==+· @@@$$$$$$$$$@@@@@@@@@$$$$$$$$$@@@@@@@@@@$$$$$$$$$@@@ ·+== + ++++ %@@@@@@@@@*· *@@@@@@@@@$x x$@@@@@@@@@* ++++ + ==+x ·· ·· ·· x+== + x+==++ +=%% +%*+ ++==++ + xx==**=*++xxxx*=*=**==**=*++xxxx+=*=**==**=*=+xxxx++*+**==++ + ++++******==++ xx++*******=++++ ++++=*******++++ + + + diff --git a/src/build/framegen/frames/frame_104.txt b/src/build/framegen/frames/frame_104.txt new file mode 100644 index 000000000..6447b659b --- /dev/null +++ b/src/build/framegen/frames/frame_104.txt @@ -0,0 +1,41 @@ + + xx++=====**=====++xx + ++++***%**++~· ·~++**%***+++x + xx==*%=+ +=%*==xx + ++**++ ~~oooo~~ ++**++ + ==== ·+%@@@@@@@@@@@@@@@@@@%+· ==== + **+x ~*@@@@@$$$$$$$$$$$$$$$$$$@@@@@*~ x+** + ==+x ·%@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@%· x+== + ++=+ x@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@x +=++ + xx== ·@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@· ==xo + ==+~ %@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% ~+== + ox== @@$$$@@@@@@$$$$$$$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$$@@ ==xo + +++x $$$$$@%· o%@@@@$$$$$$$$$$$$$@%· x%@@@@$$$$$$$$$$$$ x+++ + ==+· =@$$$@$ x%@@@@$$$$$$$$@% x%@@@@$$$$$$$@= ·+== + == @$$$$$$ x%@@$$$$$$$$ x$@@$$$$$$@ == + == $$$$$$$@$+ ~$$$$$$$@@$x o$$$$$$$ == + == ~@$$$$$$$@@@@+ $$$$$$$$$@@@@x $$$$$$@~ == + == ·@$$$$$$@= =$$$$$$$@@= *$$$$$$@· == + == ·@$$$$$$ o%@@@$$$$$$$% o%@@@$$$$$$@· == + == ·@$$$$$$ o*@@@@$$$$$$$$$$% o*@@@@$$$$$$$$$@· == + == ·@$$$$$@@=oo*@@@@$$$$$$$$$$$$$$@@+ox*@@@@$$$$$$$$$$$$$@· == + == ·@$$$$$$$@@@@$$$$$$$$$$$$$$$$$$$$@@@@$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ == + == @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ == + ==+· $@@$$$$$$$$$@@@@@@@@@$$$$$$$$$@@@@@@@@@@$$$$$$$$$@@$ ·x== + +++= =@@@@@@@@@= +$@@@@@@@@%o ~%@@@@@@@@$= ++++ + ==++ +=== + xx=*=+ =*%% ++%%++ +=**+x + ++**=*=+++++******++**=%*=++++==*=**++**=*==++++++*=**++ + xx++======++++ ++======++++ ++++==**==++xx + + + diff --git a/src/build/framegen/frames/frame_105.txt b/src/build/framegen/frames/frame_105.txt new file mode 100644 index 000000000..3a119586e --- /dev/null +++ b/src/build/framegen/frames/frame_105.txt @@ -0,0 +1,41 @@ + + xx++============++xx + ++++**%%**==xo~~~~ox==**%%**+++x + xx==**== ==**==xx + ++**+= ·~~~~· =+**++ + ===+ x*$@@@@@@@@@@@@@@@@$*x +=== + **++ =@@@@@$$$$$$$$$$$$$$$$$$@@@@@= ++** + ==++ *@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@* ++== + ++=+ ~@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@~ +=++ + xx== @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ ==xx + ==+o *@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* o+== + ox== $@$$$@@@@@@$$$$$$$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$$@$ ==xo + ++++ $@$$$@$o +$@@@$$$$$$$$$$$$$$@$~ +$@@@$$$$$$$$$$$@$ x+++ + ==+· +@$$$$$ +$@@@@$$$$$$$$@% +$@@@$$$$$$$$@+ ·+== + == @$$$$$$ +$@@$$$$$$$$ +$@@$$$$$$@ == + == $$$$$$$@%o x$$$$$$$@@%o x$$$$$$$ == + == ·@$$$$$$$@@@@+ $$$$$$$$$@@@@x $$$$$$@· == + == ·@$$$$$$@*~ +$$$$$$$@@*~ =$$$$$$@· == + == ·@$$$$$$ ·*@@@$$$$$$$% ~*@@@$$$$$$@· == + == ·@$$$$$$ ·=@@@@$$$$$$$$$@% ~*@@@@$$$$$$$$$@· == + == ·@$$$$$@@+·~=@@@@$$$$$$$$$$$$$$@$x·~=@@@@$$$$$$$$$$$$$@· == + == ·@$$$$$$$@@@@$$$$$$$$$$$$$$$$$$$$@@@@$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ == + == @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ == + ==+· %@@$$$$$$$$$@@@@$@@@@@$$$$$$$$@@@@$$@@@@$$$$$$$$$@@$ ·+== + ++== =$@@@@@@@$= x%@@@@@@@@%~ *@@@@@@@@$+ ==+x + ==++ ++== + ===+ ==*%+x ++%%=+ +=== + ++**=%==++++*=**==++**=*==++++***=**++******++++==%=**++ + ++======++++ ++======++++ ++++======++ + + + diff --git a/src/build/framegen/frames/frame_106.txt b/src/build/framegen/frames/frame_106.txt new file mode 100644 index 000000000..d472c438f --- /dev/null +++ b/src/build/framegen/frames/frame_106.txt @@ -0,0 +1,41 @@ + + ++++++====++++++ + xx+=***%%%**==++++==**%%%***=+xx + ox==**=*x ox*=**==xo + ++**+= =+**++ + ==== ~+%$@@@@@@@@@@@@@@$%+~ ==== + ===+ x%@@@@@$$$$$$$$$$$$$$$$@@@@@%x +=== + ===+ +@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$@@@@+ +=== + ++=+ %@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@% +=++ + ox== %@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@% ==xx + ==+x x@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@x x+== + xx== %@$$$$@@@@$$$$$$$$$$$$$$$$$$$$@@@@$$$$$$$$$$$$$$@% ==xo + ++++ %@$$$@@+~o=@@@@$$$$$$$$$$$$$$@@+~o*@@@@$$$$$$$$$$$@% ++++ + ==+· x@$$$$$ ~*@@@@$$$$$$$$$$% o*@@@@$$$$$$$$@x ·+== + == @$$$$$$ ~*@@@$$$$$$$% o%@@@$$$$$$@ == + == $$$$$$$@=· =$$$$$$$@@= *$$$$$$$ == + == ·@$$$$$$$@@@@+ $$$$$$$$$@@@@x $$$$$$@· == + == ·@$$$$$$@$x o$$$$$$$@@$x x$$$$$$@· == + == ·@$$$$$$ x$@@$$$$$$$$ +$@@$$$$$$@· == + == ·@$$$$@$ x%@@@@$$$$$$$$@% x$@@@@$$$$$$$$@· == + == ·@$$$$$@$~ x%@@@@$$$$$$$$$$$$$@%· x%@@@@$$$$$$$$$$$$@· == + == ·@$$$$$$@@@@@@$$$$$$$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ == + == @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ == + ==+· %@@@$$$$$$$$@@@$$$@@@@$$$$$$$$@@@@$$$@@@$$$$$$$$@@@% ·+== + x+== +$@@@@@@@$+ o%@@@@@@@@*~ =$@@@@@@@$+ ==xx + ===+ +=== + ==== ==%%++ ++%%== ==== + ++**=***++==%***==++***%**++++*=%**=++==***%==++**%=**++ + x+++==++++ x+++++==++xx ++++++++++ + + + diff --git a/src/build/framegen/frames/frame_107.txt b/src/build/framegen/frames/frame_107.txt new file mode 100644 index 000000000..0d5034d4f --- /dev/null +++ b/src/build/framegen/frames/frame_107.txt @@ -0,0 +1,41 @@ + + ++++++++++++++++ + ++*****%*%=******=%*%*****++ + ++**=*+x x+*=**++ x + ++**+= =+**++ + ====ox o=%@@@@@@@@@@@@@@%=o xo==== + ===+ ~*@@@@@@$$$$$$$$$$$$$$@@@@@@*~ +=== + ===+ o$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$@@@$o +=== + ++== *@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@* ==++ + ox== *@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@* ==xo + ==+x o@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@o x+== + ox== =@$$$$@@@@$$$$$$$$$$$$$$$$$$$$@@@@$$$$$$$$$$$$$$@= ==xo + ++++ *@$$$@@*x+%@@@@$$$$$$$$$$$$$$@@*x+%@@@@$$$$$$$$$$$@* ++++ + ==x· ~@$$$$$ x%@@@@$$$$$$$$$$% x$@@@@$$$$$$$$@~ ·x== + == @$$$$$$ x$@@@$$$$$$$% +$@@@$$$$$$@ == + == $$$$$$@@+ %@$$$$$$@@x %$$$$$$$ == + == ·@$$$$$$$@@@@+ $$$$$$$$$@@@@x @$$$$$@· == + == ·@$$$$$$@$=· $$$$$$$$@$=· ~$$$$$$@· == + == ·@$$$$$$ ~*@@$$$$$$$$ o%@@$$$$$$@· == + == ·@$$$$@% ~*@@@@$$$$$$$$@% ~*@@@@$$$$$$$$@· == + == ·@$$$$$@* ·=@@@@$$$$$$$$$$$$$@* ~*@@@@$$$$$$$$$$$$@· == + == ·@$$$$$$@@@@@@$$$$$$$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ == + == @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$$$$$$$$$$$$$$$@@ == + ==+~ %@@@$$$$$$$@@@@$$$@@@@$$$$$$$$@@@@$$$@@@$$$$$$$$@@@% ·+== + xx== x%@@@@@@@$+ ~%@@@@@@@@*~ =$@@@@@@@$+ ==xx + ===+ +=== + ====x ==%%++ ++%%== ==== + ++***%**====%***++++==*%**====%***==++++***%==+=***=**++ + xx++++++++ ++==++++ ++++++++xx + + + diff --git a/src/build/framegen/frames/frame_108.txt b/src/build/framegen/frames/frame_108.txt new file mode 100644 index 000000000..0b07a3b32 --- /dev/null +++ b/src/build/framegen/frames/frame_108.txt @@ -0,0 +1,41 @@ + + xx++++++++++++xx + ++==***%*%*%%%%%%*%*%***==++ + ++**=*== ==*=**++ + ++**=*++ ++*=**++ + ++**++ ~+*%@@@@@@@@@@%*+~ ++**++ + ==== o*@@@@@@@$$$$$$$$$$@@@@@@@*o ==== + ==== =@@@@$$$$$$$$$$$$$$$$$$$$$$$$@@@@= ==== + ++== x@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@x ==++ + xx==x· x@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@x ·x==xx + ++++ @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ ++++ + ox== o@$$$$$@@$$$$$$$$$$$$$$$$$$$$$$@@$$$$$$$$$$$$$$$@o ==xo + ++++ x@$$$$@$%%@@@@$$$$$$$$$$$$$$$$@$%%@@@@$$$$$$$$$$$$@x ++++ + ==+~ @$$$$$ o%@@@@$$$$$$$$$$$$ o%@@@@$$$$$$$$$@ ~+== + == $$$$$@$ o%@@@$$$$$$$@% x%@@@$$$$$$$$ == + == @$$$$$@% x@$$$$$$$@* x@$$$$$$@ == + == ·@$$$$$$$@@@*· $$$$$$$$@@@@* $$$$$$@· == + == ·@$$$$$$@@$+· $$$$$$$$@@$+ $$$$$$@· == + == ·@$$$$$$x o%@$$$$$$$$o x$@$$$$$$@· == + == ·@$$$$@% o%@@@@$$$$$$$@% x%@@@@$$$$$$$@· == + == ·@$$$$$$x o*@@@@$$$$$$$$$$$$$o o%@@@@$$$$$$$$$$$@· == + == ·@$$$$$$@@@@@@@$$$$$$$$$$$$$$$$$@@@@@@@$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ == + == @@$$$$$$$$$$$$$$$@$$$$$$$$$$$$$$$$$$@$$$$$$$$$$$$$$$@@ == + ==+~ %@@@$$$$$$$@@@@$$$@@@@$$$$$$$$@@@@$$$@@@$$$$$$$$@@@% ·+== + ox== x%@@@@@@@$+ ~*@@@@@@@@*~ =$@@@@@@@$+ ==+x + ++=+ +=++ + ++==ox ==%%++ ++%%== o==++ + x+***%**====%***++++==***%====%***==++++***%====**%***++ + +++++++x ++++++++ ++++++++ + + + diff --git a/src/build/framegen/frames/frame_109.txt b/src/build/framegen/frames/frame_109.txt new file mode 100644 index 000000000..c187dd596 --- /dev/null +++ b/src/build/framegen/frames/frame_109.txt @@ -0,0 +1,41 @@ + + xx++++++++++++xx + ++==****%%*%%%%%%*%%****==++ + ++****=*++ ++*=****++ + ++=*==+= =+====++ + ++**++ ~+=%$$@@@@$$%=+~ ++**++ + ++==oo +%@@@@@@@@$$$$$$@@@@@@@@%+ oo==++ + ++== o$@@@@$$$$$$$$$$$$$$$$$$$$$$@@@@$o ==++ + ++==~ %@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@% ~==++ + ox==+~ $@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$ ~+==xo + ++++ %@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% ++++ + == @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ == + ++++ ~@$$$$@@@@@@@$$$$$$$$$$$$$$$$$@@@@@@@$$$$$$$$$$$$$@~ ++++ + ==+~ @$$$$$~ =@@@@$$$$$$$$$$$$$· ·=@@@@$$$$$$$$$$@ ~+== + == $$$$$@% ·=$@@@$$$$$$$@% ·*@@@@$$$$$$$$ == + == @$$$$$$= ·*@$$$$$$$$+ ~*@$$$$$$@ == + == $$$$$$$@@@*x $$$$$$$$@@@*o $$$$$$$ == + == ·@$$$$$$@@@$+ $$$$$$$$@@@%x $$$$$$@· == + == ·@$$$$$@* =@$$$$$$$@= =@$$$$$$@· == + == ·@$$$$@$ +$@@@$$$$$$$@% +$@@@$$$$$$$@· == + == ·@$$$$$$ +$@@@$$$$$$$$$$$$$ +$@@@$$$$$$$$$$$@· == + == ·@$$$$$$@@$$@@@@$$$$$$$$$$$$$$$$@@$$@@@$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$@$$$$$$$$$$$$$$$$$$$$$$$@$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ == + == @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$$$$$$$$$$$$$$$@@ == + ==+~ %@@@$$$$$$$$@@@$$$@@@@$$$$$$$$@@@@$$$@@@$$$$$$$$@@@% ·+== + xx== +%@@@@@@@$= ~%@@@@@@@@%~ =$@@@@@@@$+ ==xx + ++=+ +=++ + ++==ox ==%%++ ++%%== o==++ + x+***%**====%***++++==***%====%***==++++***%====**%***++ + ++++++++ ++++++++ ++++++++ + + + diff --git a/src/build/framegen/frames/frame_110.txt b/src/build/framegen/frames/frame_110.txt new file mode 100644 index 000000000..0ecf74c83 --- /dev/null +++ b/src/build/framegen/frames/frame_110.txt @@ -0,0 +1,41 @@ + + ++++++++++++ + ++++==******%%%*******==++++ + ++==**=***++ ++******==++ + ++==**=*+o o+*=**==++ + ++====x ·o++====++o· x====++ + ++==++ +%@@@@@@@@@@@@@@@@@@@@%+ ++==++ + ++==xo +$@@@@$$$$$$$$$$$$$$$$$$$$@@@@$+ ox==++ + ++==+~ x@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@x ~+==++ + ==+x =@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@= x+== + ++== x@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@x ==++ + ==x· $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ ·x== + ++== @$$$$@@@@@@$$$$$$$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$$$@ ==++ + +++x @$$$$$* ·=@@@@$$$$$$$$$$$$$$= ~=@@@@$$$$$$$$$$$@ x+++ + == *$$$$@$ ·*@@@@$$$$$$$$@% ~*@@@@$$$$$$$$* == + == @$$$$$$ ~*@@$$$$$$$$ ~*@@$$$$$$@ == + == $$$$$$$@@=~ $$$$$$$$@@=· ·$$$$$$$ == + == ~@$$$$$$$@@@@x $$$$$$$$$@@@@o $$$$$$@~ == + == ·@$$$$$@@x %$$$$$$$@@x %$$$$$$@· == + == ·@$$$$$$ +$@@@$$$$$$$% +$@@@$$$$$$@· == + == ·@$$$$$$ +$@@@$$$$$$$$$$$% +$@@@$$$$$$$$$$@· == + == ·@$$$$$@@*++%@@@@$$$$$$$$$$$$$$@@*+=%@@@@$$$$$$$$$$$$$@· == + == ·@$$$$$$$@@@@$$$$$$$$$$$$$$$$$$$$@@@@$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ == + == @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ == + ==+· %@@@$$$$$$$$@@@@$$@@@@$$$$$$$$@@@@$$@@@@$$$$$$$$$@@$ ·+== + xx== +$@@@@@@@$= o%@@@@@@@@%o =$@@@@@@@$= ==xx + ++=+ +=++ + ++== ==%%++ ++%%== ==++ + x+===***++==%***++x+==*%**====**%*==xx++***%==++***=**++ + ++++++++ ++++++++ ++++++++ + + + diff --git a/src/build/framegen/frames/frame_111.txt b/src/build/framegen/frames/frame_111.txt new file mode 100644 index 000000000..f9eafa6a4 --- /dev/null +++ b/src/build/framegen/frames/frame_111.txt @@ -0,0 +1,41 @@ + + ++xxxx++ + xx++==****************==++xx + x+==**==*%=*++oo oo++==%*==**==++ + x+++**=*+= =+*=**+++x + ++====++ ~oooo~ ++====++ + ++===+ +%@@@@@@@@@@@@@@@@@@%+ +===++ + ++==+x ·*@@@@@$$$$$$$$$$$$$$$$$$@@@@@*· x+==++ + x+==+x %@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@% x+==+x + ==++ o@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@o +=== + ++== ·@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@· ==++ + ==+~ *@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* ~+== + ++== $@$$$$@@@@$$$$$$$$$$$$$$$$$$$$@@@@$$$$$$$$$$$$$$@$ ==++ + +++x $$$$$@@x ·+$@@@$$$$$$$$$$$$$$@$o ~=@@@@$$$$$$$$$$$$$ x+++ + ==x· =@$$$$$ =$@@@$$$$$$$$$@% =$@@@$$$$$$$$@= ·+== + == @$$$$$$ =$@@$$$$$$$% ·=@@@$$$$$$@ == + == $$$$$$$@%o +$$$$$$$@@*~ +$$$$$$$ == + == ·@$$$$$$$@@@@+ $$$$$$$$$@@@@+ $$$$$$@· == + == ·@$$$$$$@%o x$$$$$$$@@%~ +$$$$$$@· == + == ·@$$$$$$ =@@@$$$$$$$$ ·=@@@$$$$$$@· == + == ·@$$$$$$ =$@@@$$$$$$$$$$% =$@@@$$$$$$$$$@· == + == ·@$$$$$@$x ·+$@@@$$$$$$$$$$$$$$@$o ·=$@@@$$$$$$$$$$$$$@· == + == ·@$$$$$$$@@@@@$$$$$$$$$$$$$$$$$$@@@@@$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ == + == @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ == + ==+· $@@$$$$$$$$$@@@@$@@@@@$$$$$$$$@@@@@$@@@@$$$$$$$$$@@$ ·+== + xx== =$@@@@@@@@* o%@@@@@@@@%o *@@@@@@@@$= ==xx + ++=+ +=++ + ++== ==%%++ ++%%== ==++ + x+**=%*=++++%***=+++==*%**++++**%*==+++=***%++++==%=**++ + ++++++++ ++++++++ ++++++++ + + + diff --git a/src/build/framegen/frames/frame_112.txt b/src/build/framegen/frames/frame_112.txt new file mode 100644 index 000000000..75ce50d77 --- /dev/null +++ b/src/build/framegen/frames/frame_112.txt @@ -0,0 +1,41 @@ + + + xx++====********====++xx + ++==**=**%****++++****%**=**==++ + ++=====*+x ++*=====++ + ++====== ======++ + ++====xx o=%$@@@@@@@@@@@@$%=o xx====++ + ++===+ ·*$@@@@@$$$$$$$$$$$$$$@@@@@$*· +===++ + xx===+ o$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$@@@$o +===xx + ==++ *@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@* ++== + ++== *@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@* ==++ + ==+x ~@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@~ x+== + xx== =@$$$$$@@$$$$$$$$$$$$$$$$$$$$$@@@$$$$$$$$$$$$$$$@= ==xx + ++++ *@$$$$@$*%@@@@$$$$$$$$$$$$$$$@@$*%@@@@$$$$$$$$$$$$@* ++++ + ==+· ~@$$$$$ ~*@@@@$$$$$$$$$$$$ ~*@@@@$$$$$$$$$@~ ·+== + == @$$$$$$ ~*@@@$$$$$$$@% o*@@@$$$$$$$@ == + == $$$$$$@%~ o$$$$$$$$@%· x$$$$$$$$ == + == ·@$$$$$$$@@@%~ $$$$$$$$$@@@%· $$$$$$@· == + == ·@$$$$$$@@%+ $$$$$$$$@@%x $$$$$$@· == + == ·@$$$$$$o x$@$$$$$$$$~ +$@$$$$$$@· == + == ·@$$$$$$ x%@@@@$$$$$$$@% +$@@@$$$$$$$$@· == + == ·@$$$$$$+ x%@@@@$$$$$$$$$$$$$x x%@@@@$$$$$$$$$$$@· == + == ·@$$$$$$@@@@@@@$$$$$$$$$$$$$$$$$@@@@@@@$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + ==x· $@@$$$$$$$$$@@@@@@@@@$$$$$$$$$$@@@@@@@@@$$$$$$$$$@@@ ·x== + xx== *@@@@@@@@@%~ +$@@@@@@@@$+ ~%@@@@@@@@@* ==xx + ==++ ++== + ===+ ++%% %%++ +=== + ++**=%+++x++**%*=+++===*==++++==*===++++*%**++++++****++ + ++++====++ ++====++ ++====++++ + + + diff --git a/src/build/framegen/frames/frame_113.txt b/src/build/framegen/frames/frame_113.txt new file mode 100644 index 000000000..ee9846d6f --- /dev/null +++ b/src/build/framegen/frames/frame_113.txt @@ -0,0 +1,41 @@ + + + xx++++============++++xx + ++====**=**%%%****%%%**=**====++ + ++====**=*o~ ~o*=**====++ + ======++ ++====== + x+====++ ~+*%$@@@@@@@@$%*+~ ++====++ + xx==== o%@@@@@@@$$$$$$$$$$@@@@@@@%o ====xx + ==== =@@@@$$$$$$$$$$$$$$$$$$$$$$$$@@@@= ==== + =+== o@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@o ==++ + x+==x· x@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@x ·x==+x + ==++ @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ ++== + xx== o@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@o ==xx + ++++ x@$$$$@@@@@@@$$$$$$$$$$$$$$$$$@@@@@@@$$$$$$$$$$$$$@x ++++ + ==+~ @$$$$$o ·*@@@@$$$$$$$$$$$$$~ ~*@@@@$$$$$$$$$$@ ~+== + == $$$$$@% ~*@@@@$$$$$$$@* ~*@@@@$$$$$$$$ == + == @$$$$$$+ ~*@$$$$$$$$x o*@$$$$$$@ == + == ·@$$$$$$@@@*o $$$$$$$$@@$*~ @$$$$$@· == + == ·@$$$$$$@@@$+ $$$$$$$$@@@$+ @$$$$$@· == + == ·@$$$$$@* +@$$$$$$$@* =@$$$$$$@· == + == ·@$$$$@% +$@@@$$$$$$$@% +$@@@$$$$$$$@· == + == ·@$$$$$$ x%@@@@$$$$$$$$$$$$ +$@@@$$$$$$$$$$$@· == + == ·@$$$$$$@@$$@@@@$$$$$$$$$$$$$$$$@@$$@@@@$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$@$$$$$$$$$$$$$$$$$$$$$$$@$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + ==x· @@@$$$$$$$$$@@@@@@@@@$$$$$$$$$$@@@@@@@@@$$$$$$$$$@@@ ·x== + xx++ ·%@@@@@@@@@%o =@@@@@@@@@@= o%@@@@@@@@@%~ ++++ + ==+x ·~~ ·~~· ~~~ x+== + ==++ x+%% %%++ +=== + ++**=%++ooox==*===++**=%++xoox++%=**++===*==xooo++%=**++ + ++++==++++ x+++====++xx ++++====++ + + + diff --git a/src/build/framegen/frames/frame_114.txt b/src/build/framegen/frames/frame_114.txt new file mode 100644 index 000000000..396d5a292 --- /dev/null +++ b/src/build/framegen/frames/frame_114.txt @@ -0,0 +1,41 @@ + + + xx++++++++++++++++++ + ++++==****=***%%%%***=****==++++ + ++++=====%==o~ ~o==%=====++++ + ++====+= =+====++ + ====++ ~x=**%%%%**=x~ +===== + ====++ o*$@@@@@@@@@@@@@@@@@@@@$*o ++==== + ====o~ ·*@@@@$$$$$$$$$$$$$$$$$$$$$$@@@@*· ~o==== + ++==x· =@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@= ·x==++ + xx==+o %@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@% o+==xx + =+++ *@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@* +++= + xx==x· @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ ·x==xo + ++++ @$$$$@@@@@@$$$$$$$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$$$@ ++++ + ==+o @$$$$@$~ x%@@@@$$$$$$$$$$$$$@%· x%@@@@$$$$$$$$$$$@ o+== + == %$$$$$$ x%@@@@$$$$$$$$@% x%@@@@$$$$$$$$% == + == @$$$$$$ x%@@$$$$$$$$ +$@@$$$$$$@ == + == $$$$$$$@%+ o$$$$$$$@@%x x$$$$$$$ == + == ·@$$$$$$$@@@@+ $@$$$$$$$@@@@+ $$$$$$@~ == + == ·@$$$$$@@=· =$$$$$$$@@= *$$$$$$@· == + == ·@$$$$$$ ~*@@@$$$$$$$% o*@@@$$$$$$@· == + == ·@$$$$$$ ~*@@@@$$$$$$$$$$% ~*@@@@$$$$$$$$$@· == + == ·@$$$$$@@+~o*@@@@$$$$$$$$$$$$$$@@+~o*@@@@$$$$$$$$$$$$$@· == + == ·@$$$$$$$@@@@$$$$$$$$$$$$$$$$$$$$@@@@$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + ==x ·@@$$$$$$$$$$$@@@@@@@@$$$$$$$$$$@@@@@@@@$$$$$$$$$$$@@~ == + x+++ x$@@@@@@@@@@= o%@@@@@@@@@@%o =@@@@@@@@@@$x +=++ + ==+o ox++o ~x++x~ o++xo o+== + **+x ** ** x+** + ++**==o~ ++*+**++**+*xo ox*+**++**=*++ ~o=+**=+ + ++==***=++++ ++==****==++ x+++****==++ + + + diff --git a/src/build/framegen/frames/frame_115.txt b/src/build/framegen/frames/frame_115.txt new file mode 100644 index 000000000..f5d198a48 --- /dev/null +++ b/src/build/framegen/frames/frame_115.txt @@ -0,0 +1,41 @@ + + + ++++++++++++++++ + ++++==****************==++++ + ++===****%++~~ ~~++%****===++ + ++=====*+x x+*=====++ + ++====xx ·ox+====+xo· xx====++ + ====++ x%$@@@@@@@@@@@@@@@@@@$%x ++==== + ++==+x x$@@@@$$$$$$$$$$$$$$$$$$$$@@@@$x x+==++ + ++==+o x$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$x o+==++ + ox==++ =@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@= ++==xo + +++= x@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@x =+++ + ==+· $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ ·+==xo + ++== @@$$$$@@@@$$$$$$$$$$$$$$$$$$$$@@@@$$$$$$$$$$$$$$@@ ==++ + ==+x @$$$$$@*x+%@@@@$$$$$$$$$$$$$$@@*x+%@@@@$$$$$$$$$$$$@ x+== + == *$$$$$$ x%@@@@$$$$$$$$$$% x%@@@@$$$$$$$$$* == + == @$$$$$$ x%@@@$$$$$$@% +$@@@$$$$$$@ == + == $$$$$$@@+ *$$$$$$$@@x %$$$$$$$ == + == ~@$$$$$$$@@@@x $$$$$$$$$@@@@x $$$$$$@~ == + == ·@$$$$$$@@=· $$$$$$$$@$= ~$$$$$$@· == + == ·@$$$$$$ ~*@@$$$$$$$$ o*@@$$$$$$@· == + == ·@$$$$@$ ~*@@@@$$$$$$$$@% ~*@@@@$$$$$$$$@· == + == ·@$$$$$@* ~*@@@@$$$$$$$$$$$$$@* ~*@@@@$$$$$$$$$$$$@· == + == ·@$$$$$$@@@@@@$$$$$$$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + == o@@$$$$$$$$$$$@@@@@@@$$$$$$$$$$$$@@@@@@@$$$$$$$$$$$@@x == + ++++ =@@@@@@@@@@@%o +$@@@@@@@@@@$+ o%@@@@@@@@@@@* ++++ + **x~ ~+===+o x====x o+=*=+~ ~+** + **+x ++ ++ x+** + ==**++ ~o*+**=***+= =+**==**+*o~ ++==== + +==****==+++ ++=******=++ ++===*%**==+ + + + diff --git a/src/build/framegen/frames/frame_116.txt b/src/build/framegen/frames/frame_116.txt new file mode 100644 index 000000000..0d845be93 --- /dev/null +++ b/src/build/framegen/frames/frame_116.txt @@ -0,0 +1,41 @@ + + + ++++++++ + ++++==************==++++ + ++++****=**%=+xo~~~~ox+=***=****++++ + xx++===*== =+*===++xx + ++====++ ·~~~~· ++====++ + ++===+ x*$@@@@@@@@@@@@@@@@$*x +===++ + ++==++ =@@@@@$$$$$$$$$$$$$$$$$$@@@@@= ++==++ + x+===+ *@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@* +===+x + ==++ ~$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$~ ++== + ++== @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ ==++ + ==+o *@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* o+== + ++== $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ ==++ + +++x $@$$$$@@@@@@@$$$$$$$$$$$$$$$$$@@@@@@@$$$$$$$$$$$$$@$ x+++ + ==x· +@$$$$$x o%@@@@$$$$$$$$$$$$$o x%@@@@$$$$$$$$$$@+ ·x== + == @$$$$@% o%@@@@$$$$$$$@* x%@@@@$$$$$$$@ == + == $$$$$$$o o%@$$$$$$$$~ x%@$$$$$$$ == + == ·@$$$$$$@@$+ $$$$$$$$@@%+ $$$$$$@· == + == ·@$$$$$$@@@@* $$$$$$$$@@@$* $$$$$$@· == + == ·@$$$$$@* x@$$$$$$$@* x@$$$$$$@· == + == ·@$$$$@% o%@@@$$$$$$$@* x%@@@$$$$$$$@· == + == ·@$$$$$$ o%@@@@$$$$$$$$$$$$ x%@@@@$$$$$$$$$$@· == + == ·@$$$$$$@@%$@@@@$$$$$$$$$$$$$$$$@@%$@@@@$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$@@$$$$$$$$$$$$$$$$$$$$$$@@$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + == =@@$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$@@* == + +++x $@@@@@$$@@@@@*x~o+%@@@@@$$@@@@@%+o~o=$@@@@$$$@@@@$· x+++ + **~· ~=%$$$%=o +*$$$$*+ o=%$$$%=~ ** + xx**o~ ~·**xx + ox**+* ++****=*+x x+*=****++ *+**xx + ++==*%%%%%**== x++=*%%%%%%*=++x ++**%%%%%*==++ + + + diff --git a/src/build/framegen/frames/frame_117.txt b/src/build/framegen/frames/frame_117.txt new file mode 100644 index 000000000..591cfaea9 --- /dev/null +++ b/src/build/framegen/frames/frame_117.txt @@ -0,0 +1,41 @@ + + + + ++++====********====++++ + ++==**=**%**++++++++**%**=**==++ + ++=*=*=* *=*=*=++ + x+====+= =+====+x + ++===+ ·+%$@@@@@@@@@@@@@@$%+· +===++ + x+==++ x%@@@@@$$$$$$$$$$$$$$$$@@@@@%x ++==+x + ox==++ +@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$@@@@+ ++==xx + ==++ %@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@% ++== + ++== $@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$ ==++ + ==+x +@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@+ x+== + ++== %@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% ==++ + ++++ %@$$$$$@@@$$$$$$$$$$$$$$$$$$$$$@@@$$$$$$$$$$$$$$$$@% ++++ + ==+· x@$$$$@@%=*@@@@@$$$$$$$$$$$$$$@@%**@@@@$$$$$$$$$$$$$@x ·+== + == @$$$$$% +$@@@@$$$$$$$$$$% +$@@@@$$$$$$$$$@ == + == $$$$$@* o*@@@$$$$$$@+ o*@@@$$$$$$$ == + == ·@$$$$$@%· x$$$$$$$@* x$$$$$$@· == + == ·@$$$$$$@@@@* *@$$$$$$@@@@= %@$$$$@· == + == ·@$$$$$@$o ~$$$$$$$@%~ o$$$$$$@· == + == ·@$$$$@* ·=$@@$$$$$$@= ·=$@@$$$$$$@· == + == ·@$$$$$% o%@@@@@$$$$$$$$$* x%@@@@$$$$$$$$$@· == + == ·@$$$$$@@*+=$@@@@$$$$$$$$$$$$$$@@*+=$@@@@$$$$$$$$$$$$$@· == + == ·@$$$$$$$@@@$$$$$$$$$$$$$$$$$$$$$@@@$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + == %@$$$$$$$$$$$$$@@@@@$$$$$$$$$$$$$$@@@@@$$$$$$$$$$$$$@% == + +++o o@@@@$$$$$@@@@%*+=*$@@@$$$$$$@@@$*=+=%@@@@$$$$$@@@@x o+++ + ** +%@@@@@%+ o*$@@@@$*o +%@@@@@%+ **xo + x+** **++ + x+**++ ox****== ==****xo =+**++ + +=**%%%%%%%*==++ ++==*%%%%%%*==++ x+==*%%%%%%%**++ + + + diff --git a/src/build/framegen/frames/frame_118.txt b/src/build/framegen/frames/frame_118.txt new file mode 100644 index 000000000..436dfbe12 --- /dev/null +++ b/src/build/framegen/frames/frame_118.txt @@ -0,0 +1,41 @@ + + + + x+++++========++++++ + ++==*****%%%********%%%*****==++ + ++==**=*=+ ++*=**==++ + ++**+= =+**++ + xx====ox ~=%$@@@@@@@@@@@@$%=~ xo====xx + x+===+ ·=@@@@@@$$$$$$$$$$$$$$@@@@@@=· +===+x + ===+ ~%@@@$$$$$$$$$$$$$$$$$$$$$$$$$$@@@%~ +=== + ++== =@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@= ==++ + x+== =@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@= ==+x + ==+x ~@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@~ x+== + xx== =@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= ==xx + ++++ =@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= ++++ + ==+· ~@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ ·+== + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + == $$$$$$@@@@@@@@@@@@@@@@@$$$$$$$@@@@@@@@@@@@@@@@@$$$$$$$ == + == ·@$$$$@$+xxxxxxxxxxxxxx=$@$$$@$+xxxxxxxxxxxxxx+%@$$$$$@· == + == ·@$$$@o x$$$x @$$$$@· == + == ·@$$$@~ o@$@~ @$$$$@· == + == ·@$$$$@%o··············o%@$$$@%o··············~*@$$$$$@· == + == ·@$$$$$@@@@@@@@@@@@@@@@@@$$$$$@@@@@@@@@@@@@@@@@@$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ == + == @@$$$$$$$$$$$$$$$@$$$$$$$$$$$$$$$$$@@$$$$$$$$$$$$$$$@@ == + ==+~ %@@@$$$$$$$$@@@$$$@@@@$$$$$$$$@@@@$$$@@@$$$$$$$$@@@% ·+== + xx== +$@@@@@@@$+ ~*@@@@@@@@*~ +$@@@@@@@$+ ==xx + ++=+ +=++ + ++**oo ==$%++ ++%%== oo==++ + x+==*%**====****++++++*%**====**%*++++++**=*====*=%*==++ + ++++++ ++++++++ ++++++ + + diff --git a/src/build/framegen/frames/frame_119.txt b/src/build/framegen/frames/frame_119.txt new file mode 100644 index 000000000..a334097c4 --- /dev/null +++ b/src/build/framegen/frames/frame_119.txt @@ -0,0 +1,41 @@ + + + + ++++++====++++++ + xx++*******%*%%**%%*%*******++xx + xx+=****== ==****=+xx + ++**+*x x*+**++ + ====x+ x*%$@@@@@@@@@@$%*x +x==== + ==== +$@@@@@@$$$$$$$$$$$$@@@@@@$+ ==== + ==++ *@@@@$$$$$$$$$$$$$$$$$$$$$$$$@@@@* ++== + ++== +@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@+ ==++ + xx==x· +@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@+ ·o==xx + ==++ @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ ++== + ox== +@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ ==xo + ++++ +@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ ++++ + ==+· @$$$$$$$$$$$@@@@@@$$$$$$$$$$$$$$$$$@@@@@@$$$$$$$$$$@ ·+== + == @$$$$$$$@@@@$%==**$@@@@$$$$$$$$@@@@@%*==*%@@@@$$$$$$$@ == + == @$$$$$@@= =@@$$$$$@%o o$@$$$$$@ == + == ·@$$$$@* + *$$$$@ xo o@$$$$@· == + == ·@$$$$* ·x * $$$@ * = =@$$$@· == + == ·@$$$@x @ * x $$$$ x+ % * +@$$$@· == + == ·@$$$$$ + *$$$@ x o@$$$$@· == + == ·@$$$$@$ ·· o+=$@@$$$$@x ~ ·++%@@$$$$$@· == + == ·@$$$$$$@@= =@@@$$$$$$$@@*o @@@$$$$$$$@· == + == ·@$$$$$$$$@@@@@@@@@@@$$$$$$$$$$$$@@@@@@@@@@@$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + ==x· $@@$$$$$$$$$@@@@@@@@@$$$$$$$$$$@@@@@@@@@$$$$$$$$$@@@ ·x== + xx== *@@@@@@@@@%o =@@@@@@@@@@= o%@@@@@@@@@%· +++x + ==++ ·~· ~~ ·~· x+== + ==++ x+%% %%+x ++== + ++**=*++xox+==%*==++===%==xoox==%===++==*%==+xoo++*=**++ + +++++===++ +++==+++ +++===++++ + + diff --git a/src/build/framegen/frames/frame_120.txt b/src/build/framegen/frames/frame_120.txt new file mode 100644 index 000000000..8bd15cf1d --- /dev/null +++ b/src/build/framegen/frames/frame_120.txt @@ -0,0 +1,41 @@ + + + + x++++++++++++++x + ++==*****%%%%%%%%%%*****==++ + ++**=*=* *=*=**++ + xx**=*++ ++*=**++ + ++**x+ ~+*$$@@@@@@@@$$*+~ +x**++ + ==== o%@@@@@@@$$$$$$$$$$@@@@@@@%o ==== + ++== =@@@@$$$$$$$$$$$$$$$$$$$$$$$$@@@@= ==++ + ++== o@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@o ==++ + ox==x· x@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@x ·x==xo + ++++ @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ ++++ + == o@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@o == + ++++ x@$$$$$$$$@@@@@@@@@$$$$$$$$$$$$$$@@@@@@@@@@$$$$$$$@x ++++ + ==+~ @$$$$$$@@@*x· ·x*$@@$$$$$$$$@@@%=~ o=%@@@$$$$$@ ~+== + == $$$$$$@@+ x@@$$$$$@* $@$$$$$$ == + == @$$$$@% ~~o=$x $$$$$@ ·~~x%= +@$$$$@ == + == ·@$$$$$ % = @$$@ =· %$$$$@· == + == ·@$$$@x @ o *x $$$$ ~+ x @ o@$$$@· == + == ·@$$$@+ $ x · @$$$ ·+ + ~ *$$$$@· == + == ·@$$$$$ * $$$$@~ x· +@$$$$@· == + == ·@$$$$$$ ·o%*xxx=$@$$$$$@~ ~=%+ox+%@@$$$$$@· == + == ·@$$$$$$@= x@@@$$$$$$$@$· @@@$$$$$$$@· == + == ·@$$$$$$$@@@$=x~··~x%$$$$$$$$$$$@@@$*+o··~o*$$$$$$$$$$@· == + == ·@$$$$$$$$$$@@@@@@@@@$$$$$$$$$$$$$$$@@@@@@@@$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + == o@@$$$$$$$$$$$@@@@@@@$$$$$$$$$$$$@@@@@@@$$$$$$$$$$$@@x == + ++++ =@@@@@@@@@@@*o ·+$@@@@@@@@@@$+· o*@@@@@@@@@@@* ++++ + **+~ ~+=*=+o ·x=**=x· o+=*=+~ ·+** + **xx ++ ++ o+**xx + ====++ *=**==**+= =+**==**+= ++==== + +==**%*==+++ ++=******=++ +++=**%%*=== + + diff --git a/src/build/framegen/frames/frame_121.txt b/src/build/framegen/frames/frame_121.txt new file mode 100644 index 000000000..ad287b628 --- /dev/null +++ b/src/build/framegen/frames/frame_121.txt @@ -0,0 +1,41 @@ + + + + ++++++++++++ + ++++****%%%%%%%%%%%%****++++ + ++***%*%x~ ~x%*%***++ + x+**==++ ++==**++ + ++**++ ·x*%$$@@@@@@$$%*x· ++**++ + ++==~ o*@@@@@@@@$$$$$$$$@@@@@@@@*o ~==++ + ++== =@@@@$$$$$$$$$$$$$$$$$$$$$$$$@@@@= ==++ + ++== ~$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$~ ==++ + ==x· o@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@o ·x== + ++++ $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ ++++ + == o@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@o == + x+++ o@$$$$$$$@@@@@@@@@@@$$$$$$$$$$$$@@@@@@@@@@@$$$$$$$@o ++xx + ==x~ @$$$$$$@@%x o*@@$$$$$$$$@@$=~ ~=$@@$$$$$@ ~x== + == $$$$$$@$· $@$$$$$@+ *@$$$$$$ == + == @$$$$@* ·~·~x$o %$$$$@ o··o%= ~@$$$$@ == + == ·@$$$$$ * = @$$@ % o *@$$$@· == + == ·@$$$@x @ * *+ $$$$ oo * @ o@$$$@· == + == ·@$$$@+ % @$$$ * %$$$$@· == + == ·@$$$$@ + @$$$@x ~o *@$$$$@· == + == ·@$$$$$@ ·x==x=*%@@$$$$$@x o+=x+=%$@@$$$$$@· == + == ·@$$$$$$@%· x@@$$$$$$$$@@x @@$$$$$$$$@· == + == ·@$$$$$$$@@@@%=++++*$$$$$$$$$$$$$@@@$*=+++=%$$$$$$$$$$@· == + == ·@$$$$$$$$$$$@@@@@@@$$$$$$$$$$$$$$$$@@@@@@@@$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + == =@@$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$$@* == + +++x $@@@@$$$@@@@@=x~o+%@@@@@$$@@@@@%+o~x=@@@@@$$$@@@@$ x+++ + **~· ~=%$$$%=o x*$$$$*x o=%$$$%=~ ** + xx**o~ ~~**xx + xx**+= ++******+x x+******++ *+**xx + ++==*%%%%%%*=+ xx==*%%%%%%*=+xx +=*%%%%%%*==++ + + diff --git a/src/build/framegen/frames/frame_122.txt b/src/build/framegen/frames/frame_122.txt new file mode 100644 index 000000000..538806586 --- /dev/null +++ b/src/build/framegen/frames/frame_122.txt @@ -0,0 +1,41 @@ + + + + x++++++x + ++==***%%%%%%%%%%***==++ + x+==**=*+o o+*=**==+x + ==**++ ++**== + ++**++ x=%$$@@@@@@$$%=x ++**++ + ++**oo ~=@@@@@@@@$$$$$$$$@@@@@@@@=~ oo**++ + ++== +$@@@$$$$$$$$$$$$$$$$$$$$$$$$@@@$+ ==++ + ++=* ~$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$~ *=++ + ==x~ o@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@o ~+== + ++++ $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ ++++ + == ~@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@~ == + ++++ o@$$$$$$$@@@@@@@@@@@$$$$$$$$$$$$@@@@@@@@@@@$$$$$$$@o +++x + ++x~ @$$$$$$@@%x o*@@$$$$$$$$@@$=· ·=$@@$$$$$@ ~x++ + == $$$$$$@$ $@$$$$$@x =@$$$$$$ == + == @$$$$@= ~· o%~ *$$$$$ ~ ·*+ @$$$$@ == + == ·@$$$$% = * @$$@ $ + =@$$$@· == + == ·@$$$@o @ ~$ *+ $$$$ xo @ @ x@$$$@· == + == ·@$$$@= = @$$@ % $$$$$@· == + == ·@$$$$@ ~· x@$$$@= x · $@$$$$@· == + == ·@$$$$$@x *@@@@$$$$$@% o$@@@$$$$$$@· == + == ·@$$$$$$@@= x@$$$$$$$$$@@%o @$$$$$$$$$@· == + == ·@$$$$$$$$@@@@@$$$$@@$$$$$$$$$$$$@@@@@@$$$@@$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$@@$$$$$$$$$$$$$$$$$$$$$@@$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$· == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == $@$$$$$$$$$$$$$$@@@@$$$$$$$$$$$$$$@@@@$$$$$$$$$$$$$$@@ == + +++o =@@@$$$$$$$@@@@%**$@@@@$$$$$$@@@@$**%@@@@$$$$$$$@@@= ~+++ + ox== ~*@@@@@@@*o +$@@@@@@$+ o*@@@@@@@*~ ==xo + ++== ==++ + ++**++ =*%%== ==%%*= +x**++ + +=***%%%%*%=**+x ++***%%%%%%***++ x+**=%*%%%%***=+ + xxxx xxxx xxxx + diff --git a/src/build/framegen/frames/frame_123.txt b/src/build/framegen/frames/frame_123.txt new file mode 100644 index 000000000..db5c78f45 --- /dev/null +++ b/src/build/framegen/frames/frame_123.txt @@ -0,0 +1,41 @@ + + + + ++++ + ++==***%*%%%%%%*%***==++ + xx==***%+x x+%***==xx + ==**++ ++**== + ++**++ o=*%$$@@@@$$%*=o ++**++ + ++**oo ·=$@@@@@@@$$$$$$$$@@@@@@@$=· oo**++ + ++== +$@@@$$$$$$$$$$$$$$$$$$$$$$$$@@@$+ ==++ + x+=* ·$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$· *=xx + ==+~ ~@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@~ ~+== + ++++ $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ ++++ + == ~@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@~ == + xx++ ~@$$$$$$$@@@@@@@@@@@$$$$$$$$$$$$@@@@@@@@@@@@$$$$$$@o ++xx + +++~ @$$$$$@@@*o ~*@@@$$$$$$$@@%x +%@@$$$$$@ ~+++ + == $$$$$$@% %@$$$$@@o +@$$$$$$ == + == @$$$$@+ o ~*~ =@$$$$ ·~ =+ @$$$$@ == + == ·$$$$$% ·= * @$$@ $ + =@$$$$· == + == ·@$$$@o @ ~@ *x $$$$ x~ @ @ x@$$$@· == + == ·@$$$@* +~ ·@$$@ % $$$$$@· == + == ·@$$$$@ ~ · =@$$$$* x o ~@@$$$$@· == + == ·@$$$$$@+ *@@@@$$$$$@$ ~@@@@$$$$$$@· == + == ·@$$$$$$@@%o +$$$$$$$$$$@@$+ $$$$$$$$$$@· == + == ·@$$$$$$$$@@@@@@@@@@@$$$$$$$$$$$$$@@@@@@@@@@$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ == + == @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ == + ==+~ %@@$$$$$$$$$@@@@$$@@@@$$$$$$$$@@@@$$@@@@$$$$$$$$$@@% ·+== + xx== +$@@@@@@@@= o%@@@@@@@@%o =@@@@@@@@$+ ==+x + ++=+ +=++ + ++*=o +=%$++ ++$%=+ o==++ + x+==**=*===*%***++xx++*%*%====%*%*++xx++***%*===***===xx + ++++++xx ++++++++ xx++++++ + diff --git a/src/build/framegen/frames/frame_124.txt b/src/build/framegen/frames/frame_124.txt new file mode 100644 index 000000000..d7a2e4e1a --- /dev/null +++ b/src/build/framegen/frames/frame_124.txt @@ -0,0 +1,41 @@ + + + + + ++++***%%$%%%%$%%***++++ + ++***%+x x+%***++ + ++**++ ++**++ + x+**++ o=*%$$@@@@$$%*=o ++**+x + ++**oo ·=$@@@@@@@$$$$$$$$@@@@@@@$=· oo**++ + ++** +$@@@$$$$$$$$$$$$$$$$$$$$$$$$@@@$+ **++ + x+** ·$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$· **xx + ==+~ ~@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@~ ~+== + ++++ $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ ++++ + == ~@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@~ == + xx++ ~@$$$$$$$@@@@@@@@@@@@$$$$$$$$$$$@@@@@@@@@@@@$$$$$$@~ ++xx + +++~ @$$$$$@@$= +$@@$$$$$$$@@*o o*@@$$$$$@ ~+++ + == $$$$$$@* *@$$$$@@· x@$$$$$$ == + == @$$$$@o o = +@$$$% o· xx @$$$$@ == + == ·$$$$$% ~+ * @$$@ $ * +@$$$$· == + == ·@$$$@o @ o@ *x $$$$ x~ @ @ x@$$$@· == + == ·@$$$@* xo o@$$@ $ $$$$$@· == + == ·@$$$$@~ ~ ~o *@$$$$% o + x@$$$$$@· == + == ·@$$$$$@= *@@@@$$$$$@$ ~@@@@$$$$$$@· == + == ·@$$$$$$@@$x +$$$$$$$$$$$@@=· $$$$$$$$$$@· == + == ·@$$$$$$$$@@@@@@@@@@@$$$$$$$$$$$$$@@@@@@@@@@$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + ==x· @@@$$$$$$$$$@@@@@@@@@$$$$$$$$$$@@@@@@@@@$$$$$$$$$@@@ ·+== + x+++ ~%@@@@@@@@@$x =@@@@@@@@@@= x$@@@@@@@@@%~ ++++ + ===x ~~~ ·~~· ~~~ x+== + ===+ x+%% %%+x +=== + ++**=%+x··~o==*===++***%=+~··~+=%***++===*==o~··x+%=**++ + ++=====+++ xx++=====+xx +=======++ + diff --git a/src/build/framegen/frames/frame_125.txt b/src/build/framegen/frames/frame_125.txt new file mode 100644 index 000000000..4a14a3f48 --- /dev/null +++ b/src/build/framegen/frames/frame_125.txt @@ -0,0 +1,41 @@ + + + + + ++==***%%%%%%%%%%***==++ + +=***%+o o+%***=+ + +=**++ ++**=+ + xx**++ o=%%$$@@@@$$%%=o ++**xx + x+**oo ~=$@@@@@@@$$$$$$$$@@@@@@@$=~ oo**+x + ++** +$@@@$$$$$$$$$$$$$$$$$$$$$$$$@@@$+ **++ + xx** ·$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$· **xx + ==+~ ~@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@~ ~+== + ++++ $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ ++++ + == ~@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@~ == + xx++ o@$$$$$$@@@@@@@@@@@@@$$$$$$$$$$$@@@@@@@@@@@@$$$$$$@o ++xx + +++~ @$$$$$@@$+ x%@@$$$$$$$@@*· ~*@@$$$$$@ ~+++ + == $$$$$$@* *@$$$$@$ ~@$$$$$$ == + == @$$$$@o o + x@$$$% x o~ @$$$$@ == + == ·$$$$@* ox * $$$@ $ * +@$$$$· == + == ·@$$$@o @ o@ *o $$$$ x~ @ @ x@$$$@· == + == ·@$$$@* ox o@$$@ $ $$$$$@· == + == ·@$$$$@o ~ ox %@$$$$% ~ = +@$$$$$@· == + == ·@$$$$$@* =@@@@$$$$$@@· ·@@@@$$$$$$@· == + == ·@$$$$$$@@$+ +$$$$$$$$$$$@@*o $$$$$$$$$$@· == + == ·@$$$$$$$$$@@@@@@@@@@$$$$$$$$$$$$$@@@@@@@@@@$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + ==x ·@@$$$$$$$$$$$@@@@@@@@$$$$$$$$$$@@@@@@@@$$$$$$$$$$$@@~ == + ++++ x@@@@@@@@@@@= o%@@@@@@@@@@%o =@@@@@@@@@@@x ++xx + ==+o ~x+xo ·x++x· ox+xo o+== + **++ == =* x+** + +=**==o· ++*=**==**=*+o o+*=**==**=*+x ·o=+**=+ + ++==****++++ ++==****==++ ++++****==++ + diff --git a/src/build/framegen/frames/frame_126.txt b/src/build/framegen/frames/frame_126.txt new file mode 100644 index 000000000..4ed857cd9 --- /dev/null +++ b/src/build/framegen/frames/frame_126.txt @@ -0,0 +1,41 @@ + + + + + ++==**%%%%%%%%%%%%**==++ + +=***%+o o+%***=+ + +=**++ ++**=+ + xx**++ ·x=%$$@@@@@@$$%=x· ++**xx + x+**~ ~*@@@@@@@@$$$$$$$$@@@@@@@@*~ ~**+x + ++** +@@@@$$$$$$$$$$$$$$$$$$$$$$$$@@@@+ **++ + xx** ~$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$~ **xx + ==x· o@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@o ·x== + ++++ $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ ++++ + == ~@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ == + xx++ o@$$$$$$@@@@@@@@@@@@@$$$$$$$$$$$@@@@@@@@@@@@$$$$$$@o ++xx + ++x~ @$$$$$@@%o ~*@@$$$$$$@@$+ =@@$$$$$@ ~x++ + == $$$$$$@= =@$$$$@$ @$$$$$$ == + == @$$$$@· o o o@$$$* x @$$$$@ == + == ·@$$$@* xo * $$$@ % % +@$$$@· == + == ·@$$$@o @ o@ =o $$$$ x~ @ @ +@$$$@· == + == ·@$$$$% ·+ x@$$@ $ @$$$$@· == + == ·@$$$$@x ~ x+ ~$@$$$$$ ·* =@$$$$$@· == + == ·@$$$$$@% =@@@@$$$$$@@o @@@@$$$$$$@· == + == ·@$$$$$$@@@*~ =$$$$$$$$$$$@@%x ·$$$$$$$$$$@· == + == ·@$$$$$$$$$@@@@@@@@@@$$$$$$$$$$$$$@@@@@@@@@@$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + == x@@$$$$$$$$$$$@@@@@@@$$$$$$$$$$$$@@@@@@@$$$$$$$$$$$@@x == + ++++ =@@@@@@@@@@@%o ~+@@@@@@@@@@@@+~ o%@@@@@@@@@@@* ++++ + **x~ ~+***=o ·x=**=x· o=***+o ·x** + **+x ++ ++ ox**oo + ====++ *=**==**+= =+**==**=* ++==== + ++=**%%**=++ ++=**%%**=++ ++=**%%*==++xx + diff --git a/src/build/framegen/frames/frame_127.txt b/src/build/framegen/frames/frame_127.txt new file mode 100644 index 000000000..a6d93b3ea --- /dev/null +++ b/src/build/framegen/frames/frame_127.txt @@ -0,0 +1,41 @@ + + + + + +++=*%%%%%%%%%%%%%%*=+++ + +=*%=*x· ·x*=%*=+ + ++**++ ++**++ + x+**++ ~+*%$@@@@@@@@$%*+~ ++**+x + ++** o*@@@@@@@$$$$$$$$$$@@@@@@@*o **++ + xx** =@@@@$$$$$$$$$$$$$$$$$$$$$$$$@@@@= **xx + xx** o$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$o **xx + =*x· o@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@o ·x*= + ++++ $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ ++++ + =* o@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@o == + xx++ x@$$$$$$@@@@@@@@@@@@@$$$$$$$$$$@@@@@@@@@@@@@$$$$$$@x ++xx + +++~ @$$$$$@@*~ *@@$$$$$$@@$x x$@$$$$$@ ~+++ + == $$$$$$@+ +@$$$$@% @$$$$$$ == + == @$$$$@ ·~ ~ ~@$$@* + $$$$$@ == + == ·@$$$@= +~ * $$$@ % $ x@$$$@· == + == ·@$$$@o @ o@ =~ $$$$ xo @ $ +@$$$@· == + == ·@$$$$% + +@$$@ % @$$$$@· == + == ·@$$$$@+ += o$@$$$$$ ~%~ ·*@$$$$$@· == + == ·@$$$$$@$ =@@@$$$$$$$@x @@@@$$$$$$@· == + == ·@$$$$$$$@@%x =$$$$$$$$$$$@@$+· ~$$$$$$$$$$@· == + == ·@$$$$$$$$$@@@@@@@@@@$$$$$$$$$$$$$@@@@@@@@@@$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + == +@@$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$@@@@@@@$$$$$$$$$$$@@+ == + ++++ *@@@@@@@@@@@$+~ ·o*@@@@@@@@@@@@*o ~+$@@@@@@@@@@@% ++++ + **x· x*%%%*+ o=%%%%=o +*%%%*x ·o** + ox**xo xx xx ~o**xx + ===*+x *+****==++ ++==****+* o+*=** + ++==**%%%**=++ ++=*%%%%*=++ ++==*%%%%*==++ + diff --git a/src/build/framegen/frames/frame_128.txt b/src/build/framegen/frames/frame_128.txt new file mode 100644 index 000000000..7efbabf4e --- /dev/null +++ b/src/build/framegen/frames/frame_128.txt @@ -0,0 +1,41 @@ + + + + ++++ + ++=**%*%%%%%%%%%%*%**=++ + x+==*%=* *=%*==+x + ===*++ ++*=== + x+**++ o=%$@@@@@@@@@@$%=o ++**+x + ++** x%@@@@@@$$$$$$$$$$$$@@@@@@%x **++ + ++== *@@@@$$$$$$$$$$$$$$$$$$$$$$$$@@@@* ==++ + x+** x@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@x **+x + **x· +@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@+ ·x** + ++++ @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ ++++ + =* x@$$$$$$$$$$@@@$$$$$$$$$$$$$$$$$$$$@@@@$$$$$$$$$@x *= + xx++ +@$$$$$$@@@@$$$$$@@@@$$$$$$$$$$@@@@@$$$$@@@@@$$$$$@+ ++xx + +++~ @$$$$$@@= +@@$$$$$$@@%~ ~%@$$$$$@ ~+++ + == @$$$$$@o ~~ o@$$$$@* ~~ $@$$$$@ == + == @$$$$@ o~ ·@$$@= x $$$$$@ == + == ·@$$$@= * *~ $$$@ % @ x@$$$@· == + == ·@$$$@o @ ~@ + $$$$ xo @ % =@$$$@· == + == ·@$$$$% * =@$$@ % @$$$$@· == + == ·@$$$$@= **· +@@$$$$@ o%o o%@$$$$$@· == + == ·@$$$$$@@~ =@@@$$$$$$$@+ @@@@$$$$$$@· == + == ·@$$$$$$$@@$+~ *$$$$$$$$$$$@@@*o x$$$$$$$$$$@· == + == ·@$$$$$$$$$@@@@@@@@@@$$$$$$$$$$$$$$@@@@@@@@@$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + == =@@$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$$@* == + +++x $@@@@@$@@@@@@=o~o+%@@@@@@@@@@@@%xo~o=@@@@@@$@@@@@$ x+++ + **o· ~=%$$$%=~ x*$$$$*x ~=%$$$%=~ ** + x+**o~ ~~**xx + xx**+= ++****=*+x xx*=****++ ==**+x + ++==*%%%%%**=+ ++++*%%%%%%*++++ ==**%%%%%*==++ + diff --git a/src/build/framegen/frames/frame_129.txt b/src/build/framegen/frames/frame_129.txt new file mode 100644 index 000000000..837a8bd57 --- /dev/null +++ b/src/build/framegen/frames/frame_129.txt @@ -0,0 +1,41 @@ + + + + x++++++x + +==**%%%%%****%%%%%**==+ + ++===*+= =+*===++ + ===* *=== + x+**x+ ·+*$@@@@@@@@@@@@$*+· +x**++ + ++== +$@@@@@@$$$$$$$$$$$$@@@@@@$+ =*++ + ++== ·%@@@$$$$$$$$$$$$$$$$$$$$$$$$$$@@@%· =*++ + ++== =@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@= ==++ + **o· =@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@= ·o** + ++++ ·@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@· ++++ + =* +@$$$$$$$$$@@@@@$$$$$$$$$$$$$$$$$$@@@@@@$$$$$$$$@+ *= + x+++ =@$$$$$$@@@@$%%%$$@@@$$$$$$$$$$@@@@$%%%%$@@@@$$$$$@= +++x + +++· ·@$$$$$@$x o$@$$$$$$@@* *@@$$$$@· ·+++ + == @$$$$$@· ~xx ·@$$$$@= ·ox~ $@$$$$@ == + == @$$$$@ +· ~ @$$@+ x $$$$$@ == + == ·@$$$@+ * *~ $$$@ * @ x@$$$@· == + == ·@$$$@x @ ·$ x @$$$ ox $ = =@$$$@· == + == ·@$$$$$ * *$$$@ * ~@$$$$@· == + == ·@$$$$@* ·*%~ ~*@@$$$$@ +%x· +$@$$$$$@· == + == ·@$$$$$@@x +@@@$$$$$$$@* @@@$$$$$$$@· == + == ·@$$$$$$$@@@*x· ~*$$$$$$$$$$$@@@%+~ +$$$$$$$$$$@· == + == ·@$$$$$$$$$$@@@@@@@@@$$$$$$$$$$$$$$@@@@@@@@@$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + == *@$$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$$@* == + +++x ·$@@@@$$$@@@@@*xoo+$@@@@@$$@@@@@$+oox*@@@@@$$$@@@@@~ x+++ + ** ~=%$$$$*o +%$$$$%+ o*$$$$%*o ** + xx**~~ **++ + ++**+= ++==**==x~ ~x==**==++ =+**+x + ++==*%%%%%%*== x+==*%%%%%%*==+x ==**%%%%%*==++ + diff --git a/src/build/framegen/frames/frame_130.txt b/src/build/framegen/frames/frame_130.txt new file mode 100644 index 000000000..cf834c5fd --- /dev/null +++ b/src/build/framegen/frames/frame_130.txt @@ -0,0 +1,41 @@ + + + + ++++++++++++ + ++++***%%%==++++==%%%***++++ + ++**=*+o o+*=**++ + x+**== ==**+x + ++** x*$@@@@@@@@@@@@@@$*x **++ + ++*+ o%@@@@@@$$$$$$$$$$$$$$@@@@@@%o +*++ + ++=+ x$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$@@@$x +=++ + ++== %@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@% ==++ + ** %@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@% ** + +++x x@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@x x+++ + == *@$$$$$$$$@@@@@@@$$$$$$$$$$$$$$$$@@@@@@@@$$$$$$$@* == + xx++ *@$$$$$@@@@$*+++=%@@@@$$$$$$$$$@@@$*=++=%$@@@$$$$$@* ++xx + ==+· o@$$$$$@%· %@$$$$$$@@x +@@$$$$@o ·+== + == @$$$$$@ ·o+=o @$$$$@x ~x=x *@$$$$@ == + == $$$$$@ * x @$$@o oo %$$$$$ == + == ·@$$$@+ $ *x $$$$ = @ o@$$$@· == + == ·@$$$@x @ * ~ @$$$ ~+ * x *@$$$@· == + == ·@$$$$$ * $$$$@ + x@$$$$@· == + == ·@$$$$@$ o**xoo+%@@$$$$@· ~=%+oox*@@$$$$$@· == + == ·@$$$$$@@= x@@@$$$$$$$@$~ @@@$$$$$$$@· == + == ·@$$$$$$$@@@$=xo~~o+%$$$$$$$$$$$@@@@*+o~~ox*$$$$$$$$$$@· == + == ·@$$$$$$$$$$@@@@@@@@@$$$$$$$$$$$$$$$@@@@@@@@$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + == *@$$$$$$$$$$$$$@@@@@$$$$$$$$$$$$$$@@@@@$$$$$$$$$$$$$@% == + +++x ~@@@@@$$$@@@@@%+xx=$@@@@$$$$@@@@$=xo+*@@@@@$$$@@@@@o x+++ + ** o*$$@$$%x ·=%$@@$%=· x%$@@$$*x ** + x+** **+x + xx**+= xx****== ==****xx =+**++ + ++==*%%%%***++xx ++==*%*%%*%*==++ xx++*%*%%%%*==++ + diff --git a/src/build/framegen/frames/frame_131.txt b/src/build/framegen/frames/frame_131.txt new file mode 100644 index 000000000..9b79db387 --- /dev/null +++ b/src/build/framegen/frames/frame_131.txt @@ -0,0 +1,41 @@ + + + + ++++++++++++ + ++==*%*%==++xxxx++==%*%*==++ + ++**=* *=**++ + ++**+= =+**++ + ++== o=%@@@@@@@@@@@@@@@@%=o ==++ + ===+ +$@@@@@$$$$$$$$$$$$$$$$@@@@@$+ +=== + ++=+ =@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@= +=++ + ++=+ $@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$ +=++ + ** $@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$ ** + +++o =@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= o+++ + == $@$$$$$$$@@@@@@@@@$$$$$$$$$$$$$$$@@@@@@@@$$$$$$$@$ == + x+++ %@$$$$$@@@$*xo~ox=$@@@$$$$$$$$@@@@%+o~ox+%@@@$$$$$@% ++++ + ==+· x@$$$$@@* =@$$$$$$@$~ o@@$$$$@x ·+== + == @$$$$$$ ·o+%o $$$$$@~ ·~x*+ =@$$$$@ == + == $$$$$$ * + @$$@· +~ %$$$$$ == + == ·@$$$@x @ ~ *x $$$$ ~+ o @ o@$$$@· == + == ·@$$$@+ $ x @$$$ ·= x · *@$$$@· == + == ·@$$$$$ = $$$$@~ o~ =@$$$$@· == + == ·@$$$$$$ o==o++*$@$$$$$@o ~+*xx+=%@@$$$$$@· == + == ·@$$$$$$@%· x@@$$$$$$$$@@o @@@$$$$$$$@· == + == ·@$$$$$$$@@@@%=+xx+*$$$$$$$$$$$$$@@@$*+xx+=%$$$$$$$$$$@· == + == ·@$$$$$$$$$$$@@@@@@@$$$$$$$$$$$$$$$$@@@@@@@@$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + == *@$$$$$$$$$$$$$@@@@@$$$$$$$$$$$$$$@@@@@$$$$$$$$$$$$$@% == + +++x ~@@@@@$$$$@@@@%+xx=$@@@@$$$$@@@@$=xx+%@@@@$$$$@@@@@o x+++ + ** x*$$@@$%x ~=%$@@$%=~ x%$@@@$%x ** + x+** **+x + ++**+= xx****== ==****xx =+**++ + ++==*%%%%*%*=+++ ++==*%*%%*%*==++ x++=***%%%%**=++ + diff --git a/src/build/framegen/frames/frame_132.txt b/src/build/framegen/frames/frame_132.txt new file mode 100644 index 000000000..fbcdcfb5c --- /dev/null +++ b/src/build/framegen/frames/frame_132.txt @@ -0,0 +1,41 @@ + + + + ++++===***==++++ + ==***%==xo ox==%***== + ===*++ ++*=== + ++**++ ·oxx++xxo· ++**++ + ===+ o=$@@@@@@@@@@@@@@@@@@$=o +=== + **++ o%@@@@@$$$$$$$$$$$$$$$$$$@@@@@%o ++** + ==+x ~$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@$~ x+== + ++=+ x@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@x ++++ + xx== o@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@o ==xx + ==x~ %@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% ~x== + ox== @@$$$$$$$@@@@@@@@@@$$$$$$$$$$$$$@@@@@@@@@@$$$$$$@@ ==xo + +++x @$$$$$$@@$*o ~=$@@$$$$$$$$@@@%x ·x%@@@$$$$$@ x+++ + ==x =$$$$$@@o ~@@$$$$$@* %@$$$$$= +== + == @$$$$@* ·~~+%o %$$$$@ ··~x%= o@$$$$@ == + == $$$$$$ * = @$$@ % ~ *@$$$$ == + == ~@$$$@x @ * *+ $$$$ oo * @ o@$$$@~ == + == ·@$$$@= * @$$$ * %$$$$@· == + == ·@$$$$@ x ~@$$$@+ x %@$$$$@· == + == ·@$$$$$@~ oo·=%$@@$$$$$@= ~o·x%$@@@$$$$$@· == + == ·@$$$$$$@@+ x@$$$$$$$$$@@*· @@$$$$$$$$@· == + == ·@$$$$$$$$@@@@$%%%%@@$$$$$$$$$$$$@@@@@$%%%$@$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$@@@@$$$$$$$$$$$$$$$$$$$@@@@@$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + == %@$$$$$$$$$$$$$@@@@@$$$$$$$$$$$$$$@@@@@$$$$$$$$$$$$$@% == + +++x ~@@@@@$$$$@@@@%+xx=$@@@@$$$$@@@@$=xx+%@@@@$$$$@@@@@o o+++ + ** x*$@@@$%x ~=%$@@$%=~ x%$@@@$%x ** + x+** **+x + ++**+= x+****== ==****+x =+**++ + ++==*%%%%*%*==++ ++==*%*%%%%*==++ xx==*%*%%%%**=++ + diff --git a/src/build/framegen/frames/frame_133.txt b/src/build/framegen/frames/frame_133.txt new file mode 100644 index 000000000..8aee11d54 --- /dev/null +++ b/src/build/framegen/frames/frame_133.txt @@ -0,0 +1,41 @@ + + + + ++++==**%%%%***=++++ + ++==*%**+x x+**%*==++ + ++**=* *=**++ + ==== ox=******=xo ==== + **++ ·=$@@@@@@@@@@@@@@@@@@@@$=· ++** + **+o =@@@@@$$$$$$$$$$$$$$$$$$$$@@@@@= o+** + **+~ +@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@+ ~x** + +++x *@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@* x+++ + xx== +@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@+ ==xx + ==x· @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ ·x== + ox== @$$$$$$$@@@@@@@@@@@$$$$$$$$$$$$@@@@@@@@@@@@$$$$$$@ ==xo + +++o @$$$$$@@@%x o*@@@$$$$$$$@@$+· ·=$@@$$$$$@ o+++ + == %$$$$$@$ $@$$$$$@x =@$$$$$% == + == @$$$$@+ ~~ ~%~ *@$$$$ ~ ·== @$$$$@ == + == $$$$$% = * @$$@ % + =@$$$$ == + == ~@$$$@o @ ~@ *x $$$$ xo @ @ x@$$$@~ == + == ·@$$$@= =· @$$@ % $$$$$@· == + == ·@$$$$@ ·~ +@$$$$= o ~ $@$$$$@· == + == ·@$$$$$@x *@@@@$$$$$@% o@@@@$$$$$$@· == + == ·@$$$$$$@@*~ +@$$$$$$$$$@@$x @$$$$$$$$$@· == + == ·@$$$$$$$$@@@@@@@@@@@$$$$$$$$$$$$@@@@@@@@@@@$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + == *@$$$$$$$$$$$$$@@@@@$$$$$$$$$$$$$$@@@@@$$$$$$$$$$$$$@% == + +++x ~@@@@@$$$@@@@@%+xx=$@@@@$$$$@@@@$=xx+%@@@@$$$$@@@@@o x+++ + ** o*$$@@$%x ·=%$@@$%=· x%$@@$$*x ** + x+** **+x + ++**+= xx****== ==****xx =+**++ + ++==*%%%%*%*=+xx ++==*%%%%%%*==++ xx+=*%*%%%%**=++ + diff --git a/src/build/framegen/frames/frame_134.txt b/src/build/framegen/frames/frame_134.txt new file mode 100644 index 000000000..778a14e19 --- /dev/null +++ b/src/build/framegen/frames/frame_134.txt @@ -0,0 +1,41 @@ + + + + ++++=**%%%%%%%%%%**=++++ + +=***%+x x+%***=+ + ++**+= =+**++ + ox**+= o=*%$@@@@@@$%*=o ++**xo + ++**oo ·=$@@@@@@@$$$$$$$$@@@@@@@$=· oo**+x + x+** x$@@@$$$$$$$$$$$$$$$$$$$$$$$$@@@$x **+x + ox** ·$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$· **xo + ==+~ ~@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@~ ~+== + ++++ $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ ++++ + == ·@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@· == + xx++ ~@$$$$$$@@@@@@@@@@@@@$$$$$$$$$$$@@@@@@@@@@@@$$$$$$@~ ++xx + +++~ @$$$$$@@$x o%@@$$$$$$$@$= =@@$$$$$@ ~+++ + == $$$$$$@= =@$$$$@$ ~@$$$$$$ == + == @$$$$@~ o x x@$$@% x ~· @$$$$@ == + == ·$$$$@* xo * $$$@ $ % +@$$$$· == + == ·@$$$@o @ o@ =o $$$$ x~ @· @ +@$$$@· == + == ·@$$$@% ~x x@$$@ $ @$$$$@· == + == ·@$$$$@x · xx ·%@$$$$% ~ = =@$$$$$@· == + == ·@$$$$$@% *@@@@$$$$$@@~ @@@@$$$$$$@· == + == ·@$$$$$$@@$=· +$$$$$$$$$$$@@%o $$$$$$$$$$@· == + == ·@$$$$$$$$$@@@@@@@@@@$$$$$$$$$$$$$@@@@@@@@@@$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + == *@$$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$$@* == + +++x ·$@@@@$$$@@@@@*xox=$@@@@$$$$@@@@$=oox*@@@@@$$$@@@@@~ x+++ + ** o*%$$$$*x ·+%$$$$%+· x*$$$$$*o ** + x+**~ **+x + xx**+= +x*=**== ==**==x+ =+**+x + ++==*%*%%%**++xx ++==*%%%%%%*==++ xx++**%%%*%*==++ + diff --git a/src/build/framegen/frames/frame_135.txt b/src/build/framegen/frames/frame_135.txt new file mode 100644 index 000000000..2b1bed79b --- /dev/null +++ b/src/build/framegen/frames/frame_135.txt @@ -0,0 +1,41 @@ + + + ++++ + ++==*%%%*%****%*%%%*==++ + x+==*%== ==%*==+x + ===*xo ox*=== + ++**x+ x*%$@@@@@@@@@@$%*x +x**++ + ++*= +$@@@@@@$$$$$$$$$$$$@@@@@@$+ =*++ + x+== *@@@@$$$$$$$$$$$$$$$$$$$$$$$$@@@@* ==+x + xx== +@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@+ ==xx + **o· +@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@+ ·o** + ++++ @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ ++++ + =* +@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ *= + xx++ +@$$$$$$@@@@@@$@@@@@@$$$$$$$$$$@@@@@@$$@@@@@@$$$$$@+ ++xx + +++~ @$$$$$@@= +@@$$$$$$@@%o o$@$$$$$@ ~+++ + == @$$$$$@o ~ o@$$$$@% ·· $$$$$$@ == + == @$$$$@ oo ~@$$@= x $$$$$@ == + == ·@$$$@= = *· $$$@ % $ x@$$$@· == + == ·@$$$@o @ ~@ +· $$$$ xo @ % +@$$$@· == + == ·@$$$$% = =@$$@ % @$$$$@· == + == ·@$$$$@= **· x@@$$$$$ o%o ~%@$$$$$@· == + == ·@$$$$$@$· =@@@$$$$$$$@+ @@@@$$$$$$@· == + == ·@$$$$$$$@@$+ *$$$$$$$$$$$@@$=~ o$$$$$$$$$$@· == + == ·@$$$$$$$$$@@@@@@@@@@$$$$$$$$$$$$$$@@@@@@@@@$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + == *@$$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$$@* == + +++x $@@@@@$$@@@@@*xoo+%@@@@@$$@@@@@%+o~x=@@@@@$$@@@@@$· x+++ + **o ~=%$$$%*o +%$$$$%+ o*%$$$%=~ ** + x+**~~ ~**+x + ++**== ++==**==xo o+==**==++ =+**++ + ++==*%%%%%**++xx ++==*%%%%%%*==++ xx++**%%%%%**=++ + diff --git a/src/build/framegen/frames/frame_136.txt b/src/build/framegen/frames/frame_136.txt new file mode 100644 index 000000000..66c8c4040 --- /dev/null +++ b/src/build/framegen/frames/frame_136.txt @@ -0,0 +1,41 @@ + + + x ++++====++++ + ++==*%*%==++++++++==%*%*==++ + ++**=* *=**++ + x+**+= ·· =+**+x + ++== o=%@@@@@@@@@@@@@@@@%=o ==++ + ===+ +$@@@@@$$$$$$$$$$$$$$$$@@@@@$+ +=== + ++++ =@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$@@@@= ++++ + ++=+ $@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$ +=++ + ** $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ ** + +++o =@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= o+++ + == $@$$$$$$$$@@@@@@@$$$$$$$$$$$$$$$$$@@@@@@$$$$$$$$@$ == + ++++ $@$$$$$@@@@$*=+=*$@@@@$$$$$$$$$@@@@%=+==%@@@@$$$$$@$ ++++ + ==+· +@$$$$$@$~ ·%@$$$$$$@@x +@@$$$$@x ·+== + == @$$$$$@ ~x=~ @$$$$@x ·o=x *@$$$$@ == + == $$$$$@ = x @$$@o ~x $$$$$$ == + == ·@$$$@+ % *o $$$$ = @ o@$$$@· == + == ·@$$$@x @ * o @$$$ ~x * x *@$$$@· == + == ·@$$$$$ * %$$$@ = x@$$$$@· == + == ·@$$$$@% o**oo~+%@@$$$$@ ·+%xo~x=@@$$$$$@· == + == ·@$$$$$@@= +@@@$$$$$$$@% @@@$$$$$$$@· == + == ·@$$$$$$$@@@$=o~··~x%$$$$$$$$$$$@@@$*x~··~o*$$$$$$$$$$@· == + == ·@$$$$$$$$$$@@@@@@@@@$$$$$$$$$$$$$$$@@@@@@@@$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + == +@@$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$@@= == + ++++ %@@@@@@@@@@@$+o·~x*@@@@@@@@@@@@*o··~+$@@@@@@@@@@@% x+++ + **x· +*%%%*+· o=%%%%=o ·+%%$%*+ ·o** + x+**o~ oo oo oo**+x + ++**+=+~ =+******+x x+******+= ~x==**++ + ++==**%%%***++xx ++==***%%***==++ xx++***%%%**==++ + diff --git a/src/build/framegen/frames/frame_137.txt b/src/build/framegen/frames/frame_137.txt new file mode 100644 index 000000000..de5f454c6 --- /dev/null +++ b/src/build/framegen/frames/frame_137.txt @@ -0,0 +1,41 @@ + + + ++++==****==++++ + ==***%==xo ox==%***== + ===*++ ++*=== + ++**x+ ·oxx++xxo· +x**++ + ===+ o*$@@@@@@@@@@@@@@@@@@$*o +=== + **++ o%@@@@@$$$$$$$$$$$$$$$$$$@@@@@%o ++** + ==+o ~$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@$~ o+== + ++++ +@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@+ ++++ + ox== o@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@o ==xo + ==+~ %@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% ~+== + ox== @@$$$$$$$@@@@@@@@@$$$$$$$$$$$$$$$@@@@@@@@$$$$$$$@@ ==xo + +++x @$$$$$$@@@$*xooox=$@@@$$$$$$$$@@@@%+ooox+%@@@$$$$$$@ x+++ + ==x =$$$$$$@= =@$$$$$$@$~ o@@$$$$$* x== + == @$$$$@$ ·o+%o $$$$$@~ ox*+ =@$$$$@ == + == $$$$$$ * + @$$@· +· %$$$$$ == + == ~@$$$@x @ ~ *x $$$$ ~+ o @ o@$$$@~ == + == ·@$$$@+ $ o @$$$ ·= x · *$$$$@· == + == ·@$$$$$ = $$$$@~ o~ =@$$$$@· == + == ·@$$$$$$ ~==o++*$@$$$$$@o ·x*ox+=%@@$$$$$@· == + == ·@$$$$$$@% x@@$$$$$$$$@$o @@@$$$$$$$@· == + == ·@$$$$$$$@@@@%=+xx+*$$$$$$$$$$$$$@@@$*+xx+=%$$$$$$$$$$@· == + == ·@$$$$$$$$$$$@@@@@@@$$$$$$$$$$$$$$$$@@@@@@@@$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + == x@@$$$$$$$$$$$@@@@@@@$$$$$$$$$$$$@@@@@@@$$$$$$$$$$$@@+ == + ++++ *@@@@@@@@@@@%x· ~=@@@@@@@@@@@@=~ x%@@@@@@@@@@@* ++++ + **x· o=*%%=x ~+*%%*+~ x=%%*=x ·x** + x+**xo ++ ++ ox**+x + x+**=*xx *+****==++ ++==****+* x+==**+x + ++==********++xx ++==********==++ xx++********==++ + diff --git a/src/build/framegen/frames/frame_138.txt b/src/build/framegen/frames/frame_138.txt new file mode 100644 index 000000000..284028b3b --- /dev/null +++ b/src/build/framegen/frames/frame_138.txt @@ -0,0 +1,41 @@ + + + +++=**%%%%%%%%**=+++ + ++***%==o· ·o==%***++ + ++**+* *+**++ + ==== o+=*%$$$$%*=+o ==== + x+**xx x*@@@@@@@@@@@@@@@@@@@@@@*x xx**xx + xx**~~ ~%@@@@$$$$$$$$$$$$$$$$$$$$$$@@@@%~ ~~**xx + **x· *@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@* ·x** + ==+o %@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@% o+== + xx== *@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@* ==xx + ==x· @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ ·x== + xx== @$$$$$$$$@@@@@@@@@$$$$$$$$$$$$$$@@@@@@@@@@$$$$$$$@ ==xx + +++o @$$$$$$@@@*x· ·o=$@@$$$$$$$$@@@%+~ ~+%@@@$$$$$@ o+++ + == %$$$$$@@x o@@$$$$$@* %@$$$$$% == + == @$$$$@% ·~o+%x %$$$$@ ~~x%* x@$$$$@ == + == $$$$$$ % = @$$@ * ~ *@$$$$ == + == ·@$$$@x @ * *+ $$$$ ox * @ o@$$$@· == + == ·@$$$@+ % @$$@ * %$$$$@· == + == ·@$$$$@ + ·@$$$@x o %@$$$$@· == + == ·@$$$$$@ ~xx~=%$@@$$$$$@= ox~x*%@@@$$$$$@· == + == ·@$$$$$$@$x x@@$$$$$$$$@@= @@$$$$$$$$@· == + == ·@$$$$$$$$@@@@$%**%$@$$$$$$$$$$$$@@@@$%**%$@$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$$$$$$@@@@@@$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + == ~@@$$$$$$$$$$$@@@@@@@@$$$$$$$$$$@@@@@@@@$$$$$$$$$$$@@o == + ++++ +@@@@@@@@@@@=~ x$@@@@@@@@@@$x ·=@@@@@@@@@@@+ ++++ + **+~ o+=+x· o+==+o ·x+=+x ~x** + xx**+x == == x+**+x + xx**==+= ~+*=******+* *+******=*x~ =+==**xx + ++==********++ x+++********+++x ++********==++ + diff --git a/src/build/framegen/frames/frame_139.txt b/src/build/framegen/frames/frame_139.txt new file mode 100644 index 000000000..c4537217d --- /dev/null +++ b/src/build/framegen/frames/frame_139.txt @@ -0,0 +1,41 @@ + + + ++==**%%*%%%%%%*%%**==++ + ==***%xx xx%***== + ++**++ ++**++ + xx**++ x=*$$@@@@@@$$*=x ++**+x + ++**~o ~*$@@@@@@@$$$$$$$$@@@@@@@$*~ oo**++ + ++** +$@@@$$$$$$$$$$$$$$$$$$$$$$$$@@@$+ **++ + xx** ~$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$~ **xo + ==+~ ~@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@~ ~+== + ++++ $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ ++++ + == ~@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ == + x+++ o@$$$$$$$$@@@@@@@@@@$$$$$$$$$$$$$@@@@@@@@@@$$$$$$$@o +++x + +++~ @$$$$$$@@$=o ~+$@@$$$$$$$$@@@%x· ·x%@@@$$$$$@ ~+++ + == $$$$$$@@o ~@@$$$$$@= %@$$$$$$ == + == @$$$$@* ~~~x%x %$$$$@ ·~~o%= o@$$$$@ == + == ·$$$$$$ * = @$$@ * o *@$$$$· == + == ·@$$$@x @ % *+ $$$$ oo % @ o@$$$@· == + == ·@$$$@= * @$$@ * %$$$$@· == + == ·@$$$$@ x ~@$$$@+ o %@$$$$@· == + == ·@$$$$$@~ ~o~~=%$@@$$$$$@* oo~x%$@@@$$$$$@· == + == ·@$$$$$$@@+ x@$$$$$$$$$@@*· @@$$$$$$$$@· == + == ·@$$$$$$$$@@@@$$%%$$@$$$$$$$$$$$$@@@@@$%%%$@$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$@@@@$$$$$$$$$$$$$$$$$$$@@@@@$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + ==+· @@@$$$$$$$$$$@@@@@@@@$$$$$$$$$$@@@@@@@@$$$$$$$$$$$@@ x== + ++=+ o$@@@@@@@@@@+ ~*@@@@@@@@@@*~ +@@@@@@@@@@$x ++++ + ==+x ·oxo~ ~oo~ ~oxo· o+*= + x+**+x =* == ++**xx + x+==**+*+o ++*=**==**=*+x x+*=**==**=*++ ~+*=**==xx + ++++******==++ ++++********++++ ++==******++++ + diff --git a/src/build/framegen/frames/frame_140.txt b/src/build/framegen/frames/frame_140.txt new file mode 100644 index 000000000..be700a44a --- /dev/null +++ b/src/build/framegen/frames/frame_140.txt @@ -0,0 +1,41 @@ + + xx++++xx + ===*%%%%*%****%*%%%%*=== + ++**=%++ ++%=**++ + ===* *=== + x+**+x ~+*$@@@@@@@@@@@@$*+~ x+**+x + ++== =$@@@@@$$$$$$$$$$$$$$@@@@@$= ==++ + ++*= ~%@@@$$$$$$$$$$$$$$$$$$$$$$$$$$@@@%~ =*++ + x+== =@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@= ==+x + =*o =@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@= o*= + ++++ ·@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@· ++++ + == =@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= == + x+++ =@$$$$$$$$@@@@@@@@@$$$$$$$$$$$$$$@@@@@@@@@@$$$$$$$@= ++xx + +++· ·@$$$$$$@@@%+~ ~x*@@@$$$$$$$$@@@$=o· ~o=$@@@$$$$$@· ·+++ + == @$$$$$@@x x@@$$$$$@% $@$$$$$@ == + == $$$$$@% ~o=%x $$$$$@ ~~x%= x@$$$$$ == + == ·@$$$$$ * = @$$@ * · *$$$$@· == + == ·@$$$@x @ = *+ $$$$ ox * @ o@$$$@· == + == ·@$$$@+ % @$$@ * %$$$$@· == + == ·@$$$$@ + ·@$$$@x o %@$$$$@· == + == ·@$$$$$@ ~xo~=%$@@$$$$$@= ox~x*%@@@$$$$$@· == + == ·@$$$$$$@$x x@@$$$$$$$$@@* @@$$$$$$$$@· == + == ·@$$$$$$$$@@@@$%%%%$@$$$$$$$$$$$$@@@@$$%%%$@$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$@@@@@$$$$$$$$$$$$$$$$$$$@@@@@$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ == + == @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ == + ==x· $@@$$$$$$$$$@@@@@@@@@@$$$$$$$$@@@@@@@@@@$$$$$$$$$@@$ ·+== + ++++ =@@@@@@@@@*· x$@@@@@@@@$x *@@@@@@@@@= ++++ + ==++ +=== + xx=*=+ ++%%xx xx%%++ +===xx + ==**=*==++++*=*=**==**=%=*++++*=%=**==**=*=*++++==*=**==xx + ++++==****==++ ++==****==++ ++==****==++++ + diff --git a/src/build/framegen/frames/frame_141.txt b/src/build/framegen/frames/frame_141.txt new file mode 100644 index 000000000..f5780d60f --- /dev/null +++ b/src/build/framegen/frames/frame_141.txt @@ -0,0 +1,41 @@ + + xx++++++++xx + x++=*%*%*%========%*%*%*=++x + ++**=*+x x+*=**++ + xx**=* *=**xx + ++**o x*$@@@@@@@@@@@@@@$*x o**++ + ++=+ o*@@@@@$$$$$$$$$$$$$$$$@@@@@*o +=++ + ++=+ x$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$@@@$x +=++ + x+== *@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@* ==+x + ** %@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@% ** + +++x x@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@x x+++ + =* *@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* *= + ++++ *@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* ++++ + ==+· o@$$$$$$$@@@@@@@@@@@@@$$$$$$$$$$@@@@@@@@@@@@@$$$$$$$@o ·+== + == @$$$$$$@@%~ ~*@@$$$$$$@@$+ +$@$$$$$$@ == + == $$$$$$@o o@$$$$@* $@$$$$$ == + == ·@$$$$@ x @$$@+ o $$$$$@· == + == ·@$$$@+ % %o $$$$ = @ x@$$$@· == + == ·@$$$@+ $ o @$$$ ·= o *$$$$@· == + == ·@$$$$@ x $$$$@x ~ *@$$$$@· == + == ·@$$$$$@~ · +%$@@$$$$$@= ~%%@@@$$$$$@· == + == ·@$$$$$$@@*· +@@$$$$$$$$@@%o @@$$$$$$$$@· == + == ·@$$$$$$$$@@@@@@@@@@@$$$$$$$$$$$$@@@@@@@@@@@$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$· == + == @@$$$$$$$$$$$$$$$@@$$$$$$$$$$$$$$$$@@$$$$$$$$$$$$$$$@@ == + ==+~ *@@@$$$$$$$@@@@$%%@@@@$$$$$$$$@@@@%%$@@@@$$$$$$$@@@* ~+== + ++== o%@@@@@@@$x ·*@@@@@@@@*· x$@@@@@@@%x ==++ + ===+ +=== + ox====o+ ==%%++ ++%%== xo====+x + ++**=**%****%***==++**=*=******=*=**++==***%****%**=**++ + x++++=====++++ ++++====++++ ++++======+++x + diff --git a/src/build/framegen/frames/frame_142.txt b/src/build/framegen/frames/frame_142.txt new file mode 100644 index 000000000..1051e2b80 --- /dev/null +++ b/src/build/framegen/frames/frame_142.txt @@ -0,0 +1,41 @@ + + xx++++====++++xx + ++==*%**==++oooo++==**%*==++ + ++**=* *=**=+ + ++**+= ···· =+**++ + ++== x=$@@@@@@@@@@@@@@@@$=x ==++ + ==++ =$@@@@$$$$$$$$$$$$$$$$$$@@@@$= ++== + ===+ *@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@* +=== + ++=+ ·$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$· +=++ + o ** $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ ** o + +++o =@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= o+++ + == $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ == + ++++ $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ ++++ + ==+· +@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ ·+== + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + == $$$$$$@@@@@@@@@@@@@@@@@@$$$$$@@@@@@@@@@@@@@@@@@$$$$$$$ == + == ·@$$$$@= ·*@$$$@= +@$$$$$@· == + == ·@$$$@ ~@$@· @$$$$@· == + == ·@$$$$x +$$$+ @$$$$@· == + == ·@$$$$@@*==============*@@$$$@@*===============$@$$$$$@· == + == ·@$$$$$$@@@@@@@@@@@@@@@@$$$$$$$@@@@@@@@@@@@@@@@$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + == %@$$$$$$$$$$$$$@@@@@$$$$$$$$$$$$$$@@@@@$$$$$$$$$$$$$@% == + ==+x ~@@@@$$$$$@@@@%+x+=$@@@@$$$$@@@@$=+x+%@@@@$$$$$@@@@o o+== + xx== x*$@@@$%x ~=$@@@@$=~ x%$@@@$*x ==xx + ==== ==== + ====+= xx*=**== ==**=*xx =+==== + ++*****%*%%*****==++==***%*%%*%***==++==*****%%%%*****++ + ++++++++++++ x++++++++++x ++++++++++++ + diff --git a/src/build/framegen/frames/frame_143.txt b/src/build/framegen/frames/frame_143.txt new file mode 100644 index 000000000..a5cb02dd2 --- /dev/null +++ b/src/build/framegen/frames/frame_143.txt @@ -0,0 +1,41 @@ + + ++============++ + ++**%%=*++o~····~o++*=%%**++ + +=**== ==**=+ + ++**++ ·~~oo~~· ++**++ + ===+ +%@@@@@@@@@@@@@@@@@@%+ +=== + ==++ ·*@@@@@$$$$$$$$$$$$$$$$$$@@@@@*· ++== + ===x %@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@% x=== + ++=+ o@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@o +=++ + ox== @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ ==xx + ==+~ *@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* ~+== + == $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ == + +++x $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ x+++ + ==x· =@$$$$$$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= ·x== + == @$$$$$@$**%$@@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + == $$$$$@ o+*%@@@@$$$$@@@@@@@@@@@@@@@@@@@@$$$$$$ == + == ·@$$$$@ *$$$$% *$$$$$@· == + == ·@$$$$$@ @$$@ @$$$$@· == + == ·@$$$$@ =$$$$% =$$$$$@· == + == ·@$$$$@ ~x=%@@@@$$$$@@@@@@@@@@@@@@@@@@@@$$$$$@· == + == ·@$$$$$@$==%$@@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + == +@@$$$$$$$$$$$@@@@@@@$$$$$$$$$$$$@@@@@@@$$$$$$$$$$$@@= == + ==++ *@@@@@@@@@@@$+~ o*@@@@@@@@@@@@*o ·+$@@@@@@@@@@@% x+== + ++==x· x=%%%*x o=*%%*=o x*%%%*x ·x==++ + ====oo xx xx ~o==== + ====+=++ =+*==*==++ ++=====*+= xx=+==== + ++==**=*********++++==***%****%***==++++************==++ + ++++++++++xx ++++++++++++ x ++++++++++ + diff --git a/src/build/framegen/frames/frame_144.txt b/src/build/framegen/frames/frame_144.txt new file mode 100644 index 000000000..b0f7b896b --- /dev/null +++ b/src/build/framegen/frames/frame_144.txt @@ -0,0 +1,41 @@ + + ++====****====++ + +=***%==+o ox==%***=+ + ===*++ ++*=== + ++**x+ ·ooxxxxoo· +x**++ + ===+ o=$@@@@@@@@@@@@@@@@@@$=o +=== + **++ o%@@@@$$$$$$$$$$$$$$$$$$$$@@@@%o ++** + ==+x ~$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@$~ x+== + ++++ +@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@+ ++++ + ox== ~@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@~ ==xo + ==+~ %@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% ~+== + ox== @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ ==xo + +++x @$$$$$@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ x+++ + ==+ =@$$$$@= o*@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= +== + == @$$$$@+ x%@@@@$$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$@ == + == $$$$$$% =@@$$$$@$+oooooooooooooox%@$$$$$$ == + == ·@$$$$$@@$=~ *@$$$o @$$$$@· == + == ·@$$$$$@@$*x *$$$@o @$$$$@· == + == ·@$$$$$% +@@$$$$@%x~~~~~~~~~~~~~~o*@$$$$$@· == + == ·@$$$$@+ o*@@@@$$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$@· == + == ·@$$$$$@= ~=$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + ==x· @@@$$$$$$$$$$@@@@@@@@$$$$$$$$$$@@@@@@@@$$$$$$$$$$@@@ x== + ++++ o$@@@@@@@@@$+ ·*@@@@@@@@@@*· +$@@@@@@@@@$o ++++ + x+==+x ·ooo~ ~oo~ ~ooo· o+==+x + ++==++ +** **+ x+==++ + ++====+=+x ++*========*+x x+*========*++ x+======++ + ++++==********==++++++==********==++++++==********====++ + ++++++++ ++++++++ ++++++++ + diff --git a/src/build/framegen/frames/frame_145.txt b/src/build/framegen/frames/frame_145.txt new file mode 100644 index 000000000..f096e8c69 --- /dev/null +++ b/src/build/framegen/frames/frame_145.txt @@ -0,0 +1,41 @@ + + ++====****====++ + xx+=***%==x~ ~x==%***=+xx + x+===*++ ++*===+x + ++**+x ~ox++++xo~ x+**++ + ==++ x*$@@@@@@@@@@@@@@@@@@$*x ++== + **+x x%@@@@$$$$$$$$$$$$$$$$$$$$@@@@%x x+** + ==+o o$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@$o o+== + ++++ +@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@+ ++++ + xx== o@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@o ==xx + ==+· $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ ·+== + x+== @@$$$$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ ==+x + +++x @$$$$@@$*%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ x+++ + ==x *$$$$$% ~=@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$* x== + == @$$$$@* =$@@@$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$@ == + == $$$$$$@%· %@$$$$@x ~$$$$$$$ == + == ~@$$$$$$$@@@%~ %$$$@ @$$$$@~ == + == ·@$$$$$@@$+ $$$$$= o$$$$$@· == + == ·@$$$$$$ =$@$$$$$@@$%%%%%%%%%%%%%%%@@$$$$$@· == + == ·@$$$$@* ~*@@@@$$$$$$$$$@@@@@@@@@@@@@@@@$$$$$$$@· == + == ·@$$$$$@* o*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ == + == @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ == + ==+· $@@$$$$$$$$$@@@@@@@@@@$$$$$$$$@@@@@@@@@@$$$$$$$$$@@$ ·x== + ++++ =@@@@@@@@@* x$@@@@@@@@$x *@@@@@@@@@= ++++ + oo==++ ++==xx + ++===+ ++%%+o o+%%++ +===++ + ++=====%+=++++*=*========***++++***========*=*++++=+%=====++ + xx++==******====++ ++==********==++ ++====******==++xx + ++++ ++++ ++++ + diff --git a/src/build/framegen/frames/frame_146.txt b/src/build/framegen/frames/frame_146.txt new file mode 100644 index 000000000..423d3e734 --- /dev/null +++ b/src/build/framegen/frames/frame_146.txt @@ -0,0 +1,41 @@ + + xx++==********===+xx + ++==*%**=+~· ·~+=**%*==++ + x+=*=*+x x+*=*=+x + ++**xo ·ox+====+xo· ox**++ + **++ x*@@@@@@@@@@@@@@@@@@@@*x ++** + **+o x$@@@@$$$$$$$$$$$$$$$$$$$$@@@@$x x+** + ==+o x$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@$x o+== + ++++ =@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@= ++++ + xx== x@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@x ==xx + ==+· $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ ·+== + ox== @@$$$@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ ==xo + +++x @$$$$@* ·*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ x+++ + == *$$$$@% o*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$* == + == @$$$$$$ o%@@$$$$$@@@$$$$$$$$$$$$$$$@@$$$$$@ == + == $$$$$$$@@=· ~$$$$$* +$$$$$$ == + == ~@$$$$$$$@@@@* $$$$@ @$$$$@~ == + == ·@$$$$$$@*~ =$$$$$$· %$$$$$@· == + == ·@$$$$$$ ~*@@@$$$$$@@@@@@@@@@@@@@@@@@@@$$$$$@· == + == ·@$$$$$$ ·=@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$@$x ·=$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == $@$$$$$$$$$$$$$$@@@@$$$$$$$$$$$$$$@@@@$$$$$$$$$$$$$$@$ == + ==+o +@@@$$$$$$$@@@$***%@@@@$$$$$$@@@@%***$@@@$$$$$$$@@@+ o+== + ++== =$@@@@@$*~ +%@@@@@@%+ ~*$@@@@@$=· ==++ + ===+ +=== + ++====x+ *=**== ==**=* +x====++ + ++=====**%******=========**%****%**=========******%**=====++ + ++++========++xx ++++========++++ xx++========++++ + + diff --git a/src/build/framegen/frames/frame_147.txt b/src/build/framegen/frames/frame_147.txt new file mode 100644 index 000000000..baf0b2890 --- /dev/null +++ b/src/build/framegen/frames/frame_147.txt @@ -0,0 +1,41 @@ + + ++++==********===+++ + ++==*%**++~· ·~++**%*==++ + xx**=%+x x+%=**xx + ++*=x ~ox+====+xo~ x=*++ + **++ x%@@@@@@@@@@@@@@@@@@@@%x ++** + **+o +$@@@@$$$$$$$$$$$$$$$$$$$$@@@@$+ o+** + =*+o x$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$x o+*= + ++++ =@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@= ++++ + ox== x@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@x ==xo + ==+· $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ ·+== + ox== @$$$$@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ ==xo + +++x @$$$$$x x%@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ x+++ + == *$$$$@% +$@@@$$$$$$$$$@@@@@@@@@@@@@@@@$$$$$$$* == + == @$$$$$$o =$@$$$$$@@$%%%%%%%%%%%%%%%@@$$$$$@ == + == $$$$$$$@@$x $$$$$= o$$$$$$ == + == ·@$$$$$$$@@@@= $$$$@ @$$$$@· == + == ·@$$$$$$@= %$$$$$@x ~$$$$$$@· == + == ·@$$$$$$ +$@@@$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$@· == + == ·@$$$$$$ o%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$@@=oo*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + == *@$$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$$@% == + ==+x ~$@@@@$$$$@@@@%+xx=$@@@@$$$$@@@@$=xx+*@@@@$$$$@@@@@~ x+== + ++== o*$@@@$*x ·=%$@@$%=· x*$@@@$*x ==++ + ==== =+== + xx====+= x+*===+= =+====+x =+====xx + ++====*%%%%**=====++====*%*%%*%*====++=====**%%%%*====++ + xx++++====++++ ++++====++++ ++++====++++x+ + + diff --git a/src/build/framegen/frames/frame_148.txt b/src/build/framegen/frames/frame_148.txt new file mode 100644 index 000000000..a36374d76 --- /dev/null +++ b/src/build/framegen/frames/frame_148.txt @@ -0,0 +1,41 @@ + + ++++==********===+++ + ++==*%**++~· ·~++**%*==++ + xx**=%+x x+%=**xx + ++*=x ~ox+====+xo~ x==++ + **++ +%@@@@@@@@@@@@@@@@@@@@%+ ++** + **+o +$@@@@$$$$$$$$$$$$$$$$$$$$@@@@$+ o+** + ==+~ x$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$x ~+*= + ++++ =@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@= ++++ + ox== x@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@x ==xo + ==+· $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ ·+== + ox== @$$$$@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ ==xo + +++x @$$$$$x x%@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ x+++ + == *$$$$@% x$@@@$$$$$$$$$@@@@@@@@@@@@@@@@$$$$$$$* == + == @$$$$$$o =$@$$$$$@@%%%%%%%%%%%%%%%%@@$$$$$@ == + == $$$$$$$@@$x $$$$$= ~$$$$$$ == + == ~@$$$$$$$@@@@+ $$$$@ @$$$$@~ == + == ·@$$$$$@@+ ·$$$$$$@+ o$$$$$$@· == + == ·@$$$$$$ +$@@@$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$@· == + == ·@$$$$$$ x$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$@@=xx%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + == x@@$$$$$$$$$$$@@@@@@@$$$$$$$$$$$$@@@@@@@$$$$$$$$$$$@@+ == + ==++ *@@@@@@@@@@@%x ~=@@@@@@@@@@@@=~ x%@@@@@@@@@@@% ++== + xx==x· o=***=x ~+****+~ x=***=x ·x==++ + ====xo xx x+ ox==== + ======+x =+=*====++ ++====*=+= x+*===== + ++==***%********++++==************==++++********%***==++ + ++++++++++ +x++++++++x+ ++++++++++ + + diff --git a/src/build/framegen/frames/frame_149.txt b/src/build/framegen/frames/frame_149.txt new file mode 100644 index 000000000..eaf1e09a4 --- /dev/null +++ b/src/build/framegen/frames/frame_149.txt @@ -0,0 +1,41 @@ + + xx++==********===+xx + ++==*%**++~· ·~++**%*==++ + xx**=*+x x+*=**xx + ++*=xo ·ox+====+xo· ox=*++ + **++ x%@@@@@@@@@@@@@@@@@@@@%x ++** + **+o +$@@@@$$$$$$$$$$$$$$$$$$$$@@@@$+ o+** + =*+o x$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@$x o+*= + ++++ =@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@= ++++ + ox== x@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@x ==xo + ==+· $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ ·+== + ox== @@$$$@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ ==xo + +++x @$$$$@= +$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ x+++ + == *$$$$@% +$@@@$$$$$$$$$@@@@@@@@@@@@@@@@$$$$$$$* == + == @$$$$$$· =$@$$$$$@@$%%%%%%%%%%%%%%%@@$$$$$@ == + == $$$$$$$@@*o $$$$$= ~$$$$$$ == + == ·@$$$$$$$@@@$x $$$$@ @$$$$@· == + == ·@$$$$$@@x ·%$$$$$@+ o$$$$$$@· == + == ·@$$$$$$ =$@@@$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$@· == + == ·@$$$$$$ +$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$@%+=$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + == ~@@$$$$$$$$$$$@@@@@@@@$$$$$$$$$$@@@@@@@@$$$$$$$$$$$@@o == + ++++ +@@@@@@@@@@@*~ x$@@@@@@@@@@$x ·*@@@@@@@@@@@= ++++ + ox==+o x+=+x· o+==+o ·x+=+x· ~+==+x + ++==+x == == xx==++ + ++====++ ox*+==**==+= =+=***==+*xo ++====++ + ++==**********==++++++************++++++==**********==++ + ++++++++ xx++++xx ++++++++ + + diff --git a/src/build/framegen/frames/frame_150.txt b/src/build/framegen/frames/frame_150.txt new file mode 100644 index 000000000..9f440069e --- /dev/null +++ b/src/build/framegen/frames/frame_150.txt @@ -0,0 +1,41 @@ + + xx++==********===+xx + +++=****==o· ·o==****=+++ + x+=*=*+x x+*=*=+x + ++**+x ~x++==++x~ xx**++ + **++ x*@@@@@@@@@@@@@@@@@@@@*x ++** + **xx x%@@@@$$$$$$$$$$$$$$$$$$$$@@@@%x x+** + ==+o o$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@$o o+== + ++++ +@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@+ ++++ + ox== x@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@x ==xx + ==+· $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ ·+== + ox== @@$$$@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ ==xo + +++x @$$$$@* =@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ x+++ + ==x *$$$$@% ·=@@@@$$$$$$$$$@@@@@@@@@@@@@@@@$$$$$$$* == + == @$$$$$$ ·*@@$$$$$@@$%%%%%%%%%%%%%%%@@$$$$$@ == + == $$$$$$$@@*~ $$$$$= o$$$$$$ == + == ~@$$$$$$$@@@@+ $$$$@ @$$$$@~ == + == ·@$$$$$@@x %$$$$$@x ~$$$$$$@· == + == ·@$$$$$$ +$@@@$$$$$$@@@@@@@@@@@@@@@@@@@$$$$$@· == + == ·@$$$$$$ +$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$@@*+=$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + ==x· @@@$$$$$$$$$@@@@@@@@@$$$$$$$$$$@@@@@@@@@$$$$$$$$$@@@ ·x== + ++++ ~%@@@@@@@@@$x ·*@@@@@@@@@@*· x$@@@@@@@@@%o ++++ + ox==+x ~oo· ~oo~ ·ooo o+==xo + ++==++ +%% %%+o ++==++ + ++=*===*xx ~o++*=**==**+*++ ++*+**==**=*++ ~ xx*===*=++ + ++==********++xx ++==********==++ xx++********==++ + + + diff --git a/src/build/framegen/frames/frame_151.txt b/src/build/framegen/frames/frame_151.txt new file mode 100644 index 000000000..540e3e13c --- /dev/null +++ b/src/build/framegen/frames/frame_151.txt @@ -0,0 +1,41 @@ + + x+++===******====++x + ++==***%=*xo ox==%***==++ + xx=*=*++ ++*=*=xx + ++**++ ~ox++++xo~ ++**++ + **++ o*$@@@@@@@@@@@@@@@@@@$*o ++** + **+x o%@@@@$$$$$$$$$$$$$$$$$$$$@@@@%o x+** + ==+o ~$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@$~ o+== + ++=+ +@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@+ ++++ + ox== o@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@o ==xo + ==+~ $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ ~+== + ox== @@$$$@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ ==xo + +++x @$$$$@* ·=@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ x+++ + ==+ *@$$$@% ~*@@@@$$$$$$$$$$@@@@@@@@@@@@@@@$$$$$$@* +== + == @$$$$$$ ~*@@$$$$$@@$%%%%%%%%%%%%%%$@@$$$$$@ == + == $$$$$$$@$=· $$$$$* x$$$$$$ == + == ·@$$$$$$$@@@@+ $$$$@ @$$$$@~ == + == ·@$$$$$@@+ %@$$$$$o ·$$$$$$@· == + == ·@$$$$$$ x$@@@$$$$$$@@@@@@@@@@@@@@@@@@@$$$$$@· == + == ·@$$$$$$ x$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$@@*x+%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + ==+· @@@$$$$$$$$$@@@@@@@@@$$$$$$$$$$@@@@@@@@@$$$$$$$$$@@@ ·+== + ++++ %@@@@@@@@@%o =$@@@@@@@@$= ~%@@@@@@@@@%· ++++ + ==+x ·· ·· ··· x+== + x+==++ ++%% %*++ ++*=xx + xx==**=*++xxxx+=*=**==**=*=+xxxx+=%=**==**=*=+xxoo++*=**==xx + ++++******==++xx ++++********++++ xx++==******=+++ + + + diff --git a/src/build/framegen/frames/frame_152.txt b/src/build/framegen/frames/frame_152.txt new file mode 100644 index 000000000..34e342244 --- /dev/null +++ b/src/build/framegen/frames/frame_152.txt @@ -0,0 +1,41 @@ + + xx++=====**=====++xx + +++=***%**++~· ·~++**%***++++ + xx==*%=+ +=%*==xx + ++**++ ~~oooo~~ ++**++ + ==== ·+%@@@@@@@@@@@@@@@@@@%+· ==== + **+x ~*@@@@@$$$$$$$$$$$$$$$$$$@@@@@*~ x+** + ==+x ·%@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@%· x+== + ++=+ x@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@x +=++ + ox== ·@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@· ==xo + ==+~ %@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% ~+== + ox== @@$$$@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ ==xo + +++x $$$$$$%· o%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ x+++ + ==+· =@$$$@$ o%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= ·+== + == @$$$$$$ x%@@$$$$$@@@$$$$$$$$$$$$$$$@@$$$$$@ == + == $$$$$$$@$+ ~$$$$$* +$$$$$$ == + == ~@$$$$$$$@@@@+ $$$$@ @$$$$@~ == + == ·@$$$$$$@= *$$$$$$· %$$$$$@· == + == ·@$$$$$$ o%@@@$$$$$$@@@@@@@@@@@@@@@@@@@$$$$$@· == + == ·@$$$$$$ o*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$@@=ox*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ == + == @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ == + ==+· $@@$$$$$$$$$@@@@@@@@@@$$$$$$$$@@@@@@@@@@$$$$$$$$$@@$ ·+== + +++= =$@@@@@@@@* x%@@@@@@@@%x *@@@@@@@@@* ++++ + ==++ +=== + xx=*=+ ++%%+x x+%%=+ +=**+x + ++**=*=+++++=**=**++**=%==++++==%=**++**=**=+++++=*=**++ + xx++======++++ ++========++ ++++==**==++xx + + + diff --git a/src/build/framegen/frames/frame_153.txt b/src/build/framegen/frames/frame_153.txt new file mode 100644 index 000000000..b81afbddb --- /dev/null +++ b/src/build/framegen/frames/frame_153.txt @@ -0,0 +1,41 @@ + + xx++============++xx + ++++**%%=*==xo~~~~ox==**%%**++++ + xx==**== ==**==xx + ++**+= ·~~~~· =+**++ + ===+ x*$@@@@@@@@@@@@@@@@$*x +=== + **++ =@@@@@$$$$$$$$$$$$$$$$$$@@@@@= ++** + ==++ *@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@* +=== + ++=+ ~@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@~ +=++ + xx== @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ ==xo + ==+o *@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* o+== + ox== $@$$$@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ ==xo + +++x $@$$$@$o x%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ x+++ + ==+· +@$$$$$ +$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ ·+== + == @$$$$$$ +$@@$$$$$@@@@@@@@@@@@@@@@@@@@$$$$$@ == + == $$$$$$$@%x o$$$$$% =$$$$$$ == + == ·@$$$$$$$@@@@+ $$$$@ @$$$$@· == + == ·@$$$$$$@*~ +$$$$$$ *$$$$$@· == + == ·@$$$$$$ ·*@@@$$$$$@@@@@@@@@@@@@@@@@@@@$$$$$@· == + == ·@$$$$$$ ·=@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$@@+·~=@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ == + == @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ == + ==+· %@@$$$$$$$$$@@@@$$@@@@$$$$$$$$@@@@$$@@@@$$$$$$$$$@@$ ·+== + x+== +$@@@@@@@$* o%@@@@@@@@%o *$@@@@@@@$= ==++ + ==++ ++== + ==== ==%%++ ++%%== +=== + ++**=%==++++****==++**=***++++***=**++==****++++==%=**++ + +++=====++++ +++======++x ++++=====+++ + + + diff --git a/src/build/framegen/frames/frame_154.txt b/src/build/framegen/frames/frame_154.txt new file mode 100644 index 000000000..7f4c1c11d --- /dev/null +++ b/src/build/framegen/frames/frame_154.txt @@ -0,0 +1,41 @@ + + ++++++====++++++ + xx+=***%%%**==++++==**%%%***=+xx + ox==**=*xo ox*=**==xo + ++**+= =+**++ + ==== ~+%$@@@@@@@@@@@@@@$%+~ ==== + ===+ x%@@@@@$$$$$$$$$$$$$$$$@@@@@%x +=== + ===+ +@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$@@@@+ +=== + ++=+ %@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@% +=++ + ox== %@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@% ==xo + ==+x x@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@x x+== + ox== %@$$$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% ==xo + ++++ %@$$$@@+~o=@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% ++++ + ==+· x@$$$$$ ~*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x ·+== + == @$$$$$$ ~*@@@$$$$$@@@@@@@@@@@@@@@@@@@@$$$$$@ == + == $$$$$$$@=· =$$$$$$ %$$$$$$ == + == ·@$$$$$$$@@@@+ $$$$@ @$$$$@· == + == ·@$$$$$$@$x o$$$$$% +$$$$$@· == + == ·@$$$$$$ x$@@$$$$$@@@$$$$$$$$$$$$$$@@@$$$$$@· == + == ·@$$$$@$ x%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$@$~ x%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ == + == @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ == + ==+~ %@@@$$$$$$$$@@@@$$@@@@$$$$$$$$@@@@$$$@@@$$$$$$$$@@@% ·+== + ++== +$@@@@@@@$= ~%@@@@@@@@%~ =$@@@@@@@$+ ==xx + ===+ +=== + ==== ==%%++ ++%%== ==== + ++**=***++==%***==++***%**++++**%***++==***%==++**%=**++ + x+++==++++ x+++====+++x ++++++++++ + + + diff --git a/src/build/framegen/frames/frame_155.txt b/src/build/framegen/frames/frame_155.txt new file mode 100644 index 000000000..0a9d3d097 --- /dev/null +++ b/src/build/framegen/frames/frame_155.txt @@ -0,0 +1,41 @@ + + ++++++++++++++++ + ++*****%*%=******=%*%*****++ + x ++**=*++ x+*=**++ x + ++**+= =+**++ + ====ox o=%@@@@@@@@@@@@@@%=o xo==== + ===+ ~*@@@@@@$$$$$$$$$$$$$$@@@@@@*~ +=== + ===+ o$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$@@@$o +=== + ++== *@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@* ==++ + ox== *@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@* ==xo + ==+x o@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@o x+== + ox== =@$$$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= ==xo + ++++ *@$$$@@*x+%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* ++++ + ==x· ~@$$$$$ x%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ ·x== + == @$$$$$$ x$@@@$$$$$$@@@@@@@@@@@@@@@@@@@$$$$$@ == + == $$$$$$@@+ %@$$$$$o ·$$$$$$$ == + == ·@$$$$$$$@@@@+ $$$$@ @$$$$@· == + == ·@$$$$$$@$=· $$$$$* x$$$$$@· == + == ·@$$$$$$ ~*@@$$$$$@@$%%%%%%%%%%%%%%$@@$$$$$@· == + == ·@$$$$@% ~*@@@@$$$$$$$$$$@@@@@@@@@@@@@@@$$$$$$$@· == + == ·@$$$$$@* ·=@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ == + == @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$$$$$$$$$$$$$$$@@ == + ==+~ %@@@$$$$$$$$@@@$$$@@@@$$$$$$$$@@@@$$$@@@$$$$$$$$@@@% ·+== + xx== x%@@@@@@@$= ~*@@@@@@@@*~ =$@@@@@@@$+ ==xx + ===+ +=== + ====o ==%%++ ++%%== ==== + ++***%**====%***++++==***%====%***==++++***%==+=***=**++ + xx++++++++ ++====++ ++++++++xx + + + diff --git a/src/build/framegen/frames/frame_156.txt b/src/build/framegen/frames/frame_156.txt new file mode 100644 index 000000000..d1c6743b8 --- /dev/null +++ b/src/build/framegen/frames/frame_156.txt @@ -0,0 +1,41 @@ + + xx++++++++++++xx + ++==***%*%*%%%%%%*%*%***==++ + ++**=*== ==*=**++ + ++**=*++ ++*=**++ + ++**++ ~+*%@@@@@@@@@@%*+~ ++**++ + ==== o*@@@@@@@$$$$$$$$$$@@@@@@@*o ==== + ==== =@@@@$$$$$$$$$$$$$$$$$$$$$$$$@@@@= ==== + ++== x@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@x ==++ + xx==x· x@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@x ·x==xx + ++++ @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ ++++ + ox== o@$$$$$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@o ==xo + ++++ x@$$$$@$*%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x ++++ + ==+~ @$$$$$ o*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ ~+== + == $$$$$@$ o%@@@$$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$$ == + == @$$$$$@%· x$$$$$$@*· +@$$$$$@ == + == ·@$$$$$$$@@@*· $$$$@~ @$$$$@· == + == ·@$$$$$$@@$+ $$$$$x @$$$$@· == + == ·@$$$$$$o x%@$$$$$@@*===============$@$$$$$@· == + == ·@$$$$@% o%@@@@$$$$$$$$@@@@@@@@@@@@@@@@$$$$$$$@· == + == ·@$$$$$$x o%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ == + == @@$$$$$$$$$$$$$$$@$$$$$$$$$$$$$$$$$$@$$$$$$$$$$$$$$$@@ == + ==+~ *@@@$$$$$$$@@@@$$$@@@@$$$$$$$$@@@@$$$@@@@$$$$$$$@@@% ·+== + ox== x%@@@@@@@$+ ~*@@@@@@@@*~ +$@@@@@@@$+ ==+x + ++=+ +=++ + ++==ox ==%%++ ++%%== o==++ + x+***%**====%***++++==***%====%***==++++***%====**%***++ + +++++++x ++++++++ ++++++++ + + + diff --git a/src/build/framegen/frames/frame_157.txt b/src/build/framegen/frames/frame_157.txt new file mode 100644 index 000000000..03caabe0e --- /dev/null +++ b/src/build/framegen/frames/frame_157.txt @@ -0,0 +1,41 @@ + + xx++++++++++++xx + ++==****%%*%%%%%%*%%****==++ + ++****=*++ ++*=****++ + ++=*==+= =+====++ + ++**++ ~+=%$$@@@@$$%=+~ ++**++ + ++==oo +%@@@@@@@@$$$$$$@@@@@@@@%+ oo==++ + ++== o$@@@@$$$$$$$$$$$$$$$$$$$$$$@@@@$o ==++ + ++==~ %@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@% ~==++ + ox==+~ $@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$ ~+==xo + ++++ %@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% ++++ + == @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ == + ++++ ~@$$$$@@$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ ++x+ + ==+~ @$$$$$· +$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ ~+== + == $$$$$@$ =$@@@$$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$$ == + == @$$$$$$= *@$$$$$@$xoooooooooooooox*@$$$$$@ == + == $$$$$$$@@@%x $$$$$o @$$$$$ == + == ·@$$$$$$@@@%x $$$$@o @$$$$@· == + == ·@$$$$$@= =@$$$$$@$xooooooooooooooo*@$$$$$@· == + == ·@$$$$@$ +$@@@$$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$@· == + == ·@$$$$$$ +$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$@@$$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ == + == @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$$$$$$$$$$$$$$$@@ == + ==+~ %@@@$$$$$$$$@@@$$$@@@@$$$$$$$$@@@@$$$@@@$$$$$$$$@@@% ·+== + xx== +%@@@@@@@$= ~%@@@@@@@@%~ =$@@@@@@@$+ ==xx + ++=+ +=++ + ++*=oo ==%%++ ++%%== ==++ + x+***%**====%***++++==***%====%***==++++***%====**%***++ + ++++++++ ++++++++ ++++++++ + + + diff --git a/src/build/framegen/frames/frame_158.txt b/src/build/framegen/frames/frame_158.txt new file mode 100644 index 000000000..b35f4a8c0 --- /dev/null +++ b/src/build/framegen/frames/frame_158.txt @@ -0,0 +1,41 @@ + + ++++++++++++ + ++++==******%%%%******==++++ + ++==**=***++ ++******==++ + ++==**=*+o o+*=**==++ + ++====x ·o++====++o· x====++ + ++==++ +%@@@@@@@@@@@@@@@@@@@@%+ ++==++ + ++==xo +$@@@@$$$$$$$$$$$$$$$$$$$$@@@@$+ ox==++ + ++==+~ x@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@x ~+==++ + ==+x =@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@= x+== + ++== x@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@x ==++ + ==x· $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ ·x== + ++== @$$$$@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ ==++ + +++x @$$$$$= +$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ o+++ + == *$$$$@% =$@@@$$$$$$$$$@@@@@@@@@@@@@@@@$$$$$$$* == + == @$$$$$$· =$@$$$$$@@%**************%@@$$$$$@ == + == $$$$$$$@@*o $$$$$= ~$$$$$$ == + == ~@$$$$$$$@@@$x $$$$@ @$$$$@~ == + == ·@$$$$$@$o ·$$$$$$@+ o$$$$$$@· == + == ·@$$$$$$ =@@@@$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$@· == + == ·@$$$$$$ =$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$@%==$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ == + == @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ == + ==+· %@@@$$$$$$$$@@@@$$@@@@$$$$$$$$@@@@$$@@@@$$$$$$$$$@@$ ·+== + xx== +$@@@@@@@$= o%@@@@@@@@%o =$@@@@@@@$= ==xx + ++=+ +=++ + ++== ==%%++ ++%%== ==++ + x+=*=***++==%***++xx==*%**====**%*==xx++***%==++***=**+x + ++++++++ ++++++++ ++++++++ + + + diff --git a/src/build/framegen/frames/frame_159.txt b/src/build/framegen/frames/frame_159.txt new file mode 100644 index 000000000..88548ed34 --- /dev/null +++ b/src/build/framegen/frames/frame_159.txt @@ -0,0 +1,41 @@ + + ++xxxx++ + xx++==****************==++xx + ++==**==*%=*++oo oo++*=%*==**==++ + xx++**=*+= =+*=*=++xx + ++====++ ~oooo~ ++====++ + ++===+ +%@@@@@@@@@@@@@@@@@@%+ +===++ + ++==+x ·*@@@@@$$$$$$$$$$$$$$$$$$@@@@@*· x+==++ + x+==+x %@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@% x+==++ + ===+ o@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@o +=== + ++== ·@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@· ==++ + ==+~ *@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* ~+== + ++== $@$$$@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ ==++ + +++x $$$$$@$~ x%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ x+++ + ==+· =@$$$@$ x%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= ·x== + == @$$$$$$ x%@@$$$$$@@@@@@@@@@@@@@@@@@@@$$$$$@ == + == $$$$$$$@$x o$$$$$* +$$$$$$ == + == ·@$$$$$$$@@@@+ $$$$@ @$$$$@· == + == ·@$$$$$$@*· =$$$$$$· %$$$$$@· == + == ·@$$$$$$ ~*@@@$$$$$@@@@@@@@@@@@@@@@@@@@$$$$$@· == + == ·@$$$$$$ ~*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$@@+~o*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ == + == @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ == + ==+· $@@$$$$$$$$$@@@@$@@@@@$$$$$$$$@@@@@$@@@@$$$$$$$$$@@$ ·+== + xx== =$@@@@@@@@* o%@@@@@@@@%o *@@@@@@@@$= ==+x + ++=+ +=++ + ++== ==%%++ ++%%== ==++ + x+**=%*=++++%***++x+==*%**++++**%*==++++***%++++==%=**++ + ++++++++ ++++++++ ++++++++ + + + diff --git a/src/build/framegen/frames/frame_160.txt b/src/build/framegen/frames/frame_160.txt new file mode 100644 index 000000000..2e212c62a --- /dev/null +++ b/src/build/framegen/frames/frame_160.txt @@ -0,0 +1,41 @@ + + + xx++====********====++xx + ++==**=**%****++++****%**=**==++ + ++=====*+x ++%=====++ + ++====== ======++ + ++====xx o=%$@@@@@@@@@@@@$%=o xx====++ + ++===+ ·*$@@@@@$$$$$$$$$$$$$$@@@@@$*· +===++ + xx===+ o$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$@@@$o +===xx + ==++ *@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@* ++== + ++== *@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@* ==++ + ==+x ~@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@~ x+== + xx== =@$$$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= ==xx + ++++ *@$$$$@*x+%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* ++++ + ==+· ~@$$$$$ x$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ ·+== + == @$$$$$$ +$@@@$$$$$$@@@@@@@@@@@@@@@@@@@$$$$$@ == + == $$$$$$@@+ %$$$$$@x ·$$$$$$$ == + == ·@$$$$$$$@@@@x $$$$@ @$$$$@· == + == ·@$$$$$$@@*· $$$$$= x$$$$$@· == + == ·@$$$$$$ ~*@@$$$$$@@$$$$$$$$$$$$$$%$@@$$$$$@· == + == ·@$$$$$% ~=@@@@$$$$$$$$$$@@@@@@@@@@@@@@$$$$$$$$@· == + == ·@$$$$$@* ·*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + ==+· $@@$$$$$$$$$@@@@@@@@@$$$$$$$$$$@@@@@@@@@$$$$$$$$$@@@ ·+== + xx== *@@@@@@@@@%~ +$@@@@@@@@$+ ~%@@@@@@@@@* ==xx + ===+ +=== + ===+ ++%% %%++ +=== + ++**=%+++x++**%*=+++===*==+xx+==*===+++=*%**++++++****++ + ++++====++ ++++==++ ++====+++x + + + diff --git a/src/build/framegen/frames/frame_161.txt b/src/build/framegen/frames/frame_161.txt new file mode 100644 index 000000000..d96fee855 --- /dev/null +++ b/src/build/framegen/frames/frame_161.txt @@ -0,0 +1,41 @@ + + + xx++++============++++xx + ++====**=**%%%****%%%**=**====++ + ++====**=*o~ ~o*=**====++ + ======++ ++====== + x+====++ ~+*%$@@@@@@@@$%*+~ ++====++ + xx==== o%@@@@@@@$$$$$$$$$$@@@@@@@%o ====xx + ==== =@@@@$$$$$$$$$$$$$$$$$$$$$$$$@@@@= ==== + =+== o@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@o ==++ + x+==x· x@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@x ·x==+x + ==++ @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ ++== + xx== o@$$$$$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@o ==xx + ++++ x@$$$$@@%%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x ++++ + ==+~ @$$$$$ o%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ ~+== + == $$$$$@$ o%@@@$$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$$ == + == @$$$$$@% x@$$$$$@*· +@$$$$$@ == + == ·@$$$$$$@@@@*· $$$$@~ @$$$$@· == + == ·@$$$$$$@@$+ $$$$$+ @$$$$@· == + == ·@$$$$$$x x%@$$$$$@@*++++++++++++++=$@$$$$$@· == + == ·@$$$$$$ o%@@@@$$$$$$$$@@@@@@@@@@@@@@@@$$$$$$$@· == + == ·@$$$$$$x o%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + ==+· @@@$$$$$$$$$@@@@@@@@@$$$$$$$$$$@@@@@@@@@$$$$$$$$$@@@ ·x== + xx++ ·%@@@@@@@@@%o =@@@@@@@@@@= o%@@@@@@@@@%~ ++++ + ==+x ·~~ ·~~· ~~~ x+== + ==++ x+%% %%++ ++== + ++**=%++ooox==*===++**=%++xoox++%=**++===*==xooo++%=**++ + ++++==++++ x+++====+++x ++++====++ + + + diff --git a/src/build/framegen/frames/frame_162.txt b/src/build/framegen/frames/frame_162.txt new file mode 100644 index 000000000..1bac9f41a --- /dev/null +++ b/src/build/framegen/frames/frame_162.txt @@ -0,0 +1,41 @@ + + + ++++++++++++++++++++ + ++++==****=***%%%%***=****==++++ + ++++=====%==o~ ~o==%=====++++ + ++====+= =+====++ + =====+ ~x=**%%%%**=x~ +===== + ====++ o*$@@@@@@@@@@@@@@@@@@@@$*o ++==== + ====o~ ·*@@@@$$$$$$$$$$$$$$$$$$$$$$@@@@*· ~o==== + ++==x· =@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@= ·x==++ + xx==+o %@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@% o+==xx + =+++ *@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@* +++= + ox==x· @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ ·x==xo + ++++ @$$$$@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ ++++ + ==+o @$$$$$x o%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ o+== + == %$$$$@% o*@@@@$$$$$$$$@@@@@@@@@@@@@@@@@$$$$$$% == + == @$$$$$$x o%@$$$$$@@=++++++++++++++=$@$$$$$@ == + == $$$$$$$@@$=· $$$$@x @$$$$$ == + == ·@$$$$$$@@@@*· $$$$@~ @$$$$@· == + == ·@$$$$$@% x@$$$$$@*~ ·+@$$$$$@· == + == ·@$$$$@% x%@@@$$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$@· == + == ·@$$$$$$ o%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$@$%%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + ==x ·@@$$$$$$$$$$$@@@@@@@@$$$$$$$$$$@@@@@@@@$$$$$$$$$$$@@~ == + x+++ x$@@@@@@@@@@= o%@@@@@@@@@@%o =@@@@@@@@@@$x ++++ + ==+o ox++o ~x++x~ o++xo o+== + **+x ** ** x+** + ++**==o~ ++*+**++**+*xo ox*+**++**=*++ ~o=+**++ + ++==****++++ ++==****==++ x+++=***==++ + + + diff --git a/src/build/framegen/frames/frame_163.txt b/src/build/framegen/frames/frame_163.txt new file mode 100644 index 000000000..e2828f817 --- /dev/null +++ b/src/build/framegen/frames/frame_163.txt @@ -0,0 +1,41 @@ + + + ++++++++++++++++ + ++++==****************==++++ + ++===****%++~~ ~~++%***====++ + ++=====*+x x+*=====++ + ++====xx ·ox+====+xo· xx====++ + ====++ x%$@@@@@@@@@@@@@@@@@@$%x ++==== + ++==+x x$@@@@$$$$$$$$$$$$$$$$$$$$@@@@$x x+==++ + ++==+o x$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$x o+==++ + ox==++ =@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@= ++==xo + +++= x@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@x =+++ + o ==+· $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ ·+==xo + ++== @@$$$@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ ==++ + ==+x @$$$$@= =$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ x+== + == *$$$$$$ =$@@@$$$$$$$$$@@@@@@@@@@@@@@@@$$$$$$$* == + == @$$$$$$ ·=@@$$$$$@@$%%%%%%%%%%%%%%%@@$$$$$@ == + == $$$$$$$@@*~ $$$$$= o@$$$$$ == + == ~@$$$$$$$@@@@x $$$$@ @$$$$@~ == + == ·@$$$$$@$x %$$$$$@x o$$$$$$@· == + == ·@$$$$$$ +$@@@$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$@· == + == ·@$$$$$$ +$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$@%+=$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + == o@@$$$$$$$$$$$@@@@@@@$$$$$$$$$$$$@@@@@@@$$$$$$$$$$$@@x == + ++++ =@@@@@@@@@@@%o +$@@@@@@@@@@$+ o%@@@@@@@@@@@* ++++ + **x~ ~+===+o x====x o+=*=+~ ~+** + **+x ++ ++ x+** + ==**++ ~o*+**==**+= =+**==**+*o~ ++==== + +==****===++ ++=******=++ +++==****==+ + + + diff --git a/src/build/framegen/frames/frame_164.txt b/src/build/framegen/frames/frame_164.txt new file mode 100644 index 000000000..93246f70b --- /dev/null +++ b/src/build/framegen/frames/frame_164.txt @@ -0,0 +1,41 @@ + + + ++++++++ + ++++==************==++++ + ++++****=**%=+xo~~~~ox+=%**=****++++ + xx++===*== =+*===++xx + ++====++ ·~~~~· ++====++ + ++===+ x*$@@@@@@@@@@@@@@@@$*x +===++ + ++==++ =@@@@@$$$$$$$$$$$$$$$$$$@@@@@= ++==++ + x+===+ *@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@* +===+x + ==++ ~$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$~ ++== + ++== @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ ==++ + ==+o *@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* o+== + ++== $@$$$@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ ==++ + +++x $@$$$@$o x$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ x+++ + ==x· +@$$$$$ +$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ ·x== + == @$$$$$$ +$@@$$$$$@@@@@@@@@@@@@@@@@@@@$$$$$@ == + == $$$$$$@@%x x$$$$$% =$$$$$$ == + == ·@$$$$$$$@@@@= $@$$@ @$$$$@· == + == ·@$$$$$@@*~ +$$$$$% *$$$$$@· == + == ·@$$$$$$ ·=@@@$$$$$@@@@@@@@@@@@@@@@@@@@$$$$$@· == + == ·@$$$$$$ ·=$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$@@x·~=$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + == =@@$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$@@* == + +++x $@@@@@$$@@@@@*x~o+%@@@@@$$@@@@@%+o~o=$@@@@$$$@@@@$· x+++ + **~· ~=%$$$%=o +*$$$$*+ o=%$$$%=~ ** + xx**o~ ~·**xx + ox**+* ++****=*+x x+*=****++ *+**xx + ++==*%%%%%**== x++=*%%%%%%*=++x ==**%%%%%*==++ + + + diff --git a/src/build/framegen/frames/frame_165.txt b/src/build/framegen/frames/frame_165.txt new file mode 100644 index 000000000..35acb5251 --- /dev/null +++ b/src/build/framegen/frames/frame_165.txt @@ -0,0 +1,41 @@ + + + + x+++====********====++++ + ++==**=**%**++++++++**%**=**==++ + ++=*=*=* *=*=*=++ + x+====+= =+====+x + ++===+ ·+%$@@@@@@@@@@@@@@$%+· +===++ + x+==++ x%@@@@@$$$$$$$$$$$$$$$$@@@@@%x ++==+x + xx==++ +@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$@@@@+ ++==xx + ==++ %@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@% ++== + ++== $@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$ ==++ + ==+x +@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@+ x+== + ++== %@$$$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% ==++ + ++++ %@$$$@@+~o*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% ++++ + ==+· x@$$$$$ ~*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x ·+== + == @$$$$$$ ~*@@@$$$$$@@@@@@@@@@@@@@@@@@@@$$$$$@ == + == $$$$$$@@*· =$$$$$$· *$$$$$$ == + == ·@$$$$$$$@@@@+ $$$$@ @$$$$@· == + == ·@$$$$$$@%x o$$$$$* =$$$$$@· == + == ·@$$$$$$ +$@@$$$$$@@@@@@@@@@@@@@@@@@@@$$$$$@· == + == ·@$$$$$$ x%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$@$~ x%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + == %@$$$$$$$$$$$$$@@@@@$$$$$$$$$$$$$$@@@@@$$$$$$$$$$$$$@% == + +++o o@@@@$$$$$@@@@%*+=*$@@@$$$$$$@@@$*=+=%@@@@$$$$$@@@@x o+++ + ** +%@@@@@%+ o*$@@@@$*o +%@@@@@%+ **xo + x+** **++ + x+**+= ox****== ==****xo =+**++ + ++**%%%%%%%*==+x ++==*%%%%%%%==++ ++==*%%%%%%%**=+ + + + diff --git a/src/build/framegen/frames/frame_166.txt b/src/build/framegen/frames/frame_166.txt new file mode 100644 index 000000000..1cb8aec8c --- /dev/null +++ b/src/build/framegen/frames/frame_166.txt @@ -0,0 +1,41 @@ + + + + ++++++========++++++ + ++==*****%%%********%%%*****==++ + ++==**=*=+ ++*=**==++ + ++**+= =+**++ + xx====ox ~=%$@@@@@@@@@@@@$%=~ xo====xx + x+===+ ·=@@@@@@$$$$$$$$$$$$$$@@@@@@=· +===+x + ===+ ~%@@@$$$$$$$$$$$$$$$$$$$$$$$$$$@@@%~ +=== + ++== =@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@= ==++ + x+== =@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@= ==+x + ==+x ~@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@~ x+== + xx== =@$$$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= ==xx + ++++ =@$$$$@*++$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= ++++ + ==+· ~@$$$$$ +$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ ·+== + == @$$$$$$ +$@@@$$$$$$@@@@@@@@@@@@@@@@@@@$$$$$@ == + == $$$$$$@@x %$$$$$@x ~$$$$$$$ == + == ·@$$$$$$$@@@@x $$$$@ @$$$$@· == + == ·@$$$$$$@@=~ $$$$$= o@$$$$@· == + == ·@$$$$$$ ~=@@$$$$$@@$%%%%%%%%%%%%%%$@@$$$$$@· == + == ·@$$$$$$ ·*@@@@$$$$$$$$$$@@@@@@@@@@@@@@@$$$$$$$@· == + == ·@$$$$$@* ·=$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ == + == @@$$$$$$$$$$$$$$$@$$$$$$$$$$$$$$$$$@@$$$$$$$$$$$$$$$@@ == + ==+~ %@@@$$$$$$$$@@@$$$@@@@$$$$$$$$@@@@$$$@@@$$$$$$$$@@@% ·+== + xx== +$@@@@@@@$+ ~*@@@@@@@@*~ +$@@@@@@@$+ ==xx + ++=+ +=++ + ++**oo ==$%++ ++$$== oo==++ + x+==*%=*====****++++++*%**====**%*++++++**=*====*=%*==+x + ++++++ ++++++++ ++++++ + + diff --git a/src/build/framegen/frames/frame_167.txt b/src/build/framegen/frames/frame_167.txt new file mode 100644 index 000000000..f61e8743c --- /dev/null +++ b/src/build/framegen/frames/frame_167.txt @@ -0,0 +1,41 @@ + + + + x ++++++===+++++++ x + xx++*******%*%%*%%%*%*******++xx + xx+=****== ==****=+xx + ++**+*x x*+**++ + ====x+ x*%$@@@@@@@@@@$%*x +x==== + ==== +$@@@@@@$$$$$$$$$$$$@@@@@@$+ ==== + ==++ *@@@@$$$$$$$$$$$$$$$$$$$$$$$$@@@@* ++== + ++== +@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@+ ==++ + x+==o· +@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@+ ·x==xx + ==++ @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ ++== + ox== +@$$$$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ ==xo + ++++ +@$$$$@%=*$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ ++++ + ==+· @$$$$$ =$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ ·+== + == @$$$$@$ ·=@@@@$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$@ == + == @$$$$$@$o ~$$$$$$@+ o@$$$$$@ == + == ·@$$$$$$$@@@$o $$$$@ @$$$$@· == + == ·@$$$$$$@@*x $$$$@= ~@$$$$@· == + == ·@$$$$$$~ +$@$$$$$@@%***************@@$$$$$@· == + == ·@$$$$@$ +$@@@$$$$$$$$$@@@@@@@@@@@@@@@@$$$$$$$@· == + == ·@$$$$$$= +$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + ==x· $@@$$$$$$$$$@@@@@@@@@$$$$$$$$$$@@@@@@@@@$$$$$$$$$@@@ ·x== + xx== *@@@@@@@@@%o =@@@@@@@@@@= o%@@@@@@@@@%· +++x + ==++ ·~· ~~ ·~· x+== + ==++ x+%% %%+x ++== + ++**=*++xox+==%*==++===%==xoox==%===++==*%==+xoo++*=**++ + +++++===++ +++==+++ +++===++++ + + diff --git a/src/build/framegen/frames/frame_168.txt b/src/build/framegen/frames/frame_168.txt new file mode 100644 index 000000000..c37a57b0e --- /dev/null +++ b/src/build/framegen/frames/frame_168.txt @@ -0,0 +1,41 @@ + + + + xx+++++++++++++x + ++==*****%%%%%%%%%%*****==++ + ++**=*=* *=*=**++ + ++**=*++ ++*=**++ + ++**x+ ~+*$$@@@@@@@@$$*+~ +x**++ + ==== o%@@@@@@@$$$$$$$$$$@@@@@@@%o ==== + ++== =@@@@$$$$$$$$$$$$$$$$$$$$$$$$@@@@= ==++ + ++== o@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@o ==++ + ox==x· x@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@x ·x==xo + ++++ @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ ++++ + == o@$$$$$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@o == + ++++ x@$$$$@$%%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x ++++ + ==+~ @$$$$$ o*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ ~+== + == $$$$$$$ o*@@@$$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$$ == + == @$$$$$@%· o@$$$$$@*· +@$$$$$@ == + == ·@$$$$$$$@@@*~ $$$$@~ @$$$$@· == + == ·@$$$$$$@@$= $$$$@+ @$$$$@· == + == ·@$$$$$$x x%@$$$$$@@*===============$@$$$$$@· == + == ·@$$$$@% o%@@@@$$$$$$$$@@@@@@@@@@@@@@@@$$$$$$$@· == + == ·@$$$$$$x o%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + == o@@$$$$$$$$$$$@@@@@@@$$$$$$$$$$$$@@@@@@@$$$$$$$$$$$@@x == + ++++ =@@@@@@@@@@@*o ·+$@@@@@@@@@@$+· o*@@@@@@@@@@@* ++++ + **+~ ~+=*=+o ·x=**=x· o+=*=+~ ·+** + **xx ++ ++ o+**xx + ====++ *=**==**+= =+**==**=* ++==== + +==**%*==+++ ++=******=++ ++=***%%*==+ + + diff --git a/src/build/framegen/frames/frame_169.txt b/src/build/framegen/frames/frame_169.txt new file mode 100644 index 000000000..39e0d9023 --- /dev/null +++ b/src/build/framegen/frames/frame_169.txt @@ -0,0 +1,41 @@ + + + + ++++++++++++ + ++++****%%%%%%%%%%%%****++++ + ++***%*%x~ ~x%*%***++ + ++**==++ ++==**++ + ++**++ ·x*%$$@@@@@@$$%*x· ++**++ + ++==~ o*@@@@@@@@$$$$$$$$@@@@@@@@*o ~==++ + ++== =@@@@$$$$$$$$$$$$$$$$$$$$$$$$@@@@= ==++ + ++== ~$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$~ ==++ + ==x· o@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@o ·x== + ++++ $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ ++++ + == o@$$$$$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@o == + x+++ o@$$$$@$%%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@o +++x + ==x~ @$$$$$ o%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ ~x== + == $$$$$$% x%@@@$$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$$ == + == @$$$$$@% x@$$$$$@*~ ·=@$$$$$@ == + == ·@$$$$$$@@@@=· $$$$@~ @$$$$@· == + == ·@$$$$$$@@$=~ $$$$@x @$$$$@· == + == ·@$$$$$$x o%@$$$$$@@=+++++++++++++++$@$$$$$@· == + == ·@$$$$@% o*@@@@$$$$$$$$@@@@@@@@@@@@@@@@@$$$$$$@· == + == ·@$$$$$$o ~*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + == =@@$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$$@* == + +++x $@@@@$$$@@@@@=x~o+%@@@@@$$@@@@@%+o~x=@@@@@$$$@@@@$ x+++ + **~· ~=%$$$%=o x*$$$$*x o=%$$$%=~ ** + xx**o~ ~~**+x + x+**+= ++******+x x+*=****++ *+**+x + ++==*%%%%%%*== xx==*%%%%%%*==xx ==*%%%%%%*==++ + + diff --git a/src/build/framegen/frames/frame_170.txt b/src/build/framegen/frames/frame_170.txt new file mode 100644 index 000000000..cd5c33eb0 --- /dev/null +++ b/src/build/framegen/frames/frame_170.txt @@ -0,0 +1,41 @@ + + + + +x++++x+ + ++==***%%%%%%%%%%***==++ + x+==**=*+o o+*=**==+x + ==**++ ++**== + ++**++ x=%$$@@@@@@$$%=x ++**++ + ++**oo ~=@@@@@@@@$$$$$$$$@@@@@@@@=~ oo**++ + ++== +$@@@$$$$$$$$$$$$$$$$$$$$$$$$@@@$+ ==++ + ++=* ~$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$~ *=++ + ==x~ o@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@o ~x== + ++++ $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ ++++ + == ~@@$$$$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@~ == + x+++ o@$$$$@@%$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@o +++x + ++x~ @$$$$$ x%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ ~x++ + == $$$$$$% +$@@@$$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$$ == + == @$$$$$@* +@$$$$$@%o~~~~~~~~~~~~~~~=@$$$$$@ == + == ·@$$$$$$@@@$= $$$$@~ @$$$$@· == + == ·@$$$$$$@@@*~ $$$$@x @$$$$@· == + == ·@$$$$$$+ ~*@$$$$$@$+xxxxxxxxxxxxxx+%@$$$$$@· == + == ·@$$$$@% ~*@@@@$$$$$$$$@@@@@@@@@@@@@@@@@$$$$$$@· == + == ·@$$$$$$o ·=@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$· == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == $@$$$$$$$$$$$$$$@@@@$$$$$$$$$$$$$$@@@@$$$$$$$$$$$$$$@@ == + +++o =@@@$$$$$$$@@@@%**$@@@@$$$$$$@@@@$**%@@@@$$$$$$$@@@= ~+++ + xx== ~*@@@@@@@*o +$@@@@@@$+ o*@@@@@@@*~ ==xo + ++== ==++ + ++**++ =*%%== ==%%*= +x**++ + +=**%%%%%*%=**+x ++***%%%%%%***++ ++**=%*%%%%***=+ + xxxx xxxx xxxx + diff --git a/src/build/framegen/frames/frame_171.txt b/src/build/framegen/frames/frame_171.txt new file mode 100644 index 000000000..fdaa337ab --- /dev/null +++ b/src/build/framegen/frames/frame_171.txt @@ -0,0 +1,41 @@ + + + + ++++ + ++==***%*%%%%%%*%***==++ + xx==***%+x x+%***==+x + ==**++ ++**== + ++**++ o=*%$$@@@@$$%*=o ++**++ + ++**oo ·=$@@@@@@@$$$$$$$$@@@@@@@$=· oo**++ + ++== +$@@@$$$$$$$$$$$$$$$$$$$$$$$$@@@$+ ==++ + xx=* ·$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$· *=+x + ==+~ ~@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@~ ~+== + ++++ $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ ++++ + == ~@@$$$$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@~ == + xx++ o@$$$$@@$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ ++xx + +++~ @$$$$$ x%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ ~+++ + == $$$$$$% +$@@@$$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$$ == + == @$$$$$@* +@$$$$$@%o~~~~~~~~~~~~~~~=@$$$$$@ == + == ·$$$$$$$@@@$+ $$$$@~ @$$$$$· == + == ·@$$$$$$@@@*o $$$$@o @$$$$@· == + == ·@$$$$$$+ ~*@$$$$$@$+xxxxxxxxxxxxxx+%@$$$$$@· == + == ·@$$$$@% ·*@@@@$$$$$$$$@@@@@@@@@@@@@@@@@$$$$$$@· == + == ·@$$$$$$~ ·=$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ == + == @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ == + ==+~ %@@$$$$$$$$$@@@@$$@@@@$$$$$$$$@@@@$$@@@@$$$$$$$$$@@% ·+== + xx== +$@@@@@@@@= o%@@@@@@@@%o =@@@@@@@@$+ ==+x + ++=+ +=++ + ++==o +=%$++ ++$%=+ o==++ + x+==**=*===*%***++xx++*%*%====%*%*++xx++***%*===***===++ + ++++++xx ++++++++ xx+==+++ + diff --git a/src/build/framegen/frames/frame_172.txt b/src/build/framegen/frames/frame_172.txt new file mode 100644 index 000000000..99d6bf35c --- /dev/null +++ b/src/build/framegen/frames/frame_172.txt @@ -0,0 +1,41 @@ + + + + + ++++***%%$%%%%$%%***++++ + ++***%+x x+%***++ + ++**++ ++**++ + x+**++ o=*%$$@@@@$$%*=o ++**+x + ++**oo ·=$@@@@@@@$$$$$$$$@@@@@@@$=· oo**++ + ++** +$@@@$$$$$$$$$$$$$$$$$$$$$$$$@@@$+ **++ + xx** ·$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$· **xx + ==+~ ~@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@~ ~+== + ++++ $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ ++++ + == ~@@$$$$@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@~ == + xx++ ~@$$$$@@$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ ++xx + +++~ @$$$$$ +%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ ~+++ + == $$$$$$% +$@@@$$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$$ == + == @$$$$$@* +@$$$$$@%o~~~~~~~~~~~~~~~=@$$$$$@ == + == ·$$$$$$$@@@$+ $$$$@~ @$$$$$· == + == ·@$$$$$$@@@*o $$$$@o @$$$$@· == + == ·@$$$$$@+ ~*@$$$$$@$+xxxxxxxxxxxxxx+%@$$$$$@· == + == ·@$$$$@% ·*@@@@$$$$$$$$@@@@@@@@@@@@@@@@@$$$$$$@· == + == ·@$$$$$$~ ·=$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + ==x· @@@$$$$$$$$$@@@@@@@@@$$$$$$$$$$@@@@@@@@@$$$$$$$$$@@@ ·x== + ++++ ~%@@@@@@@@@$x =@@@@@@@@@@= x$@@@@@@@@@%~ ++++ + ===x ~~~ ·~~· ~~~ x+== + ===+ x+%% %%+x +=== + ++**=%+x··~o==*===++***%=+o~·~+=%***++===*==o~··x+%=**++ + +++====+++ xx++====++xx ++======++ + diff --git a/src/build/framegen/frames/frame_173.txt b/src/build/framegen/frames/frame_173.txt new file mode 100644 index 000000000..3c8dff4a2 --- /dev/null +++ b/src/build/framegen/frames/frame_173.txt @@ -0,0 +1,41 @@ + + + + + ++==***%%%%%%%%%%***==++ + +=***%+o o+%***=+ + +=**++ ++**=+ + xx**++ o=%%$$@@@@$$%%=o ++**xx + x+**oo ~=$@@@@@@@$$$$$$$$@@@@@@@$=~ oo**+x + xx** +$@@@$$$$$$$$$$$$$$$$$$$$$$$$@@@$+ **xx + xx** ·$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$· **xx + ==+~ ~@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@~ ~+== + ++++ $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ ++++ + == ~@@$$$$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@~ == + xx++ o@$$$$@@$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@o ++xx + +++~ @$$$$$ x%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ ~+++ + == $$$$$$% +$@@@$$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$$ == + == @$$$$$@* +@$$$$$@%o~~~~~~~~~~~~~~~=@$$$$$@ == + == ·$$$$$$$@@@$+ $$$$@~ @$$$$$· == + == ·@$$$$$$@@@*o $$$$@x @$$$$@· == + == ·@$$$$$$+ ~*@$$$$$@$+xxxxxxxxxxxxxx+%@$$$$$@· == + == ·@$$$$@% ~*@@@@$$$$$$$$@@@@@@@@@@@@@@@@@$$$$$$@· == + == ·@$$$$$$o ·=@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + ==x ·@@$$$$$$$$$$$@@@@@@@@$$$$$$$$$$@@@@@@@@$$$$$$$$$$$@@~ == + ++++ x@@@@@@@@@@@= o%@@@@@@@@@@%o =@@@@@@@@@@@x ++xx + ==+o ~x+xo ·x++x· ox+xo o+== + **++ == =* x+** + +=**==o· ++*=**==**=*+o o+*=**==**=*+x ·o*+**=+ + ++==****++++ ++==****==++ ++++****==++ + diff --git a/src/build/framegen/frames/frame_174.txt b/src/build/framegen/frames/frame_174.txt new file mode 100644 index 000000000..bd1a0a093 --- /dev/null +++ b/src/build/framegen/frames/frame_174.txt @@ -0,0 +1,41 @@ + + + + + ++==**%%%%%%%%%%%%**==++ + +=***%+o o+****=+ + +=**++ ++**=+ + xx**++ ·x=%$$@@@@@@$$%=x· ++**xx + x+**~ ~*@@@@@@@@$$$$$$$$@@@@@@@@*~ ~**+x + ++** +@@@@$$$$$$$$$$$$$$$$$$$$$$$$@@@@+ **++ + xx** ~$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$~ **xx + ==x· o@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@o ·x== + ++++ $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ ++++ + == ~@$$$$$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ == + xx++ o@$$$$@@%$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@o ++xx + ++x~ @$$$$$ x%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ ~x++ + == $$$$$$% x%@@@$$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$$ == + == @$$$$$@% +@$$$$$@*~··············~=@$$$$$@ == + == ·@$$$$$$@@@$=· $$$$@~ @$$$$@· == + == ·@$$$$$$@@$=~ $$$$@x @$$$$@· == + == ·@$$$$$$+ o*@$$$$$@$=+++++++++++++++%@$$$$$@· == + == ·@$$$$@% ~*@@@@$$$$$$$$@@@@@@@@@@@@@@@@@$$$$$$@· == + == ·@$$$$$$o ~*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + == x@@$$$$$$$$$$$@@@@@@@$$$$$$$$$$$$@@@@@@@$$$$$$$$$$$@@x == + ++++ =@@@@@@@@@@@%o ~+@@@@@@@@@@@@+~ o%@@@@@@@@@@@* ++++ + **x~ ~+***=o ·x=**=x· o=***+o ·x** + **+x ++ ++ ox**xx + ====++ *=**==**+= =+**==**=* ++==== + ++=**%%**=++ ++=**%%**=++ ++=**%%*==++xx + diff --git a/src/build/framegen/frames/frame_175.txt b/src/build/framegen/frames/frame_175.txt new file mode 100644 index 000000000..1765bcfbe --- /dev/null +++ b/src/build/framegen/frames/frame_175.txt @@ -0,0 +1,41 @@ + + + + + +++=*%%%%%%%%%%%%%%*=+++ + +=*%=*x· ·x*=%*=+ + ++**++ ++**++ + x+**++ ~+*%$@@@@@@@@$%*+~ ++**+x + ++** o*@@@@@@@$$$$$$$$$$@@@@@@@*o **++ + xx** =@@@@$$$$$$$$$$$$$$$$$$$$$$$$@@@@= **xx + xx** o$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$o **xx + =*x· o@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@o ·x*= + ++++ $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ ++++ + =* o@$$$$$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@o *= + xx++ x@$$$$@$%%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x ++xx + +++~ @$$$$$ o*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ ~+++ + == $$$$$$$ x%@@@$$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$$ == + == @$$$$$@% x@$$$$$@*~ ·+@$$$$$@ == + == ·@$$$$$$@@@@*~ $$$$@~ @$$$$@· == + == ·@$$$$$$@@$=· $$$$@x @$$$$@· == + == ·@$$$$$$x o%@$$$$$@@=++++++++++++++=$@$$$$$@· == + == ·@$$$$@% o%@@@@$$$$$$$$@@@@@@@@@@@@@@@@@$$$$$$@· == + == ·@$$$$$$x o%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + == +@@$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$@@@@@@@$$$$$$$$$$$@@+ == + ++++ *@@@@@@@@@@@$+~ ·o*@@@@@@@@@@@@*o ~+$@@@@@@@@@@@% ++++ + **x· x*%%%*+ o=%%%%=o +*%%%*x ·o** + xx**xo xx xx ~x**xx + ===*+x *+****==++ ++==****+* o+*=** + ++==**%%%**=++ ++=*%%%%*=++ ++==*%%%%*==++ + diff --git a/src/build/framegen/frames/frame_176.txt b/src/build/framegen/frames/frame_176.txt new file mode 100644 index 000000000..5dbc4d248 --- /dev/null +++ b/src/build/framegen/frames/frame_176.txt @@ -0,0 +1,41 @@ + + + + ++++ + ++=**%*%%%%%%%%%%*%**=++ + x+==*%=* *=%*==+x + ===*++ ++*=== + x+**++ o=%$@@@@@@@@@@$%=o ++**+x + ++** x%@@@@@@$$$$$$$$$$$$@@@@@@%x **++ + ++== *@@@@$$$$$$$$$$$$$$$$$$$$$$$$@@@@* ==++ + x+=* x@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@x **+x + **x· +@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@+ ·x** + ++++ @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ ++++ + =* x@$$$$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x *= + xx++ +@$$$$@$**$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ ++xx + +++~ @$$$$$ ·*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ ~+++ + == @$$$$@$ ~*@@@@$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$@ == + == @$$$$$@$~ o$$$$$$@= x@$$$$$@ == + == ·@$$$$$$$@@@%o $$$$@· @$$$$@· == + == ·@$$$$$$@@%x $$$$@+ ·@$$$$@· == + == ·@$$$$$$~ +$@$$$$$@@*==============*@@$$$$$@· == + == ·@$$$$@% x%@@@@$$$$$$$$@@@@@@@@@@@@@@@@$$$$$$$@· == + == ·@$$$$$$+ x$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + == =@@$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$$@* == + +++x $@@@@@$@@@@@@=o~o+%@@@@@@@@@@@@%xo~o=@@@@@@$@@@@@$ x+++ + **o· ~=%$$$%=~ x*$$$$*x ~=%$$$%=~ ** + x+**o~ ~~**xx + xx**+= ++=***=*+x x+*=***=++ ==**xx + ++==*%%%%%**== ++++*%%%%%%*++++ ==**%%%%%*==++ + diff --git a/src/build/framegen/frames/frame_177.txt b/src/build/framegen/frames/frame_177.txt new file mode 100644 index 000000000..828afeb63 --- /dev/null +++ b/src/build/framegen/frames/frame_177.txt @@ -0,0 +1,41 @@ + + + + x++++++x + +===*%%%%%****%%%%%*===+ + ++===*+= =+*===++ + ===* *=== + x+**x+ ·+*$@@@@@@@@@@@@$*+· xx**++ + ++*= +$@@@@@@$$$$$$$$$$$$@@@@@@$+ =*++ + ++== ·%@@@$$$$$$$$$$$$$$$$$$$$$$$$$$@@@%· =*++ + ++== =@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@= ==++ + **o· =@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@= ·o** + ++++ ·@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@· ++++ + =* +@$$$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ *= + x+++ =@$$$$@%==$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= +++x + +++· ·@$$$$$ =$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· ·+++ + == @$$$$@$ =$@@@$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$@ == + == @$$$$$@$o ·%$$$$$@+ o$$$$$$@ == + == ·@$$$$$$$@@@$o $$$$@ @$$$$@· == + == ·@$$$$$$@@*o $$$$$= o@$$$$@· == + == ·@$$$$$$· =@@$$$$$@@%**************%@@$$$$$@· == + == ·@$$$$$$ =$@@@$$$$$$$$$@@@@@@@@@@@@@@@@$$$$$$$@· == + == ·@$$$$$$= +$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + == *@$$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$$@* == + +++x ·$@@@@$$$@@@@@*xoo+$@@@@@$$@@@@@$+oox*@@@@@$$$@@@@@~ x+++ + ** ~=%$$$$*o +%$$$$%+ o*$$$$%*o ** + xx**~~ **++ + ++**+= ++==**==x~ ~x==**==++ =+**+x + ++==*%%%%%%*== x+==*%%%%%%*==++ ==**%%%%%*==++ + diff --git a/src/build/framegen/frames/frame_178.txt b/src/build/framegen/frames/frame_178.txt new file mode 100644 index 000000000..30b75b9a6 --- /dev/null +++ b/src/build/framegen/frames/frame_178.txt @@ -0,0 +1,41 @@ + + + + ++++++++++++ + ++++***%%%==++++==%%%***++++ + ++**=*+o o+*=**++ + x+**== ==**+x + ++** x*$@@@@@@@@@@@@@@$*x **++ + ++*+ o%@@@@@@$$$$$$$$$$$$$$@@@@@@%o +*++ + ++=+ x$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$@@@$x +=++ + ++== %@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@% ==++ + ** %@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@% ** + +++x x@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@x x+++ + == *@$$$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* == + xx++ *@$$$$@=ox*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* ++xx + ==+· o@$$$$$ o*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@o ·+== + == @$$$$$$ o%@@@$$$$$$@@@@@@@@@@@@@@@@@@@$$$$$@ == + == $$$$$$@@= *$$$$$$~ %$$$$$$ == + == ·@$$$$$$$@@@@+ $$$$@ @$$$$@· == + == ·@$$$$$$@$+ ~$$$$$* +@$$$$@· == + == ·@$$$$$$ x%@@$$$$$@@@$$$$$$$$$$$$$$@@@$$$$$@· == + == ·@$$$$@$ o%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$@%· o%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + == *@$$$$$$$$$$$$$@@@@@$$$$$$$$$$$$$$@@@@@$$$$$$$$$$$$$@% == + +++x ~@@@@@$$$@@@@@%+xx=$@@@@$$$$@@@@$=xo+*@@@@@$$$@@@@@o x+++ + ** o*$$@$$%x ·=%$@@$%=· x%$@@$$*x ** + x+** **+x + xx**+= xx****== ==***=xx =+**++ + ++==*%%%%***++xx ++==*%*%%*%*==++ xx++*%*$%%%*==++ + diff --git a/src/build/framegen/frames/frame_179.txt b/src/build/framegen/frames/frame_179.txt new file mode 100644 index 000000000..157ef6e50 --- /dev/null +++ b/src/build/framegen/frames/frame_179.txt @@ -0,0 +1,41 @@ + + + + ++++++++++++ + ++==*%*%==++xxxx++==%*%*==++ + ++**=* *=**++ + ++**+= =+**++ + ++== o=%@@@@@@@@@@@@@@@@%=o ==++ + ===+ +$@@@@@$$$$$$$$$$$$$$$$@@@@@$+ +=== + ++=+ =@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@= +=++ + ++=+ $@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$ +=++ + ** $@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$ ** + +++o =@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= o+++ + == $@$$$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ == + x+++ %@$$$@@x ·=$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% +++x + ==+· x@$$$$$ =$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x ·+== + == @$$$$$$ ·=@@@$$$$$@@@@@@@@@@@@@@@@@@@@$$$$$@ == + == $$$$$$@@*~ +$$$$$% *$$$$$$ == + == ·@$$$$$$$@@@@= $@$$@ @$$$$@· == + == ·@$$$$$$@%o x$$$$$% =$$$$$@· == + == ·@$$$$$$ +$@@$$$$$@@@@@@@@@@@@@@@@@@@@$$$$$@· == + == ·@$$$$$$ +$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$@$o +$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + == *@$$$$$$$$$$$$$@@@@@$$$$$$$$$$$$$$@@@@@$$$$$$$$$$$$$@% == + +++x ~@@@@@$$$$@@@@%+xx=$@@@@$$$$@@@@$=xx+%@@@@$$$$@@@@@o x+++ + ** x*$$@@$%x ~=%$@@$%=~ x%$@@@$%x ** + x+** **+x + ++**+= xx****== ==****xx =+**++ + ++==*%%%%*%*=+++ ++==*%*%%*%*==++ +++=*%*%%%%**=++ + diff --git a/src/build/framegen/frames/frame_180.txt b/src/build/framegen/frames/frame_180.txt new file mode 100644 index 000000000..01fa033f2 --- /dev/null +++ b/src/build/framegen/frames/frame_180.txt @@ -0,0 +1,41 @@ + + + + ++++===***==++++ + ==***%==xo ox==%***== + ===*++ ++*=== + ++**++ ·oxx++xxo· ++**++ + ===+ o=$@@@@@@@@@@@@@@@@@@$=o +=== + **++ o%@@@@@$$$$$$$$$$$$$$$$$$@@@@@%o ++** + ==+x ~$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@$~ x+== + ++++ x@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@x ++++ + xx== o@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@o ==xx + ==x~ %@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% ~x== + ox== @@$$$@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ ==xo + +++x @$$$$@% ~*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ x+++ + ==x =$$$$@$ ~*@@@@$$$$$$$$$$@@@@@@@@@@@@@@$$$$$$$$= x== + == @$$$$$$ o*@@$$$$$@@@$$$$$$$$$$$$$$$@@$$$$$@ == + == $$$$$$$@$= ·$$$$$* x@$$$$$ == + == ~@$$$$$$$@@@@x $$$$@ @$$$$@· == + == ·@$$$$$@@+ *$$$$$$o %$$$$$@· == + == ·@$$$$$$ x%@@@$$$$$$@@@@@@@@@@@@@@@@@@@$$$$$@· == + == ·@$$$$$$ x%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$@*x+%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + == %@$$$$$$$$$$$$$@@@@@$$$$$$$$$$$$$$@@@@@$$$$$$$$$$$$$@% == + +++x ~@@@@@$$$$@@@@%+xx=$@@@@$$$$@@@@$=xx+%@@@@$$$$@@@@@o o+++ + ** x*$@@@$%x ~=%$@@$%=~ x%$@@@$%x ** + x+** **++ + x+**+= x+****== ==****xx =+**++ + ++***%%%%*%*==++ ++==*%*%%*%*==++ x+==*%*%%%%**=++ + diff --git a/src/build/framegen/frames/frame_181.txt b/src/build/framegen/frames/frame_181.txt new file mode 100644 index 000000000..ea015b628 --- /dev/null +++ b/src/build/framegen/frames/frame_181.txt @@ -0,0 +1,41 @@ + + + + ++++=***%%%%**==++++ + ++==*%**+x x+**%*==++ + ++**=* *=**++ + ==== ox=******=xo ==== + **++ ·=$@@@@@@@@@@@@@@@@@@@@$=· ++** + **+o =@@@@@$$$$$$$$$$$$$$$$$$$$@@@@@= o+** + **x~ +@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@+ ~x** + +++x *@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@* x+++ + xx== +@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@+ ==xx + ==x· @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ ·x== + ox== @$$$$@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ ==xo + +++o @$$$$$+ x$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ o+++ + == %$$$$@$ +%@@@$$$$$$$$$@@@@@@@@@@@@@@@@$$$$$$$% == + == @$$$$$$~ +$@$$$$$@@%==============*@@$$$$$@ == + == $$$$$$$@@%x $$$$@+ ·@$$$$$ == + == ~@$$$$$$$@@@%o $$$$@· @$$$$@~ == + == ·@$$$$$@$~ o$$$$$$@= x@$$$$$@· == + == ·@$$$$@$ ~*@@@@$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$@· == + == ·@$$$$$$ ·*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$@$**$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + == *@$$$$$$$$$$$$$@@@@@$$$$$$$$$$$$$$@@@@@$$$$$$$$$$$$$@% == + +++x ~@@@@@$$$@@@@@%+xx=$@@@@$$$$@@@@$=xx+%@@@@$$$$@@@@@o x+++ + ** o*$$@@$%x ·=%$@@$%=· x%$@@$$*x ** + x+** **+x + ++**+= xx****== ==****xx =+**++ + ++==*%%%%*%*=+xx ++==*%%%%%%*==++ xx++*%*%%%%**=++ + diff --git a/src/build/framegen/frames/frame_182.txt b/src/build/framegen/frames/frame_182.txt new file mode 100644 index 000000000..3545521c6 --- /dev/null +++ b/src/build/framegen/frames/frame_182.txt @@ -0,0 +1,41 @@ + + + + ++++=**%%%%%%%%%%**=++++ + +=***%+x x+%***=+ + ++**+= =+**++ + ox**+= o=*%$@@@@@@$%*=o =+**xo + ++**oo ·=$@@@@@@@$$$$$$$$@@@@@@@$=· oo**++ + x+** x$@@@$$$$$$$$$$$$$$$$$$$$$$$$@@@$x **+x + ox** ·$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$· **xo + ==+~ ~@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@~ ~+== + ++++ $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ ++++ + == ·@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@· == + xx++ ~@$$$$@@$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ ++xx + +++~ @$$$$$ x$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ ~+++ + == $$$$$@% +$@@@$$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$$ == + == @$$$$$@* +@$$$$$@%x~~~~~~~~~~~~~~o*@$$$$$@ == + == ·$$$$$$$@@@$+ $$$$@~ @$$$$$· == + == ·@$$$$$$@@@*o $$$$@x @$$$$@· == + == ·@$$$$$@+ ~*@$$$$$@$+xxxxxxxxxxxxxxx%@$$$$$@· == + == ·@$$$$@% ·=@@@@$$$$$$$$@@@@@@@@@@@@@@@@@$$$$$$@· == + == ·@$$$$$$~ ·=$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$@@$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + == *@$$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$$@* == + +++x ·$@@@@$$$@@@@@*xox=$@@@@$$$$@@@@$=oox*@@@@@$$$@@@@@~ x+++ + ** o*%$$$$*x ·+%$$$$%+· x*$$$$$*o ** + x+**~ **+x + x+**+= +x*=**==x ==**==x+ =+**++ + ++==*%*%%%**++xx ++==*%%%%%%*==++ xx++**%%%*%*==++ + diff --git a/src/build/framegen/frames/frame_183.txt b/src/build/framegen/frames/frame_183.txt new file mode 100644 index 000000000..5368c629a --- /dev/null +++ b/src/build/framegen/frames/frame_183.txt @@ -0,0 +1,41 @@ + + + ++++ + ++==*%%%*%****%*%%%*==++ + x+==*%== ==%*==+x + ===*xo ox*=== + ++**x+ x*%$@@@@@@@@@@$%*x +x**++ + ++*= +$@@@@@@$$$$$$$$$$$$@@@@@@$+ =*++ + ++== *@@@@$$$$$$$$$$$$$$$$$$$$$$$$@@@@* ==+x + xx== +@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@+ ==xx + **o· +@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@+ ·o** + ++++ @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ ++++ + ** +@$$$$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ *= + xx++ +@$$$$@%=*$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ ++xx + +++~ @$$$$$ =$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ ·+++ + == @$$$$$$ ·=@@@@$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$@ == + == @$$$$$@$o ~$$$$$$@+ x@$$$$$@ == + == ·@$$$$$$$@@@$o $$$$@· @$$$$@· == + == ·@$$$$$$@@%o $$$$$+ ~@$$$$@· == + == ·@$$$$$$~ +$@$$$$$@@%**************%@@$$$$$@· == + == ·@$$$$@$ +$@@@$$$$$$$$$@@@@@@@@@@@@@@@@$$$$$$$@· == + == ·@$$$$$@= +$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + == *@$$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$$@* == + +++x $@@@@@$$@@@@@*xoo+%@@@@@$$@@@@@%+o~x=@@@@@$$@@@@@$· x+++ + **o ~=%$$$%*o +%$$$$%+ o*%$$$%=~ ** + x+**~~ ~**+x + x+**== ++==**==+o ox==**==++ =+**++ + ++==*%%%%%**++xx ++==*%%%%%%*==++ x+++**%%%%%**=++ + diff --git a/src/build/framegen/frames/frame_184.txt b/src/build/framegen/frames/frame_184.txt new file mode 100644 index 000000000..f92a332be --- /dev/null +++ b/src/build/framegen/frames/frame_184.txt @@ -0,0 +1,41 @@ + + + x ++++====++++ + ++==*%*%==++++++++==%*%*==++ + ++**=* *=**++ + x+**+= ·· =+**+x + ++== o=%@@@@@@@@@@@@@@@@%=o ==++ + ===+ +$@@@@@$$$$$$$$$$$$$$$$@@@@@$+ +=== + ++++ =@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$@@@@= ++++ + ++=+ $@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$ +=++ + ** $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ ** + +++o =@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= o+++ + == $@$$$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ == + ++++ $@$$$@@x ·+$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ ++++ + ==+· +@$$$$$ =$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ ·+== + == @$$$$$$ =$@@$$$$$@@@@@@@@@@@@@@@@@@@@$$$$$@ == + == $$$$$$$@*o +$$$$$% *$$$$$$ == + == ·@$$$$$$$@@@@+ $$$$@ @$$$$@· == + == ·@$$$$$$@%o x$$$$$% =$$$$$@· == + == ·@$$$$$$ =@@@$$$$$@@@@@@@@@@@@@@@@@@@@$$$$$@· == + == ·@$$$$$$ +$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$@$o +$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + == +@@$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$@@= == + ++++ %@@@@@@@@@@@$+o·~x*@@@@@@@@@@@@*o··~+$@@@@@@@@@@@% x+++ + **x· +*%%%*+· o=%%%%=o ·+%%$%*+ ·o** + x+**o~ oo oo oo**++ + x+**+=+~ =+******+x x+******+= ~x=+**++ + ++==**%%%***++xx ++==***%%***==++ xx++***%%%**==++ + diff --git a/src/build/framegen/frames/frame_185.txt b/src/build/framegen/frames/frame_185.txt new file mode 100644 index 000000000..66aaba24c --- /dev/null +++ b/src/build/framegen/frames/frame_185.txt @@ -0,0 +1,41 @@ + + + ++++==****==++++ + ==***%==xo ox==%***== + ===*++ ++*=== + ++**x+ ·oxx++xxo· +x**++ + ===+ o*$@@@@@@@@@@@@@@@@@@$*o +=== + **++ o%@@@@@$$$$$$$$$$$$$$$$$$@@@@@%o x+** + ==+o ~$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@$~ o+== + ++++ +@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@+ ++++ + ox== o@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@o ==xo + ==+~ %@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% ~+== + ox== @@$$$@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ ==xo + +++x @$$$$@* ~*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ x+++ + ==x *$$$$$$ ~*@@@@$$$$$$$$$$@@@@@@@@@@@@@@$$$$$$$$* x== + == @$$$$$$ ~*@@$$$$$@@$%%%%%%%%%%%%%%$@@$$$$$@ == + == $$$$$$$@@= ·$$$$$* x$$$$$$ == + == ~@$$$$$$$@@@@x $$$$@ @$$$$@~ == + == ·@$$$$$@@+ *$$$$$$o ·$$$$$$@· == + == ·@$$$$$$ x$@@@$$$$$$@@@@@@@@@@@@@@@@@@@$$$$$@· == + == ·@$$$$$$ x%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$@@*x+%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + == x@@$$$$$$$$$$$@@@@@@@$$$$$$$$$$$$@@@@@@@$$$$$$$$$$$@@+ == + ++++ *@@@@@@@@@@@%x· ~=@@@@@@@@@@@@=~ x%@@@@@@@@@@@* ++++ + **x· o=*%%=x ~+*%%*+~ x=%%%=x ·x** + x+**xo ++ ++ ox**+x + x+**=*xx *+****=*++ ++==****+* x+==**++ + ++==********++xx ++==********==++ xx++********==++ + diff --git a/src/build/framegen/frames/frame_186.txt b/src/build/framegen/frames/frame_186.txt new file mode 100644 index 000000000..d49b01d10 --- /dev/null +++ b/src/build/framegen/frames/frame_186.txt @@ -0,0 +1,41 @@ + + + +++=**%%%%%%%%**=+++ + ++***%==o· ·o==%***++ + ++**+* *+**++ + ==== o+=*%$$$$%*=+o ==== + x+**xx x*@@@@@@@@@@@@@@@@@@@@@@*x xx**+x + xx**~~ ~%@@@@$$$$$$$$$$$$$$$$$$$$$$@@@@%~ ~~**xx + **x· *@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@* ·o** + ==+o %@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@% o+== + xx== *@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@* ==xx + ==x· @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ ·x== + xx== @$$$$@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ ==xx + +++o @$$$$$o ~*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ o+++ + == %$$$$@% ~*@@@@$$$$$$$$@@@@@@@@@@@@@@@@@$$$$$$% == + == @$$$$$$+ o*@$$$$$@$=+++++++++++++++%@$$$$$@ == + == $$$$$$$@@@=~ $$$$$x @$$$$$ == + == ·@$$$$$$@@@@= $$$$@~ @$$$$@· == + == ·@$$$$$@% +@$$$$$@%~··············~=@$$$$$@· == + == ·@$$$$@% x%@@@$$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$@· == + == ·@$$$$$$ x%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$@@%%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + == ~@@$$$$$$$$$$$@@@@@@@@$$$$$$$$$$@@@@@@@@$$$$$$$$$$$@@o == + ++++ +@@@@@@@@@@@=~ x$@@@@@@@@@@$x ·=@@@@@@@@@@@+ ++++ + **+~ o+=+x· o+==+o ·x+=+x ~x** + xx**+x == == x+**+x + xx**==+= ~x*=******+* *+******=*x~ =+==**xx + ++==********++ x+++********+++x ++********==++ + diff --git a/src/build/framegen/frames/frame_187.txt b/src/build/framegen/frames/frame_187.txt new file mode 100644 index 000000000..a3fe2f9cb --- /dev/null +++ b/src/build/framegen/frames/frame_187.txt @@ -0,0 +1,41 @@ + + + ++==**%%*%%%%%%*%%**==++ + ==***%xx xx%***== + ++**++ ++**++ + xx**++ x=*$$@@@@@@$$*=x ++**+x + ++**~o ~*$@@@@@@@$$$$$$$$@@@@@@@$*~ oo**++ + ++** +$@@@$$$$$$$$$$$$$$$$$$$$$$$$@@@$+ **++ + xx** ~$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$~ **xx + ==+~ ~@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@~ ~+== + ++++ $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ ++++ + == ~@$$$$$@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ == + x+++ o@$$$$@@%$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@o +++x + +++~ @$$$$$ x%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ ~+++ + == $$$$$$$ x$@@@$$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$$ == + == @$$$$$@* +@$$$$$@%o··············~=@$$$$$@ == + == ·$$$$$$$@@@$= $$$$@~ @$$$$$· == + == ·@$$$$$$@@$*o $$$$@x @$$$$@· == + == ·@$$$$$$+ ~*@$$$$$@$=xxxxxxxxxxxxxx+%@$$$$$@· == + == ·@$$$$$$ ~*@@@@$$$$$$$$@@@@@@@@@@@@@@@@@$$$$$$@· == + == ·@$$$$$$o ·=@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + ==+· @@@$$$$$$$$$$@@@@@@@@$$$$$$$$$$@@@@@@@@$$$$$$$$$$$@@ x== + ++=+ o$@@@@@@@@@@+ ~*@@@@@@@@@@*~ +@@@@@@@@@@$x ++++ + ==+x ·oxo~ ~oo~ ~oxo· o+*= + x+**+x =* *= ++**xx + x+==**+*+o ++*=**==**=*+x x+*=**==**=*++ ~+*=**==xx + ++++******==++ ++++********++++ ++==******++++ + diff --git a/src/build/framegen/frames/frame_188.txt b/src/build/framegen/frames/frame_188.txt new file mode 100644 index 000000000..383a1143f --- /dev/null +++ b/src/build/framegen/frames/frame_188.txt @@ -0,0 +1,41 @@ + + xx++++xx + ===*%%%%*%****%*%%%%*=== + ++**=%++ ++%=*=++ + ==** **== + x+**+x ~+*$@@@@@@@@@@@@$*+~ x+**+x + ++== =$@@@@@$$$$$$$$$$$$$$@@@@@$= ==++ + ++*= ~%@@@$$$$$$$$$$$$$$$$$$$$$$$$$$@@@%~ =*++ + x+== =@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@= ==+x + **o =@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@= o*= + ++++ ·@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@· ++++ + == =@$$$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= == + x+++ =@$$$$@%+=$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= ++xx + +++· ·@$$$$$ +$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· ·+++ + == @$$$$$$ +$@@@$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$@ == + == $$$$$$@@x %$$$$$@x ~$$$$$$$ == + == ·@$$$$$$$@@@$x $$$$@ @$$$$@· == + == ·@$$$$$$@@*~ $$$$$= o$$$$$@· == + == ·@$$$$$$ =$@$$$$$@@$%%%%%%%%%%%%%%%@@$$$$$@· == + == ·@$$$$@% =@@@@$$$$$$$$$@@@@@@@@@@@@@@@@$$$$$$$@· == + == ·@$$$$$@* =$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ == + == @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ == + ==x· $@@$$$$$$$$$@@@@@@@@@@$$$$$$$$@@@@@@@@@@$$$$$$$$$@@$ ·+== + ++++ =@@@@@@@@@*· x$@@@@@@@@$x *@@@@@@@@@= ++++ + ==++ +=== + xx=*=+ ++%%xx xx%%++ +===xx + ==**=*==++++*=*=**==**=%=*++++*=%***==**=*=*++++==*=**==xx + ++++==****==++ ++==****==++ ++==****==++++ + diff --git a/src/build/framegen/frames/frame_189.txt b/src/build/framegen/frames/frame_189.txt new file mode 100644 index 000000000..6fedc5596 --- /dev/null +++ b/src/build/framegen/frames/frame_189.txt @@ -0,0 +1,41 @@ + + xx++++++++xx + x+==*%*%*%========%*%*%*=++x + ++**=*+x x+*=**++ + xx**=* ==**xx + ++**o x*$@@@@@@@@@@@@@@$*x o**++ + ++=+ o*@@@@@$$$$$$$$$$$$$$$$@@@@@*o +=++ + ++=+ x$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$@@@$x +=++ + x+== *@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@* ==+x + ** %@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@% ** + +++x x@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@x x+++ + =* *@$$$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* *= + ++++ *@$$$@@=ox*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* ++++ + ==+· o@$$$$$ o%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@o ·+== + == @$$$$$$ o%@@@$$$$$$@@@@@@@@@@@@@@@@@@@$$$$$@ == + == $$$$$$@@= *$$$$$$~ %$$$$$$ == + == ·@$$$$$$$@@@@+ $$$$@ @$$$$@· == + == ·@$$$$$$@$+ ~$$$$$* +$$$$$@· == + == ·@$$$$$$ o%@@$$$$$@@@$$$$$$$$$$$$$$$@@$$$$$@· == + == ·@$$$$@$ o%@@@@$$$$$$$$$$@$$$$$$$$$$$$@$$$$$$$$@· == + == ·@$$$$$$% o*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$· == + == @@$$$$$$$$$$$$$$$@@$$$$$$$$$$$$$$$$@@$$$$$$$$$$$$$$$@@ == + ==+~ *@@@$$$$$$$@@@@$%%@@@@$$$$$$$$@@@@%%$@@@@$$$$$$$@@@* ~+== + ++== o%@@@@@@@$x ·*@@@@@@@@*· x$@@@@@@@%x ==++ + ===+ +=== + ox====o+ ==%%++ ++%%== +o====+x + ++**=**%****%***==++**=*=******=*=**++==***%****%*****++ + xx+++=====++++ ++++====++++ ++++======+++x + diff --git a/src/build/framegen/frames/frame_190.txt b/src/build/framegen/frames/frame_190.txt new file mode 100644 index 000000000..95209a1f3 --- /dev/null +++ b/src/build/framegen/frames/frame_190.txt @@ -0,0 +1,41 @@ + + xx++++====++++xx + ++==*%**==++oooo++==**%*==++ + ++**=* *=**++ + ++**+= ···· =+**++ + ++== x=$@@@@@@@@@@@@@@@@$=x ==++ + ==++ =$@@@@$$$$$$$$$$$$$$$$$$@@@@$= ++== + ===+ *@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@* +=== + ++=+ ·$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$· +=++ + ox** $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ **xo + +++o =@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= o+++ + == $@$$$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ == + ++++ $@$$$@$x +$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ ++++ + ==+· +@$$$$$ +$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ ·+== + == @$$$$$$ =$@@$$$$$@@@@@@@@@@@@@@@@@@@@$$$$$@ == + == $$$$$$$@%o x$$$$$% =$$$$$$ == + == ·@$$$$$$$@@@@+ $$$$@ @$$$$@· == + == ·@$$$$$$@%o +$$$$$% *$$$$$@· == + == ·@$$$$$$ =$@@$$$$$@@@@@@@@@@@@@@@@@@@@$$$$$@· == + == ·@$$$$$$ =@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$@$x ·+$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + == %@$$$$$$$$$$$$$@@@@@$$$$$$$$$$$$$$@@@@@$$$$$$$$$$$$$@% == + ==+x ~@@@@$$$$$@@@@%+x+=$@@@@$$$$@@@@$=+x+%@@@@$$$$$@@@@o o+== + xx== x*$@@@$%x ~=$@@@@$=~ x%$@@@$*x ==xx + ==== ==== + ====+= xx*=**== ==**=*xx =+==== + ++*****%*%%*****==++==***%*%%*%***==++==*****%%%%*****++ + ++++++++++++ x++++++++++x ++++++++++++ + diff --git a/src/build/framegen/frames/frame_191.txt b/src/build/framegen/frames/frame_191.txt new file mode 100644 index 000000000..7da0266e4 --- /dev/null +++ b/src/build/framegen/frames/frame_191.txt @@ -0,0 +1,41 @@ + + ++====****====++ + ==**%%=*++oo····~o++*=%%**++ + +=**== ==**=+ + ++**++ ·~~oo~~· ++**++ + ===+ +%@@@@@@@@@@@@@@@@@@%+ +=== + ===+ ·*@@@@@$$$$$$$$$$$$$$$$$$@@@@@*· ++== + ===x %@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@% x=== + ++=+ o@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@o +=++ + xx== @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ ==xx + ==+~ *@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* ~+== + == $@$$$@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ == + +++x $$$$$@$~ x%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ x+++ + ==x· =@$$$@$ x%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= ·x== + == @$$$$$$ x$@@$$$$$@@@$$$$$$$$$$$$$$@@@$$$$$@ == + == $$$$$$$@$x o$$$$$% +$$$$$$ == + == ·@$$$$$$$@@@@+ $$$$@ @$$$$@· == + == ·@$$$$$$@=· =$$$$$$ %$$$$$@· == + == ·@$$$$$$ ~*@@@$$$$$@@@@@@@@@@@@@@@@@@@@$$$$$@· == + == ·@$$$$$$ ~*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$@@+~o=@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + == +@@$$$$$$$$$$$@@@@@@@$$$$$$$$$$$$@@@@@@@$$$$$$$$$$$@@= == + ==++ *@@@@@@@@@@@$+~ o*@@@@@@@@@@@@*o ·+$@@@@@@@@@@@% x+== + ++==x· x=%%%*x o=*%%*=o x*%%%*x ·x==++ + ====oo xx xx ~o==== + ====+=++ =+*==*==++ ++=====*+= ox=+==== + ++==**=*********++++==***%****%***==++++*********=**==++ + ++++++++++xx ++++++++++++ xx++++++++++ + diff --git a/src/build/framegen/frames/frame_192.txt b/src/build/framegen/frames/frame_192.txt new file mode 100644 index 000000000..f03d9280b --- /dev/null +++ b/src/build/framegen/frames/frame_192.txt @@ -0,0 +1,41 @@ + + ++====****====++ + +=***%==+o o+==%***=+ + ===*++ ++*=== + ++**x+ ·ooxxxxoo· ++**++ + ===+ o=$@@@@@@@@@@@@@@@@@@$=o +=== + **++ o%@@@@$$$$$$$$$$$$$$$$$$$$@@@@%o x+** + ==+x ~$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@$~ x+== + ++++ +@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@+ ++++ + ox== ~@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@~ ==xo + ==+~ %@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% ~x== + ox== @@$$$@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ ==xo + +++x @$$$$@% ~*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ x+++ + ==+ =@$$$@$ ~*@@@@$$$$$$$$$$@@@@@@@@@@@@@@$$$$$$$@= +== + == @$$$$$$ o%@@$$$$$@@$$$$$$$$$$$$$$$$@@$$$$$@ == + == $$$$$$$@$=· ·$$$$$* x$$$$$$ == + == ·@$$$$$$$@@@@+ $$$$@ @$$$$@· == + == ·@$$$$$@@+ *$$$$$$o $$$$$$@· == + == ·@$$$$$$ x%@@@$$$$$$@@@@@@@@@@@@@@@@@@@$$$$$@· == + == ·@$$$$$$ x%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$@@=x+%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + ==x· @@@$$$$$$$$$$@@@@@@@@$$$$$$$$$$@@@@@@@@$$$$$$$$$$@@@ x== + ++++ o$@@@@@@@@@$+ ·*@@@@@@@@@@*· +$@@@@@@@@@$o ++++ + x+==+x ·ooo~ ~oo~ ~ooo· o+==+x + ++==++ +** **+ x+==++ + ++====+=+x ++*========*+x x+*========*++ x+======++ + ++++==********==++++++==********==++++++==********====++ + ++++++++ ++++++++ ++++++++ + diff --git a/src/build/framegen/frames/frame_193.txt b/src/build/framegen/frames/frame_193.txt new file mode 100644 index 000000000..eea662aca --- /dev/null +++ b/src/build/framegen/frames/frame_193.txt @@ -0,0 +1,41 @@ + + ++====****====++ + x++=***%==x~ ~x==%***=+xx + x+===*++ ++*===+x + ++**+x ~ox++++xo~ x+**++ + ==++ x*$@@@@@@@@@@@@@@@@@@$*x ++== + **+x x%@@@@$$$$$$$$$$$$$$$$$$$$@@@@%x x+** + ==+o o$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@$o o+== + ++++ +@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@+ ++++ + xx== o@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@o ==xx + ==+· $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ ·+== + x+== @@$$$@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ ==xo + +++x @$$$$@* =@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ x+++ + ==x *$$$$@% ~=@@@@$$$$$$$$$@@@@@@@@@@@@@@@@$$$$$$$* x== + == @$$$$$$ ~*@@$$$$$@@$%%%%%%%%%%%%%%$@@$$$$$@ == + == $$$$$$$@@=~ $$$$$= o$$$$$$ == + == ~@$$$$$$$@@@@+ $$$$@ @$$$$@~ == + == ·@$$$$$@@x %@$$$$$x ~$$$$$$@· == + == ·@$$$$$$ +$@@@$$$$$$@@@@@@@@@@@@@@@@@@@$$$$$@· == + == ·@$$$$$$ x$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$@@*++%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ == + == @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ == + ==+· $@@$$$$$$$$$@@@@@@@@@@$$$$$$$$@@@@@@@@@@$$$$$$$$$@@$ ·x== + ++++ =@@@@@@@@@* x$@@@@@@@@$x *@@@@@@@@@= ++++ + ox==++ ++==xx + ++===+ ++%%+o o+%%++ +===++ + ++=====%+=++++*=*========***++++***========*=*++++=+%=====++ + xx++==******====++ ++==********==++ ++====******==++xx + ++++ ++++ ++++xx + diff --git a/src/build/framegen/frames/frame_194.txt b/src/build/framegen/frames/frame_194.txt new file mode 100644 index 000000000..1d1213448 --- /dev/null +++ b/src/build/framegen/frames/frame_194.txt @@ -0,0 +1,41 @@ + + xx++==********===+xx + x+==*%**=+~· ·~+=**%*==++ + x+=*=*+x x+*=*=+x + ++**xo ·ox+====+xo· ox**++ + **++ x*@@@@@@@@@@@@@@@@@@@@*x ++** + **+x x$@@@@$$$$$$$$$$$$$$$$$$$$@@@@$x o+** + ==+o x$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@$x o+== + ++++ =@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@= ++++ + xx== x@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@x ==xx + ==+· $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ ·+== + ox== @@$$$@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ ==xo + +++x @$$$$@* =$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ x+++ + == *$$$$@% =@@@@$$$$$$$$$@@@@@@@@@@@@@@@@$$$$$$$* == + == @$$$$$$ =$@$$$$$@@$%%%%%%%%%%%%%%%@@$$$$$@ == + == $$$$$$$@@*~ $$$$$= o$$$$$$ == + == ~@$$$$$$$@@@$x $$$$@ @$$$$@~ == + == ·@$$$$$@@x %$$$$$@x ~$$$$$$@· == + == ·@$$$$$$ +$@@@$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$@· == + == ·@$$$$$$ +$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$@%+=$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == $@$$$$$$$$$$$$$$@@@@$$$$$$$$$$$$$$@@@@$$$$$$$$$$$$$$@$ == + ==+o +@@@$$$$$$$@@@$***%@@@@$$$$$$@@@@%***$@@@$$$$$$$@@@+ o+== + ++== =$@@@@@$*~ +%@@@@@@%+ ~*$@@@@@$=· ==++ + ===+ +=== + ++====x+ *=**== =+**=* +x====+x + ++=====**%*****==========**%****%**=========******%**=====+x + ++++========++xx ++++========++++ xx++========++++ + + diff --git a/src/build/framegen/frames/frame_195.txt b/src/build/framegen/frames/frame_195.txt new file mode 100644 index 000000000..7f66e3146 --- /dev/null +++ b/src/build/framegen/frames/frame_195.txt @@ -0,0 +1,41 @@ + + ++++==********===+++ + x+==*%**++~· ·~+=**%*==++ + xx**=%+x x+%=**xx + ++*=x ~ox+====+xo~ ox=*++ + **++ x%@@@@@@@@@@@@@@@@@@@@%x ++** + **+o +$@@@@$$$$$$$$$$$$$$$$$$$$@@@@$+ o+** + =*+o x$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$x o+*= + ++++ =@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@= ++++ + ox== x@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@x ==xo + ==+· $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ ·+== + ox== @$$$$@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ ==xo + +++x @$$$$@= +$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ x+++ + == *$$$$@% +@@@@$$$$$$$$$@@@@@@@@@@@@@@@@$$$$$$$* == + == @$$$$$$· =$@$$$$$@@%%%%%%%%%%%%%%%%@@$$$$$@ == + == $$$$$$$@@*o $$$$$= ~$$$$$$ == + == ·@$$$$$$$@@@$x $$$$@ @$$$$@· == + == ·@$$$$$@@o ·%$$$$$@+ o$$$$$$@· == + == ·@$$$$$$ =$@@@$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$@· == + == ·@$$$$$$ +$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$@%==$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + == *@$$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$$@% == + ==+x ~$@@@@$$$$@@@@%+xx=$@@@@$$$$@@@@$=xx+*@@@@$$$$@@@@@~ x+== + ++== o*$@@@$*x ·=%$@@$%=· x*$@@@$*x ==++ + ==== =+== + xx====+= x+*===== ======+x =+====xx + ++====*%%%%**=====++====*%*%%*%*====++=====**%%%%*====++ + xx++++====++++ ++++====++++ ++++====++++x+ + + diff --git a/src/build/framegen/frames/frame_196.txt b/src/build/framegen/frames/frame_196.txt new file mode 100644 index 000000000..9f6a2941d --- /dev/null +++ b/src/build/framegen/frames/frame_196.txt @@ -0,0 +1,41 @@ + + ++++==********===+++ + x+==*%**++~· ·~++**%*==++ + xx**=%+x x+%=**xx + ++==x ~ox+====+xo~ x==++ + **++ +%@@@@@@@@@@@@@@@@@@@@%+ ++** + **+o +$@@@@$$$$$$$$$$$$$$$$$$$$@@@@$+ o+** + ==+~ x$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$x ~+*= + ++++ =@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@= ++++ + ox== x@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@x ==xo + ==+· $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ ·+== + ox== @$$$$@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ ==xo + +++x @$$$$@= +$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ x+++ + == *$$$$@% +$@@@$$$$$$$$$@@@@@@@@@@@@@@@@$$$$$$$* == + == @$$$$$$· =$@$$$$$@@%%%%%%%%%%%%%%%%@@$$$$$@ == + == $$$$$$$@@*o $$$$$= ~$$$$$$ == + == ~@$$$$$$$@@@$x $$$$@ @$$$$@~ == + == ·@$$$$$@@o ·$$$$$$@+ o$$$$$$@· == + == ·@$$$$$$ =$@@@$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$@· == + == ·@$$$$$$ +$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$@%==$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + == x@@$$$$$$$$$$$@@@@@@@$$$$$$$$$$$$@@@@@@@$$$$$$$$$$$@@+ == + ==++ *@@@@@@@@@@@%x ~=@@@@@@@@@@@@=~ x%@@@@@@@@@@@% ++== + xx==+· o=***=x ~+****+~ x=***=x ·x==++ + ====xo xx x+ ox==== + ======+x =+=*====++ ++====*=+= x+*===== + ++==***%********++++==************==++++********%***==++ + ++++++++++ +x++++++++x+ ++++++++++ + + diff --git a/src/build/framegen/frames/frame_197.txt b/src/build/framegen/frames/frame_197.txt new file mode 100644 index 000000000..d7b48f2c1 --- /dev/null +++ b/src/build/framegen/frames/frame_197.txt @@ -0,0 +1,41 @@ + + x+++==********===+xx + x+==*%**++~· ·~++**%*==++ + xx**=*+x x+*=**xx + ++**xo ·ox+====+xo· ox=*++ + **++ x%@@@@@@@@@@@@@@@@@@@@%x ++** + **+o +$@@@@$$$$$$$$$$$$$$$$$$$$@@@@$+ o+** + =*+o x$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@$x o+*= + ++++ =@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@= ++++ + ox== x@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@x ==xo + ==+· $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ ·+== + ox== @@$$$@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ ==xo + +++x @$$$$@* +$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ x+++ + == *$$$$@% =@@@@$$$$$$$$$@@@@@@@@@@@@@@@@$$$$$$$* == + == @$$$$$$· =$@$$$$$@@$%%%%%%%%%%%%%%%@@$$$$$@ == + == $$$$$$$@@*o $$$$$= ~$$$$$$ == + == ·@$$$$$$$@@@$x $$$$@ @$$$$@· == + == ·@$$$$$@@o ·%$$$$$@+ o$$$$$$@· == + == ·@$$$$$$ =$@@@$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$@· == + == ·@$$$$$$ +$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$@%+=$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + == ~@@$$$$$$$$$$$@@@@@@@@$$$$$$$$$$@@@@@@@@$$$$$$$$$$$@@o == + ++++ +@@@@@@@@@@@*~ x$@@@@@@@@@@$x ·*@@@@@@@@@@@= ++++ + ox==+o x+=+x· o+==+o ·x+=+x· ~+==+x + ++==+x == == xx==++ + ++====++ ox*+==**==+= =+=***==+*xo ++====++ + ++==**********==++++++************++++++==**********==++ + ++++++++ xx++++xx ++++++++ + + diff --git a/src/build/framegen/frames/frame_198.txt b/src/build/framegen/frames/frame_198.txt new file mode 100644 index 000000000..4195da5e9 --- /dev/null +++ b/src/build/framegen/frames/frame_198.txt @@ -0,0 +1,41 @@ + + xx++==********===+xx + x++=****==x· ·x==****=+++ + x+=*=*+x x+*=*=+x + ++**+x ~x++==++x~ x+**++ + **++ x*@@@@@@@@@@@@@@@@@@@@*x ++** + **+x x%@@@@$$$$$$$$$$$$$$$$$$$$@@@@%x xx** + ==+o o$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@$o o+== + ++++ +@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@+ ++++ + xx== x@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@x ==xx + ==+· $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ ·+== + ox== @@$$$@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ ==xo + +++x @$$$$@* =@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ x+++ + == *$$$$@% ·=@@@@$$$$$$$$$@@@@@@@@@@@@@@@@$$$$$$$* x== + == @$$$$$$ ·*@@$$$$$@@$%%%%%%%%%%%%%%%@@$$$$$@ == + == $$$$$$$@@*~ $$$$$= o$$$$$$ == + == ~@$$$$$$$@@@@+ $$$$@ @$$$$@~ == + == ·@$$$$$@@x %$$$$$@x ~$$$$$$@· == + == ·@$$$$$$ +$@@@$$$$$$@@@@@@@@@@@@@@@@@@@$$$$$@· == + == ·@$$$$$$ +$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$@@*+=$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + ==x· @@@$$$$$$$$$@@@@@@@@@$$$$$$$$$$@@@@@@@@@$$$$$$$$$@@@ ·x== + ++++ ~%@@@@@@@@@$x ·*@@@@@@@@@@*· x$@@@@@@@@@%o ++++ + ox==+x ~oo· ~oo~ ·ooo x+==xo + ++==++ +%% %%+o ++==++ + ++=*===*xx ~ ++*=**==**+*++ ++*=**==**=*++ ~ xx*===*=++ + ++==********++xx ++==********==++ xx++********==++ + + + diff --git a/src/build/framegen/frames/frame_199.txt b/src/build/framegen/frames/frame_199.txt new file mode 100644 index 000000000..d926eed9a --- /dev/null +++ b/src/build/framegen/frames/frame_199.txt @@ -0,0 +1,41 @@ + + x+++===******====++x + x+==***%=*xo ox==%***==++ + xx=*=*++ ++*=*=xx + ++**++ ~ox++++xo~ ++**++ + **++ o*$@@@@@@@@@@@@@@@@@@$*o ++** + **+x o%@@@@$$$$$$$$$$$$$$$$$$$$@@@@%o x+** + ==+o ~$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@$~ o+== + ++++ +@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@+ ++++ + ox== o@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@o ==xo + ==+~ $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ ~+== + ox== @@$$$@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ ==xo + +++x @$$$$@* ·=@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ x+++ + ==+ *@$$$@% ~*@@@@$$$$$$$$$$@@@@@@@@@@@@@@@$$$$$$@* x== + == @$$$$$$ ~*@@$$$$$@@$%%%%%%%%%%%%%%$@@$$$$$@ == + == $$$$$$$@$=· $$$$$* x$$$$$$ == + == ·@$$$$$$$@@@@+ $$$$@ @$$$$@· == + == ·@$$$$$@@+ %@$$$$$o ·$$$$$$@· == + == ·@$$$$$$ x$@@@$$$$$$@@@@@@@@@@@@@@@@@@@$$$$$@· == + == ·@$$$$$$ x$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$@@*x+%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + ==+· @@@$$$$$$$$$@@@@@@@@@$$$$$$$$$$@@@@@@@@@$$$$$$$$$@@@ ·+== + ++++ %@@@@@@@@@%o =$@@@@@@@@$= ~%@@@@@@@@@%· ++++ + ==+x ·· ·· ··· x+== + x+==++ ++%% %*++ ++*=xx + xx==**=*++xxxx+=*=**==**=%=+xxxx+=*=**==**=*=+xxoo++*=**==xx + ++++******==++xx ++++********++++ xx++==******==++ + + + diff --git a/src/build/framegen/frames/frame_200.txt b/src/build/framegen/frames/frame_200.txt new file mode 100644 index 000000000..86ebca6d1 --- /dev/null +++ b/src/build/framegen/frames/frame_200.txt @@ -0,0 +1,41 @@ + + xx++=====**=====++xx + +++=***%**++~· ·~++**%***++++ + xx==*%=+ +=%*==xx + ++**++ ~~oooo~~ ++**++ + ==== ·+%@@@@@@@@@@@@@@@@@@%+· ==== + **+x ~*@@@@@$$$$$$$$$$$$$$$$$$@@@@@*~ x+** + ==+x ·%@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@%· x+== + ++=+ x@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@x +=++ + ox== ·@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@· ==xo + ==+~ %@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% ~+== + ox== @@$$$@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ ==xo + +++x $$$$$@%· o%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ x+++ + ==+· =@$$$@$ o%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= ·+== + == @$$$$$$ x%@@$$$$$@@@$$$$$$$$$$$$$$$@@$$$$$@ == + == $$$$$$$@$+ ~$$$$$* +$$$$$$ == + == ~@$$$$$$$@@@@+ $$$$@ @$$$$@~ == + == ·@$$$$$$@= *$$$$$$· %$$$$$@· == + == ·@$$$$$$ o%@@@$$$$$$@@@@@@@@@@@@@@@@@@@$$$$$@· == + == ·@$$$$$$ o*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$@@=ox*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ == + == @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ == + ==+· $@@$$$$$$$$$@@@@@@@@@@$$$$$$$$@@@@@@@@@@$$$$$$$$$@@$ ·+== + +++= =$@@@@@@@@* x%@@@@@@@@%x *@@@@@@@@@* ++++ + ==++ +=== + xx=*=+ ++%%+x x+%%++ +=**+x + ++**=*=+++++=**=**++**=%==++++==%=**++**=**=+++++=*=**++ + xx++======++++ ++========++ ++++==**==++xx + + + diff --git a/src/build/framegen/frames/frame_201.txt b/src/build/framegen/frames/frame_201.txt new file mode 100644 index 000000000..65a82d3bc --- /dev/null +++ b/src/build/framegen/frames/frame_201.txt @@ -0,0 +1,41 @@ + + xx++============++xx + ++++**%%**==xo~~~~ox==**%%**++++ + xx==**== ==**==xx + ++**+= ·~~~~· =+**++ + ===+ x*$@@@@@@@@@@@@@@@@$*x +=== + **++ =@@@@@$$$$$$$$$$$$$$$$$$@@@@@= ++** + ==++ *@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@* ++== + ++=+ ~@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@~ +=++ + xx== @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ ==xo + ==+o *@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* o+== + ox== $@$$$@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ ==xo + +++x $@$$$@$o x%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ x+++ + ==+· +@$$$$$ +$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ ·+== + == @$$$$$$ +$@@$$$$$@@@@@@@@@@@@@@@@@@@@$$$$$@ == + == $$$$$$$@%x o$$$$$% =$$$$$$ == + == ·@$$$$$$$@@@@+ $$$$@ @$$$$@· == + == ·@$$$$$$@*~ +$$$$$$ *$$$$$@· == + == ·@$$$$$$ ·*@@@$$$$$@@@@@@@@@@@@@@@@@@@@$$$$$@· == + == ·@$$$$$$ ·=@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$@@+·~=@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ == + == @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ == + ==+· %@@$$$$$$$$$@@@@$$@@@@$$$$$$$$@@@@$$@@@@$$$$$$$$$@@$ ·+== + x+== +$@@@@@@@$* o%@@@@@@@@%o *$@@@@@@@$= ==++ + ==++ ++== + ===+ ==%%++ ++%%== +=== + ++**=%==++++****==++**=***++++***=**++==****++++==%***++ + ++======++++ x++======+++ ++++======++ + + + diff --git a/src/build/framegen/frames/frame_202.txt b/src/build/framegen/frames/frame_202.txt new file mode 100644 index 000000000..d0f7f0f48 --- /dev/null +++ b/src/build/framegen/frames/frame_202.txt @@ -0,0 +1,41 @@ + + ++++++====++++++ + xx+=***%%%**==++++==**%%%***=+xx + ox==**=*x ox*=**==xo + ++**+= =+**++ + ==== ~+%$@@@@@@@@@@@@@@$%+~ ==== + ===+ x%@@@@@$$$$$$$$$$$$$$$$@@@@@%x +=== + ===+ +@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$@@@@+ +=== + ++=+ %@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@% +=++ + ox== %@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@% ==xo + ==+x x@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@x x+== + ox== %@$$$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% ==xo + ++++ %@$$$@@+~o=@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% ++++ + ==+· x@$$$$$ ~*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x ·+== + == @$$$$$$ ~*@@@$$$$$@@@@@@@@@@@@@@@@@@@@$$$$$@ == + == $$$$$$$@=· =$$$$$$ %$$$$$$ == + == ·@$$$$$$$@@@@+ $$$$@ @$$$$@· == + == ·@$$$$$$@$x o$$$$$% +$$$$$@· == + == ·@$$$$$$ x$@@$$$$$@@@$$$$$$$$$$$$$$@@@$$$$$@· == + == ·@$$$$@$ x%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$@$~ x%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ == + == @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ == + ==+~ %@@@$$$$$$$$@@@@$$@@@@$$$$$$$$@@@@$$$@@@$$$$$$$$@@@% ·+== + ++== +$@@@@@@@$= ~%@@@@@@@@%~ =$@@@@@@@$+ ==xx + ===+ +=== + ==== ==%%++ ++%%+= ==== + ++**=***++==%***==++***%**++++**%***++==***%==++**%=**++ + x+++==++++ x+++====+++x ++++++++++ + + + diff --git a/src/build/framegen/frames/frame_203.txt b/src/build/framegen/frames/frame_203.txt new file mode 100644 index 000000000..d3e837345 --- /dev/null +++ b/src/build/framegen/frames/frame_203.txt @@ -0,0 +1,41 @@ + + ++++++++++++++++ + ++*****%*%=******=%*%*****++ + ++**=*++ x+*=**++ x + ++**+= =+**++ + ====ox o=%@@@@@@@@@@@@@@%=o xo==== + ===+ ~*@@@@@@$$$$$$$$$$$$$$@@@@@@*~ +=== + ===+ o$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$@@@$o +=== + ++== *@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@* ==++ + ox== *@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@* ==xo + ==+x o@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@o x+== + ox== =@$$$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= ==xo + ++++ *@$$$@@*x+%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* ++++ + ==x· ~@$$$$$ x%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ ·x== + == @$$$$$$ x$@@@$$$$$$@@@@@@@@@@@@@@@@@@@$$$$$@ == + == $$$$$$@@+ %@$$$$$o ·$$$$$$$ == + == ·@$$$$$$$@@@@+ $$$$@ @$$$$@· == + == ·@$$$$$$@$=· $$$$$* x$$$$$@· == + == ·@$$$$$$ ~*@@$$$$$@@$%%%%%%%%%%%%%%$@@$$$$$@· == + == ·@$$$$@% ~*@@@@$$$$$$$$$$@@@@@@@@@@@@@@@$$$$$$$@· == + == ·@$$$$$@* ·=@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ == + == @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$$$$$$$$$$$$$$$@@ == + ==+~ %@@@$$$$$$$$@@@$$$@@@@$$$$$$$$@@@@$$$@@@$$$$$$$$@@@% ·+== + xx== x%@@@@@@@$= ~*@@@@@@@@*~ =$@@@@@@@$+ ==xx + ===+ +=== + ====o ==%%++ ++%%== ==== + ++***%**====%***++++==***%====%***==++++***%====***=**++ + xx++++++++ ++====++ ++++=+++xx + + + diff --git a/src/build/framegen/frames/frame_204.txt b/src/build/framegen/frames/frame_204.txt new file mode 100644 index 000000000..4333a6acd --- /dev/null +++ b/src/build/framegen/frames/frame_204.txt @@ -0,0 +1,41 @@ + + xx++++++++++++xx + ++==***%*%*%%%%%%*%*%***==++ + ++**=*== ==*=**++ + ++**=*++ ++*=**++ + ++**++ ~+*%@@@@@@@@@@%*+~ ++**++ + ==== o*@@@@@@@$$$$$$$$$$@@@@@@@*o ==== + ==== =@@@@$$$$$$$$$$$$$$$$$$$$$$$$@@@@= ==== + ++== x@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@x ==++ + xx==x· x@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@x ·x==xx + ++++ @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ ++++ + ox== o@$$$$$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@o ==xo + ++++ x@$$$$@$*%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x ++++ + ==+~ @$$$$$ o*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ ~+== + == $$$$$@$ o%@@@$$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$$ == + == @$$$$$@%· x$$$$$$@*· +@$$$$$@ == + == ·@$$$$$$$@@@*· $$$$@~ @$$$$@· == + == ·@$$$$$$@@$+ $$$$$x @$$$$@· == + == ·@$$$$$$o x%@$$$$$@@*===============$@$$$$$@· == + == ·@$$$$@% o%@@@@$$$$$$$$@@@@@@@@@@@@@@@@$$$$$$$@· == + == ·@$$$$$$x o%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ == + == @@$$$$$$$$$$$$$$$@$$$$$$$$$$$$$$$$$$@$$$$$$$$$$$$$$$@@ == + ==+~ *@@@$$$$$$$@@@@$$$@@@@$$$$$$$$@@@@$$$@@@@$$$$$$$@@@% ·+== + xx== x%@@@@@@@$+ ~*@@@@@@@@*~ +$@@@@@@@$+ ==+x + ++=+ +=++ + ++==ox ==%%++ ++%%== o==++ + ++***%**====%***++++==***%====%***==++++***%====**%***++ + +++++++x ++++++++ ++++++++ + + + diff --git a/src/build/framegen/frames/frame_205.txt b/src/build/framegen/frames/frame_205.txt new file mode 100644 index 000000000..ce0f1cf9a --- /dev/null +++ b/src/build/framegen/frames/frame_205.txt @@ -0,0 +1,41 @@ + + xx++++++++++++xx + ++==****%%*%%%%%%*%%****==++ + ++****=*++ ++*=****++ + ++====+= =+====++ + ++**++ ~x=%$$@@@@$$%=+~ ++**++ + ++==oo +%@@@@@@@@$$$$$$@@@@@@@@%+ oo==++ + ++== o$@@@@$$$$$$$$$$$$$$$$$$$$$$@@@@$o ==++ + ++==~ %@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@% ~==++ + ox==+~ $@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$ ~+==xo + ++++ %@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% ++++ + == @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ == + ++++ ~@$$$$@@$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ ++xx + ==+~ @$$$$$· +$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ ~+== + == $$$$$@$ =$@@@$$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$$ == + == @$$$$$$= *@$$$$$@$xoooooooooooooox*@$$$$$@ == + == $$$$$$$@@@%x $$$$$o @$$$$$ == + == ·@$$$$$$@@@%x $$$$@o @$$$$@· == + == ·@$$$$$@= =@$$$$$@$xooooooooooooooo*@$$$$$@· == + == ·@$$$$@$ +$@@@$$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$@· == + == ·@$$$$$$· +$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$@@$$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ == + == @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$$$$$$$$$$$$$$$@@ == + ==+~ %@@@$$$$$$$$@@@$$$@@@@$$$$$$$$@@@@$$$@@@$$$$$$$$@@@% ·+== + xx== +%@@@@@@@$= ~%@@@@@@@@%~ =$@@@@@@@$+ ==xo + ++=+ +=++ + ++*=ox ==%%++ ++%%== o==++ + x+***%**====%***++++==***%====%***==++++***%====**%***++ + ++++++++ ++++++++ ++++++++ + + + diff --git a/src/build/framegen/frames/frame_206.txt b/src/build/framegen/frames/frame_206.txt new file mode 100644 index 000000000..6c1c344c2 --- /dev/null +++ b/src/build/framegen/frames/frame_206.txt @@ -0,0 +1,41 @@ + + ++++++++++++ + ++++==*******%%*******==++++ + ++==**=***++ ++***=**==++ + ++==**=*+o o+*=**==++ + ++====x ·o++====++o· ====++ + ++==++ +%@@@@@@@@@@@@@@@@@@@@%+ ++==++ + ++==xo +$@@@@$$$$$$$$$$$$$$$$$$$$@@@@$+ ox==++ + ++==+~ x@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@x ~+==++ + ==+x =@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@= x=== + ++== x@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@x ==++ + ==x· $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ ·x== + ++== @$$$$@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ ==++ + +++x @$$$$$= +$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ x+++ + == *$$$$@% =$@@@$$$$$$$$$@@@@@@@@@@@@@@@@$$$$$$$* == + == @$$$$$$· =$@$$$$$@@%**************%@@$$$$$@ == + == $$$$$$$@@*o $$$$$= ~$$$$$$ == + == ~@$$$$$$$@@@$x $$$$@ @$$$$@~ == + == ·@$$$$$@$o ·$$$$$$@+ o$$$$$$@· == + == ·@$$$$$$ =@@@@$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$@· == + == ·@$$$$$$ =$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$@%==$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ == + == @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ == + ==+· %@@@$$$$$$$$@@@@$$@@@@$$$$$$$$@@@@$$@@@@$$$$$$$$$@@$ ·+== + xx== +$@@@@@@@$= o%@@@@@@@@%o =$@@@@@@@$= ==xx + ++=+ +=++ + ++== ==%%++ ++%%== ==++ + x+=*=***++==%***++xx==*%**====**%*==xx++***%==++***=**+x + ++++++++ ++++++++ ++++++++ + + + diff --git a/src/build/framegen/frames/frame_207.txt b/src/build/framegen/frames/frame_207.txt new file mode 100644 index 000000000..167764b96 --- /dev/null +++ b/src/build/framegen/frames/frame_207.txt @@ -0,0 +1,41 @@ + + ++xxxx++ + xx++==****************==++xx + x+==**==*%=*++oo oo++*=%*==**==++ + xx++**=*+= =+*=**++xx + ++====++ ~oooo~ ++====++ + ++===+ +%@@@@@@@@@@@@@@@@@@%+ +===++ + ++==+x ·*@@@@@$$$$$$$$$$$$$$$$$$@@@@@*· x+==++ + x+==+x %@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@% x+==+x + ==++ o@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@o +=== + ++== ·@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@· ==++ + ==+~ *@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* ~+== + ++== $@$$$@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ ==++ + +++x $$$$$@$~ x%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ x+++ + ==x· =@$$$@$ x%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= ·+== + == @$$$$$$ x%@@$$$$$@@@@@@@@@@@@@@@@@@@@$$$$$@ == + == $$$$$$$@$x o$$$$$* +$$$$$$ == + == ·@$$$$$$$@@@@+ $$$$@ @$$$$@· == + == ·@$$$$$$@*· =$$$$$$· %$$$$$@· == + == ·@$$$$$$ ~*@@@$$$$$@@@@@@@@@@@@@@@@@@@@$$$$$@· == + == ·@$$$$$$ ~*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$@@+~o*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ == + == @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ == + ==+· $@@$$$$$$$$$@@@@$@@@@@$$$$$$$$@@@@@$@@@@$$$$$$$$$@@$ ·+== + xx== =$@@@@@@@@* o%@@@@@@@@%o *@@@@@@@@$= ==+x + ++=+ +=++ + ++== ==%%++ ++%%== ==++ + x+**=%*=++++%***++++==*%**++++**%*==++++***%++++==%=**++ + ++++++++ ++++++++ ++++++++ + + + diff --git a/src/build/framegen/frames/frame_208.txt b/src/build/framegen/frames/frame_208.txt new file mode 100644 index 000000000..3d3c0e0e6 --- /dev/null +++ b/src/build/framegen/frames/frame_208.txt @@ -0,0 +1,41 @@ + + + xx++====********====++xx + ++==**=**%****++++****%**=**==++ + ++=====%+x x+*=====++ + ++====== ======++ + ++====xx o=%$@@@@@@@@@@@@$%=o xx====++ + ++===+ ·*$@@@@@$$$$$$$$$$$$$$@@@@@$*· +===++ + xx===+ o$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$@@@$o +===xo + ==++ *@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@* ++== + ++== *@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@* ==++ + ==+x ~@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@~ x+== + xx== =@$$$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= ==xx + ++++ *@$$$$@*x+%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* ++++ + ==+· ~@$$$$$ x$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ ·+== + == @$$$$$$ +$@@@$$$$$$@@@@@@@@@@@@@@@@@@@$$$$$@ == + == $$$$$$@@+ %$$$$$@x ·$$$$$$$ == + == ·@$$$$$$$@@@@x $@$$@ @$$$$@· == + == ·@$$$$$$@@*· $$$$$= x$$$$$@· == + == ·@$$$$$$ ~*@@$$$$$@@$$$$$$$$$$$$$$%$@@$$$$$@· == + == ·@$$$$$% ~=@@@@$$$$$$$$$$@@@@@@@@@@@@@@$$$$$$$$@· == + == ·@$$$$$@* ·*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + ==x· $@@$$$$$$$$$@@@@@@@@@$$$$$$$$$$@@@@@@@@@$$$$$$$$$@@@ ·+== + xx== *@@@@@@@@@%~ +$@@@@@@@@$+ ~%@@@@@@@@@* ==xx + ===+ ++== + ===+ ++%% $$++ +=== + ++**=%+++x++****=+++===*==++x+==*===+++=*%**++++++****++ + ++++====++ ++====++ ++====+++x + + + diff --git a/src/build/framegen/frames/frame_209.txt b/src/build/framegen/frames/frame_209.txt new file mode 100644 index 000000000..ad5268110 --- /dev/null +++ b/src/build/framegen/frames/frame_209.txt @@ -0,0 +1,41 @@ + + + xx++++============++++xx + ++====**=**%%%****%%%**=**====++ + ++====**=*o~ ~o*=**====++ + ======++ ++====== + x+====++ ~+*%$@@@@@@@@$%*+~ ++====++ + xx==== o%@@@@@@@$$$$$$$$$$@@@@@@@%o ====xx + ==== =@@@@$$$$$$$$$$$$$$$$$$$$$$$$@@@@= ==== + =+== o@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@o ==++ + x+==x· x@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@x ·x==+x + ==++ @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ ++== + xx== o@$$$$$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@o ==xx + ++++ x@$$$$@@%%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x ++++ + ==+~ @$$$$$ o%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ ~+== + == $$$$$@$ o%@@@$$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$$ == + == @$$$$$@% x@$$$$$@*· +@$$$$$@ == + == ·@$$$$$$@@@@*· $$$$@~ @$$$$@· == + == ·@$$$$$$@@$+ $$$$$+ @$$$$@· == + == ·@$$$$$$x x%@$$$$$@@*++++++++++++++=$@$$$$$@· == + == ·@$$$$$$ o%@@@@$$$$$$$$@@@@@@@@@@@@@@@@$$$$$$$@· == + == ·@$$$$$$x o%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + ==x· @@@$$$$$$$$$@@@@@@@@@$$$$$$$$$$@@@@@@@@@$$$$$$$$$@@@ ·x== + xx++ ·%@@@@@@@@@%o =@@@@@@@@@@= o%@@@@@@@@@%~ ++++ + ==+x ·~~ ·~~· ~~~ x+== + ==++ x+%% %%++ +=== + ++**=%++ooox==*===++**=%++xoox++%=**++===*==xooo++%=**++ + ++++==++++ ++++====+++x ++++==++++ + + + diff --git a/src/build/framegen/frames/frame_210.txt b/src/build/framegen/frames/frame_210.txt new file mode 100644 index 000000000..d2748c704 --- /dev/null +++ b/src/build/framegen/frames/frame_210.txt @@ -0,0 +1,41 @@ + + + xx++++++++++++++++++ + ++++==****=***%%%%***=****==++++ + ++++=====%==o~ ~o==%=====++++ + ++====+= =+====++ + =====+ ~x=**%%%%**=x~ +===== + ====++ o*$@@@@@@@@@@@@@@@@@@@@$*o ++==== + ====o~ ·*@@@@$$$$$$$$$$$$$$$$$$$$$$@@@@*· ~o==== + ++==x· =@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@= ·x==++ + xx==+o %@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@% o+==xx + =+++ *@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@* +++= + ox==x· @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ ·x==xo + ++++ @$$$$@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ ++++ + ==+o @$$$$$x o%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ o+== + == %$$$$@% o*@@@@$$$$$$$$@@@@@@@@@@@@@@@@@$$$$$$% == + == @$$$$$$x x%@$$$$$@@=++++++++++++++=$@$$$$$@ == + == $$$$$$$@@$=· $$$$@x @$$$$$ == + == ·@$$$$$$@@@@*· $$$$@~ @$$$$@~ == + == ·@$$$$$@% x@$$$$$@*~ ·+@$$$$$@· == + == ·@$$$$@% x%@@@$$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$@· == + == ·@$$$$$$ o%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$@$%%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + ==x ·@@$$$$$$$$$$$@@@@@@@@$$$$$$$$$$@@@@@@@@$$$$$$$$$$$@@~ == + x+++ x$@@@@@@@@@@= o%@@@@@@@@@@%o =@@@@@@@@@@$x ++++ + ==+o ox++o ~x++x~ o++xo o+== + **+x ** ** x+** + ++**==o~ ++*+**++**+*xo ox*=**++**=*++ ~o=+**=+ + ++==***=++++ ++==****==++ x+++=***==++ + + + diff --git a/src/build/framegen/frames/frame_211.txt b/src/build/framegen/frames/frame_211.txt new file mode 100644 index 000000000..cb7316752 --- /dev/null +++ b/src/build/framegen/frames/frame_211.txt @@ -0,0 +1,41 @@ + + + ++++++++++++++++ + ++++==****************==++++ + ++===****%++~~ ~~++%***====++ + ++=====*+x x+*=====++ + ++====xx ·ox+====+xo· xx====++ + ====++ x%$@@@@@@@@@@@@@@@@@@$%x ++==== + ++==+x x$@@@@$$$$$$$$$$$$$$$$$$$$@@@@$x x+==++ + ++==+o x$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$x o+==++ + ox==++ =@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@= ++==xo + +++= x@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@x =+++ + ox==+· $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ ·+==xo + ++== @@$$$@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ ==++ + ==+x @$$$$@= =$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ x+== + == *$$$$$$ =$@@@$$$$$$$$$@@@@@@@@@@@@@@@@$$$$$$$* == + == @$$$$$$ ·=@@$$$$$@@$%%%%%%%%%%%%%%%@@$$$$$@ == + == $$$$$$$@@*~ $$$$$= o@$$$$$ == + == ~@$$$$$$$@@@@x $$$$@ @$$$$@~ == + == ·@$$$$$@$x %$$$$$@x o$$$$$$@· == + == ·@$$$$$$ +$@@@$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$@· == + == ·@$$$$$$ +$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$@%+=$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + == o@@$$$$$$$$$$$@@@@@@@$$$$$$$$$$$$@@@@@@@$$$$$$$$$$$@@x == + ++++ =@@@@@@@@@@@%o +$@@@@@@@@@@$+ o%@@@@@@@@@@@* ++++ + **+~ ~+===+o x====x o+=*=+~ ~+** + **+x ++ ++ xx** + ==**++ ~o*+**==**+= =+**==**=*o~ ++==== + +==****==+++ ++=******=++ ++==*****==+ + + + diff --git a/src/build/framegen/frames/frame_212.txt b/src/build/framegen/frames/frame_212.txt new file mode 100644 index 000000000..c082df71b --- /dev/null +++ b/src/build/framegen/frames/frame_212.txt @@ -0,0 +1,41 @@ + + + ++++++++ + ++++==************==++++ + ++++****=***=+xo~~~~ox+=%**=****++++ + xx++===*== =+*===++xx + ++====++ ·~~~~· ++====++ + ++===+ x*$@@@@@@@@@@@@@@@@$*x +===++ + ++==++ =@@@@@$$$$$$$$$$$$$$$$$$@@@@@= ++==++ + x+===+ *@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@* +===xx + ==++ ~$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$~ ++== + ++== @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ ==++ + ==+o *@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* o+== + ++== $@$$$@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ ==++ + +++x $@$$$@$o x$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ x+++ + ==x· +@$$$$$ +$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ ·x== + == @$$$$$$ +$@@$$$$$@@@@@@@@@@@@@@@@@@@@$$$$$@ == + == $$$$$$@@%x x$$$$$% =$$$$$$ == + == ·@$$$$$$$@@@@= $@$$@ @$$$$@· == + == ·@$$$$$@@*~ +$$$$$% *$$$$$@· == + == ·@$$$$$$ ·=@@@$$$$$@@@@@@@@@@@@@@@@@@@@$$$$$@· == + == ·@$$$$$$ ·=$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$@@x·~=$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + == =@@$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$@@* == + +++x $@@@@@$$@@@@@*x~o+%@@@@@$$@@@@@%+o~o=$@@@@$$$@@@@$· x+++ + **~· ~=%$$$%=o +*$$$$*+ o=%$$$%=~ ** + xx**o~ ~·**xx + xx**+* ++****=*+x x+*=****++ *+**xx + ++==*%%%%%**== x++=*%%%%%%*++++ ==**%%%%%*==++ + + + diff --git a/src/build/framegen/frames/frame_213.txt b/src/build/framegen/frames/frame_213.txt new file mode 100644 index 000000000..61e121870 --- /dev/null +++ b/src/build/framegen/frames/frame_213.txt @@ -0,0 +1,41 @@ + + + + x+++====********====++++ + ++==**=**%**++++++++**%**=**==++ + ++=*=*=* *=*=*=++ + x+====+= =+====++ + ++===+ ·+%$@@@@@@@@@@@@@@$%+· +===++ + x+==++ x%@@@@@$$$$$$$$$$$$$$$$@@@@@%x ++==+x + xx==++ +@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$@@@@+ ++==xx + ==++ %@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@% ++== + ++== $@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$ ==++ + ==+x +@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@+ x+== + ++== %@$$$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% ==++ + ++++ %@$$$@@+~o*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% ++++ + ==+· x@$$$$$ ~*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x ·+== + == @$$$$$$ ~*@@@$$$$$@@@@@@@@@@@@@@@@@@@@$$$$$@ == + == $$$$$$@@*· =$$$$$$· *$$$$$$ == + == ·@$$$$$$$@@@@+ $$$$@ @$$$$@· == + == ·@$$$$$$@%x o$$$$$* =$$$$$@· == + == ·@$$$$$$ +$@@$$$$$@@@@@@@@@@@@@@@@@@@@$$$$$@· == + == ·@$$$$$$ x%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$@$~ x%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + == %@$$$$$$$$$$$$$@@@@@$$$$$$$$$$$$$$@@@@@$$$$$$$$$$$$$@$ == + +++o o@@@@$$$$$@@@@%*+=*$@@@$$$$$$@@@$*=+=%@@@@$$$$$@@@@x o+++ + ** +%@@@@@%+ o*$@@@@$*o +%@@@@@%+ **xo + x+** **++ + x+**++ ox****== ==****xo =+**++ + +=**%%%%%%%*==+x ++==*%%%%%%%==++ x+==*%%%%%%%**=+ + + + diff --git a/src/build/framegen/frames/frame_214.txt b/src/build/framegen/frames/frame_214.txt new file mode 100644 index 000000000..7eb9facaa --- /dev/null +++ b/src/build/framegen/frames/frame_214.txt @@ -0,0 +1,41 @@ + + + + ++++++========++++++ + ++==*****%%%********%%%*****==++ + ++==**=*=+ ++*=**==++ + ++**+= =+**++ + xx====ox ~=%$@@@@@@@@@@@@$%=~ xo====xx + x+===+ ·=@@@@@@$$$$$$$$$$$$$$@@@@@@=· +===+x + ===+ ~%@@@$$$$$$$$$$$$$$$$$$$$$$$$$$@@@%~ +=== + ++== =@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@= ==++ + x+== =@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@= ==+x + ==+x ~@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@~ x+== + xx== =@$$$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= ==xx + ++++ =@$$$$@*++$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= ++++ + ==+· ~@$$$$$ +$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ ·+== + == @$$$$$$ +$@@@$$$$$$@@@@@@@@@@@@@@@@@@@$$$$$@ == + == $$$$$$@@x %$$$$$@x ~$$$$$$$ == + == ·@$$$$$$$@@@@x $$$$@ @$$$$@· == + == ·@$$$$$$@@=~ $$$$$= o@$$$$@· == + == ·@$$$$$$ ~=@@$$$$$@@$%%%%%%%%%%%%%%$@@$$$$$@· == + == ·@$$$$$$ ·*@@@@$$$$$$$$$$@@@@@@@@@@@@@@@$$$$$$$@· == + == ·@$$$$$@* ·=$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ == + == @@$$$$$$$$$$$$$$$@$$$$$$$$$$$$$$$$$@@$$$$$$$$$$$$$$$@@ == + ==+~ %@@@$$$$$$$$@@@$$$@@@@$$$$$$$$@@@@$$$@@@$$$$$$$$@@@% ·+== + xx== +$@@@@@@@$+ ~*@@@@@@@@*~ +$@@@@@@@$+ ==xx + ++=+ +=++ + ++**oo ==%%++ ++$$== oo==++ + x+==*%*%====****++++++*%**====**%*++++++**=*====*=%*==++ + ++++++ ++++++++ ++++++ + + diff --git a/src/build/framegen/frames/frame_215.txt b/src/build/framegen/frames/frame_215.txt new file mode 100644 index 000000000..5ca0d40ad --- /dev/null +++ b/src/build/framegen/frames/frame_215.txt @@ -0,0 +1,41 @@ + + + + x ++++++====++++++ x + xx++*******%*%%**%%*%*******++xx + xx+=****== ==****=+xx + ++**+*x x*+**++ + ====x+ x*%$@@@@@@@@@@$%*x +x==== + ==== +$@@@@@@$$$$$$$$$$$$@@@@@@$+ ==== + ==++ *@@@@$$$$$$$$$$$$$$$$$$$$$$$$@@@@* ++== + ++== +@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@+ ==++ + xx==x· +@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@+ ·x==xx + ==++ @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ ++== + xx== +@$$$$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ ==xo + ++++ +@$$$$@%=*$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ ++++ + ==+· @$$$$$ =$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ ·+== + == @$$$$@$ ·=@@@@$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$@ == + == @$$$$$@$o ~$$$$$$@+ o@$$$$$@ == + == ·@$$$$$$$@@@$o $$$$@ @$$$$@· == + == ·@$$$$$$@@*x $$$$@= ~@$$$$@· == + == ·@$$$$$$~ +$@$$$$$@@%***************@@$$$$$@· == + == ·@$$$$@$ +$@@@$$$$$$$$$@@@@@@@@@@@@@@@@$$$$$$$@· == + == ·@$$$$$$= +$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + ==x· $@@$$$$$$$$$@@@@@@@@@$$$$$$$$$$@@@@@@@@@$$$$$$$$$@@@ ·x== + xx== *@@@@@@@@@%o =@@@@@@@@@@= o%@@@@@@@@@%· +++x + ==++ ·~· ~~ ·~· x+== + ==++ x+%% %%+x ++== + ++**=*++xox+==%*==++===%==xoox==%===++==*%==+xoo++*=**++ + +++++===++ +++==+++ +++===++++ + + diff --git a/src/build/framegen/frames/frame_216.txt b/src/build/framegen/frames/frame_216.txt new file mode 100644 index 000000000..0b06bcd29 --- /dev/null +++ b/src/build/framegen/frames/frame_216.txt @@ -0,0 +1,41 @@ + + + + x+++++++++++++xx + ++==*****%%%%%%%%%%*****==++ + ++**=*=* *=*=**++ + ++**=*++ ++*=**++ + ++**x+ ~+*$$@@@@@@@@$$*+~ +x**++ + ==== o%@@@@@@@$$$$$$$$$$@@@@@@@%o ==== + ++== =@@@@$$$$$$$$$$$$$$$$$$$$$$$$@@@@= ==++ + ++== o@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@o ==++ + ox==x· x@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@x ·x==xo + ++++ @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ ++++ + == o@$$$$$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@o == + ++++ x@$$$$@$%%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x ++++ + ==+~ @$$$$$ o*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ ~+== + == $$$$$$$ o*@@@$$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$$ == + == @$$$$$@%· o@$$$$$@*· +@$$$$$@ == + == ·@$$$$$$$@@@*~ $$$$@~ @$$$$@· == + == ·@$$$$$$@@$= $$$$@+ @$$$$@· == + == ·@$$$$$$x x%@$$$$$@@*===============$@$$$$$@· == + == ·@$$$$@% o%@@@@$$$$$$$$@@@@@@@@@@@@@@@@$$$$$$$@· == + == ·@$$$$$$x o%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + == o@@$$$$$$$$$$$@@@@@@@$$$$$$$$$$$$@@@@@@@$$$$$$$$$$$@@x == + ++++ =@@@@@@@@@@@*o ·+$@@@@@@@@@@$+· o*@@@@@@@@@@@* ++++ + **+~ ~+=*=+o ·x=**=x· o+=*=+~ ·+** + **xx ++ ++ o+**xx + ====++ *=**==**+= =+**==**+= ++==== + +==**%*=*=++ ++=******=++ +++=**%%*=== + + diff --git a/src/build/framegen/frames/frame_217.txt b/src/build/framegen/frames/frame_217.txt new file mode 100644 index 000000000..3b406fd58 --- /dev/null +++ b/src/build/framegen/frames/frame_217.txt @@ -0,0 +1,41 @@ + + + + ++++++++++++ + ++++****%%%%%%%%%%%%****++++ + ++***%*%x~ ~x%*%***++ + ++**==++ ++==**++ + ++**++ ·x*%$$@@@@@@$$%*x· ++**++ + ++==~ o*@@@@@@@@$$$$$$$$@@@@@@@@*o ~==++ + ++== =@@@@$$$$$$$$$$$$$$$$$$$$$$$$@@@@= ==++ + ++== ~$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$~ ==++ + ==x· o@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@o ·x== + ++++ $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ ++++ + == o@$$$$$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@o == + ++++ o@$$$$@$%%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@o +++x + ==x~ @$$$$$ o%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ ~x== + == $$$$$$% x%@@@$$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$$ == + == @$$$$$@% x@$$$$$@*~ ·=@$$$$$@ == + == ·@$$$$$$@@@@=· $$$$@~ @$$$$@· == + == ·@$$$$$$@@$=~ $$$$@x @$$$$@· == + == ·@$$$$$$x o%@$$$$$@@=+++++++++++++++$@$$$$$@· == + == ·@$$$$@% o*@@@@$$$$$$$$@@@@@@@@@@@@@@@@@$$$$$$@· == + == ·@$$$$$$o ~*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + == =@@$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$$@* == + +++x $@@@@$$$@@@@@=x~o+%@@@@@$$@@@@@%+o~x=@@@@@$$$@@@@$ x+++ + **~· ~=%$$$%=o x*$$$$*x o=%$$$%=~ ** + xx**o~ ~~**xx + x+**+= ++******+x x+*=****++ *+**+x + ++==*%%%%%%*== xx==*%%%%%%*==xx ==*%%%%%%*==++ + + diff --git a/src/build/framegen/frames/frame_218.txt b/src/build/framegen/frames/frame_218.txt new file mode 100644 index 000000000..7c43145a8 --- /dev/null +++ b/src/build/framegen/frames/frame_218.txt @@ -0,0 +1,41 @@ + + + + +x++++++ + ++==***%%%%%%%%%%***==++ + x+==**=*+o o+*=**==+x + ==**++ ++**== + ++**++ x=%$$@@@@@@$$%=x ++**++ + ++**oo ~=@@@@@@@@$$$$$$$$@@@@@@@@=~ oo**++ + ++== +$@@@$$$$$$$$$$$$$$$$$$$$$$$$@@@$+ ==++ + ++=* ~$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$~ *=++ + ==+~ o@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@o ~x== + ++++ $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ ++++ + == ~@@$$$$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@~ == + ++++ o@$$$$@@%$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@o +++x + ++x~ @$$$$$ x%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ ~x++ + == $$$$$$% +$@@@$$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$$ == + == @$$$$$@* +@$$$$$@%o~~~~~~~~~~~~~~~=@$$$$$@ == + == ·@$$$$$$@@@$= $$$$@~ @$$$$@· == + == ·@$$$$$$@@@*~ $$$$@x @$$$$@· == + == ·@$$$$$$+ ~*@$$$$$@$+xxxxxxxxxxxxxx+%@$$$$$@· == + == ·@$$$$@% ~*@@@@$$$$$$$$@@@@@@@@@@@@@@@@@$$$$$$@· == + == ·@$$$$$$o ·=@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$· == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == $@$$$$$$$$$$$$$$@@@@$$$$$$$$$$$$$$@@@@$$$$$$$$$$$$$$@@ == + +++o =@@@$$$$$$$@@@@%**$@@@@$$$$$$@@@@$**%@@@@$$$$$$$@@@= ~+++ + ox== ~*@@@@@@@*o +$@@@@@@$+ o*@@@@@@@*~ ==xo + ++== ==++ + ++**++ =*%%== ==%%*= +x**++ + +=**%%%%%*%=**+x ++***%%%%%%***++ x+**=%*%%%%***=+ + xxxx xxxx xxxx + diff --git a/src/build/framegen/frames/frame_219.txt b/src/build/framegen/frames/frame_219.txt new file mode 100644 index 000000000..427ca641f --- /dev/null +++ b/src/build/framegen/frames/frame_219.txt @@ -0,0 +1,41 @@ + + + + ++++ + ++==***%*%%%%%%*%***==++ + xx==***%+x x+%***==xx + ==**++ ++**== + ++**++ o=*%$$@@@@$$%*=o ++**++ + ++**oo ·=$@@@@@@@$$$$$$$$@@@@@@@$=· oo**++ + ++== +$@@@$$$$$$$$$$$$$$$$$$$$$$$$@@@$+ ==++ + x+=* ·$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$· *=xx + ==+~ ~@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@~ ~+== + ++++ $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ ++++ + == ~@@$$$$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@~ == + xx++ ~@$$$$@@$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ ++xx + +++~ @$$$$$ x%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ ~+++ + == $$$$$$% +$@@@$$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$$ == + == @$$$$$@* +@$$$$$@%o~~~~~~~~~~~~~~~=@$$$$$@ == + == ·$$$$$$$@@@$+ $$$$@~ @$$$$$· == + == ·@$$$$$$@@@*o $$$$@o @$$$$@· == + == ·@$$$$$$+ ~*@$$$$$@$+xxxxxxxxxxxxxx+%@$$$$$@· == + == ·@$$$$@% ·*@@@@$$$$$$$$@@@@@@@@@@@@@@@@@$$$$$$@· == + == ·@$$$$$$~ ·=$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ == + == @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ == + ==+· %@@$$$$$$$$$@@@@$$@@@@$$$$$$$$@@@@$$@@@@$$$$$$$$$@@% ·+== + xx== +$@@@@@@@@= o%@@@@@@@@%o =@@@@@@@@$+ ==+x + ++=+ +=++ + ++*=o +=%$++ ++$%=+ o==++ + xx==**=*===*%***++xx++*%*%====%*%*++xx++***%*===***===++ + ++++++xx ++++++++ xx++==++ + diff --git a/src/build/framegen/frames/frame_220.txt b/src/build/framegen/frames/frame_220.txt new file mode 100644 index 000000000..bf319ce3d --- /dev/null +++ b/src/build/framegen/frames/frame_220.txt @@ -0,0 +1,41 @@ + + + + + ++++***%%$%%%%$%%***++++ + ++***%+x x+%***++ + ++**++ ++**++ + x+**++ o=*%$$@@@@$$%*=o ++**+x + ++**oo ·=$@@@@@@@$$$$$$$$@@@@@@@$=· oo**++ + ++** +$@@@$$$$$$$$$$$$$$$$$$$$$$$$@@@$+ **++ + xx** ·$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$· **xx + ==+~ ~@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@~ ~+== + ++++ $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ ++++ + == ~@@$$$$@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@~ == + xx++ ~@$$$$@@$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ ++xx + +++~ @$$$$$ +%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ ~+++ + == $$$$$$% +$@@@$$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$$ == + == @$$$$$@* +@$$$$$@%o~~~~~~~~~~~~~~~=@$$$$$@ == + == ·$$$$$$$@@@$+ $$$$@~ @$$$$$· == + == ·@$$$$$$@@@*o $$$$@o @$$$$@· == + == ·@$$$$$@+ ~*@$$$$$@$+xxxxxxxxxxxxxx+%@$$$$$@· == + == ·@$$$$@% ·*@@@@$$$$$$$$@@@@@@@@@@@@@@@@@$$$$$$@· == + == ·@$$$$$$~ ·=$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + ==x· @@@$$$$$$$$$@@@@@@@@@$$$$$$$$$$@@@@@@@@@$$$$$$$$$@@@ ·x== + x+++ ~%@@@@@@@@@$x =@@@@@@@@@@= x$@@@@@@@@@%~ +++x + ===x ~~~ ·~~· ~~~ x+== + ===+ x+%% %%+x +=== + ++**=%+x··~o==*===++***%=+o~~o+=%***++===*==o~··x+%=**++ + ++=====+++ xx++====++xx +=======++ + diff --git a/src/build/framegen/frames/frame_221.txt b/src/build/framegen/frames/frame_221.txt new file mode 100644 index 000000000..8d7db5aa0 --- /dev/null +++ b/src/build/framegen/frames/frame_221.txt @@ -0,0 +1,41 @@ + + + + + ++==***%%%%%%%%%%***==++ + +=***%+o o+%***=+ + +=**++ ++**=+ + xx**++ o=%%$$@@@@$$%%=o ++**xx + x+**oo ~=$@@@@@@@$$$$$$$$@@@@@@@$=~ oo**+x + ++** +$@@@$$$$$$$$$$$$$$$$$$$$$$$$@@@$+ **xx + xx** ·$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$· **xx + ==+~ ~@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@~ ~+== + ++++ $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ ++++ + == ~@@$$$$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@~ == + xx++ o@$$$$@@$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@o ++xx + +++~ @$$$$$ x%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ ~+++ + == $$$$$$% +$@@@$$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$$ == + == @$$$$$@* +@$$$$$@%o~~~~~~~~~~~~~~~=@$$$$$@ == + == ·$$$$$$$@@@$+ $$$$@~ @$$$$$· == + == ·@$$$$$$@@@*o $$$$@x @$$$$@· == + == ·@$$$$$$+ ~*@$$$$$@$+xxxxxxxxxxxxxx+%@$$$$$@· == + == ·@$$$$@% ~*@@@@$$$$$$$$@@@@@@@@@@@@@@@@@$$$$$$@· == + == ·@$$$$$$o ·=@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + ==x ·@@$$$$$$$$$$$@@@@@@@@$$$$$$$$$$@@@@@@@@$$$$$$$$$$$@@~ == + ++++ x@@@@@@@@@@@= o%@@@@@@@@@@%o =@@@@@@@@@@@x ++xx + ==+o ~x+xo ·x++x· ox+xo o+== + **++ == =* x+** + +=**==o· ++*=**==**=*+o o+*=**==**=*+x ·o==**=+ + ++==****++++ ++==****==++ ++++****==++ + diff --git a/src/build/framegen/frames/frame_222.txt b/src/build/framegen/frames/frame_222.txt new file mode 100644 index 000000000..7551522ed --- /dev/null +++ b/src/build/framegen/frames/frame_222.txt @@ -0,0 +1,41 @@ + + + + + ++==**%%%%%%%%%%%%**==++ + +=***%+o o+****=+ + +=**++ ++**=+ + xx**++ ·x=%$$@@@@@@$$%=x· ++**xx + x+**~ ~*@@@@@@@@$$$$$$$$@@@@@@@@*~ ~**+x + ++** +@@@@$$$$$$$$$$$$$$$$$$$$$$$$@@@@+ **++ + xx** ~$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$~ **xx + ==x· o@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@o ·x== + ++++ $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ ++++ + == ~@$$$$$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ == + xx++ o@$$$$@@%$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@o ++xx + ++x~ @$$$$$ x%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ ~x++ + == $$$$$$% x%@@@$$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$$ == + == @$$$$$@% +@$$$$$@*~··············~=@$$$$$@ == + == ·@$$$$$$@@@$=· $$$$@~ @$$$$@· == + == ·@$$$$$$@@$=~ $$$$@x @$$$$@· == + == ·@$$$$$$+ o*@$$$$$@$=+++++++++++++++%@$$$$$@· == + == ·@$$$$@% ~*@@@@$$$$$$$$@@@@@@@@@@@@@@@@@$$$$$$@· == + == ·@$$$$$$o ~*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + == x@@$$$$$$$$$$$@@@@@@@$$$$$$$$$$$$@@@@@@@$$$$$$$$$$$@@x == + ++++ =@@@@@@@@@@@%o ~+@@@@@@@@@@@@+~ o%@@@@@@@@@@@* ++++ + **+~ ~+***=o ·x=**=x· o=***+o ·x** + **+x ++ ++ ox**xx + ====++ *=**==**+= =+**==**=* ++==== + ++=**%%**=++ ++=**%%**=++ ++=**%%%==++xx + diff --git a/src/build/framegen/frames/frame_223.txt b/src/build/framegen/frames/frame_223.txt new file mode 100644 index 000000000..7ba0c6816 --- /dev/null +++ b/src/build/framegen/frames/frame_223.txt @@ -0,0 +1,41 @@ + + + + + +++=*%%%%%%%%%%%%%%*=+++ + +=*%=*x· ·x*=%*=+ + ++**++ ++**++ + x+**++ ~+*%$@@@@@@@@$%*+~ ++**+x + ++** o*@@@@@@@$$$$$$$$$$@@@@@@@*o **++ + xx** =@@@@$$$$$$$$$$$$$$$$$$$$$$$$@@@@= **xx + xx** o$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$o **xx + =*x· o@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@o ·x*= + ++++ $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ ++++ + =* o@$$$$$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@o *= + xx++ x@$$$$@$%%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x ++xx + +++~ @$$$$$ o*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ ~+++ + == $$$$$$$ x%@@@$$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$$ == + == @$$$$$@% x@$$$$$@*~ ·+@$$$$$@ == + == ·@$$$$$$@@@@*· $$$$@~ @$$$$@· == + == ·@$$$$$$@@$=· $$$$@x @$$$$@· == + == ·@$$$$$$x o%@$$$$$@@=++++++++++++++=$@$$$$$@· == + == ·@$$$$@% o%@@@@$$$$$$$$@@@@@@@@@@@@@@@@@$$$$$$@· == + == ·@$$$$$$x o%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + == +@@$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$@@@@@@@$$$$$$$$$$$@@+ == + ++++ *@@@@@@@@@@@$+~ ·o*@@@@@@@@@@@@*o ~+$@@@@@@@@@@@% ++++ + **x· x*%%%*+ o=%%%%=o +*%%%*x ·o** + ox**xo xx xx ~o**xx + ===*+x *+****==++ ++==****+* o+*=== + ++==**%%%**=++ ++=**%%%*=++ ++=**%%%%*==++ + diff --git a/src/build/framegen/frames/frame_224.txt b/src/build/framegen/frames/frame_224.txt new file mode 100644 index 000000000..814ec8673 --- /dev/null +++ b/src/build/framegen/frames/frame_224.txt @@ -0,0 +1,41 @@ + + + + ++++ + ++=**%*%%%%%%%%%%*%**=++ + x+==*%=* *=%*==+x + ===*++ ++*=== + x+**++ o=%$@@@@@@@@@@$%=o ++**+x + ++** x%@@@@@@$$$$$$$$$$$$@@@@@@%x **++ + ++== *@@@@$$$$$$$$$$$$$$$$$$$$$$$$@@@@* ==++ + x+=* x@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@x **+x + **x· +@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@+ ·x** + ++++ @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ ++++ + =* x@$$$$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x *= + xx++ +@$$$$@$**$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ +++x + +++~ @$$$$$ ·*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ ~+++ + == @$$$$@$ ~*@@@$$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$@ == + == @$$$$$@$~ o$$$$$$@= x@$$$$$@ == + == ·@$$$$$$$@@@%o $$$$@· @$$$$@· == + == ·@$$$$$$@@%x $$$$@+ ·@$$$$@· == + == ·@$$$$$$~ +$@$$$$$@@*==============*@@$$$$$@· == + == ·@$$$$@% x%@@@@$$$$$$$$@@@@@@@@@@@@@@@@$$$$$$$@· == + == ·@$$$$$$+ x$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + == =@@$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$$@* == + +++x $@@@@@$@@@@@@=o~o+%@@@@@@@@@@@@%xo~o=@@@@@@$@@@@@$ x+++ + **o· ~=%$$$%=~ x*$$$$*x ~=%$$$%=~ ** + x+**o~ ~~**xx + xx**+= ++=***=*+x xx*=***=++ ==**+x + ++==*%%%%%**== ++++*%%%%%%*++++ ==**%%%%%*==++ + diff --git a/src/build/framegen/frames/frame_225.txt b/src/build/framegen/frames/frame_225.txt new file mode 100644 index 000000000..5c5011150 --- /dev/null +++ b/src/build/framegen/frames/frame_225.txt @@ -0,0 +1,41 @@ + + + + x++++++x + +===*%%%%%****%%%%%*===+ + ++===*+= =+*===+x + ===* *=== + ++**xx ·+*$@@@@@@@@@@@@$*+· xx**++ + ++== +$@@@@@@$$$$$$$$$$$$@@@@@@$+ ==++ + ++== ·%@@@$$$$$$$$$$$$$$$$$$$$$$$$$$@@@%· ==++ + x+== =@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@= ==++ + **o· =@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@= ·o** + ++++ ·@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@· ++++ + =* +@$$$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ *= + x+++ =@$$$$@%==$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= +++x + +++· ·@$$$$$ =$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· ·+++ + == @$$$$@$ =$@@@$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$@ == + == @$$$$$@$o ·%$$$$$@+ o$$$$$$@ == + == ·@$$$$$$$@@@$o $$$$@ @$$$$@· == + == ·@$$$$$$@@*o $$$$$= o@$$$$@· == + == ·@$$$$$$· =@@$$$$$@@%**************%@@$$$$$@· == + == ·@$$$$$$ =$@@@$$$$$$$$$@@@@@@@@@@@@@@@@$$$$$$$@· == + == ·@$$$$$$= +$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + == *@$$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$$@* == + +++x ·$@@@@$$$@@@@@*xoo+$@@@@@$$@@@@@$+oox*@@@@@$$$@@@@@~ x+++ + ** ~=%$$$$*o +%$$$$%+ o*$$$$%*o ** + xx**~~ **++ + ++**+= ++==**==x~ ~x==**==++ =+**+x + ++==*%%%%%%*== x+==*%%%%%%*==+x ==*%%%%%%*==++ + diff --git a/src/build/framegen/frames/frame_226.txt b/src/build/framegen/frames/frame_226.txt new file mode 100644 index 000000000..d27b63313 --- /dev/null +++ b/src/build/framegen/frames/frame_226.txt @@ -0,0 +1,41 @@ + + + + ++++++++++++ + ++++***%%%==++++==%%%***++++ + ++**=*+o o+*=**++ + x+**== ==**+x + ++** x*$@@@@@@@@@@@@@@$*x **++ + ++*+ o%@@@@@@$$$$$$$$$$$$$$@@@@@@%o +*++ + ++=+ x$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$@@@$x +=++ + ++== %@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@% ==++ + ** %@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@% ** + +++x x@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@x x+++ + == *@$$$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* == + xx++ *@$$$$@=ox*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* ++xx + ==+· o@$$$$$ o*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@o ·+== + == @$$$$$$ o%@@@$$$$$$@@@@@@@@@@@@@@@@@@@$$$$$@ == + == $$$$$$@@= *$$$$$$~ %$$$$$$ == + == ·@$$$$$$$@@@@+ $$$$@ @$$$$@· == + == ·@$$$$$$@$+ ~$$$$$* +@$$$$@· == + == ·@$$$$$$ x%@@$$$$$@@@$$$$$$$$$$$$$$@@@$$$$$@· == + == ·@$$$$@$ o%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$@%· o%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + == *@$$$$$$$$$$$$$@@@@@$$$$$$$$$$$$$$@@@@@$$$$$$$$$$$$$@% == + +++x ~@@@@@$$$@@@@@%+xx=$@@@@$$$$@@@@$=xo+*@@@@@$$$@@@@@o x+++ + ** o*$$@$$%x ·=%$@@$%=· x%$@@$$*x ** + x+** **+x + xx**+= xx****== ==****xx =+**++ + ++==*%%%%***++xx ++==*%*%%*%*==++ xx++*%*%%%%*==++ + diff --git a/src/build/framegen/frames/frame_227.txt b/src/build/framegen/frames/frame_227.txt new file mode 100644 index 000000000..c94758b19 --- /dev/null +++ b/src/build/framegen/frames/frame_227.txt @@ -0,0 +1,41 @@ + + + + ++++++++++++ + ++==*%*%==++xxxx++==%*%*==++ + ++**=* *=**++ + ++**+= =+**++ + ++== o=%@@@@@@@@@@@@@@@@%=o ==++ + ===+ +$@@@@@$$$$$$$$$$$$$$$$@@@@@$+ +=== + ++=+ =@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@= +=++ + ++=+ $@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$ +=++ + ** $@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$ ** + +++o =@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= o+++ + == $@$$$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ == + ++++ %@$$$@@x ·=$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% ++++ + ==+· x@$$$$$ =$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x ·+== + == @$$$$$$ ·=@@@$$$$$@@@@@@@@@@@@@@@@@@@@$$$$$@ == + == $$$$$$@@*~ +$$$$$% *$$$$$$ == + == ·@$$$$$$$@@@@= $@$$@ @$$$$@· == + == ·@$$$$$$@%o x$$$$$% =$$$$$@· == + == ·@$$$$$$ +$@@$$$$$@@@@@@@@@@@@@@@@@@@@$$$$$@· == + == ·@$$$$$$ +$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$@$o +$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + == *@$$$$$$$$$$$$$@@@@@$$$$$$$$$$$$$$@@@@@$$$$$$$$$$$$$@% == + +++x ~@@@@@$$$$@@@@%+xx=$@@@@$$$$@@@@$=xx+%@@@@$$$$@@@@@o x+++ + ** x*$$@@$%x ~=%$@@$%=~ x%$@@@$%x ** + x+** **++ + ++**+= xx****== ==****+x =+**++ + ++==*%%%%*%*=+++ ++==*%*%%*%*==++ +++=*%*%%%%**=++ + diff --git a/src/build/framegen/frames/frame_228.txt b/src/build/framegen/frames/frame_228.txt new file mode 100644 index 000000000..dafe70199 --- /dev/null +++ b/src/build/framegen/frames/frame_228.txt @@ -0,0 +1,41 @@ + + + + ++++===***==++++ + ==***%==xo ox==%***== + ===*++ ++*=== + ++**++ ·oxx++xxo· ++**++ + ===+ o=$@@@@@@@@@@@@@@@@@@$=o +=== + **++ o%@@@@@$$$$$$$$$$$$$$$$$$@@@@@%o ++** + ==+x ~$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@$~ o+== + ++=+ x@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@x +=++ + xx== o@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@o ==xx + ==x~ %@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% ~x== + ox== @@$$$@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ ==xo + +++x @$$$$@% ~*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ x+++ + ==x =$$$$@$ ~*@@@@$$$$$$$$$$@@@@@@@@@@@@@@$$$$$$$$= x== + == @$$$$$$ o*@@$$$$$@@@$$$$$$$$$$$$$$$@@$$$$$@ == + == $$$$$$$@$= ·$$$$$* x@$$$$$ == + == ·@$$$$$$$@@@@x $$$$@ @$$$$@~ == + == ·@$$$$$@@+ *$$$$$$o %$$$$$@· == + == ·@$$$$$$ x%@@@$$$$$$@@@@@@@@@@@@@@@@@@@$$$$$@· == + == ·@$$$$$$ x%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$@*x+%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + == %@$$$$$$$$$$$$$@@@@@$$$$$$$$$$$$$$@@@@@$$$$$$$$$$$$$@% == + +++x ~@@@@@$$$$@@@@%+xx=$@@@@$$$$@@@@$=xx+%@@@@$$$$@@@@@o o+++ + ** x*$@@@$%x ~=%$@@$%=~ x%$@@@$%x ** + x+** **++ + ++**+= x+****== ==****+x =+**xx + ++==*%%%%*%*==++ ++==*%*%%%%*==++ ++==*%*%%%%**=++ + diff --git a/src/build/framegen/frames/frame_229.txt b/src/build/framegen/frames/frame_229.txt new file mode 100644 index 000000000..a7e73094a --- /dev/null +++ b/src/build/framegen/frames/frame_229.txt @@ -0,0 +1,41 @@ + + + + ++++==**%%%%***=++++ + ++==*%=*+x x+**%*==++ + ++**=* *=**++ + ==== ox=******=xo ==== + **++ ·=$@@@@@@@@@@@@@@@@@@@@$=· ++** + **+o =@@@@@$$$$$$$$$$$$$$$$$$$$@@@@@= o+** + **x~ +@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@+ ~x** + +++x *@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@* x+++ + xx== +@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@+ ==xx + ==x· @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ ·x== + ox== @$$$$@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ ==xo + +++o @$$$$$+ x$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ o+++ + == %$$$$@$ +%@@@$$$$$$$$$@@@@@@@@@@@@@@@@$$$$$$$% == + == @$$$$$$~ +$@$$$$$@@%==============*@@$$$$$@ == + == $$$$$$$@@%x $$$$@+ ·@$$$$$ == + == ~@$$$$$$$@@@%o $$$$@· @$$$$@~ == + == ·@$$$$$@$~ o$$$$$$@= x@$$$$$@· == + == ·@$$$$@$ ~*@@@@$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$@· == + == ·@$$$$$$ ·*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$@$**$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + == *@$$$$$$$$$$$$$@@@@@$$$$$$$$$$$$$$@@@@@$$$$$$$$$$$$$@% == + +++x ~@@@@@$$$@@@@@%+xx=$@@@@$$$$@@@@$=xx+%@@@@$$$$@@@@@o x+++ + ** o*$$@@$%x ·=%$@@$%=· x%$@@$$*x ** + x+** **+x + ++**+= xx****== ==****xx =+**+x + ++==*%%%%*%*=+xx ++==*%%%%%%*==++ xx++*%*%%%%***++ + diff --git a/src/build/framegen/frames/frame_230.txt b/src/build/framegen/frames/frame_230.txt new file mode 100644 index 000000000..b27d48bcc --- /dev/null +++ b/src/build/framegen/frames/frame_230.txt @@ -0,0 +1,41 @@ + + + + ++++=**%%%%%%%%%%**=++++ + +=***%+x x+%***=+ + ++**+= =+**++ + ox**+= o=*%$@@@@@@$%*=o =+**xo + x+**oo ·=$@@@@@@@$$$$$$$$@@@@@@@$=· oo**+x + x+** x$@@@$$$$$$$$$$$$$$$$$$$$$$$$@@@$x **+x + ox** ·$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$· **xo + ==+~ ~@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@~ ~+== + ++++ $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ ++++ + == ·@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@· == + xx++ ~@$$$$@@$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ ++xx + +++~ @$$$$$ x$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ ~+++ + == $$$$$@% +$@@@$$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$$ == + == @$$$$$@* +@$$$$$@%x~~~~~~~~~~~~~~o*@$$$$$@ == + == ·$$$$$$$@@@$+ $$$$@~ @$$$$$· == + == ·@$$$$$$@@@*o $$$$@x @$$$$@· == + == ·@$$$$$@+ ~*@$$$$$@$+xxxxxxxxxxxxxxx%@$$$$$@· == + == ·@$$$$@% ·=@@@@$$$$$$$$@@@@@@@@@@@@@@@@@$$$$$$@· == + == ·@$$$$$$~ ·=$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$@@$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + == *@$$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$$@* == + +++x ·$@@@@$$$@@@@@*xox=$@@@@$$$$@@@@$=oox*@@@@@$$$@@@@@~ x+++ + ** o*%$$$$*x ·+%$$$$%+· x*$$$$$*o ** + x+**~ **+x + x+**+= +x*=**==x ==**==x+ =+**+x + ++==*%*%%%**++xx ++==*%%%%%%*==++ xx++**%%%*%*==++ + diff --git a/src/build/framegen/frames/frame_231.txt b/src/build/framegen/frames/frame_231.txt new file mode 100644 index 000000000..7280be71b --- /dev/null +++ b/src/build/framegen/frames/frame_231.txt @@ -0,0 +1,41 @@ + + + ++++ + ++==*%%%*%****%*%%%*==++ + x+==*%== ==%*==+x + ===*xo ox*=== + ++**x+ x*%$@@@@@@@@@@$%*x +x**++ + ++*= +$@@@@@@$$$$$$$$$$$$@@@@@@$+ =*++ + ++== *@@@@$$$$$$$$$$$$$$$$$$$$$$$$@@@@* ==+x + xx== +@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@+ ==xx + **o· +@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@+ ·o** + ++++ @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ ++++ + ** +@$$$$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ *= + xx++ +@$$$$@%=*$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ ++xx + +++~ @$$$$$ =$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ ~+++ + == @$$$$$$ ·=@@@@$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$@ == + == @$$$$$@$o ~$$$$$$@+ x@$$$$$@ == + == ·@$$$$$$$@@@$o $$$$@· @$$$$@· == + == ·@$$$$$$@@%o $$$$$+ ~@$$$$@· == + == ·@$$$$$$~ +$@$$$$$@@%**************%@@$$$$$@· == + == ·@$$$$@$ +$@@@$$$$$$$$$@@@@@@@@@@@@@@@@$$$$$$$@· == + == ·@$$$$$@= +$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + == *@$$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$$@* == + +++x $@@@@@$$@@@@@*xoo+%@@@@@$$@@@@@%+o~x=@@@@@$$@@@@@$· x+++ + **o ~=%$$$%*o +%$$$$%+ o*%$$$%=~ ** + x+**~~ ~**+x + ++**== ++==***=xo o+==**==++ =+**++ + ++==*%%%%%**++xx ++==*%%%%%%*==++ xx++**%%%%%**=++ + diff --git a/src/build/framegen/frames/frame_232.txt b/src/build/framegen/frames/frame_232.txt new file mode 100644 index 000000000..9ae60cdee --- /dev/null +++ b/src/build/framegen/frames/frame_232.txt @@ -0,0 +1,41 @@ + + + ++++====++++ + ++==*%*%==++++++++==%*%*==++ + ++**=* *=**++ + x+**+= ·· =+**+x + ++== o=%@@@@@@@@@@@@@@@@%=o ==++ + ===+ +$@@@@@$$$$$$$$$$$$$$$$@@@@@$+ +=== + ++++ =@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$@@@@= ++++ + ++=+ $@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$ +=++ + ** $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ ** + +++o =@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= o+++ + == $@$$$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ == + ++++ $@$$$@@x ·+$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ ++++ + ==+· +@$$$$$ =$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ ·+== + == @$$$$$$ =$@@$$$$$@@@@@@@@@@@@@@@@@@@@$$$$$@ == + == $$$$$$$@*o +$$$$$% *$$$$$$ == + == ·@$$$$$$$@@@@+ $$$$@ @$$$$@· == + == ·@$$$$$$@%o x$$$$$% =$$$$$@· == + == ·@$$$$$$ =@@@$$$$$@@@@@@@@@@@@@@@@@@@@$$$$$@· == + == ·@$$$$$$ +$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$@$o +$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + == +@@$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$@@= == + ++++ %@@@@@@@@@@@$+o·~x*@@@@@@@@@@@@*o··~+$@@@@@@@@@@@% x+++ + **x· +*%%%*+· o=%%%%=o ·+%%$%*+ ·o** + x+**o~ oo oo oo**+x + ++**+=+~ =+******+x x+******+= ~x=+**++ + ++==**%%%***++xx ++==***%%***==++ xx++***%%%**==++ + diff --git a/src/build/framegen/frames/frame_233.txt b/src/build/framegen/frames/frame_233.txt new file mode 100644 index 000000000..5d6e28d05 --- /dev/null +++ b/src/build/framegen/frames/frame_233.txt @@ -0,0 +1,41 @@ + + + ++++==****==++++ + ==***%==xo ox==%***== + ===*++ ++*=== + ++**x+ ·oxx++xxo· +x**++ + ===+ o*$@@@@@@@@@@@@@@@@@@$*o +=== + **+x o%@@@@@$$$$$$$$$$$$$$$$$$@@@@@%o x+** + ==+o ~$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@$~ o+== + ++++ +@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@+ ++++ + ox== o@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@o ==xo + ==+~ %@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% ~+== + ox== @@$$$@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ ==xo + +++x @$$$$@* ~*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ x+++ + ==x *$$$$$$ ~*@@@@$$$$$$$$$$@@@@@@@@@@@@@@$$$$$$$$* x== + == @$$$$$$ ~*@@$$$$$@@$%%%%%%%%%%%%%%$@@$$$$$@ == + == $$$$$$$@@= ·$$$$$* x$$$$$$ == + == ~@$$$$$$$@@@@x $$$$@ @$$$$@~ == + == ·@$$$$$@@+ *$$$$$$o ·$$$$$$@· == + == ·@$$$$$$ x$@@@$$$$$$@@@@@@@@@@@@@@@@@@@$$$$$@· == + == ·@$$$$$$ x%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$@@*x+%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + == x@@$$$$$$$$$$$@@@@@@@$$$$$$$$$$$$@@@@@@@$$$$$$$$$$$@@+ == + ++++ *@@@@@@@@@@@%x· ~=@@@@@@@@@@@@=~ x%@@@@@@@@@@@* ++++ + **x· o=*%%=x ~+*%%*+~ x=%%*=x ·x** + x+**xo ++ ++ ox**+x + x+**=*xx *+****==++ ++==****=* x+==**+x + ++==********++xx ++==********==++ xx++********==++ + diff --git a/src/build/framegen/frames/frame_234.txt b/src/build/framegen/frames/frame_234.txt new file mode 100644 index 000000000..b4e624e01 --- /dev/null +++ b/src/build/framegen/frames/frame_234.txt @@ -0,0 +1,41 @@ + + + +++=**%%%%%%%%**=+++ + ++***%==o· ·o==%***++ + ++**+* *+**++ + ==== o+=*%$$$$%*=+o ==== + x+**xx x*@@@@@@@@@@@@@@@@@@@@@@*x xx**+x + xx**~~ ~%@@@@$$$$$$$$$$$$$$$$$$$$$$@@@@%~ ~~**xx + **o· *@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@* ·x** + ==+o %@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@% o+== + xx== *@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@* ==xx + ==x· @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ ·x== + xx== @$$$$@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ ==xx + +++o @$$$$$o ~*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ o+++ + == %$$$$@% ~*@@@@$$$$$$$$@@@@@@@@@@@@@@@@@$$$$$$% == + == @$$$$$$+ o*@$$$$$@$=+++++++++++++++%@$$$$$@ == + == $$$$$$$@@@=~ $$$$$x @$$$$$ == + == ·@$$$$$$@@@@= $$$$@~ @$$$$@· == + == ·@$$$$$@% +@$$$$$@%~··············~=@$$$$$@· == + == ·@$$$$@% x%@@@$$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$@· == + == ·@$$$$$$ x%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$@@%%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + == ~@@$$$$$$$$$$$@@@@@@@@$$$$$$$$$$@@@@@@@@$$$$$$$$$$$@@o == + ++++ +@@@@@@@@@@@=~ x$@@@@@@@@@@$x ·=@@@@@@@@@@@+ ++++ + **+~ o+=+x· o+==+o ·x+=+x ~x** + xx**+x == == x+**+x + xx**==+= ~x*=******+* *+******=*x~ =+==**xx + ++==********++ x+++********+++x ++********==++ + diff --git a/src/build/framegen/frames/frame_235.txt b/src/build/framegen/frames/frame_235.txt new file mode 100644 index 000000000..7a3721924 --- /dev/null +++ b/src/build/framegen/frames/frame_235.txt @@ -0,0 +1,41 @@ + + + ++==**%%*%%%%%%*%%**==++ + ==***%xx xx%***== + ++**++ ++**++ + x+**++ x=*$$@@@@@@$$*=x ++**+x + ++**~o ~*$@@@@@@@$$$$$$$$@@@@@@@$*~ oo**++ + ++** +$@@@$$$$$$$$$$$$$$$$$$$$$$$$@@@$+ **++ + xx** ~$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$~ **xx + ==+~ ~@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@~ ~+== + ++++ $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ ++++ + == ~@$$$$$@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ == + x+++ o@$$$$@@%$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@o +++x + +++~ @$$$$$ x%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ ~+++ + == $$$$$$$ x$@@@$$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$$ == + == @$$$$$@* +@$$$$$@%o··············~=@$$$$$@ == + == ·$$$$$$$@@@$= $$$$@~ @$$$$$· == + == ·@$$$$$$@@$*o $$$$@x @$$$$@· == + == ·@$$$$$$+ ~*@$$$$$@$=xxxxxxxxxxxxxx+%@$$$$$@· == + == ·@$$$$$$ ~*@@@@$$$$$$$$@@@@@@@@@@@@@@@@@$$$$$$@· == + == ·@$$$$$$o ·=@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· == + == ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ == + == @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ == + ==x· @@@$$$$$$$$$$@@@@@@@@$$$$$$$$$$@@@@@@@@$$$$$$$$$$$@@ x== + ++++ o$@@@@@@@@@@+ ~*@@@@@@@@@@*~ +@@@@@@@@@@$x ++++ + ==+x ·oxo~ ~oo~ ~oxo· o+*= + x+**+x =* *= ++**xx + x+==**+*+o ++*=**==**=*+x x+*=**==**=*++ ~+*=**==xx + ++++******==++ ++++********++++ ++==******+++x + diff --git a/src/build/framegen/main.zig b/src/build/framegen/main.zig new file mode 100644 index 000000000..1be33eb11 --- /dev/null +++ b/src/build/framegen/main.zig @@ -0,0 +1,271 @@ +const std = @import("std"); +const fs = std.fs; + +/// Generates a compressed file of all the ghostty frames +pub fn main() !void { + var gpa = std.heap.GeneralPurposeAllocator(.{}){}; + + var arg_iter = try std.process.argsWithAllocator(gpa.allocator()); + // Skip the exe name + _ = arg_iter.skip(); + + const output_path = arg_iter.next() orelse return error.MissingOutputPath; + + const out_dir_path = fs.path.dirname(output_path) orelse return error.InvalidOutputPath; + const out_dir = try fs.cwd().openDir(out_dir_path, .{}); + + const compressed_file = try out_dir.createFile(fs.path.basename(output_path), .{}); + + // Join the frames with a null byte. We'll split on this later + const all_frames = try std.mem.join(gpa.allocator(), "\x01", &frames); + var fbs = std.io.fixedBufferStream(all_frames); + + const reader = fbs.reader(); + try std.compress.flate.compress(reader, compressed_file.writer(), .{}); + + const stdout = std.io.getStdOut().writer(); + + try stdout.print( + \\//! This file is auto-generated. Do not edit. + \\ + \\pub const compressed = @embedFile("{s}"); + , .{output_path}); +} + +const frames = [_][]const u8{ + @embedFile("frames/frame_001.txt"), + @embedFile("frames/frame_002.txt"), + @embedFile("frames/frame_003.txt"), + @embedFile("frames/frame_004.txt"), + @embedFile("frames/frame_005.txt"), + @embedFile("frames/frame_006.txt"), + @embedFile("frames/frame_007.txt"), + @embedFile("frames/frame_008.txt"), + @embedFile("frames/frame_009.txt"), + @embedFile("frames/frame_010.txt"), + @embedFile("frames/frame_011.txt"), + @embedFile("frames/frame_012.txt"), + @embedFile("frames/frame_013.txt"), + @embedFile("frames/frame_014.txt"), + @embedFile("frames/frame_015.txt"), + @embedFile("frames/frame_016.txt"), + @embedFile("frames/frame_017.txt"), + @embedFile("frames/frame_018.txt"), + @embedFile("frames/frame_019.txt"), + @embedFile("frames/frame_020.txt"), + @embedFile("frames/frame_021.txt"), + @embedFile("frames/frame_022.txt"), + @embedFile("frames/frame_023.txt"), + @embedFile("frames/frame_024.txt"), + @embedFile("frames/frame_025.txt"), + @embedFile("frames/frame_026.txt"), + @embedFile("frames/frame_027.txt"), + @embedFile("frames/frame_028.txt"), + @embedFile("frames/frame_029.txt"), + @embedFile("frames/frame_030.txt"), + @embedFile("frames/frame_031.txt"), + @embedFile("frames/frame_032.txt"), + @embedFile("frames/frame_033.txt"), + @embedFile("frames/frame_034.txt"), + @embedFile("frames/frame_035.txt"), + @embedFile("frames/frame_036.txt"), + @embedFile("frames/frame_037.txt"), + @embedFile("frames/frame_038.txt"), + @embedFile("frames/frame_039.txt"), + @embedFile("frames/frame_040.txt"), + @embedFile("frames/frame_041.txt"), + @embedFile("frames/frame_042.txt"), + @embedFile("frames/frame_043.txt"), + @embedFile("frames/frame_044.txt"), + @embedFile("frames/frame_045.txt"), + @embedFile("frames/frame_046.txt"), + @embedFile("frames/frame_047.txt"), + @embedFile("frames/frame_048.txt"), + @embedFile("frames/frame_049.txt"), + @embedFile("frames/frame_050.txt"), + @embedFile("frames/frame_051.txt"), + @embedFile("frames/frame_052.txt"), + @embedFile("frames/frame_053.txt"), + @embedFile("frames/frame_054.txt"), + @embedFile("frames/frame_055.txt"), + @embedFile("frames/frame_056.txt"), + @embedFile("frames/frame_057.txt"), + @embedFile("frames/frame_058.txt"), + @embedFile("frames/frame_059.txt"), + @embedFile("frames/frame_060.txt"), + @embedFile("frames/frame_061.txt"), + @embedFile("frames/frame_062.txt"), + @embedFile("frames/frame_063.txt"), + @embedFile("frames/frame_064.txt"), + @embedFile("frames/frame_065.txt"), + @embedFile("frames/frame_066.txt"), + @embedFile("frames/frame_067.txt"), + @embedFile("frames/frame_068.txt"), + @embedFile("frames/frame_069.txt"), + @embedFile("frames/frame_070.txt"), + @embedFile("frames/frame_071.txt"), + @embedFile("frames/frame_072.txt"), + @embedFile("frames/frame_073.txt"), + @embedFile("frames/frame_074.txt"), + @embedFile("frames/frame_075.txt"), + @embedFile("frames/frame_076.txt"), + @embedFile("frames/frame_077.txt"), + @embedFile("frames/frame_078.txt"), + @embedFile("frames/frame_079.txt"), + @embedFile("frames/frame_080.txt"), + @embedFile("frames/frame_081.txt"), + @embedFile("frames/frame_082.txt"), + @embedFile("frames/frame_083.txt"), + @embedFile("frames/frame_084.txt"), + @embedFile("frames/frame_085.txt"), + @embedFile("frames/frame_086.txt"), + @embedFile("frames/frame_087.txt"), + @embedFile("frames/frame_088.txt"), + @embedFile("frames/frame_089.txt"), + @embedFile("frames/frame_090.txt"), + @embedFile("frames/frame_091.txt"), + @embedFile("frames/frame_092.txt"), + @embedFile("frames/frame_093.txt"), + @embedFile("frames/frame_094.txt"), + @embedFile("frames/frame_095.txt"), + @embedFile("frames/frame_096.txt"), + @embedFile("frames/frame_097.txt"), + @embedFile("frames/frame_098.txt"), + @embedFile("frames/frame_099.txt"), + @embedFile("frames/frame_100.txt"), + @embedFile("frames/frame_101.txt"), + @embedFile("frames/frame_102.txt"), + @embedFile("frames/frame_103.txt"), + @embedFile("frames/frame_104.txt"), + @embedFile("frames/frame_105.txt"), + @embedFile("frames/frame_106.txt"), + @embedFile("frames/frame_107.txt"), + @embedFile("frames/frame_108.txt"), + @embedFile("frames/frame_109.txt"), + @embedFile("frames/frame_110.txt"), + @embedFile("frames/frame_111.txt"), + @embedFile("frames/frame_112.txt"), + @embedFile("frames/frame_113.txt"), + @embedFile("frames/frame_114.txt"), + @embedFile("frames/frame_115.txt"), + @embedFile("frames/frame_116.txt"), + @embedFile("frames/frame_117.txt"), + @embedFile("frames/frame_118.txt"), + @embedFile("frames/frame_119.txt"), + @embedFile("frames/frame_120.txt"), + @embedFile("frames/frame_121.txt"), + @embedFile("frames/frame_122.txt"), + @embedFile("frames/frame_123.txt"), + @embedFile("frames/frame_124.txt"), + @embedFile("frames/frame_125.txt"), + @embedFile("frames/frame_126.txt"), + @embedFile("frames/frame_127.txt"), + @embedFile("frames/frame_128.txt"), + @embedFile("frames/frame_129.txt"), + @embedFile("frames/frame_130.txt"), + @embedFile("frames/frame_131.txt"), + @embedFile("frames/frame_132.txt"), + @embedFile("frames/frame_133.txt"), + @embedFile("frames/frame_134.txt"), + @embedFile("frames/frame_135.txt"), + @embedFile("frames/frame_136.txt"), + @embedFile("frames/frame_137.txt"), + @embedFile("frames/frame_138.txt"), + @embedFile("frames/frame_139.txt"), + @embedFile("frames/frame_140.txt"), + @embedFile("frames/frame_141.txt"), + @embedFile("frames/frame_142.txt"), + @embedFile("frames/frame_143.txt"), + @embedFile("frames/frame_144.txt"), + @embedFile("frames/frame_145.txt"), + @embedFile("frames/frame_146.txt"), + @embedFile("frames/frame_147.txt"), + @embedFile("frames/frame_148.txt"), + @embedFile("frames/frame_149.txt"), + @embedFile("frames/frame_150.txt"), + @embedFile("frames/frame_151.txt"), + @embedFile("frames/frame_152.txt"), + @embedFile("frames/frame_153.txt"), + @embedFile("frames/frame_154.txt"), + @embedFile("frames/frame_155.txt"), + @embedFile("frames/frame_156.txt"), + @embedFile("frames/frame_157.txt"), + @embedFile("frames/frame_158.txt"), + @embedFile("frames/frame_159.txt"), + @embedFile("frames/frame_160.txt"), + @embedFile("frames/frame_161.txt"), + @embedFile("frames/frame_162.txt"), + @embedFile("frames/frame_163.txt"), + @embedFile("frames/frame_164.txt"), + @embedFile("frames/frame_165.txt"), + @embedFile("frames/frame_166.txt"), + @embedFile("frames/frame_167.txt"), + @embedFile("frames/frame_168.txt"), + @embedFile("frames/frame_169.txt"), + @embedFile("frames/frame_170.txt"), + @embedFile("frames/frame_171.txt"), + @embedFile("frames/frame_172.txt"), + @embedFile("frames/frame_173.txt"), + @embedFile("frames/frame_174.txt"), + @embedFile("frames/frame_175.txt"), + @embedFile("frames/frame_176.txt"), + @embedFile("frames/frame_177.txt"), + @embedFile("frames/frame_178.txt"), + @embedFile("frames/frame_179.txt"), + @embedFile("frames/frame_180.txt"), + @embedFile("frames/frame_181.txt"), + @embedFile("frames/frame_182.txt"), + @embedFile("frames/frame_183.txt"), + @embedFile("frames/frame_184.txt"), + @embedFile("frames/frame_185.txt"), + @embedFile("frames/frame_186.txt"), + @embedFile("frames/frame_187.txt"), + @embedFile("frames/frame_188.txt"), + @embedFile("frames/frame_189.txt"), + @embedFile("frames/frame_190.txt"), + @embedFile("frames/frame_191.txt"), + @embedFile("frames/frame_192.txt"), + @embedFile("frames/frame_193.txt"), + @embedFile("frames/frame_194.txt"), + @embedFile("frames/frame_195.txt"), + @embedFile("frames/frame_196.txt"), + @embedFile("frames/frame_197.txt"), + @embedFile("frames/frame_198.txt"), + @embedFile("frames/frame_199.txt"), + @embedFile("frames/frame_200.txt"), + @embedFile("frames/frame_201.txt"), + @embedFile("frames/frame_202.txt"), + @embedFile("frames/frame_203.txt"), + @embedFile("frames/frame_204.txt"), + @embedFile("frames/frame_205.txt"), + @embedFile("frames/frame_206.txt"), + @embedFile("frames/frame_207.txt"), + @embedFile("frames/frame_208.txt"), + @embedFile("frames/frame_209.txt"), + @embedFile("frames/frame_210.txt"), + @embedFile("frames/frame_211.txt"), + @embedFile("frames/frame_212.txt"), + @embedFile("frames/frame_213.txt"), + @embedFile("frames/frame_214.txt"), + @embedFile("frames/frame_215.txt"), + @embedFile("frames/frame_216.txt"), + @embedFile("frames/frame_217.txt"), + @embedFile("frames/frame_218.txt"), + @embedFile("frames/frame_219.txt"), + @embedFile("frames/frame_220.txt"), + @embedFile("frames/frame_221.txt"), + @embedFile("frames/frame_222.txt"), + @embedFile("frames/frame_223.txt"), + @embedFile("frames/frame_224.txt"), + @embedFile("frames/frame_225.txt"), + @embedFile("frames/frame_226.txt"), + @embedFile("frames/frame_227.txt"), + @embedFile("frames/frame_228.txt"), + @embedFile("frames/frame_229.txt"), + @embedFile("frames/frame_230.txt"), + @embedFile("frames/frame_231.txt"), + @embedFile("frames/frame_232.txt"), + @embedFile("frames/frame_233.txt"), + @embedFile("frames/frame_234.txt"), + @embedFile("frames/frame_235.txt"), +}; diff --git a/src/build/main.zig b/src/build/main.zig index 291791917..a0e67543f 100644 --- a/src/build/main.zig +++ b/src/build/main.zig @@ -10,6 +10,7 @@ pub const GitVersion = @import("GitVersion.zig"); pub const GhosttyBench = @import("GhosttyBench.zig"); pub const GhosttyDocs = @import("GhosttyDocs.zig"); pub const GhosttyExe = @import("GhosttyExe.zig"); +pub const GhosttyFrameData = @import("GhosttyFrameData.zig"); pub const GhosttyLib = @import("GhosttyLib.zig"); pub const GhosttyResources = @import("GhosttyResources.zig"); pub const GhosttyXCFramework = @import("GhosttyXCFramework.zig"); diff --git a/src/cli/action.zig b/src/cli/action.zig index 693d509fc..f3da2e2ef 100644 --- a/src/cli/action.zig +++ b/src/cli/action.zig @@ -13,6 +13,7 @@ const show_config = @import("show_config.zig"); const validate_config = @import("validate_config.zig"); const crash_report = @import("crash_report.zig"); const show_face = @import("show_face.zig"); +const boo = @import("boo.zig"); /// Special commands that can be invoked via CLI flags. These are all /// invoked by using `+` as a CLI flag. The only exception is @@ -51,6 +52,9 @@ pub const Action = enum { // List, (eventually) view, and (eventually) send crash reports. @"crash-report", + // Boo! + boo, + pub const Error = error{ /// Multiple actions were detected. You can specify at most one /// action on the CLI otherwise the behavior desired is ambiguous. @@ -151,6 +155,7 @@ pub const Action = enum { .@"validate-config" => try validate_config.run(alloc), .@"crash-report" => try crash_report.run(alloc), .@"show-face" => try show_face.run(alloc), + .boo => try boo.run(alloc), }; } @@ -186,6 +191,7 @@ pub const Action = enum { .@"validate-config" => validate_config.Options, .@"crash-report" => crash_report.Options, .@"show-face" => show_face.Options, + .boo => boo.Options, }; } } diff --git a/src/cli/boo.zig b/src/cli/boo.zig new file mode 100644 index 000000000..4289668d2 --- /dev/null +++ b/src/cli/boo.zig @@ -0,0 +1,227 @@ +const std = @import("std"); +const args = @import("args.zig"); +const Action = @import("action.zig").Action; +const Allocator = std.mem.Allocator; +const help_strings = @import("help_strings"); +const vaxis = @import("vaxis"); + +const framedata = @import("framedata"); + +const vxfw = vaxis.vxfw; + +pub const Options = struct { + pub fn deinit(self: Options) void { + _ = self; + } + + /// Enables `-h` and `--help` to work. + pub fn help(self: Options) !void { + _ = self; + return Action.help_error; + } +}; + +const Boo = struct { + frame: u8, + framerate: u32, // 30 fps + // We know the size of this at compile time, but we heap allocate the slice to prevent the + // binary from increasing too much in size + buffer: [frame_width * frame_height]vaxis.Cell = undefined, + + ghostty_style: vaxis.Style, + outline_style: vaxis.Style, + + // Width of a single frame + const frame_width = 100; + // Height of a single frame + const frame_height = 41; + + fn widget(self: *Boo) vxfw.Widget { + return .{ + .userdata = self, + .eventHandler = Boo.typeErasedEventHandler, + .drawFn = Boo.typeErasedDrawFn, + }; + } + + fn typeErasedEventHandler(ptr: *anyopaque, ctx: *vxfw.EventContext, event: vxfw.Event) anyerror!void { + const self: *Boo = @ptrCast(@alignCast(ptr)); + switch (event) { + .init, + .tick, + => { + self.updateFrame(); + ctx.redraw = true; + return ctx.tick(self.framerate, self.widget()); + }, + .key_press => |key| { + if (key.matches('c', .{ .ctrl = true }) or + key.matches(vaxis.Key.escape, .{})) + { + ctx.quit = true; + return; + } + }, + else => {}, + } + } + + fn typeErasedDrawFn(ptr: *anyopaque, ctx: vxfw.DrawContext) Allocator.Error!vxfw.Surface { + const self: *Boo = @ptrCast(@alignCast(ptr)); + const max = ctx.max.size(); + + // Warn for screen size + if (max.width < frame_width or max.height < frame_height) { + const text: vxfw.Text = .{ .text = "Screen must be at least 100w x 41h" }; + const center: vxfw.Center = .{ .child = text.widget() }; + return center.draw(ctx); + } + + // Calculate x and y offsets to center the animation frame + const offset_y = (max.height - frame_height) / 2; + const offset_x = (max.width - frame_width) / 2; + + // Create the animation surface + const child: vxfw.Surface = .{ + .size = .{ .width = @intCast(frame_width), .height = @intCast(frame_height) }, + .widget = self.widget(), + .buffer = &self.buffer, + .children = &.{}, + }; + + // Allocate a slice of child surfaces + var children = try ctx.arena.alloc(vxfw.SubSurface, 1); + children[0] = .{ + .origin = .{ .row = @intCast(offset_y), .col = @intCast(offset_x) }, + .surface = child, + }; + + return .{ + .size = max, + .widget = self.widget(), + .buffer = &.{}, + .children = children, + }; + } + + /// Updates our internal buffer with the current frame, then advances the frame index + fn updateFrame(self: *Boo) void { + const frame = frames[self.frame]; + // A frame is characters with html spans. When we encounter a span, we use the outline style + // until the span ends. That is, when we find a '<', we parse until '>'. Then we use the + // outline styule until the next '<', and skip until the next '>' + + const State = enum { + normal, + span, + in_tag, + in_closing_tag, + }; + + var cell_idx: usize = 0; + + var line_iter = std.mem.splitScalar(u8, frame, '\n'); + while (line_iter.next()) |line| { + var state: State = .normal; + var style = self.ghostty_style; + var cp_iter: std.unicode.Utf8Iterator = .{ .bytes = line, .i = 0 }; + while (cp_iter.nextCodepointSlice()) |char| { + switch (state) { + .normal => if (std.mem.eql(u8, "<", char)) { + state = .in_tag; + // We will be entering a span + style = self.outline_style; + continue; + }, + .span => if (std.mem.eql(u8, "<", char)) { + state = .in_tag; + style = self.ghostty_style; + continue; + }, + .in_tag => { + // If we encounter a '/', we are a closing tag + // If we parse all the way to a '>' we are an opening tag: we are now in a span + if (std.mem.eql(u8, "/", char)) + state = .in_closing_tag + else if (std.mem.eql(u8, ">", char)) + state = .span; + continue; + }, + .in_closing_tag => { + // If we are closing a tag, we will enter the normal state + if (std.mem.eql(u8, ">", char)) state = .normal; + continue; + }, + } + self.buffer[cell_idx] = .{ + .char = .{ + .grapheme = char, + .width = 1, + }, + .style = style, + }; + cell_idx += 1; + } + } + std.debug.assert(cell_idx == self.buffer.len); + + // Lastly, update the frame index + self.frame += 1; + if (self.frame == frames.len) self.frame = 0; + } +}; + +/// The `boo` command is used to display the animation from the Ghostty website in the terminal +pub fn run(gpa: Allocator) !u8 { + var opts: Options = .{}; + defer opts.deinit(); + + { + var iter = try args.argsIterator(gpa); + defer iter.deinit(); + try args.parse(Options, gpa, &opts, &iter); + } + + try decompressFrames(gpa); + defer { + gpa.free(frames); + gpa.free(decompressed_data); + } + + var app = try vxfw.App.init(gpa); + defer app.deinit(); + + var boo: Boo = undefined; + boo.frame = 0; + boo.framerate = 1000 / 30; + boo.ghostty_style = .{}; + boo.outline_style = .{ .fg = .{ .index = 4 } }; + @memset(&boo.buffer, .{}); + + try app.run(boo.widget(), .{}); + + return 0; +} + +/// We store a global ref to the decompressed data. All of our frames reference into this data +var decompressed_data: []const u8 = undefined; + +/// Heap allocated list of frames. The underlying frame data references decompressed_data +var frames: []const []const u8 = undefined; + +/// Decompress the frames into a slice of individual frames +fn decompressFrames(gpa: Allocator) !void { + var fbs = std.io.fixedBufferStream(framedata.compressed); + var list = std.ArrayList(u8).init(gpa); + + try std.compress.flate.decompress(fbs.reader(), list.writer()); + decompressed_data = try list.toOwnedSlice(); + + var frame_list = try std.ArrayList([]const u8).initCapacity(gpa, 235); + + var frame_iter = std.mem.splitScalar(u8, decompressed_data, '\x01'); + while (frame_iter.next()) |frame| { + try frame_list.append(frame); + } + frames = try frame_list.toOwnedSlice(); +} diff --git a/typos.toml b/typos.toml index 87b41336b..d449e3ffa 100644 --- a/typos.toml +++ b/typos.toml @@ -43,6 +43,7 @@ Strat = "Strat" grey = "gray" greyscale = "grayscale" DECID = "DECID" +flate = "flate" [type.swift.extend-words] inout = "inout" From aed30502bd69ac6c030222ecb32a1f6c0425a594 Mon Sep 17 00:00:00 2001 From: Ken VanDine Date: Sun, 29 Dec 2024 14:00:36 -0500 Subject: [PATCH 272/365] Added snap packaging --- snap/snapcraft.yaml | 77 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 77 insertions(+) create mode 100644 snap/snapcraft.yaml diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml new file mode 100644 index 000000000..59c7edc99 --- /dev/null +++ b/snap/snapcraft.yaml @@ -0,0 +1,77 @@ +name: ghostty +base: core24 +version: git +summary: A terminal emulator +description: | + Ghostty is a fast, feature-rich, and cross-platform terminal emulator that + uses platform-native UI and GPU acceleration. +grade: stable +confinement: classic +contact: https://github.com/ghostty-org/ghostty/discussions +issues: https://github.com/ghostty-org/ghostty/issues +website: https://ghostty.org +license: MIT +icon: images/icons/icon_512.png + +platforms: + amd64: + arm64: + +apps: + ghostty: + command: bin/ghostty + command-chain: [ bin/launcher ] + desktop: share/applications/com.mitchellh.ghostty.desktop + environment: + PATH: /snap/ghostty/current/bin:/snap/ghostty/current/usr/bin:$PATH + LC_ALL: C.UTF-8 + +parts: + launcher: + plugin: dump + source: snap/local/ + organize: + launcher: bin/ + + zig: + plugin: nil + build-packages: + - curl + override-pull: | + set -ex + case "$CRAFT_TARGET_ARCH" in + amd64) arch=x86_64 ;; + arm64) arch=aarch64 ;; + *) arch="" ;; + esac + + rm -rf $CRAFT_PART_SRC/* + + if [[ -n $arch ]]; then + curl -LO --retry-connrefused --retry 10 https://ziglang.org/download/0.13.0/zig-linux-$arch-0.13.0.tar.xz + fi + + tar xf zig-lin*xz + rm -f *xz + mv zig-linux*/* . + prime: + - -* + + ghostty: + source: . + after: [ zig ] + plugin: nil + build-packages: + - libgtk-4-dev + - libadwaita-1-dev + - git + stage-packages: + - libadwaita-1-0 + - libgtk-4-1 + - bash + - zsh + - fish + override-build: | + $CRAFT_PART_SRC/../../zig/src/zig build -Doptimize=ReleaseFast + cp -rp zig-out/* $CRAFT_PART_INSTALL/ + sed -i 's|Icon=com.mitchellh.ghostty|Icon=/snap/ghostty/current/share/icons/hicolor/512x512/apps/com.mitchellh.ghostty.png|g' $CRAFT_PART_INSTALL/share/applications/com.mitchellh.ghostty.desktop From a7d1029e5c35eccaca5613d52958f691693f9e94 Mon Sep 17 00:00:00 2001 From: Ken VanDine Date: Sun, 29 Dec 2024 15:57:33 -0500 Subject: [PATCH 273/365] Added snap build workflow --- .github/workflows/snap.yaml | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 .github/workflows/snap.yaml diff --git a/.github/workflows/snap.yaml b/.github/workflows/snap.yaml new file mode 100644 index 000000000..5aa4c382d --- /dev/null +++ b/.github/workflows/snap.yaml @@ -0,0 +1,14 @@ +name: Snap + +on: + push: {} + pull_request: {} + workflow_dispatch: {} + +jobs: + build: + runs-on: ubuntu-24.04 + steps: + - uses: actions/checkout@v4 + - uses: snapcore/action-build@v1 + id: snapcraft From 97b104cf9d747ba575f7e023216afd7c69be42b3 Mon Sep 17 00:00:00 2001 From: Ken VanDine Date: Sun, 29 Dec 2024 16:05:52 -0500 Subject: [PATCH 274/365] Set source-type for launcher dir --- snap/local/launcher | 6 ++++++ snap/snapcraft.yaml | 3 ++- 2 files changed, 8 insertions(+), 1 deletion(-) create mode 100755 snap/local/launcher diff --git a/snap/local/launcher b/snap/local/launcher new file mode 100755 index 000000000..29c0f5c8f --- /dev/null +++ b/snap/local/launcher @@ -0,0 +1,6 @@ +#!/usr/bin/env bash + +export XDG_CONFIG_HOME="$SNAP_REAL_HOME/.config" +export XDG_DATA_HOME="$SNAP_REAL_HOME/.local/share" + +exec "$@" diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml index 59c7edc99..15601c240 100644 --- a/snap/snapcraft.yaml +++ b/snap/snapcraft.yaml @@ -29,7 +29,8 @@ apps: parts: launcher: plugin: dump - source: snap/local/ + source: snap/local + source-type: local organize: launcher: bin/ From f51789b17a8bc89c371d610d9a960cd8d3412210 Mon Sep 17 00:00:00 2001 From: Ken VanDine Date: Sun, 29 Dec 2024 16:15:34 -0500 Subject: [PATCH 275/365] Exit with error if building for unsupported arch --- snap/snapcraft.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml index 15601c240..846863fc5 100644 --- a/snap/snapcraft.yaml +++ b/snap/snapcraft.yaml @@ -50,6 +50,9 @@ parts: if [[ -n $arch ]]; then curl -LO --retry-connrefused --retry 10 https://ziglang.org/download/0.13.0/zig-linux-$arch-0.13.0.tar.xz + else + echo "Unsupported arch" + exit 1 fi tar xf zig-lin*xz From 30fa18390fa1f88042fb07c34d9acb6f045014cd Mon Sep 17 00:00:00 2001 From: Ken VanDine Date: Sun, 29 Dec 2024 16:45:23 -0500 Subject: [PATCH 276/365] Install bash-completion --- snap/snapcraft.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml index 846863fc5..e997dca47 100644 --- a/snap/snapcraft.yaml +++ b/snap/snapcraft.yaml @@ -21,6 +21,7 @@ apps: ghostty: command: bin/ghostty command-chain: [ bin/launcher ] + completer: share/bash-completion/completions/ghostty.bash desktop: share/applications/com.mitchellh.ghostty.desktop environment: PATH: /snap/ghostty/current/bin:/snap/ghostty/current/usr/bin:$PATH From eb0816c2c4449b6d6ad7862970ef994289af2797 Mon Sep 17 00:00:00 2001 From: Ken VanDine Date: Sun, 29 Dec 2024 17:11:37 -0500 Subject: [PATCH 277/365] Set GHOSTTY_RESOURCES_DIR --- snap/snapcraft.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml index e997dca47..95fb671ac 100644 --- a/snap/snapcraft.yaml +++ b/snap/snapcraft.yaml @@ -26,6 +26,7 @@ apps: environment: PATH: /snap/ghostty/current/bin:/snap/ghostty/current/usr/bin:$PATH LC_ALL: C.UTF-8 + GHOSTTY_RESOURCES_DIR: /snap/ghostty/current/share/ghostty parts: launcher: From b6a3b98828136487c995d24c012c46683b4a180b Mon Sep 17 00:00:00 2001 From: Ken VanDine Date: Sun, 29 Dec 2024 17:22:26 -0500 Subject: [PATCH 278/365] enable-patchelf is more repliable for classic snaps --- snap/snapcraft.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml index 95fb671ac..a1311e3dc 100644 --- a/snap/snapcraft.yaml +++ b/snap/snapcraft.yaml @@ -67,6 +67,7 @@ parts: source: . after: [ zig ] plugin: nil + build-attributes: [ enable-patchelf ] build-packages: - libgtk-4-dev - libadwaita-1-dev From bf49784b7d296a800af9b0af1a7755987d2fa284 Mon Sep 17 00:00:00 2001 From: Ken VanDine Date: Mon, 30 Dec 2024 14:03:19 -0500 Subject: [PATCH 279/365] Don't stage shells --- snap/snapcraft.yaml | 3 --- 1 file changed, 3 deletions(-) diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml index a1311e3dc..a3edeb327 100644 --- a/snap/snapcraft.yaml +++ b/snap/snapcraft.yaml @@ -75,9 +75,6 @@ parts: stage-packages: - libadwaita-1-0 - libgtk-4-1 - - bash - - zsh - - fish override-build: | $CRAFT_PART_SRC/../../zig/src/zig build -Doptimize=ReleaseFast cp -rp zig-out/* $CRAFT_PART_INSTALL/ From eae420a2410b16ff1141d7bf6acfc54d4aeab6b2 Mon Sep 17 00:00:00 2001 From: Ken VanDine Date: Mon, 30 Dec 2024 14:06:57 -0500 Subject: [PATCH 280/365] Only run snap workflow on push and PR --- .github/workflows/snap.yaml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/.github/workflows/snap.yaml b/.github/workflows/snap.yaml index 5aa4c382d..66e3a5254 100644 --- a/.github/workflows/snap.yaml +++ b/.github/workflows/snap.yaml @@ -1,8 +1,10 @@ name: Snap on: - push: {} - pull_request: {} + push: + branches: [main] + pull_request: + branches: [main] workflow_dispatch: {} jobs: @@ -11,4 +13,3 @@ jobs: steps: - uses: actions/checkout@v4 - uses: snapcore/action-build@v1 - id: snapcraft From 53f1b4bc1577c44a8987b12237c4db3239528277 Mon Sep 17 00:00:00 2001 From: Ken VanDine Date: Mon, 30 Dec 2024 14:19:42 -0500 Subject: [PATCH 281/365] Changed shebang in launcher script --- snap/local/launcher | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/snap/local/launcher b/snap/local/launcher index 29c0f5c8f..36e87fd0c 100755 --- a/snap/local/launcher +++ b/snap/local/launcher @@ -1,4 +1,4 @@ -#!/usr/bin/env bash +#!/bin/sh export XDG_CONFIG_HOME="$SNAP_REAL_HOME/.config" export XDG_DATA_HOME="$SNAP_REAL_HOME/.local/share" From 2e0e8af1ada3300d7fdb298775f139e9b23d12a0 Mon Sep 17 00:00:00 2001 From: Ken VanDine Date: Mon, 30 Dec 2024 15:28:25 -0500 Subject: [PATCH 282/365] Set a more meaningful version for the snap --- snap/snapcraft.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml index a3edeb327..e3b61537a 100644 --- a/snap/snapcraft.yaml +++ b/snap/snapcraft.yaml @@ -1,6 +1,5 @@ name: ghostty base: core24 -version: git summary: A terminal emulator description: | Ghostty is a fast, feature-rich, and cross-platform terminal emulator that @@ -12,6 +11,7 @@ issues: https://github.com/ghostty-org/ghostty/issues website: https://ghostty.org license: MIT icon: images/icons/icon_512.png +adopt-info: ghostty platforms: amd64: @@ -76,6 +76,7 @@ parts: - libadwaita-1-0 - libgtk-4-1 override-build: | + craftctl set version=$(grep version build.zig.zon |awk -F '"' '{print $2}')-$(git describe --abbrev=8) $CRAFT_PART_SRC/../../zig/src/zig build -Doptimize=ReleaseFast cp -rp zig-out/* $CRAFT_PART_INSTALL/ sed -i 's|Icon=com.mitchellh.ghostty|Icon=/snap/ghostty/current/share/icons/hicolor/512x512/apps/com.mitchellh.ghostty.png|g' $CRAFT_PART_INSTALL/share/applications/com.mitchellh.ghostty.desktop From f1f23e1c7d8632de2f4194e7c0cbcb82ef7e1f1f Mon Sep 17 00:00:00 2001 From: Mitchell Hashimoto Date: Wed, 8 Jan 2025 10:22:17 -0800 Subject: [PATCH 283/365] Add snap to nix, add arm64 builders --- .github/workflows/snap.yaml | 26 ++++++++++++++++++++++---- nix/devShell.nix | 2 ++ snap/snapcraft.yaml | 8 ++++---- 3 files changed, 28 insertions(+), 8 deletions(-) diff --git a/.github/workflows/snap.yaml b/.github/workflows/snap.yaml index 66e3a5254..05f509f13 100644 --- a/.github/workflows/snap.yaml +++ b/.github/workflows/snap.yaml @@ -8,8 +8,26 @@ on: workflow_dispatch: {} jobs: - build: - runs-on: ubuntu-24.04 + build-amd64: + runs-on: namespace-profile-ghostty-snap steps: - - uses: actions/checkout@v4 - - uses: snapcore/action-build@v1 + - uses: actions/checkout@v4 + - name: Setup Cache + uses: namespacelabs/nscloud-cache-action@v1.2.0 + with: + path: | + /nix + /zig + - uses: snapcore/action-build@v1 + + build-arm64: + runs-on: namespace-profile-ghostty-snap-arm64 + steps: + - uses: actions/checkout@v4 + - name: Setup Cache + uses: namespacelabs/nscloud-cache-action@v1.2.0 + with: + path: | + /nix + /zig + - uses: snapcore/action-build@v1 diff --git a/nix/devShell.nix b/nix/devShell.nix index 7cfef64c2..6470423a0 100644 --- a/nix/devShell.nix +++ b/nix/devShell.nix @@ -14,6 +14,7 @@ python3, qemu, scdoc, + snapcraft, valgrind, #, vulkan-loader # unused vttest, @@ -105,6 +106,7 @@ in pandoc pkg-config scdoc + snapcraft zig zip zig2nix.packages.${system}.zon2nix diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml index e3b61537a..d190e345d 100644 --- a/snap/snapcraft.yaml +++ b/snap/snapcraft.yaml @@ -20,9 +20,9 @@ platforms: apps: ghostty: command: bin/ghostty - command-chain: [ bin/launcher ] + command-chain: [bin/launcher] completer: share/bash-completion/completions/ghostty.bash - desktop: share/applications/com.mitchellh.ghostty.desktop + desktop: share/applications/com.mitchellh.ghostty.desktop environment: PATH: /snap/ghostty/current/bin:/snap/ghostty/current/usr/bin:$PATH LC_ALL: C.UTF-8 @@ -65,9 +65,9 @@ parts: ghostty: source: . - after: [ zig ] + after: [zig] plugin: nil - build-attributes: [ enable-patchelf ] + build-attributes: [enable-patchelf] build-packages: - libgtk-4-dev - libadwaita-1-dev From ec8e7d9d869ea6f5c26cd55ae802d0f0c5dea5ee Mon Sep 17 00:00:00 2001 From: Ken VanDine Date: Thu, 9 Jan 2025 10:16:54 -0500 Subject: [PATCH 284/365] Ensure LD_LIBRARY_PATH is set appropriately --- snap/local/launcher | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/snap/local/launcher b/snap/local/launcher index 36e87fd0c..3a70a0de0 100755 --- a/snap/local/launcher +++ b/snap/local/launcher @@ -2,5 +2,16 @@ export XDG_CONFIG_HOME="$SNAP_REAL_HOME/.config" export XDG_DATA_HOME="$SNAP_REAL_HOME/.local/share" +export HOME="$SNAP_REAL_HOME" + +if [ "$SNAP_ARCH" = "amd64" ]; then + ARCH="x86_64-linux-gnu" +elif [ "$SNAP_ARCH" = "arm64" ]; then + ARCH="aarch64-linux-gnu" +else + ARCH="$SNAP_ARCH-linux-gnu" +fi + +export LD_LIBRARY_PATH=$SNAP/usr/lib/$ARCH${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH} exec "$@" From aa4d9809c363089363c52cccba1fc9114603c631 Mon Sep 17 00:00:00 2001 From: Ken VanDine Date: Thu, 9 Jan 2025 10:23:25 -0500 Subject: [PATCH 285/365] CRAFT_TARGET_ARCH is deprecated, use CRAFT_ARCH_BUILD_FOR --- snap/snapcraft.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml index d190e345d..d013f5bd5 100644 --- a/snap/snapcraft.yaml +++ b/snap/snapcraft.yaml @@ -42,7 +42,7 @@ parts: - curl override-pull: | set -ex - case "$CRAFT_TARGET_ARCH" in + case "$CRAFT_ARCH_BUILD_FOR" in amd64) arch=x86_64 ;; arm64) arch=aarch64 ;; *) arch="" ;; From 6d8b3973e499b3fde515e450f10e45bc1bc3e465 Mon Sep 17 00:00:00 2001 From: Ken VanDine Date: Thu, 9 Jan 2025 14:26:29 -0500 Subject: [PATCH 286/365] EGL fixes, ensure necessary env variables are set to isolate dependencies from the host --- snap/local/launcher | 61 +++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 59 insertions(+), 2 deletions(-) diff --git a/snap/local/launcher b/snap/local/launcher index 3a70a0de0..c65935127 100755 --- a/snap/local/launcher +++ b/snap/local/launcher @@ -1,4 +1,5 @@ -#!/bin/sh +#!/bin/bash +set -euo pipefail export XDG_CONFIG_HOME="$SNAP_REAL_HOME/.config" export XDG_DATA_HOME="$SNAP_REAL_HOME/.local/share" @@ -12,6 +13,62 @@ else ARCH="$SNAP_ARCH-linux-gnu" fi -export LD_LIBRARY_PATH=$SNAP/usr/lib/$ARCH${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH} +# VDPAU_DRIVER_PATH only supports a single path, rely on LD_LIBRARY_PATH instead +LD_LIBRARY_PATH=${LD_LIBRARY_PATH:+$LD_LIBRARY_PATH:}${SNAP}/usr/lib/${ARCH}:${SNAP}/usr/lib/${ARCH}/vdpau +LIBGL_DRIVERS_PATH=${LIBGL_DRIVERS_PATH:+$LIBGL_DRIVERS_PATH:}${SNAP}/usr/lib/${ARCH}/dri/ +LIBVA_DRIVERS_PATH=${LIBVA_DRIVERS_PATH:+$LIBVA_DRIVERS_PATH:}${SNAP}/usr/lib/${ARCH}/dri/ + +__EGL_VENDOR_LIBRARY_DIRS=${__EGL_VENDOR_LIBRARY_DIRS:+$__EGL_VENDOR_LIBRARY_DIRS:}${SNAP}/usr/share/glvnd/egl_vendor.d +__EGL_EXTERNAL_PLATFORM_CONFIG_DIRS=${__EGL_EXTERNAL_PLATFORM_CONFIG_DIRS:+$__EGL_EXTERNAL_PLATFORM_CONFIG_DIRS:}${SNAP}/usr/share/egl/egl_external_platform.d +DRIRC_CONFIGDIR=${SNAP}/usr/share/drirc.d +VK_LAYER_PATH=${VK_LAYER_PATH:+$VK_LAYER_PATH:}${SNAP}/usr/share/vulkan/implicit_layer.d/:${SNAP}/usr/share/vulkan/explicit_layer.d/ +XDG_DATA_DIRS=${XDG_DATA_DIRS:+$XDG_DATA_DIRS:}${SNAP}/usr/share +XLOCALEDIR="${SNAP}/usr/share/X11/locale" + +# These are in the default LD_LIBRARY_PATH, but in case the snap dropped it inadvertently +if [ -d "/var/lib/snapd/lib/gl" ] && [[ ! ${LD_LIBRARY_PATH} =~ (^|:)/var/lib/snapd/lib/gl(:|$) ]]; then + LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/var/lib/snapd/lib/gl +fi + +if [ -d "/var/lib/snapd/lib/gl32" ] && [[ ! ${LD_LIBRARY_PATH} =~ (^|:)/var/lib/snapd/lib/gl32(:|$) ]]; then + LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/var/lib/snapd/lib/gl32 +fi + +if [ -d "/var/lib/snapd/lib/glvnd/egl_vendor.d" ]; then + # This needs to be prepended, as glvnd goes depth-first on these + # TODO maybe collect the JSONs into a separate location so their ordering matters, + # and not the dir order + __EGL_VENDOR_LIBRARY_DIRS=/var/lib/snapd/lib/glvnd/egl_vendor.d:${__EGL_VENDOR_LIBRARY_DIRS} +fi + +if [ -d "/var/lib/snapd/lib/vulkan/icd.d" ]; then + XDG_DATA_DIRS=${XDG_DATA_DIRS}:/var/lib/snapd/lib +fi + +if [ -d "/var/lib/snapd/lib/gl/vdpau" ]; then + LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/var/lib/snapd/lib/gl/vdpau +fi + +if [ -d "/var/lib/snapd/lib/gl32/vdpau" ]; then + LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/var/lib/snapd/lib/gl32/vdpau +fi + +if [ -d "/var/lib/snapd/lib/gl/gbm" ]; then + export GBM_BACKENDS_PATH=/var/lib/snapd/lib/gl/gbm +fi + +export LD_LIBRARY_PATH +export LIBGL_DRIVERS_PATH +if [ "${__NV_PRIME_RENDER_OFFLOAD:-}" != 1 ]; then + # Prevent picking VA-API (Intel/AMD) over NVIDIA VDPAU + # https://download.nvidia.com/XFree86/Linux-x86_64/510.54/README/primerenderoffload.html#configureapplications + export LIBVA_DRIVERS_PATH +fi +export __EGL_VENDOR_LIBRARY_DIRS +export __EGL_EXTERNAL_PLATFORM_CONFIG_DIRS +export DRIRC_CONFIGDIR +export VK_LAYER_PATH +export XDG_DATA_DIRS +export XLOCALEDIR exec "$@" From 3a9d61d6e464471c3f511a75c8da4c33f9af2352 Mon Sep 17 00:00:00 2001 From: Ken VanDine Date: Thu, 9 Jan 2025 14:26:59 -0500 Subject: [PATCH 287/365] Stage more depends to ensure we aren't getting leaks from the host --- snap/snapcraft.yaml | 26 +++++++++++++++++++++++--- 1 file changed, 23 insertions(+), 3 deletions(-) diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml index d013f5bd5..a666c73dc 100644 --- a/snap/snapcraft.yaml +++ b/snap/snapcraft.yaml @@ -72,11 +72,31 @@ parts: - libgtk-4-dev - libadwaita-1-dev - git - stage-packages: - - libadwaita-1-0 - - libgtk-4-1 override-build: | craftctl set version=$(grep version build.zig.zon |awk -F '"' '{print $2}')-$(git describe --abbrev=8) $CRAFT_PART_SRC/../../zig/src/zig build -Doptimize=ReleaseFast cp -rp zig-out/* $CRAFT_PART_INSTALL/ sed -i 's|Icon=com.mitchellh.ghostty|Icon=/snap/ghostty/current/share/icons/hicolor/512x512/apps/com.mitchellh.ghostty.png|g' $CRAFT_PART_INSTALL/share/applications/com.mitchellh.ghostty.desktop + + libs: + plugin: nil + stage-packages: + - libadwaita-1-0 + - libgtk-4-1 + - libgtk-4-media-gstreamer + - ibus-gtk4 + - libegl1 + - libegl-mesa0 + - libgl1-mesa-dri + - libglapi-mesa + - libglu1-mesa + - libglx-mesa0 + - mesa-va-drivers + - mesa-vulkan-drivers + - libpciaccess0 + - libtinfo6 + - libedit2 + - libelf1t64 + - libsensors5 + - libllvm17 + - on amd64: [i965-va-driver,libdrm-intel1,libdrm-nouveau2,libdrm-amdgpu1,libdrm-radeon1] From 2b6b7c19d284f2c4e7e1d9fb5a9b230ba2e425c0 Mon Sep 17 00:00:00 2001 From: Ken VanDine Date: Thu, 9 Jan 2025 15:03:53 -0500 Subject: [PATCH 288/365] Enable patch-elf for libs part --- snap/snapcraft.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml index a666c73dc..1640c01d4 100644 --- a/snap/snapcraft.yaml +++ b/snap/snapcraft.yaml @@ -80,6 +80,7 @@ parts: libs: plugin: nil + build-attributes: [enable-patchelf] stage-packages: - libadwaita-1-0 - libgtk-4-1 From f3829072f34efdd356a2d30d9075e742d1700838 Mon Sep 17 00:00:00 2001 From: Ken VanDine Date: Thu, 9 Jan 2025 15:29:52 -0500 Subject: [PATCH 289/365] Drop patchelf --- snap/snapcraft.yaml | 2 -- 1 file changed, 2 deletions(-) diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml index 1640c01d4..eaccb78bf 100644 --- a/snap/snapcraft.yaml +++ b/snap/snapcraft.yaml @@ -67,7 +67,6 @@ parts: source: . after: [zig] plugin: nil - build-attributes: [enable-patchelf] build-packages: - libgtk-4-dev - libadwaita-1-dev @@ -80,7 +79,6 @@ parts: libs: plugin: nil - build-attributes: [enable-patchelf] stage-packages: - libadwaita-1-0 - libgtk-4-1 From 0272ad9edb005e830a47f0f6fa3003957eead171 Mon Sep 17 00:00:00 2001 From: Ken VanDine Date: Thu, 9 Jan 2025 15:43:45 -0500 Subject: [PATCH 290/365] Stage gnome-text-editor to open configuration, this makes it more reliable across more distros as a classic snap. --- snap/snapcraft.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml index eaccb78bf..bb1d46557 100644 --- a/snap/snapcraft.yaml +++ b/snap/snapcraft.yaml @@ -98,4 +98,5 @@ parts: - libelf1t64 - libsensors5 - libllvm17 + - gnome-text-editor # Needed for config editor - on amd64: [i965-va-driver,libdrm-intel1,libdrm-nouveau2,libdrm-amdgpu1,libdrm-radeon1] From 9d62c31f44d51e20c64343cd6f2fe1e454193d4a Mon Sep 17 00:00:00 2001 From: Ken VanDine Date: Fri, 10 Jan 2025 08:57:01 -0500 Subject: [PATCH 291/365] no-patchelf for DRI and tidy up the mesa bits --- snap/snapcraft.yaml | 36 ++++++++++++++++++++++++++++-------- 1 file changed, 28 insertions(+), 8 deletions(-) diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml index bb1d46557..597ff3713 100644 --- a/snap/snapcraft.yaml +++ b/snap/snapcraft.yaml @@ -79,24 +79,44 @@ parts: libs: plugin: nil + build-attributes: [enable-patchelf] stage-packages: - libadwaita-1-0 - libgtk-4-1 - libgtk-4-media-gstreamer - ibus-gtk4 - - libegl1 - - libegl-mesa0 - - libgl1-mesa-dri - - libglapi-mesa - - libglu1-mesa - - libglx-mesa0 - - mesa-va-drivers - - mesa-vulkan-drivers - libpciaccess0 - libtinfo6 - libedit2 - libelf1t64 - libsensors5 - libllvm17 + - libunistring5 - gnome-text-editor # Needed for config editor - on amd64: [i965-va-driver,libdrm-intel1,libdrm-nouveau2,libdrm-amdgpu1,libdrm-radeon1] + stage: + # The libraries in dri need no-patchelf, so they come from the mesa-unpatched part + - -usr/lib/*/dri + + mesa: + plugin: nil + build-attributes: [enable-patchelf] + stage-packages: + - libglu1-mesa + - libgl1-mesa-dri + - libegl-mesa0 + - libegl1 + - libglx-mesa0 + stage: + # The libraries in dri need no-patchelf, so they come from the mesa-unpatched part + - -usr/lib/*/dri + + mesa-gl1-dri: + plugin: nil + stage-packages: + - libgl1-mesa-dri + build-attributes: [no-patchelf] + stage: + # Only the libraries in dri need to not be patched, the rest come from the mesa part + # Otherwise snapcraft may strip the build ID and cause the driver to crash + - usr/lib/*/dri From 1dcea3b11f957837be4c261ce832435024ee1fa5 Mon Sep 17 00:00:00 2001 From: Ken VanDine Date: Sun, 29 Dec 2024 16:15:34 -0500 Subject: [PATCH 292/365] Exit with error if building for unsupported arch From e09d8455a10834e35c244117fea555315ec4cd96 Mon Sep 17 00:00:00 2001 From: Ken VanDine Date: Sun, 29 Dec 2024 17:11:37 -0500 Subject: [PATCH 293/365] Set GHOSTTY_RESOURCES_DIR From 78446008c473cee7edf111f047676eab0a88c70a Mon Sep 17 00:00:00 2001 From: Ken VanDine Date: Sun, 29 Dec 2024 17:22:26 -0500 Subject: [PATCH 294/365] enable-patchelf is more repliable for classic snaps --- snap/snapcraft.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml index 597ff3713..33d1f7864 100644 --- a/snap/snapcraft.yaml +++ b/snap/snapcraft.yaml @@ -67,6 +67,7 @@ parts: source: . after: [zig] plugin: nil + build-attributes: [ enable-patchelf ] build-packages: - libgtk-4-dev - libadwaita-1-dev From 9c81cd323dd9506622ce509780878e177c5227c3 Mon Sep 17 00:00:00 2001 From: Ken VanDine Date: Mon, 30 Dec 2024 14:03:19 -0500 Subject: [PATCH 295/365] Don't stage shells --- snap/snapcraft.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml index 33d1f7864..00209f4c0 100644 --- a/snap/snapcraft.yaml +++ b/snap/snapcraft.yaml @@ -72,6 +72,9 @@ parts: - libgtk-4-dev - libadwaita-1-dev - git + stage-packages: + - libadwaita-1-0 + - libgtk-4-1 override-build: | craftctl set version=$(grep version build.zig.zon |awk -F '"' '{print $2}')-$(git describe --abbrev=8) $CRAFT_PART_SRC/../../zig/src/zig build -Doptimize=ReleaseFast From 5e77a973b211630101ec3cefc38733f3ad2e3c0d Mon Sep 17 00:00:00 2001 From: Ken VanDine Date: Sun, 12 Jan 2025 16:23:21 -0500 Subject: [PATCH 296/365] Removed duplicated stage-packages --- snap/snapcraft.yaml | 3 --- 1 file changed, 3 deletions(-) diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml index 00209f4c0..33d1f7864 100644 --- a/snap/snapcraft.yaml +++ b/snap/snapcraft.yaml @@ -72,9 +72,6 @@ parts: - libgtk-4-dev - libadwaita-1-dev - git - stage-packages: - - libadwaita-1-0 - - libgtk-4-1 override-build: | craftctl set version=$(grep version build.zig.zon |awk -F '"' '{print $2}')-$(git describe --abbrev=8) $CRAFT_PART_SRC/../../zig/src/zig build -Doptimize=ReleaseFast From 55c5b8b72f948e069f7388f2ec30fbe7e05ff64d Mon Sep 17 00:00:00 2001 From: Mitchell Hashimoto Date: Mon, 20 Jan 2025 11:03:40 -0800 Subject: [PATCH 297/365] ci: temporary apt installs required for namespace --- .github/workflows/snap.yaml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/snap.yaml b/.github/workflows/snap.yaml index 05f509f13..c5b7f5208 100644 --- a/.github/workflows/snap.yaml +++ b/.github/workflows/snap.yaml @@ -18,6 +18,8 @@ jobs: path: | /nix /zig + - run: sudo apt install -y udev + - run: sudo systemctl start systemd-udevd - uses: snapcore/action-build@v1 build-arm64: @@ -30,4 +32,6 @@ jobs: path: | /nix /zig + - run: sudo apt install -y udev + - run: sudo systemctl start systemd-udevd - uses: snapcore/action-build@v1 From 1a5b69181f51989652a24396547bbbe39531f724 Mon Sep 17 00:00:00 2001 From: Ken VanDine Date: Tue, 21 Jan 2025 08:48:48 +0200 Subject: [PATCH 298/365] Use patch-rpath which improves our cross distro support --- snap/snapcraft.yaml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml index 33d1f7864..c616e67c5 100644 --- a/snap/snapcraft.yaml +++ b/snap/snapcraft.yaml @@ -67,14 +67,15 @@ parts: source: . after: [zig] plugin: nil - build-attributes: [ enable-patchelf ] + build-attributes: [enable-patchelf] build-packages: - libgtk-4-dev - libadwaita-1-dev - git + - patchelf override-build: | craftctl set version=$(grep version build.zig.zon |awk -F '"' '{print $2}')-$(git describe --abbrev=8) - $CRAFT_PART_SRC/../../zig/src/zig build -Doptimize=ReleaseFast + $CRAFT_PART_SRC/../../zig/src/zig build -Dpatch-rpath=/snap/ghostty/current/usr/lib/$CRAFT_ARCH_TRIPLET_BUILD_FOR -Doptimize=ReleaseFast cp -rp zig-out/* $CRAFT_PART_INSTALL/ sed -i 's|Icon=com.mitchellh.ghostty|Icon=/snap/ghostty/current/share/icons/hicolor/512x512/apps/com.mitchellh.ghostty.png|g' $CRAFT_PART_INSTALL/share/applications/com.mitchellh.ghostty.desktop From 3e669fc4bb6de8d564fc6d9814122edcf1915d91 Mon Sep 17 00:00:00 2001 From: Ken VanDine Date: Tue, 21 Jan 2025 08:49:37 +0200 Subject: [PATCH 299/365] Improved environment handling to ensure the snap will work across distros and unset all SNAP environment variables that could leak at runtime --- snap/local/launcher | 69 +++++++++++---------------------------------- 1 file changed, 17 insertions(+), 52 deletions(-) diff --git a/snap/local/launcher b/snap/local/launcher index c65935127..7a77d8afc 100755 --- a/snap/local/launcher +++ b/snap/local/launcher @@ -1,5 +1,5 @@ -#!/bin/bash -set -euo pipefail +#!/bin/sh +set -e export XDG_CONFIG_HOME="$SNAP_REAL_HOME/.config" export XDG_DATA_HOME="$SNAP_REAL_HOME/.local/share" @@ -13,62 +13,27 @@ else ARCH="$SNAP_ARCH-linux-gnu" fi -# VDPAU_DRIVER_PATH only supports a single path, rely on LD_LIBRARY_PATH instead -LD_LIBRARY_PATH=${LD_LIBRARY_PATH:+$LD_LIBRARY_PATH:}${SNAP}/usr/lib/${ARCH}:${SNAP}/usr/lib/${ARCH}/vdpau -LIBGL_DRIVERS_PATH=${LIBGL_DRIVERS_PATH:+$LIBGL_DRIVERS_PATH:}${SNAP}/usr/lib/${ARCH}/dri/ -LIBVA_DRIVERS_PATH=${LIBVA_DRIVERS_PATH:+$LIBVA_DRIVERS_PATH:}${SNAP}/usr/lib/${ARCH}/dri/ +export LD_LIBRARY_PATH=${LD_LIBRARY_PATH:+$LD_LIBRARY_PATH:}${SNAP}/usr/lib/${ARCH}:${SNAP}/usr/lib/${ARCH}/vdpau +export LIBGL_DRIVERS_PATH=${LIBGL_DRIVERS_PATH:+$LIBGL_DRIVERS_PATH:}${SNAP}/usr/lib/${ARCH}/dri/ +export LIBVA_DRIVERS_PATH=${LIBVA_DRIVERS_PATH:+$LIBVA_DRIVERS_PATH:}${SNAP}/usr/lib/${ARCH}/dri/ +export __EGL_VENDOR_LIBRARY_DIRS=${__EGL_VENDOR_LIBRARY_DIRS:+$__EGL_VENDOR_LIBRARY_DIRS:}${SNAP}/usr/share/glvnd/egl_vendor.d +export __EGL_EXTERNAL_PLATFORM_CONFIG_DIRS=${__EGL_EXTERNAL_PLATFORM_CONFIG_DIRS:+$__EGL_EXTERNAL_PLATFORM_CONFIG_DIRS:}${SNAP}/usr/share/egl/egl_external_platform.d +export DRIRC_CONFIGDIR=${SNAP}/usr/share/drirc.d +export VK_LAYER_PATH=${VK_LAYER_PATH:+$VK_LAYER_PATH:}${SNAP}/usr/share/vulkan/implicit_layer.d/:${SNAP}/usr/share/vulkan/explicit_layer.d/ +export XDG_DATA_DIRS=${XDG_DATA_DIRS:+$XDG_DATA_DIRS:}${SNAP}/usr/share +export XLOCALEDIR="${SNAP}/usr/share/X11/locale" -__EGL_VENDOR_LIBRARY_DIRS=${__EGL_VENDOR_LIBRARY_DIRS:+$__EGL_VENDOR_LIBRARY_DIRS:}${SNAP}/usr/share/glvnd/egl_vendor.d -__EGL_EXTERNAL_PLATFORM_CONFIG_DIRS=${__EGL_EXTERNAL_PLATFORM_CONFIG_DIRS:+$__EGL_EXTERNAL_PLATFORM_CONFIG_DIRS:}${SNAP}/usr/share/egl/egl_external_platform.d -DRIRC_CONFIGDIR=${SNAP}/usr/share/drirc.d -VK_LAYER_PATH=${VK_LAYER_PATH:+$VK_LAYER_PATH:}${SNAP}/usr/share/vulkan/implicit_layer.d/:${SNAP}/usr/share/vulkan/explicit_layer.d/ -XDG_DATA_DIRS=${XDG_DATA_DIRS:+$XDG_DATA_DIRS:}${SNAP}/usr/share -XLOCALEDIR="${SNAP}/usr/share/X11/locale" - -# These are in the default LD_LIBRARY_PATH, but in case the snap dropped it inadvertently -if [ -d "/var/lib/snapd/lib/gl" ] && [[ ! ${LD_LIBRARY_PATH} =~ (^|:)/var/lib/snapd/lib/gl(:|$) ]]; then - LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/var/lib/snapd/lib/gl -fi - -if [ -d "/var/lib/snapd/lib/gl32" ] && [[ ! ${LD_LIBRARY_PATH} =~ (^|:)/var/lib/snapd/lib/gl32(:|$) ]]; then - LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/var/lib/snapd/lib/gl32 -fi - -if [ -d "/var/lib/snapd/lib/glvnd/egl_vendor.d" ]; then - # This needs to be prepended, as glvnd goes depth-first on these - # TODO maybe collect the JSONs into a separate location so their ordering matters, - # and not the dir order - __EGL_VENDOR_LIBRARY_DIRS=/var/lib/snapd/lib/glvnd/egl_vendor.d:${__EGL_VENDOR_LIBRARY_DIRS} -fi - -if [ -d "/var/lib/snapd/lib/vulkan/icd.d" ]; then - XDG_DATA_DIRS=${XDG_DATA_DIRS}:/var/lib/snapd/lib -fi - -if [ -d "/var/lib/snapd/lib/gl/vdpau" ]; then - LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/var/lib/snapd/lib/gl/vdpau -fi - -if [ -d "/var/lib/snapd/lib/gl32/vdpau" ]; then - LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/var/lib/snapd/lib/gl32/vdpau -fi - -if [ -d "/var/lib/snapd/lib/gl/gbm" ]; then - export GBM_BACKENDS_PATH=/var/lib/snapd/lib/gl/gbm -fi - -export LD_LIBRARY_PATH export LIBGL_DRIVERS_PATH if [ "${__NV_PRIME_RENDER_OFFLOAD:-}" != 1 ]; then # Prevent picking VA-API (Intel/AMD) over NVIDIA VDPAU # https://download.nvidia.com/XFree86/Linux-x86_64/510.54/README/primerenderoffload.html#configureapplications export LIBVA_DRIVERS_PATH fi -export __EGL_VENDOR_LIBRARY_DIRS -export __EGL_EXTERNAL_PLATFORM_CONFIG_DIRS -export DRIRC_CONFIGDIR -export VK_LAYER_PATH -export XDG_DATA_DIRS -export XLOCALEDIR + +# Unset all SNAP specific environment variables to keep them from leaking +# into other snaps that might get executed from within the shell +for var in $(printenv | grep SNAP | cut -d= -f1); do + unset $var +done exec "$@" From d2f82b2e4013f7684c59fcfdaf15f1d5b4d90028 Mon Sep 17 00:00:00 2001 From: Ken VanDine Date: Wed, 22 Jan 2025 07:25:01 +0200 Subject: [PATCH 300/365] Stage libglib2.0-0t64 to insure we don't mix in the host's lib --- snap/snapcraft.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml index c616e67c5..2b4f4a825 100644 --- a/snap/snapcraft.yaml +++ b/snap/snapcraft.yaml @@ -84,6 +84,7 @@ parts: build-attributes: [enable-patchelf] stage-packages: - libadwaita-1-0 + - libglib2.0-0t64 - libgtk-4-1 - libgtk-4-media-gstreamer - ibus-gtk4 From cee189de11e5b9ecb34f309de6ff5148d0879702 Mon Sep 17 00:00:00 2001 From: Ken VanDine Date: Wed, 22 Jan 2025 07:38:41 +0200 Subject: [PATCH 301/365] Only export XDG_CONFIG_HOME and XDG_DATA_HOME if they aren't already set --- snap/local/launcher | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/snap/local/launcher b/snap/local/launcher index 7a77d8afc..6b5b69fa6 100755 --- a/snap/local/launcher +++ b/snap/local/launcher @@ -1,8 +1,15 @@ #!/bin/sh set -e -export XDG_CONFIG_HOME="$SNAP_REAL_HOME/.config" -export XDG_DATA_HOME="$SNAP_REAL_HOME/.local/share" +# Set these to reasonable defaults if not already set +if [ -z "$XDG_CONFIG_HOME" ]; then + export XDG_CONFIG_HOME="$SNAP_REAL_HOME/.config" +fi + +if [ -z "$XDG_DATA_HOME" ]; then + export XDG_DATA_HOME="$SNAP_REAL_HOME/.local/share" +fi + export HOME="$SNAP_REAL_HOME" if [ "$SNAP_ARCH" = "amd64" ]; then From c036eb2444bbbcab47dfafc0c1293a2b684a7bd0 Mon Sep 17 00:00:00 2001 From: Ken VanDine Date: Fri, 24 Jan 2025 13:57:14 +0200 Subject: [PATCH 302/365] Unset environment varies set by the snap --- src/termio/Exec.zig | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/termio/Exec.zig b/src/termio/Exec.zig index 864f2e21c..a728e7a37 100644 --- a/src/termio/Exec.zig +++ b/src/termio/Exec.zig @@ -732,6 +732,19 @@ const Subprocess = struct { try env.put("GHOSTTY_RESOURCES_DIR", dir); } + // Unset environment varies set by the snap + if (env.get("SNAP") != null) { + env.remove("SNAP"); + env.remove("DRIRC_CONFIGDIR"); + env.remove("__EGL_EXTERNAL_PLATFORM_CONFIG_DIRS"); + env.remove("__EGL_VENDOR_LIBRARY_DIRS"); + env.remove("LD_LIBRARY_PATH"); + env.remove("LIBGL_DRIVERS_PATH"); + env.remove("LIBVA_DRIVERS_PATH"); + env.remove("VK_LAYER_PATH"); + env.remove("XLOCALEDIR"); + } + // Set our TERM var. This is a bit complicated because we want to use // the ghostty TERM value but we want to only do that if we have // ghostty in the TERMINFO database. From f239df59caca2034eb98b3f90f6878e6384d1d0c Mon Sep 17 00:00:00 2001 From: Ken VanDine Date: Fri, 24 Jan 2025 13:57:30 +0200 Subject: [PATCH 303/365] Clean up environment variable while launching the shell --- snap/local/launcher | 3 +-- snap/snapcraft.yaml | 1 - 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/snap/local/launcher b/snap/local/launcher index 6b5b69fa6..c0f204060 100755 --- a/snap/local/launcher +++ b/snap/local/launcher @@ -30,7 +30,6 @@ export VK_LAYER_PATH=${VK_LAYER_PATH:+$VK_LAYER_PATH:}${SNAP}/usr/share/vulkan/i export XDG_DATA_DIRS=${XDG_DATA_DIRS:+$XDG_DATA_DIRS:}${SNAP}/usr/share export XLOCALEDIR="${SNAP}/usr/share/X11/locale" -export LIBGL_DRIVERS_PATH if [ "${__NV_PRIME_RENDER_OFFLOAD:-}" != 1 ]; then # Prevent picking VA-API (Intel/AMD) over NVIDIA VDPAU # https://download.nvidia.com/XFree86/Linux-x86_64/510.54/README/primerenderoffload.html#configureapplications @@ -39,7 +38,7 @@ fi # Unset all SNAP specific environment variables to keep them from leaking # into other snaps that might get executed from within the shell -for var in $(printenv | grep SNAP | cut -d= -f1); do +for var in $(printenv | grep SNAP_ | cut -d= -f1); do unset $var done diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml index 2b4f4a825..a27f35e45 100644 --- a/snap/snapcraft.yaml +++ b/snap/snapcraft.yaml @@ -95,7 +95,6 @@ parts: - libsensors5 - libllvm17 - libunistring5 - - gnome-text-editor # Needed for config editor - on amd64: [i965-va-driver,libdrm-intel1,libdrm-nouveau2,libdrm-amdgpu1,libdrm-radeon1] stage: # The libraries in dri need no-patchelf, so they come from the mesa-unpatched part From a111b3f96fc7b2151f001b835e50588aeaca107b Mon Sep 17 00:00:00 2001 From: Ken VanDine Date: Sat, 25 Jan 2025 07:44:32 -0500 Subject: [PATCH 304/365] Per PR review feedback, this is the more "ziggy" way of doing the check for environment variable. --- src/termio/Exec.zig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/termio/Exec.zig b/src/termio/Exec.zig index a728e7a37..8dfeb1aeb 100644 --- a/src/termio/Exec.zig +++ b/src/termio/Exec.zig @@ -733,7 +733,7 @@ const Subprocess = struct { } // Unset environment varies set by the snap - if (env.get("SNAP") != null) { + if (env.get("SNAP")) |_| { env.remove("SNAP"); env.remove("DRIRC_CONFIGDIR"); env.remove("__EGL_EXTERNAL_PLATFORM_CONFIG_DIRS"); From b0edda4b696d15e5fae1e5422d4b1f07402e266a Mon Sep 17 00:00:00 2001 From: Ken VanDine Date: Fri, 7 Feb 2025 14:39:48 -0500 Subject: [PATCH 305/365] Updated stage packages --- snap/snapcraft.yaml | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml index a27f35e45..732700272 100644 --- a/snap/snapcraft.yaml +++ b/snap/snapcraft.yaml @@ -67,7 +67,7 @@ parts: source: . after: [zig] plugin: nil - build-attributes: [enable-patchelf] + build-attributes: [no-patchelf] build-packages: - libgtk-4-dev - libadwaita-1-dev @@ -95,6 +95,7 @@ parts: - libsensors5 - libllvm17 - libunistring5 + - librsvg2-2 - on amd64: [i965-va-driver,libdrm-intel1,libdrm-nouveau2,libdrm-amdgpu1,libdrm-radeon1] stage: # The libraries in dri need no-patchelf, so they come from the mesa-unpatched part @@ -109,8 +110,12 @@ parts: - libegl-mesa0 - libegl1 - libglx-mesa0 + - mesa-libgallium stage: # The libraries in dri need no-patchelf, so they come from the mesa-unpatched part + - usr/lib/*/*.so* + - usr/lib/*/dri/libdril_dri.so + - -usr/lib/*/libgallium*so - -usr/lib/*/dri mesa-gl1-dri: @@ -121,4 +126,6 @@ parts: stage: # Only the libraries in dri need to not be patched, the rest come from the mesa part # Otherwise snapcraft may strip the build ID and cause the driver to crash + - usr/lib/*/libgallium*so + - -usr/lib/*/dri/libdril_dri.so - usr/lib/*/dri From 90ce5b75f1a7145bd4715a629b6fed6575cc7f06 Mon Sep 17 00:00:00 2001 From: Ken VanDine Date: Thu, 13 Feb 2025 21:42:49 -0500 Subject: [PATCH 306/365] Simplified setting snap version --- snap/snapcraft.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml index 732700272..37020a2d6 100644 --- a/snap/snapcraft.yaml +++ b/snap/snapcraft.yaml @@ -74,7 +74,7 @@ parts: - git - patchelf override-build: | - craftctl set version=$(grep version build.zig.zon |awk -F '"' '{print $2}')-$(git describe --abbrev=8) + craftctl set version=$(git describe --abbrev=8) $CRAFT_PART_SRC/../../zig/src/zig build -Dpatch-rpath=/snap/ghostty/current/usr/lib/$CRAFT_ARCH_TRIPLET_BUILD_FOR -Doptimize=ReleaseFast cp -rp zig-out/* $CRAFT_PART_INSTALL/ sed -i 's|Icon=com.mitchellh.ghostty|Icon=/snap/ghostty/current/share/icons/hicolor/512x512/apps/com.mitchellh.ghostty.png|g' $CRAFT_PART_INSTALL/share/applications/com.mitchellh.ghostty.desktop From 4e8e2d97965347f9afd3d179d81bce0aa02e6972 Mon Sep 17 00:00:00 2001 From: Mitchell Hashimoto Date: Fri, 14 Feb 2025 14:52:29 -0800 Subject: [PATCH 307/365] nix: snapcraft should only be installed on Linux --- nix/devShell.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nix/devShell.nix b/nix/devShell.nix index 6470423a0..66f259656 100644 --- a/nix/devShell.nix +++ b/nix/devShell.nix @@ -106,7 +106,6 @@ in pandoc pkg-config scdoc - snapcraft zig zip zig2nix.packages.${system}.zon2nix @@ -139,6 +138,7 @@ in qemu gdb + snapcraft valgrind wraptest From 8c4b0f815d0b988c8a41a6fd9cc1cf92d342b20f Mon Sep 17 00:00:00 2001 From: Mitchell Hashimoto Date: Fri, 14 Feb 2025 14:54:53 -0800 Subject: [PATCH 308/365] prettier --- snap/snapcraft.yaml | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml index 37020a2d6..847327d4c 100644 --- a/snap/snapcraft.yaml +++ b/snap/snapcraft.yaml @@ -96,7 +96,14 @@ parts: - libllvm17 - libunistring5 - librsvg2-2 - - on amd64: [i965-va-driver,libdrm-intel1,libdrm-nouveau2,libdrm-amdgpu1,libdrm-radeon1] + - on amd64: + [ + i965-va-driver, + libdrm-intel1, + libdrm-nouveau2, + libdrm-amdgpu1, + libdrm-radeon1, + ] stage: # The libraries in dri need no-patchelf, so they come from the mesa-unpatched part - -usr/lib/*/dri From b975f1e860c53c1f6f8978a249151c6cbe48d78f Mon Sep 17 00:00:00 2001 From: Mitchell Hashimoto Date: Fri, 14 Feb 2025 15:13:53 -0800 Subject: [PATCH 309/365] cli: disable +boo on non-desktop platforms due to lack of tty --- src/cli/boo.zig | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/cli/boo.zig b/src/cli/boo.zig index 4289668d2..7ecbf79fb 100644 --- a/src/cli/boo.zig +++ b/src/cli/boo.zig @@ -1,4 +1,5 @@ const std = @import("std"); +const builtin = @import("builtin"); const args = @import("args.zig"); const Action = @import("action.zig").Action; const Allocator = std.mem.Allocator; @@ -173,6 +174,12 @@ const Boo = struct { /// The `boo` command is used to display the animation from the Ghostty website in the terminal pub fn run(gpa: Allocator) !u8 { + // Disable on non-desktop systems. + switch (builtin.os.tag) { + .windows, .macos, .linux => {}, + else => return 1, + } + var opts: Options = .{}; defer opts.deinit(); From 09fbf096d32c70bab3a42d45c051071904727a4e Mon Sep 17 00:00:00 2001 From: Tim Culverhouse Date: Fri, 14 Feb 2025 18:55:26 -0600 Subject: [PATCH 310/365] termio: prevent responses to non-query OSC 21 sequences The Ghostty implementation of OSC 21 (Kitty color protocol) currently responds to *all* OSC 21 sequences. It should not respond to a set, nor a reset command. Fix the implementation so that we only respond if a query was received. --- src/termio/stream_handler.zig | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/src/termio/stream_handler.zig b/src/termio/stream_handler.zig index 849e5c107..e9bb353fb 100644 --- a/src/termio/stream_handler.zig +++ b/src/termio/stream_handler.zig @@ -1418,11 +1418,13 @@ pub const StreamHandler = struct { var buf = std.ArrayList(u8).init(self.alloc); defer buf.deinit(); const writer = buf.writer(); - try writer.writeAll("\x1b]21"); for (request.list.items) |item| { switch (item) { .query => |key| { + // If the writer buffer is empty, we need to write our prefix + if (buf.items.len == 0) try writer.writeAll("\x1b]21"); + const color: terminal.color.RGB = switch (key) { .palette => |palette| self.terminal.color_palette.colors[palette], .special => |special| switch (special) { @@ -1517,14 +1519,16 @@ pub const StreamHandler = struct { } } - try writer.writeAll(request.terminator.string()); - - self.messageWriter(.{ - .write_alloc = .{ - .alloc = self.alloc, - .data = try buf.toOwnedSlice(), - }, - }); + // If we had any writes to our buffer, we queue them now + if (buf.items.len > 0) { + try writer.writeAll(request.terminator.string()); + self.messageWriter(.{ + .write_alloc = .{ + .alloc = self.alloc, + .data = try buf.toOwnedSlice(), + }, + }); + } // Note: we don't have to do a queueRender here because every // processed stream will queue a render once it is done processing From 25c5ecf553a1460ad88607c838e2f282612d1b9f Mon Sep 17 00:00:00 2001 From: "Jeffrey C. Ollie" Date: Thu, 30 Jan 2025 22:59:36 -0600 Subject: [PATCH 311/365] gtk: require libadwaita This commit removes support for building without libadwaita. --- .github/workflows/test.yml | 6 +- src/apprt/gtk/App.zig | 151 ++++---------- src/apprt/gtk/Window.zig | 208 +++++++----------- src/apprt/gtk/adwaita.zig | 17 -- src/apprt/gtk/builder_check.zig | 11 +- src/apprt/gtk/c.zig | 4 +- src/apprt/gtk/headerbar.zig | 91 ++++---- src/apprt/gtk/headerbar_adw.zig | 78 ------- src/apprt/gtk/headerbar_gtk.zig | 52 ----- src/apprt/gtk/notebook.zig | 359 +++++++++++++++++++------------- src/apprt/gtk/notebook_adw.zig | 209 ------------------- src/apprt/gtk/notebook_gtk.zig | 304 --------------------------- src/build/Config.zig | 9 - src/build/SharedDeps.zig | 9 +- src/cli/version.zig | 22 +- src/config/Config.zig | 56 ++--- 16 files changed, 416 insertions(+), 1170 deletions(-) delete mode 100644 src/apprt/gtk/headerbar_adw.zig delete mode 100644 src/apprt/gtk/headerbar_gtk.zig delete mode 100644 src/apprt/gtk/notebook_adw.zig delete mode 100644 src/apprt/gtk/notebook_gtk.zig diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 2082d7286..41a54fde3 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -374,7 +374,7 @@ jobs: run: nix develop -c zig build -Dapp-runtime=none test - name: Test GTK Build - run: nix develop -c zig build -Dapp-runtime=gtk -Dgtk-adwaita=true -Demit-docs + run: nix develop -c zig build -Dapp-runtime=gtk -Demit-docs - name: Test GLFW Build run: nix develop -c zig build -Dapp-runtime=glfw @@ -387,10 +387,9 @@ jobs: strategy: fail-fast: false matrix: - adwaita: ["true", "false"] x11: ["true", "false"] wayland: ["true", "false"] - name: GTK adwaita=${{ matrix.adwaita }} x11=${{ matrix.x11 }} wayland=${{ matrix.wayland }} + name: GTK x11=${{ matrix.x11 }} wayland=${{ matrix.wayland }} runs-on: namespace-profile-ghostty-sm needs: test env: @@ -421,7 +420,6 @@ jobs: nix develop -c \ zig build \ -Dapp-runtime=gtk \ - -Dgtk-adwaita=${{ matrix.adwaita }} \ -Dgtk-x11=${{ matrix.x11 }} \ -Dgtk-wayland=${{ matrix.wayland }} diff --git a/src/apprt/gtk/App.zig b/src/apprt/gtk/App.zig index 985ce92b3..227c36ec4 100644 --- a/src/apprt/gtk/App.zig +++ b/src/apprt/gtk/App.zig @@ -25,7 +25,6 @@ const Config = configpkg.Config; const CoreApp = @import("../../App.zig"); const CoreSurface = @import("../../Surface.zig"); -const adwaita = @import("adwaita.zig"); const cgroup = @import("cgroup.zig"); const Surface = @import("Surface.zig"); const Window = @import("Window.zig"); @@ -109,6 +108,14 @@ pub fn init(core_app: *CoreApp, opts: Options) !App { c.gtk_get_micro_version(), }); + // log the adwaita version + log.info("libadwaita version build={s} runtime={}.{}.{}", .{ + c.ADW_VERSION_S, + c.adw_get_major_version(), + c.adw_get_minor_version(), + c.adw_get_micro_version(), + }); + // Load our configuration var config = try Config.load(core_app.alloc); errdefer config.deinit(); @@ -236,7 +243,8 @@ pub fn init(core_app: *CoreApp, opts: Options) !App { } } - c.gtk_init(); + c.adw_init(); + const display: *c.GdkDisplay = c.gdk_display_get_default() orelse { // I'm unsure of any scenario where this happens. Because we don't // want to litter null checks everywhere, we just exit here. @@ -244,16 +252,6 @@ pub fn init(core_app: *CoreApp, opts: Options) !App { std.posix.exit(1); }; - // If we're using libadwaita, log the version - if (adwaita.enabled(&config)) { - log.info("libadwaita version build={s} runtime={}.{}.{}", .{ - c.ADW_VERSION_S, - c.adw_get_major_version(), - c.adw_get_minor_version(), - c.adw_get_micro_version(), - }); - } - // The "none" cursor is used for hiding the cursor const cursor_none = c.gdk_cursor_new_from_name("none", null); errdefer if (cursor_none) |cursor| c.g_object_unref(cursor); @@ -288,103 +286,38 @@ pub fn init(core_app: *CoreApp, opts: Options) !App { }; // Create our GTK Application which encapsulates our process. - const app: *c.GtkApplication = app: { - log.debug("creating GTK application id={s} single-instance={} adwaita={}", .{ - app_id, - single_instance, - adwaita, - }); + log.debug("creating GTK application id={s} single-instance={}", .{ + app_id, + single_instance, + }); - // If not libadwaita, create a standard GTK application. - if ((comptime !adwaita.versionAtLeast(0, 0, 0)) or - !adwaita.enabled(&config)) - { - { - const provider = c.gtk_css_provider_new(); - defer c.g_object_unref(provider); - switch (config.@"window-theme") { - .system, .light => {}, - .dark => { - const settings = c.gtk_settings_get_default(); - c.g_object_set(@ptrCast(@alignCast(settings)), "gtk-application-prefer-dark-theme", true, @as([*c]const u8, null)); + // Using an AdwApplication lets us use Adwaita widgets and access things + // such as the color scheme. + const adw_app = @as(?*c.AdwApplication, @ptrCast(c.adw_application_new( + app_id.ptr, + app_flags, + ))) orelse return error.GtkInitFailed; + errdefer c.g_object_unref(adw_app); - c.gtk_css_provider_load_from_resource( - provider, - "/com/mitchellh/ghostty/style-dark.css", - ); - c.gtk_style_context_add_provider_for_display( - display, - @ptrCast(provider), - c.GTK_STYLE_PROVIDER_PRIORITY_APPLICATION + 2, - ); - }, - .auto, .ghostty => { - const lum = config.background.toTerminalRGB().perceivedLuminance(); - if (lum <= 0.5) { - const settings = c.gtk_settings_get_default(); - c.g_object_set(@ptrCast(@alignCast(settings)), "gtk-application-prefer-dark-theme", true, @as([*c]const u8, null)); - - c.gtk_css_provider_load_from_resource( - provider, - "/com/mitchellh/ghostty/style-dark.css", - ); - c.gtk_style_context_add_provider_for_display( - display, - @ptrCast(provider), - c.GTK_STYLE_PROVIDER_PRIORITY_APPLICATION + 2, - ); - } - }, - } - } - - { - const provider = c.gtk_css_provider_new(); - defer c.g_object_unref(provider); - - c.gtk_css_provider_load_from_resource(provider, "/com/mitchellh/ghostty/style.css"); - c.gtk_style_context_add_provider_for_display( - display, - @ptrCast(provider), - c.GTK_STYLE_PROVIDER_PRIORITY_APPLICATION + 1, - ); - } - - break :app @as(?*c.GtkApplication, @ptrCast(c.gtk_application_new( - app_id.ptr, - app_flags, - ))) orelse return error.GtkInitFailed; - } - - // Use libadwaita if requested. Using an AdwApplication lets us use - // Adwaita widgets and access things such as the color scheme. - const adw_app = @as(?*c.AdwApplication, @ptrCast(c.adw_application_new( - app_id.ptr, - app_flags, - ))) orelse return error.GtkInitFailed; - - const style_manager = c.adw_application_get_style_manager(adw_app); - c.adw_style_manager_set_color_scheme( - style_manager, - switch (config.@"window-theme") { - .auto, .ghostty => auto: { - const lum = config.background.toTerminalRGB().perceivedLuminance(); - break :auto if (lum > 0.5) - c.ADW_COLOR_SCHEME_PREFER_LIGHT - else - c.ADW_COLOR_SCHEME_PREFER_DARK; - }, - - .system => c.ADW_COLOR_SCHEME_PREFER_LIGHT, - .dark => c.ADW_COLOR_SCHEME_FORCE_DARK, - .light => c.ADW_COLOR_SCHEME_FORCE_LIGHT, + const style_manager = c.adw_application_get_style_manager(adw_app); + c.adw_style_manager_set_color_scheme( + style_manager, + switch (config.@"window-theme") { + .auto, .ghostty => auto: { + const lum = config.background.toTerminalRGB().perceivedLuminance(); + break :auto if (lum > 0.5) + c.ADW_COLOR_SCHEME_PREFER_LIGHT + else + c.ADW_COLOR_SCHEME_PREFER_DARK; }, - ); + .system => c.ADW_COLOR_SCHEME_PREFER_LIGHT, + .dark => c.ADW_COLOR_SCHEME_FORCE_DARK, + .light => c.ADW_COLOR_SCHEME_FORCE_LIGHT, + }, + ); - break :app @ptrCast(adw_app); - }; - errdefer c.g_object_unref(app); - const gapp = @as(*c.GApplication, @ptrCast(app)); + const app: *c.GtkApplication = @ptrCast(adw_app); + const gapp: *c.GApplication = @ptrCast(app); // force the resource path to a known value so that it doesn't depend on // the app id and load in compiled resources @@ -980,11 +913,9 @@ fn configChange( // App changes needs to show a toast that our configuration // has reloaded. - if (adwaita.enabled(&self.config)) { - if (self.core_app.focusedSurface()) |core_surface| { - const surface = core_surface.rt_surface; - if (surface.container.window()) |window| window.onConfigReloaded(); - } + if (self.core_app.focusedSurface()) |core_surface| { + const surface = core_surface.rt_surface; + if (surface.container.window()) |window| window.onConfigReloaded(); } }, } diff --git a/src/apprt/gtk/Window.zig b/src/apprt/gtk/Window.zig index 3daeffe76..bbf53b351 100644 --- a/src/apprt/gtk/Window.zig +++ b/src/apprt/gtk/Window.zig @@ -22,8 +22,8 @@ const Tab = @import("Tab.zig"); const c = @import("c.zig").c; const adwaita = @import("adwaita.zig"); const gtk_key = @import("key.zig"); -const Notebook = @import("notebook.zig").Notebook; -const HeaderBar = @import("headerbar.zig").HeaderBar; +const Notebook = @import("notebook.zig"); +const HeaderBar = @import("headerbar.zig"); const version = @import("version.zig"); const winproto = @import("winproto.zig"); @@ -34,9 +34,7 @@ app: *App, /// Our window window: *c.GtkWindow, -/// The header bar for the window. This is possibly null since it can be -/// disabled using gtk-titlebar. This is either an AdwHeaderBar or -/// GtkHeaderBar depending on if adw is enabled and linked. +/// The header bar for the window. headerbar: HeaderBar, /// The tab overview for the window. This is possibly null since there is no @@ -44,14 +42,12 @@ headerbar: HeaderBar, tab_overview: ?*c.GtkWidget, /// The notebook (tab grouping) for this window. -/// can be either c.GtkNotebook or c.AdwTabView. notebook: Notebook, context_menu: *c.GtkWidget, -/// The libadwaita widget for receiving toast send requests. If libadwaita is -/// not used, this is null and unused. -toast_overlay: ?*c.GtkWidget, +/// The libadwaita widget for receiving toast send requests. +toast_overlay: *c.GtkWidget, /// See adwTabOverviewOpen for why we have this. adw_tab_overview_focus_timer: ?c.guint = null, @@ -87,37 +83,27 @@ pub fn init(self: *Window, app: *App) !void { }; // Create the window - const window: *c.GtkWidget = window: { - if ((comptime adwaita.versionAtLeast(0, 0, 0)) and adwaita.enabled(&self.app.config)) { - const window = c.adw_application_window_new(app.app); - c.gtk_widget_add_css_class(@ptrCast(window), "adw"); - break :window window; - } else { - const window = c.gtk_application_window_new(app.app); - c.gtk_widget_add_css_class(@ptrCast(window), "gtk"); - break :window window; - } - }; - errdefer c.gtk_window_destroy(@ptrCast(window)); + const gtk_widget = c.adw_application_window_new(app.app); + errdefer c.gtk_window_destroy(@ptrCast(gtk_widget)); - const gtk_window: *c.GtkWindow = @ptrCast(window); - self.window = gtk_window; - c.gtk_window_set_title(gtk_window, "Ghostty"); - c.gtk_window_set_default_size(gtk_window, 1000, 600); - c.gtk_widget_add_css_class(@ptrCast(gtk_window), "window"); - c.gtk_widget_add_css_class(@ptrCast(gtk_window), "terminal-window"); + self.window = @ptrCast(@alignCast(gtk_widget)); + + c.gtk_window_set_title(self.window, "Ghostty"); + c.gtk_window_set_default_size(self.window, 1000, 600); + c.gtk_widget_add_css_class(gtk_widget, "window"); + c.gtk_widget_add_css_class(gtk_widget, "terminal-window"); // GTK4 grabs F10 input by default to focus the menubar icon. We want // to disable this so that terminal programs can capture F10 (such as htop) - c.gtk_window_set_handle_menubar_accel(gtk_window, 0); + c.gtk_window_set_handle_menubar_accel(self.window, 0); - c.gtk_window_set_icon_name(gtk_window, build_config.bundle_id); + c.gtk_window_set_icon_name(self.window, build_config.bundle_id); // Apply class to color headerbar if window-theme is set to `ghostty` and // GTK version is before 4.16. The conditional is because above 4.16 // we use GTK CSS color variables. if (!version.atLeast(4, 16, 0) and app.config.@"window-theme" == .ghostty) { - c.gtk_widget_add_css_class(@ptrCast(gtk_window), "window-theme-ghostty"); + c.gtk_widget_add_css_class(gtk_widget, "window-theme-ghostty"); } // Create our box which will hold our widgets in the main content area. @@ -127,9 +113,9 @@ pub fn init(self: *Window, app: *App) !void { self.notebook.init(); // If we are using Adwaita, then we can support the tab overview. - self.tab_overview = if ((comptime adwaita.versionAtLeast(1, 4, 0)) and adwaita.enabled(&self.app.config) and adwaita.versionAtLeast(1, 4, 0)) overview: { + self.tab_overview = if (adwaita.versionAtLeast(1, 4, 0)) overview: { const tab_overview = c.adw_tab_overview_new(); - c.adw_tab_overview_set_view(@ptrCast(tab_overview), self.notebook.adw.tab_view); + c.adw_tab_overview_set_view(@ptrCast(tab_overview), self.notebook.tab_view); c.adw_tab_overview_set_enable_new_tab(@ptrCast(tab_overview), 1); _ = c.g_signal_connect_data( tab_overview, @@ -166,10 +152,9 @@ pub fn init(self: *Window, app: *App) !void { // If we're using an AdwWindow then we can support the tab overview. if (self.tab_overview) |tab_overview| { - if (comptime !adwaita.versionAtLeast(1, 4, 0)) unreachable; - assert(self.app.config.@"gtk-adwaita" and adwaita.versionAtLeast(1, 4, 0)); + assert(adwaita.versionAtLeast(1, 4, 0)); const btn = switch (app.config.@"gtk-tabs-location") { - .top, .bottom, .left, .right => btn: { + .top, .bottom => btn: { const btn = c.gtk_toggle_button_new(); c.gtk_widget_set_tooltip_text(btn, "View Open Tabs"); c.gtk_button_set_icon_name(@ptrCast(btn), "view-grid-symbolic"); @@ -186,7 +171,7 @@ pub fn init(self: *Window, app: *App) !void { .hidden => btn: { const btn = c.adw_tab_button_new(); - c.adw_tab_button_set_view(@ptrCast(btn), self.notebook.adw.tab_view); + c.adw_tab_button_set_view(@ptrCast(btn), self.notebook.tab_view); c.gtk_actionable_set_action_name(@ptrCast(btn), "overview.open"); break :btn btn; }, @@ -203,13 +188,13 @@ pub fn init(self: *Window, app: *App) !void { self.headerbar.packStart(btn); } - _ = c.g_signal_connect_data(gtk_window, "notify::decorated", c.G_CALLBACK(>kWindowNotifyDecorated), self, null, c.G_CONNECT_DEFAULT); - _ = c.g_signal_connect_data(gtk_window, "notify::maximized", c.G_CALLBACK(>kWindowNotifyMaximized), self, null, c.G_CONNECT_DEFAULT); - _ = c.g_signal_connect_data(gtk_window, "notify::fullscreened", c.G_CALLBACK(>kWindowNotifyFullscreened), self, null, c.G_CONNECT_DEFAULT); + _ = c.g_signal_connect_data(self.window, "notify::decorated", c.G_CALLBACK(>kWindowNotifyDecorated), self, null, c.G_CONNECT_DEFAULT); + _ = c.g_signal_connect_data(self.window, "notify::maximized", c.G_CALLBACK(>kWindowNotifyMaximized), self, null, c.G_CONNECT_DEFAULT); + _ = c.g_signal_connect_data(self.window, "notify::fullscreened", c.G_CALLBACK(>kWindowNotifyFullscreened), self, null, c.G_CONNECT_DEFAULT); // If Adwaita is enabled and is older than 1.4.0 we don't have the tab overview and so we // need to stick the headerbar into the content box. - if (!adwaita.versionAtLeast(1, 4, 0) and adwaita.enabled(&self.app.config)) { + if (!adwaita.versionAtLeast(1, 4, 0)) { c.gtk_box_append(@ptrCast(box), self.headerbar.asWidget()); } @@ -218,10 +203,7 @@ pub fn init(self: *Window, app: *App) !void { if (comptime std.debug.runtime_safety) { const warning_box = c.gtk_box_new(c.GTK_ORIENTATION_VERTICAL, 0); const warning_text = "⚠️ You're running a debug build of Ghostty! Performance will be degraded."; - if ((comptime adwaita.versionAtLeast(1, 3, 0)) and - adwaita.enabled(&app.config) and - adwaita.versionAtLeast(1, 3, 0)) - { + if (adwaita.versionAtLeast(1, 3, 0)) { const banner = c.adw_banner_new(warning_text); c.adw_banner_set_revealed(@ptrCast(banner), 1); c.gtk_box_append(@ptrCast(warning_box), @ptrCast(banner)); @@ -231,30 +213,22 @@ pub fn init(self: *Window, app: *App) !void { c.gtk_widget_set_margin_bottom(warning, 10); c.gtk_box_append(@ptrCast(warning_box), warning); } - c.gtk_widget_add_css_class(@ptrCast(gtk_window), "devel"); + c.gtk_widget_add_css_class(gtk_widget, "devel"); c.gtk_widget_add_css_class(@ptrCast(warning_box), "background"); c.gtk_box_append(@ptrCast(box), warning_box); } // Setup our toast overlay if we have one - self.toast_overlay = if (adwaita.enabled(&self.app.config)) toast: { - const toast_overlay = c.adw_toast_overlay_new(); - c.adw_toast_overlay_set_child( - @ptrCast(toast_overlay), - @ptrCast(@alignCast(self.notebook.asWidget())), - ); - c.gtk_box_append(@ptrCast(box), toast_overlay); - break :toast toast_overlay; - } else toast: { - c.gtk_box_append(@ptrCast(box), self.notebook.asWidget()); - break :toast null; - }; + self.toast_overlay = c.adw_toast_overlay_new(); + c.adw_toast_overlay_set_child( + @ptrCast(self.toast_overlay), + @ptrCast(@alignCast(self.notebook.asWidget())), + ); + c.gtk_box_append(@ptrCast(box), self.toast_overlay); // If we have a tab overview then we can set it on our notebook. if (self.tab_overview) |tab_overview| { - if (comptime !adwaita.versionAtLeast(1, 3, 0)) unreachable; - assert(self.notebook == .adw); - c.adw_tab_overview_set_view(@ptrCast(tab_overview), self.notebook.adw.tab_view); + c.adw_tab_overview_set_view(@ptrCast(tab_overview), self.notebook.tab_view); } self.context_menu = c.gtk_popover_menu_new_from_model(@ptrCast(@alignCast(self.app.context_menu))); @@ -273,40 +247,39 @@ pub fn init(self: *Window, app: *App) !void { // focused (i.e. when the libadw tab overview is shown). const ec_key_press = c.gtk_event_controller_key_new(); errdefer c.g_object_unref(ec_key_press); - c.gtk_widget_add_controller(window, ec_key_press); + c.gtk_widget_add_controller(gtk_widget, ec_key_press); // All of our events _ = c.g_signal_connect_data(self.context_menu, "closed", c.G_CALLBACK(>kRefocusTerm), self, null, c.G_CONNECT_DEFAULT); - _ = c.g_signal_connect_data(window, "realize", c.G_CALLBACK(>kRealize), self, null, c.G_CONNECT_DEFAULT); - _ = c.g_signal_connect_data(window, "close-request", c.G_CALLBACK(>kCloseRequest), self, null, c.G_CONNECT_DEFAULT); - _ = c.g_signal_connect_data(window, "destroy", c.G_CALLBACK(>kDestroy), self, null, c.G_CONNECT_DEFAULT); + _ = c.g_signal_connect_data(self.window, "realize", c.G_CALLBACK(>kRealize), self, null, c.G_CONNECT_DEFAULT); + _ = c.g_signal_connect_data(self.window, "close-request", c.G_CALLBACK(>kCloseRequest), self, null, c.G_CONNECT_DEFAULT); + _ = c.g_signal_connect_data(self.window, "destroy", c.G_CALLBACK(>kDestroy), self, null, c.G_CONNECT_DEFAULT); _ = c.g_signal_connect_data(ec_key_press, "key-pressed", c.G_CALLBACK(>kKeyPressed), self, null, c.G_CONNECT_DEFAULT); // Our actions for the menu initActions(self); - if ((comptime adwaita.versionAtLeast(1, 4, 0)) and adwaita.versionAtLeast(1, 4, 0) and adwaita.enabled(&self.app.config)) { + if (adwaita.versionAtLeast(1, 4, 0)) { const toolbar_view: *c.AdwToolbarView = @ptrCast(c.adw_toolbar_view_new()); c.adw_toolbar_view_add_top_bar(toolbar_view, self.headerbar.asWidget()); if (self.app.config.@"gtk-tabs-location" != .hidden) { const tab_bar = c.adw_tab_bar_new(); - c.adw_tab_bar_set_view(tab_bar, self.notebook.adw.tab_view); + c.adw_tab_bar_set_view(tab_bar, self.notebook.tab_view); if (!app.config.@"gtk-wide-tabs") c.adw_tab_bar_set_expand_tabs(tab_bar, 0); const tab_bar_widget: *c.GtkWidget = @ptrCast(@alignCast(tab_bar)); switch (self.app.config.@"gtk-tabs-location") { - // left and right are not supported in libadwaita. - .top, .left, .right => c.adw_toolbar_view_add_top_bar(toolbar_view, tab_bar_widget), + .top => c.adw_toolbar_view_add_top_bar(toolbar_view, tab_bar_widget), .bottom => c.adw_toolbar_view_add_bottom_bar(toolbar_view, tab_bar_widget), .hidden => unreachable, } } c.adw_toolbar_view_set_content(toolbar_view, box); - const toolbar_style: c.AdwToolbarStyle = switch (self.app.config.@"adw-toolbar-style") { + const toolbar_style: c.AdwToolbarStyle = switch (self.app.config.@"gtk-toolbar-style") { .flat => c.ADW_TOOLBAR_FLAT, .raised => c.ADW_TOOLBAR_RAISED, .@"raised-border" => c.ADW_TOOLBAR_RAISED_BORDER, @@ -320,51 +293,34 @@ pub fn init(self: *Window, app: *App) !void { @ptrCast(@alignCast(toolbar_view)), ); c.adw_application_window_set_content( - @ptrCast(gtk_window), + @ptrCast(gtk_widget), @ptrCast(@alignCast(self.tab_overview)), ); } else tab_bar: { - switch (self.notebook) { - .adw => |*adw| if (comptime adwaita.versionAtLeast(0, 0, 0)) { - if (app.config.@"gtk-tabs-location" == .hidden) break :tab_bar; - // In earlier adwaita versions, we need to add the tabbar manually since we do not use - // an AdwToolbarView. - const tab_bar: *c.AdwTabBar = c.adw_tab_bar_new().?; - c.gtk_widget_add_css_class(@ptrCast(@alignCast(tab_bar)), "inline"); - switch (app.config.@"gtk-tabs-location") { - .top, - .left, - .right, - => c.gtk_box_insert_child_after(@ptrCast(box), @ptrCast(@alignCast(tab_bar)), @ptrCast(@alignCast(self.headerbar.asWidget()))), - - .bottom => c.gtk_box_append( - @ptrCast(box), - @ptrCast(@alignCast(tab_bar)), - ), - .hidden => unreachable, - } - c.adw_tab_bar_set_view(tab_bar, adw.tab_view); - - if (!app.config.@"gtk-wide-tabs") c.adw_tab_bar_set_expand_tabs(tab_bar, 0); - }, - - .gtk => {}, + if (app.config.@"gtk-tabs-location" == .hidden) break :tab_bar; + // In earlier adwaita versions, we need to add the tabbar manually since we do not use + // an AdwToolbarView. + const tab_bar: *c.AdwTabBar = c.adw_tab_bar_new().?; + c.gtk_widget_add_css_class(@ptrCast(@alignCast(tab_bar)), "inline"); + switch (app.config.@"gtk-tabs-location") { + .top => c.gtk_box_insert_child_after( + @ptrCast(box), + @ptrCast(@alignCast(tab_bar)), + @ptrCast(@alignCast(self.headerbar.asWidget())), + ), + .bottom => c.gtk_box_append( + @ptrCast(box), + @ptrCast(@alignCast(tab_bar)), + ), + .hidden => unreachable, } + c.adw_tab_bar_set_view(tab_bar, self.notebook.tab_view); - // The box is our main child - if (!adwaita.versionAtLeast(1, 4, 0) and adwaita.enabled(&self.app.config)) { - c.adw_application_window_set_content( - @ptrCast(gtk_window), - box, - ); - } else { - c.gtk_window_set_titlebar(gtk_window, self.headerbar.asWidget()); - c.gtk_window_set_child(gtk_window, box); - } + if (!app.config.@"gtk-wide-tabs") c.adw_tab_bar_set_expand_tabs(tab_bar, 0); } // Show the window - c.gtk_widget_show(window); + c.gtk_widget_show(gtk_widget); } pub fn updateConfig( @@ -407,19 +363,16 @@ pub fn syncAppearance(self: *Window, config: *const configpkg.Config) !void { // Disable the title buttons (close, maximize, minimize, ...) // *inside* the tab overview if CSDs are disabled. // We do spare the search button, though. - if ((comptime adwaita.versionAtLeast(1, 4, 0)) and - adwaita.enabled(&self.app.config)) - { - if (self.tab_overview) |tab_overview| { - c.adw_tab_overview_set_show_start_title_buttons( - @ptrCast(tab_overview), - @intFromBool(csd_enabled), - ); - c.adw_tab_overview_set_show_end_title_buttons( - @ptrCast(tab_overview), - @intFromBool(csd_enabled), - ); - } + if (self.tab_overview) |tab_overview| { + assert(adwaita.versionAtLeast(1, 4, 0)); + c.adw_tab_overview_set_show_start_title_buttons( + @ptrCast(tab_overview), + @intFromBool(csd_enabled), + ); + c.adw_tab_overview_set_show_end_title_buttons( + @ptrCast(tab_overview), + @intFromBool(csd_enabled), + ); } } @@ -556,7 +509,7 @@ pub fn gotoTab(self: *Window, n: usize) bool { /// Toggle tab overview (if present) pub fn toggleTabOverview(self: *Window) void { if (self.tab_overview) |tab_overview_widget| { - if (comptime !adwaita.versionAtLeast(1, 4, 0)) unreachable; + assert(adwaita.versionAtLeast(1, 4, 0)); const tab_overview: *c.AdwTabOverview = @ptrCast(@alignCast(tab_overview_widget)); c.adw_tab_overview_set_open(tab_overview, 1 - c.adw_tab_overview_get_open(tab_overview)); } @@ -603,11 +556,9 @@ pub fn onConfigReloaded(self: *Window) void { } pub fn sendToast(self: *Window, title: [:0]const u8) void { - if (comptime !adwaita.versionAtLeast(0, 0, 0)) return; - const toast_overlay = self.toast_overlay orelse return; const toast = c.adw_toast_new(title); c.adw_toast_set_timeout(toast, 3); - c.adw_toast_overlay_add_toast(@ptrCast(toast_overlay), toast); + c.adw_toast_overlay_add_toast(@ptrCast(self.toast_overlay), toast); } fn gtkRealize(v: *c.GtkWindow, ud: ?*anyopaque) callconv(.C) bool { @@ -711,12 +662,12 @@ fn gtkTabNewClick(_: *c.GtkButton, ud: ?*anyopaque) callconv(.C) void { /// because we need to return an AdwTabPage from this function. fn gtkNewTabFromOverview(_: *c.GtkWidget, ud: ?*anyopaque) callconv(.C) ?*c.AdwTabPage { const self: *Window = userdataSelf(ud.?); - assert((comptime adwaita.versionAtLeast(1, 4, 0)) and adwaita.versionAtLeast(1, 4, 0) and adwaita.enabled(&self.app.config)); + assert(adwaita.versionAtLeast(1, 4, 0)); const alloc = self.app.core_app.alloc; const surface = self.actionSurface(); const tab = Tab.create(alloc, self, surface) catch return null; - return c.adw_tab_view_get_page(self.notebook.adw.tab_view, @ptrCast(@alignCast(tab.box))); + return c.adw_tab_view_get_page(self.notebook.tab_view, @ptrCast(@alignCast(tab.box))); } fn adwTabOverviewOpen( @@ -863,7 +814,7 @@ fn gtkKeyPressed( // // If someone can confidently show or explain that this is not // necessary, please remove this check. - if (comptime adwaita.versionAtLeast(1, 4, 0)) { + if (adwaita.versionAtLeast(1, 4, 0)) { if (self.tab_overview) |tab_overview_widget| { const tab_overview: *c.AdwTabOverview = @ptrCast(@alignCast(tab_overview_widget)); if (c.adw_tab_overview_get_open(tab_overview) == 0) return 0; @@ -891,10 +842,7 @@ fn gtkActionAbout( const icon = "com.mitchellh.ghostty"; const website = "https://ghostty.org"; - if ((comptime adwaita.versionAtLeast(1, 5, 0)) and - adwaita.versionAtLeast(1, 5, 0) and - adwaita.enabled(&self.app.config)) - { + if (adwaita.versionAtLeast(1, 5, 0)) { c.adw_show_about_dialog( @ptrCast(self.window), "application-name", diff --git a/src/apprt/gtk/adwaita.zig b/src/apprt/gtk/adwaita.zig index 075055586..885627fa4 100644 --- a/src/apprt/gtk/adwaita.zig +++ b/src/apprt/gtk/adwaita.zig @@ -1,20 +1,5 @@ const std = @import("std"); const c = @import("c.zig").c; -const build_options = @import("build_options"); -const Config = @import("../../config.zig").Config; - -/// Returns true if Ghostty is configured to build with libadwaita and -/// the configuration has enabled adwaita. -/// -/// For a comptime version of this function, use `versionAtLeast` in -/// a comptime context with all the version numbers set to 0. -/// -/// This must be `inline` so that the comptime check noops conditional -/// paths that are not enabled. -pub inline fn enabled(config: *const Config) bool { - return build_options.adwaita and - config.@"gtk-adwaita"; -} /// Verifies that the running libadwaita version is at least the given /// version. This will return false if Ghostty is configured to @@ -33,8 +18,6 @@ pub inline fn versionAtLeast( comptime minor: u16, comptime micro: u16, ) bool { - if (comptime !build_options.adwaita) return false; - // If our header has lower versions than the given version, // we can return false immediately. This prevents us from // compiling against unknown symbols and makes runtime checks diff --git a/src/apprt/gtk/builder_check.zig b/src/apprt/gtk/builder_check.zig index f042c89a9..015c6310d 100644 --- a/src/apprt/gtk/builder_check.zig +++ b/src/apprt/gtk/builder_check.zig @@ -2,7 +2,7 @@ const std = @import("std"); const build_options = @import("build_options"); const gtk = @import("gtk"); -const adw = if (build_options.adwaita) @import("adw") else void; +const adw = @import("adw"); pub fn main() !void { var gpa = std.heap.GeneralPurposeAllocator(.{}){}; @@ -20,19 +20,12 @@ pub fn main() !void { const data = try std.fs.cwd().readFileAllocOptions(alloc, filename, std.math.maxInt(u16), null, 1, 0); defer alloc.free(data); - if ((comptime !build_options.adwaita) and std.mem.indexOf(u8, data, "lib=\"Adw\"") != null) { - std.debug.print("{s}: skipping builder check because Adwaita is not enabled!\n", .{filename}); - return; - } - if (gtk.initCheck() == 0) { std.debug.print("{s}: skipping builder check because we can't connect to display!\n", .{filename}); return; } - if (comptime build_options.adwaita) { - adw.init(); - } + adw.init(); const builder = gtk.Builder.newFromString(data.ptr, @intCast(data.len)); defer builder.unref(); diff --git a/src/apprt/gtk/c.zig b/src/apprt/gtk/c.zig index 5bd32edfe..c42c35d46 100644 --- a/src/apprt/gtk/c.zig +++ b/src/apprt/gtk/c.zig @@ -3,9 +3,7 @@ const build_options = @import("build_options"); /// Imported C API directly from header files pub const c = @cImport({ @cInclude("gtk/gtk.h"); - if (build_options.adwaita) { - @cInclude("adwaita.h"); - } + @cInclude("adwaita.h"); if (build_options.x11) { // Add in X11-specific GDK backend which we use for specific things diff --git a/src/apprt/gtk/headerbar.zig b/src/apprt/gtk/headerbar.zig index 0f7f15bf8..8f4c58fc4 100644 --- a/src/apprt/gtk/headerbar.zig +++ b/src/apprt/gtk/headerbar.zig @@ -1,58 +1,59 @@ +const HeaderBar = @This(); + const std = @import("std"); const c = @import("c.zig").c; const Window = @import("Window.zig"); -const adwaita = @import("adwaita.zig"); -const HeaderBarAdw = @import("headerbar_adw.zig"); -const HeaderBarGtk = @import("headerbar_gtk.zig"); +/// the Adwaita headerbar widget +headerbar: *c.AdwHeaderBar, -pub const HeaderBar = union(enum) { - adw: HeaderBarAdw, - gtk: HeaderBarGtk, +/// the Adwaita window title widget +title: *c.AdwWindowTitle, - pub fn init(self: *HeaderBar) void { - const window: *Window = @fieldParentPtr("headerbar", self); - if ((comptime adwaita.versionAtLeast(1, 4, 0)) and adwaita.enabled(&window.app.config)) { - HeaderBarAdw.init(self); - } else { - HeaderBarGtk.init(self); - } - } +pub fn init(self: *HeaderBar) void { + const window: *Window = @fieldParentPtr("headerbar", self); + self.* = .{ + .headerbar = @ptrCast(@alignCast(c.adw_header_bar_new())), + .title = @ptrCast(@alignCast(c.adw_window_title_new( + c.gtk_window_get_title(window.window) orelse "Ghostty", + null, + ))), + }; + c.adw_header_bar_set_title_widget( + self.headerbar, + @ptrCast(@alignCast(self.title)), + ); +} - pub fn setVisible(self: HeaderBar, visible: bool) void { - switch (self) { - inline else => |v| v.setVisible(visible), - } - } +pub fn setVisible(self: *const HeaderBar, visible: bool) void { + c.gtk_widget_set_visible(self.asWidget(), @intFromBool(visible)); +} - pub fn asWidget(self: HeaderBar) *c.GtkWidget { - return switch (self) { - inline else => |v| v.asWidget(), - }; - } +pub fn asWidget(self: *const HeaderBar) *c.GtkWidget { + return @ptrCast(@alignCast(self.headerbar)); +} - pub fn packEnd(self: HeaderBar, widget: *c.GtkWidget) void { - switch (self) { - inline else => |v| v.packEnd(widget), - } - } +pub fn packEnd(self: *const HeaderBar, widget: *c.GtkWidget) void { + c.adw_header_bar_pack_end( + @ptrCast(@alignCast(self.headerbar)), + widget, + ); +} - pub fn packStart(self: HeaderBar, widget: *c.GtkWidget) void { - switch (self) { - inline else => |v| v.packStart(widget), - } - } +pub fn packStart(self: *const HeaderBar, widget: *c.GtkWidget) void { + c.adw_header_bar_pack_start( + @ptrCast(@alignCast(self.headerbar)), + widget, + ); +} - pub fn setTitle(self: HeaderBar, title: [:0]const u8) void { - switch (self) { - inline else => |v| v.setTitle(title), - } - } +pub fn setTitle(self: *const HeaderBar, title: [:0]const u8) void { + const window: *const Window = @fieldParentPtr("headerbar", self); + c.gtk_window_set_title(window.window, title); + c.adw_window_title_set_title(self.title, title); +} - pub fn setSubtitle(self: HeaderBar, subtitle: [:0]const u8) void { - switch (self) { - inline else => |v| v.setSubtitle(subtitle), - } - } -}; +pub fn setSubtitle(self: *const HeaderBar, subtitle: [:0]const u8) void { + c.adw_window_title_set_subtitle(self.title, subtitle); +} diff --git a/src/apprt/gtk/headerbar_adw.zig b/src/apprt/gtk/headerbar_adw.zig deleted file mode 100644 index 1ae23e6d9..000000000 --- a/src/apprt/gtk/headerbar_adw.zig +++ /dev/null @@ -1,78 +0,0 @@ -const HeaderBarAdw = @This(); - -const std = @import("std"); -const c = @import("c.zig").c; - -const Window = @import("Window.zig"); -const adwaita = @import("adwaita.zig"); - -const HeaderBar = @import("headerbar.zig").HeaderBar; - -const AdwHeaderBar = if (adwaita.versionAtLeast(0, 0, 0)) c.AdwHeaderBar else anyopaque; -const AdwWindowTitle = if (adwaita.versionAtLeast(0, 0, 0)) c.AdwWindowTitle else anyopaque; - -/// the window that this headerbar is attached to -window: *Window, -/// the Adwaita headerbar widget -headerbar: *AdwHeaderBar, -/// the Adwaita window title widget -title: *AdwWindowTitle, - -pub fn init(headerbar: *HeaderBar) void { - if (!adwaita.versionAtLeast(0, 0, 0)) return; - - const window: *Window = @fieldParentPtr("headerbar", headerbar); - headerbar.* = .{ - .adw = .{ - .window = window, - .headerbar = @ptrCast(@alignCast(c.adw_header_bar_new())), - .title = @ptrCast(@alignCast(c.adw_window_title_new( - c.gtk_window_get_title(window.window) orelse "Ghostty", - null, - ))), - }, - }; - c.adw_header_bar_set_title_widget( - headerbar.adw.headerbar, - @ptrCast(@alignCast(headerbar.adw.title)), - ); -} - -pub fn setVisible(self: HeaderBarAdw, visible: bool) void { - c.gtk_widget_set_visible(self.asWidget(), @intFromBool(visible)); -} - -pub fn asWidget(self: HeaderBarAdw) *c.GtkWidget { - return @ptrCast(@alignCast(self.headerbar)); -} - -pub fn packEnd(self: HeaderBarAdw, widget: *c.GtkWidget) void { - if (comptime adwaita.versionAtLeast(0, 0, 0)) { - c.adw_header_bar_pack_end( - @ptrCast(@alignCast(self.headerbar)), - widget, - ); - } -} - -pub fn packStart(self: HeaderBarAdw, widget: *c.GtkWidget) void { - if (comptime adwaita.versionAtLeast(0, 0, 0)) { - c.adw_header_bar_pack_start( - @ptrCast(@alignCast(self.headerbar)), - widget, - ); - } -} - -pub fn setTitle(self: HeaderBarAdw, title: [:0]const u8) void { - c.gtk_window_set_title(self.window.window, title); - if (comptime adwaita.versionAtLeast(0, 0, 0)) { - c.adw_window_title_set_title(self.title, title); - } -} - -pub fn setSubtitle(self: HeaderBarAdw, subtitle: [:0]const u8) void { - if (comptime adwaita.versionAtLeast(0, 0, 0)) { - c.adw_window_title_set_subtitle(self.title, subtitle); - } -} diff --git a/src/apprt/gtk/headerbar_gtk.zig b/src/apprt/gtk/headerbar_gtk.zig deleted file mode 100644 index 63ba8b389..000000000 --- a/src/apprt/gtk/headerbar_gtk.zig +++ /dev/null @@ -1,52 +0,0 @@ -const HeaderBarGtk = @This(); - -const std = @import("std"); -const c = @import("c.zig").c; - -const Window = @import("Window.zig"); -const adwaita = @import("adwaita.zig"); - -const HeaderBar = @import("headerbar.zig").HeaderBar; - -/// the window that this headarbar is attached to -window: *Window, -/// the GTK headerbar widget -headerbar: *c.GtkHeaderBar, - -pub fn init(headerbar: *HeaderBar) void { - const window: *Window = @fieldParentPtr("headerbar", headerbar); - headerbar.* = .{ - .gtk = .{ - .window = window, - .headerbar = @ptrCast(c.gtk_header_bar_new()), - }, - }; -} - -pub fn setVisible(self: HeaderBarGtk, visible: bool) void { - c.gtk_widget_set_visible(self.asWidget(), @intFromBool(visible)); -} - -pub fn asWidget(self: HeaderBarGtk) *c.GtkWidget { - return @ptrCast(@alignCast(self.headerbar)); -} - -pub fn packEnd(self: HeaderBarGtk, widget: *c.GtkWidget) void { - c.gtk_header_bar_pack_end( - @ptrCast(@alignCast(self.headerbar)), - widget, - ); -} - -pub fn packStart(self: HeaderBarGtk, widget: *c.GtkWidget) void { - c.gtk_header_bar_pack_start( - @ptrCast(@alignCast(self.headerbar)), - widget, - ); -} - -pub fn setTitle(self: HeaderBarGtk, title: [:0]const u8) void { - c.gtk_window_set_title(self.window.window, title); -} - -pub fn setSubtitle(_: HeaderBarGtk, _: [:0]const u8) void {} diff --git a/src/apprt/gtk/notebook.zig b/src/apprt/gtk/notebook.zig index 548f2acaf..e411ba9ad 100644 --- a/src/apprt/gtk/notebook.zig +++ b/src/apprt/gtk/notebook.zig @@ -1,169 +1,193 @@ +/// An abstraction over the GTK notebook and Adwaita tab view to manage +/// all the terminal tabs in a window. +const Notebook = @This(); + const std = @import("std"); const assert = std.debug.assert; const c = @import("c.zig").c; const Window = @import("Window.zig"); const Tab = @import("Tab.zig"); -const NotebookAdw = @import("notebook_adw.zig").NotebookAdw; -const NotebookGtk = @import("notebook_gtk.zig").NotebookGtk; const adwaita = @import("adwaita.zig"); const log = std.log.scoped(.gtk); -const AdwTabView = if (adwaita.versionAtLeast(0, 0, 0)) c.AdwTabView else anyopaque; +/// the tab view +tab_view: *c.AdwTabView, -/// An abstraction over the GTK notebook and Adwaita tab view to manage -/// all the terminal tabs in a window. -/// An abstraction over the GTK notebook and Adwaita tab view to manage -/// all the terminal tabs in a window. -pub const Notebook = union(enum) { - adw: NotebookAdw, - gtk: NotebookGtk, +/// Set to true so that the adw close-page handler knows we're forcing +/// and to allow a close to happen with no confirm. This is a bit of a hack +/// because we currently use GTK alerts to confirm tab close and they +/// don't carry with them the ADW state that we are confirming or not. +/// Long term we should move to ADW alerts so we can know if we are +/// confirming or not. +forcing_close: bool = false, - pub fn init(self: *Notebook) void { - const window: *Window = @fieldParentPtr("notebook", self); - const app = window.app; - if (adwaita.enabled(&app.config)) return NotebookAdw.init(self); +pub fn init(self: *Notebook) void { + const window: *Window = @fieldParentPtr("notebook", self); - return NotebookGtk.init(self); + const tab_view: *c.AdwTabView = c.adw_tab_view_new() orelse unreachable; + c.gtk_widget_add_css_class(@ptrCast(@alignCast(tab_view)), "notebook"); + + if (adwaita.versionAtLeast(1, 2, 0)) { + // Adwaita enables all of the shortcuts by default. + // We want to manage keybindings ourselves. + c.adw_tab_view_remove_shortcuts(tab_view, c.ADW_TAB_VIEW_SHORTCUT_ALL_SHORTCUTS); } - pub fn asWidget(self: *Notebook) *c.GtkWidget { - return switch (self.*) { - .adw => |*adw| adw.asWidget(), - .gtk => |*gtk| gtk.asWidget(), - }; + self.* = .{ + .tab_view = tab_view, + }; + + _ = c.g_signal_connect_data(tab_view, "page-attached", c.G_CALLBACK(&adwPageAttached), window, null, c.G_CONNECT_DEFAULT); + _ = c.g_signal_connect_data(tab_view, "close-page", c.G_CALLBACK(&adwClosePage), window, null, c.G_CONNECT_DEFAULT); + _ = c.g_signal_connect_data(tab_view, "create-window", c.G_CALLBACK(&adwTabViewCreateWindow), window, null, c.G_CONNECT_DEFAULT); + _ = c.g_signal_connect_data(tab_view, "notify::selected-page", c.G_CALLBACK(&adwSelectPage), window, null, c.G_CONNECT_DEFAULT); +} + +pub fn asWidget(self: *Notebook) *c.GtkWidget { + return @ptrCast(@alignCast(self.tab_view)); +} + +pub fn nPages(self: *Notebook) c_int { + return c.adw_tab_view_get_n_pages(self.tab_view); +} + +/// Returns the index of the currently selected page. +/// Returns null if the notebook has no pages. +fn currentPage(self: *Notebook) ?c_int { + const page = c.adw_tab_view_get_selected_page(self.tab_view) orelse return null; + return c.adw_tab_view_get_page_position(self.tab_view, page); +} + +/// Returns the currently selected tab or null if there are none. +pub fn currentTab(self: *Notebook) ?*Tab { + const page = c.adw_tab_view_get_selected_page(self.tab_view) orelse return null; + const child = c.adw_tab_page_get_child(page); + return @ptrCast(@alignCast( + c.g_object_get_data(@ptrCast(child), Tab.GHOSTTY_TAB) orelse return null, + )); +} + +pub fn gotoNthTab(self: *Notebook, position: c_int) bool { + const page_to_select = c.adw_tab_view_get_nth_page(self.tab_view, position) orelse return false; + c.adw_tab_view_set_selected_page(self.tab_view, page_to_select); + return true; +} + +pub fn getTabPosition(self: *Notebook, tab: *Tab) ?c_int { + const page = c.adw_tab_view_get_page(self.tab_view, @ptrCast(tab.box)) orelse return null; + return c.adw_tab_view_get_page_position(self.tab_view, page); +} + +pub fn gotoPreviousTab(self: *Notebook, tab: *Tab) bool { + const page_idx = self.getTabPosition(tab) orelse return false; + + // The next index is the previous or we wrap around. + const next_idx = if (page_idx > 0) page_idx - 1 else next_idx: { + const max = self.nPages(); + break :next_idx max -| 1; + }; + + // Do nothing if we have one tab + if (next_idx == page_idx) return false; + + return self.gotoNthTab(next_idx); +} + +pub fn gotoNextTab(self: *Notebook, tab: *Tab) bool { + const page_idx = self.getTabPosition(tab) orelse return false; + + const max = self.nPages() -| 1; + const next_idx = if (page_idx < max) page_idx + 1 else 0; + if (next_idx == page_idx) return false; + + return self.gotoNthTab(next_idx); +} + +pub fn moveTab(self: *Notebook, tab: *Tab, position: c_int) void { + const page_idx = self.getTabPosition(tab) orelse return; + + const max = self.nPages() -| 1; + var new_position: c_int = page_idx + position; + + if (new_position < 0) { + new_position = max + new_position + 1; + } else if (new_position > max) { + new_position = new_position - max - 1; } - pub fn nPages(self: *Notebook) c_int { - return switch (self.*) { - .adw => |*adw| adw.nPages(), - .gtk => |*gtk| gtk.nPages(), - }; + if (new_position == page_idx) return; + self.reorderPage(tab, new_position); +} + +pub fn reorderPage(self: *Notebook, tab: *Tab, position: c_int) void { + const page = c.adw_tab_view_get_page(self.tab_view, @ptrCast(tab.box)); + _ = c.adw_tab_view_reorder_page(self.tab_view, page, position); +} + +pub fn setTabLabel(self: *Notebook, tab: *Tab, title: [:0]const u8) void { + const page = c.adw_tab_view_get_page(self.tab_view, @ptrCast(tab.box)); + c.adw_tab_page_set_title(page, title.ptr); +} + +pub fn setTabTooltip(self: *Notebook, tab: *Tab, tooltip: [:0]const u8) void { + const page = c.adw_tab_view_get_page(self.tab_view, @ptrCast(tab.box)); + c.adw_tab_page_set_tooltip(page, tooltip.ptr); +} + +fn newTabInsertPosition(self: *Notebook, tab: *Tab) c_int { + const numPages = self.nPages(); + return switch (tab.window.app.config.@"window-new-tab-position") { + .current => if (self.currentPage()) |page| page + 1 else numPages, + .end => numPages, + }; +} + +/// Adds a new tab with the given title to the notebook. +pub fn addTab(self: *Notebook, tab: *Tab, title: [:0]const u8) void { + const position = self.newTabInsertPosition(tab); + const box_widget: *c.GtkWidget = @ptrCast(tab.box); + const page = c.adw_tab_view_insert(self.tab_view, box_widget, position); + c.adw_tab_page_set_title(page, title.ptr); + c.adw_tab_view_set_selected_page(self.tab_view, page); +} + +pub fn closeTab(self: *Notebook, tab: *Tab) void { + // closeTab always expects to close unconditionally so we mark this + // as true so that the close_page call below doesn't request + // confirmation. + self.forcing_close = true; + const n = self.nPages(); + defer { + // self becomes invalid if we close the last page because we close + // the whole window + if (n > 1) self.forcing_close = false; } - /// Returns the index of the currently selected page. - /// Returns null if the notebook has no pages. - fn currentPage(self: *Notebook) ?c_int { - return switch (self.*) { - .adw => |*adw| adw.currentPage(), - .gtk => |*gtk| gtk.currentPage(), - }; - } + const page = c.adw_tab_view_get_page(self.tab_view, @ptrCast(tab.box)) orelse return; + c.adw_tab_view_close_page(self.tab_view, page); - /// Returns the currently selected tab or null if there are none. - pub fn currentTab(self: *Notebook) ?*Tab { - return switch (self.*) { - .adw => |*adw| adw.currentTab(), - .gtk => |*gtk| gtk.currentTab(), - }; - } + // If we have no more tabs we close the window + if (self.nPages() == 0) { + const window = tab.window.window; - pub fn gotoNthTab(self: *Notebook, position: c_int) bool { - const current_page_ = self.currentPage(); - if (current_page_) |current_page| if (current_page == position) return false; - switch (self.*) { - .adw => |*adw| adw.gotoNthTab(position), - .gtk => |*gtk| gtk.gotoNthTab(position), - } - return true; - } - - pub fn getTabPosition(self: *Notebook, tab: *Tab) ?c_int { - return switch (self.*) { - .adw => |*adw| adw.getTabPosition(tab), - .gtk => |*gtk| gtk.getTabPosition(tab), - }; - } - - pub fn gotoPreviousTab(self: *Notebook, tab: *Tab) bool { - const page_idx = self.getTabPosition(tab) orelse return false; - - // The next index is the previous or we wrap around. - const next_idx = if (page_idx > 0) page_idx - 1 else next_idx: { - const max = self.nPages(); - break :next_idx max -| 1; - }; - - // Do nothing if we have one tab - if (next_idx == page_idx) return false; - - return self.gotoNthTab(next_idx); - } - - pub fn gotoNextTab(self: *Notebook, tab: *Tab) bool { - const page_idx = self.getTabPosition(tab) orelse return false; - - const max = self.nPages() -| 1; - const next_idx = if (page_idx < max) page_idx + 1 else 0; - - // Do nothing if we have one tab - if (next_idx == page_idx) return false; - - return self.gotoNthTab(next_idx); - } - - pub fn moveTab(self: *Notebook, tab: *Tab, position: c_int) void { - const page_idx = self.getTabPosition(tab) orelse return; - - const max = self.nPages() -| 1; - var new_position: c_int = page_idx + position; - - if (new_position < 0) { - new_position = max + new_position + 1; - } else if (new_position > max) { - new_position = new_position - max - 1; + // libadw versions <= 1.3.x leak the final page view + // which causes our surface to not properly cleanup. We + // unref to force the cleanup. This will trigger a critical + // warning from GTK, but I don't know any other workaround. + // Note: I'm not actually sure if 1.4.0 contains the fix, + // I just know that 1.3.x is broken and 1.5.1 is fixed. + // If we know that 1.4.0 is fixed, we can change this. + if (!adwaita.versionAtLeast(1, 4, 0)) { + c.g_object_unref(tab.box); } - if (new_position == page_idx) return; - self.reorderPage(tab, new_position); + // `self` will become invalid after this call because it will have + // been freed up as part of the process of closing the window. + c.gtk_window_destroy(window); } - - pub fn reorderPage(self: *Notebook, tab: *Tab, position: c_int) void { - switch (self.*) { - .adw => |*adw| adw.reorderPage(tab, position), - .gtk => |*gtk| gtk.reorderPage(tab, position), - } - } - - pub fn setTabLabel(self: *Notebook, tab: *Tab, title: [:0]const u8) void { - switch (self.*) { - .adw => |*adw| adw.setTabLabel(tab, title), - .gtk => |*gtk| gtk.setTabLabel(tab, title), - } - } - - pub fn setTabTooltip(self: *Notebook, tab: *Tab, tooltip: [:0]const u8) void { - switch (self.*) { - .adw => |*adw| adw.setTabTooltip(tab, tooltip), - .gtk => |*gtk| gtk.setTabTooltip(tab, tooltip), - } - } - - fn newTabInsertPosition(self: *Notebook, tab: *Tab) c_int { - const numPages = self.nPages(); - return switch (tab.window.app.config.@"window-new-tab-position") { - .current => if (self.currentPage()) |page| page + 1 else numPages, - .end => numPages, - }; - } - - /// Adds a new tab with the given title to the notebook. - pub fn addTab(self: *Notebook, tab: *Tab, title: [:0]const u8) void { - const position = self.newTabInsertPosition(tab); - switch (self.*) { - .adw => |*adw| adw.addTab(tab, position, title), - .gtk => |*gtk| gtk.addTab(tab, position, title), - } - } - - pub fn closeTab(self: *Notebook, tab: *Tab) void { - switch (self.*) { - .adw => |*adw| adw.closeTab(tab), - .gtk => |*gtk| gtk.closeTab(tab), - } - } -}; +} pub fn createWindow(currentWindow: *Window) !*Window { const alloc = currentWindow.app.core_app.alloc; @@ -172,3 +196,54 @@ pub fn createWindow(currentWindow: *Window) !*Window { // Create a new window return Window.create(alloc, app); } + +fn adwPageAttached(_: *c.AdwTabView, page: *c.AdwTabPage, _: c_int, ud: ?*anyopaque) callconv(.C) void { + const window: *Window = @ptrCast(@alignCast(ud.?)); + + const child = c.adw_tab_page_get_child(page); + const tab: *Tab = @ptrCast(@alignCast(c.g_object_get_data(@ptrCast(child), Tab.GHOSTTY_TAB) orelse return)); + tab.window = window; + + window.focusCurrentTab(); +} + +fn adwClosePage( + _: *c.AdwTabView, + page: *c.AdwTabPage, + ud: ?*anyopaque, +) callconv(.C) c.gboolean { + const child = c.adw_tab_page_get_child(page); + const tab: *Tab = @ptrCast(@alignCast(c.g_object_get_data( + @ptrCast(child), + Tab.GHOSTTY_TAB, + ) orelse return 0)); + + const window: *Window = @ptrCast(@alignCast(ud.?)); + const notebook = window.notebook; + c.adw_tab_view_close_page_finish( + notebook.tab_view, + page, + @intFromBool(notebook.forcing_close), + ); + if (!notebook.forcing_close) tab.closeWithConfirmation(); + return 1; +} + +fn adwTabViewCreateWindow( + _: *c.AdwTabView, + ud: ?*anyopaque, +) callconv(.C) ?*c.AdwTabView { + const currentWindow: *Window = @ptrCast(@alignCast(ud.?)); + const window = createWindow(currentWindow) catch |err| { + log.warn("error creating new window error={}", .{err}); + return null; + }; + return window.notebook.tab_view; +} + +fn adwSelectPage(_: *c.GObject, _: *c.GParamSpec, ud: ?*anyopaque) void { + const window: *Window = @ptrCast(@alignCast(ud.?)); + const page = c.adw_tab_view_get_selected_page(window.notebook.tab_view) orelse return; + const title = c.adw_tab_page_get_title(page); + window.setTitle(std.mem.span(title)); +} diff --git a/src/apprt/gtk/notebook_adw.zig b/src/apprt/gtk/notebook_adw.zig deleted file mode 100644 index 790b3aa35..000000000 --- a/src/apprt/gtk/notebook_adw.zig +++ /dev/null @@ -1,209 +0,0 @@ -const std = @import("std"); -const assert = std.debug.assert; -const c = @import("c.zig").c; - -const Window = @import("Window.zig"); -const Tab = @import("Tab.zig"); -const Notebook = @import("notebook.zig").Notebook; -const createWindow = @import("notebook.zig").createWindow; -const adwaita = @import("adwaita.zig"); - -const log = std.log.scoped(.gtk); - -const AdwTabView = if (adwaita.versionAtLeast(0, 0, 0)) c.AdwTabView else anyopaque; -const AdwTabPage = if (adwaita.versionAtLeast(0, 0, 0)) c.AdwTabPage else anyopaque; - -pub const NotebookAdw = struct { - /// the tab view - tab_view: *AdwTabView, - - /// Set to true so that the adw close-page handler knows we're forcing - /// and to allow a close to happen with no confirm. This is a bit of a hack - /// because we currently use GTK alerts to confirm tab close and they - /// don't carry with them the ADW state that we are confirming or not. - /// Long term we should move to ADW alerts so we can know if we are - /// confirming or not. - forcing_close: bool = false, - - pub fn init(notebook: *Notebook) void { - const window: *Window = @fieldParentPtr("notebook", notebook); - const app = window.app; - assert(adwaita.enabled(&app.config)); - - const tab_view: *c.AdwTabView = c.adw_tab_view_new().?; - c.gtk_widget_add_css_class(@ptrCast(@alignCast(tab_view)), "notebook"); - - if (comptime adwaita.versionAtLeast(1, 2, 0) and adwaita.versionAtLeast(1, 2, 0)) { - // Adwaita enables all of the shortcuts by default. - // We want to manage keybindings ourselves. - c.adw_tab_view_remove_shortcuts(tab_view, c.ADW_TAB_VIEW_SHORTCUT_ALL_SHORTCUTS); - } - - notebook.* = .{ - .adw = .{ - .tab_view = tab_view, - }, - }; - - _ = c.g_signal_connect_data(tab_view, "page-attached", c.G_CALLBACK(&adwPageAttached), window, null, c.G_CONNECT_DEFAULT); - _ = c.g_signal_connect_data(tab_view, "close-page", c.G_CALLBACK(&adwClosePage), window, null, c.G_CONNECT_DEFAULT); - _ = c.g_signal_connect_data(tab_view, "create-window", c.G_CALLBACK(&adwTabViewCreateWindow), window, null, c.G_CONNECT_DEFAULT); - _ = c.g_signal_connect_data(tab_view, "notify::selected-page", c.G_CALLBACK(&adwSelectPage), window, null, c.G_CONNECT_DEFAULT); - } - - pub fn asWidget(self: *NotebookAdw) *c.GtkWidget { - return @ptrCast(@alignCast(self.tab_view)); - } - - pub fn nPages(self: *NotebookAdw) c_int { - if (comptime adwaita.versionAtLeast(0, 0, 0)) - return c.adw_tab_view_get_n_pages(self.tab_view) - else - unreachable; - } - - /// Returns the index of the currently selected page. - /// Returns null if the notebook has no pages. - pub fn currentPage(self: *NotebookAdw) ?c_int { - if (comptime !adwaita.versionAtLeast(0, 0, 0)) unreachable; - const page = c.adw_tab_view_get_selected_page(self.tab_view) orelse return null; - return c.adw_tab_view_get_page_position(self.tab_view, page); - } - - /// Returns the currently selected tab or null if there are none. - pub fn currentTab(self: *NotebookAdw) ?*Tab { - if (comptime !adwaita.versionAtLeast(0, 0, 0)) unreachable; - const page = c.adw_tab_view_get_selected_page(self.tab_view) orelse return null; - const child = c.adw_tab_page_get_child(page); - return @ptrCast(@alignCast( - c.g_object_get_data(@ptrCast(child), Tab.GHOSTTY_TAB) orelse return null, - )); - } - - pub fn gotoNthTab(self: *NotebookAdw, position: c_int) void { - if (comptime !adwaita.versionAtLeast(0, 0, 0)) unreachable; - const page_to_select = c.adw_tab_view_get_nth_page(self.tab_view, position); - c.adw_tab_view_set_selected_page(self.tab_view, page_to_select); - } - - pub fn getTabPosition(self: *NotebookAdw, tab: *Tab) ?c_int { - if (comptime !adwaita.versionAtLeast(0, 0, 0)) unreachable; - const page = c.adw_tab_view_get_page(self.tab_view, @ptrCast(tab.box)) orelse return null; - return c.adw_tab_view_get_page_position(self.tab_view, page); - } - - pub fn reorderPage(self: *NotebookAdw, tab: *Tab, position: c_int) void { - if (comptime !adwaita.versionAtLeast(0, 0, 0)) unreachable; - const page = c.adw_tab_view_get_page(self.tab_view, @ptrCast(tab.box)); - _ = c.adw_tab_view_reorder_page(self.tab_view, page, position); - } - - pub fn setTabLabel(self: *NotebookAdw, tab: *Tab, title: [:0]const u8) void { - if (comptime !adwaita.versionAtLeast(0, 0, 0)) unreachable; - const page = c.adw_tab_view_get_page(self.tab_view, @ptrCast(tab.box)); - c.adw_tab_page_set_title(page, title.ptr); - } - - pub fn setTabTooltip(self: *NotebookAdw, tab: *Tab, tooltip: [:0]const u8) void { - if (comptime !adwaita.versionAtLeast(0, 0, 0)) unreachable; - const page = c.adw_tab_view_get_page(self.tab_view, @ptrCast(tab.box)); - c.adw_tab_page_set_tooltip(page, tooltip.ptr); - } - - pub fn addTab(self: *NotebookAdw, tab: *Tab, position: c_int, title: [:0]const u8) void { - if (comptime !adwaita.versionAtLeast(0, 0, 0)) unreachable; - const box_widget: *c.GtkWidget = @ptrCast(tab.box); - const page = c.adw_tab_view_insert(self.tab_view, box_widget, position); - c.adw_tab_page_set_title(page, title.ptr); - c.adw_tab_view_set_selected_page(self.tab_view, page); - } - - pub fn closeTab(self: *NotebookAdw, tab: *Tab) void { - if (comptime !adwaita.versionAtLeast(0, 0, 0)) unreachable; - - // closeTab always expects to close unconditionally so we mark this - // as true so that the close_page call below doesn't request - // confirmation. - self.forcing_close = true; - const n = self.nPages(); - defer { - // self becomes invalid if we close the last page because we close - // the whole window - if (n > 1) self.forcing_close = false; - } - - const page = c.adw_tab_view_get_page(self.tab_view, @ptrCast(tab.box)) orelse return; - c.adw_tab_view_close_page(self.tab_view, page); - - // If we have no more tabs we close the window - if (self.nPages() == 0) { - const window = tab.window.window; - - // libadw versions <= 1.3.x leak the final page view - // which causes our surface to not properly cleanup. We - // unref to force the cleanup. This will trigger a critical - // warning from GTK, but I don't know any other workaround. - // Note: I'm not actually sure if 1.4.0 contains the fix, - // I just know that 1.3.x is broken and 1.5.1 is fixed. - // If we know that 1.4.0 is fixed, we can change this. - if (!adwaita.versionAtLeast(1, 4, 0)) { - c.g_object_unref(tab.box); - } - - // `self` will become invalid after this call because it will have - // been freed up as part of the process of closing the window. - c.gtk_window_destroy(window); - } - } -}; - -fn adwPageAttached(_: *AdwTabView, page: *c.AdwTabPage, _: c_int, ud: ?*anyopaque) callconv(.C) void { - const window: *Window = @ptrCast(@alignCast(ud.?)); - - const child = c.adw_tab_page_get_child(page); - const tab: *Tab = @ptrCast(@alignCast(c.g_object_get_data(@ptrCast(child), Tab.GHOSTTY_TAB) orelse return)); - tab.window = window; - - window.focusCurrentTab(); -} - -fn adwClosePage( - _: *AdwTabView, - page: *c.AdwTabPage, - ud: ?*anyopaque, -) callconv(.C) c.gboolean { - const child = c.adw_tab_page_get_child(page); - const tab: *Tab = @ptrCast(@alignCast(c.g_object_get_data( - @ptrCast(child), - Tab.GHOSTTY_TAB, - ) orelse return 0)); - - const window: *Window = @ptrCast(@alignCast(ud.?)); - const notebook = window.notebook.adw; - c.adw_tab_view_close_page_finish( - notebook.tab_view, - page, - @intFromBool(notebook.forcing_close), - ); - if (!notebook.forcing_close) tab.closeWithConfirmation(); - return 1; -} - -fn adwTabViewCreateWindow( - _: *AdwTabView, - ud: ?*anyopaque, -) callconv(.C) ?*AdwTabView { - const currentWindow: *Window = @ptrCast(@alignCast(ud.?)); - const window = createWindow(currentWindow) catch |err| { - log.warn("error creating new window error={}", .{err}); - return null; - }; - return window.notebook.adw.tab_view; -} - -fn adwSelectPage(_: *c.GObject, _: *c.GParamSpec, ud: ?*anyopaque) void { - const window: *Window = @ptrCast(@alignCast(ud.?)); - const page = c.adw_tab_view_get_selected_page(window.notebook.adw.tab_view) orelse return; - const title = c.adw_tab_page_get_title(page); - window.setTitle(std.mem.span(title)); -} diff --git a/src/apprt/gtk/notebook_gtk.zig b/src/apprt/gtk/notebook_gtk.zig deleted file mode 100644 index 5f145dc84..000000000 --- a/src/apprt/gtk/notebook_gtk.zig +++ /dev/null @@ -1,304 +0,0 @@ -const std = @import("std"); -const assert = std.debug.assert; -const c = @import("c.zig").c; - -const Window = @import("Window.zig"); -const Tab = @import("Tab.zig"); -const Notebook = @import("notebook.zig").Notebook; -const createWindow = @import("notebook.zig").createWindow; - -const log = std.log.scoped(.gtk); - -/// An abstraction over the GTK notebook and Adwaita tab view to manage -/// all the terminal tabs in a window. -pub const NotebookGtk = struct { - notebook: *c.GtkNotebook, - - pub fn init(notebook: *Notebook) void { - const window: *Window = @fieldParentPtr("notebook", notebook); - const app = window.app; - - // Create a notebook to hold our tabs. - const notebook_widget: *c.GtkWidget = c.gtk_notebook_new(); - c.gtk_widget_add_css_class(notebook_widget, "notebook"); - - const gtk_notebook: *c.GtkNotebook = @ptrCast(notebook_widget); - const notebook_tab_pos: c_uint = switch (app.config.@"gtk-tabs-location") { - .top, .hidden => c.GTK_POS_TOP, - .bottom => c.GTK_POS_BOTTOM, - .left => c.GTK_POS_LEFT, - .right => c.GTK_POS_RIGHT, - }; - c.gtk_notebook_set_tab_pos(gtk_notebook, notebook_tab_pos); - c.gtk_notebook_set_scrollable(gtk_notebook, 1); - c.gtk_notebook_set_show_tabs(gtk_notebook, 0); - c.gtk_notebook_set_show_border(gtk_notebook, 0); - - // This enables all Ghostty terminal tabs to be exchanged across windows. - c.gtk_notebook_set_group_name(gtk_notebook, "ghostty-terminal-tabs"); - - // This is important so the notebook expands to fit available space. - // Otherwise, it will be zero/zero in the box below. - c.gtk_widget_set_vexpand(notebook_widget, 1); - c.gtk_widget_set_hexpand(notebook_widget, 1); - - // Remove the background from the stack widget - const stack = c.gtk_widget_get_last_child(notebook_widget); - c.gtk_widget_add_css_class(stack, "transparent"); - - notebook.* = .{ - .gtk = .{ - .notebook = gtk_notebook, - }, - }; - - // All of our events - _ = c.g_signal_connect_data(gtk_notebook, "page-added", c.G_CALLBACK(>kPageAdded), window, null, c.G_CONNECT_DEFAULT); - _ = c.g_signal_connect_data(gtk_notebook, "page-removed", c.G_CALLBACK(>kPageRemoved), window, null, c.G_CONNECT_DEFAULT); - _ = c.g_signal_connect_data(gtk_notebook, "switch-page", c.G_CALLBACK(>kSwitchPage), window, null, c.G_CONNECT_DEFAULT); - _ = c.g_signal_connect_data(gtk_notebook, "create-window", c.G_CALLBACK(>kNotebookCreateWindow), window, null, c.G_CONNECT_DEFAULT); - } - - /// return the underlying widget as a generic GtkWidget - pub fn asWidget(self: *NotebookGtk) *c.GtkWidget { - return @ptrCast(@alignCast(self.notebook)); - } - - /// returns the number of pages in the notebook - pub fn nPages(self: *NotebookGtk) c_int { - return c.gtk_notebook_get_n_pages(self.notebook); - } - - /// Returns the index of the currently selected page. - /// Returns null if the notebook has no pages. - pub fn currentPage(self: *NotebookGtk) ?c_int { - const current = c.gtk_notebook_get_current_page(self.notebook); - return if (current == -1) null else current; - } - - /// Returns the currently selected tab or null if there are none. - pub fn currentTab(self: *NotebookGtk) ?*Tab { - log.warn("currentTab", .{}); - const page = self.currentPage() orelse return null; - const child = c.gtk_notebook_get_nth_page(self.notebook, page); - return @ptrCast(@alignCast( - c.g_object_get_data(@ptrCast(child), Tab.GHOSTTY_TAB) orelse return null, - )); - } - - /// focus the nth tab - pub fn gotoNthTab(self: *NotebookGtk, position: c_int) void { - c.gtk_notebook_set_current_page(self.notebook, position); - } - - /// get the position of the current tab - pub fn getTabPosition(self: *NotebookGtk, tab: *Tab) ?c_int { - const page = c.gtk_notebook_get_page(self.notebook, @ptrCast(tab.box)) orelse return null; - return getNotebookPageIndex(page); - } - - pub fn reorderPage(self: *NotebookGtk, tab: *Tab, position: c_int) void { - c.gtk_notebook_reorder_child(self.notebook, @ptrCast(tab.box), position); - } - - pub fn setTabLabel(_: *NotebookGtk, tab: *Tab, title: [:0]const u8) void { - c.gtk_label_set_text(tab.label_text, title.ptr); - } - - pub fn setTabTooltip(_: *NotebookGtk, tab: *Tab, tooltip: [:0]const u8) void { - c.gtk_widget_set_tooltip_text(@ptrCast(@alignCast(tab.label_text)), tooltip.ptr); - } - - /// Adds a new tab with the given title to the notebook. - pub fn addTab(self: *NotebookGtk, tab: *Tab, position: c_int, title: [:0]const u8) void { - const box_widget: *c.GtkWidget = @ptrCast(tab.box); - - // Build the tab label - const label_box_widget = c.gtk_box_new(c.GTK_ORIENTATION_HORIZONTAL, 0); - const label_box = @as(*c.GtkBox, @ptrCast(label_box_widget)); - const label_text_widget = c.gtk_label_new(title.ptr); - const label_text: *c.GtkLabel = @ptrCast(label_text_widget); - c.gtk_box_append(label_box, label_text_widget); - tab.label_text = label_text; - - const window = tab.window; - if (window.app.config.@"gtk-wide-tabs") { - c.gtk_widget_set_hexpand(label_box_widget, 1); - c.gtk_widget_set_halign(label_box_widget, c.GTK_ALIGN_FILL); - c.gtk_widget_set_hexpand(label_text_widget, 1); - c.gtk_widget_set_halign(label_text_widget, c.GTK_ALIGN_FILL); - - // This ensures that tabs are always equal width. If they're too - // long, they'll be truncated with an ellipsis. - c.gtk_label_set_max_width_chars(label_text, 1); - c.gtk_label_set_ellipsize(label_text, c.PANGO_ELLIPSIZE_END); - - // We need to set a minimum width so that at a certain point - // the notebook will have an arrow button rather than shrinking tabs - // to an unreadably small size. - c.gtk_widget_set_size_request(label_text_widget, 100, 1); - } - - // Build the close button for the tab - const label_close_widget = c.gtk_button_new_from_icon_name("window-close-symbolic"); - const label_close: *c.GtkButton = @ptrCast(label_close_widget); - c.gtk_button_set_has_frame(label_close, 0); - c.gtk_box_append(label_box, label_close_widget); - - const page_idx = c.gtk_notebook_insert_page( - self.notebook, - box_widget, - label_box_widget, - position, - ); - - // Clicks - const gesture_tab_click = c.gtk_gesture_click_new(); - c.gtk_gesture_single_set_button(@ptrCast(gesture_tab_click), 0); - c.gtk_widget_add_controller(label_box_widget, @ptrCast(gesture_tab_click)); - - _ = c.g_signal_connect_data(label_close, "clicked", c.G_CALLBACK(>kTabCloseClick), tab, null, c.G_CONNECT_DEFAULT); - _ = c.g_signal_connect_data(gesture_tab_click, "pressed", c.G_CALLBACK(>kTabClick), tab, null, c.G_CONNECT_DEFAULT); - - // Tab settings - c.gtk_notebook_set_tab_reorderable(self.notebook, box_widget, 1); - c.gtk_notebook_set_tab_detachable(self.notebook, box_widget, 1); - - if (self.nPages() > 1) { - c.gtk_notebook_set_show_tabs(self.notebook, 1); - } - - // Switch to the new tab - c.gtk_notebook_set_current_page(self.notebook, page_idx); - } - - pub fn closeTab(self: *NotebookGtk, tab: *Tab) void { - const page = c.gtk_notebook_get_page(self.notebook, @ptrCast(tab.box)) orelse return; - - // Find page and tab which we're closing - const page_idx = getNotebookPageIndex(page); - - // Remove the page. This will destroy the GTK widgets in the page which - // will trigger Tab cleanup. The `tab` variable is therefore unusable past that point. - c.gtk_notebook_remove_page(self.notebook, page_idx); - - const remaining = self.nPages(); - switch (remaining) { - // If we have no more tabs we close the window - 0 => c.gtk_window_destroy(tab.window.window), - - // If we have one more tab we hide the tab bar - 1 => c.gtk_notebook_set_show_tabs(self.notebook, 0), - - else => {}, - } - - // If we have remaining tabs, we need to make sure we grab focus. - if (remaining > 0) - (self.currentTab() orelse return).window.focusCurrentTab(); - } -}; - -fn getNotebookPageIndex(page: *c.GtkNotebookPage) c_int { - var value: c.GValue = std.mem.zeroes(c.GValue); - defer c.g_value_unset(&value); - _ = c.g_value_init(&value, c.G_TYPE_INT); - c.g_object_get_property( - @ptrCast(@alignCast(page)), - "position", - &value, - ); - - return c.g_value_get_int(&value); -} - -fn gtkPageAdded( - notebook: *c.GtkNotebook, - _: *c.GtkWidget, - page_idx: c.guint, - ud: ?*anyopaque, -) callconv(.C) void { - const self: *Window = @ptrCast(@alignCast(ud.?)); - - // The added page can come from another window with drag and drop, thus we migrate the tab - // window to be self. - const page = c.gtk_notebook_get_nth_page(notebook, @intCast(page_idx)); - const tab: *Tab = @ptrCast(@alignCast( - c.g_object_get_data(@ptrCast(page), Tab.GHOSTTY_TAB) orelse return, - )); - tab.window = self; - - // Whenever a new page is added, we always grab focus of the - // currently selected page. This was added specifically so that when - // we drag a tab out to create a new window ("create-window" event) - // we grab focus in the new window. Without this, the terminal didn't - // have focus. - self.focusCurrentTab(); -} - -fn gtkPageRemoved( - _: *c.GtkNotebook, - _: *c.GtkWidget, - _: c.guint, - ud: ?*anyopaque, -) callconv(.C) void { - log.warn("gtkPageRemoved", .{}); - const window: *Window = @ptrCast(@alignCast(ud.?)); - - // Hide the tab bar if we only have one tab after removal - const remaining = c.gtk_notebook_get_n_pages(window.notebook.gtk.notebook); - - if (remaining == 1) { - c.gtk_notebook_set_show_tabs(window.notebook.gtk.notebook, 0); - } -} - -fn gtkSwitchPage(_: *c.GtkNotebook, page: *c.GtkWidget, _: usize, ud: ?*anyopaque) callconv(.C) void { - const window: *Window = @ptrCast(@alignCast(ud.?)); - const self = &window.notebook.gtk; - const gtk_label_box = @as(*c.GtkWidget, @ptrCast(c.gtk_notebook_get_tab_label(self.notebook, page))); - const gtk_label = @as(*c.GtkLabel, @ptrCast(c.gtk_widget_get_first_child(gtk_label_box))); - const label_text = c.gtk_label_get_text(gtk_label); - window.setTitle(std.mem.span(label_text)); -} - -fn gtkNotebookCreateWindow( - _: *c.GtkNotebook, - page: *c.GtkWidget, - ud: ?*anyopaque, -) callconv(.C) ?*c.GtkNotebook { - // The tab for the page is stored in the widget data. - const tab: *Tab = @ptrCast(@alignCast( - c.g_object_get_data(@ptrCast(page), Tab.GHOSTTY_TAB) orelse return null, - )); - - const currentWindow: *Window = @ptrCast(@alignCast(ud.?)); - const newWindow = createWindow(currentWindow) catch |err| { - log.warn("error creating new window error={}", .{err}); - return null; - }; - - // And add it to the new window. - tab.window = newWindow; - - return newWindow.notebook.gtk.notebook; -} - -fn gtkTabCloseClick(_: *c.GtkButton, ud: ?*anyopaque) callconv(.C) void { - const tab: *Tab = @ptrCast(@alignCast(ud)); - tab.closeWithConfirmation(); -} - -fn gtkTabClick( - gesture: *c.GtkGestureClick, - _: c.gint, - _: c.gdouble, - _: c.gdouble, - ud: ?*anyopaque, -) callconv(.C) void { - const self: *Tab = @ptrCast(@alignCast(ud)); - const gtk_button = c.gtk_gesture_single_get_current_button(@ptrCast(gesture)); - if (gtk_button == c.GDK_BUTTON_MIDDLE) { - self.closeWithConfirmation(); - } -} diff --git a/src/build/Config.zig b/src/build/Config.zig index 7c8605c73..f7bf96d36 100644 --- a/src/build/Config.zig +++ b/src/build/Config.zig @@ -32,7 +32,6 @@ renderer: renderer.Impl = .opengl, font_backend: font.Backend = .freetype, /// Feature flags -adwaita: bool = false, x11: bool = false, wayland: bool = false, sentry: bool = true, @@ -132,12 +131,6 @@ pub fn init(b: *std.Build) !Config { //--------------------------------------------------------------- // Feature Flags - config.adwaita = b.option( - bool, - "gtk-adwaita", - "Enables the use of Adwaita when using the GTK rendering backend.", - ) orelse true; - config.flatpak = b.option( bool, "flatpak", @@ -397,7 +390,6 @@ pub fn addOptions(self: *const Config, step: *std.Build.Step.Options) !void { // We need to break these down individual because addOption doesn't // support all types. step.addOption(bool, "flatpak", self.flatpak); - step.addOption(bool, "adwaita", self.adwaita); step.addOption(bool, "x11", self.x11); step.addOption(bool, "wayland", self.wayland); step.addOption(bool, "sentry", self.sentry); @@ -442,7 +434,6 @@ pub fn fromOptions() Config { .version = options.app_version, .flatpak = options.flatpak, - .adwaita = options.adwaita, .app_runtime = std.meta.stringToEnum(apprt.Runtime, @tagName(options.app_runtime)).?, .font_backend = std.meta.stringToEnum(font.Backend, @tagName(options.font_backend)).?, .renderer = std.meta.stringToEnum(renderer.Impl, @tagName(options.renderer)).?, diff --git a/src/build/SharedDeps.zig b/src/build/SharedDeps.zig index 7d0b64c5b..a90fc330a 100644 --- a/src/build/SharedDeps.zig +++ b/src/build/SharedDeps.zig @@ -450,11 +450,8 @@ pub fn add( } step.linkSystemLibrary2("gtk4", dynamic_link_opts); - - if (self.config.adwaita) { - step.linkSystemLibrary2("libadwaita-1", dynamic_link_opts); - step.root_module.addImport("adw", gobject.module("adw1")); - } + step.linkSystemLibrary2("libadwaita-1", dynamic_link_opts); + step.root_module.addImport("adw", gobject.module("adw1")); if (self.config.x11) { step.linkSystemLibrary2("X11", dynamic_link_opts); @@ -525,7 +522,7 @@ pub fn add( }); gtk_builder_check.root_module.addOptions("build_options", self.options); gtk_builder_check.root_module.addImport("gtk", gobject.module("gtk4")); - if (self.config.adwaita) gtk_builder_check.root_module.addImport("adw", gobject.module("adw1")); + gtk_builder_check.root_module.addImport("adw", gobject.module("adw1")); for (gresource.dependencies) |pathname| { const extension = std.fs.path.extension(pathname); diff --git a/src/cli/version.zig b/src/cli/version.zig index 4a6af242c..f6d2ea9df 100644 --- a/src/cli/version.zig +++ b/src/cli/version.zig @@ -51,19 +51,15 @@ pub fn run(alloc: Allocator) !u8 { gtk.gtk_get_minor_version(), gtk.gtk_get_micro_version(), }); - if (comptime build_options.adwaita) { - try stdout.print(" - libadwaita : enabled\n", .{}); - try stdout.print(" build : {s}\n", .{ - gtk.ADW_VERSION_S, - }); - try stdout.print(" runtime : {}.{}.{}\n", .{ - gtk.adw_get_major_version(), - gtk.adw_get_minor_version(), - gtk.adw_get_micro_version(), - }); - } else { - try stdout.print(" - libadwaita : disabled\n", .{}); - } + try stdout.print(" - libadwaita : enabled\n", .{}); + try stdout.print(" build : {s}\n", .{ + gtk.ADW_VERSION_S, + }); + try stdout.print(" runtime : {}.{}.{}\n", .{ + gtk.adw_get_major_version(), + gtk.adw_get_minor_version(), + gtk.adw_get_micro_version(), + }); if (comptime build_options.x11) { try stdout.print(" - libX11 : enabled\n", .{}); } else { diff --git a/src/config/Config.zig b/src/config/Config.zig index d191de53a..705e4f0df 100644 --- a/src/config/Config.zig +++ b/src/config/Config.zig @@ -49,6 +49,7 @@ pub const renamed = std.StaticStringMap([]const u8).initComptime(&.{ // one field be used for both platforms (macOS retained the ability // to set a radius). .{ "background-blur-radius", "background-blur" }, + .{ "adw-toolbar-style", "gtk-toolbar-style" }, }); /// The font families to use. @@ -1199,7 +1200,7 @@ keybind: Keybinds = .{}, /// * `working-directory` - Set the subtitle to the working directory of the /// surface. /// -/// This feature is only supported on GTK with Adwaita enabled. +/// This feature is only supported on GTK. @"window-subtitle": WindowSubtitle = .false, /// The theme to use for the windows. Valid values: @@ -1212,8 +1213,7 @@ keybind: Keybinds = .{}, /// * `light` - Use the light theme regardless of system theme. /// * `dark` - Use the dark theme regardless of system theme. /// * `ghostty` - Use the background and foreground colors specified in the -/// Ghostty configuration. This is only supported on Linux builds with -/// Adwaita and `gtk-adwaita` enabled. +/// Ghostty configuration. This is only supported on Linux builds. /// /// On macOS, if `macos-titlebar-style` is "tabs", the window theme will be /// automatically set based on the luminosity of the terminal background color. @@ -1779,9 +1779,9 @@ keybind: Keybinds = .{}, /// Control the in-app notifications that Ghostty shows. /// -/// On Linux (GTK) with Adwaita, in-app notifications show up as toasts. Toasts -/// appear overlaid on top of the terminal window. They are used to show -/// information that is not critical but may be important. +/// On Linux (GTK), in-app notifications show up as toasts. Toasts appear +/// overlaid on top of the terminal window. They are used to show information +/// that is not critical but may be important. /// /// Possible notifications are: /// @@ -1799,7 +1799,7 @@ keybind: Keybinds = .{}, /// A value of "false" will disable all notifications. A value of "true" will /// enable all notifications. /// -/// This configuration only applies to GTK with Adwaita enabled. +/// This configuration only applies to GTK. @"app-notifications": AppNotifications = .{}, /// If anything other than false, fullscreen mode on macOS will not use the @@ -2129,26 +2129,20 @@ keybind: Keybinds = .{}, @"gtk-titlebar": bool = true, /// Determines the side of the screen that the GTK tab bar will stick to. -/// Top, bottom, left, right, and hidden are supported. The default is top. +/// Top, bottom, and hidden are supported. The default is top. /// -/// If this option has value `left` or `right` when using Adwaita, it falls -/// back to `top`. `hidden`, meaning that tabs don't exist, is not supported -/// without using Adwaita, falling back to `top`. -/// -/// When `hidden` is set and Adwaita is enabled, a tab button displaying the -/// number of tabs will appear in the title bar. It has the ability to open a -/// tab overview for displaying tabs. Alternatively, you can use the -/// `toggle_tab_overview` action in a keybind if your window doesn't have a -/// title bar, or you can switch tabs with keybinds. +/// When `hidden` is set, a tab button displaying the number of tabs will appear +/// in the title bar. It has the ability to open a tab overview for displaying +/// tabs. Alternatively, you can use the `toggle_tab_overview` action in a +/// keybind if your window doesn't have a title bar, or you can switch tabs +/// with keybinds. @"gtk-tabs-location": GtkTabsLocation = .top, /// If this is `true`, the titlebar will be hidden when the window is maximized, /// and shown when the titlebar is unmaximized. GTK only. @"gtk-titlebar-hide-when-maximized": bool = false, -/// Determines the appearance of the top and bottom bars when using the -/// Adwaita tab bar. This requires `gtk-adwaita` to be enabled (it is -/// by default). +/// Determines the appearance of the top and bottom bars tab bar. /// /// Valid values are: /// @@ -2158,7 +2152,7 @@ keybind: Keybinds = .{}, /// more subtle border. /// /// Changing this value at runtime will only affect new windows. -@"adw-toolbar-style": AdwToolbarStyle = .raised, +@"gtk-toolbar-style": GtkToolbarStyle = .raised, /// If `true` (default), then the Ghostty GTK tabs will be "wide." Wide tabs /// are the new typical Gnome style where tabs fill their available space. @@ -2166,20 +2160,6 @@ keybind: Keybinds = .{}, /// which is the old style. @"gtk-wide-tabs": bool = true, -/// If `true` (default), Ghostty will enable Adwaita theme support. This -/// will make `window-theme` work properly and will also allow Ghostty to -/// properly respond to system theme changes, light/dark mode changing, etc. -/// This requires a GTK4 desktop with a GTK4 theme. -/// -/// If you are running GTK3 or have a GTK3 theme, you may have to set this -/// to false to get your theme picked up properly. Having this set to true -/// with GTK3 should not cause any problems, but it may not work exactly as -/// expected. -/// -/// This configuration only has an effect if Ghostty was built with -/// Adwaita support. -@"gtk-adwaita": bool = true, - /// Custom CSS files to be loaded. /// /// This configuration can be repeated multiple times to load multiple files. @@ -5758,13 +5738,11 @@ pub const GtkSingleInstance = enum { pub const GtkTabsLocation = enum { top, bottom, - left, - right, hidden, }; -/// See adw-toolbar-style -pub const AdwToolbarStyle = enum { +/// See gtk-toolbar-style +pub const GtkToolbarStyle = enum { flat, raised, @"raised-border", From b7009202ce624788d1c54ae02ce8b7465b428b5a Mon Sep 17 00:00:00 2001 From: Tim Culverhouse Date: Fri, 14 Feb 2025 22:44:27 -0600 Subject: [PATCH 312/365] termio: use modified backend In Termio.init, we make a copy of backend and modify it by calling initTerminal. However, we used the original in the struct definition. This lead to the pty being opened with a size 0,0. --- src/termio/Termio.zig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/termio/Termio.zig b/src/termio/Termio.zig index ab61ae4ca..8a2e6cc7a 100644 --- a/src/termio/Termio.zig +++ b/src/termio/Termio.zig @@ -220,7 +220,7 @@ pub fn init(self: *Termio, alloc: Allocator, opts: termio.Options) !void { .renderer_mailbox = opts.renderer_mailbox, .surface_mailbox = opts.surface_mailbox, .size = opts.size, - .backend = opts.backend, + .backend = backend, .mailbox = opts.mailbox, .terminal_stream = .{ .handler = handler, From c7971b562e03d53ba2ce7ed9f835b8fd4c46c2bc Mon Sep 17 00:00:00 2001 From: "Jeffrey C. Ollie" Date: Wed, 22 Jan 2025 16:41:41 -0600 Subject: [PATCH 313/365] core: add `env` config option Fixes #5257 Specify environment variables to pass to commands launched in a terminal surface. The format is `env=KEY=VALUE`. `env = foo=bar` `env = bar=baz` Setting `env` to an empty string will reset the entire map to default (empty). `env =` Setting a key to an empty string will remove that particular key and corresponding value from the map. `env = foo=bar` `env = foo=` will result in `foo` not being passed to the launched commands. Setting a key multiple times will overwrite previous entries. `env = foo=bar` `env = foo=baz` will result in `foo=baz` being passed to the launched commands. These environment variables _will not_ be passed to commands run by Ghostty for other purposes, like `open` or `xdg-open` used to open URLs in your browser. --- src/Surface.zig | 1 + src/config.zig | 1 + src/config/Config.zig | 37 ++++++ src/config/RepeatableStringMap.zig | 198 +++++++++++++++++++++++++++++ src/termio/Exec.zig | 10 ++ 5 files changed, 247 insertions(+) create mode 100644 src/config/RepeatableStringMap.zig diff --git a/src/Surface.zig b/src/Surface.zig index b81a45ecb..98c344927 100644 --- a/src/Surface.zig +++ b/src/Surface.zig @@ -531,6 +531,7 @@ pub fn init( var io_exec = try termio.Exec.init(alloc, .{ .command = command, .env = env, + .env_override = config.env, .shell_integration = config.@"shell-integration", .shell_integration_features = config.@"shell-integration-features", .working_directory = config.@"working-directory", diff --git a/src/config.zig b/src/config.zig index 75dbaae02..a8ffe2ec7 100644 --- a/src/config.zig +++ b/src/config.zig @@ -27,6 +27,7 @@ pub const OptionAsAlt = Config.OptionAsAlt; pub const RepeatableCodepointMap = Config.RepeatableCodepointMap; pub const RepeatableFontVariation = Config.RepeatableFontVariation; pub const RepeatableString = Config.RepeatableString; +pub const RepeatableStringMap = @import("config/RepeatableStringMap.zig"); pub const RepeatablePath = Config.RepeatablePath; pub const ShellIntegrationFeatures = Config.ShellIntegrationFeatures; pub const WindowPaddingColor = Config.WindowPaddingColor; diff --git a/src/config/Config.zig b/src/config/Config.zig index d191de53a..92e98c239 100644 --- a/src/config/Config.zig +++ b/src/config/Config.zig @@ -34,6 +34,7 @@ const KeyValue = @import("key.zig").Value; const ErrorList = @import("ErrorList.zig"); const MetricModifier = fontpkg.Metrics.Modifier; const help_strings = @import("help_strings"); +const RepeatableStringMap = @import("RepeatableStringMap.zig"); const log = std.log.scoped(.config); @@ -735,6 +736,42 @@ command: ?[]const u8 = null, /// @"initial-command": ?[]const u8 = null, +/// Extra environment variables to pass to commands launched in a terminal +/// surface. The format is `env=KEY=VALUE`. +/// +/// `env = foo=bar` +/// `env = bar=baz` +/// +/// Setting `env` to an empty string will reset the entire map to default +/// (empty). +/// +/// `env =` +/// +/// Setting a key to an empty string will remove that particular key and +/// corresponding value from the map. +/// +/// `env = foo=bar` +/// `env = foo=` +/// +/// will result in `foo` not being passed to the launched commands. +/// +/// Setting a key multiple times will overwrite previous entries. +/// +/// `env = foo=bar` +/// `env = foo=baz` +/// +/// will result in `foo=baz` being passed to the launched commands. +/// +/// These environment variables will override any existing environment +/// variables set by Ghostty. For example, if you set `GHOSTTY_RESOURCES_DIR` +/// then the value you set here will override the value Ghostty typically +/// automatically injects. +/// +/// These environment variables _will not_ be passed to commands run by Ghostty +/// for other purposes, like `open` or `xdg-open` used to open URLs in your +/// browser. +env: RepeatableStringMap = .{}, + /// If true, keep the terminal open after the command exits. Normally, the /// terminal window closes when the running command (such as a shell) exits. /// With this true, the terminal window will stay open until any keypress is diff --git a/src/config/RepeatableStringMap.zig b/src/config/RepeatableStringMap.zig new file mode 100644 index 000000000..6f143e95d --- /dev/null +++ b/src/config/RepeatableStringMap.zig @@ -0,0 +1,198 @@ +/// RepeatableStringMap is a key/value that can be repeated to accumulate a +/// string map. This isn't called "StringMap" because I find that sometimes +/// leads to confusion that it _accepts_ a map such as JSON dict. +const RepeatableStringMap = @This(); +const std = @import("std"); +const Allocator = std.mem.Allocator; + +const formatterpkg = @import("formatter.zig"); + +const Map = std.ArrayHashMapUnmanaged( + [:0]const u8, + [:0]const u8, + std.array_hash_map.StringContext, + true, +); + +// Allocator for the list is the arena for the parent config. +map: Map = .{}, + +pub fn parseCLI( + self: *RepeatableStringMap, + alloc: Allocator, + input: ?[]const u8, +) !void { + const value = input orelse return error.ValueRequired; + + // Empty value resets the list. We don't need to free our values because + // the allocator used is always an arena. + if (value.len == 0) { + self.map.clearRetainingCapacity(); + return; + } + + const index = std.mem.indexOfScalar( + u8, + value, + '=', + ) orelse return error.ValueRequired; + + const key = std.mem.trim(u8, value[0..index], &std.ascii.whitespace); + const val = std.mem.trim(u8, value[index + 1 ..], &std.ascii.whitespace); + + const key_copy = try alloc.dupeZ(u8, key); + errdefer alloc.free(key_copy); + + // Empty value removes the key from the map. + if (val.len == 0) { + _ = self.map.orderedRemove(key_copy); + alloc.free(key_copy); + return; + } + + const val_copy = try alloc.dupeZ(u8, val); + errdefer alloc.free(val_copy); + + try self.map.put(alloc, key_copy, val_copy); +} + +/// Deep copy of the struct. Required by Config. +pub fn clone( + self: *const RepeatableStringMap, + alloc: Allocator, +) Allocator.Error!RepeatableStringMap { + var map: Map = .{}; + try map.ensureTotalCapacity(alloc, self.map.count()); + + errdefer { + var it = map.iterator(); + while (it.next()) |entry| { + alloc.free(entry.key_ptr.*); + alloc.free(entry.value_ptr.*); + } + map.deinit(alloc); + } + + var it = self.map.iterator(); + while (it.next()) |entry| { + const key = try alloc.dupeZ(u8, entry.key_ptr.*); + const value = try alloc.dupeZ(u8, entry.value_ptr.*); + map.putAssumeCapacity(key, value); + } + + return .{ .map = map }; +} + +/// The number of items in the map +pub fn count(self: RepeatableStringMap) usize { + return self.map.count(); +} + +/// Iterator over the entries in the map. +pub fn iterator(self: RepeatableStringMap) Map.Iterator { + return self.map.iterator(); +} + +/// Compare if two of our value are requal. Required by Config. +pub fn equal(self: RepeatableStringMap, other: RepeatableStringMap) bool { + if (self.map.count() != other.map.count()) return false; + var it = self.map.iterator(); + while (it.next()) |entry| { + const value = other.map.get(entry.key_ptr.*) orelse return false; + if (!std.mem.eql(u8, entry.value_ptr.*, value)) return false; + } else return true; +} + +/// Used by formatter +pub fn formatEntry(self: RepeatableStringMap, formatter: anytype) !void { + // If no items, we want to render an empty field. + if (self.map.count() == 0) { + try formatter.formatEntry(void, {}); + return; + } + + var it = self.map.iterator(); + while (it.next()) |entry| { + var buf: [256]u8 = undefined; + const value = std.fmt.bufPrint(&buf, "{s}={s}", .{ entry.key_ptr.*, entry.value_ptr.* }) catch |err| switch (err) { + error.NoSpaceLeft => return error.OutOfMemory, + }; + try formatter.formatEntry([]const u8, value); + } +} + +test "RepeatableStringMap: parseCLI" { + const testing = std.testing; + var arena = std.heap.ArenaAllocator.init(testing.allocator); + defer arena.deinit(); + const alloc = arena.allocator(); + + var map: RepeatableStringMap = .{}; + + try testing.expectError(error.ValueRequired, map.parseCLI(alloc, "A")); + + try map.parseCLI(alloc, "A=B"); + try map.parseCLI(alloc, "B=C"); + try testing.expectEqual(@as(usize, 2), map.count()); + + try map.parseCLI(alloc, ""); + try testing.expectEqual(@as(usize, 0), map.count()); + + try map.parseCLI(alloc, "A=B"); + try testing.expectEqual(@as(usize, 1), map.count()); + try map.parseCLI(alloc, "A=C"); + try testing.expectEqual(@as(usize, 1), map.count()); +} + +test "RepeatableStringMap: formatConfig empty" { + const testing = std.testing; + var buf = std.ArrayList(u8).init(testing.allocator); + defer buf.deinit(); + + var list: RepeatableStringMap = .{}; + try list.formatEntry(formatterpkg.entryFormatter("a", buf.writer())); + try std.testing.expectEqualSlices(u8, "a = \n", buf.items); +} + +test "RepeatableStringMap: formatConfig single item" { + const testing = std.testing; + + var arena = std.heap.ArenaAllocator.init(testing.allocator); + defer arena.deinit(); + const alloc = arena.allocator(); + + { + var buf = std.ArrayList(u8).init(testing.allocator); + defer buf.deinit(); + var map: RepeatableStringMap = .{}; + try map.parseCLI(alloc, "A=B"); + try map.formatEntry(formatterpkg.entryFormatter("a", buf.writer())); + try std.testing.expectEqualSlices(u8, "a = A=B\n", buf.items); + } + { + var buf = std.ArrayList(u8).init(testing.allocator); + defer buf.deinit(); + var map: RepeatableStringMap = .{}; + try map.parseCLI(alloc, " A = B "); + try map.formatEntry(formatterpkg.entryFormatter("a", buf.writer())); + try std.testing.expectEqualSlices(u8, "a = A=B\n", buf.items); + } +} + +test "RepeatableStringMap: formatConfig multiple items" { + const testing = std.testing; + + var arena = std.heap.ArenaAllocator.init(testing.allocator); + defer arena.deinit(); + const alloc = arena.allocator(); + + { + var buf = std.ArrayList(u8).init(testing.allocator); + defer buf.deinit(); + var list: RepeatableStringMap = .{}; + try list.parseCLI(alloc, "A=B"); + try list.parseCLI(alloc, "B = C"); + try list.formatEntry(formatterpkg.entryFormatter("a", buf.writer())); + try std.testing.expectEqualSlices(u8, "a = A=B\na = B=C\n", buf.items); + } +} diff --git a/src/termio/Exec.zig b/src/termio/Exec.zig index 864f2e21c..5a2d2a507 100644 --- a/src/termio/Exec.zig +++ b/src/termio/Exec.zig @@ -683,6 +683,7 @@ pub const ThreadData = struct { pub const Config = struct { command: ?[]const u8 = null, env: EnvMap, + env_override: configpkg.RepeatableStringMap = .{}, shell_integration: configpkg.Config.ShellIntegration = .detect, shell_integration_features: configpkg.Config.ShellIntegrationFeatures = .{}, working_directory: ?[]const u8 = null, @@ -889,6 +890,15 @@ const Subprocess = struct { log.warn("shell could not be detected, no automatic shell integration will be injected", .{}); } + // Add the environment variables that override any others. + { + var it = cfg.env_override.iterator(); + while (it.next()) |entry| try env.put( + entry.key_ptr.*, + entry.value_ptr.*, + ); + } + // Build our args list const args = args: { const cap = 9; // the most we'll ever use From f0842c559998c1f39235e0d89bd758e4bf285b23 Mon Sep 17 00:00:00 2001 From: Ken VanDine Date: Sun, 29 Dec 2024 14:00:36 -0500 Subject: [PATCH 314/365] Added snap packaging --- snap/snapcraft.yaml | 77 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 77 insertions(+) create mode 100644 snap/snapcraft.yaml diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml new file mode 100644 index 000000000..59c7edc99 --- /dev/null +++ b/snap/snapcraft.yaml @@ -0,0 +1,77 @@ +name: ghostty +base: core24 +version: git +summary: A terminal emulator +description: | + Ghostty is a fast, feature-rich, and cross-platform terminal emulator that + uses platform-native UI and GPU acceleration. +grade: stable +confinement: classic +contact: https://github.com/ghostty-org/ghostty/discussions +issues: https://github.com/ghostty-org/ghostty/issues +website: https://ghostty.org +license: MIT +icon: images/icons/icon_512.png + +platforms: + amd64: + arm64: + +apps: + ghostty: + command: bin/ghostty + command-chain: [ bin/launcher ] + desktop: share/applications/com.mitchellh.ghostty.desktop + environment: + PATH: /snap/ghostty/current/bin:/snap/ghostty/current/usr/bin:$PATH + LC_ALL: C.UTF-8 + +parts: + launcher: + plugin: dump + source: snap/local/ + organize: + launcher: bin/ + + zig: + plugin: nil + build-packages: + - curl + override-pull: | + set -ex + case "$CRAFT_TARGET_ARCH" in + amd64) arch=x86_64 ;; + arm64) arch=aarch64 ;; + *) arch="" ;; + esac + + rm -rf $CRAFT_PART_SRC/* + + if [[ -n $arch ]]; then + curl -LO --retry-connrefused --retry 10 https://ziglang.org/download/0.13.0/zig-linux-$arch-0.13.0.tar.xz + fi + + tar xf zig-lin*xz + rm -f *xz + mv zig-linux*/* . + prime: + - -* + + ghostty: + source: . + after: [ zig ] + plugin: nil + build-packages: + - libgtk-4-dev + - libadwaita-1-dev + - git + stage-packages: + - libadwaita-1-0 + - libgtk-4-1 + - bash + - zsh + - fish + override-build: | + $CRAFT_PART_SRC/../../zig/src/zig build -Doptimize=ReleaseFast + cp -rp zig-out/* $CRAFT_PART_INSTALL/ + sed -i 's|Icon=com.mitchellh.ghostty|Icon=/snap/ghostty/current/share/icons/hicolor/512x512/apps/com.mitchellh.ghostty.png|g' $CRAFT_PART_INSTALL/share/applications/com.mitchellh.ghostty.desktop From 818c81282bb88cd860d17b042279ac90ab91ce9a Mon Sep 17 00:00:00 2001 From: Ken VanDine Date: Sun, 29 Dec 2024 15:57:33 -0500 Subject: [PATCH 315/365] Added snap build workflow --- .github/workflows/snap.yaml | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 .github/workflows/snap.yaml diff --git a/.github/workflows/snap.yaml b/.github/workflows/snap.yaml new file mode 100644 index 000000000..5aa4c382d --- /dev/null +++ b/.github/workflows/snap.yaml @@ -0,0 +1,14 @@ +name: Snap + +on: + push: {} + pull_request: {} + workflow_dispatch: {} + +jobs: + build: + runs-on: ubuntu-24.04 + steps: + - uses: actions/checkout@v4 + - uses: snapcore/action-build@v1 + id: snapcraft From 2b2b3c5b3bc90dcd4e1008fe15499be159b3645f Mon Sep 17 00:00:00 2001 From: Ken VanDine Date: Sun, 29 Dec 2024 16:05:52 -0500 Subject: [PATCH 316/365] Set source-type for launcher dir --- snap/local/launcher | 6 ++++++ snap/snapcraft.yaml | 3 ++- 2 files changed, 8 insertions(+), 1 deletion(-) create mode 100755 snap/local/launcher diff --git a/snap/local/launcher b/snap/local/launcher new file mode 100755 index 000000000..29c0f5c8f --- /dev/null +++ b/snap/local/launcher @@ -0,0 +1,6 @@ +#!/usr/bin/env bash + +export XDG_CONFIG_HOME="$SNAP_REAL_HOME/.config" +export XDG_DATA_HOME="$SNAP_REAL_HOME/.local/share" + +exec "$@" diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml index 59c7edc99..15601c240 100644 --- a/snap/snapcraft.yaml +++ b/snap/snapcraft.yaml @@ -29,7 +29,8 @@ apps: parts: launcher: plugin: dump - source: snap/local/ + source: snap/local + source-type: local organize: launcher: bin/ From b7bd8444c7636438404057ee7ec95d920315ae83 Mon Sep 17 00:00:00 2001 From: Ken VanDine Date: Sun, 29 Dec 2024 16:15:34 -0500 Subject: [PATCH 317/365] Exit with error if building for unsupported arch --- snap/snapcraft.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml index 15601c240..846863fc5 100644 --- a/snap/snapcraft.yaml +++ b/snap/snapcraft.yaml @@ -50,6 +50,9 @@ parts: if [[ -n $arch ]]; then curl -LO --retry-connrefused --retry 10 https://ziglang.org/download/0.13.0/zig-linux-$arch-0.13.0.tar.xz + else + echo "Unsupported arch" + exit 1 fi tar xf zig-lin*xz From fcde494440a29c9f2882f2701d5445f89761b1d2 Mon Sep 17 00:00:00 2001 From: Ken VanDine Date: Sun, 29 Dec 2024 16:45:23 -0500 Subject: [PATCH 318/365] Install bash-completion --- snap/snapcraft.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml index 846863fc5..e997dca47 100644 --- a/snap/snapcraft.yaml +++ b/snap/snapcraft.yaml @@ -21,6 +21,7 @@ apps: ghostty: command: bin/ghostty command-chain: [ bin/launcher ] + completer: share/bash-completion/completions/ghostty.bash desktop: share/applications/com.mitchellh.ghostty.desktop environment: PATH: /snap/ghostty/current/bin:/snap/ghostty/current/usr/bin:$PATH From 71297870cfd72cb5011e2be3bda61803373117cd Mon Sep 17 00:00:00 2001 From: Ken VanDine Date: Sun, 29 Dec 2024 17:11:37 -0500 Subject: [PATCH 319/365] Set GHOSTTY_RESOURCES_DIR --- snap/snapcraft.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml index e997dca47..95fb671ac 100644 --- a/snap/snapcraft.yaml +++ b/snap/snapcraft.yaml @@ -26,6 +26,7 @@ apps: environment: PATH: /snap/ghostty/current/bin:/snap/ghostty/current/usr/bin:$PATH LC_ALL: C.UTF-8 + GHOSTTY_RESOURCES_DIR: /snap/ghostty/current/share/ghostty parts: launcher: From d0108416d04ffc1f035db52940355c8e8ab9945e Mon Sep 17 00:00:00 2001 From: Ken VanDine Date: Sun, 29 Dec 2024 17:22:26 -0500 Subject: [PATCH 320/365] enable-patchelf is more repliable for classic snaps --- snap/snapcraft.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml index 95fb671ac..a1311e3dc 100644 --- a/snap/snapcraft.yaml +++ b/snap/snapcraft.yaml @@ -67,6 +67,7 @@ parts: source: . after: [ zig ] plugin: nil + build-attributes: [ enable-patchelf ] build-packages: - libgtk-4-dev - libadwaita-1-dev From 5d0dde57f94bc37bed18ccd50c3a5c39ffa2f981 Mon Sep 17 00:00:00 2001 From: Ken VanDine Date: Mon, 30 Dec 2024 14:03:19 -0500 Subject: [PATCH 321/365] Don't stage shells --- snap/snapcraft.yaml | 3 --- 1 file changed, 3 deletions(-) diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml index a1311e3dc..a3edeb327 100644 --- a/snap/snapcraft.yaml +++ b/snap/snapcraft.yaml @@ -75,9 +75,6 @@ parts: stage-packages: - libadwaita-1-0 - libgtk-4-1 - - bash - - zsh - - fish override-build: | $CRAFT_PART_SRC/../../zig/src/zig build -Doptimize=ReleaseFast cp -rp zig-out/* $CRAFT_PART_INSTALL/ From e6c9dc7040873abe629d8fb98bd0510852ab31bb Mon Sep 17 00:00:00 2001 From: Ken VanDine Date: Mon, 30 Dec 2024 14:06:57 -0500 Subject: [PATCH 322/365] Only run snap workflow on push and PR --- .github/workflows/snap.yaml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/.github/workflows/snap.yaml b/.github/workflows/snap.yaml index 5aa4c382d..66e3a5254 100644 --- a/.github/workflows/snap.yaml +++ b/.github/workflows/snap.yaml @@ -1,8 +1,10 @@ name: Snap on: - push: {} - pull_request: {} + push: + branches: [main] + pull_request: + branches: [main] workflow_dispatch: {} jobs: @@ -11,4 +13,3 @@ jobs: steps: - uses: actions/checkout@v4 - uses: snapcore/action-build@v1 - id: snapcraft From d06d6796c5e93afdb191d744305bb61ac1c0f45a Mon Sep 17 00:00:00 2001 From: Ken VanDine Date: Mon, 30 Dec 2024 14:19:42 -0500 Subject: [PATCH 323/365] Changed shebang in launcher script --- snap/local/launcher | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/snap/local/launcher b/snap/local/launcher index 29c0f5c8f..36e87fd0c 100755 --- a/snap/local/launcher +++ b/snap/local/launcher @@ -1,4 +1,4 @@ -#!/usr/bin/env bash +#!/bin/sh export XDG_CONFIG_HOME="$SNAP_REAL_HOME/.config" export XDG_DATA_HOME="$SNAP_REAL_HOME/.local/share" From c35ca1e87f09986b549a470b6d4d220441178c0c Mon Sep 17 00:00:00 2001 From: Ken VanDine Date: Mon, 30 Dec 2024 15:28:25 -0500 Subject: [PATCH 324/365] Set a more meaningful version for the snap --- snap/snapcraft.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml index a3edeb327..e3b61537a 100644 --- a/snap/snapcraft.yaml +++ b/snap/snapcraft.yaml @@ -1,6 +1,5 @@ name: ghostty base: core24 -version: git summary: A terminal emulator description: | Ghostty is a fast, feature-rich, and cross-platform terminal emulator that @@ -12,6 +11,7 @@ issues: https://github.com/ghostty-org/ghostty/issues website: https://ghostty.org license: MIT icon: images/icons/icon_512.png +adopt-info: ghostty platforms: amd64: @@ -76,6 +76,7 @@ parts: - libadwaita-1-0 - libgtk-4-1 override-build: | + craftctl set version=$(grep version build.zig.zon |awk -F '"' '{print $2}')-$(git describe --abbrev=8) $CRAFT_PART_SRC/../../zig/src/zig build -Doptimize=ReleaseFast cp -rp zig-out/* $CRAFT_PART_INSTALL/ sed -i 's|Icon=com.mitchellh.ghostty|Icon=/snap/ghostty/current/share/icons/hicolor/512x512/apps/com.mitchellh.ghostty.png|g' $CRAFT_PART_INSTALL/share/applications/com.mitchellh.ghostty.desktop From c7635201ab49035a53f55a364b292d558aab6360 Mon Sep 17 00:00:00 2001 From: Mitchell Hashimoto Date: Wed, 8 Jan 2025 10:22:17 -0800 Subject: [PATCH 325/365] Add snap to nix, add arm64 builders --- .github/workflows/snap.yaml | 26 ++++++++++++++++++++++---- nix/devShell.nix | 2 ++ snap/snapcraft.yaml | 8 ++++---- 3 files changed, 28 insertions(+), 8 deletions(-) diff --git a/.github/workflows/snap.yaml b/.github/workflows/snap.yaml index 66e3a5254..05f509f13 100644 --- a/.github/workflows/snap.yaml +++ b/.github/workflows/snap.yaml @@ -8,8 +8,26 @@ on: workflow_dispatch: {} jobs: - build: - runs-on: ubuntu-24.04 + build-amd64: + runs-on: namespace-profile-ghostty-snap steps: - - uses: actions/checkout@v4 - - uses: snapcore/action-build@v1 + - uses: actions/checkout@v4 + - name: Setup Cache + uses: namespacelabs/nscloud-cache-action@v1.2.0 + with: + path: | + /nix + /zig + - uses: snapcore/action-build@v1 + + build-arm64: + runs-on: namespace-profile-ghostty-snap-arm64 + steps: + - uses: actions/checkout@v4 + - name: Setup Cache + uses: namespacelabs/nscloud-cache-action@v1.2.0 + with: + path: | + /nix + /zig + - uses: snapcore/action-build@v1 diff --git a/nix/devShell.nix b/nix/devShell.nix index 7cfef64c2..6470423a0 100644 --- a/nix/devShell.nix +++ b/nix/devShell.nix @@ -14,6 +14,7 @@ python3, qemu, scdoc, + snapcraft, valgrind, #, vulkan-loader # unused vttest, @@ -105,6 +106,7 @@ in pandoc pkg-config scdoc + snapcraft zig zip zig2nix.packages.${system}.zon2nix diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml index e3b61537a..d190e345d 100644 --- a/snap/snapcraft.yaml +++ b/snap/snapcraft.yaml @@ -20,9 +20,9 @@ platforms: apps: ghostty: command: bin/ghostty - command-chain: [ bin/launcher ] + command-chain: [bin/launcher] completer: share/bash-completion/completions/ghostty.bash - desktop: share/applications/com.mitchellh.ghostty.desktop + desktop: share/applications/com.mitchellh.ghostty.desktop environment: PATH: /snap/ghostty/current/bin:/snap/ghostty/current/usr/bin:$PATH LC_ALL: C.UTF-8 @@ -65,9 +65,9 @@ parts: ghostty: source: . - after: [ zig ] + after: [zig] plugin: nil - build-attributes: [ enable-patchelf ] + build-attributes: [enable-patchelf] build-packages: - libgtk-4-dev - libadwaita-1-dev From ae953b5f10824e60b092cd5c1fbb58a0bcb99841 Mon Sep 17 00:00:00 2001 From: Ken VanDine Date: Thu, 9 Jan 2025 10:16:54 -0500 Subject: [PATCH 326/365] Ensure LD_LIBRARY_PATH is set appropriately --- snap/local/launcher | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/snap/local/launcher b/snap/local/launcher index 36e87fd0c..3a70a0de0 100755 --- a/snap/local/launcher +++ b/snap/local/launcher @@ -2,5 +2,16 @@ export XDG_CONFIG_HOME="$SNAP_REAL_HOME/.config" export XDG_DATA_HOME="$SNAP_REAL_HOME/.local/share" +export HOME="$SNAP_REAL_HOME" + +if [ "$SNAP_ARCH" = "amd64" ]; then + ARCH="x86_64-linux-gnu" +elif [ "$SNAP_ARCH" = "arm64" ]; then + ARCH="aarch64-linux-gnu" +else + ARCH="$SNAP_ARCH-linux-gnu" +fi + +export LD_LIBRARY_PATH=$SNAP/usr/lib/$ARCH${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH} exec "$@" From 8dffe3450c01a400c96e67f327f69d7a4ef1d894 Mon Sep 17 00:00:00 2001 From: Ken VanDine Date: Thu, 9 Jan 2025 10:23:25 -0500 Subject: [PATCH 327/365] CRAFT_TARGET_ARCH is deprecated, use CRAFT_ARCH_BUILD_FOR --- snap/snapcraft.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml index d190e345d..d013f5bd5 100644 --- a/snap/snapcraft.yaml +++ b/snap/snapcraft.yaml @@ -42,7 +42,7 @@ parts: - curl override-pull: | set -ex - case "$CRAFT_TARGET_ARCH" in + case "$CRAFT_ARCH_BUILD_FOR" in amd64) arch=x86_64 ;; arm64) arch=aarch64 ;; *) arch="" ;; From 43b2e43a119030a835428ef7e092c77f85bcfdcb Mon Sep 17 00:00:00 2001 From: Ken VanDine Date: Thu, 9 Jan 2025 14:26:29 -0500 Subject: [PATCH 328/365] EGL fixes, ensure necessary env variables are set to isolate dependencies from the host --- snap/local/launcher | 61 +++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 59 insertions(+), 2 deletions(-) diff --git a/snap/local/launcher b/snap/local/launcher index 3a70a0de0..c65935127 100755 --- a/snap/local/launcher +++ b/snap/local/launcher @@ -1,4 +1,5 @@ -#!/bin/sh +#!/bin/bash +set -euo pipefail export XDG_CONFIG_HOME="$SNAP_REAL_HOME/.config" export XDG_DATA_HOME="$SNAP_REAL_HOME/.local/share" @@ -12,6 +13,62 @@ else ARCH="$SNAP_ARCH-linux-gnu" fi -export LD_LIBRARY_PATH=$SNAP/usr/lib/$ARCH${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH} +# VDPAU_DRIVER_PATH only supports a single path, rely on LD_LIBRARY_PATH instead +LD_LIBRARY_PATH=${LD_LIBRARY_PATH:+$LD_LIBRARY_PATH:}${SNAP}/usr/lib/${ARCH}:${SNAP}/usr/lib/${ARCH}/vdpau +LIBGL_DRIVERS_PATH=${LIBGL_DRIVERS_PATH:+$LIBGL_DRIVERS_PATH:}${SNAP}/usr/lib/${ARCH}/dri/ +LIBVA_DRIVERS_PATH=${LIBVA_DRIVERS_PATH:+$LIBVA_DRIVERS_PATH:}${SNAP}/usr/lib/${ARCH}/dri/ + +__EGL_VENDOR_LIBRARY_DIRS=${__EGL_VENDOR_LIBRARY_DIRS:+$__EGL_VENDOR_LIBRARY_DIRS:}${SNAP}/usr/share/glvnd/egl_vendor.d +__EGL_EXTERNAL_PLATFORM_CONFIG_DIRS=${__EGL_EXTERNAL_PLATFORM_CONFIG_DIRS:+$__EGL_EXTERNAL_PLATFORM_CONFIG_DIRS:}${SNAP}/usr/share/egl/egl_external_platform.d +DRIRC_CONFIGDIR=${SNAP}/usr/share/drirc.d +VK_LAYER_PATH=${VK_LAYER_PATH:+$VK_LAYER_PATH:}${SNAP}/usr/share/vulkan/implicit_layer.d/:${SNAP}/usr/share/vulkan/explicit_layer.d/ +XDG_DATA_DIRS=${XDG_DATA_DIRS:+$XDG_DATA_DIRS:}${SNAP}/usr/share +XLOCALEDIR="${SNAP}/usr/share/X11/locale" + +# These are in the default LD_LIBRARY_PATH, but in case the snap dropped it inadvertently +if [ -d "/var/lib/snapd/lib/gl" ] && [[ ! ${LD_LIBRARY_PATH} =~ (^|:)/var/lib/snapd/lib/gl(:|$) ]]; then + LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/var/lib/snapd/lib/gl +fi + +if [ -d "/var/lib/snapd/lib/gl32" ] && [[ ! ${LD_LIBRARY_PATH} =~ (^|:)/var/lib/snapd/lib/gl32(:|$) ]]; then + LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/var/lib/snapd/lib/gl32 +fi + +if [ -d "/var/lib/snapd/lib/glvnd/egl_vendor.d" ]; then + # This needs to be prepended, as glvnd goes depth-first on these + # TODO maybe collect the JSONs into a separate location so their ordering matters, + # and not the dir order + __EGL_VENDOR_LIBRARY_DIRS=/var/lib/snapd/lib/glvnd/egl_vendor.d:${__EGL_VENDOR_LIBRARY_DIRS} +fi + +if [ -d "/var/lib/snapd/lib/vulkan/icd.d" ]; then + XDG_DATA_DIRS=${XDG_DATA_DIRS}:/var/lib/snapd/lib +fi + +if [ -d "/var/lib/snapd/lib/gl/vdpau" ]; then + LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/var/lib/snapd/lib/gl/vdpau +fi + +if [ -d "/var/lib/snapd/lib/gl32/vdpau" ]; then + LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/var/lib/snapd/lib/gl32/vdpau +fi + +if [ -d "/var/lib/snapd/lib/gl/gbm" ]; then + export GBM_BACKENDS_PATH=/var/lib/snapd/lib/gl/gbm +fi + +export LD_LIBRARY_PATH +export LIBGL_DRIVERS_PATH +if [ "${__NV_PRIME_RENDER_OFFLOAD:-}" != 1 ]; then + # Prevent picking VA-API (Intel/AMD) over NVIDIA VDPAU + # https://download.nvidia.com/XFree86/Linux-x86_64/510.54/README/primerenderoffload.html#configureapplications + export LIBVA_DRIVERS_PATH +fi +export __EGL_VENDOR_LIBRARY_DIRS +export __EGL_EXTERNAL_PLATFORM_CONFIG_DIRS +export DRIRC_CONFIGDIR +export VK_LAYER_PATH +export XDG_DATA_DIRS +export XLOCALEDIR exec "$@" From 48f94e6fcc3b0b278b80fd3bacbf8bdffed50dbc Mon Sep 17 00:00:00 2001 From: Ken VanDine Date: Thu, 9 Jan 2025 14:26:59 -0500 Subject: [PATCH 329/365] Stage more depends to ensure we aren't getting leaks from the host --- snap/snapcraft.yaml | 26 +++++++++++++++++++++++--- 1 file changed, 23 insertions(+), 3 deletions(-) diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml index d013f5bd5..a666c73dc 100644 --- a/snap/snapcraft.yaml +++ b/snap/snapcraft.yaml @@ -72,11 +72,31 @@ parts: - libgtk-4-dev - libadwaita-1-dev - git - stage-packages: - - libadwaita-1-0 - - libgtk-4-1 override-build: | craftctl set version=$(grep version build.zig.zon |awk -F '"' '{print $2}')-$(git describe --abbrev=8) $CRAFT_PART_SRC/../../zig/src/zig build -Doptimize=ReleaseFast cp -rp zig-out/* $CRAFT_PART_INSTALL/ sed -i 's|Icon=com.mitchellh.ghostty|Icon=/snap/ghostty/current/share/icons/hicolor/512x512/apps/com.mitchellh.ghostty.png|g' $CRAFT_PART_INSTALL/share/applications/com.mitchellh.ghostty.desktop + + libs: + plugin: nil + stage-packages: + - libadwaita-1-0 + - libgtk-4-1 + - libgtk-4-media-gstreamer + - ibus-gtk4 + - libegl1 + - libegl-mesa0 + - libgl1-mesa-dri + - libglapi-mesa + - libglu1-mesa + - libglx-mesa0 + - mesa-va-drivers + - mesa-vulkan-drivers + - libpciaccess0 + - libtinfo6 + - libedit2 + - libelf1t64 + - libsensors5 + - libllvm17 + - on amd64: [i965-va-driver,libdrm-intel1,libdrm-nouveau2,libdrm-amdgpu1,libdrm-radeon1] From c9cafd3051b376ad314cb9ccaa08cc24918f648c Mon Sep 17 00:00:00 2001 From: Ken VanDine Date: Thu, 9 Jan 2025 15:03:53 -0500 Subject: [PATCH 330/365] Enable patch-elf for libs part --- snap/snapcraft.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml index a666c73dc..1640c01d4 100644 --- a/snap/snapcraft.yaml +++ b/snap/snapcraft.yaml @@ -80,6 +80,7 @@ parts: libs: plugin: nil + build-attributes: [enable-patchelf] stage-packages: - libadwaita-1-0 - libgtk-4-1 From bdafc2227cfe793cc28b5f73fcf0fc6d97579a58 Mon Sep 17 00:00:00 2001 From: Ken VanDine Date: Thu, 9 Jan 2025 15:29:52 -0500 Subject: [PATCH 331/365] Drop patchelf --- snap/snapcraft.yaml | 2 -- 1 file changed, 2 deletions(-) diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml index 1640c01d4..eaccb78bf 100644 --- a/snap/snapcraft.yaml +++ b/snap/snapcraft.yaml @@ -67,7 +67,6 @@ parts: source: . after: [zig] plugin: nil - build-attributes: [enable-patchelf] build-packages: - libgtk-4-dev - libadwaita-1-dev @@ -80,7 +79,6 @@ parts: libs: plugin: nil - build-attributes: [enable-patchelf] stage-packages: - libadwaita-1-0 - libgtk-4-1 From 403eab2cf0fa69798ea7b9868ec5bb20234e4441 Mon Sep 17 00:00:00 2001 From: Ken VanDine Date: Thu, 9 Jan 2025 15:43:45 -0500 Subject: [PATCH 332/365] Stage gnome-text-editor to open configuration, this makes it more reliable across more distros as a classic snap. --- snap/snapcraft.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml index eaccb78bf..bb1d46557 100644 --- a/snap/snapcraft.yaml +++ b/snap/snapcraft.yaml @@ -98,4 +98,5 @@ parts: - libelf1t64 - libsensors5 - libllvm17 + - gnome-text-editor # Needed for config editor - on amd64: [i965-va-driver,libdrm-intel1,libdrm-nouveau2,libdrm-amdgpu1,libdrm-radeon1] From e174fb2748ef86f7c7f36e020b5954b24866f5ce Mon Sep 17 00:00:00 2001 From: Ken VanDine Date: Fri, 10 Jan 2025 08:57:01 -0500 Subject: [PATCH 333/365] no-patchelf for DRI and tidy up the mesa bits --- snap/snapcraft.yaml | 36 ++++++++++++++++++++++++++++-------- 1 file changed, 28 insertions(+), 8 deletions(-) diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml index bb1d46557..597ff3713 100644 --- a/snap/snapcraft.yaml +++ b/snap/snapcraft.yaml @@ -79,24 +79,44 @@ parts: libs: plugin: nil + build-attributes: [enable-patchelf] stage-packages: - libadwaita-1-0 - libgtk-4-1 - libgtk-4-media-gstreamer - ibus-gtk4 - - libegl1 - - libegl-mesa0 - - libgl1-mesa-dri - - libglapi-mesa - - libglu1-mesa - - libglx-mesa0 - - mesa-va-drivers - - mesa-vulkan-drivers - libpciaccess0 - libtinfo6 - libedit2 - libelf1t64 - libsensors5 - libllvm17 + - libunistring5 - gnome-text-editor # Needed for config editor - on amd64: [i965-va-driver,libdrm-intel1,libdrm-nouveau2,libdrm-amdgpu1,libdrm-radeon1] + stage: + # The libraries in dri need no-patchelf, so they come from the mesa-unpatched part + - -usr/lib/*/dri + + mesa: + plugin: nil + build-attributes: [enable-patchelf] + stage-packages: + - libglu1-mesa + - libgl1-mesa-dri + - libegl-mesa0 + - libegl1 + - libglx-mesa0 + stage: + # The libraries in dri need no-patchelf, so they come from the mesa-unpatched part + - -usr/lib/*/dri + + mesa-gl1-dri: + plugin: nil + stage-packages: + - libgl1-mesa-dri + build-attributes: [no-patchelf] + stage: + # Only the libraries in dri need to not be patched, the rest come from the mesa part + # Otherwise snapcraft may strip the build ID and cause the driver to crash + - usr/lib/*/dri From a85de40710b277c7dbe56e5e9eb7b8e57d284366 Mon Sep 17 00:00:00 2001 From: Ken VanDine Date: Sun, 29 Dec 2024 16:15:34 -0500 Subject: [PATCH 334/365] Exit with error if building for unsupported arch From 99c7abb43a565f04fcca3641cecfcd18848af0b1 Mon Sep 17 00:00:00 2001 From: Ken VanDine Date: Sun, 29 Dec 2024 17:11:37 -0500 Subject: [PATCH 335/365] Set GHOSTTY_RESOURCES_DIR From 301fdff58f9b982307bcf823e28a51b9be2a3788 Mon Sep 17 00:00:00 2001 From: Ken VanDine Date: Sun, 29 Dec 2024 17:22:26 -0500 Subject: [PATCH 336/365] enable-patchelf is more repliable for classic snaps --- snap/snapcraft.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml index 597ff3713..33d1f7864 100644 --- a/snap/snapcraft.yaml +++ b/snap/snapcraft.yaml @@ -67,6 +67,7 @@ parts: source: . after: [zig] plugin: nil + build-attributes: [ enable-patchelf ] build-packages: - libgtk-4-dev - libadwaita-1-dev From 5de0e775cb8690571d952f1254c86066c4bb1202 Mon Sep 17 00:00:00 2001 From: Ken VanDine Date: Mon, 30 Dec 2024 14:03:19 -0500 Subject: [PATCH 337/365] Don't stage shells --- snap/snapcraft.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml index 33d1f7864..00209f4c0 100644 --- a/snap/snapcraft.yaml +++ b/snap/snapcraft.yaml @@ -72,6 +72,9 @@ parts: - libgtk-4-dev - libadwaita-1-dev - git + stage-packages: + - libadwaita-1-0 + - libgtk-4-1 override-build: | craftctl set version=$(grep version build.zig.zon |awk -F '"' '{print $2}')-$(git describe --abbrev=8) $CRAFT_PART_SRC/../../zig/src/zig build -Doptimize=ReleaseFast From e7d4daa7c10689ae826f2e9f46e43b477af4db1f Mon Sep 17 00:00:00 2001 From: Ken VanDine Date: Sun, 12 Jan 2025 16:23:21 -0500 Subject: [PATCH 338/365] Removed duplicated stage-packages --- snap/snapcraft.yaml | 3 --- 1 file changed, 3 deletions(-) diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml index 00209f4c0..33d1f7864 100644 --- a/snap/snapcraft.yaml +++ b/snap/snapcraft.yaml @@ -72,9 +72,6 @@ parts: - libgtk-4-dev - libadwaita-1-dev - git - stage-packages: - - libadwaita-1-0 - - libgtk-4-1 override-build: | craftctl set version=$(grep version build.zig.zon |awk -F '"' '{print $2}')-$(git describe --abbrev=8) $CRAFT_PART_SRC/../../zig/src/zig build -Doptimize=ReleaseFast From 9944fd5958b23c19b1aeed09c39f948ffe773ce2 Mon Sep 17 00:00:00 2001 From: Mitchell Hashimoto Date: Mon, 20 Jan 2025 11:03:40 -0800 Subject: [PATCH 339/365] ci: temporary apt installs required for namespace --- .github/workflows/snap.yaml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/snap.yaml b/.github/workflows/snap.yaml index 05f509f13..c5b7f5208 100644 --- a/.github/workflows/snap.yaml +++ b/.github/workflows/snap.yaml @@ -18,6 +18,8 @@ jobs: path: | /nix /zig + - run: sudo apt install -y udev + - run: sudo systemctl start systemd-udevd - uses: snapcore/action-build@v1 build-arm64: @@ -30,4 +32,6 @@ jobs: path: | /nix /zig + - run: sudo apt install -y udev + - run: sudo systemctl start systemd-udevd - uses: snapcore/action-build@v1 From 0acf82bb9c07a0289d164df872a3b9c3498d2e45 Mon Sep 17 00:00:00 2001 From: Ken VanDine Date: Tue, 21 Jan 2025 08:48:48 +0200 Subject: [PATCH 340/365] Use patch-rpath which improves our cross distro support --- snap/snapcraft.yaml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml index 33d1f7864..c616e67c5 100644 --- a/snap/snapcraft.yaml +++ b/snap/snapcraft.yaml @@ -67,14 +67,15 @@ parts: source: . after: [zig] plugin: nil - build-attributes: [ enable-patchelf ] + build-attributes: [enable-patchelf] build-packages: - libgtk-4-dev - libadwaita-1-dev - git + - patchelf override-build: | craftctl set version=$(grep version build.zig.zon |awk -F '"' '{print $2}')-$(git describe --abbrev=8) - $CRAFT_PART_SRC/../../zig/src/zig build -Doptimize=ReleaseFast + $CRAFT_PART_SRC/../../zig/src/zig build -Dpatch-rpath=/snap/ghostty/current/usr/lib/$CRAFT_ARCH_TRIPLET_BUILD_FOR -Doptimize=ReleaseFast cp -rp zig-out/* $CRAFT_PART_INSTALL/ sed -i 's|Icon=com.mitchellh.ghostty|Icon=/snap/ghostty/current/share/icons/hicolor/512x512/apps/com.mitchellh.ghostty.png|g' $CRAFT_PART_INSTALL/share/applications/com.mitchellh.ghostty.desktop From 725488e1a2b2a3851ea12d02ac25472cb971af76 Mon Sep 17 00:00:00 2001 From: Ken VanDine Date: Tue, 21 Jan 2025 08:49:37 +0200 Subject: [PATCH 341/365] Improved environment handling to ensure the snap will work across distros and unset all SNAP environment variables that could leak at runtime --- snap/local/launcher | 69 +++++++++++---------------------------------- 1 file changed, 17 insertions(+), 52 deletions(-) diff --git a/snap/local/launcher b/snap/local/launcher index c65935127..7a77d8afc 100755 --- a/snap/local/launcher +++ b/snap/local/launcher @@ -1,5 +1,5 @@ -#!/bin/bash -set -euo pipefail +#!/bin/sh +set -e export XDG_CONFIG_HOME="$SNAP_REAL_HOME/.config" export XDG_DATA_HOME="$SNAP_REAL_HOME/.local/share" @@ -13,62 +13,27 @@ else ARCH="$SNAP_ARCH-linux-gnu" fi -# VDPAU_DRIVER_PATH only supports a single path, rely on LD_LIBRARY_PATH instead -LD_LIBRARY_PATH=${LD_LIBRARY_PATH:+$LD_LIBRARY_PATH:}${SNAP}/usr/lib/${ARCH}:${SNAP}/usr/lib/${ARCH}/vdpau -LIBGL_DRIVERS_PATH=${LIBGL_DRIVERS_PATH:+$LIBGL_DRIVERS_PATH:}${SNAP}/usr/lib/${ARCH}/dri/ -LIBVA_DRIVERS_PATH=${LIBVA_DRIVERS_PATH:+$LIBVA_DRIVERS_PATH:}${SNAP}/usr/lib/${ARCH}/dri/ +export LD_LIBRARY_PATH=${LD_LIBRARY_PATH:+$LD_LIBRARY_PATH:}${SNAP}/usr/lib/${ARCH}:${SNAP}/usr/lib/${ARCH}/vdpau +export LIBGL_DRIVERS_PATH=${LIBGL_DRIVERS_PATH:+$LIBGL_DRIVERS_PATH:}${SNAP}/usr/lib/${ARCH}/dri/ +export LIBVA_DRIVERS_PATH=${LIBVA_DRIVERS_PATH:+$LIBVA_DRIVERS_PATH:}${SNAP}/usr/lib/${ARCH}/dri/ +export __EGL_VENDOR_LIBRARY_DIRS=${__EGL_VENDOR_LIBRARY_DIRS:+$__EGL_VENDOR_LIBRARY_DIRS:}${SNAP}/usr/share/glvnd/egl_vendor.d +export __EGL_EXTERNAL_PLATFORM_CONFIG_DIRS=${__EGL_EXTERNAL_PLATFORM_CONFIG_DIRS:+$__EGL_EXTERNAL_PLATFORM_CONFIG_DIRS:}${SNAP}/usr/share/egl/egl_external_platform.d +export DRIRC_CONFIGDIR=${SNAP}/usr/share/drirc.d +export VK_LAYER_PATH=${VK_LAYER_PATH:+$VK_LAYER_PATH:}${SNAP}/usr/share/vulkan/implicit_layer.d/:${SNAP}/usr/share/vulkan/explicit_layer.d/ +export XDG_DATA_DIRS=${XDG_DATA_DIRS:+$XDG_DATA_DIRS:}${SNAP}/usr/share +export XLOCALEDIR="${SNAP}/usr/share/X11/locale" -__EGL_VENDOR_LIBRARY_DIRS=${__EGL_VENDOR_LIBRARY_DIRS:+$__EGL_VENDOR_LIBRARY_DIRS:}${SNAP}/usr/share/glvnd/egl_vendor.d -__EGL_EXTERNAL_PLATFORM_CONFIG_DIRS=${__EGL_EXTERNAL_PLATFORM_CONFIG_DIRS:+$__EGL_EXTERNAL_PLATFORM_CONFIG_DIRS:}${SNAP}/usr/share/egl/egl_external_platform.d -DRIRC_CONFIGDIR=${SNAP}/usr/share/drirc.d -VK_LAYER_PATH=${VK_LAYER_PATH:+$VK_LAYER_PATH:}${SNAP}/usr/share/vulkan/implicit_layer.d/:${SNAP}/usr/share/vulkan/explicit_layer.d/ -XDG_DATA_DIRS=${XDG_DATA_DIRS:+$XDG_DATA_DIRS:}${SNAP}/usr/share -XLOCALEDIR="${SNAP}/usr/share/X11/locale" - -# These are in the default LD_LIBRARY_PATH, but in case the snap dropped it inadvertently -if [ -d "/var/lib/snapd/lib/gl" ] && [[ ! ${LD_LIBRARY_PATH} =~ (^|:)/var/lib/snapd/lib/gl(:|$) ]]; then - LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/var/lib/snapd/lib/gl -fi - -if [ -d "/var/lib/snapd/lib/gl32" ] && [[ ! ${LD_LIBRARY_PATH} =~ (^|:)/var/lib/snapd/lib/gl32(:|$) ]]; then - LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/var/lib/snapd/lib/gl32 -fi - -if [ -d "/var/lib/snapd/lib/glvnd/egl_vendor.d" ]; then - # This needs to be prepended, as glvnd goes depth-first on these - # TODO maybe collect the JSONs into a separate location so their ordering matters, - # and not the dir order - __EGL_VENDOR_LIBRARY_DIRS=/var/lib/snapd/lib/glvnd/egl_vendor.d:${__EGL_VENDOR_LIBRARY_DIRS} -fi - -if [ -d "/var/lib/snapd/lib/vulkan/icd.d" ]; then - XDG_DATA_DIRS=${XDG_DATA_DIRS}:/var/lib/snapd/lib -fi - -if [ -d "/var/lib/snapd/lib/gl/vdpau" ]; then - LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/var/lib/snapd/lib/gl/vdpau -fi - -if [ -d "/var/lib/snapd/lib/gl32/vdpau" ]; then - LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/var/lib/snapd/lib/gl32/vdpau -fi - -if [ -d "/var/lib/snapd/lib/gl/gbm" ]; then - export GBM_BACKENDS_PATH=/var/lib/snapd/lib/gl/gbm -fi - -export LD_LIBRARY_PATH export LIBGL_DRIVERS_PATH if [ "${__NV_PRIME_RENDER_OFFLOAD:-}" != 1 ]; then # Prevent picking VA-API (Intel/AMD) over NVIDIA VDPAU # https://download.nvidia.com/XFree86/Linux-x86_64/510.54/README/primerenderoffload.html#configureapplications export LIBVA_DRIVERS_PATH fi -export __EGL_VENDOR_LIBRARY_DIRS -export __EGL_EXTERNAL_PLATFORM_CONFIG_DIRS -export DRIRC_CONFIGDIR -export VK_LAYER_PATH -export XDG_DATA_DIRS -export XLOCALEDIR + +# Unset all SNAP specific environment variables to keep them from leaking +# into other snaps that might get executed from within the shell +for var in $(printenv | grep SNAP | cut -d= -f1); do + unset $var +done exec "$@" From 5841a4f95857c83cf383cf353e253f1b1941dacc Mon Sep 17 00:00:00 2001 From: Ken VanDine Date: Wed, 22 Jan 2025 07:25:01 +0200 Subject: [PATCH 342/365] Stage libglib2.0-0t64 to insure we don't mix in the host's lib --- snap/snapcraft.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml index c616e67c5..2b4f4a825 100644 --- a/snap/snapcraft.yaml +++ b/snap/snapcraft.yaml @@ -84,6 +84,7 @@ parts: build-attributes: [enable-patchelf] stage-packages: - libadwaita-1-0 + - libglib2.0-0t64 - libgtk-4-1 - libgtk-4-media-gstreamer - ibus-gtk4 From 7e5c57a848d02be61d29e473d61f33d15d08e7da Mon Sep 17 00:00:00 2001 From: Ken VanDine Date: Wed, 22 Jan 2025 07:38:41 +0200 Subject: [PATCH 343/365] Only export XDG_CONFIG_HOME and XDG_DATA_HOME if they aren't already set --- snap/local/launcher | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/snap/local/launcher b/snap/local/launcher index 7a77d8afc..6b5b69fa6 100755 --- a/snap/local/launcher +++ b/snap/local/launcher @@ -1,8 +1,15 @@ #!/bin/sh set -e -export XDG_CONFIG_HOME="$SNAP_REAL_HOME/.config" -export XDG_DATA_HOME="$SNAP_REAL_HOME/.local/share" +# Set these to reasonable defaults if not already set +if [ -z "$XDG_CONFIG_HOME" ]; then + export XDG_CONFIG_HOME="$SNAP_REAL_HOME/.config" +fi + +if [ -z "$XDG_DATA_HOME" ]; then + export XDG_DATA_HOME="$SNAP_REAL_HOME/.local/share" +fi + export HOME="$SNAP_REAL_HOME" if [ "$SNAP_ARCH" = "amd64" ]; then From cb5379ab1d452df758bd508f4ecd0fe03d0fe426 Mon Sep 17 00:00:00 2001 From: Ken VanDine Date: Fri, 24 Jan 2025 13:57:14 +0200 Subject: [PATCH 344/365] Unset environment varies set by the snap --- src/termio/Exec.zig | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/termio/Exec.zig b/src/termio/Exec.zig index 5a2d2a507..07f1d6226 100644 --- a/src/termio/Exec.zig +++ b/src/termio/Exec.zig @@ -733,6 +733,19 @@ const Subprocess = struct { try env.put("GHOSTTY_RESOURCES_DIR", dir); } + // Unset environment varies set by the snap + if (env.get("SNAP") != null) { + env.remove("SNAP"); + env.remove("DRIRC_CONFIGDIR"); + env.remove("__EGL_EXTERNAL_PLATFORM_CONFIG_DIRS"); + env.remove("__EGL_VENDOR_LIBRARY_DIRS"); + env.remove("LD_LIBRARY_PATH"); + env.remove("LIBGL_DRIVERS_PATH"); + env.remove("LIBVA_DRIVERS_PATH"); + env.remove("VK_LAYER_PATH"); + env.remove("XLOCALEDIR"); + } + // Set our TERM var. This is a bit complicated because we want to use // the ghostty TERM value but we want to only do that if we have // ghostty in the TERMINFO database. From e4cf81c2ba8662d02937a5e087b12712d77ffe41 Mon Sep 17 00:00:00 2001 From: Ken VanDine Date: Fri, 24 Jan 2025 13:57:30 +0200 Subject: [PATCH 345/365] Clean up environment variable while launching the shell --- snap/local/launcher | 3 +-- snap/snapcraft.yaml | 1 - 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/snap/local/launcher b/snap/local/launcher index 6b5b69fa6..c0f204060 100755 --- a/snap/local/launcher +++ b/snap/local/launcher @@ -30,7 +30,6 @@ export VK_LAYER_PATH=${VK_LAYER_PATH:+$VK_LAYER_PATH:}${SNAP}/usr/share/vulkan/i export XDG_DATA_DIRS=${XDG_DATA_DIRS:+$XDG_DATA_DIRS:}${SNAP}/usr/share export XLOCALEDIR="${SNAP}/usr/share/X11/locale" -export LIBGL_DRIVERS_PATH if [ "${__NV_PRIME_RENDER_OFFLOAD:-}" != 1 ]; then # Prevent picking VA-API (Intel/AMD) over NVIDIA VDPAU # https://download.nvidia.com/XFree86/Linux-x86_64/510.54/README/primerenderoffload.html#configureapplications @@ -39,7 +38,7 @@ fi # Unset all SNAP specific environment variables to keep them from leaking # into other snaps that might get executed from within the shell -for var in $(printenv | grep SNAP | cut -d= -f1); do +for var in $(printenv | grep SNAP_ | cut -d= -f1); do unset $var done diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml index 2b4f4a825..a27f35e45 100644 --- a/snap/snapcraft.yaml +++ b/snap/snapcraft.yaml @@ -95,7 +95,6 @@ parts: - libsensors5 - libllvm17 - libunistring5 - - gnome-text-editor # Needed for config editor - on amd64: [i965-va-driver,libdrm-intel1,libdrm-nouveau2,libdrm-amdgpu1,libdrm-radeon1] stage: # The libraries in dri need no-patchelf, so they come from the mesa-unpatched part From ff5c1001c64aaa4bc8eb9c6023d85aa9b921d04d Mon Sep 17 00:00:00 2001 From: Ken VanDine Date: Sat, 25 Jan 2025 07:44:32 -0500 Subject: [PATCH 346/365] Per PR review feedback, this is the more "ziggy" way of doing the check for environment variable. --- src/termio/Exec.zig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/termio/Exec.zig b/src/termio/Exec.zig index 07f1d6226..39e5569ea 100644 --- a/src/termio/Exec.zig +++ b/src/termio/Exec.zig @@ -734,7 +734,7 @@ const Subprocess = struct { } // Unset environment varies set by the snap - if (env.get("SNAP") != null) { + if (env.get("SNAP")) |_| { env.remove("SNAP"); env.remove("DRIRC_CONFIGDIR"); env.remove("__EGL_EXTERNAL_PLATFORM_CONFIG_DIRS"); From bd6a133e95cf9fc5c30fd25d42f11049deac9a5c Mon Sep 17 00:00:00 2001 From: Ken VanDine Date: Fri, 7 Feb 2025 14:39:48 -0500 Subject: [PATCH 347/365] Updated stage packages --- snap/snapcraft.yaml | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml index a27f35e45..732700272 100644 --- a/snap/snapcraft.yaml +++ b/snap/snapcraft.yaml @@ -67,7 +67,7 @@ parts: source: . after: [zig] plugin: nil - build-attributes: [enable-patchelf] + build-attributes: [no-patchelf] build-packages: - libgtk-4-dev - libadwaita-1-dev @@ -95,6 +95,7 @@ parts: - libsensors5 - libllvm17 - libunistring5 + - librsvg2-2 - on amd64: [i965-va-driver,libdrm-intel1,libdrm-nouveau2,libdrm-amdgpu1,libdrm-radeon1] stage: # The libraries in dri need no-patchelf, so they come from the mesa-unpatched part @@ -109,8 +110,12 @@ parts: - libegl-mesa0 - libegl1 - libglx-mesa0 + - mesa-libgallium stage: # The libraries in dri need no-patchelf, so they come from the mesa-unpatched part + - usr/lib/*/*.so* + - usr/lib/*/dri/libdril_dri.so + - -usr/lib/*/libgallium*so - -usr/lib/*/dri mesa-gl1-dri: @@ -121,4 +126,6 @@ parts: stage: # Only the libraries in dri need to not be patched, the rest come from the mesa part # Otherwise snapcraft may strip the build ID and cause the driver to crash + - usr/lib/*/libgallium*so + - -usr/lib/*/dri/libdril_dri.so - usr/lib/*/dri From 238b0faf5cdef6928b799aff83c8ed0663d286de Mon Sep 17 00:00:00 2001 From: Ken VanDine Date: Thu, 13 Feb 2025 21:42:49 -0500 Subject: [PATCH 348/365] Simplified setting snap version --- snap/snapcraft.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml index 732700272..37020a2d6 100644 --- a/snap/snapcraft.yaml +++ b/snap/snapcraft.yaml @@ -74,7 +74,7 @@ parts: - git - patchelf override-build: | - craftctl set version=$(grep version build.zig.zon |awk -F '"' '{print $2}')-$(git describe --abbrev=8) + craftctl set version=$(git describe --abbrev=8) $CRAFT_PART_SRC/../../zig/src/zig build -Dpatch-rpath=/snap/ghostty/current/usr/lib/$CRAFT_ARCH_TRIPLET_BUILD_FOR -Doptimize=ReleaseFast cp -rp zig-out/* $CRAFT_PART_INSTALL/ sed -i 's|Icon=com.mitchellh.ghostty|Icon=/snap/ghostty/current/share/icons/hicolor/512x512/apps/com.mitchellh.ghostty.png|g' $CRAFT_PART_INSTALL/share/applications/com.mitchellh.ghostty.desktop From 94e2982d4b26f6cb8c335f65594cbe8cf0592fe6 Mon Sep 17 00:00:00 2001 From: Ken VanDine Date: Fri, 14 Feb 2025 17:16:36 -0500 Subject: [PATCH 349/365] Allow snap to refresh while running --- snap/snapcraft.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml index 37020a2d6..af2ee8f3c 100644 --- a/snap/snapcraft.yaml +++ b/snap/snapcraft.yaml @@ -23,6 +23,7 @@ apps: command-chain: [bin/launcher] completer: share/bash-completion/completions/ghostty.bash desktop: share/applications/com.mitchellh.ghostty.desktop + refresh-mode: ignore-running environment: PATH: /snap/ghostty/current/bin:/snap/ghostty/current/usr/bin:$PATH LC_ALL: C.UTF-8 From 2adee4290a2c57fe9cc7a9a60e6bc82ced908b39 Mon Sep 17 00:00:00 2001 From: Ken VanDine Date: Fri, 14 Feb 2025 18:07:39 -0500 Subject: [PATCH 350/365] Improved rpath handling for ghostty --- snap/snapcraft.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml index af2ee8f3c..b19472935 100644 --- a/snap/snapcraft.yaml +++ b/snap/snapcraft.yaml @@ -68,7 +68,7 @@ parts: source: . after: [zig] plugin: nil - build-attributes: [no-patchelf] + build-attributes: [enable-patchelf] build-packages: - libgtk-4-dev - libadwaita-1-dev @@ -76,7 +76,7 @@ parts: - patchelf override-build: | craftctl set version=$(git describe --abbrev=8) - $CRAFT_PART_SRC/../../zig/src/zig build -Dpatch-rpath=/snap/ghostty/current/usr/lib/$CRAFT_ARCH_TRIPLET_BUILD_FOR -Doptimize=ReleaseFast + $CRAFT_PART_SRC/../../zig/src/zig build -Dpatch-rpath=\$ORIGIN/../usr/lib/$CRAFT_ARCH_TRIPLET_BUILD_FOR:/snap/core24/current/lib/$CRAFT_ARCH_TRIPLET_BUILD_FOR -Doptimize=ReleaseFast cp -rp zig-out/* $CRAFT_PART_INSTALL/ sed -i 's|Icon=com.mitchellh.ghostty|Icon=/snap/ghostty/current/share/icons/hicolor/512x512/apps/com.mitchellh.ghostty.png|g' $CRAFT_PART_INSTALL/share/applications/com.mitchellh.ghostty.desktop From d3623393a68e2e7f240cccbd7fbac9d75a2bbb44 Mon Sep 17 00:00:00 2001 From: Ken VanDine Date: Fri, 14 Feb 2025 18:14:06 -0500 Subject: [PATCH 351/365] More environment handling to ensure reliability across distros --- snap/local/launcher | 9 ++++++++- src/termio/Exec.zig | 3 +++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/snap/local/launcher b/snap/local/launcher index c0f204060..11597f238 100755 --- a/snap/local/launcher +++ b/snap/local/launcher @@ -6,6 +6,10 @@ if [ -z "$XDG_CONFIG_HOME" ]; then export XDG_CONFIG_HOME="$SNAP_REAL_HOME/.config" fi +if [ -z "$XDG_CACHE_HOME" ]; then + export XDG_CACHE_HOME="$SNAP_REAL_HOME/.cache" +fi + if [ -z "$XDG_DATA_HOME" ]; then export XDG_DATA_HOME="$SNAP_REAL_HOME/.local/share" fi @@ -20,7 +24,7 @@ else ARCH="$SNAP_ARCH-linux-gnu" fi -export LD_LIBRARY_PATH=${LD_LIBRARY_PATH:+$LD_LIBRARY_PATH:}${SNAP}/usr/lib/${ARCH}:${SNAP}/usr/lib/${ARCH}/vdpau +export LD_LIBRARY_PATH=${SNAP}/usr/lib/${ARCH}:${SNAP}/usr/lib/${ARCH}/vdpau:${LD_LIBRARY_PATH:+$LD_LIBRARY_PATH:} export LIBGL_DRIVERS_PATH=${LIBGL_DRIVERS_PATH:+$LIBGL_DRIVERS_PATH:}${SNAP}/usr/lib/${ARCH}/dri/ export LIBVA_DRIVERS_PATH=${LIBVA_DRIVERS_PATH:+$LIBVA_DRIVERS_PATH:}${SNAP}/usr/lib/${ARCH}/dri/ export __EGL_VENDOR_LIBRARY_DIRS=${__EGL_VENDOR_LIBRARY_DIRS:+$__EGL_VENDOR_LIBRARY_DIRS:}${SNAP}/usr/share/glvnd/egl_vendor.d @@ -29,6 +33,9 @@ export DRIRC_CONFIGDIR=${SNAP}/usr/share/drirc.d export VK_LAYER_PATH=${VK_LAYER_PATH:+$VK_LAYER_PATH:}${SNAP}/usr/share/vulkan/implicit_layer.d/:${SNAP}/usr/share/vulkan/explicit_layer.d/ export XDG_DATA_DIRS=${XDG_DATA_DIRS:+$XDG_DATA_DIRS:}${SNAP}/usr/share export XLOCALEDIR="${SNAP}/usr/share/X11/locale" +export GDK_PIXBUF_MODULE_FILE="$XDG_CACHE_HOME/gdk-pixbuf-loaders.cache" +export GDK_PIXBUF_MODULEDIR="$SNAP/usr/lib/$ARCH/gdk-pixbuf-2.0/2.10.0/loaders" +export GTK_PATH="$SNAP/usr/lib/$ARCH/gtk-4.0" if [ "${__NV_PRIME_RENDER_OFFLOAD:-}" != 1 ]; then # Prevent picking VA-API (Intel/AMD) over NVIDIA VDPAU diff --git a/src/termio/Exec.zig b/src/termio/Exec.zig index 39e5569ea..026b48f7f 100644 --- a/src/termio/Exec.zig +++ b/src/termio/Exec.zig @@ -744,6 +744,9 @@ const Subprocess = struct { env.remove("LIBVA_DRIVERS_PATH"); env.remove("VK_LAYER_PATH"); env.remove("XLOCALEDIR"); + env.remove("GDK_PIXBUF_MODULEDIR"); + env.remove("GDK_PIXBUF_MODULE_FILE"); + env.remove("GTK_PATH"); } // Set our TERM var. This is a bit complicated because we want to use From b551e106a83f82bfff02595732609a1ee16dcbe6 Mon Sep 17 00:00:00 2001 From: Ken VanDine Date: Fri, 14 Feb 2025 18:27:19 -0500 Subject: [PATCH 352/365] Comment out refresh-mode, the store rejects this. Needs fixing in review-tools --- snap/snapcraft.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml index a41e5192b..9ef2f5cc4 100644 --- a/snap/snapcraft.yaml +++ b/snap/snapcraft.yaml @@ -23,7 +23,7 @@ apps: command-chain: [bin/launcher] completer: share/bash-completion/completions/ghostty.bash desktop: share/applications/com.mitchellh.ghostty.desktop - refresh-mode: ignore-running + #refresh-mode: ignore-running # Store rejects this, needs fix in review-tools environment: PATH: /snap/ghostty/current/bin:/snap/ghostty/current/usr/bin:$PATH LC_ALL: C.UTF-8 From 03d1240999ad63e4b4bd9676ffe465ea99db3a9d Mon Sep 17 00:00:00 2001 From: Mitchell Hashimoto Date: Sat, 15 Feb 2025 07:07:08 -0800 Subject: [PATCH 353/365] nix: use snapcraft only on Linux --- nix/devShell.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/nix/devShell.nix b/nix/devShell.nix index 374dfe669..66f259656 100644 --- a/nix/devShell.nix +++ b/nix/devShell.nix @@ -106,7 +106,6 @@ in pandoc pkg-config scdoc - snapcraft zig zip zig2nix.packages.${system}.zon2nix From 494273cf085973d67c3e25dd2006160529710193 Mon Sep 17 00:00:00 2001 From: Mitchell Hashimoto Date: Sat, 15 Feb 2025 07:10:25 -0800 Subject: [PATCH 354/365] ci: snap workflow requires git history --- .github/workflows/snap.yaml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.github/workflows/snap.yaml b/.github/workflows/snap.yaml index c5b7f5208..81f012d3e 100644 --- a/.github/workflows/snap.yaml +++ b/.github/workflows/snap.yaml @@ -12,6 +12,9 @@ jobs: runs-on: namespace-profile-ghostty-snap steps: - uses: actions/checkout@v4 + with: + fetch-depth: 0 + fetch-tags: true - name: Setup Cache uses: namespacelabs/nscloud-cache-action@v1.2.0 with: @@ -26,6 +29,9 @@ jobs: runs-on: namespace-profile-ghostty-snap-arm64 steps: - uses: actions/checkout@v4 + with: + fetch-depth: 0 + fetch-tags: true - name: Setup Cache uses: namespacelabs/nscloud-cache-action@v1.2.0 with: From 88a6b542b3f83c6475d4c5f5898b62a68cbd62f4 Mon Sep 17 00:00:00 2001 From: Mitchell Hashimoto Date: Sat, 15 Feb 2025 07:20:46 -0800 Subject: [PATCH 355/365] ci: move snap testing into our big test workflow --- .github/workflows/snap.yaml | 43 ------------------------------------- .github/workflows/test.yml | 26 ++++++++++++++++++++++ 2 files changed, 26 insertions(+), 43 deletions(-) delete mode 100644 .github/workflows/snap.yaml diff --git a/.github/workflows/snap.yaml b/.github/workflows/snap.yaml deleted file mode 100644 index 81f012d3e..000000000 --- a/.github/workflows/snap.yaml +++ /dev/null @@ -1,43 +0,0 @@ -name: Snap - -on: - push: - branches: [main] - pull_request: - branches: [main] - workflow_dispatch: {} - -jobs: - build-amd64: - runs-on: namespace-profile-ghostty-snap - steps: - - uses: actions/checkout@v4 - with: - fetch-depth: 0 - fetch-tags: true - - name: Setup Cache - uses: namespacelabs/nscloud-cache-action@v1.2.0 - with: - path: | - /nix - /zig - - run: sudo apt install -y udev - - run: sudo systemctl start systemd-udevd - - uses: snapcore/action-build@v1 - - build-arm64: - runs-on: namespace-profile-ghostty-snap-arm64 - steps: - - uses: actions/checkout@v4 - with: - fetch-depth: 0 - fetch-tags: true - - name: Setup Cache - uses: namespacelabs/nscloud-cache-action@v1.2.0 - with: - path: | - /nix - /zig - - run: sudo apt install -y udev - - run: sudo systemctl start systemd-udevd - - uses: snapcore/action-build@v1 diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 41a54fde3..ebecdf21e 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -276,6 +276,32 @@ jobs: nix develop -c zig build --system ${{ steps.deps.outputs.deps }} -Dapp-runtime=glfw -Drenderer=metal -Dfont-backend=coretext_harfbuzz nix develop -c zig build --system ${{ steps.deps.outputs.deps }} -Dapp-runtime=glfw -Drenderer=metal -Dfont-backend=coretext_noshape + build-snap: + strategy: + fail-fast: false + matrix: + os: + [namespace-profile-ghostty-snap, namespace-profile-ghostty-snap-arm64] + runs-on: ${{ matrix.os }} + needs: test + env: + ZIG_LOCAL_CACHE_DIR: /zig/local-cache + ZIG_GLOBAL_CACHE_DIR: /zig/global-cache + steps: + - uses: actions/checkout@v4 + with: + fetch-depth: 0 + fetch-tags: true + - name: Setup Cache + uses: namespacelabs/nscloud-cache-action@v1.2.0 + with: + path: | + /nix + /zig + - run: sudo apt install -y udev + - run: sudo systemctl start systemd-udevd + - uses: snapcore/action-build@v1 + build-windows: runs-on: windows-2022 # this will not stop other jobs from running From 818bc779b38c6d8b0ca7aef9ce509739700242ec Mon Sep 17 00:00:00 2001 From: Mitchell Hashimoto Date: Sat, 15 Feb 2025 07:22:10 -0800 Subject: [PATCH 356/365] apprt/gtk: unset snap env vars --- src/apprt/gtk/Surface.zig | 17 +++++++++++++++++ src/termio/Exec.zig | 16 ---------------- 2 files changed, 17 insertions(+), 16 deletions(-) diff --git a/src/apprt/gtk/Surface.zig b/src/apprt/gtk/Surface.zig index 6c39677d5..42c8278a2 100644 --- a/src/apprt/gtk/Surface.zig +++ b/src/apprt/gtk/Surface.zig @@ -2264,6 +2264,23 @@ pub fn defaultTermioEnv(self: *Surface) !std.process.EnvMap { env.remove("GDK_DISABLE"); env.remove("GSK_RENDERER"); + // Unset environment varies set by snaps if we're running in a snap. + // This allows Ghostty to further launch additional snaps. + if (env.get("SNAP")) |_| { + env.remove("SNAP"); + env.remove("DRIRC_CONFIGDIR"); + env.remove("__EGL_EXTERNAL_PLATFORM_CONFIG_DIRS"); + env.remove("__EGL_VENDOR_LIBRARY_DIRS"); + env.remove("LD_LIBRARY_PATH"); + env.remove("LIBGL_DRIVERS_PATH"); + env.remove("LIBVA_DRIVERS_PATH"); + env.remove("VK_LAYER_PATH"); + env.remove("XLOCALEDIR"); + env.remove("GDK_PIXBUF_MODULEDIR"); + env.remove("GDK_PIXBUF_MODULE_FILE"); + env.remove("GTK_PATH"); + } + if (self.container.window()) |window| { // On some window protocols we might want to add specific // environment variables to subprocesses, such as WINDOWID on X11. diff --git a/src/termio/Exec.zig b/src/termio/Exec.zig index 026b48f7f..5a2d2a507 100644 --- a/src/termio/Exec.zig +++ b/src/termio/Exec.zig @@ -733,22 +733,6 @@ const Subprocess = struct { try env.put("GHOSTTY_RESOURCES_DIR", dir); } - // Unset environment varies set by the snap - if (env.get("SNAP")) |_| { - env.remove("SNAP"); - env.remove("DRIRC_CONFIGDIR"); - env.remove("__EGL_EXTERNAL_PLATFORM_CONFIG_DIRS"); - env.remove("__EGL_VENDOR_LIBRARY_DIRS"); - env.remove("LD_LIBRARY_PATH"); - env.remove("LIBGL_DRIVERS_PATH"); - env.remove("LIBVA_DRIVERS_PATH"); - env.remove("VK_LAYER_PATH"); - env.remove("XLOCALEDIR"); - env.remove("GDK_PIXBUF_MODULEDIR"); - env.remove("GDK_PIXBUF_MODULE_FILE"); - env.remove("GTK_PATH"); - } - // Set our TERM var. This is a bit complicated because we want to use // the ghostty TERM value but we want to only do that if we have // ghostty in the TERMINFO database. From baa47ff24ed80cfd87773aa1091dc58fb2a7c392 Mon Sep 17 00:00:00 2001 From: Mitchell Hashimoto Date: Sat, 15 Feb 2025 07:24:18 -0800 Subject: [PATCH 357/365] ci: test requires build-snap --- .github/workflows/test.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index ebecdf21e..20ca3f419 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -14,6 +14,7 @@ jobs: - build-bench - build-linux-libghostty - build-nix + - build-snap - build-macos - build-macos-matrix - build-windows From ac9f8ba9b1217e3cd0f27ea9f844aaa0fdc89c11 Mon Sep 17 00:00:00 2001 From: Thom Dickson Date: Tue, 10 Dec 2024 21:38:49 -0500 Subject: [PATCH 358/365] wip: allow directional split movement --- src/apprt/gtk/Split.zig | 50 ++++++++++++++++++++++++++++++++++++----- 1 file changed, 45 insertions(+), 5 deletions(-) diff --git a/src/apprt/gtk/Split.zig b/src/apprt/gtk/Split.zig index 2d428acb2..8ddadfd13 100644 --- a/src/apprt/gtk/Split.zig +++ b/src/apprt/gtk/Split.zig @@ -313,11 +313,7 @@ pub fn directionMap(self: *const Split, from: Side) DirectionMap { if (self.directionPrevious(from)) |prev| { result.put(.previous, prev.surface); if (!prev.wrapped) { - // This behavior matches the behavior of macOS at the time of writing - // this. There is an open issue (#524) to make this depend on the - // actual physical location of the current split. result.put(.up, prev.surface); - result.put(.left, prev.surface); } } @@ -325,13 +321,57 @@ pub fn directionMap(self: *const Split, from: Side) DirectionMap { result.put(.next, next.surface); if (!next.wrapped) { result.put(.down, next.surface); - result.put(.right, next.surface); } } + if (self.directionLeft(from)) |left| { + result.put(.left, left); + } + + if (self.directionRight(from)) |right| { + result.put(.right, right); + } + return result; } +fn directionLeft(self: *const Split, from: Side) ?*Surface { + switch (from) { + .bottom_right => { + switch (self.orientation) { + .horizontal => return self.top_left.deepestSurface(.bottom_right), + .vertical => return directionLeft( + self.container.split() orelse return null, + .bottom_right, + ), + } + }, + .top_left => return directionLeft( + self.container.split() orelse return null, + .bottom_right, + ), + } +} + +fn directionRight(self: *const Split, from: Side) ?*Surface { + switch (from) { + .top_left => { + switch (self.orientation) { + .horizontal => return self.bottom_right.deepestSurface(.top_left), + .vertical => return directionRight( + self.container.split() orelse return null, + .top_left, + ), + } + }, + .bottom_right => return directionRight( + self.container.split() orelse return null, + .top_left, + ), + } +} + + fn directionPrevious(self: *const Split, from: Side) ?struct { surface: *Surface, wrapped: bool, From d7a82f212a34402fe1dcfdf234cacb4c0bb79b3e Mon Sep 17 00:00:00 2001 From: Albert Dong Date: Wed, 15 Jan 2025 12:12:42 -0800 Subject: [PATCH 359/365] Add setting to hide icon from dock/cmd-tab --- macos/Sources/App/macOS/AppDelegate.swift | 9 ++++++++ macos/Sources/Ghostty/Ghostty.Config.swift | 15 +++++++++++++ src/config/Config.zig | 26 ++++++++++++++++++++++ 3 files changed, 50 insertions(+) diff --git a/macos/Sources/App/macOS/AppDelegate.swift b/macos/Sources/App/macOS/AppDelegate.swift index d54170579..12f8f8c31 100644 --- a/macos/Sources/App/macOS/AppDelegate.swift +++ b/macos/Sources/App/macOS/AppDelegate.swift @@ -533,6 +533,15 @@ class AppDelegate: NSObject, // AppKit mutex on the appearance. DispatchQueue.main.async { self.syncAppearance(config: config) } + // Decide whether to hide/unhide app from dock and app switcher + switch (config.macosHidden) { + case .never: + NSApp.setActivationPolicy(.regular) + + case .always: + NSApp.setActivationPolicy(.accessory) + } + // If we have configuration errors, we need to show them. let c = ConfigurationErrorsController.sharedInstance c.errors = config.errors diff --git a/macos/Sources/Ghostty/Ghostty.Config.swift b/macos/Sources/Ghostty/Ghostty.Config.swift index 22d66a1a8..ec23632f7 100644 --- a/macos/Sources/Ghostty/Ghostty.Config.swift +++ b/macos/Sources/Ghostty/Ghostty.Config.swift @@ -302,6 +302,16 @@ extension Ghostty { return buffer.map { .init(ghostty: $0) } } + var macosHidden: MacHidden { + guard let config = self.config else { return .never } + var v: UnsafePointer? = nil + let key = "macos-hidden" + guard ghostty_config_get(config, &v, key, UInt(key.count)) else { return .never } + guard let ptr = v else { return .never } + let str = String(cString: ptr) + return MacHidden(rawValue: str) ?? .never + } + var focusFollowsMouse : Bool { guard let config = self.config else { return false } var v = false; @@ -516,6 +526,11 @@ extension Ghostty.Config { case download } + enum MacHidden : String { + case never + case always + } + enum ResizeOverlay : String { case always case never diff --git a/src/config/Config.zig b/src/config/Config.zig index 50abd5577..9e6f17ef4 100644 --- a/src/config/Config.zig +++ b/src/config/Config.zig @@ -1974,6 +1974,26 @@ keybind: Keybinds = .{}, /// find false more visually appealing. @"macos-window-shadow": bool = true, +/// If true, the macOS icon in the dock and app switcher will be hidden. This is +/// mainly intended for those primarily using the quick-terminal mode. +/// +/// Note that setting this to true means that keyboard layout changes +/// will no longer be automatic. +/// +/// Control whether macOS app is excluded from the dock and app switcher, +/// a "hidden" state. This is mainly intended for those primarily using +/// quick-terminal mode, but is a general configuration for any use +/// case. +/// +/// Available values: +/// +/// * `never` - The macOS app is never hidden. +/// * `always` - The macOS app is always hidden. +/// +/// Note: When the macOS application is hidden, keyboard layout changes +/// will no longer be automatic. This is a limitation of macOS. +@"macos-hidden": MacHidden = .never, + /// If true, Ghostty on macOS will automatically enable the "Secure Input" /// feature when it detects that a password prompt is being displayed. /// @@ -5738,6 +5758,12 @@ pub const MacTitlebarProxyIcon = enum { hidden, }; +/// See macos-hidden +pub const MacHidden = enum { + never, + always, +}; + /// See macos-icon /// /// Note: future versions of Ghostty can support a custom icon with From 0ce1342263ce94837015db6a96c0e819fc0cf016 Mon Sep 17 00:00:00 2001 From: "Jeffrey C. Ollie" Date: Sat, 15 Feb 2025 16:17:46 -0600 Subject: [PATCH 360/365] gtk: fix building on Debian 12 `std.debug.assert(x)` _is not_ the same as `if (!x) unreachable` because the function call is not `inline`. Since it's not inline the Zig compiler will try to compile any code that might otherwise be unreachable. Also, added a CI test that compiles Ghostty in a Debian 12 container to ensure that regressions do not happen. --- .github/workflows/test.yml | 26 ++++++++++++++++ src/apprt/gtk/Window.zig | 7 +++-- src/build/docker/debian/Dockerfile | 49 ++++++++++++++++++++++++++++++ 3 files changed, 79 insertions(+), 3 deletions(-) create mode 100644 src/build/docker/debian/Dockerfile diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 20ca3f419..c3a61a560 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -626,3 +626,29 @@ jobs: - name: Test ${{ matrix.pkg }} Build run: | nix develop -c sh -c "cd pkg/${{ matrix.pkg }} ; zig build test" + + test-debian-12: + strategy: + fail-fast: false + matrix: + platform: ["linux/amd64", "linux/arm64"] + name: Test build on Debian 12 ${{ matrix.platform }} + runs-on: namespace-profile-ghostty-sm + needs: test + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Install and configure Namespace CLI + uses: namespacelabs/nscloud-setup@v0 + + - name: Configure Namespace powered Buildx + uses: namespacelabs/nscloud-setup-buildx-action@v0 + + - name: Build and push + uses: docker/build-push-action@v6 + with: + context: . + file: src/build/docker/debian/Dockerfile + build-args: DISTRO_VERSION=12 + platform: ${{ matrix.platform }} diff --git a/src/apprt/gtk/Window.zig b/src/apprt/gtk/Window.zig index bbf53b351..ab5e54d9f 100644 --- a/src/apprt/gtk/Window.zig +++ b/src/apprt/gtk/Window.zig @@ -152,7 +152,7 @@ pub fn init(self: *Window, app: *App) !void { // If we're using an AdwWindow then we can support the tab overview. if (self.tab_overview) |tab_overview| { - assert(adwaita.versionAtLeast(1, 4, 0)); + if (!adwaita.versionAtLeast(1, 4, 0)) unreachable; const btn = switch (app.config.@"gtk-tabs-location") { .top, .bottom => btn: { const btn = c.gtk_toggle_button_new(); @@ -228,6 +228,7 @@ pub fn init(self: *Window, app: *App) !void { // If we have a tab overview then we can set it on our notebook. if (self.tab_overview) |tab_overview| { + if (!adwaita.versionAtLeast(1, 4, 0)) unreachable; c.adw_tab_overview_set_view(@ptrCast(tab_overview), self.notebook.tab_view); } @@ -364,7 +365,7 @@ pub fn syncAppearance(self: *Window, config: *const configpkg.Config) !void { // *inside* the tab overview if CSDs are disabled. // We do spare the search button, though. if (self.tab_overview) |tab_overview| { - assert(adwaita.versionAtLeast(1, 4, 0)); + if (!adwaita.versionAtLeast(1, 4, 0)) unreachable; c.adw_tab_overview_set_show_start_title_buttons( @ptrCast(tab_overview), @intFromBool(csd_enabled), @@ -509,7 +510,7 @@ pub fn gotoTab(self: *Window, n: usize) bool { /// Toggle tab overview (if present) pub fn toggleTabOverview(self: *Window) void { if (self.tab_overview) |tab_overview_widget| { - assert(adwaita.versionAtLeast(1, 4, 0)); + if (!adwaita.versionAtLeast(1, 4, 0)) unreachable; const tab_overview: *c.AdwTabOverview = @ptrCast(@alignCast(tab_overview_widget)); c.adw_tab_overview_set_open(tab_overview, 1 - c.adw_tab_overview_get_open(tab_overview)); } diff --git a/src/build/docker/debian/Dockerfile b/src/build/docker/debian/Dockerfile new file mode 100644 index 000000000..61e9e75c1 --- /dev/null +++ b/src/build/docker/debian/Dockerfile @@ -0,0 +1,49 @@ +ARG DISTRO_VERSION="12" +FROM docker.io/library/debian:${DISTRO_VERSION} + +# Install Dependencies +RUN DEBIAN_FRONTEND="noninteractive" apt-get -qq update && \ + apt-get -qq -y --no-install-recommends install \ + # Build Tools + build-essential \ + libbz2-dev \ + libonig-dev \ + lintian \ + lsb-release \ + pandoc \ + wget \ + # Ghostty Dependencies + libadwaita-1-dev \ + libgtk-4-dev && \ + # Clean up for better caching + rm -rf /var/lib/apt/lists/* + +# work around the fact that Debian 12 doesn't ship a pkg-config file for bzip2 +RUN . /etc/os-release; if [ $VERSION_ID -le 12 ]; then ln -s libbz2.so /usr/lib/$(gcc -dumpmachine)/libbzip2.so; fi + +# Install zig +# https://ziglang.org/download/ +ARG ZIG_VERSION="0.13.0" +RUN wget -q "https://ziglang.org/download/$ZIG_VERSION/zig-linux-$(uname -m)-$ZIG_VERSION.tar.xz" && \ + tar -xf "zig-linux-$(uname -m)-$ZIG_VERSION.tar.xz" -C /opt && \ + rm zig-linux-* && \ + ln -s "/opt/zig-linux-$(uname -m)-$ZIG_VERSION/zig" /usr/local/bin/zig + +WORKDIR /src + +COPY ./dist/linux /src/dist/linux +COPY ./images /src/images +COPY ./include /src/include +COPY ./pkg /src/pkg +COPY ./nix /src/nix +COPY ./vendor /src/vendor +COPY ./build.zig /src/build.zig +COPY ./build.zig.zon /src/build.zig.zon +COPY ./build.zig.zon.txt /src/build.zig.zon.txt + +RUN ZIG_GLOBAL_CACHE_DIR=/zig/global-cache ./nix/build-support/fetch-zig-cache.sh + +COPY ./src /src/src + +RUN zig build -Doptimize=Debug -Dcpu=baseline -Dapp-runtime=gtk --system /zig/global-cache/p + From c7b3cbd3979f2d64fbdcecea86f5aa0b35750380 Mon Sep 17 00:00:00 2001 From: "Jeffrey C. Ollie" Date: Sat, 15 Feb 2025 17:57:19 -0600 Subject: [PATCH 361/365] gtk: only test Debian 12 builds on amd64 --- .github/workflows/test.yml | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index c3a61a560..693870a7e 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -628,11 +628,7 @@ jobs: nix develop -c sh -c "cd pkg/${{ matrix.pkg }} ; zig build test" test-debian-12: - strategy: - fail-fast: false - matrix: - platform: ["linux/amd64", "linux/arm64"] - name: Test build on Debian 12 ${{ matrix.platform }} + name: Test build on Debian 12 runs-on: namespace-profile-ghostty-sm needs: test steps: @@ -651,4 +647,3 @@ jobs: context: . file: src/build/docker/debian/Dockerfile build-args: DISTRO_VERSION=12 - platform: ${{ matrix.platform }} From 191b19f9a5067f0746406615a6af787d371b721a Mon Sep 17 00:00:00 2001 From: "Jeffrey C. Ollie" Date: Sat, 15 Feb 2025 17:58:25 -0600 Subject: [PATCH 362/365] gtk: add debian build to list of required checks --- .github/workflows/test.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 693870a7e..f870dfe36 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -26,6 +26,7 @@ jobs: - alejandra - typos - test-pkg-linux + - test-debian-12 steps: - id: status name: Determine status From fb35d109817d693cc33d0895247848736211685e Mon Sep 17 00:00:00 2001 From: "Jeffrey C. Ollie" Date: Sat, 15 Feb 2025 18:01:07 -0600 Subject: [PATCH 363/365] gtk: add Zig version as arg to Debian 12 build --- .github/workflows/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index f870dfe36..ad29856c4 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -647,4 +647,4 @@ jobs: with: context: . file: src/build/docker/debian/Dockerfile - build-args: DISTRO_VERSION=12 + build-args: DISTRO_VERSION=12,ZIG_VERSION=0.13.0 From b0d68324a681825927da10934b9a217957d2d120 Mon Sep 17 00:00:00 2001 From: "Jeffrey C. Ollie" Date: Sat, 15 Feb 2025 18:11:42 -0600 Subject: [PATCH 364/365] gtk: fix multiple build args in docker build --- .github/workflows/test.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index ad29856c4..e64b2c4d8 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -647,4 +647,6 @@ jobs: with: context: . file: src/build/docker/debian/Dockerfile - build-args: DISTRO_VERSION=12,ZIG_VERSION=0.13.0 + build-args: | + DISTRO_VERSION=12 + ZIG_VERSION=0.13.0 From fe11efff632973f40435a131e17b90b2f80551a3 Mon Sep 17 00:00:00 2001 From: mitchellh <1299+mitchellh@users.noreply.github.com> Date: Sun, 16 Feb 2025 00:13:20 +0000 Subject: [PATCH 365/365] deps: Update iTerm2 color schemes --- build.zig.zon | 4 ++-- build.zig.zon.nix | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/build.zig.zon b/build.zig.zon index ad4a14376..cc617cf51 100644 --- a/build.zig.zon +++ b/build.zig.zon @@ -93,8 +93,8 @@ // Other .apple_sdk = .{ .path = "./pkg/apple-sdk" }, .iterm2_themes = .{ - .url = "https://github.com/mbadolato/iTerm2-Color-Schemes/archive/db227d159adc265818f2e898da0f70ef8d7b580e.tar.gz", - .hash = "12203d2647e5daf36a9c85b969e03f422540786ce9ea624eb4c26d204fe1f46218f3", + .url = "https://github.com/mbadolato/iTerm2-Color-Schemes/archive/efb1bb1843500a751eb30afa58fe48a6bec8952c.tar.gz", + .hash = "1220a1dbe41bc69aacf75026a7158812198ea265fb9cac64dcb91cd31f3b1b8c1f92", }, }, } diff --git a/build.zig.zon.nix b/build.zig.zon.nix index b010be44b..e1eecdd3e 100644 --- a/build.zig.zon.nix +++ b/build.zig.zon.nix @@ -252,11 +252,11 @@ in }; } { - name = "12203d2647e5daf36a9c85b969e03f422540786ce9ea624eb4c26d204fe1f46218f3"; + name = "1220a1dbe41bc69aacf75026a7158812198ea265fb9cac64dcb91cd31f3b1b8c1f92"; path = fetchZigArtifact { name = "iterm2_themes"; - url = "https://github.com/mbadolato/iTerm2-Color-Schemes/archive/db227d159adc265818f2e898da0f70ef8d7b580e.tar.gz"; - hash = "sha256-Iyf7U4rpvNkPX4AOEbYSYGte5+SjRwsWD2luOn1Hz8U="; + url = "https://github.com/mbadolato/iTerm2-Color-Schemes/archive/efb1bb1843500a751eb30afa58fe48a6bec8952c.tar.gz"; + hash = "sha256-ZdVc1mmLwF45PZiqL/j/l7MO2O6hZ11lqIToGFdHiEU="; }; } {

      mL8*D+tRu>Kj+_0(-!DZh^E~n-RxOz91#M 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⋙V;Fn^GPx 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 z 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

    3. JQeS@f=bkj3Z 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�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[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Ł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 literal 0 HcmV?d00001 diff --git a/macos/Assets.xcassets/Alternate Icons/RetroImage.imageset/Contents.json b/macos/Assets.xcassets/Alternate Icons/RetroImage.imageset/Contents.json new file mode 100644 index 000000000..1c1b9b47e --- /dev/null +++ b/macos/Assets.xcassets/Alternate Icons/RetroImage.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "macOS-AppIcon-1024px.png", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/macos/Assets.xcassets/Alternate Icons/RetroImage.imageset/macOS-AppIcon-1024px.png b/macos/Assets.xcassets/Alternate Icons/RetroImage.imageset/macOS-AppIcon-1024px.png new file mode 100644 index 0000000000000000000000000000000000000000..02619e860e404acf7ebbc4b2ab1b3d1b1119d15e GIT binary patch literal 1083552 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 X~iN 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 fH79E1WQ>6oVXd20i9RKd4__ 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

uFgw~6H7_klioz4!1 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 Dqu_$_GPxxJPC9XTB#)bgEx~ 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 literal 0 HcmV?d00001 diff --git a/macos/Assets.xcassets/Alternate Icons/ChalkboardImage.imageset/Contents.json b/macos/Assets.xcassets/Alternate Icons/ChalkboardImage.imageset/Contents.json new file mode 100644 index 000000000..1c1b9b47e --- /dev/null +++ b/macos/Assets.xcassets/Alternate Icons/ChalkboardImage.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "macOS-AppIcon-1024px.png", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/macos/Assets.xcassets/Alternate Icons/ChalkboardImage.imageset/macOS-AppIcon-1024px.png b/macos/Assets.xcassets/Alternate Icons/ChalkboardImage.imageset/macOS-AppIcon-1024px.png new file mode 100644 index 0000000000000000000000000000000000000000..eeedb720315691b7832a29d807c7de2991f953fa GIT binary patch literal 590208 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