314 Commits

Author SHA1 Message Date
Kovid Goyal
14ff29426d Track child relationships directly in python for performance 2025-04-16 16:46:18 +05:30
Kovid Goyal
a93a6af025 Allow creating float-in-float 2025-04-16 16:18:38 +05:30
Kovid Goyal
d5398f84d8 Function to add a floating window 2025-04-16 16:18:38 +05:30
Kovid Goyal
08d90db4c4 Start work on floating windows 2025-04-16 16:18:38 +05:30
Kovid Goyal
4472d91fbb API to query if OS window is invisible
Checks is window is minimized or occluded.
2025-02-12 10:14:55 +05:30
Kovid Goyal
d896d7713d Fix #8288 2025-02-05 08:31:36 +05:30
Kovid Goyal
8993386399 Store font related cell metrics in a single struct 2025-02-03 10:56:44 +05:30
Kovid Goyal
9d48fa9126 hints/unicode_input kittens: Do not lose keypresses that are sent very rapidly via an automation tool immediately after the kitten is launched
We now buffer the key events until the kitten tells us it is ready.
Without this the key presses are delivered to the underlying window
as the kitten's overlay window was not being focused until the kitten
set the ready message.

Fixes #7089
2024-12-12 13:11:12 +05:30
Kovid Goyal
47f2c804de Make github code scanner happy 2024-07-24 06:52:41 +05:30
Kovid Goyal
b97b16da58 DRYer 2024-07-23 17:36:41 +05:30
Kovid Goyal
15d77c648d Speed up loading of background image
Use a persistent cache of RGBA data. Also as a free bonus, support more
image formats for the background image.
2024-07-23 15:10:54 +05:30
Kovid Goyal
a927e1e4f4 ... 2024-07-22 07:08:01 +05:30
Kovid Goyal
e97de84668 Convenience method to get the mouse position for a window
Fix #7652
2024-07-21 22:18:43 +05:30
Kovid Goyal
0cf9a79760 A new option second_transparent_bg
Makes a second background color semi-transparent via background_opacity.
Useful for things like cursor line highlight in editors.

Fixes #7646
2024-07-21 20:22:31 +05:30
Kovid Goyal
43769bc3e0 Allow controlling the easing curves used for the visual bell 2024-07-19 11:35:00 +05:30
Kovid Goyal
0a707b5c33 Move work on animation implementation 2024-07-18 22:25:02 +05:30
Kovid Goyal
065f216c6f ensure options object is freed at shutdown 2024-07-16 21:49:33 +05:30
Kovid Goyal
f8beaa0a4b Dispatch any clicks waiting for click_interval on key events
Fixes #7601
2024-07-07 20:17:22 +05:30
Kovid Goyal
cc1b464151 Fix #7583 2024-07-01 13:25:05 +05:30
Kovid Goyal
0a98d848de Wayland redraw OS window twice after resize
Needed on, for instance sway to get it to recognize that the framebuffer
has been resized.
2024-06-29 11:07:02 +05:30
Kovid Goyal
b3cc5aed30 Wayland: Fix running background process via remote control not working when no OSWindow has focus 2024-05-17 13:56:46 +05:30
Kovid Goyal
7ade6f97e9 Cleanup DPI change handling 2024-03-25 18:55:29 +05:30
Kovid Goyal
06316eee26 DRYer: Maintain font and DPI per OSWindow information in one place 2024-03-25 18:26:47 +05:30
Kovid Goyal
46db1f7b76 Get the layer sizing function working 2024-03-25 12:15:38 +05:30
Kovid Goyal
be37a283d5 Move unfocused ender bool into cursor render info 2024-02-25 09:57:32 +05:30
Kovid Goyal
4a64f812ad Merge branch 'boss-window-args' of https://github.com/ad-chaos/kitty 2024-01-19 07:46:36 +05:30
ad-chaos
c2acc2460b expose glfw{Get,Set}WindowPos to python 2024-01-18 22:21:39 +05:30
Kovid Goyal
9b5f665218 Allow focusing previously active OS windows via nth_os_window
Fixes #7009
Fixes #7008
2024-01-18 07:54:15 +05:30
Kovid Goyal
fb1124b1b9 ... 2023-12-25 17:26:06 +05:30
Kovid Goyal
c76db4bfb4 Wayland: Redraw titlebar title on font size change
Fixes #6945
2023-12-25 17:20:52 +05:30
Kovid Goyal
9e815212dc Implement modal keyboard handling 2023-11-30 19:44:41 +05:30
Kovid Goyal
b297c27e09 ... 2023-11-23 19:43:37 +05:30
Kovid Goyal
6a09804910 Fix loading of window logo images via @launch
Use the path when either the pointer ORE the size is false. Apparently
some code paths pass pointers from a python y# conversion with an empty
bytestring as no value.

Fixes #6844
2023-11-23 19:34:35 +05:30
Kovid Goyal
c2b4df0666 No need to use fmemopen 2023-11-23 19:30:43 +05:30
Kovid Goyal
1693107608 A new escape code to change the shape of the mouse pointer
Fixes #6711
2023-10-15 19:57:36 +05:30
Kovid Goyal
b78264183f Centralize freeing of opts object allocs 2023-10-10 06:08:28 +05:30
Konstantin Borisov
ee4a9c6ed8 fixed CENTER_CLAMPED to center images bigger than view, added CENTER_SCALED background image layout option 2023-07-13 21:26:25 +05:30
Kovid Goyal
0556faf2e7 Rename function 2023-07-04 12:06:56 +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
7a1bdb4ff1 macOS: Implement background blurring
Uses a private API that allows us to control the amount of blurring.
While using a private API is obviously not ideal, it is used by both
iTerm.app and Apple's own Terminal.app, so hopefully it should stick
around. Fixes #6135
2023-06-27 08:48:16 +05:30
Kovid Goyal
63a921ff7b Dont show window size on creation 2023-06-23 16:47:13 +05:30
Kovid Goyal
248301f8b3 Cleanup a bunch of shader infrastructure
1) No longer us glScissor. It's an awful API and is not available in
   Vulkan. Instead the graphics drawing code ensures the graphic is
   drawn within the current viewport

2) Use generated code to automatically get the locations of uniforms
   from shaders. Greatly simplifies adding new uniforms to a shader.

3) Dont use a VAO for loading graphics vertices. Greatly simplifies
   a bunch of book keeping code.
2023-06-22 19:38:05 +05:30
Kovid Goyal
098a38a3a9 Remove rendering via framebuffer for transparent windows with images
There is no need for it with the current rendering pipeline. Images are
blended with premult blending.
2023-06-21 16:06:07 +05:30
Kovid Goyal
fda2646dd3 Cleanup previous PR 2023-03-19 10:37:37 +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
1bf180f354 Allow loading window background images from memory 2023-03-01 16:11:38 +05:30
pagedown
ba83ce7b10 macOS: Display the newly created OS window in specified state
Fix the maximized window can't occupy full screen space when window
decoration or title bar is hidden.
Fix resize_in_steps being applied even when window is maximized.
Allows to specify `os_window_state` in startup session file.
2023-02-18 14:02:19 +08:00
Kovid Goyal
c73c165be1 Cleanup change_os_window_state 2023-02-16 16:10:19 +05:30
Luofan Chen
130315ce8d Use strict function prototypes
Fixes clang error:
error: a function declaration without a prototype is deprecated in all versions of C [-Werror,-Wstrict-prototypes]
2023-02-09 13:16:00 +08:00
Kovid Goyal
f4ac03b791 Show the target of terminal hyperlinks when hovering over them with the mouse
Fixes #5830
2022-12-29 16:43:45 +05:30