6268 Commits

Author SHA1 Message Date
Mitchell Hashimoto
a63c8d0913 termio: plumb a lot more to get ready to move into cgroup 2024-06-05 09:25:36 -07:00
Mitchell Hashimoto
dc51b8269c plumb the linux cgroup through to termio 2024-06-04 21:37:34 -07:00
Mitchell Hashimoto
1285b4f243 apprt/gtk: store transient cgroup 2024-06-04 21:10:42 -07:00
Mitchell Hashimoto
01bfce0981 os: cgroup can set memory limits 2024-06-04 21:02:25 -07:00
Mitchell Hashimoto
d351e80158 os: cgroup create/move 2024-06-04 20:22:17 -07:00
Mitchell Hashimoto
bbe525c964 os: API to configure cgroup controllers 2024-06-04 19:36:48 -07:00
Mitchell Hashimoto
b5c4d2f60d os: rename linux => cgroup 2024-06-04 19:28:12 -07:00
Mitchell Hashimoto
c0b061edd9 os: API for listing cgroup controllers 2024-06-04 19:23:18 -07:00
Mitchell Hashimoto
409c958b7e apprt/gtk: cgroup initialization 2024-06-04 18:59:44 -07:00
Mitchell Hashimoto
0a5f3fa0a4 os: add linux API for getting cgroup by pid 2024-06-04 15:15:11 -07:00
Mitchell Hashimoto
955246d6a0 Merge pull request #1825 from Pangoraw/gtk_nb_switch
gtk: update tab's window upon switching notebook
2024-06-04 08:59:16 -07:00
Paul Berg
2d9aad9806 gtk: update tab's window upon switching notebook 2024-06-04 09:19:15 +02:00
Mitchell Hashimoto
a502089582 renderer/opengl: don't append assume capacity
Fixes #1815
2024-06-03 20:55:11 -07:00
Mitchell Hashimoto
0b971f6760 Merge pull request #1824 from ghostty-org/iterm2
update color themes to a34aeb1f505707a35102fe95984d4bea4a85eb3e
2024-06-03 19:28:59 -07:00
Mitchell Hashimoto
4b277f1bca update color themes to a34aeb1f505707a35102fe95984d4bea4a85eb3e 2024-06-03 19:24:56 -07:00
Mitchell Hashimoto
fdd30725e5 Merge pull request #1823 from jparise/explicit-bash
shell-integration: bash must be explicitly enabled
2024-06-03 18:43:53 -07:00
Mitchell Hashimoto
cd7da9eb4b inspector: fix encoding of pty-encoded key event 2024-06-03 18:40:52 -07:00
Jon Parise
7d7fa46b0c shell-integration: bash must be explicitly enabled
For now, bash integration must be explicitly enabled (by setting
`shell-integration = bash`). Our automatic shell integration requires
bash version 4 or later, and systems like macOS continue to ship bash
version 3 by default. This approach avoids the cost of performing a
runtime version check.
2024-06-03 20:34:29 -04:00
Mitchell Hashimoto
29b3f9d528 gtk: set tab group so that tabs can be dropped onto other windows
Related to #1122
2024-06-03 16:21:50 -07:00
Mitchell Hashimoto
4bcc8b998c Merge pull request #1822 from ghostty-org/gtk-wrap
gtk: goto_split:previous/next wrap
2024-06-03 16:11:58 -07:00
Mitchell Hashimoto
a72a02488f gtk: goto_split:previous/next wrap
Fixes #1258

This matches macOS.
2024-06-03 16:06:24 -07:00
Mitchell Hashimoto
b9340aad55 Merge pull request #1821 from ghostty-org/gtk-mouse
gtk: various mouse-hide-while-typing fixes
2024-06-03 15:39:23 -07:00
Mitchell Hashimoto
d6f79ce96b gtk: note setting title unhides the cursor 2024-06-03 15:36:10 -07:00
Mitchell Hashimoto
67c17cba1a apprt/gtk: only set cursor on shape change if its visible 2024-06-03 15:07:33 -07:00
Mitchell Hashimoto
30c1ab737c core: only hide mouse on key press events
see comment
2024-06-03 15:04:19 -07:00
Mitchell Hashimoto
ac554c74ff core: do not toggle mouse hidden on keyCallback with mods
If the mouse was hidden, we just keep it hidden.
2024-06-03 14:55:21 -07:00
Mitchell Hashimoto
254608697e Merge pull request #1820 from ghostty-org/gtk
apprt/gtk: when dragging tab out, grab focus
2024-06-03 14:46:14 -07:00
Mitchell Hashimoto
7e82cd4d44 Merge pull request #1819 from ghostty-org/pointcoord
terminal: point coord y needs to be a larger int
2024-06-03 14:43:13 -07:00
Mitchell Hashimoto
0abb6b9efa apprt/gtk: when dragging tab out, grab focus 2024-06-03 14:40:19 -07:00
Mitchell Hashimoto
86322db991 terminal: point coord y needs to be a larger int
See comment.
2024-06-03 14:25:37 -07:00
Mitchell Hashimoto
237343f478 Merge pull request #1818 from ghostty-org/legacy
input: CSIu should send full codepoint
2024-06-02 14:39:17 -07:00
Mitchell Hashimoto
1fae17d1ef input: CSIu should send full codepoint
Related to #1802

CSIu format sends a unicode codepoint but we were just sending the first
byte of the utf8 sequence, which is very much not right. This fixes that
by parsing the utf-8.

It isn't defined what to do if the utf-8 sequence is invalid or has
multiple codepoints so we just skip CSIu encoding in that case.
2024-06-02 14:38:13 -07:00
Mitchell Hashimoto
1551c27578 input: Kitty alternate should be reported even if no shifted text (#1817)
Reproduction: HU layout Ctrl+ő

On release, we were previously not sending an alt text (we were sending
it properly on press). Kitty sends it also on release and the spec makes
it clear we should send it on release. This was just due to some faulty
logic; added a test and fixed that.
2024-06-02 14:36:08 -07:00
Mitchell Hashimoto
14417d2592 Allow keybinding arbitrary unicode codepoints (#1814)
Fixes #1802 

This allows `keybind` configurations to map to any Unicode codepoint. This enables keybindings for which we don't have a registered keycode or for custom keyboard firmwares that may produce arbitrary text (but the Ghostty support is limited to a single codepoint).

The `keybind` syntax is unchanged. If a bound character doesn't map to a known logical key that Ghostty knows about, we map it to a Unicode codepoint. The unicode codepoint is compared against the _unshifted codepoint_ from the apprt key event. 

Note that this binding is to a single _codepoint_. We don't support arbitrary sequences of characters or multi-code point graphemes for keybindings due to the complexity in memory management that would introduce.

This also provides a good fallback for scenarios where it might make sense to educate Ghostty about a key code or fix a bug in our keyboard input system, but the unicode data is correct. In that scenario, unicode key binds should allow key binds to still work while we investigate the input issues.

Example:

```
shift+ö=text:hello
```

This now works as expected on a US hardware keyboard with the Hungarian keyboard layout.
2024-06-02 10:53:36 -07:00
Mitchell Hashimoto
f63927a7c4 Merge pull request #1812 from jparise/ghostty-org
Update functional URLs for ghostty-org
2024-06-01 15:32:43 -07:00
Jon Parise
2a66d37e48 Update functional URLs for ghostty-org 2024-06-01 16:44:09 -04:00
Mitchell Hashimoto
502423dabf update README 2024-06-01 09:46:14 -07:00
Mitchell Hashimoto
c7d37dad4b update release job 2024-05-31 14:02:54 -07:00
Mitchell Hashimoto
8a5f2e18ab update READMEs to new repo URL 2024-05-31 13:36:07 -07:00
Mitchell Hashimoto
8c8e0946b4 Merge pull request #1811 from gpanders/open-no-wait-linux
os/open: do not wait for commands which do not terminate
2024-05-31 11:54:27 -07:00
Gregory Anders
695bc307ba os/open: do not wait for commands which do not terminate
Some opener commands (like macOS's open) finish immediately after
running, while others (xdg-open) do not, staying alive until the
application that was opened itself terminates.

For now, we explicitly state whether or not we should wait for a
command. Eventually we may want to do something more generic (e.g. wait
for some predetermined amount of time and if the process does not
complete, give up without collecting stderr).
2024-05-31 12:25:17 -05:00
Mitchell Hashimoto
2ca1a7aeed Merge pull request #1810 from il-k/elvish-integration
fix(shell-integration/elvish): fix mistakes
2024-05-31 08:06:02 -07:00
ilk
e5411284dd fix(elvish-integration): fix mistakes
fix some missing imports and (shamefully) faulty logic.
2024-05-31 12:20:12 +03:00
Mitchell Hashimoto
b50f34de3a Merge pull request #1809 from mitchellh/any-preso
font: when presentation isn't found, always fallback to any
2024-05-30 15:14:06 -07:00
Mitchell Hashimoto
80c0ba8758 font: when presentation isn't found, always fallback to any
Fixes #1808

When resolving a codepoint, we first attempt to find the default
presentation (if an explicit one is not given), but we were not falling
back to "any" in case that presentation was not found.
2024-05-30 14:22:42 -07:00
Mitchell Hashimoto
523f9e32cc Merge pull request #1803 from mitchellh/mixed-font
Handle mixed-color fonts
2024-05-29 08:11:33 -07:00
Mitchell Hashimoto
3a4294a567 Merge pull request #1807 from cryptocode/cc-scrollback_include_active
scrollback: Include active area when writing scrollback to file
2024-05-29 08:01:45 -07:00
cryptocode
0b6081d427 scrollback: Include active area when writing scrollback to file
Writing scrollback to file is, among other usecases, an interrim solution for searching.
Status quo is to only write history pages, and not the active area. This PR proposes that
the scrollback write includes the active area, which I think is more useful. For example,
you can then do less +G <super+shift+j> if you have long log output and then page and
reverse-search through all of it. It's a bit surprising if the active area is missing.
2024-05-29 15:19:45 +02:00
Mitchell Hashimoto
d978d05d7e font/coretext: glyphIndex must return u32 for noop shaper 2024-05-28 21:05:32 -07:00
Mitchell Hashimoto
f6e708c0fb font/coretext: cleanup unused comments 2024-05-28 20:58:06 -07:00