208 Commits

Author SHA1 Message Date
Jack N
fab3490d6e add gtk-tabs-location 2024-02-25 22:56:33 -08:00
ProfOak
f7911937ec Move selection paste to linux config section 2024-02-21 22:37:05 -06:00
ProfOak
96daf97d19 Add keybind support for shift+insert selection paste 2024-02-21 19:33:05 -06:00
Felipe Coury
733f4464c3 docs: correct MacOS location for themes on config docs 2024-02-17 10:53:27 -03:00
Ryan Cao
56ebc78b8a docs: document the text action for keybind 2024-02-16 17:40:43 +08:00
Mitchell Hashimoto
7548ac368e config: note that tab restore with titlebar tabs on macos 13 is broken 2024-02-12 21:30:24 -08:00
Mitchell Hashimoto
eb653907d6 config: grapheme-width-method sets mode 2027
Fixes #1403

This changes the behavior of `grapheme-width-method = unicode` to change
the default state of mode 2027 to true. Prior to this, setting this
config would force grapheme clustering regardless of mode 2027. Now,
this only sets the default and running TUI programs can disable it if
they want.
2024-02-02 12:13:13 -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
6482c25579 macos: titlebar tabs set window appearance based on bg luminance
Fixes #1427
2024-02-01 16:47:45 -08:00
Mitchell Hashimoto
00661c13ab config: clarify some limitations 2024-01-31 10:20:37 -08:00
Qwerasd
ba16d65d02 macOS: Added titlebar tabs 2024-01-30 18:48:36 -05:00
Mitchell Hashimoto
06ff385e0c Merge pull request #1394 from em-dash/configure-scroll-speed
Configure scroll speed  #1378
2024-01-27 21:24:05 -08:00
Mitchell Hashimoto
5095c8f477 core: be explicit about float rounding for mouse scroll multiplier 2024-01-27 21:14:42 -08:00
Mitchell Hashimoto
9beb395b12 config: update docs 2024-01-27 19:09:03 -08:00
Mitchell Hashimoto
3efe88c85c input: add link highlight always/hover w/ mods 2024-01-27 19:07:49 -08:00
Mitchell Hashimoto
ae11cc9042 add a new highlight state that requires modifiers 2024-01-27 19:03:03 -08:00
em-dash
ce7ba52b12 Add mouse-scroll-multiplier config option 2024-01-28 11:08:41 +11:00
Matt Robenolt
5813488691 Update Config docs to suggest Super + hover is required for link activation 2024-01-26 20:56:34 -08:00
Mitchell Hashimoto
26c7215cf8 forgot commit to get #1363 building to new API 2024-01-26 09:04:32 -08:00
Mitchell Hashimoto
d50307c219 Merge pull request #1363 from jcollie/list-keybinds-docs
Add option to include docs when listing keybinds.
2024-01-26 09:02:49 -08:00
Mitchell Hashimoto
0ba3edaf3d very small style change 2024-01-26 09:01:27 -08:00
Armin Ronacher
6f82004183 Document that window padding changes need a restart 2024-01-26 00:09:16 +01:00
Mitchell Hashimoto
0f133ae4a7 config: re-expand relative paths correctly when reloading config
Fixes #1366

When we use `loadTheme`, we "replay" the configuration so that the theme
is the base configuration and everything else can override everything
the theme sets. During this process, we were not properly re-expanding
all the relative paths.

This fix works by changing our input tracking from solely tracking args
to tracking operations such as expansion as well. When we "replay" the
configuration we also replay operations such as path expansion with the
correct base path.

This also removes the `_inputs` special mechanism `cli/args.zig` had
because we can already do that ourselves using `parseManuallyHook`.
2024-01-23 21:59:34 -08:00
Jeffrey C. Ollie
d51b6d4799 Add option to include docs when listing keybinds. 2024-01-23 00:26:38 -06:00
LordMZTE
8182b69ae3 add increase_font_size keybind with plus 2024-01-22 16:15:03 +01:00
Jeffrey C. Ollie
510f270c54 markdown-ify help strings 2024-01-21 15:07:37 -06:00
Mitchell Hashimoto
daf297cee2 config: union type formatters 2024-01-20 15:35:16 -08:00
Mitchell Hashimoto
2bf37843f3 config: tests for all custom formatEntry calls 2024-01-20 15:07:32 -08:00
Mitchell Hashimoto
32a1c6ec06 config: ability to format all field types except tagged unions 2024-01-20 14:41:49 -08:00
Mitchell Hashimoto
33bc424d7e config: introduce wait-after-command 2024-01-17 08:40:21 -08:00
Atanas Pepechkov
ee1366a0a8 add sudo wrapper as optional shell integration feature 2024-01-13 18:56:21 +02:00
Mitchell Hashimoto
81b9a6b623 config: rename window-append-new-tab to window-new-tab-position 2024-01-12 09:50:47 -08:00
Thorsten Ball
2aa1874f94 gtk: append new tabs at the end if config is set
This adds a new config option: `window-append-new-tabs` (please: if you
have a better name, let me know). If this is set to true, then new GTK
tabs aren't added after the current tab, but after at the end.
2024-01-12 17:35:15 +01:00
Mitchell Hashimoto
5216b4cfe9 build: remove generate_rgb_names 2024-01-10 20:40:21 -08:00
Jeffrey C. Ollie
bc1544a3f0 add ability to specify RGB colors as names from the X11 rgb name list 2024-01-10 20:26:59 -08:00
Mitchell Hashimoto
507a55ba3f Merge pull request #1253 from jcollie/enquiry
implement enquiry/answerback
2024-01-10 09:29:10 -08:00
Mitchell Hashimoto
4b6c2f86a7 termio/exec: remove a bunch of state that is duplicated on StreamHandler
A lot of the state that we put on Exec is just there to copy to
StreamHandler, but we already have it in DerivedConfig. I think this
whole copy copy copy is just legacy cruft since termio.Exec is one of
the older parts of the source code.

This rearchitects the Exec struct to act more like Surface and Renderer
where it stores its derived config. This lets us avoid a few extra
allocations and removes a LOT of struct member noise from termio.Exec.

For pointer lifetimes, the memory allocated is now owned by
DerivedConfig. When changeConfig is called, its the only time BOTH are
still alive, so we can safely swap pointers and deinit without having to
duplicate across threads. This is the same as renderer/surface.
2024-01-10 09:15:55 -08:00
Mitchell Hashimoto
44544f29b2 macos: support Display P3 colorspace through configuration
Fixes #1214

This introduces the `window-colorspace` configuration which allows
configuring the colorspace to use for windows on macOS. The default is
sRGB (same as before) but this can also be set to `display-p3`.
2024-01-09 20:47:07 -08:00
Mitchell Hashimoto
96d33fef20 custom shader animation can be set to "always" to always remain active
Fixes #1225

The `custom-shader-animation` configuration can now be set to "always"
which keeps animation active even if the terminal is unfocused.
2024-01-09 09:21:15 -08:00
Jeffrey C. Ollie
3c2dfd4a84 change name of config entry and variables, add lock for safety during config update 2024-01-09 10:07:32 -06:00
Jeffrey C. Ollie
342b5e9d06 implement enquiry 2024-01-07 23:50:58 -06:00
Mitchell Hashimoto
d65fbba39e config: do not load command from SHELL when launched from desktop
Fixes #139

From the issue:

Looking into this now, I think I figured out the broken logic. When launching
from open, the parent process of Ghostty is launchd which appears to set your
SHELL env var to your configured shell when logging in. That's why a restart
fixes it. However, I believe directory services (the macOS equivalent to
/etc/passwd) is updated in real time.

Ghostty does read directory services but at a lower priority than SHELL.
This logic makes sense for CLI-launched terminals but not desktop-launched.
From a CLI you want the terminal you're launching to probably inherit the shell
from the CLI you launched it from. (Note that using open explicitly forces a
launchd-style launch so it quacks as if it was double-clicked on the desktop).

In conclusion, I believe the correct logic is to invert the priority on SHELL
vs directory services when Ghostty detects it was launched from launchd. We
already have this detection logic in Ghostty because we use it for a number of
other things as well, so this should be easy to fix. I'll work on it later
today.
2024-01-06 12:31:01 -08:00
Jeffrey C. Ollie
698954031a Add 'Open Config' menu to the GTK runtime and synchronize config-related keybindings across platforms. 2024-01-04 23:30:22 -06:00
Troels Thomsen
d3a7f9baf5 Resolve path relative to base 2024-01-03 23:27:22 +01:00
Mitchell Hashimoto
a57a32cdb3 config: clarify docs on resetting font-family 2024-01-03 09:43:24 -08:00
Mitchell Hashimoto
8dd8bae0cd config: empty value for RepeatableString resets the list 2024-01-03 09:35:03 -08:00
Mitchell Hashimoto
b4f403f152 font-family settings are repeatable to specify fallback 2024-01-03 09:30:12 -08:00
Mitchell Hashimoto
98237b112f config: RepeatableString is null-terminated now
This makes it easier for these values to interface with C APIs
2024-01-03 09:24:15 -08:00
Mitchell Hashimoto
aef93a5420 config: make abnormal runtime threshold a u32 2023-12-30 21:45:16 -08:00
Jeffrey C. Ollie
4ef8d099a7 Make the abnormal runtime threshold configurable. 2023-12-30 22:52:47 -06:00