Mitchell Hashimoto
1c2c468b7c
Merge pull request #911 from mitchellh/ctrl-tab
...
macos: alternate solution to ignoring "always" userTabbingPreference
2023-11-18 21:14:17 -08:00
Mitchell Hashimoto
7d9eaddeb3
macos: alternate solution to ignoring "always" userTabbingPreference
...
Related to #642
Fixes #910
See #642 for why we want to ignore the "always" userTabbingPreference.
To do that, we'd set tabbingMode to "disallow" because we manually (in
code) handled it all.
Unfortunately, setting the tabbingMode to "disallow" introduce #910 . I
still believe this is a macOS bug at heart, so I'm going to submit an
Apple Feedback item for it. However, I've found a workaround which I
also feel is the better solution, implemented here.
Instead of setting tabbingMode to "disallow" I now detect if we're in
the scenario where the user has their system tabbing preference set to
"always". In that case, we detect if the new window has been
automatically put into a tab group by macOS, and if so we remove it.
This all happens in the `windowDidLoad` controller callback. At this
phase, our Ghostty-managed windows should NEVER be in a tab group,
because "new tab" adds them to a tab _after_. So we can be certain that
if we're already in a tab group it was from the macOS system setting.
This happens to fix #910 .
2023-11-18 21:09:08 -08:00
Mitchell Hashimoto
eb694574ab
config: select all should default to ctrl+shift+a on linux
2023-11-18 11:17:02 -08:00
Mitchell Hashimoto
2a002bad5e
Merge pull request #908 from gpanders/surface-close
...
macos: ensure all surfaces are closed when a window is closed
2023-11-18 08:32:13 -08:00
Gregory Anders
be7be538af
macos: ensure all surfaces are closed when a window is closed
2023-11-18 08:40:40 -06:00
Mitchell Hashimoto
080789957a
Merge pull request #903 from mitchellh/macos-update
...
Custom Shaders (Metal and OpenGL)
2023-11-17 22:06:38 -08:00
Mitchell Hashimoto
eaf847381a
config: clarify runtime reloading of shader stuff
2023-11-17 22:00:33 -08:00
Mitchell Hashimoto
f2513e0825
Merge pull request #876 from gpanders/notifications
...
Add support for desktop notifications
2023-11-17 21:57:09 -08:00
Mitchell Hashimoto
e55cb274ba
config: custom-shader-animation
2023-11-17 21:51:07 -08:00
Mitchell Hashimoto
61f10dc583
renderer/opengl: new gpucell
2023-11-17 21:51:07 -08:00
Mitchell Hashimoto
8253fc1f31
renderer/opengl: shaders only need one color input
2023-11-17 21:51:07 -08:00
Mitchell Hashimoto
2db36646ac
renderer/opengl: some comments
2023-11-17 21:51:07 -08:00
Mitchell Hashimoto
a64d12d3cb
renderer: animations should stop if config changes them
2023-11-17 21:51:07 -08:00
Mitchell Hashimoto
5d7c47a469
renderer/metal: clean up some memory management
2023-11-17 21:51:06 -08:00
Mitchell Hashimoto
cc389c81c2
quiet tests
2023-11-17 21:51:06 -08:00
Mitchell Hashimoto
39e7055853
renderer/opengl: enable animations
2023-11-17 21:51:06 -08:00
Mitchell Hashimoto
5c7bad2f7d
renderer/opengl: resize the screen texture
2023-11-17 21:51:06 -08:00
Mitchell Hashimoto
c8a51a2158
renderer/opengl: create the screen texture
2023-11-17 21:51:06 -08:00
Mitchell Hashimoto
db244da101
config: note custom-shader requires opengl 4.2 on linux
2023-11-17 21:51:06 -08:00
Mitchell Hashimoto
fbc13d08b0
renderer/opengl: set resolution uniform on screen size change
2023-11-17 21:51:06 -08:00
Mitchell Hashimoto
2559d6b367
renderer/opengl: increment time uniform
2023-11-17 21:51:06 -08:00
Mitchell Hashimoto
e0afa442c4
renderer/opengl: better organization of custom shader state
2023-11-17 21:51:06 -08:00
Mitchell Hashimoto
47971e7663
renderer/opengl: setup uniform buffer objects for custom shaders
2023-11-17 21:51:06 -08:00
Mitchell Hashimoto
5fc91401f2
renderer/opengl: draw custom shaders, simplified
2023-11-17 21:51:06 -08:00
Mitchell Hashimoto
da600fee8f
renderer/opengl: pull out cell program drawing to dedicated func
2023-11-17 21:51:06 -08:00
Mitchell Hashimoto
aff5090362
renderer/opengl: simplifying the custom shader to get things working
2023-11-17 21:51:06 -08:00
Mitchell Hashimoto
1fedc912f0
renderer/opengl: create ubos
2023-11-17 21:51:05 -08:00
Mitchell Hashimoto
3502db0f5f
renderer/opengl: start custom program work
2023-11-17 21:51:05 -08:00
Mitchell Hashimoto
cc630f10ac
renderer/opengl: only one GPUCell
2023-11-17 21:51:05 -08:00
Mitchell Hashimoto
fb0929a11b
renderer/opengl: extract cell program state to dedicated struct
2023-11-17 21:51:05 -08:00
Mitchell Hashimoto
46dd084ee9
renderer/opengl: wip
2023-11-17 21:51:05 -08:00
Mitchell Hashimoto
3aa217ad2e
pkg/opengl: add Framebuffer APIs
2023-11-17 21:51:05 -08:00
Mitchell Hashimoto
8576acb89e
renderer/opengl: move opengl API to pkg/opengl
2023-11-17 21:51:04 -08:00
Mitchell Hashimoto
76a88e3fbe
renderer: spirv binary must be aligned to u32
2023-11-17 21:50:53 -08:00
Mitchell Hashimoto
4742cd308d
renderer: animation timer if we have custom shaders
2023-11-17 21:50:53 -08:00
Mitchell Hashimoto
17de73f802
renderer: log shadertoy compile errors
2023-11-17 21:50:53 -08:00
Mitchell Hashimoto
3a17ac48cf
prettier: ignore shaders
2023-11-17 21:50:53 -08:00
Mitchell Hashimoto
244e7266a1
renderer/metal: don't recreate custom shader resources per frame
2023-11-17 21:50:53 -08:00
Mitchell Hashimoto
d3bc1ab6da
renderer/metal: reuse an intermediate texture for custom shaders
2023-11-17 21:50:53 -08:00
Mitchell Hashimoto
bc70d19257
renderer/metal: set valid sampler properties
2023-11-17 21:50:53 -08:00
Mitchell Hashimoto
01a73994cb
renderer/metal: setup sampler state
2023-11-17 21:50:53 -08:00
Mitchell Hashimoto
1e572fb10b
renderer/metal: load custom shaders
2023-11-17 21:50:52 -08:00
Mitchell Hashimoto
2520bb3d07
config: introduce RepeatablePath to automatically expand
2023-11-17 21:50:36 -08:00
Mitchell Hashimoto
9fbee7e6d1
renderer: turn assertion into error
2023-11-17 21:50:35 -08:00
Mitchell Hashimoto
dba78b20ca
renderer: shadertoy convert to MSL
2023-11-17 21:50:35 -08:00
Mitchell Hashimoto
1bd92619b1
renderer: shadertoy functions
2023-11-17 21:50:35 -08:00
Mitchell Hashimoto
3a4aef2dcd
pkg/spirv-cross: correct c header
2023-11-17 21:50:35 -08:00
Mitchell Hashimoto
291ca16c20
build: add spirv-cross
2023-11-17 21:50:35 -08:00
Mitchell Hashimoto
7821e6aa3a
pkg/spirv-cross
2023-11-17 21:50:35 -08:00
Mitchell Hashimoto
6634ccc09c
pkg/spirv-cross
2023-11-17 21:50:35 -08:00