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
Mitchell Hashimoto
389712a698
renderer/opengl: switch to new update vs draw
2023-11-17 21:50:34 -08:00
Mitchell Hashimoto
45dfbfe53c
renderer: address issue with inverted cells
2023-11-17 21:47:24 -08:00
Raiden1411
7a239835d2
core: add config option to invert fg and bg of cell when selected
2023-11-18 01:04:14 +00:00
Krzysztof Wolicki
44a48f62f1
change unmodified var
s to const
s in anticipation of zig changes
2023-11-17 15:46:46 +01:00
Mitchell Hashimoto
b5bf7e9d3b
Merge pull request #890 from mitchellh/faint-bg
...
renderer: faint should not be applied to bg alpha
2023-11-15 11:41:35 -08:00
Mitchell Hashimoto
ed3e3764d9
renderer: faint should not be applied to bg alpha
...
Fixes #889
2023-11-15 11:38:16 -08:00
Mitchell Hashimoto
ad24e5e687
renderer/opengl: use new preedit format
2023-11-15 09:59:08 -08:00
Mitchell Hashimoto
5c8c4bb06e
renderer/opengl: handle wide preedit
2023-11-10 17:30:14 -08:00
Gregory Anders
171292a063
core: implement OSC 12 and OSC 112 to query/set/reset cursor color
2023-11-09 16:21:07 -06:00
Gregory Anders
33753f59c8
core: implement OSC 104, 110, and 111 to reset colors
2023-11-09 16:17:21 -06:00
Lukáš Dvořák
bca7140248
balanced padding cleanup
2023-10-30 14:56:02 +01:00
Lukáš Dvořák
6887ea7e53
fix window-padding-balance in combination with explicit padding
2023-10-30 13:46:19 +01:00
Mitchell Hashimoto
06edc311a1
renderer/opengl: reclaim cell buffer memory when resizing
2023-10-28 11:38:20 -07:00
Mitchell Hashimoto
ab35a21dc2
renderer: render cursor behind colored emoji
2023-10-16 12:57:23 -07:00
Mitchell Hashimoto
b4070eb67e
renderer: unfocused cursor should always be fully opaque
2023-10-14 14:11:15 -07:00
Mitchell Hashimoto
ff38d3e358
config: add cursor-opacity
2023-10-14 14:08:06 -07:00
Mitchell Hashimoto
7167cf9054
renderer: default cursor color to foreground
...
Fixes #667
2023-10-14 14:02:17 -07:00
Mitchell Hashimoto
4f5a05e087
renderer: render cursor over wide character if on tail part
2023-10-13 14:39:10 -07:00
Mitchell Hashimoto
7995d44cfb
font: render sprites with a configurable grid cell width
...
Fixes #666
2023-10-13 14:31:55 -07:00
Mitchell Hashimoto
b98cc3d79f
config: add remaining font modifiers
2023-10-04 22:08:19 -07:00
Mitchell Hashimoto
5c1fbd09cd
font: shaper dynamically allocates cell buffer
...
Pathlogical grapheme clusters can use a LOT of memory, so we need to be
able to grow.
2023-09-26 17:59:16 -07:00
Mitchell Hashimoto
b1389cbbfe
renderer: support font style changing at runtime
2023-09-26 08:51:04 -07:00
Mitchell Hashimoto
4b791f3ee1
renderer: always reset font group on config change
2023-09-26 08:18:11 -07:00
Mitchell Hashimoto
4b8056afd8
renderer/opengl: remove gpucell lru cache
...
There was no noticable performance improvement and it complicated the
code and also diverged it from Metal.
2023-09-22 09:47:01 -07:00
Mitchell Hashimoto
bebf6bb108
renderer/opengl: only skip drawing cells if they're empty, not clear
...
Fixes #518
This optimization to avoid a draw call to OpenGL was premature. This
optimization is fine but needs to happen only for the draw calls. We
still need to clear the screen if we have no cells.
This was causing #518 because when the cursor was blinked (invisible)
then we had no cells so we'd skip the draw call which reused the old
buffer state for OpenGL.
2023-09-22 09:45:26 -07:00
Mitchell Hashimoto
0cf2ed6a9f
renderer/opengl: gl state init needs to set blending, realization
2023-09-16 11:26:07 -07:00
Mitchell Hashimoto
a19acf14d2
renderer/opengl: support reloading the Opengl state
2023-09-16 09:37:29 -07:00
Mitchell Hashimoto
58100f0a00
renderer/opengl: OpenGL state may be nil to disable rendering
2023-09-16 09:08:35 -07:00
Mitchell Hashimoto
10989ae7b0
renderer: implement underline cursor
2023-09-10 22:05:47 -07:00
Mitchell Hashimoto
3583a0c1ca
renderer/opengl: new cursor apis
2023-09-09 20:37:56 -07:00
Mitchell Hashimoto
a6c40d0417
renderer: always show cursor if window is not focused
...
Fixes #400
This ensures the hollow box is shown even if the cursor is not in a
blinking state when unfocus happens. We still hide the cursor even on
unfocus if the terminal mode explictly asks for a hidden cursor.
2023-09-06 11:23:42 -07:00
SoraTenshi
6faed268e0
config: clean up cursor style configuration
2023-09-03 07:51:36 -07:00
Mitchell Hashimoto
22eb533473
content scale change events should also impact viewport padding
...
This calculates the new padding pixel values and propogates those
changes to the renderer.
2023-09-02 11:00:51 -07:00
Mitchell Hashimoto
e2fae7ab2b
surface should default to default cursor, blinking should check selected
2023-08-30 08:12:38 -07:00
Mitchell Hashimoto
ae0de7bce4
renderer: split ligature around cursor even if cursor is flashing
...
Fixes #356
2023-08-29 13:49:14 -07:00
Mitchell Hashimoto
0204d94921
Merge pull request #349 from mitchellh/sync
...
Synchronized Output Sequence
2023-08-28 13:15:50 -07:00
Mitchell Hashimoto
5168dc7645
renderer: do not render if synchronized output is on
2023-08-28 11:38:11 -07:00
SoraTenshi
fcf1537f82
config: Add option for custom cursor style
2023-08-28 18:20:45 +02:00
Kevin Hovsäter
8b9a11db4b
Implement cursor text in addition to color
2023-08-26 15:29:48 +02:00
Mitchell Hashimoto
7ccf86b175
remove imgui and devmode
...
imgui has been a source of compilation challenges (our fault not theirs)
and devmode hasn't worked in awhile, so drop it.
2023-08-20 08:50:24 -07:00
Mitchell Hashimoto
ab68569281
renderer/opengl: fix compilation for new modes style
2023-08-15 13:33:06 -07:00
Mitchell Hashimoto
55778a049b
apprt/gtk, opengl: render preedit
2023-08-11 12:37:27 -07:00
cryptocode
6045088afc
Don't show hollow cursor in inactive windows when cursor is hidden.
...
This is the behavior of the other terminals I have, such as iTerm, allcritty, WezTerm, and Kitty. The hollow cursor is especially noticable when running in two panes,
one of them inactive with animations (such as a progress bar)
2023-08-11 17:20:03 +02:00
Mitchell Hashimoto
85e32f9a15
renderer: hide cursor is state explicit asks for invisible cursor
...
This was a regression. The previous logic would always show the cursor
if we were using a non-blinking cursor. But, if the terminal state is
explicitly requesting an invisible cursor (mode 25) then we need to hide
the cursor.
2023-08-06 09:55:13 -07:00
Mitchell Hashimoto
2065dd77d7
renderer/opengl: need to release OpenGL context with glfw
2023-08-05 22:33:55 -07:00
Mitchell Hashimoto
4b062dc45c
font/shaper: text runs should split around block cursors
...
Fixes #206
2023-07-18 16:20:30 -07:00
Mitchell Hashimoto
3d48432daf
renderer: change padding to integers
...
Screen size is always an integer, it makes sense for padding to also be
rounded to some integer.
2023-07-18 10:44:33 -07:00