Commit Graph

383 Commits

Author SHA1 Message Date
Kovid Goyal
20b39ee163 Add a default mapping for searching the scrollback
Opens the scrollback pager in search mode. Particularly useful for
newbies on macOS that are used to using cmd+f to trigger search mode.

If there is a current selection, it is automatically searched for.
2025-12-01 08:10:07 +05:30
Kovid Goyal
3d92a52676 When expanding environment variables in listen_on allow the env directive to take effect 2025-11-25 08:19:51 +05:30
Kovid Goyal
7fe38ae579 macOS: Add a cycle through OS windows backwards action 2025-11-12 10:36:45 +05:30
Kovid Goyal
666054955b macOS: Add an item to the global menu to Cycle through OS windows 2025-10-31 09:31:24 +05:30
Kovid Goyal
3d5200e1ce On second thoughts dont inject PATH as it is already handled by which() and exe_search_paths 2025-10-08 05:26:27 +05:30
Kovid Goyal
67ca9f5b7d Rename read_from_login_shell -> read_from_shell 2025-10-08 05:21:48 +05:30
Kovid Goyal
6879432704 When using read_from_login_shell inject PATH into os.environ
This allows kitty to use that PATH to launch child executables
2025-10-08 05:19:47 +05:30
Kovid Goyal
a9f80fe05b Allow easily injecting env vars from the login shell config into the env in which kitty runs child processes
Fixes #9042
2025-10-07 22:23:31 +05:30
Kovid Goyal
67b2e859f5 Allow using relative paths in cd in sessions files that get resolved relative to the directory containing the session file 2025-08-17 11:23:36 +05:30
Kovid Goyal
7b1647a5f7 Fix #8903 2025-08-15 20:19:28 +05:30
Kovid Goyal
035ce949b4 Start work on goto_session action 2025-08-14 19:43:14 +05:30
Kovid Goyal
d52f2e7981 Rewrite rendering pipeline
This was needed to fix various corner cases when doing blending of colors
in linear space. The new architecture has the same performance as the
old in the common case of opaque rendering with no UI layers or images.

In the case of only positive z-index images there is a performance
decrease as the OS Window is now rendered to a offscreen texture and
then blitted to screen. However, in the future when we move to Vulkan or
I can figure out how to get Wayland to accept buffers with colors in
linear space, this performance penalty can be removed. The performance
penalty was not significant on my system but this is highly GPU
dependent. Modern GPUs are supposedly optimised for rendering to
offscreen buffers, so we will see. The awrit project might be a good
test case.

Now either we have 1-shot rendering for the case of opaque with only ext
or all the various pieces are rendered in successive draw calls into an
offscreen buffer that is blitted to the output buffer after all drawing
is done.

Fixes #8869
2025-08-11 00:47:02 +05:30
Kovid Goyal
c86ec79e32 macOS: Add default mapping and global menubar action to erase last command
This is "Cmd+L" from Terminal.app
2025-08-07 09:15:12 +05:30
Kovid Goyal
799ba8d178 Cleanup previous PR 2025-07-13 07:15:08 +05:30
Harsh Sharma
aeedfbc7d8 add special value listjson in panel output-name 2025-07-12 23:37:41 +05:30
Stefan A. Haubenthal
3b20936959 Fixed typos 2025-05-18 19:52:12 +05:30
Kovid Goyal
95c6279bdd Implement --grab-keyboard
Currently works on Wayland.
2025-05-18 14:30:33 +05:30
Kovid Goyal
13c37cf694 Fix remember_window_position not working because of a stupid typo
Fixes #8646
2025-05-18 07:53:30 +05:30
Kovid Goyal
7ec486c7a6 ... 2025-05-13 15:38:11 +05:30
Kovid Goyal
88f4c829eb Improve handling of output names
Now can use panel --output-name list to list available outputs.
Also, --output-name works on macOS
2025-05-13 15:29:37 +05:30
Kovid Goyal
4c8f9f9e26 Cleanup previous PR
Fixes #8601
2025-05-12 22:18:41 +05:30
Shane Ciardelli
5c49e2aab4 remembers window position after quit
added position flag

added window geometry caching

Restores window given --position command

moved position flag to last listed flag

fixed formatting - working version

fixed git problems and formatting issues

fixing some caching mistakes

trailing whitespace

remove .dmypy.json for git
2025-05-12 22:18:41 +05:30
Kovid Goyal
80bb9404d5 Have auto color scheme switching also control background image
Fixes #8603
2025-05-06 09:10:05 +05:30
Kovid Goyal
f04fc251bf Start work on full panel support in X11 2025-05-01 15:44:08 +05:30
Kovid Goyal
56a0596bea chdir to HOME for qat window as well 2025-04-29 08:58:30 +05:30
Kovid Goyal
7788d6acc2 Document the new quick-access-terminal kitten 2025-04-29 08:01:59 +05:30
Kovid Goyal
83bb1553f7 Allow changing panel CLI defaults 2025-04-28 16:25:53 +05:30
Kovid Goyal
e65031184a Fix panel invocation 2025-04-28 16:10:38 +05:30
Kovid Goyal
5c9c8aa424 Add unit testing for launcher code 2025-04-28 09:25:25 +05:30
Kovid Goyal
b0ae88ada9 Wire up the codegen C cli parser 2025-04-28 09:20:11 +05:30
Kovid Goyal
189d78283c Get the quake terminal working on macOS 2025-04-25 20:27:26 +05:30
Kovid Goyal
7bd7709685 Move parsing of macos-launch-services-cmdline into native code
Avoids expensive re-exec and simplifies various things. Much faster
for single instance usage.
2025-04-25 14:39:36 +05:30
Kovid Goyal
05f0839add Work on moving launch services handling into C
This will make it faster and also more robust, not recuring hacks like
re-execs.
2025-04-24 21:07:29 +05:30
Kovid Goyal
9296bc3060 Speed up --detach
Also DRYer as well as more robust since single instance cleanup, binding
etc. happen in single process.
2025-04-24 08:13:58 +05:30
Kovid Goyal
867ec83bed Fix use of single instance with detach 2025-04-24 07:17:55 +05:30
Kovid Goyal
a8693e45ef Nicer error message when running panel kitten on a compositor that does not support layer shell 2025-04-21 13:39:16 +05:30
Kovid Goyal
e2cf1e9185 Dont crash when user attempts to resize panel via remote control
Fixes #8550
2025-04-20 15:19:35 +05:30
Kovid Goyal
f20ad2fcb1 ... 2025-03-19 23:17:33 +05:30
Kovid Goyal
3b8e0e209b Wayland: Allow overriding the kitty OS Window icon on compositors that implement the xdg-toplevel-icon protocol 2025-03-10 12:32:03 +05:30
George Joseph
d2288ee787 Add support for os_window_name in startup sessions.
You can now specify `os_window_name` in addition to `os_window_class` in
startup sessions.  It works for the initial session as well as new sessions
started with `new_os_window`.

Updated documentation in overview.rst to add `os_window_name` in the
Startup Session examples.

Although not related to this feature. The documentation in launch.py
was updated to note that the `launch --type` `tab` and `os-window` options
aren't supported when launch is invoked from a startup script.  There's
already a note to that effect in the "Startup Sessions" section in
overview.rst but if you're looking at the launch syntax page like I was,
you wouldn't realize the limitation. This was throwing me for a loop while
wotking on this PR.

Resolves: #8387
2025-03-02 14:10:17 -07:00
Kovid Goyal
50f64d5981 Only use window occlusion on platforms where it is supported 2025-02-12 12:02:46 +05:30
Kovid Goyal
82d4234d9a Run at exit cleanup functions explicitly instead of relying on the ever unreliable python interpreter to do it 2025-02-10 15:06:18 +05:30
Kovid Goyal
da1626090a Update codebase to Python 3.10 using pyupgrade 2025-02-03 10:56:50 +05:30
Kovid Goyal
c67475271f Remove box drawing python code 2025-02-03 10:56:48 +05:30
Kovid Goyal
cbefc72a7e macOS: Add menu items to the Edit menu to clear the screen and scrollback 2025-01-05 14:03:08 +05:30
Kovid Goyal
96c1a5c4d1 Get automatic theme switching working 2024-11-07 17:31:44 +05:30
Kovid Goyal
e485b3b4a3 Code to allow users to create dark and light themes that are automatically applied when the OS color scheme changes 2024-11-07 13:52:49 +05:30
Kovid Goyal
f3112d61ef DRYer 2024-09-15 12:39:29 +05:30
Kovid Goyal
e3124812e5 log a warning that double --single-instance will ignore the one from macos-launch-services-cmdline 2024-09-15 10:38:32 +05:30
Kovid Goyal
d1bdbddbfc macOS: Fix a regression in the previous release that caused kitty to fail to run after an unclean shutdown/crash
When porting the single instance code to C I forgot to port the lock
file usage.

Fixes #7846
2024-09-15 10:05:18 +05:30