572 Commits

Author SHA1 Message Date
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
Paul Berg
2d9aad9806 gtk: update tab's window upon switching notebook 2024-06-04 09:19:15 +02: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
a72a02488f gtk: goto_split:previous/next wrap
Fixes #1258

This matches macOS.
2024-06-03 16:06:24 -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
0abb6b9efa apprt/gtk: when dragging tab out, grab focus 2024-06-03 14:40:19 -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
Jon Parise
2a66d37e48 Update functional URLs for ghostty-org 2024-06-01 16:44:09 -04:00
Jeffrey C. Ollie
aa9813bc79 Add split right & split down menu entries for the GTK apprt.
Inspired by #1752
2024-05-11 11:48:11 -05:00
Mitchell Hashimoto
a11c7ac785 update Dear Imgui to 1.90.6 2024-05-10 10:17:33 -07:00
Mitchell Hashimoto
ae0464cf70 Merge pull request #1741 from qwerasd205/non-integer-point-size
feat(font): Non-integer point sizes
2024-05-08 21:36:48 -07:00
Mitchell Hashimoto
e81f525101 apprt/gtk: set GDK_DEBUG 2024-05-08 21:04:50 -07:00
Qwerasd
5df0935f82 update font_size to f32 in libghostty 2024-05-09 00:03:40 -04:00
Mitchell Hashimoto
ca9689be46 renderer/metal: API to handle macOS display ID changing 2024-05-04 19:40:58 -07:00
Mitchell Hashimoto
e31e25f54d apprt/embedded: add draw now API 2024-05-04 14:49:49 -07:00
Mitchell Hashimoto
57bf0b08ff Revert "Merge pull request #1690 from TheOnlyMrCat/gtk_opacity"
This reverts commit cbd787c92d296fc4b990a2d1cbf5c901af5b08bc, reversing
changes made to 74e8275e8ba38116a2f6a585902e7f8897c9b085.

See: https://github.com/mitchellh/ghostty/issues/1704
2024-04-21 10:17:38 -07:00
Mitchell Hashimoto
915e09367a Merge pull request #1696 from mitchellh/update-zig
Update to Latest Zig
2024-04-18 16:40:37 -07:00
Mitchell Hashimoto
cbd787c92d Merge pull request #1690 from TheOnlyMrCat/gtk_opacity
Fix background-opacity for the GTK backend
2024-04-18 15:04:56 -07:00
Mitchell Hashimoto
bd7d71440e update zig, fix linux build 2024-04-18 13:27:15 -07:00
Max Guppy
2c8a1ada17 apprt/gtk: Fix background-opacity 2024-04-18 15:42:17 +10:00
Mitchell Hashimoto
595f24585e working on more zig breaking changes 2024-04-17 20:50:50 -07:00
Jon Parise
1087b9b0fd apprt/embedded: store userdata directly on Surface
We were previously retaining Options on the Surface struct, but other
than userdata, we only use those values for initialization. Instead,
store just the opaque userdata value on the Surface and clarify that
Surface.Options are only used for initialization.
2024-04-17 12:57:19 -07:00
Mitchell Hashimoto
21605eaab7 apprt/embedded: setfontsize 2024-04-06 19:37:41 -07:00
Mitchell Hashimoto
84f30a6064 apprt/gtk: setFontsize should have error 2024-04-06 19:36:59 -07:00
Mitchell Hashimoto
506ba854fa core: font size changes work 2024-04-06 19:33:49 -07:00
Tristan Partin
0adbe097ed fix: remove deprecated to-pixdata gresource preprocessor
It was deprecated in gdk-pixbuf 2.32.

Link: https://docs.gtk.org/gio/struct.Resource.html
2024-03-28 21:15:09 -05:00
Mitchell Hashimoto
77c8a5998f apprt/gtk: handle gtk realize error more gracefully
Fixes #1606

This improves our logging when this occurs and prevents a crash.
The program will just run indefinitely with no windows (you can try to
create another but it will probably fail) but the logs are much more
helpful now.
2024-03-28 15:11:45 -07:00
Mitchell Hashimoto
054aeebf17 Merge pull request #1506 from jcollie/gtk-resources
GTK: Add compiled-in GTK resources and use them for icons.
2024-03-28 14:48:40 -07:00
Mitchell Hashimoto
b6f5970264 minor style changes 2024-03-28 14:45:44 -07:00
Mitchell Hashimoto
9aadf59ab1 macos,libghostty: font size is a u8 2024-03-27 20:53:03 -07:00
Jeffrey C. Ollie
9f0468f950 generate gresource xml and dependencies at comptime rather than hardcoding 2024-03-27 16:47:27 -05:00
Jeffrey C. Ollie
f943a4cf87 GTK: Add compiled-in GTK resources and use them for icons.
Use glib-compile-resources to compile CSS style sheets and icons into
the Ghostty GTK binary. Makes for simpler access to icons and sets
things up for customizing the look of Ghostty with CSS in the future.
The CSS style sheets are blank for now so there will be no visual
changes.
2024-03-27 16:47:26 -05:00
Igor Anić
137359bcb5 gtk: use symbolic icon for tab close
On my system (xorg Ubuntu 24.04, Adwaita:dark theme) tab close icon was
red while in all other applications was more discrete. With adding
`-symbolic` to the icon name now looks like all other application.
2024-03-27 20:04:17 +01:00
Mitchell Hashimoto
b68e1c6a5d Merge pull request #1555 from BvngeeCord/gtk-tabs-location
add 'gtk-tabs-location'
2024-03-25 21:37:50 -07:00
Kyungrok Chung
612d98d8f8 apprt/gtk: commit buffer before preeditchanged resets
When gtkInputPreeditChanged is called after gtkInputCommit, character
that should be committed is cleared. Check if there's buffered character
and send the characters directly when preedit changed.

Fix #1563
2024-03-18 21:17:40 +09:00
Jack N
fab3490d6e add gtk-tabs-location 2024-02-25 22:56:33 -08:00
Mitchell Hashimoto
be0595d71d apprt/embedded: add occlusion state callback 2024-02-12 13:48:09 -08:00
Mitchell Hashimoto
f414787779 move SplitDirection to apprt 2024-02-04 20:42:42 -08:00
Mitchell Hashimoto
d315223423 apprt/gtk: small stylistic edits 2024-02-02 20:00:10 -08:00
Jeffrey C. Ollie
0938835f87 Implement mode 2031 and DSR 996 for GTK 2024-02-02 21:10:58 -06:00
Mitchell Hashimoto
258d51395c apprt/embedded: add API for reporting color scheme 2024-02-02 13:02:16 -08:00
Mitchell Hashimoto
ae8f5f3ceb core: colorSchemeCallback on surface, can report 2024-02-02 12:51:20 -08:00
Mitchell Hashimoto
e5400bad06 config: add window-theme = auto for automatic choosing based on bg color 2024-02-01 20:49:28 -08:00
Mitchell Hashimoto
5c0e63458f apprt/embedded: do not allow NaN or small content scales
Fixes #1408
2024-01-29 08:35:23 -08:00
Mitchell Hashimoto
0726a8d1fa apprt/embedded: ctrl-only should use binding-mods only
This allows it to ignore control side differences.
2024-01-27 11:15:54 -08:00