Mitchell Hashimoto
89fe07271e
font: fallback fonts need to deinit their unused deferred faces
...
Fixes #885
Interestingly, this isn't that big of a leak for whatever reason on
macOS. But on Linux with fontconfig this is a MASSIVE memory leak.
2023-11-20 21:05:01 -08:00
Mitchell Hashimoto
bb8e5b9f76
terminal: handle width=3 by pretending width=2 for now
2023-11-20 20:41:58 -08:00
Mitchell Hashimoto
0430758b60
Merge pull request #923 from vancluever/vancluever-config-gtk-titlebar
...
apprt/gtk: let GTK titlebar be toggleable
2023-11-20 20:29:47 -08:00
Chris Marchesi
39e3fca210
apprt/gtk: let GTK titlebar be toggleable
...
This adds the gtk-titlebar option, which allows you to toggle the GTK
titlebar on (default) and off.
Under some circumstances (e.g. tiling WMs with titlebars enabled), one
may wish to disable the GTK titlebar/CSD for aesthetic reasons. This
allows you to do that.
Fixes #920 .
2023-11-20 20:07:11 -08:00
Mitchell Hashimoto
3c98c6375a
terminal: handle width==3 glyphs by just pretending they're width 2
2023-11-20 19:55:06 -08:00
Mitchell Hashimoto
42c4f52711
font: shaper should not look up U+200D for consistent fonts
...
Related to #914
U+200D is the zero-width joiner character used for multi-codepoint
Emojis. When faced with a multi-codepoint grapheme, the font shaper must
find a font that provides _all codepoints_ consistently. However, U+200D
isn't meant to be provided by any font. As a result, the font shaper
search ends up iterating over every font looking for a match.
2023-11-20 19:12:37 -08:00
Mitchell Hashimoto
f2c1e18647
apprt/gtk: support IME popups such as Asian language input
...
Fixes #882
This hooks up all the GTK.IMContext things properly so that we support
switching input methods, popups, etc. This should improve our support
for asian languages, emoji input, etc.
2023-11-20 18:08:23 -08:00
Mitchell Hashimoto
67119e6433
apprt/gtk: disable GTK capturing F10
...
Fixes #894
2023-11-20 14:16:13 -08:00
Mitchell Hashimoto
db7262a8dd
terminal: resize less cols attempts to preserve cursor y
...
Fixes #906
Previously, when the cursor isn't at the bottom and you resized to less
cols, the cursor would jump to the bottom of the viewport. But if you
resized to more columns it didn't do this. This was jarring. This commit
attempts to keep the cursor at the same place.
2023-11-20 14:00:14 -08:00
Mitchell Hashimoto
9988dedb80
renderr/opengl: stylistic
2023-11-20 09:45:38 -08:00
Mitchell Hashimoto
d1de53ed22
renderer/opengl: correct shader params
2023-11-19 22:52:40 -08:00
Mitchell Hashimoto
a5d71723d5
renderer/opengl: do not need to convert
2023-11-19 22:49:30 -08:00
Mitchell Hashimoto
2a10af90a3
renderer/opengl: draw images
2023-11-19 22:43:39 -08:00
Mitchell Hashimoto
64cacce1cf
renderer/opengl: setup image uniforms
2023-11-19 22:33:06 -08:00
Mitchell Hashimoto
76c76ce85e
renderer/opengl: upload kitty image textures
2023-11-19 22:08:07 -08:00
Mitchell Hashimoto
553d81afd1
terminal: enable kitty graphics commands on OpenGL
2023-11-19 21:39:30 -08:00
Mitchell Hashimoto
a325ab5712
terminal: remove invalid test
2023-11-19 21:13:22 -08:00
Mitchell Hashimoto
7066fb7bbb
terminal: ESC [ 2 J does a scroll and clear if viewport is at a prompt
2023-11-19 21:07:16 -08:00
Mitchell Hashimoto
b5cad7184d
terminal: ED handles invalid values
2023-11-19 20:47:04 -08:00
Mitchell Hashimoto
39c2549b1a
terminal: add ESC [ 22 J (scroll and clear)
2023-11-19 20:45:57 -08:00
Mitchell Hashimoto
b220179c3a
terminal: add "clear" screen scroll mode
2023-11-19 20:39:57 -08:00
Mitchell Hashimoto
542f605d54
terminal: add explicit errorset to scroll screen
2023-11-19 20:39:40 -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
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
8576acb89e
renderer/opengl: move opengl API to pkg/opengl
2023-11-17 21:51:04 -08:00