3234 Commits

Author SHA1 Message Date
Tim Culverhouse
fbe030d85a terminal: respond to XTVERSION query
XTVERSION (CSI > 0 q) is used by some libraries to identify the terminal
+ version. Respond to this query with `ghostty {version_string}`. There
is no formal format for this response. A roundup of a few tested
terminals show two primary formats. This patch opts to save one byte and
use the `name SP version` semantics.

foot: foot(version)
xterm: XTerm(version)
contour: contour version
wezterm: wezterm version

Reference: https://github.com/dankamongmen/notcurses/blob/master/TERMINALS.md#notes-for-terminal-authors
Signed-off-by: Tim Culverhouse <tim@timculverhouse.com>
2023-09-20 19:06:28 -05:00
Mitchell Hashimoto
0dd7d37d22 Merge pull request #501 from mitchellh/fkeys
input: correct xterm encoding for modified F1-F4
2023-09-20 14:43:08 -07:00
Mitchell Hashimoto
9ad27924a6 input: correct xterm encoding for modified F1-F4
Fixes #499
2023-09-20 14:33:55 -07:00
Mitchell Hashimoto
59267c4c4d termio/exec: remove GHOSTTY_MAC_APP on Mac 2023-09-20 14:25:48 -07:00
Mitchell Hashimoto
afda62048b Merge pull request #500 from mitchellh/macos-cli
macos: Ghostty binary is also a CLI app
2023-09-20 13:40:26 -07:00
Mitchell Hashimoto
ea4bc95f43 os: appendEnv 2023-09-20 13:02:06 -07:00
Mitchell Hashimoto
bd528f5c11 macos: set the proper env var 2023-09-20 12:43:35 -07:00
Mitchell Hashimoto
718c8d7ac8 main: disable stderr logging by default for lib 2023-09-20 12:38:26 -07:00
Mitchell Hashimoto
7059b4f74d apprt/embedded: ghostty_cli_main 2023-09-20 12:35:52 -07:00
Mitchell Hashimoto
cdbf16e13b macos: set env var for app bundle to detect app launch vs CLI 2023-09-20 11:10:46 -07:00
Mitchell Hashimoto
423e55ce0f macos: change executale name to "ghostty" (lowercase)
This way we can also put this on the PATH and use it as a CLI...
2023-09-20 10:13:12 -07:00
Mitchell Hashimoto
6cee9e57f6 macos: prevent mouseEntered/Exited processing if already in that state
See the comment in the code.

Fixes #494
2023-09-20 08:53:31 -07:00
Mitchell Hashimoto
ca20bda3e9 Merge pull request #493 from mitchellh/gtk-keyvals
apprt/gtk: use gtk_keyval_to_lower to get unshifted
2023-09-19 17:54:26 -07:00
Mitchell Hashimoto
1f7d567f29 apprt/gtk: use gtk_keyval_to_lower to get unshifted
map_keycode was not respecting the keyboard layout!
2023-09-19 17:44:18 -07:00
Mitchell Hashimoto
ff74f27b99 macos: send caps lock state to UCKeyTranslate 2023-09-19 15:42:36 -07:00
Mitchell Hashimoto
4b0bb2048c Merge pull request #492 from mitchellh/kitty
input: kitty alternates and text should not include control characters
2023-09-19 15:19:41 -07:00
Mitchell Hashimoto
62a35417ab input: kitty alternates and text should not include control characters 2023-09-19 15:18:00 -07:00
Mitchell Hashimoto
3de3aa8c78 Merge pull request #490 from mitchellh/clipboard-request
Async clipboard read
2023-09-19 11:17:25 -07:00
Mitchell Hashimoto
7748390a7e apprt/gtk: async clipboard 2023-09-19 10:53:45 -07:00
Mitchell Hashimoto
5a02635d2c macos: async style clipboard reading 2023-09-19 10:36:17 -07:00
Mitchell Hashimoto
b30feeb596 core: move clipboard to async process 2023-09-19 10:18:17 -07:00
Mitchell Hashimoto
852249664b update README 2023-09-18 22:34:54 -07:00
Mitchell Hashimoto
371ec88768 update README 2023-09-18 22:33:20 -07:00
Mitchell Hashimoto
37537bc891 update README for Linux installation notes 2023-09-18 22:31:19 -07:00
Mitchell Hashimoto
dc1757160b Merge pull request #488 from mitchellh/csi-g-wrap
terminal: CSI G must reset pending wrap state
2023-09-18 22:18:47 -07:00
Mitchell Hashimoto
eeba3057f9 terminal: CSI G must reset pending wrap state
Fixes #479
2023-09-18 22:14:04 -07:00
Mitchell Hashimoto
063a66ea6c terminal: allow mixed semicolon/colon CSI m commands
Fixes #487
2023-09-18 21:45:19 -07:00
Mitchell Hashimoto
02b76e5a9b Merge pull request #486 from mitchellh/gtk-app-window
gtk: Menu, Header Buttons, About Window
2023-09-18 15:56:05 -07:00
Mitchell Hashimoto
90b5fdeede ci: don't run gtk tests in CI 2023-09-18 15:46:57 -07:00
Mitchell Hashimoto
ed0a2ecfc4 apprt/gtk: window actions should use currently active surface 2023-09-18 15:33:11 -07:00
Mitchell Hashimoto
f3662354e5 apprt/gtk: about window 2023-09-18 15:16:35 -07:00
Mitchell Hashimoto
bf665b7c63 apprt/gtk: reset accelerators initially 2023-09-18 15:03:36 -07:00
Mitchell Hashimoto
844945e7f9 apprt/gtk: add reload config 2023-09-18 15:00:54 -07:00
Mitchell Hashimoto
c3a72b9188 apprt/gtk: add new tab button in header 2023-09-18 14:55:37 -07:00
Mitchell Hashimoto
7996be25a8 apprt/gtk: new window, tab 2023-09-18 14:51:19 -07:00
Mitchell Hashimoto
71ca254be8 apprt/gtk: window actions 2023-09-18 14:41:52 -07:00
Mitchell Hashimoto
dcf615022e apprt/gtk: key file for logic related to keys 2023-09-18 14:27:05 -07:00
Mitchell Hashimoto
394ab3017f apprt/gtk: initial app menu 2023-09-18 12:54:19 -07:00
Mitchell Hashimoto
4606d56dc0 apprt/gtk: config errors is not an application window 2023-09-18 11:24:19 -07:00
Mitchell Hashimoto
008738df56 core: only prevent repeat mouse events for motion
Fixes #485
2023-09-18 09:15:26 -07:00
Mitchell Hashimoto
c0e097efba Merge pull request #483 from mitchellh/gtk-config-errors
gtk: configuration errors window
2023-09-18 08:59:34 -07:00
Mitchell Hashimoto
3d602017dd Merge pull request #484 from marler8997/fixWindowsFontconfigCrash
windows: fix fontconfig into libxml runtime crash from implicit func decl
2023-09-18 08:26:17 -07:00
Jonathan Marler
a0911c954e windows: fix fontconfig into libxml runtime crash from implicit func decl
Fixes the next issue on windows.  The fontconfig library is calling
the function xmlCreatePushParserCtxt from libxml2, however, the function
declaration was being omitted because fontconfig was not defining
the LIBXML_PUSH_ENABLED preprocessor symbol.  However, instead of a
compile error, C's support for implicit function declrations allows it
to happily call the function anyway, with the wrong ABI.  The main issue
was the return type being implicitly declared as "int" instead of a
pointer.  On my system this was causing the return pointer to be
truncated to 32 bits and then sign-extended which caused a segfault
once it was dereferenced.

I've gone ahead and added the -Werror=implicit-function-declaration
to fontconfig to avoid these issues in the future.  However, this
flag didn't compile on linux so I've left it as Windows only for now.

I also needed to add the LIBXML_STATIC define because not defining it
causes some functions on windows to be declared with
`__declspec(dllimport)` which results in linker errors since we are
actually statically linking libxml2.
2023-09-18 01:12:56 -06:00
Mitchell Hashimoto
6df01b87c1 apprt/gtk: if errors fixed, hide window 2023-09-17 22:34:34 -07:00
Mitchell Hashimoto
80e02c6c9f apprt/gtk: update config error contents on reload 2023-09-17 22:31:52 -07:00
Mitchell Hashimoto
92465f57ea apprt/gtk: grab focus of config window when reloading 2023-09-17 22:28:58 -07:00
Mitchell Hashimoto
f82fd56933 apprt/gtk: hook up buttons 2023-09-17 22:09:44 -07:00
Mitchell Hashimoto
40315afe72 apprt/gtk: extract config errors window into views 2023-09-17 22:03:43 -07:00
Mitchell Hashimoto
fe15e7d5fd apprt/gtk: add View to help with auto-layout views 2023-09-17 21:59:25 -07:00
Mitchell Hashimoto
bd3b5d5332 apprt/gtk: working on config errors window 2023-09-17 21:37:57 -07:00