Kovid Goyal
58a3baaf0f
Wayland: Use XDG_ACTIVATION_TOKEN when present at launch
2022-09-11 13:43:52 +05:30
Kovid Goyal
30e1b4680d
Only override LANG in default env if it was not set either in the original os env or via the env config directive
2022-08-30 19:17:53 +05:30
Kovid Goyal
22fbdbca40
Fix a regression in 0.26.0 that caused kitty to no longer set the LANG environment variable on macOS
...
Happened because reading the locale uses cocoa APIs and they are not fork
safe, so it was moved to after prewarm forking, but at that point the
default child env had already been set.
Fixes #5439
2022-08-29 20:58:48 +05:30
Kovid Goyal
44ccdd36d6
Remove socket prewarming
...
The potential for breakage is too high, and I am working on an
alternative solution that will be better long term.
Prewarming is still used for kittens launched via keybindings
2022-08-20 13:38:33 +05:30
Kovid Goyal
18bf76d49e
Dont set KITTY_LISTEN_ON for windows with --allow-remote-control
2022-08-16 10:50:17 +05:30
Kovid Goyal
4c5f7f50f7
Control KITTY_LISTEN_ON more precisely
2022-08-16 10:16:18 +05:30
Kovid Goyal
814dd8a275
allow_remote_control should be per window not per child
2022-08-15 21:32:14 +05:30
Kovid Goyal
1a643441f3
Make the kitty public key available as an env var to child processes
2022-08-10 12:36:04 +05:30
Kovid Goyal
e0ce0a67cc
ensure setting KITTY_PREWARM_SOCKET_REAL_TTY does not clobber the environ
2022-08-01 19:03:03 +05:30
Kovid Goyal
0d83a8866b
Make setting the real tty name more robust
2022-08-01 19:03:03 +05:30
Kovid Goyal
7b7f1ecc54
Add basic tests for socket prewarm
2022-08-01 19:02:58 +05:30
Kovid Goyal
d1b028c27a
Dont pass inherited KITTY_PREWARM_SOCKET
2022-08-01 19:02:58 +05:30
Kovid Goyal
320d45a3f5
Only use prewarm socket if uid and gid match
2022-08-01 19:02:58 +05:30
Kovid Goyal
39bb0ecfcf
more work on socket based prewarm
2022-08-01 19:02:57 +05:30
Kovid Goyal
7215c6d6be
ssh kitten: Allow pressing Ctrl-C to abort ssh before the connection is completed
...
Fixing this involved adding a new mode to kitty where it handles
ctrl-c/z/q by sending signals to the tty foreground process group
instead of delegating to the kernel to do that. Since the pipe may be
full we have no way of knowing when the kernel will get around to
reading the signal byte. So send the signal ourselves.
Fixes #5271
2022-07-20 19:11:14 +05:30
Kovid Goyal
f023f047ff
Workaround for Python 3.11 breaking sys._xoptions
...
Apparently in Python-land its acceptable behavior to break backward
compatibility with documented interfaces on a whim. Bloody joke.
https://github.com/python/cpython/pull/28823
Fixes #5223
2022-06-23 08:44:34 +05:30
Kovid Goyal
da6faa656c
Use a fork() without exec() to create prewarm process
...
This has the advantages:
1) Even first kitten use is fast
2) Computer has to do less work overall since prewarm process is itself prewarmed
2022-06-12 18:06:51 +05:30
Kovid Goyal
6807f4d4ea
Report the correct cmdline for prewarmed processes
2022-06-09 07:01:41 +05:30
Kovid Goyal
0ed7b2f3c0
Manage fd lifecycles a bit better
2022-06-09 07:01:41 +05:30
Kovid Goyal
116128ebb5
Get prewarm working
...
Needed to wait in the control process for child to set its controlling
terminal so that closing the slave fd in kitty is safe.
2022-06-09 07:01:41 +05:30
Kovid Goyal
47d482dca9
Clear signal handlers when running processes
2022-06-08 17:50:42 +05:30
Kovid Goyal
f20f4762a8
Use builtin facility for removing cloexec
2022-06-05 12:33:34 +05:30
Kovid Goyal
5a0a980648
Make getting cmdline of a PID a bit more convenient
2022-06-04 15:07:08 +05:30
Kovid Goyal
efa873bf50
DRYer
2022-04-22 10:53:25 +05:30
Kovid Goyal
0ee5712e00
Start work on option to control sourcing strategies
2022-04-17 15:30:57 +05:30
Kovid Goyal
34c18bacd8
Free up memory used to store copy of child env block
2022-04-17 08:35:55 +05:30
Kovid Goyal
3af11e92d6
Ensure the clone launch env var is not set accidentally
2022-04-17 08:29:47 +05:30
Kovid Goyal
291f9e9a5e
Make cloning safer
...
Now env vars are set after shell rc files are sourced. And the clone
request cannot specify the cmdline to execute.
2022-04-17 07:49:58 +05:30
Kovid Goyal
716813e38a
Proper fix for macOS argv[0]
2022-04-15 15:23:45 +05:30
Kovid Goyal
0fcfe104e3
Handle argv[0] being buggered on macOS
2022-04-15 12:25:05 +05:30
Kovid Goyal
feea6998f8
Allow using the cwd of the oldest as well as the newest foreground process for launch --cwd
2022-04-13 15:31:17 +05:30
Kovid Goyal
587f44ad4e
A working implementation of cwd_of_process for FreeBSD
2022-04-12 22:06:46 +05:30
Kovid Goyal
72b1996423
Allow different kinds of cwd requests
2022-03-17 10:24:34 +05:30
Kovid Goyal
ce1e22ac95
Have *_with_cwd work with the ssh kitten to open new windows auto-logged into the remote server at the current remote working directory
2022-03-15 19:59:16 +05:30
Kovid Goyal
8f77cc65e2
Use a full window object rather than a child PID to get cwd
...
This allows implementation of more sophisticated algorithmhs
for getting the cwd
2022-03-15 07:58:57 +05:30
Kovid Goyal
88091b4ab3
BASH integration: No longer modify .bashrc to load shell integration
...
I think I have things setup robustly so that the shell integration
is loaded transparently via env vars and the normal bash startup files
are sourced, in the same way that vanilla bash does it. Let's hope I
haven't overlooked something.
2022-02-22 21:24:51 +05:30
Kovid Goyal
7448789951
Improve CWD detection when there are multiple foreground processes in the TTY process group
2022-02-08 20:30:00 +05:30
pagedown
ba0f61d752
Refactor: More f-string for kitty
2022-01-29 20:17:46 +08:00
Kovid Goyal
70d5a5134f
Log a nicer error message when failing to read cwd of a process
2021-12-22 16:22:33 +05:30
Kovid Goyal
32768e7939
Unify the PATH searching algorithm for launch and running children
2021-12-08 20:10:34 +05:30
Kovid Goyal
c8c6f8691f
Store the shell_integration option as a set
2021-11-29 12:41:25 +05:30
Kovid Goyal
0c160eab7b
Avoid needing to exec kitty to get manual shell integration
2021-11-08 11:37:50 +05:30
Kovid Goyal
8218df82f2
Add function to get path to integration script for the current shell
...
Makes setting up manual shell integration much easier. Also clean up
integration docs.
2021-11-08 11:11:16 +05:30
Kovid Goyal
35514e0cc3
Dont change XDG_DATA_DIRS for child processes in fish shell integration
...
Fixes #4199
2021-11-07 10:06:18 +05:30
Kovid Goyal
d090db380f
Add more type annotations
2021-10-27 13:26:18 +05:30
Kovid Goyal
4494ddd8ff
mypy: Turn on return value checks
...
Its a shame GvR is married to "return None"
https://github.com/python/mypy/issues/7511
2021-10-26 22:39:14 +05:30
Kovid Goyal
6546c1da9b
run pyupgrade to upgrade the codebase to python3.6
2021-10-21 12:43:55 +05:30
Kovid Goyal
3cea8f24d4
...
2021-10-02 04:58:47 +05:30
Kovid Goyal
5f32d2e56f
Uppercase DELETE_ENV_VAR
2021-09-16 10:16:33 +05:30
Kovid Goyal
5b716df45f
We dont need a special class for delete_env_var
2021-09-16 09:53:54 +05:30