5613 Commits

Author SHA1 Message Date
Paul
b41f45d7a3 apprt/gtk: support window-theme != ghostty
- support for gtk-tabs-location=bottom
 - support for gtk-titlebar=false
2024-09-24 08:10:06 +02:00
Qwerasd
ac68686036 freetype: fix underline position calculation 2024-09-23 22:30:59 -06:00
Mitchell Hashimoto
38db305d29 Merge pull request #2289 from jcollie/ghostty-adwaita-version
gtk/adw: conditional tab keybindings
2024-09-23 21:11:32 -07:00
Qwerasd
7a1d304fa9 font: further improve ul/st position calculations 2024-09-23 22:10:43 -06:00
Mitchell Hashimoto
0f3f01483e apprt/embedded: API for checking if there are global keybinds 2024-09-23 20:45:58 -07:00
Mitchell Hashimoto
c5eeb514cd input: fix tests 2024-09-23 20:39:43 -07:00
Mitchell Hashimoto
17caeb5fac core: "all" bindings work 2024-09-23 19:21:23 -07:00
Qwerasd
49a3008919 font/sprite: reduce uneven gaps in dotted underline 2024-09-23 20:08:57 -06:00
Mitchell Hashimoto
7f8c1a37ff core: handle app bindings in the App struct 2024-09-23 19:08:23 -07:00
Qwerasd
c7d6227bef freetype: improve strikethrough position guess by using ex height 2024-09-23 19:18:44 -06:00
Qwerasd
3ec36e4d23 coretext: improve strikethrough position calculation 2024-09-23 19:01:15 -06:00
Qwerasd
ecb3c543b3 renderer/OpenGL: use better logic for whether to render glyph
Metal already had this change made, so I copied it over from there. This
logic is more straightforward. Also copied the check to skip 0-sized
glyphs, since sometimes, for example, spaces are emitted as glyphs by
the shaper for some reason, even though they have no actual content, and
we want to avoid sending a bunch of useless stuff to the GPU.
2024-09-23 18:35:20 -06:00
Qwerasd
bf2794f90f renderer: draw underlines below text to improve legibility 2024-09-23 18:31:39 -06:00
Qwerasd
b3a7901b79 font/sprite: rework underline rendering, adjust positioning 2024-09-23 18:22:11 -06:00
Qwerasd
6917bcacad font/sprite: fix 1px gap at right edge of dotted and dashed underlines 2024-09-23 18:13:46 -06:00
Tristan Partin
81c50e588c apprt/gtk: override the top bar colors in libadwaita correctly
This is the way to override the color in libadwaita < 1.6. We can
transition to named colors, specifically headerbar-{fg,bg}-color for
libadwaita 1.6.

Fixes: #2266
Signed-off-by: Tristan Partin <tristan@partin.io>
2024-09-23 17:09:14 -05:00
Mitchell Hashimoto
070cc22172 input: global/all bindings can't be sequenced 2024-09-23 14:23:35 -07:00
Mitchell Hashimoto
66143a33ef input: move flags to a packed struct 2024-09-23 14:03:53 -07:00
Mitchell Hashimoto
0394c8e2df input: parse global keys, document them 2024-09-23 10:08:35 -07:00
Jeffrey C. Ollie
8186e95902 gtk/adw: perform version check at both comptime and runtime 2024-09-23 11:41:39 -05:00
Jeffrey C. Ollie
2805657213 gtk/adw: conditional tab keybindings
adw_tab_view_remove_shortcuts (and related APIs) was added in libadwaita
1.2.0.
2024-09-23 10:31:01 -05:00
Paul Berg
2033e59240 apprt/gtk: set tabs reorderable/detachable on GtkNotebook 2024-09-23 10:16:10 +02:00
Mitchell Hashimoto
9178d1cf38 crash/minidump: locationReader to read locations in a minidump 2024-09-22 14:06:59 -07:00
Mitchell Hashimoto
5b1d729748 crash/minidump: handle padding in the ThreadList stream 2024-09-22 14:06:59 -07:00
Mitchell Hashimoto
df629044fa crash/minidump: working on rich stream type decoding, ThreadList 2024-09-22 14:06:59 -07:00
Mitchell Hashimoto
c0719fceef crash/minidump: typos 2024-09-22 14:06:59 -07:00
Mitchell Hashimoto
ca1ab7bcdc crash/minidump: streamIterator 2024-09-22 14:06:59 -07:00
Mitchell Hashimoto
facbabfd2c crash/minidump: StreamReader 2024-09-22 14:06:58 -07:00
Mitchell Hashimoto
b8ec91242f crash/minidump: reader that streams data from a source 2024-09-22 14:06:58 -07:00
Mitchell Hashimoto
3cc18b62e7 crash/minidump: split out into multiple files 2024-09-22 14:06:58 -07:00
Mitchell Hashimoto
ae8859bc7b crash/minidump: read the streams from the minidump file 2024-09-22 14:06:58 -07:00
Mitchell Hashimoto
5a2bbe9a08 crash/minidump: header parsing 2024-09-22 14:06:58 -07:00
Mitchell Hashimoto
6607ffa7f4 Merge pull request #2280 from iceghost/vtebench-fix
fix(terminal/PageList): ensure enough pages before first page reuse
2024-09-21 21:09:53 -07:00
Mitchell Hashimoto
f858ae13ae terminal: clarify comment 2024-09-21 21:05:46 -07:00
Mitchell Hashimoto
f0eb5d0d43 terminal: test for scenario where grow() has to prune with a single page
See comments in the test, also this:

> The scenario is if you adjustCapacity a page beyond a std_size then our
> precondition no longer holds. PageList.adjustCapacity makes no guarantee
> that the resulting capacity fits within a standard page size. It is in fact
> documented this way and that it is slow since we have to mmap out of our
> memory pool.
2024-09-21 21:05:01 -07:00
Mitchell Hashimoto
261ce00552 apprt/macos,gtk: unfocused splits now highlight hovered links
Fixes #1547

The core change to make this work is to make the cursor position
callback support taking updated modifiers. On both macOS and GTK, cursor
position events also provide the pressed modifiers so we can pass those
in.
2024-09-21 15:16:14 -07:00
Mitchell Hashimoto
3769c83bdf config: note that mouse hide while typing on macos requires 15+ 2024-09-21 10:03:57 -07:00
Khang Nguyen Duy
d5ab772b66 fix(terminal/PageList): ensure enough pages before first page reuse
Running alacritty/vtebench on some machines causes Ghostty to fail on
`assert(first != last)` when trying to grow scrollback. We now make sure
we have enough pages before trying to reuse pages.
2024-09-21 22:03:06 +07:00
Mitchell Hashimoto
c6bbdfb7bf macos: remove EventSinkHostingView
This was breaking various other features:

  - Popovers stopped working
  - Split divider drag gestures stopped working

For now we document the top part of the window is draggable... we
can look into removing that limitation later.
2024-09-20 22:01:01 -07:00
Mitchell Hashimoto
44e39326b3 Merge pull request #2276 from qwerasd205/macos-titlebar-hidden
macOS: add `macos-titlebar-style = hidden`
2024-09-20 20:50:27 -07:00
Mitchell Hashimoto
f8bdd2b1bb termio: killpg expected to fail on darwin, still go into waitpid loop
Fixes #2273

On macOS, killpg is expected to fail with EPERM because of the way we
launch a login process around it. Before this commit, this caused us to
never call waitpid and reap the child process, which caused the child
process to stick around as a zombie.

This commit allows killpg to fail with EPERM on macOS and fall through
to waitpid.
2024-09-20 15:29:06 -07:00
Qwerasd
ae46ff6854 mention macos-titlebar-style = hidden in window-decoration docs 2024-09-20 16:18:42 -06:00
Qwerasd
16919488da macOS: add macos-titlebar-style = hidden
Hides titlebar without removing the other typical window frame elements
2024-09-20 16:11:51 -06:00
FineFindus
6f3db36251 termio: correct comment about windows support
The comment has conflicting information about supporting windows. This
removes the incorrect information that only windows is supported.
2024-09-20 17:42:08 +02:00
Mitchell Hashimoto
a503e0250e apprt/gtk: add version helpers
This adds version helpers similar to the adwaita version helpers so that
build time and runtime version checks can be done.
2024-09-19 20:24:52 -07:00
Severus
888861984d Fix typo 2024-09-20 10:18:19 +07:00
Mitchell Hashimoto
df5cd719d6 macos: rename overlay config to indication 2024-09-19 20:00:46 -07:00
Severus
b675905cc2 Fix 2271 issue
From GTK 4.16, GDK_DEBUG is splitted into GDK_DEBUG and GDK_DISABLE
2024-09-20 07:55:40 +07:00
Mitchell Hashimoto
a513a02328 config: config to disable auto secure input and secure input overlay 2024-09-19 17:20:54 -07:00
Mitchell Hashimoto
1ed1c73c1a macos: enable secure input on password input 2024-09-19 16:38:32 -07:00