Mitchell Hashimoto
724900f143
macos: implement setCursorVisibility
2023-09-14 19:37:30 -07:00
Mitchell Hashimoto
cb2931cb27
rename cursor shape to mouse shape for OSC 22
2023-09-14 11:12:17 -07:00
Mitchell Hashimoto
3356146bb4
macos: support cursor style
2023-09-14 10:40:40 -07:00
Mitchell Hashimoto
c3bf054dd4
apprt/embedded: call core app reload config so changes go to all threads
2023-09-13 19:01:05 -07:00
Mitchell Hashimoto
678bd0de0c
core: surface should not use app mailbox
...
The surface runs on the same thread as the app so if we use the app
mailbox then we risk filling the queue before it can drain. The surface
should use the app directly.
This commit just changes all the calls to use the app directly. We may
also want to coalesce certain changes to avoid too much CPU but I defer
that to a future change.
2023-09-13 08:34:09 -07:00
Mitchell Hashimoto
56ccadd7f1
core: app needsConfirmQuit to streamline quitting if no active sessions
2023-09-11 15:44:08 -07:00
Mitchell Hashimoto
2f0905b60c
macos: reload config MUST go through Zig core
2023-09-11 15:20:31 -07:00
Mitchell Hashimoto
f31bde48fc
macos: add prev/next tab custom binding support
2023-09-09 13:00:23 -07:00
Mitchell Hashimoto
4570356e57
turn zoom into a toggle rather than an explicit zoom/unzoom
2023-09-02 16:03:51 -07:00
Mitchell Hashimoto
519a97b782
core: add unzoom_split binding
2023-09-02 15:15:12 -07:00
Mitchell Hashimoto
50a1a52ae3
core: add zoom keybinding for splits
2023-09-02 14:52:43 -07:00
Mitchell Hashimoto
22eb533473
content scale change events should also impact viewport padding
...
This calculates the new padding pixel values and propogates those
changes to the renderer.
2023-09-02 11:00:51 -07:00
Mitchell Hashimoto
6c7ccae848
Merge pull request #385 from mgeist/update-font-dpi
...
Update font DPI when the content scale is updated
2023-09-02 10:41:07 -07:00
Mat
0d094f244e
Update font DPI when the content scale is updated
2023-09-02 13:00:04 -04:00
Will Pragnell
86122624e0
macos: add visible-menu non-native-fullscreen option
2023-09-01 21:45:45 -07:00
Mitchell Hashimoto
c71979804e
apprt/embedded: ghostty_surface_binding_action can now run any action
2023-08-30 21:46:38 -07:00
Mitchell Hashimoto
3a93aaf9cf
apprt/embedded: do not translate control characters
...
macOS translates inputs such as shift+tab into the control character tab
(ascii 0x09). Linux/GTK does not translate character inputs except to
printable characters. We don't want control character translations
because these are all handled manually by our key encoder (i.e.
translating ctrl+c to 0x03).
2023-08-24 15:01:57 -07:00
Thorsten Ball
fbe42fbac7
macOS: reduce mechanism to create windows back to one
2023-08-19 19:41:34 +02:00
Thorsten Ball
a76aea4d0a
macOS: new split can inherit font size
2023-08-19 09:59:04 +02:00
Thorsten Ball
2e9b787668
macOS: new window can inherit font size
...
This is the second part of #281 and adds the same mechanism that was
added for tabs in #296 for windows.
It works exactly the same way.
2023-08-19 09:29:56 +02:00
Mitchell Hashimoto
4f5460475c
Merge pull request #296 from mitchellh/mrn/macos-inherit-font-size
...
macOS: inherit font size when creating new tab
2023-08-18 09:22:06 -07:00
Mitchell Hashimoto
a960faa2b8
apprt/embedded: use setfontsize so that the original font size is
...
retained
2023-08-18 09:13:59 -07:00
Mitchell Hashimoto
79971c62a6
macos: pass around a base surface_config_s rather than a new tab
2023-08-18 09:09:43 -07:00
Thorsten Ball
cda87a6963
embedded: use separate struct to pass options to new_tab_cb
2023-08-18 06:50:47 +02:00
Thorsten Ball
d2dae7a696
macOS: inherit font size when creating new tab
...
This is one part of #281 .
2023-08-17 20:56:56 +02:00
Mitchell Hashimoto
fe0e1f5ee8
input: key must provide unshifted codepoint
2023-08-17 09:40:32 -07:00
Mitchell Hashimoto
33bef28850
rename key2callback to keycallback
2023-08-16 13:40:57 -07:00
Mitchell Hashimoto
4e8f5d3997
remove charCallback/keyCallback
2023-08-16 13:39:44 -07:00
Mitchell Hashimoto
cd90b2a716
apprt/embedded: only call new key2callback
2023-08-16 13:26:22 -07:00
Mitchell Hashimoto
759ae94f15
macos: do not send ctrl or super into UCKeyTranslate
...
see comment
2023-08-16 12:48:48 -07:00
Mitchell Hashimoto
2b2b23dcf6
apprt/embedded: keycallback should use nomod text to determine key
...
To determine the logical key that was pressed, we previously just
trusted that the translated text would have the right value. But if
modifiers are pressed, the text may not translate.
For example on macOS, Ctrl+C does not produce any text. As a result, we
would fall back to the physical key. On layouts like Dvorak, the
physical key for "C" is "I". This means "Ctrl+C" sequences weren't
working.
Instead, if there is no text or the text doesn't map to a key, we
translate again using no modifiers to try to get the raw text of the
input and then base the key on that.
2023-08-15 11:13:01 -07:00
Mitchell Hashimoto
cbd6a325e9
config: macos-option-as-alt now accepts "left", "right"
2023-08-14 12:50:21 -07:00
Mitchell Hashimoto
e7bb9c60b2
input: expand Mods size, convert everything to use it
2023-08-14 12:31:16 -07:00
Mitchell Hashimoto
5e2fa50d0b
macos-option-as-alt config, handle alt-prefix for charCallback
2023-08-13 14:55:31 -07:00
Mitchell Hashimoto
619d2ade3e
only initialize font discovery mechanism once, cache on App
...
Fontconfig in particular appears unsafe to initialize multiple times.
Font discovery is a singleton object in an application and only ever
accessed from the main thread so we can work around this by only
initializing and caching the font discovery mechanism exactly once on
the app singleton.
2023-08-13 08:01:33 -07:00
Mitchell Hashimoto
d62161e2c3
support preedit text rendering in core and metal
2023-08-11 12:20:48 -07:00
Mitchell Hashimoto
ce4eb2112c
core: get rid of ignore_char, apprt must handle this now
2023-08-11 12:02:01 -07:00
Mitchell Hashimoto
7ea8feea69
apprt/embedded: fix char callback ignore when key is consumed
2023-08-11 12:02:00 -07:00
Mitchell Hashimoto
4fe739cae0
core: note when keyCallback processed the input
2023-08-11 12:02:00 -07:00
Mitchell Hashimoto
d5df8aea9a
apprt/embedded: handle repeat events
2023-08-11 12:02:00 -07:00
Mitchell Hashimoto
d02bf322f8
apprt/embedded: remove old _key api, new only!
2023-08-11 12:02:00 -07:00
Mitchell Hashimoto
1e1ad7deb9
macos: use the new self-hosted translation
2023-08-11 12:02:00 -07:00
Mitchell Hashimoto
1f4a80aa93
apprt/embedded: keymap state is per surface, not per app
2023-08-11 12:02:00 -07:00
Mitchell Hashimoto
57a527b0c9
macos: detect keyboard layout change and reload the keymap
2023-08-11 12:01:59 -07:00
Mitchell Hashimoto
3d23f26326
input, macos: initial work on keymapper and macos usage of it
2023-08-11 12:01:58 -07:00
Mitchell Hashimoto
688ab84661
apprt/embedded: allow noting that selection clipboard is not supported
2023-08-09 14:52:22 -07:00
Mitchell Hashimoto
afc6a9976f
apprt/embedded: support selection clipboard
2023-08-09 14:29:39 -07:00
Mitchell Hashimoto
42735bd0e0
apprt/embedded: new resources dir api
2023-08-08 09:55:23 -07:00
Kevin Hovsäter
22b8173164
Fix typos
2023-08-08 14:27:34 +02:00
Mitchell Hashimoto
22296b377a
Revert "Merge pull request #244 from mitchellh/alt-as-esc"
...
This reverts commit c139279d479682c17f63d9b57c2d56608d09d16a, reversing
changes made to 4ed21047a734d7c586debe0026e3b6ea90ed1622.
We do want to do this but this broke bindings.
2023-08-07 17:06:40 -07:00