Liam Hupfer
aa34b91856
gtk: Always read gtk-xft-dpi for font scaling
...
Commit ad503b8c4fa7 ("linux: consider Xft.dpi to scale the content")
introduced reading gtk-xft-dpi when the X11 build option is enabled.
While the name suggests it is X11-specific (perhaps it was at one
point), gtk-xft-dpi is a GTK setting that can be modified regardless of
GDK backend. GNOME’s Large Text accessibility setting ultimately
modifies it. Outside of desktop environments, it can be set via GTK
configuration files.
Remove the conditional gating the code on X11, since none of the code is
actually X11-specific. While we’re here, document scaling behaviors
under Config.font-size.
Fixes: ad503b8c4fa7 ("linux: consider Xft.dpi to scale the content")
Fixes: https://github.com/ghostty-org/ghostty/issues/4338
Link: https://docs.gtk.org/gtk4/class.Settings.html
Link: https://docs.gtk.org/gtk4/property.Settings.gtk-xft-dpi.html
2025-01-02 12:48:28 -06:00
Bryan Lee
6fca26972b
Remove the redundant check and directly use dir()
2025-01-03 00:24:14 +08:00
Bryan Lee
9f44ec7c21
Use bundle ID for macOS cache directory path
2025-01-03 00:24:14 +08:00
Bryan Lee
67794d3f6f
Respect XDG_CACHE_HOME
and useNSFileManager
for cache paths
2025-01-03 00:24:14 +08:00
Bryan Lee
1941a440d8
Use $HOME/Library/Caches
on macOS instead of $HOME/.cache
2025-01-03 00:24:14 +08:00
Mitchell Hashimoto
80c3833031
Add alt keybindings for ctrl+ins = Copy and shift+ins = Paste ( #2870 )
...
On non-MacOS desktop environments (Windows, Gnome, KDE, Xfce, VS Code,
...), `ctrl+ins` and `shift+ins` are system-wide alternate keybindings
(except for terminals) for `Copy` and `Paste` respectively. This PR
explicitly defines them as such in Ghostty's default keybindings.
Using `ctrl+ins` as an alt-keybinding for `Copy` allows
static/context-unaware remapping of `Copy` to `cmd+c` for Linux systems
using Mac keyboards via
[keyd](https://github.com/NixOS/nixpkgs/issues/137698#issuecomment-2404192700 );
with the default `ctrl+shift+c` keybinding for copy this is basically
impossible (because that binding only applies to terminals).
2025-01-02 07:57:57 -08:00
Mitchell Hashimoto
9503c9fe50
Rename goto_split
top/bottom directions to up/down. ( #3427 )
...
Renames the top/bottom directions of `goto_split` to up/down. I have
tested this on linux (nixos) but given that `goto_split` is broken on
linux anyway (#2866 ) there's not a whole lot to test.
I have no way to build on macOS so I can't verify that I've changed
everything correctly for that.
Closes #3237
2025-01-02 07:08:16 -08:00
Mitchell Hashimoto
2030599e1d
Fix the format string of font size in points in the inspector ( #4371 )
...
It's an `f32` which was previously formatted with `%d`.
Credits to @gabydd who found this over at
https://discord.com/channels/1005603569187160125/1324249888514506752/1324275061380874250 .
2025-01-02 07:05:04 -08:00
Mitchell Hashimoto
75571fb804
Improve resize_split documentation ( #4393 )
2025-01-02 07:02:33 -08:00
Mitchell Hashimoto
4047c89c24
Improve new_split documentation ( #4389 )
2025-01-02 07:02:23 -08:00
Mitchell Hashimoto
e55444e6fe
Improve goto_split documentation ( #4388 )
...
This wasn't immediately obvious to me when configuring goto_split
2025-01-02 07:02:14 -08:00
Jade
355ac91c0a
Improve resize_split documentation
2025-01-02 21:33:47 +08:00
Jade
cd809106c4
Improve new_split documentation
2025-01-02 21:05:56 +08:00
Jade
80fe32be32
Update Binding.zig
2025-01-02 20:58:50 +08:00
Jade
15ceb18fcb
Improve goto_split documentation
2025-01-02 20:54:42 +08:00
Kat
78b914b3d8
Fix format string of font size in points in the inspector
...
Credits to @gabydd who found this over at https://discord.com/channels/1005603569187160125/1324249888514506752/1324275061380874250 .
Co-authored-by: Gabriel Dinner-David <gabydinnerdavid@gmail.com>
2025-01-02 07:44:40 +00:00
Mitchell Hashimoto
94599102e9
Try to create parent directory when writing default config ( #4295 )
...
Fixes https://github.com/ghostty-org/ghostty/issues/4277
2025-01-01 13:02:08 -08:00
Mitchell Hashimoto
89982912c1
Fix: typo in comment ( #4257 )
...
Fix: 'becauseonce' -> 'because once'
2025-01-01 13:01:29 -08:00
Mitchell Hashimoto
bec9483892
Adding default.nix for flake-compat ( #4279 )
...
This way non-flake users can access packages with niv or npins easily,
and as flake-compat is already a dependency, this is just a "glue".
Copy-pasted from
[here](ff81ac966b (usage)
).
An example with npins would be:
`npins add github ghostty-org ghostty`
and then in the config:
```nix
{pkgs, ...}: let
sources = import ./npins;
ghostty = import sources.ghostty;
in {
environment.systemPackages = [ ghostty.packages.${pkgs.system}.default ];
}
```
2025-01-01 13:01:14 -08:00
Mitchell Hashimoto
028eeb442c
Fix typo in freetype-load-flags
documentation ( #4291 )
2025-01-01 13:00:54 -08:00
Mitchell Hashimoto
f1ab7bf0f6
Don't install 1024x1024 icons for Flatpak ( #4313 )
...
Per the Flatpak spec
(https://docs.flatpak.org/en/latest/conventions.html#application-icons )
the maximum icon size is 512x512. Trying to build a Flatpak with an icon
larger than this will fail.
To solve this, installing the icon is skipped when building with
-Dflatpak=true.
2025-01-01 12:58:26 -08:00
Yorick Peterse
96fd18f994
Don't install 1024x1024 icons for Flatpak
...
Per the Flatpak spec (https://docs.flatpak.org/en/latest/conventions.html#application-icons )
the maximum icon size is 512x512. Trying to build a Flatpak with an icon
larger than this will fail.
To solve this, installing the icon is skipped when building with
-Dflatpak=true.
2025-01-01 20:43:52 +01:00
Tim Visher
57ace2d0b8
Clarify CLI vs. Keybind Actions documentation
...
https://github.com/ghostty-org/ghostty/discussions/4107#discussioncomment-11699228
2025-01-01 12:34:55 -05:00
Maciej Bartczak
cdf51b1304
Try to create parent directory when writing default config
2025-01-01 18:28:26 +01:00
Sebastian Lövdahl
120fffa42c
Fix typo in freetype-load-flags
documentation
2025-01-01 19:07:23 +02:00
arthsmn
180db3c77b
Adding default.nix for flake-compat
2025-01-01 12:36:32 -03:00
moritz-john
b1a197ef57
Fix: typo in comment
...
Fix: 'becauseonce' -> 'because once'
2025-01-01 09:46:06 +01:00
Maciej Bartczak
9ce4e36aa2
code review - revert explicit error handling
2025-01-01 08:56:58 +01:00
Mitchell Hashimoto
60611b8a4a
Set the paste preview text in GTK4 to monospace ( #4227 )
...
A simple change to make the text preview in the paste confirmation
dialog monospace; this feels like something that most users would want,
or at least very few users would dislike.
We just call `gtk_text_view_set_monospace` and let GTK use whatever
default monospace font it wants to use. Theoretically we could probably
tell it to use whatever font the user has configured, but this should be
sufficient for most users.
2024-12-31 15:54:43 -08:00
Mitchell Hashimoto
e9e82d94ac
PACKAGING: Note GLFW is not for distribution
2024-12-31 14:34:26 -08:00
Daniel Fox
41719aa48c
Set the paste preview to monospace
2024-12-31 14:26:03 -08:00
Mitchell Hashimoto
1d71196de3
up version to 1.0.2 for development
2024-12-31 14:12:00 -08:00
Mitchell Hashimoto
3f7c3afaf9
ci: source tarball files must not be quoted
v1.0.1
2024-12-31 12:47:50 -08:00
Mitchell Hashimoto
a857d56fb6
ci: proper blob file setup for source tarballs on release
2024-12-31 12:43:33 -08:00
Maciej Bartczak
4ccd564849
code review:
...
- initialize custom_css_providers using a default value
- remove usage of buffered reader
- document maximum file size
- handle exceptions explicitly
2024-12-31 21:21:44 +01:00
Mitchell Hashimoto
df0620afe9
Fix SGR direct-color parsing issue ( #4216 )
...
Fix for a little parsing issue I took note of
[here](https://github.com/ghostty-org/ghostty/issues/2125#issuecomment-2466537683 ).
The disparity in behavior between `ghostty@main` and `xterm` can be seen
with this reproduction script:
```sh
printf "\e[0m\nForeground:\n";
printf "\e[38:2:0:255:0mGreen\n";
printf "\e[38;2;0;255;0mGreen\n";
printf "\e[38:2:0:255:0:255mMagenta\n";
printf "\e[38;2;0;255;0;255mGreen\n";
printf "\e[0m\nBackground:\n";
printf "\e[48:2:0:255:0mGreen\n";
printf "\e[48;2;0;255;0mGreen\n";
printf "\e[48:2:0:255:0:255mMagenta\n";
printf "\e[48;2;0;255;0;255mGreen\n";
printf "\e[0m\nUnderline:\n";
printf "\e[58:2:0:255:0m\e[4mGreen\n";
printf "\e[58;2;0;255;0m\e[4mGreen\n";
printf "\e[58:2:0:255:0:255m\e[4mMagenta\n";
printf "\e[58;2;0;255;0;255m\e[4mGreen\n";
printf "\e[0m\n";
```
### Outputs:
|`xterm`|`ghostty@main`|this PR|
|-|-|-|
|<img width="85" alt="image"
src="https://github.com/user-attachments/assets/a0aacff2-2103-4fff-9160-5e663d8a70a2 "
/>|<img width="110" alt="image"
src="https://github.com/user-attachments/assets/0ad12e67-3f2c-46f3-b0ee-9230032d188a "
/>|<img width="110" alt="image"
src="https://github.com/user-attachments/assets/7477e3cf-7d27-419e-986b-8df581e52398 "
/>|
2024-12-31 12:13:05 -08:00
Jan200101
5957e1101c
don't build harfbuzz when system integration is enabled
2024-12-31 21:09:13 +01:00
Qwerasd
4543cdeac8
fix(terminal): correct SGR direct color parsing
2024-12-31 15:05:25 -05:00
Qwerasd
5ba8fee38a
test/terminal: add failing sgr direct color parsing test
...
Behavior checked against xterm
2024-12-31 14:57:54 -05:00
Mitchell Hashimoto
47cf5cbb40
core: fix windows compile regression from #4021 ( #4212 )
2024-12-31 11:16:10 -08:00
Maciej Bartczak
973467b1ca
code review:
...
- use ArrayListUnmanaged
- read the stylesheet file using zig api
- use proper css_provider_load_ function depending on the GTK version
2024-12-31 20:08:12 +01:00
Jeffrey C. Ollie
cf34ffa28e
core: fix windows compile regression from #4021
2024-12-31 12:56:18 -06:00
Mitchell Hashimoto
eaa872216b
write_*_file
actions default to mode 0600 (#4201 )
...
This commit changes the default filemode for the write actions so that
it is only readable and writable by the user running Ghostty.
2024-12-31 07:20:28 -08:00
Mitchell Hashimoto
d59a57e133
write_*_file
actions default to mode 0600
...
This commit changes the default filemode for the write actions so that
it is only readable and writable by the user running Ghostty.
2024-12-31 07:16:43 -08:00
Maciej Bartczak
27c3382a6a
Implement loading custom css in the GTK app
2024-12-31 15:53:10 +01:00
Mitchell Hashimoto
a30b2eda39
Handle short boolean flags in zsh/fish completions ( #4039 )
...
Closes: https://github.com/ghostty-org/ghostty/issues/2992
2024-12-31 06:45:44 -08:00
Aarni Koskela
e20ec96fee
config: improve documentation for color configuration
2024-12-31 14:50:37 +02:00
Jan200101
6a8b31571b
reuse strip option for libraries
2024-12-31 12:09:11 +01:00
Jan200101
061a730dd3
move strip switch behind option
2024-12-31 12:06:45 +01:00
Maciej Bartczak
85ed9b626e
explicitly handle bool values
2024-12-31 09:36:23 +01:00