Kovid Goyal
f50660bb30
Remote control: Allow matching by neighbor of active window
2023-08-25 13:48:53 +05:30
Kovid Goyal
59b47a3a8f
A facility to easily have child programs print to kitty stdout
...
Works better than the kitty-print DCS escape code as that tends to get
interleaved with other writes to the tty since the loop infrastructure
writes in a separate I/O thread.
2023-07-30 19:49:44 +05:30
Kovid Goyal
950fbfbd73
Sanitize user vars
2023-07-27 19:00:21 +05:30
Kovid Goyal
2dfad8e854
Allow matching on user vars
2023-07-27 16:54:50 +05:30
Kovid Goyal
c767dd0d0d
kitty @ ls: Add user variables set on windows to the output
...
These can be set by programs running in the window using the OSC 1337
escape code, as specified here:
https://iterm2.com/documentation-scripting-fundamentals.html#setting-user-defined-variables
Fixes #6502
2023-07-27 13:47:22 +05:30
Kovid Goyal
a1e5b72ca5
Remote control launch: Fix --env not implemented when using --cwd=current with the SSH kitten
...
Fixes #6438
2023-07-11 09:22:15 +05:30
Kovid Goyal
d2bdfbee9d
Dont require kitten to be in PATH when opening at cwd
2023-07-10 18:02:09 +05:30
Kovid Goyal
d3f14ffbf4
macOS: Fix window shadows not being drawn for transparent windows
...
Re-organize the whole infrastructure for setting window chrome, doing it
in a single function that has access to all settings.
Fixes #2827
Fixes #6416
2023-07-04 11:59:50 +05:30
Kovid Goyal
97746a26f5
Move loading of shader programs into shaders module
2023-06-13 18:08:39 +05:30
Kovid Goyal
9f377c5ccb
Cache shader source code loading
2023-06-13 17:58:17 +05:30
Kovid Goyal
85a955a796
Move shader loading code into its own module
2023-06-13 17:09:38 +05:30
Kovid Goyal
444ec2484d
Infrastructure for loading shaders from multiple source files
...
Can eventually be used to share source code (functions) across many shaders
2023-06-13 12:55:00 +05:30
Kovid Goyal
d3fc8a2897
Remove a bunch of option processing code and directly define the threshold in the shader
2023-05-24 21:23:39 +05:30
Kovid Goyal
42edc3ebc8
Calculate only one composition strategy in the fragment shader
...
Use defines instead of mix() avoiding doing a bunch or per pixel work on
the GPU
2023-05-24 21:09:28 +05:30
Kovid Goyal
b45d7ae21f
Dont require restart to change text_fg_override_threshold from zero to non-zero
2023-05-24 13:50:19 +05:30
Kovid Goyal
53073f34d7
Cleanup previous PR
2023-05-24 13:31:29 +05:30
Luna McNulty
9bd97b090d
Remove glsl if-else, add macro, separate new opt
...
This adds a config option called text_fg_override_threshold that
specifies a percentage difference luminance below which the
foreground color will be overridden. The foreground color is set
to white if the background is dark or black if the background is
light. The default is 0, and the computations will only be
performed if the option is set.
Many programs output colors that look good with the author's
terminal's color scheme but which are completely illegible with
other color schemes. This allows the user ensure that there is
always sufficient contrast to read the text on the screen.
I originally implemented this is as a parameter on
text_composition_strategy. For that to work, the option needed to
take _up to_ rather than _exactly_ the number of available
parameters. While it now has nothing to do with the new feature,
it seems like that change should be made anyway, so I'm leaving
it in for now.
2023-05-20 11:13:53 -04:00
Kovid Goyal
5b8b91b6a3
Add support for OSC 1337 SetUserVar
...
See https://github.com/kovidgoyal/kitty/discussions/6229
2023-05-11 17:57:45 +05:30
Kovid Goyal
061c444f20
...
2023-05-08 16:36:47 +05:30
Kovid Goyal
eab3b2a689
Reduce the number of spurious focus events
...
1) When performing operations known to cause lots of focus changes such
as creating new sessions/windows or moving windows, forcibly ignore focus events
2) Track window focus state and dont report focus events when the state
is unchanged by a focus_changed() call
This allows focus specific code to be restricted to just 2-3 places
instead of having to track every possible function that could change
focus.
Fixes #6083
2023-03-02 13:30:26 +05:30
Kovid Goyal
fccd776732
Fix overlay windows not inheriting the per-window padding and margin settings of their parents
...
Fixes #6063
2023-03-01 21:45:17 +05:30
Kovid Goyal
22f6728fed
Do not buffer PNG data to disk when setting window background or logo images
2023-03-01 17:34:38 +05:30
Kovid Goyal
bf79940a13
When reloading config also reload all GPU data
...
Fixes some config options such as text_composition_strategy not being
reloaded.
2023-03-01 11:14:03 +05:30
Kovid Goyal
00b3437a05
Remove python implementation of SSH kitten
2023-02-28 12:42:30 +05:30
Kovid Goyal
525caff938
Move get_connection_data to utils module as it is not needed for the actual kitten
2023-02-26 08:01:03 +05:30
Kovid Goyal
7c8c7fe3a2
launch: When using --cwd=current for a remote system support running non shell commands as well
2023-02-08 17:52:28 +05:30
Kovid Goyal
682428fb54
Optimize the services implementation
...
Dont construct the selection string when we are merely checking if a
selection exists.
2023-02-01 12:46:19 +05:30
Kovid Goyal
865fc24975
When reporting unused activity in a window, ignore activity that occurs soon after a window resize
...
Fixes #5881
2023-01-15 09:09:07 +05:30
Kovid Goyal
7fe5d7b58f
Replace isort with ruff
2023-01-09 16:47:42 +05:30
Kovid Goyal
c18bff7821
Remote control: Allow matching the parent of an overlay window
2022-12-30 11:29:05 +05:30
Kovid Goyal
4f9ed6546a
Pass key events mapped to scroll actions to the program running in the terminal when the terminal is in alternate screen mode
...
Fixes #5839
2022-12-30 08:54:31 +05:30
Kovid Goyal
c76bbeabd6
...
2022-12-30 08:34:58 +05:30
Kovid Goyal
468b6fab02
Also use sanitized URL for allow_hyperlinks=ask
2022-12-29 17:05:18 +05:30
Kovid Goyal
68cf9f7514
Switch to tracking linewrap on the last cell in a line
...
This allows us to have newline not affect the wrap status of a line.
Now a lines wrapping status is changed only when the last cell
in the line is changed. This actually matches the behavior of many other
terminal emulators so is probably a good thing from a ecosystem
compatibility perspective.
The fish shell expects this weird behavior of newline not changing
wrapping status, for unknown reasons, which is the actual motivation for
doing all this work.
Fixes #5766
2022-12-26 20:26:21 +05:30
pagedown
91576cc42f
Remote control: Keep the same naming style for ls command output
2022-12-12 12:53:58 +08:00
Kovid Goyal
11724c8a5f
Terminal end of OSC 5522 read requests
2022-11-29 14:55:40 +05:30
Kovid Goyal
3ee9f723f2
The legacy osc 52 protocol now works with the new clipboard requests manager class
2022-11-28 20:53:56 +05:30
Kovid Goyal
a8725d6307
Start work on a new clipboard protocol to allow terminal programs to access more than just text/plain content from the clipboard
2022-11-28 14:23:03 +05:30
pagedown
6a1b456bac
DRYer: Get hostname
2022-11-26 16:08:40 +08:00
Kovid Goyal
402c8b6803
Use ANSI C escapes rather than python string literals
2022-11-25 19:10:15 +05:30
Kovid Goyal
dd4051bfd5
Allow getting the exe name of the active foreground process in the tab title template
2022-11-17 22:06:06 +05:30
Kovid Goyal
f3b3d6c0ef
Workaround for mypy bug
2022-11-15 22:47:53 +05:30
Kovid Goyal
d9215feda5
Allow using the cwd of the original process for launch --cwd
...
Fixes #5672
2022-11-15 22:18:19 +05:30
Kovid Goyal
59ded41f7a
When no OS Window is focused the active_* should return those belonging to the last focused OS Window
2022-11-05 11:34:10 +05:30
Kovid Goyal
10ad56885e
Properly specify semantics of active and focused
...
active means active in parent. focused means actually has keyboard
focus.
2022-11-04 10:38:18 +05:30
Kovid Goyal
a856c64104
Have the semantics of is_focused match that of state:focused otherwise things are liable to get confusing
...
The previous value is now available as is_active_window
2022-11-03 22:32:07 +05:30
Kovid Goyal
935c4ded6b
Remote control: When matching window by state:focused match the window belonging to the OS window that was last focused
...
Fixes #5602
2022-11-03 21:52:20 +05:30
Kovid Goyal
26b8ab9adf
Use a regex for bracketed paste sanitization
2022-09-23 22:18:03 +05:30
Kovid Goyal
7e1380cc0d
Start work on giving GLFW a proper clipboard API
2022-09-08 12:45:34 +05:30
Kovid Goyal
f05783e64d
Sanitize notifications ids as they are retransmitted over the TTY
2022-09-05 10:41:19 +05:30